PROGRAMMING LANGUAGE DESIGN

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

Programme of Study: Undergradute Studies - School of Informatics (2015-today)

Registered students: 276
OrientationAttendance TypeSemesterYearECTS
Core CoursesCompulsory Course427

Class Information
Academic Year2015 – 2016
Class PeriodSpring
Faculty Instructors
Weekly Hours5
Class ID
600004965
Type of the Course
  • Scientific Area
Course Category
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
The students who will attend the course are expected to • familiarize themselves with a critical approach in programming languages ​​through the comparative analysis of their characteristics • understand the conflicting design options in programming languages ​​and how they can affect their acceptance • understand the trends in the use of programming languages, ​​in order to be prepared for new programming methods, paradigms and tools • know the whole design cycle of programming languages • gain experience in compiler construction
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
Lectures521.7
Laboratory Work130.4
Reading Assigment1424.7
Exams30.1
Total2107
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. Κ. Λάζος, Π. Κατσαρός, Ζ. Καραϊσκος, "Μεταγλωττιστές Γλωσσών Προγραμματισμού: Θεωρία & Πράξη", 3η έκδοση/2004, ISBN: 960-87723-4-6 Κωδικός Βιβλίου στον Εύδοξο: 3873 2. M. L. Scott, "Πραγματολογία Γλωσσών Προγραμματισμού", 2η έκδοση/2009, Εκδόσεις Κλειδάριθμος, ISBN: 978-960-461-230-7 Κωδικός Βιβλίου στον Εύδοξο: 13858
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
Last Update
13-06-2016