Lectures and Precepts


Lecture attendance is mandatory. You are responsible for the materials presented in the lecture and precepts. Some of the content is not in the textbook. Students are expected to regularly check the course webpage, class schedule updates, lecture notes, programming assignments and other related course materials.

Grading


10% Participation
30% Final exam
60% Programming assignments

Assignment & Exam Policy


(Acknowledgment: many sentences from below are borrowed from Princeton COS 217 homepage since they apply to our course as well.)

Receiving help from others

Programming is 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 other people are permitted and encouraged. However, when the time comes to write code that solves the problem, such discussions (except with course staff members) are no longer appropriate: the code must be your own work. If you have a question about how to use some feature of C, Unix, etc., you certainly can ask your friends or the teaching assistants, but specific questions about code you have written must be treated more carefully.

For each assignment you must specifically state, in your readme file, the names of any individuals from whom you received help, and the nature of the help that you received. That includes help from friends, classmates, lab TAs, course staff members, etc.

Do not, under any circumstances, copy another person's code. Incorporating someone else's code into your code in any form is a violation of academic regulations. This includes adapting solutions or partial solutions to assignments from any offering of this course or any other course. There is one exception to the code-sharing rule: You may adapt code from the EE 309 course materials provided that you explain what code you use, and cite its source in your readme file.

Copying and transforming someone else's code (by rearranging independent code, renaming variables, rewording comments, etc.) is plagiarism. Some inexperienced programmers have the misconception that detecting such plagiarism is difficult. Actually, detecting such plagiarism is quite easy. Not only does such plagiarism quickly identify itself during the grading process, but also we can (and do) use software packages, such as Alex Aiken's renowned MOSS software, for automated help.

If a student is confirmed to commit plagiarism on an assignment, then the standard penalty is automatic failure (F) of the EE 309 course.

Providing help to others

Abetting plagiarism or unauthorized collaboration by "sharing" your code is prohibited. Sharing code in digital form is an especially egregious violation. Do not e-mail your code or make your code available to anyone. Do not share your code with anyone even after the due date/time of the assignment.

You are responsible for keeping your solutions to the EE 309 programming assignments away from prying eyes. If someone else copies your code, we have no way to determine who is the owner and who is the copier. If you are working on a public lab computer, make sure that you do not leave the computer unattended, and that you delete your local files and logout before leaving. You should store all of your assignment files in a private directory. You can create a private directory using commands similar to these:

mkdir ee309
chmod 700 ee309

Manual Grading of the assignments

Once submitted no algorithmic change to the code is allowed and you cannot propose any changes to the submitted code.

Exam Conduct

If we find a student commits inappropriate conduct during an in-class exam, the standard penalty is automatic failure (F) of the EE 309 course.