CS16 Summer 2019 Session C
All announcements will be posted on Piazza. Sign up using this link.
Information
Lecture Notes and Slides
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) |
Homework
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 |
Labs
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 |
Exams
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 :)