Programming Language Fundamentals
Section A Fall Mon, Wed, Fri 11:30
The topic of programming languages is an important and rapidly changing area
of computer science. This course introduces students to the basic concepts
and terminology used to describe programming languages. Instead of studying
particular languages, the course focuses on the linguistics of programming
languages; that is, on the common, unifying themes that are relevant to
programming languages in general. The algorithmic, or procedureal,
programming languages are particularily emphaized. Examples are drawn from
early and contemporary pprogramming langauges, including Fortran, Algol 60,
PL/I, Algorl 68, Pascal, C, C++, Eiffel, Ada 95, and Java.
This course is not designed to meet the needs of the student who wish to
learn to program in a particular language. However, any student who completes
this course should be able to learn any new programming language with relative
Topics covered may include the following.
- Classification of programming languages: language levels, language
generations, language paradigms.
- Programming language specification: lexical, syntactic, and
semantic levels of language definition.
- Data, data types, and type systems; simple types, structured types,
type composition rules.
- Control primitives, control structures, control composition rules.
- Subprograms: functions and procedures; argument-parameter binding;
- Global program structure: modules, generic units, tasks, exceptions.
- Object-oriented language features: classes, encapsulation,
- Critical and comparative evaluation of programming languages.
prerequisites, including COSC2001.03