CSCI 355: Programming Languages
CSCI 355 Programming Languages Three Credit Hours
Prerequisite: CSCI 223; prerequisite or corequisite: 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
- Functional programming
- Logic programming
- Imperative programming
- Technical Writing
Upon successful completion of this course, a student will be able to
- Discuss principles and practices that underly high-level programming languages
- Represent languages in BNF or EBNF
- Write programs in at least one non-object-oriented language
- Write shell scripts
- Learn another programming language
- Write papers in a technical style
Programming Languages: Principles and Pragmatics (Third Edition) by Kenneth C. Louden and Kenneth A. Lambert, Cengage, 2012.