CSC 461 Programming Languages
Understand the concepts and principles of programming languages. Understand how well known programming languages implement these concepts and principles. Gain the ability to choose an appropriate language for software development. Understand the similarities, differences, strengths and weaknesses of different programming language paradigms (procedural, object-oriented, functional, logic, concurrent). Gain the ability to learn new programming languages.
A student who successfully completes this course should, at a minimum, be able to:
- programming language background: historical perspective, design considerations and evaluation criteria, major paradigms (procedural, object-oriented, functional, logic, concurrent)
- formal language theory and automata, formal methods of programming language syntax and semantics
- fundamental programming language elements (data abstraction, expressions, control structures, exception handling, modules, scope, parameter passing)
- experience writing programs using different programming language paradigms