Lecture: Monday, Wednesday, Friday 12:30-1:20 CSE2 G01
Section AA: Thursday 12:30-1:20, MGH 234 (Porter)
Section AB: Thursday 1:30-2:20, MGH 254 (Josh)
Section AC: Thursday 2:30-3:20, THO 202 (Taylor, Yuma)
Section AD: Thursday 11:30-12:20, ECE 042
(Lanhao, Alex)
Office Hours:
Yuma: Mondays 10:00-11:00am, CSE2 151
Lanhao: Mondays 3:30-4:30pm, CSE2 151
Taylor: Tuesdays 12:30-1:30pm, CSE2 150
Josh: Tuesdays 3:00-4:00pm, CSE2 150
Dan: Wednesdays 11:00am-12:00pm, CSE2 309
Porter: Thursdays 5:30-7:30pm, CSE2 150
Alex: Fridays 10:30am-12:00pm, CSE2 151
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.
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 staff:
All staff: cse341-staff@cs.washington.edu
Instructor: Dan Grossman, djg@cs.uw.edu (not @u...)
TA: Taylor Blau, ttaylorr@cs.uw.edu
TA: Porter Jones, pbjones@cs.uw.edu
TA: Josh Pollock, joshpoll@cs.uw.edu
TA: Yuma Tou, yumatou@cs.uw.edu
TA: Lanhao (Johnny) Wu, lanhaw@uw.edu
TA: Dongkai (Alex) Xu, sharpnel@cs.uw.edu
Course Discussion Board (optional but encouraged)
For the discussion board, if you are registered in the course, then you should be a member using your UW Google Apps identity (@uw, not @cs).
Material in the future naturally subject to change in terms of coverage or schedule
Turn-In Instructions: The Turn-In Form links take you to a Google Form where you enter your name and upload your files. These forms are restricted to UW accounts and you will need to log in to UW Google Apps identity (@uw, not @cs). These are different from any personal Google account you have and different from your UW CSE Google account. If you have not yet activated UW G Suite, you will need to do so first. If you are not signed into to your UW account you may see a page like this. To fix, go to google.com and click on the circle in the upper right to add/switch account.
Midterm: Friday May 3, in class unsolved solved
Sample midterms:
Fall 2018 unsolved solved
Fall 2017 unsolved solved
Spring 2017 unsolved solved
Spring 2016 unsolved solved
Spring 2013 unsolved solved
Winter 2013 unsolved solved
Fall 2011 unsolved solved
Spring 2008 unsolved solved
Winter 2008 unsolved solved
Final Exam: Thursday June 13, 8:30-10:20AM unsolved solved
Sample finals:
Fall 2018 unsolved solved
Fall 2017 unsolved solved
Spring 2017 unsolved solved
Spring 2016 unsolved solved
Spring 2013 unsolved solved
Winter 2013 unsolved solved
Fall 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.
The course materials on this page (lectures, sections, homeworks, installation instructions, videos) are designed to provide what you need for the course except for some details that you can look up in standard-library documentation or users' guides for particular languages. Links for such information is below. We also provide links to useful books and tutorials that provide alternate explanations. We will not follow any textbooks closely, but you may still find them useful. Suggestions for additional links are welcome.
SML resources:
www.smlnj.org (links to many things, including the next three resources)
user's guide
standard-library documentation
tutorials, books, and documentation
Elements of ML Programming, ML'97 Edition,
Jeffrey D. Ullman, 1998.
This is a textbook that takes a different approach but does cover some of the same material.
Check the errata page to avoid bugs.
Racket resources:
The Racket Guide
racket-lang.org, particularly the Docs button
Ruby resources:
Programming Ruby 1.9 & 2.0: The Pragmatic Programmers' Guide, Dave Thomas et al.
Check the errata page to avoid bugs.
ruby-doc.org
Ruby home page