Title:

Programming Language Semantics

Code:SPJ
Ac.Year:ukončen 2014/2015 (Not opened)
Sem:Winter
Curriculums:
ProgrammeField/
Specialization
YearDuty
IT-MSC-2MBI-Elective
IT-MSC-2MBS-Elective
IT-MSC-2MGM-Elective
IT-MSC-2MIN-Elective
IT-MSC-2MIS2ndCompulsory-Elective - group F
IT-MSC-2MMI-Elective
IT-MSC-2MMM-Compulsory-Elective - group L
IT-MSC-2MPV-Elective
IT-MSC-2MSK-Elective
Language of Instruction:Czech
Credits:3
Completion:examination (written)
Type of
instruction:
Hour/semLecturesSeminar
Exercises
Laboratory
Exercises
Computer
Exercises
Other
Hours:260000
 ExamsTestsExercisesLaboratoriesOther
Points:7030000
Guarantor:Hruška Tomáš, prof. Ing., CSc. (DIFS)
Lecturer:Hruška Tomáš, prof. Ing., CSc. (DIFS)
Křivka Zbyněk, Ing., Ph.D. (DIFS)
Faculty:Faculty of Information Technology BUT
Department:Department of Information Systems FIT BUT
Prerequisites: 
Theoretical Computer Science (TIN), DITS
Substitute for:
Programming Languages (PRJ), DIFS
 
Learning objectives:
  In-depth grasp of theoretical foundations of the programming languages construction semantic definition. Obtaining the ability to define this semantic and use this definition in praxis.
Description:
  Types of semantic programming languages semantic definition: denotational, operational and axiomatic. Lambda calculus and its use for the denotational semantic. Formal definition of basic types, structures a constructions using denotational semantic. Axiomatic semantic and its use for program correctness proving. Examples of axiomatic definitions. The semantic of languages for functional and logic programming.
Learning outcomes and competencies:
  Ability of formally defining programming languages sematic and  using this definition in praxis. Ability and practical use of the program correctness proving.
Syllabus of lectures:
 
  1. History of programming languages construction development.
  2. Kinds of syntax and semantic definition.
  3. Basics of non-typed lambda calculus.
  4. Expresssion notation, evaluation.
  5. Recursive functions formal semantics.
  6. Name spaces and type checking.
  7. Data types simple and structured, type equivalence, polymorphism.
  8. Denotational semantics.
  9. Floyd-Hoare logic and its use for program correcntess proving.
  10. Axiomatic semantics and program correctness proving.
  11. Subroutine calling and parameter passing.
  12. Object-oriented programming.
  13. Functional programming, logic programming.
Fundamental literature:
 
  • Gordon, J.C.: Programming Language Theory and its Implementation, Prentice Hall - Series in Computer Science, Prentice Hall New York 1988, 255 p., ISBN 0-13-730409-9
  • Sebesta, R.,W.: Concepts of Programming Languages, Addison Wesley, Massachusetts 1999, 670 p., ISBN 9-780201-385960
Study literature:
 
  • Gordon, J.C.: Programming Language Theory and its Implementation, Prentice Hall - Series in Computer Science, Prentice Hall New York 1988, 255 str., ISBN 0-13-730409-9
Progress assessment:
  Mid-term test.
 

Your IPv4 address: 18.232.147.215
Switch to https