Instructor: Prof. Linda G. Shapiro Office: 214 Sieg Telephone: 543-2196 Email: firstname.lastname@example.org URL: http://www.cs.washington.edu/homes/shapiro/ Office Hours: 1:30 MF, 3:30 W (tentative) TA: Joanna Power TA Email: email@example.com
Purpose of Course:The objective of this class is to learn the fundamental concepts of programming languages and to study three distinctly different programming languages, each representing a different computational paradigm, in depth.
Text:Programming Language Concepts, Ghezzi and Jazayeri
Language Specific Recommended References:
- Java in 21 Days, Lemay and Perkins or Java in a Nutshell, Flanigan or your choice of Java book;
- LISP, 3rd Edition, Winston and Horn;
- Programming in Prolog, Clocksin and Mellish.
Extremely Tentative Schedule
Topic Chapter(s) Weeks? Introduction 1 Week 1 Programming Language Concepts 2,3,4,5 All Along Object-Oriented Languages and Java 6 Weeks 2-4 Functional Programming Languages and Lisp 7 Weeks 4-6 Logic Languages and Prolog 8 Weeks 7-8 Concepts, Comparisons, Other Languages 2-8 Weeks 9-10
Approximate Evaluation Percentages
Java Assignments 15.0% Java Quiz 12.5% Lisp Assignments 15.0% Lisp Quiz 12.5% Prolog Assignments 15.0% Final Exam (including Prolog) 30%
- It is extremely important for you to complete the programs in all three languages.
- Late programs will be accepted, but will lose points, 10% per week late. (The first 10% starts the day after the program is due.)
- Incompletes are only for students with a medical excuse; unfinished assignments do not constitute a medical excuse.
- All work turned in on exercises, programs, and exams must be entirely your own. Cheating will be reported to the Department, the Dean, the University, etc. Discussion of concepts is fine; copying of code or anything else is not. If you're not sure, ask me before you do it!
- I hope you enjoy the class.