Home
Teaching
 
CS 2510 Sp '11
General
Readings
Syllabus
Assignments
Communication
Labs
Lectures
HW Handin
Office Hours
Advice

Assignments

Etudes: These exercises will help you to master the basic concepts for the given week.

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 and concepts you need to understand for each week.

Include the solution to the required problems in your portfolio. We will check them when we check your portfolio. The optional problems provide further practice of the same concepts, if you need additional practice.

Main part: assignments and projects: Work with your partner and hand in one joint program.

Assignments: These are weekly programming assignments that allow you to apply the concepts covered in the lectures on concrete problems. Some of the problems will build on the solution(s) from the previous week(s). Make sure that even if you do not finish the assignment, you work out the solution later.

Work on the assignment with your partner. If you have done the etudes and you follow the design recipe carefully, the assignments should be straightforward.

Project: There will be a final project assignment where you can apply what you learned to a project of your choice. Make sure you follow the instructions carefully. Just writing a program that works does not guarantee even a passing grade for the project!

Work on the project with your partner. Here you have the opportunity to be creative and engage in the design process from the beginning.

DUE DATES: Homework assignments must be submitted by 10:00 pm on Tuesday 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.

Program style matters. Make your programs readable. Include white space, use indentations, and, of course, do not forget the purpose statements. Additionally, make sure your program never exceeds 80 characters per line.

WeekAssignmentsDue Date
1     

Review HtDP: Loops, Accumulator style programs

1/18
2     

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

1/25
3     

Methods for classes. Designing methods for containment, unions, mutually referential data.

2/1
4     

Abstracting classes: lifting fields, lifting methods, creating a super class, a union. Using libraries: The World Teachpack.

2/9
5     

Methods as Objects

2/15
6     

Data integrity; Exceptions; Equality of Data; Circular Data; Methods for Circular Data.

2/22
7     

Assignment and changes in the World. Stateful Classes, Imperative Methods; Testing the effects; Abstracting over the datatype.

3/8
8     

Designing to interfaces; Working with direct access data structures. Equality.

3/15
9     

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

3/22
10     

Using libraries (Maps, hash tables, trees, priority queues); JUnit

3/29
11     

Sorting algorithms: designing stress tests; Graph Algorithms

4/5
12     

Stress tests: Sorting out Sorting.

4/8
13     

Final Project

4/20
14     

Final Project

4/20

last updated on Wed May 11 11:12:29 EDT 2011generated with DrRacket