CP2003 - Principles of Programming languages
(Second Semester - 1999)
Contents
- What is a Programming Language?
- What is this Subject About?
- Computer Language Levels
- Programming Paradigms
- Values
- Types
- Primitive Types
- Composite Types
- Recursive Types
- Type Systems
- Expressions
- The Model of Storage
- Handling of Composite Variables
- Storage Model
- Heap vs. Stack
- Dead Objects
- Persistent Variables
- Commands
- Names
- Name Spaces
- Bindings
- Environments
- Declarations
- Scope of Declarations and Blocks
- Abstraction
- Function Abstraction
- Procedure Abstraction
- Passing Parameters
- Evaluation Order
- Packages
- Abstract Types
- Objects and Classes
- Generic Abstractions
- Type Systems
- Monomorphism
- Overloading
- Polymorphism
- Type Inference
- Type Coercion
- Inheritance
- Concurrency
- Programs and Processes
- Problems with Concurrency
- Process interactions
- Structured Concurrent Programming
- Imperative Paradigm
- Case Study - Pascal
- Case Study - C
- Logic Programming
- Case Study - Prolog
- Functional Programming
- Case Study --Scheme (optional)
- Supplementary Notes
© James Cook University of North Queensland, Australia
Computer Science Home Page