CS 16: Problem Solving with Computers -I , Spring 18

Lecture Notes and Slides:

lecture date notes ready? description slides before slides after
2018-04-02 lect01 true Course overview, a gentle intro to C++ - Standard I/O pdf Annotated pdf
2018-04-04 lect02 true Control Structures, I/O in programs pdf Annotated pdf
2018-04-09 lect03 true Git, Loops (for, while, do-while), doubles, intro to lab01 pdf Annotated pdf
2018-04-11 lect04 true Functions pdf Annotated pdf
2018-04-16 lect05 true Gentle intro to TDD, lab02 pdf Annotated pdf
2018-04-18 lect06 true File IO, intro to lab03 pdf Annotated pdf
2018-04-23 lect07 true Program compilation, Makefiles, Data representation pdf Annotated pdf
2018-04-30 lect08 true Number Conversions, arrays, intro to lab04 pdf Annotated pdf
2018-05-02 lect09 true Pointers pdf Annotated pdf
2018-05-07 lect10 true Defining your own data types, intro to lab05 pdf Annotated pdf
2018-05-09 lect11 true The good, bad and ugly about pointers pdf Annotated pdf
2018-05-14 lect12 true C++ Memory Model, Dynamic memory allocation (Heap), Heap vs Stack pdf Annotated pdf
2018-05-21 lect13 true Linked lists pdf Annotated pdf
2018-05-23 lect14 true More on linked-lists pdf Annotated pdf
2018-05-30 lect15 true Recursion pdf Annotated pdf
2018-06-04 lect16 true Strings and recursion pdf Annotated pdf
2018-06-06 lect17 true Wrap up and final review pdf Annotated pdf

Homework and quizzes:

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

Labs:

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

Exams

num ready? description exam date
e01 true Midterm exam - I Wed 04/25 02:00PM
e02 true Midterm exam - II Wed 05/16 02:00PM
e03 (4p - 7p) true Final Exam Mon 06/11 04:00PM