CS16 Summer 2019 Session C

All announcements will be posted on Piazza. Sign up using this link.

num date description
Lecture 1 Tue 06/25 Course overview, a gentle intro to C++ - Standard I/O (slides)
Lecture 2 Thu 06/27 Control Structures, I/O in programs (slides)
Lecture 3 Tue 07/02 Loops (for, while, do-while), doubles, functions (slides)
Lecture 4 Tue 07/09 Functions (slides)
Lecture 5 Thu 07/11 Makefiles, Data Representation (slides)
Lecture 6 Tue 07/16 File I/O (slides)
Lecture 7 Thu 07/18 Arrays (slides)
Lecture 8 Thu 07/25 Pointers (slides)
Lecture 9 Tue 07/30 References, defining your own data types with structs (slides)
Lecture 10 Thu 08/01 The good, bad and ugly about pointers, C++ Memory Model, Dynamic memory allocation (Heap), Heap vs Stack (slides)
Lecture 11 Tue 08/06 Linked lists (slides)
Lecture 12 Thu 08/08 Recursion (slides)
Lecture 13 Thu 08/15 More recursion, strings (slides)
Lecture 14 Tue 08/20 Recursion, Strings, Wrap-Up (slides)
Lecture 15 Thu 08/22 Wrap-Up, Review (slides)
Lecture 16 Tue 08/27 Review (slides)

num ready? description assigned due
h01 true Chapter 1: Computer systems, introduction to C++ Tue 06/25 11:00AM Sun 06/30 11:59PM
h02 true Chapter 2: Variables and assignments, Input/output, Data types and expressions, Simple flow control Fri 06/28 11:00AM Fri 07/05 11:59PM
h03 true Chapter 3: Boolean expressions, multiway branches, more loops Fri 07/05 11:00AM Fri 07/12 11:59PM
h04 true Chapter 4: Predefined and programmer defined functions Fri 07/12 11:00AM Fri 07/19 11:59PM
h05 true Chapter 5: Call by value and call by reference Fri 07/19 11:00AM Fri 07/26 11:59PM
h06 true Chapter 7 and 10: Pointers Fri 07/26 11:00AM Fri 08/02 11:59PM
h07 true Chapter 6: File IO, Chapter 9: Dynamic memory allocation Fri 08/02 11:00AM Fri 08/09 11:59PM
h08 true Chapter 13 Linked lists Fri 08/09 11:00AM Fri 08/16 11:59PM
h09 true Chapter 14: Recursion Fri 08/16 11:00AM Wed 08/28 11:59PM
h10 true Chapter 8: Strings Fri 08/16 11:00AM Wed 08/28 11:59PM

num ready? description assigned due
lab00 true Getting started Wed 06/26 12:00AM Tue 07/02 11:59PM
lab01 true Crunching numbers: Loops and functions Wed 07/03 12:00AM Tue 07/09 11:59PM
lab02 true ASCII Art: Logical operators, integrating github into your workflow Wed 07/10 12:00AM Tue 07/16 11:59PM
lab03 true Counting ducks: File I/O and flow control Wed 07/17 12:00AM Wed 07/24 11:59PM
lab04 true Odds and primes: Fun with arrays and makefiles Wed 07/24 12:00AM Tue 07/30 11:59PM
lab05 true Fun with shapes: Pointers Wed 07/31 12:00AM Tue 08/06 11:59PM
lab06 true Advanced array lists and dynamic arrays Wed 08/07 12:00AM Wed 08/14 11:59PM
lab07 true Linked lists Wed 08/14 12:00AM Tue 08/20 11:59PM
lab08 true Anagrams, palindromes: Strings and recursion Wed 08/21 12:00AM Wed 08/28 11:59PM

num ready? description exam date
e01 true Midterm exam - I Tue 07/23 11:00AM
e02 true Midterm exam - II Tue 08/13 11:00AM
e03 (same classroom, during lecture hours) true Final Exam Thu 08/29 11:00AM

Most of the materials I’m using this quarter were made by Diba Mirza. Anything good about this class can be attributed to her, and all bad things are totally my fault :)