810:053  Intermediate Computing

Fall 2009

Instructor: Dr. Ben Schafer

The following links may be helpful this semester.

Date Before class...  Activity Links and Announcements
8/24 Read some fun quotes about programming Session One - An introduction to the course and software development
8/26 Read Chapter 1 Session Two - More on Software development
8/28 Read Chapter 2.1-2.2.2  (pp 40-49) Session Three - An introduction to OOP
9/31 Read Chapter 2.3 (pp 57-80) Session Four - More on OOP Design.  Introducing UML
HW#1 - Initial OOP Design
9/2 Read Chapter 3.1-3.2.2  (pp 90-107) Session Five - Getting Started Programming in Java
Look under Resources for info about installing Java at home.
9/4   Session Six - (continued with the code from session five)
9/7 LABOR DAY  
9/9   Session Eight - More with Java. 
HW#2 - Starting to code in Java (solutions posted)
9/11 Read Chapter 3.2.3 and 3.2.4 (pp 107-132) and chapter 3.5 Session Nine - Discussion HW#1.  Talk about identity/equality issues. 
9/14   Session Ten - More with Java (arrays)
9/16   Session Eleven - Command line inputs
9/18   Session Twelve - Wrapping up command line
HW#3 - Bounded Integer with JUnit tests (solutions posted)
9/21   Session Thirteen- Testing and JUnit
9/23 Reread Chapter 2 Session Fourteen - Revisiting OO Design
9/25   Session Fifteen - More with Design
HW#4 - Experiencing the challenges of bad design (solutions posted)
9/28   Session Sixteen - Debrief HW#3
9/30 Read section 3.3 and 3.4 Session Seventeen - DOME example (introducing java collections and motivating inheritance)
10/2   Session Eighteen - Working with Inheritance
10/5 Read Chapter 4 Session Nineteen - Protected methods, the yo-yo effect
10/7   Session Twenty - Debrief HW#4, Assign HW#5
10/9 Read Chapter 10 Session Twenty-One - Writing a simple program to count words (used to introduce both streams and exceptions)
10/12   Session Twenty-Two - More with our code from Session TwentyOne (WUDemo.java and WUDemo2.java)
10/14   Midterm Exam (Focusing on the materials in Chapter 1-4 and the supporting lectures).
10/16 Read Chapter 12 Session Twenty-Four - Introduction to Java's graphics toolkits (BallWorld)
10/19   Session Twenty Five - More with BallWorld
10/21   Session Twenty Six - Making a ball that bounces "nicer"
10/23   Session Twenty Seven -  Using Inheritance to define different objects (Refactoring BallWorld), Introducing CannonGame
10/26   Session Twenty Eight - CannonWorld (Event Driven Programming)
10/28   Session Twenty Nine - Listeners, Interfaces
HW#6 - DomeWorld
10/30   Session Thirty - Layout Managers (Submitted Games for HW#5)
11/2 Read Chapter 11 Session Thirty One - Introduction to PinBallGame
11/4   Session Thirty Two - Improving PinBallGame
11/6   Session Thirty Three - Synchronized methods for threads, Version 3
HW#7 - Making more improvements to PinBallGame
11/9   Session Thirty Four - HW#6 debrief.  Facepage brainstorm
11/11   Session Thirty Five - Project design
11/13 Read Chapter 13 Session Thirty Six - Finish Project design.  URL communication
HW#8 - Starting the creation of FacePage Minor changes 11/17
11/16   Session Thirty Seven - Sockets
11/18   Session Thirty Eight - Changes to our assignment (skipped lesson on More with Sockets, see notes for details)
11/20   Exam #2
11/30   Session Forty - Exam results, HW#8 debrief, and HW#9
12/2   Session Forty One - Things we delayed (Abstract Classes)
12/4   Session Forty Two - Things we delayed (Types of Inheritance)
12/7   Session Forty Three - Semester wrap up and design patterns
12/9   Session Forty Four
12/11   Session Forty Five
12/14 Final Exam 1:00-2:50, Monday