EECS 321 - Programming Languages

CATALOG DESCRIPTION:  This course introduces students to the key features of programming languages. Students implement a series of interpreters that nail down the precise details of how various aspects of programming languages behave.  Students are assumed to understand trees and (mathematical) functions that process them; the course builds up to the features of real programming languages from there.

REQUIRED TEXT: Programming Languages: Application and Interpretation by Shriram Krishnamurthi

COURSE COORDINATOR: Robby Findler

PREREQUISITES: EECS 311, EECS 111

COURSE TOPICS: The course explores these aspects of a programming language (in this order):

  • - Modeling programming languages
  • - Arithmetic expressions & variables
  • - Functions
  • - Deferring substitution
  • - First class functions
  • - (implementing) Recursion
  • - State
  • - Garbage collection
  • - Types

GRADES: Grades are based on weekly homework assignments.

EXAM: There is no exam in this course.

COURSE OBJECTIVES: Students that complete this course should:

  • understand the basic semantic features of all call-by-value programming languages (which includes nearly all programming languages they will encounter),
  • understand the pragmatics behind those features (when to use them and why),
  • understand some of the more advanced features, when they are applicable, and when they are desireable,
  • be able to maintain and extend an interpreter-based implementation of a programming language containing those features

ABET CONTENT CATEGORY:

 

instructor-course-page-button1If you see this button within a description, clicking it will take you to the Instructor's own page for this class.

Course schedules & descriptions

Search Courses by Instructor


Search course subsets


Robert R. McCormick School of Engineering and Applied Science
Electrical Engineering & Computer Science Home | McCormick Home | Northwestern Home
© 2013 Robert R. McCormick School of Engineering and Applied Science, Northwestern University
MapsContact UsCalendar
TECH: 2145 Sheridan Rd, Tech L359, Evanston IL 60208-3118 USA |  Phone: (847) 491-5410  |  Fax: (847) 491-4455
FORD: 2133 Sheridan Rd, Ford Building, Rm 3.320, Evanston  IL 60201 USA |  Phone: (847) 491-5410  |  Fax: (847) 491-5258
Questions about this site? Please email the webmasterLegal and Policy Statements