CS 16: Problem Solving with Computers -I , Winter 18
Course Information
Lecture Notes and Slides:
lecture date | notes | ready? | description | slides before | slides after |
---|---|---|---|---|---|
2018-01-16 | lect01 | true | Course overview, a gentle intro to C++ - Standard I/O | ||
2018-01-18 | lect02 | true | Git, Control Structures, I/O in programs | Annotated pdf | |
2018-01-23 | lect03 | true | For loops, functions, git, intro to lab01 | Annotated pdf | |
2018-01-25 | lect04 | true | More loops, working with floats and doubles | Annotated pdf | |
2018-01-30 | lect05 | true | Gentle intro to TDD, intro to lab02 | Annotated pdf | |
2018-02-01 | lect06 | true | File IO, intro to lab03 | Annotated pdf | |
2018-02-06 | lect07 | true | Separate compilation with makefiles | Annotated pdf | |
2018-02-08 | lect08 | true | Data representation, arrays, intro to lab04 | Annotated pdf | |
2018-02-13 | lect09 | true | C++ Memory model, arrays | Annotated pdf | |
2018-02-15 | lect10 | true | Pointers and structs, references, call by value, address and reference, intro to lab05 | Annotated pdf | |
2018-02-20 | lect11 | true | Arrays of structs, pointer arithmetic | Annotated pdf | |
2018-02-22 | lect12 | true | Dynamic memory allocation, Heap vs Stack | Annotated pdf | |
2018-02-27 | lect13 | true | Linked lists | Annotated pdf | |
2018-03-06 | lect14 | true | More on linked-lists | Annotated pdf | |
2018-03-08 | lect15 | true | Strings | Annotated pdf | |
2018-03-13 | lect16 | true | Recursion: advanced problems on linked-lists | Annotated pdf | |
2018-03-15 | lect17 | true | Wrap up and final review |
Homework:
num | ready? | description | assigned | due |
---|---|---|---|---|
h01 | true | Chapter 1: Computer systems, introduction to C++ | Fri 01/19 09:00AM | Tue 01/23 08:00PM |
h02 | true | Chapter 2: Variables and assignments, input and output | Tue 01/23 09:00AM | Tue 01/30 08:00PM |
h03 | true | Chapter 2: Data types and expressions, Simple flow control | Tue 01/23 09:00AM | Tue 01/30 08:00PM |
h04 | true | Chapter 3: Boolean expressions, multiway branches, more loops | Tue 01/30 09:00AM | Tue 02/06 08:00PM |
h05 | true | Chapter 3: Loops | Tue 01/30 09:00AM | Tue 02/06 08:00PM |
h06 | true | Chapter 4: Predefined and programmer defined functions | Tue 02/06 09:00AM | Tue 02/13 08:00PM |
h07 | true | Chapter 6: File IO | Tue 02/06 09:00AM | Tue 02/13 08:00PM |
h08 | true | Chapter 7: Arrays and Chapter 9 Pointers | Tue 02/13 09:00AM | Tue 02/20 08:00PM |
h09 | true | Chapter 5: Call by value and call by reference | Tue 02/13 09:00AM | Tue 02/20 08:00PM |
h10 | true | Chapter 10: Pointers | Tue 02/20 09:00AM | Tue 02/27 08:00PM |
h11 | true | Chapter 9: Dynamic memory allocation and dynamic arrays), Chapter 13: Linked-lists | Tue 02/20 09:00AM | Tue 02/27 08:00PM |
h12 | true | Chapter 13 Linked-lists contd. | Tue 03/06 09:00AM | Tue 03/13 08:00PM |
h13 | true | Chapter 8: Strings | Tue 03/06 09:00AM | Tue 03/13 08:00PM |
h14 | true | Chapter 14: Recursion | Tue 03/13 09:00AM | Fri 03/16 08:00PM |
Labs:
num | ready? | description | assigned | due |
---|---|---|---|---|
lab00 | true | Getting started with C++ functions and github's web interface | Tue 01/16 09:00AM | Mon 01/22 11:59PM |
lab01 | true | Crunching numbers: Loops and functions | Tue 01/23 09:00AM | Mon 01/29 11:59PM |
lab02 | true | ASCII Art: Logical operators, integrating github into your workflow | Tue 01/30 09:00AM | Mon 02/05 11:59PM |
lab03 | true | Counting ducks: File I/O and flow control | Tue 02/06 09:00AM | Mon 02/12 11:59PM |
lab04 | true | Odds and primes: Fun with arrays and makefiles | Tue 02/13 09:00AM | Wed 02/21 11:59PM |
lab05 | true | Fun with shapes: Pointers | Tue 02/20 09:00AM | Mon 02/26 11:59PM |
lab06 | true | Linked lists and array lists | Fri 03/02 09:00AM | Fri 03/16 11:59PM |
lab07 | true | Advanced arrays and linked lists | Tue 03/06 09:00AM | Mon 03/19 11:59PM |
lab08 | true | Anagrams, palindromes: Strings and recursion | Tue 03/13 09:00AM | Mon 03/19 11:59PM |