|
|
|
|
- Course Goals
- Expand our notions of programming, learn some basic concepts of programming languages, and gain insight into how languages are implemented. The course will study functional and object-oriented programming using the languages Scheme and Java. The final project is to implement a scanner/parser for a small language.
- Prerequisites
- CSE 373 (data structures and algorithms).
- Catalog and Time Schedule
- UW Catalog entry and the UW Time Schedule entry for CSE 413.
- Course Format
- The class meets three times a week for lectures. On your own time, you will have homework to do, mostly computer programs to design and debug.
You will be working on homework more or less all the time, with frequent,
inflexible deadlines. You will need to use the Internet to get and turn in assignments and to keep in touch with the course.
- Textbooks
- There is no required textbook for this course. However, I do recommend the following books. All of these books have been placed on 4-hour reserve at the Engineering Library for your use.
- Structure and Interpretation of Computer Programs, Abelson,
Sussman, Sussman. We will use this in the first part of the course as we learn the Scheme language.
The entire text of the book is available online from the web site.
- CoreJava, Volume 1, Fundamentals, Horstmann and Cornell. This is a good programmer's guide to Java. We will review Java quickly in the middle of the course, and this book is a good introduction to the language.
- Compilers, Principles, Techniques and Tools, Aho, Sethi, and Ullman. This book will be referenced during the last part of the course as we write a simple compiler in Java.
|