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