Skip to content

EXthan/course

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

302 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CME212

Syllabus

Schedule

All lectures notes are posted on Canvas.

Week 0

  • Lecture 0
    • Pointers and references in C++; Class constructors; keyword const; Macros (and debugging)
  • Lecture 1
    • Debugging, Proxy Design Patterns

Week 1

  • Exercise 0 due Tuesday at 4:30 P.M. P.S.T.
  • Lecture 2
    • Testing Software
  • Lecture 3
    • Make, Pre/post conditions, consistent/minimal specifications, Invariants, introduction to templates.
  • HW0 due Friday at 4:30 P.M. P.S.T.

Week 2

  • Lecture 4
    • Lambdas, Iterators, functors
  • Lecture 5
    • Pointers and ownership, l/r-value references.

Week 3

  • EX1 due Tuesday in class at 4:30 P.M. P.S.T.
  • Lecture 6
    • Revisiting Structs and their layouts, unions.
  • Lecture 7:
    • Abstraction functions and representation invariants; RAII; Free-store memory allocations (with a footnote on allocators)
  • HW1 due Friday at 4:30 P.M. P.S.T.

Week 4

  • Lecture 8
    • Exception Handling
  • Lecture 9
    • Graph remove_*; inline functions; typedefs; inheritance and polymorphism

Week 5

  • EX2 due Tuesday at 4:30 P.M. P.S.T.
  • Lecture 10
    • Construction, cleanup, and copy initialization
  • Lecture 11
    • Defining copy and move semantics, delegating constructors, entanglement, slicing
  • HW2 due Friday at 4:30 P.M. P.S.T.

Week 6

  • Lecture 12
    • Template Programming part (i); std::find_if, and std::any_of
  • Lecture 13
    • Template Programming part (ii); use of specializations in MTL

Week 7

  • EX3 due Tuesday at 4:30 P.M. P.S.T.
  • Lecture 14
    • Perfect forwarding, enable_if; concepts and metafunctions; compile time programming
  • Lecture 15
    • Cachegrind, optimization, compiler optimizations
  • HW3 due Friday at 4:30 P.M. P.S.T.

Week 8

  • Lecture 16
    • Floating point, Under/overflow, relative error, machine tolerance; bit-shifting
  • Lecture 17
    • Generic programming conclusion: algorithms and lifting

Week 9

  • EX4 due Tuesday at 4:30 P.M. P.S.T.
  • Lecture 18
    • Regex
  • Lecture 19
    • Cancelled
  • HW4 due Friday at 4:30 P.M. P.S.T.

About

CME212 Course Information

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 85.5%
  • Python 10.0%
  • Makefile 1.3%
  • CMake 0.9%
  • M4 0.8%
  • C 0.6%
  • Other 0.9%