CS16 Spring 2020

Provide questions/suggestions for Lawton to answer/talk about in lecture by following this link! Please ask all questions for the next week by 7pm on Friday.

All announcements will be posted on Piazza at this link.

Links to live lab sections and office hours

Link to all “whiteboard” notes written in lecture (select the appropriate file for the lecture).

Link to code written in lecture (select the appropriate folder for the lecture).

Getting a terminal on your computer

Link to video and notes Date Description and link to slides
Lecture 1 Mon 03/30 Course overview, a gentle intro to C++ - Standard I/O (slides)
Lecture 2 Wed 04/01 Control Structures, I/O in programs (slides)
Lecture 3 Mon 04/06 Loops (for, while, do-while), doubles, functions (slides)
Lecture 4 Wed 04/08 Functions (slides)
Lecture 5 Mon 04/13 Makefiles, Data Representation (slides)
Lecture 6 Wed 04/15 Data Representation, File I/O (slides)
Lecture 7 Mon 04/20 File I/O, Arrays (slides)
Lecture 8 Mon 04/27 Pointers (slides)
Lecture 9 Wed 04/29 References, defining your own data types with structs (slides)
Lecture 10 Mon 05/04 The good, bad and ugly about pointers, C++ Memory Model, Dynamic memory allocation (Heap), Heap vs Stack (slides)
Lecture 11 Wed 05/06 Linked lists (slides)
Lecture 12 Mon 05/11 Q&A, Dynamic Arrays, Intro to Recursion (slides)
Lecture 13 Mon 05/18 Recursion (slides)
Lecture 14 Wed 05/20 More recursion, strings (slides)
Lecture 15 Wed 05/27 Recursion, Strings, Wrap-Up (slides)
Lecture 16 Mon 06/01 Wrap-Up, Review (slides)
Lecture 17 Wed 06/03 Review (slides)

num ready? description assigned due
lab00 true Getting started Mon 03/30 12:00AM Sun 04/05 11:59PM
lab01 true Crunching numbers: Loops and functions Mon 04/06 12:00AM Sun 04/12 11:59PM
lab02 true ASCII Art: Logical operators, integrating github into your workflow Mon 04/13 12:00AM Sun 04/19 11:59PM
lab03 true Counting ducks: File I/O and flow control Mon 04/20 12:00AM Sun 04/26 11:59PM
lab04 true Odds and primes: Fun with arrays and makefiles Mon 04/27 12:00AM Sun 05/03 11:59PM
lab05 true Fun with shapes: Pointers Mon 05/04 12:00AM Sun 05/10 11:59PM
lab06 true Advanced array lists and dynamic arrays Mon 05/11 12:00AM Tue 05/19 11:59PM
lab07 true Linked lists Mon 05/18 12:00AM Tue 05/26 11:59PM
lab08 true Anagrams, palindromes: Strings and recursion Mon 05/25 12:00AM Fri 06/05 11:59PM

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

num ready? description exam date
e01 true Midterm exam - I Wed 04/22 11:00AM
e02 true Midterm exam - II Wed 05/13 11:00AM
e03 (12pm–3pm) true Final Exam Thu 06/11 12:00PM