CS350/651 COURSE OUTLINE
1 Programming Languages
- Definition and use
- Evolution
- Issues and perspective of the course
2 Syntax
- Arithmetic Expressions
- Evaluation Trees
- Grammars
- Parsing
3 Main Features of Programming Languages
- Overall structure
- Variables
- declarations - scope - lifetime - value - type
- concepts of bindings
- Data Types
- builtin types
- user-defined types
- issues associated with types - typing mechanisms
- type inference
- Control Structures
- statement-level control structures
- sequencing
- iteration
- selection
- unit-level control structures
- procedures
- parameter passing mechanisms
- block-structure
- exception handling mechanisms
4 Semantic Modeling (Notes)
- Semantic Models
- contour model
- denotational model
5 Run-Time Support
- Storage allocation
- variables
- stack-based allocation
- activation records
- display vectors
- heap
6 Object-Oriented Programming Languages
- Classes and Objects
- Templates
- Polymorphism
- Typing Issues
- Dynamic Binding
- Implementation of OO Languages
7 Other Paradigms (Concurrent, Functional, Logic)
- Communication Processes Model
- Ada Model
- Lambda calculus (l-calculus -
- Features of functional languages
- LISP-like, ML
- Features of logic programming
- PROLOG