Examples and other materials from lectures


Shape programs, from C to C++ to Java 
  1. Encapsulation
  2. shape1
  3. shape2
  4. shape3
  5. shape4
  6. shape5
  7. shape6 (other files are same as before)
  8. shape7
  9. shape8
  10. shape9
  11. Workshop: Java Setup
  12. shape10
Java GUI programs 
  1. Workshop: SimpleButton0
  2. Window Systems
  3. SimpleButton1
  4. SimpleButton2 (other file is same as before)
  5. Workshop: Modify SimpleButton2
  6. Scroll (other file is same as before)
  7. AWT class hierarchy
  8. Draw1 (the WRONG way)
  9. Draw2
  10. Java graphics commands
  11. More on Java graphics commands
  12. Workshop: Java Drawing
  13. Draw3 (other files are same as before)
  14. Workshop: Java Mouse and Drawing
  15. Draw4 (other files are same as before)
  16. Widgets
  17. Different kinds of widgets
  18. Layout1
  19. Layout2 (for reference; optional)
  20. (Movie frames)
  21. Timeout1
  22. Timeout2 (other files are same as before)
  23. Workshop: Simple Animation
  24. Workshop: Installing Eclipse and Windowbuilder
  25. SimpleButton2 using Eclipse IDE
  26. Widgets using Eclipse IDE
  27. Menus (using Eclipse)
Button Programs, GUI with OOP 
  1. ButtonApp1
  2. Three Hierarchies for ButtonApp3
  3. ButtonApp3 (no ButtonApp2)
  4. Hierarchies for ButtonApp4
  5. ButtonApp4 (other files are same as before)
  6. Design for ButtonApp5 Program
  7. ButtonApp5
  8. Workshop: Pan and Zoom
OO Design 
  1. Overall steps for object-oriented design
  2. Abstraction 1
  3. Abstraction 2
  4. (UML diagram examples)
  5. UML class diagrams 1
  6. UML class diagrams 2
  7. UML class diagrams 3
  8. UML class diagrams 4
  9. UML class diagrams 5
  10. UML class diagrams 6
  11. UML class diagrams 7
  12. (CRC cards)
  13. (CRC examples)
  14. ButtonApp5 UML base
  15. ButtonApp5 UML collab
  16. Button5 UML aggreg
  17. Button5 UML inherit
  18. Button5 UML all
  19. UML sequence diagrams 1
  20. UML sequence diagrams 2
  21. UML sequence diagrams 3
  22. UML state diagrams 1
  23. UML state diagrams 2
  24. UML state diagrams 3
Incdec 
  1. IncdecApp1
  2. IncdecApp2
  3. IncdecApp3
  4. IncdecApp4
Javascript and Browser Interfaces 
  1. SimpleButton1 (plain HTML)
  2. SimpleButton2 (Javascript)
  3. Draw
  4. SimpleButton3
  5. Workshop: User Interface Programming in Javascript
  6. SimpleButton3o (for reference)
  7. Timeout1
  8. Timeout2
  9. Bounce
  10. ButtonApp5c
  11. IncdecApp1
  12. IncdecApp2 (for reference)
  13. Ajax1 (for reference)
  14. Ajax2 (for reference)
  15. Paint (for reference)
  16. Breakout game (postponed)
  17. Workshop: Breakout Game (postponed)
Non-WIMP Interaction Styles 
  1. Webgazer: Web page (by Jeff Huang, Brown Univ.)
  2. Webgazer: Usage example code
  3. Webgazer: Simple skeleton program code
  4. Trackingjs: Web page
  5. Trackingjs: Head tracking example code
  6. Trackingjs: Color tracking example code
  7. Affectiva: Web page
  8. Affectiva: Demo
  9. Affectiva: Demo code
  10. Affectiva: UI example code
  11. Gest.js: Web page
  12. Gest.js: Github
  13. Gest.js: Demo
  14. Gest.js: Example code
  15. JSHG, another hand gesture system: Web page
  16. JSHG: Demo
  17. One dollar recognizer: Web page
  18. One dollar recognizer: Example code
  19. Topcodes: Web page
  20. Topcodes: Video
  21. Topcodes: Code for algorithm
  22. Web speech API: Web page
  23. Web speech API: Demo
  24. Web speech API code: Example code
3D Graphics in Three.js 
  1. box
  2. scene
  3. lights
  4. robot1
  5. robot2
  6. (Virtual Reality)
  7. (HMD picture)
  8. Stereo example 1 (for reference; optional)
  9. Stereo example 2 (for reference; optional)
  10. load
  11. house
  12. (More 3D graphics techniques)
Additional Topics in Java 
  1. Rawbutton
  2. Threads
  3. Threads1
  4. Threads2 (other files are same as before)
  5. Threads3 (other files are same as before)
  6. MVC