Assignments



Home
Teaching
 
CS 2510 Fl '10
General
Readings
Syllabus
Assignments
Communication
Blog
Labs
Office Hours
Advice

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 problems in your electronic 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 lead to a larger program in about four weeks. You will build on the solution(s) from the previous week(s) as you go on.

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.

Projects: There will be (up to) three project assignments where you can apply what you learned. More information on these will come as we go along.

DUE DATES: Homework assignments must be submitted by 10:00 pm on Thursdays unless otherwise specified on the assignment page.

Turn in each assignment with a Java (or Scheme) comment at the top of the assignment. Something like:


            // Assignment: (number)
            // Names: (you and your partner)
            // NEU IDs: (last 4 digits)
                
If you omit this information you will get no credit for that homework.

Program style matters. Make your programs readable. Use indentations and always use purpose statements. Also, your programs should never exceeds 80 characters per line (especially in Java).

Week Assignments Due Date

Review HtDP: Loops, Accumulator style programs, World

9/16

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

9/23

Designing methods for containment, unions, mutually referential data.

9/30

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

10/7

Data integrity; Exceptions; Equality of Data; Methods as Objects

10/14

Function Objects. Refactoring.

10/21

Circular Data; Methods for Circular Data. Stateful Classes, Imperative Methods; Testing the effects; Abstracting over the datatype.

10/28

Designing to interfaces; Designing frameworks: Factory.

11/4

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

11/13

Stress Tests. Priority Queue. Graph Traversals.

11/22

Final Project

12/8

See previous week.

12/8

See previous week.

12/8

Last updated on Mon Nov 15 06:00:42 EST 2010Created with DrRacket