Γλώσσες Προγραμματισμού ΙΙ
Code | 3.4.3320.9 |
---|---|
Semester | 9th |
Category | |
Credits | 4 |
Class Hours - Lab Hours | 3 - 1 |
Lecturers | |
Links | Helios, Course's Website |
Web Platform |
Class 1:
Microsoft Teams
|
Description
II This course focuses on the theoretical foundations of programming languages, as well as on practical aspects of their design and implementation, covering a wide range of advanced topics. Specifically, it examines: * Semantics of Programming Languages: The formal mathematical description of how programming languages behave. * Type Systems: The role of types in language design, with emphasis on advanced type systems. * Program Correctness: Formal program specifications and proof techniques for verifying program correctness. * Program Transformations: Techniques for code optimization and restructuring, while preserving its semantics. * Program Analysis: Static and dynamic methods for understanding program behavior and ensuring its reliability. * Language Safety: Language abstractions that ensure memory safety and prevent common errors. The course includes both a theoretical component, delving into these concepts and their mathematical underpinnings, and a practical component, which emphasizes applying these ideas in modern technologies and programming languages (e.g., Haskell, Rust, WebAssembly) to develop secure and reliable software systems.