Lecture: Monday, Wednesday, Friday 12:30-1:20 CMU 120
Section AA: Thursday 12:30-1:20, EEB 105
Section AB: Thursday 1:30-2:20, EEB 105
Office Hours:
Dan Grossman, Allen Center 574, Thursdays 10:45-11:45 + appointments + try coming by (please visit!)
Sunjay Cauligi, Allen Center 002 (basement lab), Fridays 2:30-3:30
Eric Mullen, Allen Center 220, Thursdays 2:30-3:30
Cody Schroeder, Allen Center 218, Wednesdays 11:00-12:00
Rachel Sobel, Allen Center 022 (basement lab), Mondays 2:30-3:30
Sean Wu, Allen Center 220, Tuesdays 12:00-1:00
Course Email List (mandatory): You should receive email sent to the course mailing list regularly, roughly at least once a day. Any important announcements will be sent to this list.
Course staff:
    All staff: cse341-staff@cs.washington.edu 
    Instructor: Dan Grossman, djg and then at and then cs.washington.edu
    TA: Sunjay Cauligi sunjayc then at and then cs.washington.edu
    TA: Eric Mullen emullen then at and then cs.washington.edu
    TA: Cody Schroeder codys then at and then cs.washington.edu
    TA: Rachel Sobel rs then at and then cs.washington.edu
    TA: Sean Wu wujsean then at and then cs.washington.edu
Email sent to cse341-staff@cs.washington.edu will
  reach the instructor and all the TAs.  For questions multiple staff
  members can answer, we encourage you to use this email so that you
  get a quicker reply and the whole staff is aware of points of
  confusion.
Course Discussion Board (optional)
Anonymous Feedback (goes only to the instructor)
Material in the future naturally subject to change in terms of coverage or schedule
Homework 0: on-line survey worth 0 points, "due" Wednesday January 9
Midterm: Friday February 8, in class
  unsolved
  solved
Sample midterms:
   Fall 2011   unsolved   solved
   Spring 2011   unsolved   solved
   Spring 2008   unsolved   solved
   Winter 2008   unsolved   solved
Final: Thursday March 21, 8:30-10:20
  unsolved
  solved
Sample finals:
   Fall 2011   unsolved   solved
   Spring 2011   unsolved   solved
   Spring 2008   unsolved   solved
   Winter 2008   unsolved   solved
Instructions for SML and Emacs, which
is everything you need for the first half of the course.
 Videos showing the software installation on Windows
While the other materials on this page (lectures, sections, homeworks, installation instructions, videos) are designed to provide what you need for the course, the books/guides provide alternate explanations and additional details. We will not follow them closely, but you may still find them valuable. Suggestions for additional links are welcome.
 Elements of ML Programming, ML'97 Edition,
Jeffrey D. Ullman, 1998.
 Check the errata page to avoid bugs.
 Approximately Chapters 2, 3.1-3.4, 5.1-5.5 (skip 5.2.5, 5.3.4,
5.4.4), 6.1-6.2, 7.1, 8.2, 8.5.5 overlap with the course material.
The Racket Guide
 Approximately Chapters 1-4.9.1 (skip 2.4.1-2.4.3, 3.5-3.12, 4.4.3, 4.4.4, 4.6.5),
5.1, 5.2, 6.1-6.5 (skip 6.3), 16.1-16.1.4 overlap with the course material.  We might cover some of 7.1, 7.2, 15.1.
Programming Ruby 1.9: The Pragmatic Programmers' Guide (Facets of Ruby), Dave Thomas et al, 2009.
 Check the errata page to avoid bugs.
 Overlap with the course material is very roughly Chapter 1 through 9 except Chapter 7.
We will be using Ruby 1.9. While there are significant differences between 1.8 and 1.9 in the language, a 1.8 version of the book is still a fine resource if that's the one you happen to have.
In addition to the texts above, there are many useful online resources for the languages we are using. In particular, effective use of any language involves leveraging existing libraries, which requires more library documentation than any class should cover. There are also many tutorials and guides that you may find useful.
Additional SML resources:
  www.smlnj.org (links to many things, including the next three resources)
  user's guide
  standard-library documentation 
  tutorials, books, and documentation
Additional Racket resources:
  racket-lang.org, particularly the Documentation and Learning tabs
Additional Ruby resources:
  ruby-doc.org, including links for the library documentation and various books.  You can even buy the t-shirt.
  Ruby home page
  list
compiled by Stuart Reges for Spring 2010's CSE341, including lecture slides