clayton-halim / Cs246e Notes
Object oriented programming notes
Stars: ✭ 48
Labels
Projects that are alternatives of or similar to Cs246e Notes
Iosinterviewsanddevnotes
🚴 iOS面试题 (iOS interview) && iOS Dev Notes ,Git ...
Stars: ✭ 930 (+1837.5%)
Mutual labels: notes
Researchnote
通过issue和README来记录日常学习研究笔记 关注 机器学习系统,深度学习, LLVM,性能剖视, Linux操作系统内核 话题 关注 C/C++. JAVA. Python. Golang. Chisel. 编程语言话题 ( Writing Blogs using github issue and markdown! (inculding Machine Learning algs and system, LLVM, Linux kernel, java, python, c++, golang)
Stars: ✭ 41 (-14.58%)
Mutual labels: notes
Codimd
CodiMD - Realtime collaborative markdown notes on all platforms.
Stars: ✭ 7,592 (+15716.67%)
Mutual labels: notes
Machine Learning Notebooks
Assorted exercises and proof-of-concepts to understand and study machine learning and statistical learning theory
Stars: ✭ 33 (-31.25%)
Mutual labels: notes
Course julia day
Notes for getting to know the Julia programming language in one day.
Stars: ✭ 23 (-52.08%)
Mutual labels: notes
Notes
📝 Simple delightful note taking, with more unix and less lock-in.
Stars: ✭ 939 (+1856.25%)
Mutual labels: notes
Notecalc3
NoteCalc is a handy calculator trying to bring the advantages of Soulver to the web.
Stars: ✭ 879 (+1731.25%)
Mutual labels: notes
Notes
📝 Migrated to(迁移至) https://github.com/Kuangcp/Note 当前仓库已经废弃, 对应的博客网站:
Stars: ✭ 33 (-31.25%)
Mutual labels: notes
R Notes
Notes for using R language to do data mining and machine learning (Chinese)
Stars: ✭ 25 (-47.92%)
Mutual labels: notes
Programming Notes
Semua catatan tentang teknologi dan development 😎
Stars: ✭ 41 (-14.58%)
Mutual labels: notes
Code Notes
A simple code snippet & gist manager for developers built with Electron & Vue.js 🚀
Stars: ✭ 919 (+1814.58%)
Mutual labels: notes
Geekbook
G33KB00K3 - fun to read & fun to write -- 🤓 eXtreme eXtendable note taking system for nerds/geeks (including scientists!) docs: http://geekbook.rtfd.io = beautiful html generator of your markdown-based notes
Stars: ✭ 31 (-35.42%)
Mutual labels: notes
Paperwork
Paperwork - OpenSource note-taking & archiving alternative to Evernote, Microsoft OneNote & Google Keep
Stars: ✭ 7,838 (+16229.17%)
Mutual labels: notes
Standardfile
Yet Another Standardfile (standardnotes server) Implementation written in Golang
Stars: ✭ 34 (-29.17%)
Mutual labels: notes
CS 246 Enriched (Object Oriented Programming) Notes
Course information at the bottom of the page.
These notes cover CS 246E in Fall 2017, the first offering of the course. The textbook used is The C++ Programming Language, reading sections are referenced to this book.
Table of Contents
- Program Input / Output
- Linear Collections and Modularity
- Linear Collections and Memory Management
- Copies
- Moves
- I want a constant vector
- Tampering
- Efficient Iteration
- Staying in bounds
- I want a vector of chars
- Better Initialization
- I want a vector of Posns
- Less Copying!
- Memory management is hard!
- Is vector exception safe?
- Insert/remove in the middle
- Abstraction over containers
- Heterogeneous Data
- I'm leaking!
- I want a class with no objects
- The copier is broken
- I want to know what kind of Book I have
- Shared Ownership
- Abstraction over Iterators
- I want an ever faster vector
- Collecting Stats
- Resolving Method Overrides at Compile Time
- Polymorphic Cloning
- Logging
- Total Control
- I want total control over vectors and lists
- A fixed-size allocator
- I want a (tiny bit) smaller vector class
Other
Index
Work in progress (feel free to contribute)!
A
- Abstract Class
- Adapter Pattern
- Anonymous Namespace
- Argument-Dependent Lookup (ADL)
B
- Basic Guarantee
C
- Class
- Cohesion
- Const Cast
- Const Overloading
- Concrete Class
- Contravariance Problem
- Copy and Swap Idiom
- Copy Constructor
- Copy/Move Elision
- Coupling
- The Curiously Recurring Template Pattern (CRTP)
D
- Decorator Pattern
- Destructor
- Dependency Inversion Principle
- Dynamic Cast
E
- Exception Safety
F
- Factory Method Pattern
- Friend
- Forwarding Reference
G
H
I
- Initializer List
- Inline
- Interface Segregation Principle
- Iterator
J
K
L
- Liskov Substitution Principle
M
N
- Namespaces
- Non-Virtual Interface (NVI) Idiom
- Nothrow Guarantee
- Nullptr
O
- Observer Pattern
- Open/Closed Principle
P
Q
R
- Reference
- Reinterpret Cast
- Resource Acquisition is Initialization (RAII)
- Round Bracket Initialization
- Run-Time Type Information (RTTI)
- Rvalue Reference
S
- Separate Compilation
- SFINAE (Substitution Failure Is Not An Error)
- Single Responsiblity Principle
- SOLID Principles of OO Design
- Static Cast
- Strong Guarantee
- Superclass
T
U
- Unique Pointer
- Universal Reference
- UML
V
- Virtual
- Virtual Constructor Pattern
- Visitor Pattern
- Vtable
W
X
Y
Z
Course Information (Fall 2017)
Brad Lushman
DC 3110
[email protected]
https://www.student.cs.uwaterloo.ca/~cs246e
Must use Linux:
Windows:
putty.exe
- connect to linux.student.cs.uwaterloo.ca
- enable X11 forwarding
- win scp
Mac/Linux:
- terminal, ssh [email protected]
Also Install xwindows server, eg. Xming, XQuartz
TUTORIAL ATTENDANCE IS MANDATORY!
Goals:
- Meet the CS 246 objectives, more breadth, more depth
- A course on abstraction
- Demand-driven, problem-oriented presentation, introduce C++ concepts as needed
- Linux tools on the side/tutorials
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].