CS 454: Principles of Programming Languages, Spring 2014
Web site under construction
- Instructor: Prof.
J. Bieman, bieman(at)cs.colostate.edu
- Class Times: T+Th, 3:30-4:45PM; Clark C, Room C 248.
- Office Hours: 3-5 PM Wednesday, and by appointment.
- Required Texts:
- Daniel P. Friedman and Mitchell Wand. Essentials of Programming Languages, Third Edition, MIT Press 2008.
- Richard Kelsey, William Clinger, and Jonathan Rees (Eds.).
Revised(5) Report on the Algorithmic Language Scheme (available
- Expect other references, which should be available electronically.
- Reference Texts (optional):
- Daniel P. Friedman and Matthias Felleisen. The Little Schemer,
- Others will be announced.
- Prerequisites: CS 253 and CS320.
- The Computer Science Department Student
- Brief Description of the course: The course covers programming
language principles emphasizing language design concepts, semantics,
and interpreters. Study of language features and major programming
paradigms, especially functional programming.
We will study the semantics of programming languages through
interpreters that implement the languages. To make it more interesting,
these interpreters will be implemented in the functional language
Scheme (also know as Racket), a dialect of Lisp. Thus, the course will give students
an opportunity to use a language that is not part of the C, C++,
Java family of languages. There is also a research project designed
to give students knowledge and experiences in another new programming
CS 454 does not have a separately scheduled Lab/Recitation. Instead, students can work on lab assignments when their schedules permit. Lab activities involve software development in the CS Labs or on a student's own computer (which is what most students do) at a time that works for each student.
Of course, students can meet with the GTA or instructor in the lab or office as necessary.
If necessary we will hold extra lab or review sessions, scheduled to meet everyone's time constraints or we will meet in cyberspace.
Go to the password-protected
RamCT CS-454 home page
WARNING: Make sure you exit your web browser when you're
finished with a RamCT session. If you do not do this then the
next person that uses the machine will be able to access your
Last updated 3 January 2014