Dalhousie University    [  http://web.cs.dal.ca/~islam/3136  ]
Summer 2013 (May6-Aug2)
Faculty of Computer Science
Dalhousie University

[ Calendar ] <== Course Slides
Time: Lectures: Mon-Wed 12:05-13:25
Location: Computer Science 127
Lab: Fri 12:05-13:25 at CS Lab 3
Instructor: Aminul Islam, office: CS 437, e-mail: islam at cs.dal.ca
Office hours: Fri 11:00-12:00
TAs: , e-mail:
, e-mail:
E-mail list: all-cs3136 at cs.dal.ca

Course Description

CSCI 3136.01: Principles of Programming Languages.
The main topics of this course include a comparative study of programming language features, an introduction to programming language design and implementation, and an introduction to formal language theory.

The course objectives are:

Related Courses: The course prerequisites are CSCI 2110 (Computer Science III), CSCI 2112 (Data and File Structures), or CSCI 2132 (Software Development). Another relevant course is: CSCI 3132 - Object Oriented Programming.

Two courses providing continuations of the topics in this course are: CSCI 4131 - Compiler Construction, and CSCI 4112 - Theory of Computation.

Evaluation

40%   Assignments (five)
20% Midterm
40% Final exam

References

Required Textbook:
  1. [PLP] Programming Language Pragmatics by Michael L. Scott, Morgan Kaufmann, 2009, Third Edition. http://www.cs.rochester.edu/u/scott/pragmatics.
Recommended Reading:
  1. [IALC] Introduction to Automata Theory, Langauges, and Computation by John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman, Addison Wesley, 2006, 3rd edition, ISBN 0-301-45536-3. http://www-db.stanford.edu/~ullman/ialc.html.
  2. [PLPP] Programming Languages: Principles and Paradigms by Allen B. Tucker, and Robert E. Noonan, McGraw-Hill, 2007, Second Edition, ISBN 978-0-07-286609-4. http://www.mhhe.com/tucker.
  3. [CPL] Concepts of Programming Langauges by Robert W. Sebesta, Addison Wesley, 2005, 7th edition, ISBN 0-321-33025-0. http://www.aw.com/sebesta.
  4. [MCIJ] Modern Compiler Implementation in Java by A. Appel, Cambridge Univ. Press, 1998, ISBN 0-521-58388-8. http://www.cs.princeton.edu/%7Eappel/modern/java/.
  5. [FSSPL] Formal Syntax and Semantics of Programming Languages by Kenneth Slonneger and Barry L. Kurz, Addison Wesley, 1995. http://www.cs.uiowa.edu/%7Eslonnegr/plf/Book/.
    This book is currently out of print but is available on the Web. (cached)
  6. [SICP] Structure and Interpretation of Computer Programs by H. Abelson and G. Sussman, 2nd edition, MIT Press, 1996. http://mitpress.mit.edu/sicp/.
    Includes full text in HTML format.
  7. [OOSC] Object-oriented Software Construction by B. Meyer, 2nd edition, Prentice Hall, 1997.
  8. Comparative programming languages by Leslie B. Wilson and Robert G. Clark, 3ed edition, Addison Wesley, 2001, ISBN 0-201-71012-9. http://www.cs.stir.ac.uk/%7Ergc/cpl/.
Related Books:
  1. Programming Languages Design and Implementation by Terrence W.Pratt and Marvin V.Zelkowitz, 4th edition, Prentice Hall, 2000.