May 01 | practice lab test posted

Apr 01 | practice lab tests posted

Mar 11 | minor typos in slides fixed

Winter 2009 : CSE 1030Z

Calendar: see the main web site for the course

Practice Labtest 3 Solution

For those of you who tried it, here is a solution to Practice Labtest 3 from the main course website.

Test 1 and 2 Solution

Test 1
Test 2

Practice GUI Problem

Implement the Controller and Model found in this API. Download the GUI and View. Solutions are Model and Controller.

Practice Recursion Problems

Here are some practice recursion problems. Hints are here. Solutions are here.

PEx07 and PEx08 Solutions

No JavaDoc, but solutions for for PEx07 are here:

PEx08 solution is here:

Labtest 2 Material

This practice test is fairly comprehensive. It tests if you can extend an abstract base class, use an array as an attribute, and return a new array from a method.

Implement the class NamedPolynomial given its API. You will need the abstract base class and the partial implementation of The solution is here. The methods setCoefficient, evaluate (non-array version), and toString are a little tricky.

Note that there is a different practice labtest on the main website for the course here. A solution (without Javadoc) is here.

Finally, the solution to PEx06 (missing Javadoc) is here.

Written Test 2 Material

Here are some practice written questions covering aggregation, composition, and some of the inheritance material.

Labtest 1 Material

There are APIs for three classes on the following link. Each API represents a separate practice labtest. The Vector3d API is probably too long for a labtest. You should also try generating the Javadoc for each API. Extra practice labtests

Testers are here for Book, and Hamster, and Vector3d. Note that the testers do not test any of the toString() or hashCode() methods. The testers are just .java files (they are clients of Book, Hamster, and Vector3d). If you put them in the same directories as your Book, Hamster, and Vector3d classes, you can get eclipse to recognize them by right-clicking on the package (book, hamster, and vector) and selecting Refresh from the pop-up menu.

Solutions are here for Book, and Hamster, and Vector3d.

Solutions for the practice labtest Computer are here and here. An undocumented version of the Monitor class is here so that you don't need the jar file from the practice test.

Solution for the practice labtest Transfer is here. I am not sure if the toString method was supposed to emulate the formatting of the picture of the transfer shown in the API; this solution assumes that toString was supposed to emulate the formatting. I think that getting the format correct would have been the most time consuming part of this test.

Winter 2009 : CSE 1030Z

Wed Mar 4:Introduction
Fri Mar 6:Utilities: Attributes and constructors
Mon Mar 9:Utilities: Testing, Methods basics, Javadoc
Wed Mar 11:Utilities: Method overloading, preconditions versus validation, UML class diagram
Fri Mar 13:Classes: Immutable classes, this, toString
Fri Mar 13:PhoneNumber API
Mon Mar 16:Classes: Immutable classes, constructors, equals
Wed Mar 18:Classes: Mutable classes
Wed Mar 18:Vector2d API
Fri Mar 20:Classes: hashCode(), compareTo(); Mixing Static and Non-static features
Mon Mar 23:Mixing Static and Non-static features: Singleton; PEx01
Wed Mar 25:Mixing Static and Non-static features: Multiton, static factory methods
Fri Mar 27:Aggregation and Composition: Aggregation, the Card class
Mon Mar 30:Aggregation and Composition: Composition, the Deck class; PEx02 highlights
Fri Apr 3:Aggregation and Composition: Composition and defensive copying
Mon Apr 6:Aggregation and Composition: Composition and defensive copying slides duplicated because of fire alarm on Friday.
Wed Apr 8:Aggregation and Composition: Privacy leaks; Collections and Arrays
Mon Apr 13:Collections and Arrays: Array Iterators
Wed Apr 15:Inheritance
Fri Apr 17:fire alarm
Mon Apr 20:Inheritance
Wed Apr 22:Inheritance: Preconditions, Postconditions, Exceptions
Fri Apr 24:Inheritance: Polymorphism and Absract Classes
Mon Apr 27:Inheritance: Static Members, Interfaces
Wed Apr 29:PEx03, PEx04, PEx05; Graphical User Interfaces
Mon May 4:Graphical User Interfaces: Calculator Application Model
Wed May 6:Graphical User Interfaces: Calculator Application View
Fri May 8:Graphical User Interfaces: Calculator Application Controller; Recursion
Mon May 11:Recursion: Examples and Proving Correctness
Wed May 13:Recursion: Merge Sort and Computational Complexity
Fri May 15:Recursion: Recursive Objects
Wed May 20:Recursion Review
Thu May 21:Complexity and GUI Review