CSE 341: Programming Languages
The University of Washington, Seattle, Winter 2012
Regular Meetings: Mondays, Wednesdays, and Fridays,
12:30-1:20 in EEB 037.
Tanimoto (Office Hours: Mondays and Fridays 2:30-3:30 in room CSE 638).
Email: t a n i m o t o (at) c s (dot) w a s h i n g t o n (dot) e d u
James Athapilly (Office Hours: Tuesdays 4:30-6:30, in the CSE 022 lab).
Email: j a m e s a t h (at) c s (dot) w a s h i n g t o n (dot) e d u
Keith Miller (Office Hours: Tuesdays 12:30-1:30 and Wednesdays at 2:30, in room CSE 218).
Email: m i l l e r k (at) c s (dot) w a s h i n g t o n (dot) e d u
Cody Schroeder (Office Hours: Thursdays 2:30-3:30, in room CSE 218).
Email: c o d y s (at) c s (dot) w a s h i n g t o n (dot) e d u
Welcome to CSE 341! This quarter,
we will be working with the following languages:
Python, Prolog, Scheme, and ML.
In addition, there will be a "language processing"
theme worked into some of the assignments.
The languages cover several paradigms, and they illustrate
a variety of design issues and features in programming languages.
We start with the Python programming language. Python
has been gaining popularity for a variety of different kinds
of programming, including rapid prototyping, scripting, scientific computation,
and language processing.
Many programmers like its simple syntax based in part on
indentation rather than the use of parentheses. Like the more
traditional language Lisp, Python provides good support
for list processing, functional programming,
automatic memory management, and interactive
The leading versions of Python at this time are 2.7, and 3.2. We will be primarily using Python 3.2
Note that versions 3.0, 3.1, and 3.2 are not backwards compatible with the 2.x versions.
High-quality Python tools are freely available on the World
Wide Web. Students taking CSE 341 do not need to have any prior
experience with Python.