Department of Computer Science

Com S 342: Principles of Programming Languages

Got a question?

Got a question or comment? Contact us at (515) 294-6168 or

This is the homepage of Com S 342, an undergraduate course on principles of programming languages, as taught by Hridesh Rajan in Fall 2011 at Iowa State University.

For all of the ComS 342 related material this year see Blackboard. The news and class-related discussion is on Piazza.



Teaching Assistant

Hridesh Rajan   Youssef Hanna

Class Schedule

TR 2:10 - 3:30pm in Gilman 2205  

Office Hours (Instructor)


Office Hours (TA)

M 4:00 - 5:30pm in Atanasoff 101   TR 1:00 - 2:00pm in Pearson 0145

Class mailing list


Instructor and TA's E-mail


  • Essentials of Programming Languages, 3rd Edition by Friedman and Wand
  • The Little Schemer, 4th Edition by Friedman and Felleisen
  • [Recommended] Structure and Interpretation of Computer Programs, 2nd Edition by Abelson and Sussman. This book is available here.

Other Relevant Courses

  • Com S 541: graduate course on design and semantics of programming languages. If you have done well in 342, you may want to consider this.
  • Com S 610-HR: advanced topics in program analysis
  • Com S 641: semantic models of programming languages (graduate course)
  • Com S 362: Object-oriented Analysis and Design (undergraduate course)