Course Code: | CSC237SC3 |
Course Title: | Concepts of Programming Languages |
Academic Credits: | 03 (30 hours of lectures and tutorials and 45 hours practical) |
Prerequisite/s: | None |
Objectives: | This course aims to provide an overview of the basic concepts that appear in modern programming languages, the principles that underlie the design of programming languages, and their features. |
Intended Learning Outcomes: | - Describe the fundamental issues in the design and the use of major programming languages
- Demonstrate the differences of Programming paradigms in different programming languages
- Write concurrent and functional programs
|
Contents: | - Introduction: Programming Domains, Evaluation criteria for programming languages, Influences on Language design, Programming language categories
- Introduction to syntactic and semantic description of programming languages
- Programming paradigms in different programming languages: Data types, Abstract data types, Data objects, Control structures, Subprograms, object-oriented programming, Exception handling
- Concurrency: Basics of concurrency, Subprogram-Level Concurrency, Monitors, Message Passing, Threads
- Functional programming: Fundamentals and Programming with Functional Programming Languages
|
Teaching Methods: | Lecture by teacher, Programming practical sessions by teacher, Tutorial submission and discussion |
Assessment/ Evaluation Details: | - In-course Assessment(Theory) —————–20%
- In-course Assessment (Practical) ————–20%
- End-of-course Examination ——————–60%
|