Computer Science 340
It is strongly encouraged to attend the lectures. Your lecture attendance and participation are important to your success in the course.
Some of the material covered in lectures may not be covered in the textbooks or precepts. Some exam questions may reward your lecture attendance.
It is strongly encouraged to attend the precepts. Your precept attendance and participation are important to your success in the course.
Some of the material covered in precepts may not be covered in the textbooks or lectures.
You should attend your precept, that is, the precept for which you are registered in Princeton's TigerHub system.
Generally it is not acceptable to attend another precept instead of your precept. However, it is acceptable to attend another precept instead of your precept occasionally if a conflict with your precept arises (indeed you should do so). In that case, as soon as you become aware of the conflict, send e-mail to your Preceptor and the other Preceptor. The other Preceptor thereby will know to duplicate handouts for you, make sure you have a seat, etc. Note that this mechanism is intended to address occasional conflicts; it does not provide license to attend precepts other than your precept on a regular basis.
Generally it is not acceptable to attend another precept in addition to your precept. After all, if even a small fraction of the course's students did that routinely, then some precepts would be very large (or even overflow) routinely. Precepts containing an inordinate number of students are less effective than those containing a reasonable number. However, it could be acceptable to attend another precept in addition to your own occasionally. In that case, send e-mail to your Preceptor and the other Preceptor the day before the precept, asking permission to attend. The Preceptors then will make the decision. If the decision is "yes," then the other Preceptor will duplicate handouts for you, make sure you have a seat, etc.
These are the course's policies concerning electronic communication:
If you have a question that you can express without revealing any parts of your assignment solution, then you may post it to the course's Piazza account. One of the course's instructors will respond as soon as possible. Other students also are welcome to respond if and only if they can do so without revealing any of their assignment solutions.
If you have a question that you cannot express without revealing any part of your assignment solution, then you may not post it to Piazza as an open question to everyone. Instead you may e-mail it to your Preceptor, or you may post a private question to your Preceptor on Piazza. See the course's General Information web page for the e-mail address of your Preceptor.
If your Preceptor does not answer your question in a reasonable amount of time, then you may e-mail your question to all of the course's instructors at firstname.lastname@example.org. Any e-mail sent to that address will be received only by the course's Preceptors, not by students. One of the course's Preceptors will answer your question as soon as possible. You may not e-mail questions directly to a Preceptor other than your own.
In the context of electronic communication, the phrase "any part of your assignment solution" includes:
The products that you create for the assignment, that is, your .tex code files (including parts of it), pdf files containing parts or the whole solution of a problem included in an assignment, your notes taken for the purpose of completing the assignment, etc. You may not show any of the products that you create for the assignment, modified versions of them, or any parts of them, openly (for instance on a post where other students have access to) on Piazza.
Descriptions of those products in the form of natural language prose, etc. You may not describe the solutions that you write for the assignment, or any parts of them, openly (for instance on a post where other students have access to) on Piazza.
Decisions that you make in the process of creating the solutions to assignments, that is, your decisions about how to express your the logic of your solution or a part of it. You may not describe such decisions or suggest this kind of decisions openly (for instance on a post where other students have access to) on Piazza.
You may collaborate in groups of at most three students to solve assignment problems. After discussing with your collaborators, you must type your own solutions. You must write all the names of your collaborators on your solutions. You are not allowed to discuss your solutions outside of your group. However, you may discuss your solutions with the Professor of the course, any of the Preceptors of the course and the Lab TAs; see the course's General Information web page for information on the teaching staff of the course. Any notes taken during your discussions should be discarded after the discussions are over and before you write your solution. After you finished your discussions, you should write your own solutions in isolation. Sitting together (with your group members or other students of the course) and writing/typing solutions is strictly prohibited.
You may consult the course reading material (distributed only in this semester's course Piazza account) to solve assignment problems. If you used any external sources to solve assignment problems (e.g. other textbooks, wikipedia, material from other courses) you must clearly mention them at the beginning of your solution. You may not consult material posted in previous semesters' course Piazza accounts.
Sharing your assignment solutions with another student is an especially egregious violation of course policies. Do not give hard copy of your work to anyone. Do not e-mail your work to anyone. Do not make your work available to anyone via the web.
A part of each assignment may be designated as a no-collaboration part, in which case you may only discuss the problem with course staff.
There will be several problems (typically four) in each assingment. You must type the solution to each problem on a separate file. You may use the provided LaTeX templates to type in your solutions. Write your name, assignment number, and names of your collaborators on each solution.
If you took COS 340 (or part of it) during a previous semester, then you may use your work on assignments from that previous semester. However:
You may not look at the feedback on your old graded reports.
You may not look at any solutions of assignments you may have received while enrolled in a previous semester.
You may not use your work on an assignment from a previous semester if you violated course policies or University policies on that assignment, as determined by the course's instructors or the Committee on Discipline.
Homework assignments are typically due on Wednesdays by midnight. You must submit all your solutions electronically using the link to the CS dropbox service posted in the relevant Piazza thread.
You may use up to 4 late days throughout the semester, but not more than 2 days on a given assignment. On each instance, you may only use an integer number of late days. Your late days' usage up to and including the current assingment is posted on Blackboard after you submit your solutions to the problems of that assignment.
Outside of this policy, no late submissions will be accepted unless there are extraordinary circumstances involved. We will grant extensions only in the case of illness (with a doctor's note) or other extraordinary circumstances. If illness or other extraordinary circumstances will cause you to submit an assignment late, then you should discuss the matter with your preceptor as soon as possible. Please plan your work on the assignments so that travel, religious holidays, etc. do not cause you to submit it late. Heavy workload is not an extraordinary circumstance.
Your final grade will be weighted as follows:
Component Weight Assignments 50% Midterm Exam 20% Final Exam 30%
There will be a total of approximately 36 assignment problems throughout the semester (each assignment typically contains 4 problems). Among all homework assignments, four problems (the ones with the lowest scores) will be dropped and will not be used in the final grade calculation.
Some assignments may feature a bonus problem. Solving bonus problems will not add to the assignment score, but will be taken into account when deciding on the final grades for the course. Bonus problems will typically not be assigned partial credit.