CSE 413 16au Programming Languages & Implementation: Information and Syllabus

Logistics and Contact Information: See the main course web site www.cs.washington.edu/413/ for information about the course, including meeting times, staff, office hours, communications, etc.

Goals: Expand our notions of programming, learn some basic concepts of programming languages, and gain insight into how languages are implemented.  The main focus of the course will be to study functional and object-oriented programming using Racket (a dialect of Scheme) and Ruby, language implementation techniques, and other languages, as time allows.

Prerequisite: CSE 373 (data structures and algorithms)

Grading and Exams: Your overall grade will be determined as follows (subject to change as necessary, but substantial changes to the numbers below are not expected):

  • homework 55%
  • midterm 15%
  • final 25%
  • other 5% (effort, contribution to class, etc.)
If you discover an error in the grading of an assignment or test, please bring it to our attention within one week after the material is first returned.

Most of the assignments will consist of fairly short programming problems. There will be one or two larger programs, particularly towards the end of the course. There also will be shorter written problems on some of the assignments. Assignments are not always weighed equally because some of them are of different length and sophistication. The exact weighting is to-be-determined and not likely to be posted in advance (we need to see how the course goes).

Late Policy: Deadlines will be given with each assignment. These deadlines are strict. It is exceedingly unlikely that skipping class or being late to class because of homework is in your best interests. For the entire quarter, you may have four "late days". You are strongly advised to save them for emergencies. You may not use more than two for the same assignment. They must be used in 24-hour (integer) chunks. This policy may not be the same as in your other classes. You are responsible for understanding it if you choose to submit late work.

Incompletes may not be given simply because assignments were not completed on time.

Academic Integrity: Any attempt to misrepresent the work you submit will be dealt with via the appropriate University mechanisms, and your instructor will make every attempt to ensure the harshest allowable penalty. The guidelines for this course and more information about academic integrity are in a separate document. You are responsible for knowing the information in that document.

Texts: There are no required books for the course. There are good resources available online and we will provide links to them. See the various resource pages linked off the main course web page.

Computing Resources: All of the software we will use is freely available over the web and we expect most students will want to install it on their own machines. We also have access to the College of Arts & Sciences Instructional Computing Lab. and all of the software should be installed there.