Home
Teaching
 
CS U213 Fl '07
General
Texts
Syllabus
Assignments
Communication
Labs
Ofc Hrs
Announcements
Advice

Assignments

The exercises will help you to master the basic concepts for the given week. Each assignment consists of an etude and the main part.

Work out the etudes on your own before you meet with your partner. When you meet, compare your solutions and discuss any problems you encountered. If you are unable to complete the etudes by Sunday, ask questions in class, or see someone during their office hours. Etudes are designed to give you a practice with the basic skills you need to understand for each week. Keep your solutions in your portfolio, but do not hand them in. We will check them when we check your portfolio.

Work on the main part of the assignment with your partner. Hand in one joint program.

DUE DATES: Homework assignments must be submitted by 10:00 pm on Wednesday unless otherwise specified.

Turn in each assignment with a Java comment on the top of the assignment that specifies the following pieces of information:

  • Assignment: (number)
  • Name:
  • ID: (last 4 digits only)
  • Name:
  • ID:
Omission of this information leads to immediate loss of all credit for the homework.

WeekAssignmentsDue Date
0     

Review HtDP: Loops, Accumulator style programs, World

9/13
1     

Data definitions and class diagrams to represent classes; containment, union, mutual reference

9/20
2     

Designing methods for simple classes including composition and conditional; methods for containment, methods for self-referential and mutually referential data

9/27
3     

Designing methods, Using libraries: The World teachpack; Abstracting classes: lifting fields, lifting methods, creating a super class, a union. Deriving classes

10/4
4     

Eclipse IDE; Project Management; Applications vs. Applets

10/11
5     

Data integrity; Circular Data; Exceptions; Equality of Circular Data

10/18
6     

Stateful Classes, Imperative Methods; Abstract Data Types. Equality. Testing the effects; Imperative World

10/25
7     

Abstracting over the data type, functional behavior, traversals. Singleton pattern; Inner classes

11/1
8     

Designing programs with iterators: recursion vs. iteration; ArrayList; Java loops

11/8
9     

Implementing ADTs; Using libraries (Maps, hash tables, trees, priority queues); Stress tests: Sorting out Sorting; JUnit

11/15
10     

Project: Graph traversals: DFS, BFS, shortest path, minimum spanning tree -- optimizing the performance, designing reusable code

12/3
11     

Work on the Project. Portfolio Review

12/3

last updated on Wed Aug 29 15:46:45 EDT 2007generated with PLT Scheme