Course Description:A survey of computer languages. Criteria for choosing languages to be covered include history, important development paradigms and environments, and language implementations.
- C or higher in CS 3358: Data Structures
- Concepts and characteristics of imperative, functional, and logic programming languages
- Understanding of data types (primitive and user-defined);
- Abstract data types;
- Issues and tools in language design and implementation, including non-procedural programming paradigms
- Understanding symbolic programming.
- Classes, objects and object-oriented concepts (inheritance);
- Procedure/function invocations; parameter passing mechanisms;
- Concepts of exception handling mechanisms in modern programming languages;
- Elementary concepts of concurrency and concurrent programming (e.g. languages: Concurrent Euclid, Modula2, and ADA).
Lecture/Lab Hours: 3 hours lecture, 0 hours lab
Offered: Frequently (typically both Fall and Spring, and one summer session).