Syllabus
The course syllabus is available online. The published syllabus always takes precedent over the contents of this web page unless otherwise noted.

Scale
The course will be graded on a standard 10 point scale:

  • A - 90-100
  • B - 80-89
  • C - 70-79
  • D - 60-69
  • F - 0-59

Weighting
The following represents weights for assignments and exams throughout the semester:

  • 20% - Midterm Exam
  • 30% - Final Exam
  • 30% - Projects
  • 20% - Homework

Policies
Class Participation - I do not take attendance in class; however participation in class is important to your success. Due to the number of languages covered in the course, much of the material presented in class is not in any text. You must come to class to be successful. Please ask questions and participate in class discussions. When assigning final grades, borderline cases will be decided based on class participation.

Grading Errors - If I have made an error in grading an exam or assignment, you have two weeks following the date the item is available to see me about correcting the problem. Note that this includes the final! After that time, your grade is set and will not be changed. I also request that you wait 24 hours after an exam is returned before coming to me with questions.

Curving - I may decide to curve final scores when the quarter is over. Whether I curve and how much I curve is at my discretion. I will never curve scores on an individual graded item.

Email - I encourage you to use email to contact me. I am logged in when I am in the building and check my mail frequently. Email is my preferred means of communication, thus I will frequently send email to your EECS account, so please check it regularly. I send official class information to only your EECS account.

Phone - Feel free to call me in my office at any time. I would prefer not to be called at home.

Office Hours - I will make every effort to be in my office during scheduled office hours. If there are exceptions, I will let you know as early as is possible. If you have a conflict with my office hours, please make an appointment. I try to have an open door policy; you are free to come by whenever you choose. If I am busy, I may ask that you make an appointment. My schedule is available from my homepage.

Cheating - Academic misconduct of any kind will automatically result in a 0 score on the homework, lab, project, or exam in question and your actions will be reported to the department chair. Your homework, exams and projects must be individually prepared unless otherwise noted. Posting your assignments to language discussion lists is considered academic misconduct. Automated mechanisms are available for checking the originality of source code. Please spend your time trying to solve assigned problems rather than trying to get around the system.

Excuses - Excusing a missed exam or assignment is left to the discretion of the instructor. Illness, family emergencies, and religious observances are examples of acceptable excuses. Computer down time, over sleeping, and social events are examples of unacceptable excuses. Please try to let me know of problems in advance when possible and be prepared to provide verification of your excuse.

Extensions - As a policy, I do not extend due dates of homework and projects. If I choose to do so, I will only announce the extension in class. If you hear an extension has been granted and I have not announced it in class, your information is incorrect.

Grade Reporting - Project and homework results will be sent you via email. If you are concerned about privacy, please send me a PGP (or GPG) public key and I send you encrypted email. If you feel the need to send me protected email, my public key is available on my website. If you’re not sure what all this means, it almost certainly does not apply to you.

Topics