Evaluation

Grade Categories

CategoryContribution
Homework Assignments (3)30%
Class participation5%
Project Proposal (1)15%
Project Milestone (1)20%
Final Exam30%
Total100%

Numerical grades will be converted to letter grades according to the following scale: 90%: A; 80%-90%: B; 70%-80%: C; 65%-70%: D; < 65%: F.

The lowest graded homework/project will not be dropped.

To calculate final grades, for each of the graded categories above (i.e., final exam) we will take the raw score given in the Grade tab and scale it to the points give above. E.g., if G is your final exam grade, and it is out of 40 raw points, the total number of final points is 0.25 * (G/40). 

Homeworks

There will be three homeworks. They will be made available in the Contents section, and you will be notified via the News widget on MyCourses.

You are not allowed to discuss assignments with anyone except CS tutors (but not the grader) and me. You are also not allowed to look up the answers to your assignments or at other people’s work, eavesdrop on other’s homework discussions, etc. You should submit only work that is completely your own and you should be able to explain all of your work to me.

Submit your assignments by uploading it to the appropriate MyCourses dropbox, as a tar.gz file.

All assignments must contain a pdf (Word documents, text files, etc. will not be accepted nor graded)  containing all answers to all problems, except for coding problems. For coding problems, the pdf document must contain the full instructions for running your code and an example for how to run it from the command line.

All code must be written in Python 3, unless otherwise noted. You are strongly encouraged to use the Anaconda distribution of Python. 

I will stop answering homework questions the day before they are due.

Projects

There will be two projects. These must be done in groups of 3-4. The same rules regarding sharing information apply here, except of course that may share and collaborate freely with your partner(s).

For both projects and homeworks your include your name (and, for projects, your partners’ name(s)) on all documents submitted (including source code). Source code should have comments at the beginning of each function describe what it does and describe each input and output.

Generic Rubric

When possible, I’ll post more specific rubrics, but this gives a sense of how the points allotted to each question will be allocated.

100-90%90-75%50-75%<50
Work complete and mostly error-free. Writing at professional level.Work mostly complete, but contains errors. Writing not at professional level.Quality or work inadequate, but evidence of effort. Sloppy writing. Code doesn’t work.Work incomplete, little evidence of effort. 

Disputing Your Grade

If you feel that an error was made in grading your assignment or exam, you have one week from the moment the graded work was handed back to dispute your grade. All grading issues should be taken up with me; do not discuss grading issues with graders or tutors!

To submit a work for regrade, send me an email with REGRADE [assignment name] as the topic (e.g., “REGRADE homework 3”). To help expedite the process, please attach all relevant material (such as the grader feedback). Then explain in the email why you think you deserve a regrade.  You may refer to the particular problem(s) in question and even provide in the grader feedback (e.g., by annotating the pdf if the feedback is itself an annotated version of your work, which is often the case) additional details where the problem appears. 

Academic Dishonesty

You should only submit work that is completely your own. Failure to do so counts as academic dishonesty and so does being the source of such work. Submitting work that is in large part not completely your own work is a flagrant violation of basic ethical behavior and will minimally be punished with failing the course.

Cyril Weerasooriya
Cyril Weerasooriya
PhD Student

My research interests include distributed robotics, mobile computing and programmable matter.