First Cycle - Faculty of Engineering - Computer Engineering (English)
Y : Year of Study S : Semester
Course Unit Code Course Unit Title Type of Course Y S ECTS
CSE4060 Principles of Programming Languages Compulsory 4 7 5
Objectives of the Course
To gain an understanding of the basic structure of programming languages including data types, variables and parameter passing.
Learning Outcomes
1 To teach dynamic and static memory management.
2 To teach parameter passing techinques (for variables declared in procedures/functions/methods)
3 To distinguish between variable declarations in programming languages, in particular binding, scope, and substitution of variables
4 To describe the notion of type in programming languages
5 To teach fundamental concepts on programming languages.
Mode of Delivery
Formal Education
Recommended Optional Programme Components
None
Course Contents
Syntax and semantics of programming languages, grammars, design of programming languages, data types, variables, expressions and statements, procedures, recursion, parameter passing, dynamic and static memory management. Comparative study of functional, logic and object-oriented programming languages.
Weekly Detailed Course Contents
Week Theoretical Practice Laboratory
1 Introduction
2 Syntax and semantics of programming languages and grammars
3 Static Semantics (Attribute grammar)
4 Semantics (Operational semantics, Denotational semantics)
5 Logic Programming Languages
6 Functional Programming Languages
7 Static and dynamic binding
8 Midterm Exam Study
9 Midterm Exam
10 Lifetime
11 Referencing Environment
12 Scope (Scope rules, Referencing operations, Static/Dynamic scoping)
13 Subprogram Implementation
14 Data Types
15 Expressions and Control Structures
16 Final Exam Study
17 Final Exam
Recommended or Required Reading
R.W. Sebesta Concepts of Programming Languages. 5th edition. Addison Wesley, 2002.
R. Sethi Programming Languages: Concepts and Constructs. 2nd edition. Addison Wesley. 1996.
Planned Learning Activities and Teaching Methods
Lecture Notes, handouts, programming examples.
Assessment
AssessmentQuantityWeight
Term (or Year) Learning Activities60
End Of Term (or Year) Learning Activities40
Total100
Term (or Year) Learning ActivitiesQuantityWeight
Midterm Exam150
Project120
Homework Exam430
Total100
End Of Term (or Year) Learning ActivitiesQuantityWeight
Final Exam175
Project Exam125
Total100
Language of Instruction
Language Codes
Work Placement(s)
None
Workload Calculation
Activities Number Time (hours) Total Work Load (hours)
Theoretical 14 3 42
Pre Class Self Study 14 1 14
Post Class Self Study 14 1 14
Midterm Preparation 1 10 10
Final Preparation 1 13 13
Home Work 4 3 12
Project 1 20 20
Total 49 51 125
Contribution of Learning Outcomes to Programme Outcomes
PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11PO 12PO 13PO 14PO 15PO 16
LO 10000000000000000
LO 20000000000000000
LO 30000000000000000
LO 40000000000000000
LO 50000000000000000

^