CSCI 355: Programming Languages
CSCI 355 Programming Languages Three Credit Hours
Prerequisite: CSCI 223 and CSCI 305
Required for B.S. degree in computer science.
Programming language concepts and constructs with emphasis on the run-time behavior of programs. Topics include imperative, functional, and logic programming paradigms; language syntax and semantics; and global properties of programming languages including scope, parameter passing, storage allocation, and the binding time of constituents.
- Programming languages history
- Language concepts
- Values, types, and type systems
- Variables and storage
- Binding and scope
- Procedural abstraction
- Language paradigms
- Function programming
- Logic programming
- Imperative programming
Upon successful completion of this course, a student will be able to
- Discuss the principles and implementation issues which are fundamental to the design of high-level programming languages
- Explain the various programming paradigms
- Represent languages in BNF, EBNF and Syntax Chart notation
- Code solutions for simple problems in bash scripting, LISP and PROLOG.
Programming Languages: Principles and Paradigms (Second Edition) by Allen B. Tucker and Robert E. Noonan, McGraw-Hill, 2006.