Steven L Tanimoto
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.
In Winter 2012, the class introduces the following languages: Python (version 3.2), Prolog, Scheme, and ML.
Student learning goals
be aware of the breadth of programming language styles that have been developed.
be able to quickly learn a new language.
understand language features apart from their embodiment in particular languages.
utilize alternative programming styles and languages in different application areas.
use a variety of development tools.
General method of instruction
lectures and assignments
satisfactory completion of CSE 143, and acceptance into either the CS or CE major.
Class assignments and grading
most assignments involve designing, implementing and testing small and medium-sized computer programs in the languages under study.
code correctness, code style, promptness, exam performance, and, to a lesser extent, class participation.