CME212
Schedule
If the there isn't a link for a lecture, you can find the lecture notes on Canvas.
Week 0
- Lecture 0
- Object size, alignment, declarations, scope, narrowing, lifetime of an object.
- Pointers, arrays, pointer arithmetic, and
const
.
- Lecture 1
Week 1
- Exercise 0 due Tuesday at 4:30 P.M. P.S.T.
- Lecture 2
- Pointers and ownership, references, l/rvalue references, and examples with templates.
- Lambda expressions and function objects.
- Lecture 3
- Pre/post conditions, consistent/minimal specifications, templates.
- Development tools (Make and possibly doxygen).
- HW0 due Friday at 4:30 P.M. P.S.T.
Week 2
- Lecture 4
- Iterators, Function adaptors
- Layout of structs, unions, examples of
operator overloading via
Array
class.
- Lecture 5
Week 3
- EX1 due Tuesday in class at 4:30 P.M. P.S.T.
- Lecture 6
- Free Store memory allocation, RAII, Allocators.
- Exception Handling part 1 (exceptions as control flow, how to define exceptions).
- Lecture 7: Inheritance and Polymorphism
- HW1 due Friday at 4:30 P.M. P.S.T.
Week 4
- Lecture 8
- Exception Handling part 2 (enforcing invariants);
- construction, cleanup, and copy initialization.
- Lecture 9
- Graph Remove_*; inline functions and typedefs.
Week 5
- EX2 due Tuesday at 4:30 P.M. P.S.T.
- Lecture 10 (2019-02-12)
- Defining copy and move semantics, delegating constructors, entanglement, slicing.
- Lecture 11 (2019-02-14)
- HW2 due Friday at 4:30 P.M. P.S.T.
Week 6
- Lecture 12
- Template programming part 1 (two phase translation, function and class templates, template paramaters as return types, parameter deduction)
- Lecture 13 (2019-02-21)
Week 7
- EX3 due Tuesday at 4:30 P.M. P.S.T.
- Lecture 14
- Template Programming part 2 (non-type template parameters, variadic template parameters, template template parameters).
- Lecture 15
- HW3 due Friday at 4:30 P.M. P.S.T.
Week 8
- Lecture 16
- Perfect forwarding, Metafunctions, compile-time programming.
- Lecture 17 (2019-03-07)
- Introduction to Parallel Computing
- Thrust,
thrust::transform_iterator
- RAJA and the future of parallel computing.
Week 9
- EX4 due Tuesday at 4:30 P.M. P.S.T.
- Lecture 18
- Regular Expressions
- Lecture 19
- Parallel reduction
- More on RAJA
- Review
- HW4 due Friday at 4:30 P.M. P.S.T.