Course Overview


Meeting Times


Course Textbooks


Course Schedule

Note that the schedule below is subject to minor changes.


WEEK DATES TOPICS & READINGS ACTIVITIES
1 8/28-9/1 Module 1: Introduction to Computing
problem solving, history of computing
Academic Integrity Form due Sep. 1
2 9/4-9/8 Module 2: Elements of programming using Python

no class: Monday, Sept 4 - Labor Day
PA 1 due Sep. 5
PS 1 due Sep. 8
3 9/11-9/15 Module 3: Algorithmic Thinking
conditional computation, simple iteration, arrays
PA 2 due Sep. 12
PS 2 due Sep. 15
4 9/18-9/22 Module 4: Iteration
linear search, selection sort, introduction to computational complexity
PA 3 due Sep. 19
PS 3 due Sep. 22
5 9/25-9/29 Module 5: Recursion
recursive thinking, binary search, merge sort
PA 4 due Sep. 26
PS 4 due Sep. 29
6 10/2-10/6 Written Exam 1: Monday, Oct 2

Module 5: Recursion (continued)

Module 6: Organizing Data
lists, stacks and queues, hash tables, tree and graphs
PS 5 due Oct. 6
7 10/9-10/13 Module 7: Data Representation
integers, text,images and sound
PA 5 due Oct. 10
PS 6 due Oct. 13
8 10/16-10/20 Module 8: Computer Organization
boolean logic, gates, computer components

Lab Exam 1: Thursday, Oct 19
no class: Friday, Oct 20 - midsemester break
9 10/23-10/27 Module 9: Randomness
random number generators, games, fractals, cellular automata
PA 7 due Oct. 24
PS 7 due Oct. 27
10 10/30-11/3 Module 10: Concurrency
sorting networks, pipelining, multitasking, operating systems

Written Exam 2: Wednesday, Nov 1
PS 8 due Nov. 3
11 11/6-11/10 Module 11: Graphics
using an API, simulations

no class: Friday, Nov 10 - CMU 50 celebration
PA 8 due Nov. 7
12 11/13-11/17 Module 12: The Internet
Internet design, security, privacy
PA 9 due Nov. 14
PS 9 due Nov. 17
13 11/20-11/24 Module 13: Artificial Intelligence
game trees and heuristics, language understading, machine learning

no classes: Wednesday-Friday, Nov 22-24 - Thanksgiving Break
PA 10 due Nov. 21
14 11/27-12/1 Module 13: Artificial Intelligence (continued)

Written Exam 3: Friday, Dec 1
PS 10 due Nov. 29
15 12/4-12/8 Module 14: Computablity
tractability, undecidability, the future of computing

Lab Exam 2: Thursday, Dec 7
PA 11 due Dec. 5