This course involves the study of principles underlying the design and implementation a variety of programming languages. Topics include: The Problem-Solving Process. Language Design. Lexical elements. Syntax and Semantics. Historical Survey of Languages. Types, Objects and Declarations. Expressions and Statements. Programs. Sub-Programs. Modules. Concurrency. Knowledge of Languages, such as C++, Pascal, Java, Visual Basic.