Lectures
Lecture Notes for CS351, Spring 2005
This page will house lecture notes, slides, code, URLs, etc., as they become available.
- Lecture 01: Aug 25: Design principles; interfaces
-
- Lecture Notes
- |Ackley-style raw text lecture notes|
- Lecture 03: Aug 30: Overview of the MondoHashMap UML Diagram. Example code: Data views; self-resizing objects; test rigs.
-
- Example Code
- |code.tar.gz| |code.jar|
- Lecture 04: Sep 01: Testing principles and practices.
-
- Lecture Notes
- |Ackley-style raw text lecture notes|
- Lecture 05: Sep 06: The Java memory model; "contains-a" vs. "refers-to"; design exercise: the MSpider inner loop.
-
- Lecture Notes
- |Ackley-style raw text lecture notes|
- Lecture 06: Sep 08: The web page fetch cycle; the URL class; HTML parsing
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Example Code
- |code.tar.gz| |code.jar|
- Lecture 08: Sep 15: Administriva (Quiz 2); Action handling in Swing; late-binding of functionality; example Swing codes; Keat's poetry.
-
- Lecture Notes
- |Keynote slides| |PDFified slides| |PowerPoint slides|
- Example Code
- |code.tar.gz| |code.jar|
- Lecture 07: Sep 13: Summary of P1M1 grading results; analysis of common design flaws in P1M1; intro to UI design with Swing.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Lecture 09: Sep 20: The model-view-controller design pattern; principle of separation of functionality.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Example Code
- |code.tar.gz| |code.jar|
- Lecture 10: Sep 22: Thinking about the design of P1; design exercise: designing an editor with multiple views and rebindable keys/buttons.
-
- Lecture Notes
- |Ackley-style raw text lecture notes|
- Lecture 11: Sep 27: Quiz 2 delayed; hand out of P2; discussion of P2.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Lecture 12: Sep 29: Introduction to Reinforcement Learning.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Lecture 13: Oct 04: News and administrivia; Reinforcement Learning (RL) continued; design exercise: WorldSimulator and friends.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Lecture 14: Oct 06: Design exercise: WorldSimulator.act() and singletons; the MDP (reprise); policies & policy representation; Q functions; Q learning.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Lecture 15: Oct 11: The true meaning of static; the singleton design pattern.
-
- Lecture Notes
- |PDFified slides|
- Example Code
- |code.tar.gz| |code.jar|
- Supplemental Stuff
- Lecture 16: Oct 18: Follow-up on enums, static, and singletons; the Q function; Q learning.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Example Code
- |code.tar.gz| |code.jar|
- Lecture 17: Oct 25: Results of the midterm; answer to midterm Q5; the factory method design pattern; the principle of polymorphism instead of tests; the intuition behind Q learning.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Ackley-style raw text lecture notes| |Keynote slides|
- Example Code
- |code.tar.gz| |code.jar|
- Lecture 18: Oct 27: Drawbacks of Q-learning; measuring learning performance; eligibility traces; SARSA(\lambda); design exercise: RL experimental rig.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Lecture 19: Nov 01: Hint o' the day: micro-experiments; exploration for reinforcement learners; design exercise (experiment-driver) revisited.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Example Code
- |code.tar.gz| |code.jar|
- Lecture 20: Nov 08: Design principle: orthagonality; design pattern: client/server; Java Sockets and the client/server implementation.
-
- Lecture Notes
- |Ackley-style raw text lecture notes|
- Lecture 21: Nov 15: Design principle: fail-fastness; threads vs. processes; the thread model; intro to synchronization.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Lecture 22: Nov 17: Team tips: code ownership policies; synchonization in gory detail: who owns the lock?
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Lecture 24: Nov 29: Design principle: early vs. late commitment; thread-based timers; thread communication via wait()/notify().
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
- Example Code
- |code.tar.gz| |code.jar|
- Lecture 25: Dec 01: News: Java security; Swing/AWT threads and network synchronization issues; race conditions and data security.
-
- Lecture Notes
- |PDFified slides| |PowerPoint slides| |Keynote slides|
Last updated: Thu Dec 1 17:58:58 2005
