Programming Assignments

ICS-31: Introduction to Programming


Procedures

Programming assignments are typically due one week after they are assigned, at 11:30pm, typically on a Thursday night (but look for exceptions). To turn in programs, and verify the submission, use the Checkmate Homework Dropoff system: it is also available on the standard frame index on the course website: it uses UCInetID Secure Web Login. You receive NO POINTS for late programs, unless you have discussed the matter with me and gotten my official permission (typically, granted prior to the due date, always via email and not just orally; contact me as soon as possible).

IN ALL CASES, you must drop off (on time) whatever part of the program you have written, if you are to receive any partial credit for a submission (either on time or late with permission); if you drop off no files, I must assume that you have done no work on the assignment (which will result in a grade of 0 for it).

Pair Programming

We will use pair programming on most assignments (either required or recommended, although it is sometimes prohibited); it is only on these assignments that students can closely collaborate with their partners, turning in one copy of a jointly written program. See Pair Programming for details about pair programming, and the right and wrong ways to do it. There is a tremendous amount to be gained by both partners, if they pair program the right way.

You can keep the same partner for multiple assignments or switch. Try to find a partner in your lab who has approximately your skill level and study habits (e.g., working evening vs. weekends, work ethic to submit programs early); try to find someone who lives near you (or with whom you can easily meet outside lab) because I expect partners will need time outside labs to finish the prgrams.

If you are having difficulty finding a partner, or believe that your schedule or life-circumstances disallow the ability to work in a pair, contact me immediately by email. Without making prior arrangments with me, individual students submitting a program when pairing is required will have their grade reduced substantially.

Starting/Finishing Programs

Please read each assignment completely and carefully before starting it. I suggest that you print and then read it, marking relevant material with a highlighter (details that you might forget by the end of an assignment). Then, re-read the assignment before submitting your work. Programs are typically assigned on Thursday and due the following Thursday; students should plan to have finished their current programs on Wednesday, so they can start on the new programs in lab on Thursday; see below for how this leads to extra credit.

Extra Points for Submitting Early

If you drop off your program early, you will receive extra points (1 point if you submit it 24 hours early, 2 points if you submit it 48 hours early). Since each program is worth 50 points, you can raise your grade on a program by 4% (almost half a letter grade) by turning it in two days early. Note that turning in a program more than two days early results in just 2 extra points: the maximum you can get).

Identifying Submissions

Only ONE STUDENT should submit the assignment (all parts of it). If students work in pairs, BOTH NAMES and their lab numbers must appear in a comment at the top of each submitted program; e.g.,

# Romeo Montague, Lab 1
# Juliet Capulet, Lab 1
# We certify that we worked cooperatively on this programming
#   assignment, according to the rules for pair programming
If this information does not appear at the top of your submission, there will be a 1 point deduction.

Multiple Submissions

Checkmate allows students to remove a submission and then resubmit. We will grade only your final submission (and extra credit points are based on only that submission). I encourage students to finish their programs as early as possible and submit them when they finish; doing so helps me track the progress of all the students in the class. If you discover something wrong with your program after that, you can always correct the program, remove and resubmit it.

No Retrieval

Student cannot retrieve a submission from Checkmate; so, you are responsible for archiving your work so that you have a copy of what you submit.

Programming Assignments

I will turn text into links below on the assigned date.

ProgramAssignedDueDescriptionPairing?
#0 4/44/11 Computing Infrastructure Prohibited
#1 4/114/18 Simple Scripts Required
#2 4/234/25 The Debug Perspective in Eclipse Prohibited
#3 4/255/2 Intermediate Scripts Required
#4 5/25/14 Functions and Control Structures Required
#5 5/145/23 List Processing Recommended
#6 5/236/4 Dictionary and Set Processing Recommended