All Projects → clayton-halim → Cs246e Notes

clayton-halim / Cs246e Notes

Object oriented programming notes

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
Learningprocess
💥 本仓库用于记录我的学习历程和学习笔记
Stars: ✭ 31 (-35.42%)
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
Notes
Notes, Questions, Ideas
Stars: ✭ 8 (-83.33%)
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
Helix
Habit tracking app
Stars: ✭ 43 (-10.42%)
Mutual labels:  notes
Notes
📝 Simple delightful note taking, with more unix and less lock-in.
Stars: ✭ 939 (+1856.25%)
Mutual labels:  notes
Notational Fzf Vim
Notational velocity for vim.
Stars: ✭ 975 (+1931.25%)
Mutual labels:  notes
Release It
notes for 'Release It' by Michael T. Nygard
Stars: ✭ 10 (-79.17%)
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
Mff Stuff
#SharingIsCaring #CaringIsSharing
Stars: ✭ 44 (-8.33%)
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

  1. Program Input / Output
  2. Linear Collections and Modularity
  3. Linear Collections and Memory Management
  4. Copies
  5. Moves
  6. I want a constant vector
  7. Tampering
  8. Efficient Iteration
  9. Staying in bounds
  10. I want a vector of chars
  11. Better Initialization
  12. I want a vector of Posns
  13. Less Copying!
  14. Memory management is hard!
  15. Is vector exception safe?
  16. Insert/remove in the middle
  17. Abstraction over containers
  18. Heterogeneous Data
  19. I'm leaking!
  20. I want a class with no objects
  21. The copier is broken
  22. I want to know what kind of Book I have
    1. A Big Unit on Object Oriented Design
  23. Shared Ownership
  24. Abstraction over Iterators
  25. I want an ever faster vector
  26. Collecting Stats
  27. Resolving Method Overrides at Compile Time
  28. Polymorphic Cloning
  29. Logging
  30. Total Control
  31. I want total control over vectors and lists
  32. A fixed-size allocator
  33. I want a (tiny bit) smaller vector class

Other

  1. Valgrind + GDB
  2. Recursive Descent

Index

Work in progress (feel free to contribute)!

A

B

  • Basic Guarantee

C

D

E

  • Exception Safety

F

G

H

I

J

K

L

M

  • Makefile
  • Member Initialization List
  • Move Assignment
  • Move Constructor

N

O

P

  • Partial Assignment
  • Polymorphism
  • Pure Virtual Function

Q

R

  • Reference
  • Reinterpret Cast
  • Resource Acquisition is Initialization (RAII)
  • Round Bracket Initialization
  • Run-Time Type Information (RTTI)
  • Rvalue Reference

S

T

  • Template
  • Template Metaprogramming

U

V

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:

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].