Homework


Homework assignments will consist of programming projects that help you build your problem solving skills. You can download the assignments here or retrieve them during lecture or in Carpenter Lab, if copies remain.

 
Assignment  Due Date  TA       

Other Downloads              

Grading Guide Solutions
P1 T 9/10 Ashley Lin TokenReader.java P1 Grading Guide  
P2 R 9/19 Wai Fu Fung TokenReader.java
GraphicsUtil.java
PolygonFrame.java
P2 Grading Guide P2Step1.java P2Step2.java P2Step3.java textoutput.txt outputgraphical.bmp
P3 (Word)
P3 (html)
R 10/3 Wai Fu Fung person.java
Ooops: The file originally accessible here was the solution, not the code template given in the problem writeup. As you know, this assignment is the same as last Spring's assignment, where the solution continues to be available.
P3 Grading Guide Program3.java Person.java
P4 (Word)
P4 (html)
R 10/17 Alex Ksikes   P4 Grading Guide Hare.java
P5 (Word) Cancelled; to be used as exercise in Section        
P6 (Word) R 11/14 Ashley Lin mars.java
robot.java
P6 Grading Guide p6solution.java
P7 R 12/5 Alex Ksikes UnionFind.java
Program3.java
Person.java
P7 Grading Guide  

Programming Tips

Project Grading
Each programming project will receive two distinct grades, one for correctness and the other for style.  Each grade will either be a 0, 4, or 5: 

An assignment does not have to be perfect to receive a grade of 5.  A substantive attempt to complete the program will receive a 4 even if the program is severely flawed, so be sure to turn in what you have even if it doesn't work.

If you work with a partner, both you and your partner will receive the same correctness and style grades for that assignment.  See below for information about having partners.

Warning
Since projects "count" for a relatively small percentage of the total score, some students are tempted to skip them (or let their partners do most of the work) and plan to learn the material by reading the sample solutions.  This process does not work for most people. This material is learned by actively doing the projects, not by passively watching a partner or reading the sample solutions.  Thus, failure to actively do the assignments is likely to hurt your grade.

Philosophy
We expect projects to teach you how to solve more complex/larger problems. We grade mostly for feedback to let you know how you are doing. To reduce stress, projects are worth a relatively "small" percentage of the course score. Plus, we will not require you to do all the projects perfectly to get a perfect project score (see Grading, above).  Thus, as long as you make a sincere effort on most of the projects, you should get a good project score.

Style and Commentary
Your comments and overall style will greatly affect your style score.
For information, check this out.

Submission Rules
You have two options for submitting your work:

  • Submit homework in lecture on the due date. You may submit in either lecture, but no later!
  • Submit homework in Carpenter Lab for early submissions only. You must give the project to a consultant, personally!
  • We do not accept late submissions.

    For each project you must do the following:

    Repeat: Submit work as hardcopy, not as email or on disk!

    Picking Up Graded Projects
    Where's your work?

  • Projects are usually graded in about 1 week.
  • We return graded assignments in section.
  • You may retrieve unclaimed assignments from the consultants at Carpenter Lab at the end of the week in which they were returned in sections.
  • Look here if you wish to submit a regrade.

    Partners
    We encourage you to work with a partner on the programming projects. 
    If you work with a partner, you must adhere to the following rules:

    If you have any questions, please do not hesitate to ask the staff.

    Academic Integrity
    Respect academic integrity! Please review the Code and notes for CS100 here.