spenrich / course

CME212 Course Information

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CME212

Syllabus

Schedule

All lectures notes are posted on Canvas; note that the legacy notes folder here on Git contains some useful references that are linked to from within the lecture-notes posted on Canvas.

Week 0

Week 1

Week 2

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


Languages

Language:C++ 85.6%Language:Python 10.0%Language:Makefile 1.3%Language:CMake 0.9%Language:M4 0.8%Language:C 0.6%Language:Shell 0.6%Language:Jupyter Notebook 0.3%Language:TeX 0.0%