Pennsylvania Governors School for the Sciences (PGSS)
Computer Science Core
Summer 2013
Schedule
 
Day Date Event / Topics Readings / Homeworks
   

Week 1: Coding Basics

 
Tue 2-Jul Lecture 1: Coding Basics Part 1: Functions, Variables, Expressions, Conditionals, Loops code-from-class-02-july-13.py
Wed 3-Jul Lecture 2: Coding Basics Part 2: 1d Lists code-from-class-03-july-13.py
Thu 4-Jul Independence Day (No Classes) Independence Day (No Classes)
Fri 5-Jul Lecture 3: Strings, 2d Lists, Problem-Solving, Testing, Debugging code-from-class-05-july-13.py
hw0-practice
Sun 7-Jul Optional Lecture:  Matrices, Gaussian Elimination, Power Sum Coefficients code-from-class-07-july-13.py
Mon 8-Jul Homework 1 Due hw1
   

Week 2: More Coding / Algorithms + Data Structures

 
Tue 9-Jul Lecture 4: Recursion code-from-class-09-july-13.py
Also: these examples from these notes
Wed 10-Jul Lecture 5: Algorithm Complexity Basics, Searching + Sorting See xSortLab
Thu 11-Jul Lecture 6: Algorithm Efficiency code-from-class-11-july-13.py
Fri 12-Jul Lecture 7: Sets, Compression (Huffman Coding) code-from-class-12-july-13.py
Also: Huffman Coding on Wikipedia
Sat 13-Jul Optional Lecture:  How a Computer Works (From Logic Gates to (nearly) CPU's) See xLogicCircuits1 and xLogicCircuits2
Mon 15-Jul Homework 2 Due hw2
   

Week 3: Graphics + Animations / Topics in Theory

 
Tue 16-Jul Lecture 8: Graphics + Animations code-from-class-16-july-13.py
Also:  Graphics and Animations
Wed 17-Jul Lecture 9: Randomness + Monte Carlo Methods code-from-class-17-july-13.py
Also: Monte Carlo Methods
Thu 18-Jul Lecture 10: More Monte Carlo Methods code-from-class-18-july-13.py
Fri 19-Jul Lecture 11: Computability + The Halting Problem
Optional Lecture (5:30):  Fast Sorts (Quicksort and Radixsort)
Also: Diagonalization and the Halting Problem
Bonus: code-from-class-19-july-13.py
Mon 22-Jul Homework 3 Due hw3
   

Week 4: Games + AI

 
Tue 23-Jul Lecture 12: Tractability + NP-Complete Problems code-from-class-23-july-13.py
See NP-Completeness
Wed 24-Jul Lecture 13: AI: One-Player Games with Breadth-First Search code-from-class-24-july-13.py
Also: Breadth-First Search on Wikipedia
Thu 25-Jul Lecture 14: AI: One-Player Games with A* Best-First Search code-from-class-25-july-13.py
Also: A* Best-First Search on Wikipedia
Fri 26-Jul Lecture 15: AI: Two-Player Games + Minimax See Minimax on Wikipedia
Also: othello-py on Google code
Mon 29-Jul Homework 4 Due hw4
   

Week 5: And More!

 
Fri 2-Aug Optional Lectures:
    How to Write a Zork-Like Text Adventure
    How to Write a Lisp-like Interpreter
2-aug-lisp.py
2-aug-text-adventure.py