Programming Assignments

ICS-31: Introduction to Programming


Procedures

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 well-prior to the due date-not at the last minute- 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 programs. I recommend finding a partner in your lab, but there is also a MessageBoard Forum for this task.

If you 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 receive a substantial point deduction.

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. Students should plan to have finished their current programs by the day before when the next program is started, so they can work on the new program during that lab; 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 still results in just 2 extra points: the maximum you can get for an early turn-in.

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; it should appear as follows

# 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:
#   primarily that both partners worked on all parts together.
If you do not know what the terms cooperatively and/or rules for pair programming mean, please read about Pair Programming before starting this assignment.

If the names do not appear at the top of all your submissions, there will be a 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). For assignments with multiple parts, please turn in each part as you finish it, so that I can accurately assess the progress of the class as a whole during this assignment. If you discover something wrong with your code after you submit it, you can always correct the code, remove the code, and resubmit the code.

No Retrieval

Students cannot retrieve a submission from Checkmate; so, you are responsible for archiving your work so that you have a copy of what you submit. Also, ensure that you turn in the correct (most up to date) version of your code.

Programming Assignments

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

ProgramAssignedDueDescriptionPairing?
#0 4/34/10 Computing Infrastructure Prohibited
#1 4/104/22 Simple Scripts Required
#2 4/224/24 The Debug Perspective in Eclipse Prohibited
#3 4/245/1 Intermediate Scripts Required
#4 5/15/13 Functions and Control Structures Required
#5 5/135/22 List Processing Recommended
#6 5/226/4 Dictionary and Set Processing Recommended