Computer Science 15-100 (APEA Section E), Summer 2009
Class Notes: Additional / Advanced Topics
Additional / Advanced Topics (as time permits):
History of Computing
Logic and Circuits
Machine Architecture
Interpreters and Compilers
Logical Programming
Functional Programming
Parallel Programming
Database Programming
Complexity + NP-Completeness
Computability + The Halting Problem
Inheritance and Polymorphism
Matrices and Linear Algebra
The JCF (Lists, Sets, Maps, Stacks, Queues, PriorityQueues, etc)
Combinatorial Iterators
Numerical Analysis + Monte Carlo Methods
Compression and Cryptography
Recursion
Sub-quadratic Sorts
Making and Solving Mazes
AI: A* And One-Player Games
AI: Minimax and Two-Player Games
Machine Learning
Packaging and Deployment
Swing + GUI
File System / Shell Scripting
Application Scripting (eg, OpenOffice)
How to write a spreadsheet
How to write a word processor
How to write a web server
How to write a compiler or interpreter
How to write an animated process/simulation
How to write a text adventure
How to write a 2d board game (Othello)
How to write a 2d arcade game (Tetris)
carpe diem - carpe diem - carpe diem - carpe diem - carpe diem - carpe diem - carpe diem - carpe diem - carpe diem