Homework assignments will count for 62.5% of your grade. The exact portion of your course grade will be specified as part of each assignment. See below for details on homework submission.
Attendance and participation in lectures will count for 5% of your grade. See below for details on participation.
Each exam will count for 15% of your grade. There will be two exams. See below for details.
The final 2.5% of your grade will be based on a short in-class presentation you will give of one of your programs.
For most of the homework assignments there will be plenty of opportunity to add features for extra credit. This will generally be up to you. For example, if the homework assignment is to write a drawing program with lines and circles, you might also decide to add ellipses for extra credit.
Extra credit will be taken into account when assigning your final grade for the course.
Homeworks are due by noon 9am on the day indicated on the assignment. The course schedule also lists due dates. In the unlikely event of a discrepancy between the due date specified on the assignment and that listed in the schedule or communicated by any other means, the date on the assignment takes precedence.
The mode of submission for each assignment will be specified as part of the assignment. For example, you may be required to email a zipfile or tarball of your submission to the course staff.
You must always submit something by the due date and time. If what you have at that time is not yet complete, submit it anyway, and state clearly what you have and have not completed.
If you are unable to complete an assignment by the due date for a reason beyond your control (e.g. illness), you may request an extension. If such an extension is requested and granted prior to the original due date, the extended date will be treated as the due date for you.
If you submit an incomplete assignment, you may submit a revision or update at a later date, but no later than 1) the due date of the next assignment or 2) the last day of class, whichever comes first. Such late submissions may be eligible for partial credit at the discretion of the course staff on a case-by-case basis.
Come to class, sit in the front, and ask relevant questions. Turn off the ringer on all cellphones. Do not use cellphones. Do not text-message. Attending all the lectures for this course will likely take less than 3% of your waking hours each week. It will be worth it to you to pay attention.
We strongly recommend you do not use a laptop or other personal electronics during lecture. The only valid use for such a device is to take notes. We recommend using a pencil and paper instead.
Contact the course staff if you are unable to come to lecture. If your reason is excusable (e.g. illness), your absence will not be counted against your grade for participation.
The Northeastern University academic integrity policy applies to your work in this course.
Unless otherwise specified, you must work alone on each assignment. You may discuss the assignment with others, but you must acknowledge in writing any such substantive discussion (other than with the course staff).
With the exception of the supported programming environments and APIs specifically listed on the platforms page, you must explicitly specify any “third-party” code that you use in a README file included with your homework submission. Third-party code includes, but is not limited to, source and/or binary code that you may have found on the internet, in a book or other printed reference (other than the course text), or from any other person or location. Digital content not created by yourself, including image (e.g. JPEG) and 3D model files (e.g. VRML), is also considered third-party code. These definitions also apply to third-party code which you have modified.
Any third-party code you submit which is not documented as such will be considered plagiarism. It is not hard for us to find out whether the code you have submitted was taken from the internet.
Third-party code (and any modifications you have made to it) will not be considered for grading. Thus, if the assignment is, for example, to write code to rasterize a line segment, and you submit only code you found on the internet to do such, you will receive a grade of 0 for the assignment. Worse, if you do not document that you have used this third-party code, you will be cited for violation of the academic integrity policy.
What is the use of third-party code? You will never be required as part of an assignment to implement any feature which is not reasonable to write on your own. But for implementing extra credit features (though the extra credit will be based only on the code you wrote, not the third-party code), or for your own use, you may find it helpful to have the option. Loading video files and VRML models are two reasonable cases where third-party code may be useful.
If you are unsure whether your use of third-party code follows the above rules, contact the course staff for clarification before handing in your assignment.
Unless otherwise specified, exams in this course cover material from lecture and assigned readings. All material presented or assigned since the date of the previous exam (if any) may be included, unless explicitly specified to the contrary. You will be allowed to bring a single 8.5 by 11 inch double-sided sheet of notes to each exam, provided that the notes are in your own handwriting in pencil or ink (i.e. not photocopied or otherwise electronically produced).
You will be allowed to use any calculator you like in the exams. But they will be designed not to require calculators, and they will likely slow you down. Cellphones may be used as calculators but for no other function. No other electronic devices are allowed in exams.
Bring your own writing instruments to the exam. You do not need to bring paper; all work will be done on the exam itself, including scratch work.