Course Schedule - Spring 2018

(subject to change - monitor Piazza and in class announcements for adjustments)
IMPORTANT POLICY ABOUT SPRING BREAK: There is a lab exam on Thursday, March 8, the day before midsemester/Spring break. Do NOT make plans to travel before your classes end on Thursday, March 8. No early exams will be allowed, and if you want to vacation early, you risk getting a 0 on the lab exam. Spring Break starts on Friday, March 9 for those without mini-3 finals, not earlier.
 
IMPORTANT POLICY ABOUT FINAL EXAMS: Do NOT make travel plans until you have the official final exam schedule, and you know definitively when your last final is. No early exams will be given, and students with conflicts or more than 3 exams in 25 hours might need to take a final on the official makeup day (Tue., May 15). Travel cost or a parent booking a trip for you is NOT a valid excuse for an alternate final. NO EXCEPTIONS WILL BE MADE.
Slides from each lecture will be posted here after class. You are expected to take notes during class. Click HERE for tips from Academic Development about effective note taking in class. These skills will help you when you're out in industry or graduate school. Click HERE for more reasons why handwritten note taking may help you learn more in this class.

WEEK DATES TOPICS SLIDES/READINGS ASSESSMENTS
1 1/15-1/19 Unit 1: Introduction to Computing problem solving, a brief history of computing
Monday, Jan 15 - No class (Martin Luther King Jr. Day)
Unit01.pdf
LightBot
Brief History of Computers
Academic Integrity Form
due Fri., Jan. 19
2 1/22-1/26 Unit 2: Elements of programming using Python
variables, statements, counting loops
Unit02PtA.pdf
Unit02PtB.pdf
epidemic.py
Blown To Bits Ch. 1
PA 1 due Jan. 23 by 9:00PM
PS 1 due Jan. 26 by 2:30PM
3 1/29-2/2 Unit 3: Algorithmic Thinking
Boolean expressions, conditional computation, intro to lists
Unit03PtA.pdf
Unit03PtB.pdf
Unit03PtC.pdf
sieve.py
Blown To Bits Ch. 2
PA 2 due Jan. 30 by 9:00PM
PS 2 due Feb. 2 by 2:30PM
4 2/5-2/9 Unit 4: Iteration
linear search, selection sort, intro to computational complexity
Unit04PtA.pdf
Unit04PtB.pdf
isort.py
Insertion Sort handout
Unit04PtC.pdf
PA 3 due Feb. 6 by 9:00PM
PS 3 due Feb. 9 by 2:30PM
5 2/12-2/16 Unit 5: Recursion
recursive thinking, binary search, merge sort
Unit05PtA.pdf
hanoi.py
Unit05PtB.pdf
bsearch.py
Unit05PtC.pdf
msort.py
PA 4 due Feb. 13 by 9:00PM
PS 4 due Feb. 16 by 2:30PM
6 2/19-2/23 Unit 6: Organizing Data
lists, stacks and queues, hash tables, trees and graphs
Unit06PtA.pdf
Unit06PtB.pdf
Unit06PtC.pdf (2/26)
Written Exam 1: Wed., Feb. 21
PS 5 due Feb. 23 by 2:30PM
7 2/26-3/2 Unit 7: Data Representation
integers, text, images and sound
Unit07PtA.pdf
Unit07PtB.pdf
Blown To Bits Ch. 3
PA 5 due Tue., Feb. 27 by 9:00PM
PS 6 due Fri., Mar. 2 by 2:30PM
8 3/5-3/9 Unit 8: Computer Organization
boolean logic, gates, computer components, machine code
Friday, Mar. 9 - No class (Midsemester Break, Mini-3 Finals)
Unit08PtA.pdf
Unit08PtB.pdf
PA 6 due Tue., Mar. 6 by 9:00PM
Lab Exam 1: Thu., Mar. 8
  3/12-3/16 Monday, Mar. 12 - Friday, Mar. 16 - No classes (Spring Break)
9 3/19-3/23 Unit 9: Randomness
random number generators, games
Unit09PtA.pdf
Unit09PtB.pdf (3/21-23)
cards.py
PA 7 due Tue., Mar. 20 by 9:00PM
PS 7 due Fri., Mar. 23 by 2:30PM
10 3/26-3/30 Unit 10: Graphics
using an API, graphical elements, simulations
Unit10PtA.pdf
graphicsdemo.py
Unit10PtB.pdf
Unit10PtC.pdf (4/2)
fluvirus.py
Written Exam 2: Mon., Mar. 26
PS 8 due Fri., Mar. 30 by 2:30PM
11 4/2-4/6 Unit 11: Concurrency
parallel operations, pipelining, multitasking, the operating system
Unit11PtA.pdf
Unit11PtB.pdf
Blown To Bits Ch. 4
PA 8 due Tue., Apr. 3 by 9:00PM
PS 9 due Fri., Apr. 6 by 2:30PM
12 4/9-4/13 Unit 12: The Internet
Internet principles, security, privacy
Unit12PtA.pdf
Unit12PtB.pdf (updated)
rsa-example.txt
Unit12PtC.pdf
Blown To Bits Appx. A
PA 9 due Tue., Apr. 10 by 9:00PM
PS 10 due Fri., Apr. 13 by 2:30PM
13 4/16-4/20 Unit 13: Artificial Intelligence
machine learning (Watson), the Turing Test
Thurs., Apr. 19 - Fri., Apr. 20: No classes (Carnival)
Blown To Bits Ch. 5
AI Guest Lecture
Smartest Machine on Earth (documentary)
PA 10 due Tue., Apr. 17 by 9:00PM
connect4.py (starter code)
14 4/23-4/27 Unit 13: Artificial Intelligence (continued)
game trees and heuristics, language processing
FilesPrimer.pdf
Unit13PtA.pdf
Unit13PtB.pdf
Eliza
PS 11 due Tue., Apr. 24 by 2:30PM
Written Exam 3: Fri., Apr. 27
15 4/30-5/4 Unit 14: Computability
intractable and undecidable problems, the future of computing
Unit14PtA.pdf
Unit14PtB.pdf
Unit14PtC.pdf
PA 11 due Tue., May 1 by 9:00PM
startingtree.txt (data file)
Lab Exam 2: Thu., May 3
  5/7-5/14 Finals Period (makeup day: Tues, May 15)
See IMPORTANT POLICY at the top of this page.
PS12 for review only (solutions)
Final Exam: Mon, May 7, 1-4PM
Room(s): DH 2210 & 2315