General | Syllabus | Homework
There will be 3-4 short written exercises.
There will be 3 programming assignments.
We will be using C++. The project files supplied with the assignments build under linux or Mac OS X (via the
makecommand from the Unix shell), and Microsoft Visual Studio 2005 (via a solution file).
Create a single archive (in
PUIDis your Princeton University ID and
Nis the assignment number, (e.g.
funk_cos526_assn1.00.zip) that contains the
PUID_cos526_assnNdirectory you have created as defined in the assignment description.
You should submit your archive via ftp to
ftp.cs.princeton.edu/incoming/cos526. Log in with user
anonymousand your email address as password. Windows, Mac OS and Linux come with a command line tool called
ftpthat you can use to submit your code. Use the
cdcommand to change to the directory
binarycommand to switch to binary file transmission mode (especially important under Windows) and the
put PUID_cos526_assnN.00.zipcommand to save your file.
Note that you cannot overwrite or modify a zip file once it has been uploaded. If you want to update your submission, please name it
UPLOADis the two-digit number of the upload attempt (i.e., 01, 02, 03, etc.). If you decide to submit late, name the file
PUID_cos526_assnN.late.zip, and submit exactly one file.
Assignments are due at 11:59PM on the due date, as determined by the file date of the file upload. Late assignments are marked down 1/5 of the full grade per day. Each student can use up to a total of seven "free late days" for exercises and assignments (not the final project) over the whole semester. Exceptions beyond these free days are rare -- they will be granted only for medical reasons, and only by the instructor.
The COS 526 collaboration policy is the same as that of Princeton's COS 126 and COS 217 courses ...
Programming in an individual creative process much like composition. You must reach your own understanding of the problem and discover a path to its solution. During this time, discussions with friends are encouraged. However, when the time comes to write code that solves the problem, such discussions are no longer appropriate - the program must be your own work. If you have a question about how to use some feature of C++, VisualStudio, etc., you can certainly ask your friends or the teaching assistants, but do not, under any circumstances, copy another person's program. Writing code for use by another or using someone else's code in any form is a violation of academic regulations. "Using someone else's code" includes using solutions or partial solutions to assignments provided by commercial web sites, instructors, preceptors, teaching assistants, friends, or students from any previous offering of this course or any other course.
You may, however, use any code from the COS 526 lectures, precepts, or course texts, providing that you explain what code you use, and cite its source in your "assignment#.html" file or in comments. For each assignment, you must also specifically describe whatever help (if any) that you received from others in your "assignment#.html" file, and write the names of any individuals with whom you collaborated. This includes help from friends, classmates, lab TAs, and COS 526 staff members.
You are responsible for keeping your solutions to the COS 526 programming assignments away from prying eyes. If someone else copies your program, we have no way to determine who's the owner and who's the copier; the Discipline Committee gets to decide. If you are working on a public cluster machine, be sure to delete your local source files and logout before leaving. You should also store all of your assignment files in a private directory. You can create a private directory using commands similar to these:% mkdir cos526 % chmod 700 cos526
If you have a question about what is allowed and what is not, please consult the professor.