CS 363 Comparative Programming Languages

Spring 2012

Prerequisite: Grade of C or better in CS 262

Catalog description: Key programming mechanisms described independently of particular machines or languages including control, binding, procedural abstraction and types.  Systematically surveys diverse high-level language capabilities.

Instructor:  Prof. Elizabeth White

Website: Materials related to this class will be available on blackboard

Textbook: Programming Language Pragmatics, M. Scott, 3rd edition, Morgan-Kauhmann, 2009.

This class will cover theoretical foundations of features found in modern programming languages. 

Course Outcomes

At the end of this course, students should
  1. be able to read and use formal representations of programming language syntax.
  2. understand, in a language independent way, basic programming language components such as variables, types, expressions, scope and control flow and see the choices made for these components by common languages.
  3. have an understanding of runtime procedure/function control and data flow implementation.
  4. have a basic understanding of the major programming language paradigms (imperative, OO, functional, logic), including relevant application domains, strengths and weaknesses.
  5. have an understanding of the fundamentals of concurrent programming and the language-level constructs that used in concurrent programming.
  6. gain basic programming competence in several different types of programming languages, facilitating transition to other current (and future) languages encountered during their professional career.

Grading

Policies:

Honor Code

You are expected to abide by the honor code. Programming assignments and exams are individual efforts. Information on the university honor code can be found at:
http://jiju.gmu.edu/catalog/apolicies/honor.html

This semester I will probably be using similarity detection software to assist me in finding honor code violations, should they occur.

Topics