Course Information
COMP3259 Principles of Programming Languages

COMP3259 Principles of Programming Languages

2017-18
Instructor(s):Oliveira Bruno
(Class A) No. of credit(s):6
Recommended Learning Hours:
Lecture: 33.0
Tutorial: 6.0
Pre-requisite(s):COMP2119 or CSIS1119
Co-requisite(s):  
Mutually exclusive with:  
Remarks:

Course Learning Outcomes

1. [Programming languages fundamentals]
Be able to understand the fundamental principles underlying various programming languages features
2. [Programming language implementation]
Be able to understand the basic algorithms in implementing simple programming languages
3. [Programming language designs]
Be able to understand some principles in the design of programming languages
Mapping from Course Learning Outcomes to Programme Learning Outcomes
 PLO aPLO bPLO cPLO dPLO ePLO fPLO gPLO hPLO iPLO j
CLO 1T
CLO 2P
CLO 3T,P

T - Teach, P - Practice
For BEng(CompSc) Programme Learning Outcomes, please refer to here.

Syllabus

Calendar Entry:
Syntax and semantics specification; data types; data control and memory management; expressions, precedence and associativity of operators; control structures; comparative study of existing programming languages; advanced topics such as polymorphism, programming paradigms, exception handling and concurrency.

Detailed Description:

Programming Language Fundamentals Mapped to CLOs
Names, Scopes, and Bindings1
Control Flow1
Data Types1
Programming Language Implementation Mapped to CLOs
Programming Language Syntax2
Semantic Analysis2
Subroutine and Control Abstraction2
Programming Language Design Mapped to CLOs
Data Abstraction and Object Orientation3
Functional Languages3
Logic Languages3

Assessment:
Continuous Assessment: 40%
Written Examination: 60%

Teaching Plan

Please refer to the corresponding Moodle course.

Moodle Course(s)

COMP3259A