CS 16: Problem Solving with Computers I, Fall ā€™18, Nichols

Lecture Notes and Slides:

lecture date notes ready? description slides
2018-09-27 lect01 true Course overview, a gentle intro to C++ - Standard I/O pdf
2018-10-02 lect02 true Control Structures, I/O in programs pdf
2018-10-04 lect03 true Loops (for, while, do-while), doubles pdf
2018-10-09 lect04 true Functions pdf
2018-10-11 lect05 true TDD pdf
2018-10-16 lect06 true File IO pdf
2018-10-18 lect07 true Program compilation, Makefiles, Data representation pdf
2018-10-23 lect08 true Arrays pdf
2018-10-30 lect09 true Pointers pdf
2018-11-01 lect10 true Defining your own data types pdf
2018-11-06 lect11 true The good, bad and ugly about pointers, C++ Memory Model, Dynamic memory allocation (Heap), Heap vs Stack pdf
2018-11-08 lect12 true Linked lists, Dynamic memory allocation (Heap), Heap vs Stack pdf
2018-11-13 lect13 true More Linked lists, Midterm Review pdf
2018-11-20 lect14 true Recursion pdf
2018-11-27 lect15 true Recursion and Strings pdf
2018-11-29 lect16 true Recursion wrap up pdf
2018-12-04 lect17 true Wrap up and final review pdf
2018-12-06 lect18 true Wrap up and final review pdf

Homework and quizzes:

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

Labs:

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

Exams

num ready? description exam date
e01 true Midterm exam - I Thu 10/25 02:00PM
e02 true Midterm exam - II Thu 11/15 02:00PM
e03 (4pm - 7pm) true Final Exam Tue 12/11 04:00PM

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 :)