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

Lecture Notes and Slides:

lecture date notes ready? description slides before slides after
2017-04-03 lect01 true Course overview, a gentle intro to C++ - Standard I/O pdf Annotated pdf
2017-04-05 lect02 true Variables and data types, evaluating C++ expressions, simple flow control- multiway and nested if-else pdf Annotated pdf
2017-04-10 lect03 true Nested loops, git, intro to lab01 pdf Annotated pdf
2017-04-12 lect04 true C++ functions and function call mechanics, passing parameters to programs pdf Annotated pdf
2017-04-17 lect05 true Makefiles, gentle intro to TDD, intro to lab02 pdf Annotated pdf
2017-04-19 lect06 true File IO, intro to lab03 pdf Annotated pdf
2017-04-24 lect07 true Data representation pdf Annotated pdf
2017-05-01 lect08 true Arrays, visualizing program dynamics, test-driven development, intro to lab04 pdf Annotated pdf
2017-05-03 lect09 true Pointers, pointers and arrays pdf Annotated pdf
2017-05-08 lect10 true Pointers and structs, references, call by value, address and reference, intro to lab05 pdf Annotated pdf
2017-05-10 lect11 true Arrays of structs, pointer arithmetic pdf Annotated pdf
2017-05-15 lect12 true Dynamic memory allocation, Linked Lists, intro to lab06 pdf Annotated pdf
2017-05-22 lect13 true Dynamic memory pitfalls: memory leaks, dangling pointers, segfaults, intro to lab07 pdf Annotated pdf
2017-05-24 lect14 true Recursion, strings pdf Annotated pdf
2017-05-29 lect15 false No lecture - university holiday
2017-05-31 lect16 true Advanced problems in recursion involving strings, lab08 pdf Annotated pdf
2017-06-05 lect17 true Advanced problems in recursion involving linked-lists pdf Annotated pdf
2017-06-07 lect18 true Wrap up and final review pdf

Homework:

num ready? description assigned due
h01 true Chapter 1: Computer systems, introduction to C++ Mon 04/03 02:00PM Mon 04/10 02:00PM
h02 true Chapter 2: Variables and assignments, input and output Mon 04/03 02:00PM Mon 04/10 02:00PM
h03 true Chapter 2: Data types and expressions, Simple flow control Mon 04/10 02:00PM Mon 04/17 02:00PM
h04 true Chapter 3: Boolean expressions, multiway branches, more loops Mon 04/10 02:00PM Mon 04/17 02:00PM
h05 true Chapter 3: Loops Mon 04/17 02:00PM Mon 04/24 02:00PM
h06 true Chapter 4: Predefined and programmer defined functions Mon 04/17 02:00PM Mon 04/24 02:00PM
h07 true Chapter 6: File IO Mon 04/24 02:00PM Mon 05/01 02:00PM
h08 true Chapter 7: Arrays and Chapter 9 Pointers Mon 05/01 02:00PM Mon 05/08 02:00PM
h09 true Chapter 5: Call by value and call by reference Mon 05/01 02:00PM Mon 05/08 02:00PM
h10 true Chapter 10: Pointers Mon 05/08 02:00PM Mon 05/22 02:00PM
h11 true Chapter 9: Dynamic memory allocation and dynamic arrays), Chapter 13: Linked-lists Mon 05/15 02:00PM Wed 05/24 02:00PM
h12 true Chapter 13 Linked-lists contd. Mon 05/15 02:00PM Wed 05/31 02:00PM
h13 true Chapter 8: Strings Wed 05/24 02:00PM Wed 05/31 02:00PM
h14 true Chapter 14: Recursion Wed 05/31 02:00PM Wed 06/07 02:00PM

Labs:

num ready? description assigned due
lab00 true Getting started with C++ functions and github's web interface Tue 04/04 09:00AM Tue 04/11 11:59AM
lab01 true Crunching numbers: Loops and functions Tue 04/11 09:00AM Tue 04/18 11:59PM
lab02 true ASCII Art: Logical operators, integrating github into your workflow Tue 04/18 09:00AM Tue 04/25 11:59PM
lab03 true Counting ducks: File I/O and flow control Tue 04/25 09:00AM Tue 05/02 11:59PM
lab04 true Odds and primes: Fun with arrays and makefiles Tue 05/02 09:00AM Tue 05/09 11:59PM
lab05 true Fun with shapes: Pointers Tue 05/09 09:00AM Tue 05/16 11:59PM
lab06 true Linked lists and array lists Tue 05/16 09:00AM Tue 05/23 11:59PM
lab07 true Advanced arrays and linked lists Tue 05/23 09:00AM Tue 05/30 11:59PM
lab08 true Anagrams, palindromes: Strings and recursion Tue 05/30 09:00AM Tue 06/06 11:59PM
lab09 true Mentor evaluations and wrap up Tue 06/06 09:00AM Tue 06/06 11:59PM