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