Lecture 1: September 6, 2006
All I Ever Wanted to Know I Learned in Kindergarden
Designing simple classes in Beginner HtDP.
Designing simple classes in Beginner ProfessorJ.
Designing classes with containment in Beginner ProfessorJ.
Lecture 1: January 9, 2006
All I Ever Wanted to Know I Learned in Kindergarden
Designing simple classes, classes with containment.
Lecture 2: September 7, 2006
Happy Unions
Designing a union of classes of data in Beginner HtDP and in Beginner ProfessorJ
Unions of classes with self reference in Beginner ProfessorJ.
Lecture 2: January 11, 2006
Happy Unions
Lecture 3: September 11, 2006
Calder's Friends
Design recipe for classes --- HtDP version.
Designing for classes --- ProfessorJ version.
Lecture 3: January 12, 2006
All Things Bright and Beautiful
Self-referential class hierarchies.
Lecture 4: January 18, 2006
Janus
Designing the class hierarchy to represent a Java program as data.
Lecture 4: September 13, 2006
Method to the Madness
Lecture 5: January 19, 2006
Methodical Methods
Designing methods for classes.
Lecture 5: September 14, 2006
More Madness
Designing Methods for classes with containment and unions.
Lecture 6: January 23, 2006
Help!
Designing methods for classes with containment.
Lecture 6: September 18, 2006
Designing methods for unions.
Designing methods for unions of classes --- HtDP version, Part 2 --- Complete method design.
Designing methods for unions of classes --- HtDC version.
Lecture 7: January 25, 2006
Amazing Maze
Designing methods for unions of classes and self-referential data.
Lectures 7 and 8: September 20 and 21, 2006
Designing methods for unions with self-reference.
Designing methods for classes that represent self-referential data.
Lecture 8: January 26, 2006
How Do We Compare???
Equality of self-referential data.
Comparing doubles
Equality of double type of data.
Lecture 9: January 30, 2006
Take your place in the line...
Designing method to sort a list of data.
Lecture 10: February 1, 2006
Libraries: Let's Make a Deal
Learning to use Java class libraries: Drawing shapes.
Lecture 11: February 2, 2006
Don't Be a Copy Cat!
Lecture 12: February 6, 2006
Looking Up --- Abstracting with Classes
Designing super classes from commonalities in classes.
Program files for Lecture 12:
Lecture 13: February 8, 2006
Sorting out Sorting
Review of sorting - comparison with Scheme.
Program files for Lecture 13:
Lecture 13a:
A List of Valid Names
Practice designing methods for lists.
Lecture 12: October 2, 2006
Using Libraries, Designing Derived Classes.
Lecture 13: October 4, 2006
Designing Special Classes to Distinguish the Behavior.
Lecture 14: February 9, 2006
Looking Down.
Designing subclasses, restricting the visibility.
Designing Special Classes to Distinguish the Behavior.
Lecture 14: October 5, 2006
Overloading Constructors
... to provide flexibility for the user and to assure data integrity.
Overloading constructors to provide flexibility for the user: providing defaults.
Overloading constructors to provide flexibility for the user: expanding options.
Designing and overloading of constructors to assure data integrity.
Overloading and encapsulation of constructors to assure data integrity.
Additional lectures for the material we will cover soon.
Lecture 15: October 11, 2006
Circularly Referential Data.
Circluarly Referential Data: Book and Author.
Lecture 18:February 22, 2006
Charlie on the MTA: and he never returned ...
The problem dealing with the routes and stations is covered in the book. Lecture 20 from Spring 2005 discusses a similar problem: the classes that represents lists of books with multiple authors and authors that keep track of all the books they wrote.
Lecture 15: February 13, 2006
Being Honest
Integrity of data: Exceptions. html pdf
Lecture 16: February 15, 2006
Looking the Same.
Abstracting over Data Types. html pdf
Code for Lecture 16: books.java authors.java objects.java
Lecture 17: February 16, 2006
Adding Up, Sorting, Selecting
Abstracting over Functional Behavior.
The material covered in this lecture is well explained in lectures 14 and 15 from Spring 2005. As an exercise, work out the problem of determining the total value of all objects in a list (total price, total distance, etc.) --- which is the problem we did in class.Young at Heart --- -- --Boston Marathon: Sorting the Runners: Lecture 13 - Spring 2005
Filter, OrMap, AndMap: Lecture 14 - Spring 2005
Lecture 19: February 23, 2006
Getting a New Phone Number
Modifying fields, modifying structures. pdf html
Code for Lecture 19 --- runs in Advanced ProfessorJ: phonelists.java
Lecture 21:March 1, 2006
Looking from the Outside
Designing and using iterators pdf html
traversal.java -- runs in Advanced ProfessorJ
Posted: October 5, 2007 11:00 am
Last modified: Wed Oct 3 08:46:24 EDT 2007