PROGRAMMING LANGUAGE DESIGN

Course Information
TitleΣΧΕΔΙΑΣΗ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ / PROGRAMMING LANGUAGE DESIGN
CodeNCO-04-01
FacultySciences
SchoolInformatics
Cycle / Level1st / Undergraduate
Teaching PeriodSpring
CoordinatorGeorgios Makris
CommonNo
StatusInactive
Course ID40002937

Programme of Study: PPS-Tmīma Plīroforikīs (2019-sīmera)

Registered students: 353
OrientationAttendance TypeSemesterYearECTS
GENIKĪ KATEUTHYNSĪCompulsory Course427

Class Information
Academic Year2019 – 2020
Class PeriodSpring
Instructors from Other Categories
Weekly Hours5
Class ID
600155616
Course Type 2016-2020
  • Scientific Area
Course Type 2011-2015
Specific Foundation / Core
Mode of Delivery
  • Face to face
Digital Course Content
Erasmus
The course is also offered to exchange programme students.
Language of Instruction
  • Greek (Instruction, Examination)
Prerequisites
General Prerequisites
Sufficient knowledge of the basic results of the Theory of Computation is required.
Learning Outcomes
Cognitive: The main aim of the course is to involve students into a critical approach to programming languages, through the comparative analysis of their characteristics and to understand their design tradeoffs, by taking into account the compilation and execution of their programs. Skills: Students will be well prepared for new programming methods, paradigms and tools, as they will be familiar with and able to go through all stages of programming language design and their compiler implementation
General Competences
  • Apply knowledge in practice
  • Adapt to new situations
  • Make decisions
  • Work autonomously
  • Work in teams
  • Be critical and self-critical
  • Advance free, creative and causative thinking
Course Content (Syllabus)
Introduction, Block-structured languages, Static and dynamic scope, Functions and procedures, Scoping rules, Memory management, Lexical structure of programming languages, Lexical analysis, Code generators, Programming language syntax, Syntax analysis: top-down and bottom-up, Programming language semantics: axiomatic, denotational and operational semantics, Semantic analysis: attribute grammars and symbol table, Code generation/synthesis: intermediate code and machine code, Type systems, Type and data representation
Keywords
Block-structured languages, Programming language syntax & semantics, Code generation/synthesis, Type systems
Educational Material Types
  • Slide presentations
  • Interactive excersises
  • Book
Use of Information and Communication Technologies
Use of ICT
  • Use of ICT in Course Teaching
  • Use of ICT in Communication with Students
Description
The course material is offered in Internet through the PILEAS (moodle) software e-learning platform, which is also used for communicating with the students. The lectures take place by audiovisual teaching aids (electronic slides).
Course Organization
ActivitiesWorkloadECTSIndividualTeamworkErasmus
Lectures52
Laboratory Work13
Reading Assigment142
Exams3
Total210
Student Assessment
Description
The students can choose between (a) the evaluation based on their answers to an interactive test (10 %) and their performance in the final written exam (90 %) or alternatively (b) they can undertake a compiler construction project for a programming language and present it in an oral exam. Their study is successful if the weighted average of the three exams or their performance in the oral exam corresponds to a promotable grade (5). The evaluation criteria, the mid-term exam, the compiler construction project and the results for the students' performance will be announced in the moodle software e-learning platform.
Student Assessment methods
  • Written Exam with Short Answer Questions (Formative, Summative)
  • Written Exam with Problem Solving (Formative, Summative)
  • Labortatory Assignment (Formative, Summative)
Bibliography
Course Bibliography (Eudoxus)
1. Βιβλίο [94702000]: Γλώσσες Προγραμματισμού και Μεταγλωττιστές, Παναγιώτης Κατσαρός, Γεώργιος Μακρής, Αναστάσιος Τεμπερεκίδης 2. Βιβλίο [77108866]: ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΜΕΤΑΓΛΩΤΤΙΣΤΩΝ, Keith D. Cooper, Linda Torczon 2. Βιβλίο [59372610]: Μεταγλωττιστές, Ζαφείρης Καραΐσκος
Additional bibliography for study
1. K. C. Louden, K. A. Lambert, "Programming Languages - Principles and Practice", 3rd edition/2011, Cengage Learning, ISBN: 978-1111529413 2. A. V. Aho, M. S. Lam, R. Sethi, J. D. Ullman, "Compilers: Principles, Techniques, and Tools", 2nd edition/2006, Addison Wesley, ISBN: 978-0321486813 3. A. B. Tucker, R. E. Noonan, "Programming Languages - Principles and Paradigms", 2nd edition/2007, McGraw Hill, ISBN: 978-0071254397 4. M. L. Scott, "Πραγματολογία Γλωσσών Προγραμματισμού", 2η έκδοση/2009, Εκδόσεις Κλειδάριθμος, ISBN: 978-960-461-230-7
Last Update
07-12-2020