COURSE INFORMATION
Course Title: PROGRAMMING LANGUAGES III
Code Course Type Regular Semester Theory Practice Lab Credits ECTS
CEN 850 C 99 3 2 0 4 7.5
Academic staff member responsible for the design of the course syllabus (name, surname, academic title/scientific degree, email address and signature) NA
Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: Elton Domnori
Second Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: NA
Teaching Assistant(s) and Office Hours: NA
Language: English
Compulsory/Elective: Elective
Classroom and Meeting Time:
Course Description: -
Course Objectives: The goal is achieved in two ways. First, the course exposes students to programming paradigms different from the one that they experienced in the foundational courses. Second, it gives them insight into the theory that underlies many of the mechanisms that, up to now, they have taken for granted. It presents the implementation choices available to language designers and compiler writers, and discusses the range of consequences arising from these choices.
COURSE OUTLINE
Week Topics
1 Intro to semantics Small-step semantics, Inductive definitions and proof
2 Large-step semantics IMP: a simple imperative language
3 Denotational semantics
4 Axiomatic semantics and Hoare logic
5 Lambda calculus
6 Lambda calculus encodings and Recursion
7 Simply-typed lambda calculus Type soundness
8 Midterm
9 Existential types and modules
10 Dynamic types
11 Objects
12 Concurrency
13 Current trends in PL
14 Course overview
Prerequisite(s): Students must have good programming skills, be comfortable with recursion, basic mathematical ideas and notations, including sets, relations, functions, and induction.
Textbook: There is no required textbook for the course. In most cases, the class materials should suffice. The instructor will provide written lecture notes where helpful. See the Resources page for additional material that you can examine.
Other References:
Laboratory Work: Yes
Computer Usage: Yes
Others: No
COURSE LEARNING OUTCOMES
1 The languages that programmers use are constantly changing, and the popular languages of today will surely be replaced by new ones.
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution)
No Program Competencies Cont.
Doctorate (PhD) in Computer Engineering Program
1 Engineering graduates with sufficient theoretical and practical background for a successful profession and with application skills of fundamental scientific knowledge in the engineering practice.
2 Engineering graduates with skills and professional background in describing, formulating, modeling and analyzing the engineering problem, with a consideration for appropriate analytical solutions in all necessary situations
3 Engineering graduates with the necessary technical, academic and practical knowledge and application confidence in the design and assessment of machines or mechanical systems or industrial processes with considerations of productivity, feasibility and environmental and social aspects.
4 Engineering graduates with the practice of selecting and using appropriate technical and engineering tools in engineering problems, and ability of effective usage of information science technologies.
5 Ability of designing and conducting experiments, conduction data acquisition and analysis and making conclusions.
6 Ability of identifying the potential resources for information or knowledge regarding a given engineering issue.
7 The abilities and performance to participate multi-disciplinary groups together with the effective oral and official communication skills and personal confidence.
8 Ability for effective oral and official communication skills in foreign language.
9 Engineering graduates with motivation to life-long learning and having known significance of continuous education beyond undergraduate studies for science and technology.
10 Engineering graduates with well-structured responsibilities in profession and ethics.
11 Engineering graduates who are aware of the importance of safety and healthiness in the project management, workshop environment as well as related legal issues.
12 Consciousness for the results and effects of engineering solutions on the society and universe, awareness for the developmental considerations with contemporary problems of humanity.
COURSE EVALUATION METHOD
Method Quantity Percentage
Midterm Exam(s)
1
40
Quiz
2
10
Final Exam
1
40
Total Percent: 100%
ECTS (ALLOCATED BASED ON STUDENT WORKLOAD)
Activities Quantity Duration(Hours) Total Workload(Hours)
Course Duration (Including the exam week: 16x Total course hours) 16 5 80
Hours for off-the-classroom study (Pre-study, practice) 16 5 80
Mid-terms 1 12 12
Assignments 0
Final examination 1 15.5 15.5
Other 0
Total Work Load:
187.5
Total Work Load/25(h):
7.5
ECTS Credit of the Course:
7.5