CS U213 Roadmap to Lecture Notes -- Fall 2007

A roadmap to lectures on various topics form previous semesters.

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

Designing unions of classes.

Lecture 3: September 11, 2006

Calder's Friends

Design recipe for classes --- HtDP version.

Designing for classes --- ProfessorJ version.

Sample mobile 1.

Sample mobile 2.

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

Designing Methods.

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 1 --- Data definitions, purpose statements and contracts.

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!

Designing abstractions.

Lecture 12: February 6, 2006

Looking Up --- Abstracting with Classes

Designing super classes from commonalities in classes.

Program files for Lecture 12:

recordings.java.

recordings-super1.java.

recordings-super2.java.

recordings-super3.java.

recordings-super4.java.

Lecture 13: February 8, 2006

Sorting out Sorting

Review of sorting - comparison with Scheme.

Program files for Lecture 13:

LON.ss.

ILoN.java.

Lecture 13a:

A List of Valid Names

Practice designing methods for lists.

Lecture 12: October 2, 2006

Using Libraries, Designing Derived Classes.

Using the World Library.

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.

Circularly referential data.

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