Skip to content

qizhang94/course

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CME212

Syllabus

Schedule (WIP)

(If the links are dead, they are intended to simply point to files on Canvas.)

Week 0

Week 1

Week 2

  • Lecture 4 (2019-01-22)
    • Iterators, functors, layout of structs, (bit) fields, unions, examples of operator overloading via Array class.
  • Lecture 5 (2019-01-24)
    • Abstraction functions and Representation Invariants;
    • Software Testing
  • EX1 due Friday at 4:30 P.M. P.S.T.

Week 3

  • Lecture 6 (2019-01-29)
    • Free Store memory allocation, RAII, Allocators, List and Type Conversions.
    • Exception Handling part 1 (exceptions as control flow, how to define exceptions)
  • Lecture 7 (2019-01-31): Inheritance and Polymorphism
  • HW1 due Friday at 4:30 P.M. P.S.T.

Week 4

  • Lecture 8 (2019-02-05)
    • Exception Handling part 2 (enforcing invariants);
    • construction, cleanup, and copy initialization.
  • Lecture 9 (2019-02-07)
    • Graph Remove_*; inline functions and typedefs.
  • EX2 due Friday at 4:30 P.M. P.S.T.

Week 5

  • Lecture 10 (2019-02-12)
    • Defining copy and move semantics, delegating constructors, entanglement, slicing.
    • Template programming part 1 (two phase translation, function and class templates, template paramaters as return types, parameter deduction)
  • Lecture 11 (2019-02-14)
    • Floating point, Under/overflow, relative error, machine tolerance
  • HW2 due Friday at 4:30 P.M. P.S.T.

Week 6

  • Lecture 12 (2019-02-19)
    • Template Programming part 2

      (non-type template parameters, variadic template parameters, template template parameters);

    • Perfect forwarding, enable_if, Concepts and Metafunctions, compile-time programming.

  • Lecture 13
    • Loop invariants, thrust::transform_iterator, Cachegrind, optimization
  • EX3 due Friday at 4:30 P.M. P.S.T.

Week 7

  • Lecture 14
    • Generic programming
  • Lecture 15
    • ???
  • HW3 due Friday at 4:30 P.M. P.S.T.

Week 8

  • Lecture 16
    • Metaprogramming
  • Lecture 17
    • Compiler Optimizations
  • EX4 due Friday at 4:30 P.M. P.S.T.

Week 9

  • Lecture 18
    • Regular Expressions
  • Lecture 19
    • Review
  • HW4 due Friday at 4:30 P.M. P.S.T.

About

CME212 Course Information

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 85.7%
  • Python 10.1%
  • Makefile 1.1%
  • CMake 0.9%
  • M4 0.8%
  • Shell 0.6%
  • Other 0.8%