Title Advanced Topics of Programming Languages
Lesson Code 321-4120
Semester 4
ECTS 5
Hours (Theory) 3
Hours (Lab) 2
Faculty Goumopoulos Christos

Syllabus

Types of programming languages. Variables, expressions and commands. Datatypes and type definition systems. Scope and time of memory binding. Procedures. Exception handling. Concurrency. Object-oriented programming languages. Introduction to the organization and operation of compilers. Lexical analysis. Syntax directed translation. Basic detection techniques. Symbol tables. Intermediate code.

Learning Outcomes

The student that will complete successfully the course is expected that will be in position to:

  • Understand the fundamental concepts of programming languages.
  • Understand key issues in programming language design and implementation (compiler theory)
  • Know the main features of the tools and techniques governing the creation of modern programming languages
  • Use of tools for implementing lexical, syntactical and semantic analysis of a programming language
  • Use a new programming language (Python)

Prerequisite Courses

Not required.

Basic Textbooks

1. ΠΡΑΓΜΑΤΟΛΟΓΙΑ ΤΩΝ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Συγγραφείς: MICHAEL L. SCOTT (Κωδικός Βιβλίου στον Εύδοξο: 13858) 2. Μεταγλωττιστές. Συγγραφείς: Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman. (Κωδικός Βιβλίου στον Εύδοξο: 12713790).

Additional References

Computer Languages, Systems and Structures ACM Transactions on Programming Languages and Systems

Teaching and Learning Methods

 

Activity Semester workload
Lectures 39 hours
Laboratory hours 26 hours
Personal study 56 hours
Mid-term Exam 1 hour
Final exams 3 hours
Course total 125 hours (5 ECTS)

Student Performance Evaluation

Final examination and lab exercises (theoretical and programming). The mark of laboratory should be ≥ 5 for attendance in the final examinations. The mark of final examination should be ≥ 5 for successful course completion. The final mark is computed as follows: 0.4 * (Mark of Exercises) + 0.6 * (Mark of Examination). For each examination/exercises subject clearly specified evaluation criteria are given. The students can see their exam paper after the final examination and inspect their faults. The overall distribution of marks is announced on eClass, so that students can evaluate their performance.

Language of Instruction and Examinations

Greek, English (for Erasmus students)

Delivery Mode

face-to-face