TSRJ Workshop - Advanced Track 2008

  1. Monday morning: Programming the World

    Goals: Review HtDP, Introduce image.ss and world.ss teachpacks

  2. Lecture for Monday
  3. Lab for Monday am
  4. Shapes, Images, Animations: shapes-images-animate.ss
  5. The Blob world: blob-world.ss
  6. Ocean World - one fish, simple graphics: oceanworld-basic-shapes.ss
  7. Ocean World - one fish, adding fish-shark interactions: oceanworld-onefish.ss
  8. Sample Images: sample-images.html
  9. Monday afternoon: Designing Programs

    Goals: Design Recipe for Data Definitions; Iterative Refinement

  10. Lecture for Monday
  11. Lab for Monday pm
  12. Ocean World: Problem Analysis oceanworld.txt
  13. Ocean World with a School of Fish, A Complete Game: oceanworld-many-fish.ss
  14. Tuesday morning: Designing Classes - Data Definitions

    Goals: Design Recipe for data definitions in Java

  15. Lecture for Tuesday am
  16. Lab for Tuesday am
  17. Defining Classes of Data: book.java
  18. Classes with Containment: book-author.java
  19. Unions and Self-referential Data: list-of-books.java
  20. Extended Example: company-data.java
  21. Alterate Examples and Lecture Notes:

  22. Defining Classes of Data; Classes with Containment: lecture3-data.ss lecture3-data.java
  23. Unions and Self-referential Data: lecture3-data-union.java
  24. Tuesday afternoon: Designing Methods

    Goals: Designing methods, Understanding method dispatch, Design Recipe

  25. Lecture for Tuesday pm - Part 1: Methods for classes and containment
  26. Lecture for Tuesday pm - Part 2: Methods for unions of classes
  27. Lecture for Tuesday pm - Part 3: Methods for self-referential class hierarchies
  28. Lab for Tuesday pm: pdf html
  29. Design Recipe: worksheet
  30. Simple drawing: simple-drawing.java
  31. Extra challenge - designing a mobile: mobile.java
  32. Extra challenge - designing a mobile: mobile-data.java
  33. Extra challenge - designing a mobile: mobile-methods.java
  34. Alternative examples collection:

  35. Alternative Lecture for Tuesday pm
  36. Methods for Simple Classes: grades-simple.java
  37. Methods for Classes with Containment: grades-containment.java
  38. Methods for Unions and Self-Referential Data: maze.java
  39. Sorting a List of Data: list-sort.java
  40. Wednesday morning: Programming the World

  41. Wednesday afternoon: Designing Abstractions

  42. Thursday morning: Stateful Programming

  43. Thursday afternoon: Understanding Equality

  44. Friday morning: Accumulators and Loops Plenary Session

  45. Friday afternoon: The Big Picture