Syllabus - COMP215

COMP215 - Programming Language: Principles & Practice

Description:
This course conveys a high-level vision of programming language theory and a survey of programming languages representing different paradigms. It begins with the concepts and methodologies that underlie all programming languages such as syntax, grammar, semantics, and subroutines. An assortment of programming paradigms is introduced to provide insight into both the traditional imperative and some alternative approaches to program development. The key issues in designing and using programming languages are revisited through studying and writing programs in three different languages.

Outcomes:

  • Identify fundamental principles of programming languages
  • Describe imperative, function, and logical programming paradigms
  • Solve problems with selected languages from imperative, functional, and logical programming paradigms

Required Text(s):

  • Scott, Michael L. (2015). Programming language pragmatics (4th ed.). Morgan Kaufmann. ISBN: 9780124104099.
  • Prinz, P. W. & Crawford, T. (2006). C in a nushellLinks to an external site.. O'Reilly Media, Inc. ISBN: 9780596006976.

This course uses an embedded eText (Scott 2015) and a free library e-textbook (Prinz & Crawford, 2006).