image University of Washington Computer Science & Engineering
  CSE 341Sp '07:  Programming Languages
  CSE Home   About Us    Search    Contact Info 

Administrative
 Schedule & Reading
 Midterm Review (1-up4-up)
 Final Review (1-up4-up)
Email
 Class List Archive
 E-mail Course Staff
Assignments
 HW #1
      HW #1 Examples
 HW #2
 HW #3
      HW #3 Starter Code
 HW #4
 HW #5
Lecture Notes
 1: Introduction (1-up4-upcode )
 2: Functions, Pairs (1-up4-upcode )
 3: Lists, Let, Option (1-up4-upcode )
 4: Datatypes (1-up4-upcode )
 5: Types; Patterns (1-up4-upcode )
 6: Tail Recursion (1-up4-up)
 7: Deep Patterns (1-up4-upcode )
 8: Higher Order Funcs (1-up4-upcode )
 9: Closures, Fold, ... (1-up4-upcode )
 10: Mutual Recursion (1-up4-upcode )
 11: Equivalence (1-up4-up)
 12: Type Inference (1-up4-upcode )
 13: Objects; Modules (1-up4-upcode )
 14: (Misc; no slides)
 15: Midterm Review (1-up4-up)
 16: Scheme Intro (1-up4-upcode )
 17: Let; Delayed Eval (1-up4-upcode )
 18: Memoization (1-up4-upcode )
 19: Streams (1-up4-upcode )
 20: Macros (1-up4-upcode )
 24: Ruby
 25: Ruby
 26: Ruby
 29: Garbage Collection (1-up4-upFAQ )
Course Tools
 Course Dictionary
 Unix and Emacs Guide
 Emacs Hints
  SML
      SML REPL FAQ
      SML on Your Own
  Scheme
      Dr. Scheme
      R5RS (the Standard)
  Ruby
      ruby-lang.org
      ruby-doc.org
      Ruby in 20 minutes
      Ruby QuickRef
      API documentation
      Programming Ruby, 1st edition
   

Lecture:  MGH 241 (schematic) MWF 9:30- 10:20 
 
Office Hours Phone
Instructor:  Larry Ruzzo, ruzzo at cs  MW 12:00- 1:00  CSE 554  543-6298
TAs:  Ethan Phelps-Goodman, ethanpg at cs  TuTh 2:00- 3:00  CSE 624 
  Jason Kivlighn, jkivligh at cs  WTh 3:30- 4:30  CSE 002 (Lab) 

Course Email: cse341a_sp07@u.washington.edu. Use this list to ask and/or answer questions about homework, lectures, etc. The instructor and TAs are subscribed to this list. All messages are automatically archived.  Questions not of general interest may be directed to the instructor and/or TAs. You can (probably should) change your subscription options.

Catalog Description: Basic concepts of programming languages, including abstraction mechanisms, types, and scoping. Detailed study of several different programming paradigms, such as functional, object-oriented, and logic programming. No credit if CSE 413 has been taken.

Prerequisite: CSE 143

Credits: 4

Grading: Homework (programming), Midterm, Final. Overall weights very roughly: HW 55%, midterm 15%, final 30%.

Late Policy: Papers and/or electronic turnins due at start of class on the due date. Barring major emergencies, the deadline is strict. Electronic turnins will be disabled promptly. However, you may have 3 "late days", total, spread over all assignments. (In 24-hour chunks, i.e., turnin one minute late uses 1 of your 3 days. I'd suggest you hoard them in case you really get stuck late in the quarter. After the normal electronic turnin shuts off, you can use the late electronic turnin area.)

Extra Credit: Some assignments will include "extra credit" sections. These will enrich your understanding of the material, but at a low points per hour ratio. Do them for the glory, not the points, and don't even think about starting the extra credit portion until the main problems are complete.

Collaboration: Homeworks are all individual, not group, exercises. Discussing them with others is fine, but you must produce your own homework solutions. Follow the "Gilligan's Island Rule": if you discuss the assignment with someone else, don't keep any notes (paper or electronic) from the discussion, then go watch 30+ minutes of mind-numbing TV (Gilligan's Island reruns especially recommended) before you continue work on the homework by yourself. If in any doubt about whether your activities cross allowable boundaries, tell us before, not after, you turn in your assignment. See also the UW CSE Academic Misconduct Policy, and the links there.

Textbook:


Portions of the CSE 341 Web may be reprinted or adapted for academic nonprofit purposes, providing the source is accurately quoted and duly credited. The CSE 341 Web: © 1993-2007, Department of Computer Science and Engineering, University of Washington.


CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX