ICS 180A, Spring 1997:
Strategy and board game programming

Schedule and Lecture Notes

Note: these pages represent the lecture notes from the first offering of 180a, in Spring 1997.
For a more complete set of notes, see the Winter 1999 offering.

1 Apr: Lecture: history of computer games
3 Apr: Project: form project teams
8 Apr: Lecture: representation of game positions
10 Apr: Project: proposals due
Lecture: position evaluation
15 Apr: Project: proposals reviewed and returned
Lecture: neural nets, genetic algorithms, and other methods for automatically learning evaluation functions
17 Apr: Lecture: game tree evaluation
22 Apr: Lecture: alpha-beta pruning
24 Apr: Lecture: hashing and move ordering
29 Apr: Lecture: full-width vs. selective search; quiescence and selective extensions
1 May: Project: should have user interface, board representation, and move generation working
Lecture: pruning techniques: null move, razoring
3 May: Kasparov vs. Deep Blue rematch begins
6 May: Lecture: playout analysis and games of chance
8 May: Lecture: retrograde analysis and endgame databases
11 May: Kasparov vs. Deep Blue rematch concludes
13 May: Lecture: construction of endgame databases
15 May: Lecture: combinatorial game theory: impartial games
20 May: Lecture: combinatorial game theory: numbers and games
22 May: Project: target date for producing a working program
Lecture: combinatorial game theory: go endgames
27 May: Lecture: classical game theory: zero-sum games
29 May: Lecture: chicken, the prisoner's dillemma, and other non-zero-sum games
3 Jun: Lecture: expert systems
5 Jun: Lecture: complexity of games
10 Jun: Project: demonstrate projects (10:30-12:30, in the CS bldg 3rd floor labs)
turn in final project report (by 5:00, in my mailbox in CS 448)

David Eppstein, Dept. Information & Computer Science, UC Irvine, .