Types in programming languages

Course: Software engineering

Structural unit: Faculty of Computer Science and Cybernetics

Title
Types in programming languages
Code
ОК.16
Module type
Обов’язкова дисципліна для ОП
Educational cycle
Second
Year of study when the component is delivered
2023/2024
Semester/trimester when the component is delivered
2 Semester
Number of ECTS credits allocated
3
Learning outcomes
LO07. Justifiably choose programming paradigms and languages for various applications; apply in practice system and specialized tools, component-based frameworks and integrated development environments. PLO08. Conduct analytical studies of software system operating parameters in order to perform its verification and validation, and also analyze chosen methods, computer-aided software design and engineering tools.
Form of study
Full-time form
Prerequisites and co-requisites
1. Know: elements of discrete structures; fundamental concepts of object-oriented programming. 2. Be able to: use imperative programming language. 3. Have basic skills: of software development.
Course content
The aim of the educational discipline is to study the principles implemented in modern programming languages that target the design of higher-quality and more reliable software systems. As a result of studying the discipline, the student must: know the theoretical fundamentals that the type systems of the state of the art programming languages are based upon, formal techniques used to prove properties of the developed programs; be able to use generic software algorithms and structures as an application programmer, use advanced programming techniques based on types.
Recommended or required reading and other learning resources/tools
1. Pierce B. Types and Programming Languages / Pierce B. – Massachusetts: MIT Press, 2002. – 645p. 2. Cardelli L. On Understanding Types, Data Abstraction, and Polymorphism / Luca Cardelli and Peter Wegner // ACM Comput. Surv. – 1985. – vol. 17, no.4. — Pp. 471–522. 3. Stepanov A. Elements of programming / Alexander Stepanov, Paul Mc Jones. – Addison-Wesley, 2009. – 288 p. 4. Stepanov A. From mathematics to generic programming / Alexander A. Stepanov, Daniel E. Rose. – Addison-Wesley, 2014. – 320 p. 5. Backhouse R. et al. Generic Programming: An Introduction // Advanced Functional Programming Third International School. Braga, Portugal. – 1998. – Pp. 28–115. 6. Gibbons J. Datatype-generic programming / J. Gibbons. // Lecture Notes in Computer Science. – 2007. – vol. 4719. – Pp. 1–71.
Planned learning activities and teaching methods
Lectures, tests, take-home assignments, independent work.
Assessment methods and criteria
Intermediate assessment: 1. Tests 1-3: LO 1.1, LO1.2, LO2.2 — 40 points. 2. General test: LO 1.1, LO1.2 — 30 points. 3. Take-home assignment — 30 points. Final assessment: credit is given on a pass-fail system based on the total points earned during intermediate assessment.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Oleksii I. Chentsov
Department of Intelligent Software Systems
Faculty of Computer Science and Cybernetics

Departments

The following departments are involved in teaching the above discipline

Department of Intelligent Software Systems
Faculty of Computer Science and Cybernetics