Theory of Programming
Course: Informatics
Structural unit: Faculty of Computer Science and Cybernetics
Title
Theory of Programming
Code
ОК.32
Module type
Обов’язкова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2023/2024
Semester/trimester when the component is delivered
5 Semester
Number of ECTS credits allocated
4
Learning outcomes
LO 1.Apply the knowledge about basic forms and laws of abstract logical thinking, foundations of scientific cognition methodology, forms and methods of extracting, analyzing, processing and synthesizing information in computer science.
LO 5.Design, develop and analyze algorithms for solving computational and logical problems. Evaluate algorithms efficiency and complexity on the basis of formal models of algorithms and computable functions.
Form of study
Distance form
Prerequisites and co-requisites
Knowledge: Fundamental concepts, tools, and methods of programming, and their application in computer science; knowledge of programming languages and irst-order logic, along with their capabilities for describing subject areas.
Skills: Formulate statements about various subject areas and program properties using formal first-order languages; determine the truth of propositional formulas and first-order formulas.
Basic Proficiencies: Programming in modern languages, testing programs, and verifying formula satisfiability.
Course content
The goal of the course is to master the fundamental theoretical concepts, principles, and notions of modern, particularly compositional, programming; methods for formalizing programming languages and proving program correctness.
The educational discipline "Theory of Programming" is a component of the program of training specialists at the first (bachelor's) level of higher education in the field of knowledge 12 "Information technologies" from the specialty 122 "Computer science", educational and professional program - "Informatics".
This discipline is an educational discipline chosen by the educational and professional program "Informatics", selective block "Theory and technology of programming".
It is taught in the 6th semester of the 3rd year in the amount of 120 hours (4 ECTS credits), in particular: lectures – 28 hours, consultations – 2 hours, practical classes - 28 hours, independent work – 62 hours.
The course includes 2 parts and 2 tests. The discipline ends with an exam.
Recommended or required reading and other learning resources/tools
1. M.S. Nikitchenko. Teoriia prohramuvannia. Chastyna 1. Navchalnyi posibnyk. – Nizhyn. Vydavnytstvo NDU imeni M.V. Hoholia, 2010. – 119 s.
2. Eric C.R. Hehner. A Practical Theory of Programming. - Springer-Verlag Publishers, New York, 2021. – 243 р.
3. John E. Hopcroft, R. Motvany, Jeffrey D. Ulman. Automata theory, languages, and computation. - 3rd ed. – Pearson/ Addison Wesltey, 2022. – 535 p.
4. M. Balaban. Principles of Programming Languages. - Ben-Gurion University of the Negev Faculty of Natural Science Department of Computer Science, 2017. – 418 р.
5. Semantics - Advances in Theories and Mathematical Models. - IN-TECH, 2012. – 284 р.
Planned learning activities and teaching methods
Lecture, practical classes, independent work.
Assessment methods and criteria
Semester assessment:
Control Work 1: LO 1.1, LO 1.2 — 10 points / 6 points.
Control Work 2: LO 1.1, LO 1.3 — 15 points / 9 points.
Project Task: LO 1.1, LO 1.2, LO 2.1, LO 1.3, LO 3.1 — 10 points / 6 points.
Homework Assignments: LO 1.1, LO 1.2, LO 2.1, LO 1.3, LO 4.1 — 15 points / 9 points.
Ongoing Assessment: LO 2.1, LO 3.1, LO 4.1 — 10 points / 6 points.
Final Assessment (in the form of an exam):
maximum score achievable by the student: 40 points / 24 points;
learning outcomes to be assessed: LO 1.1, LO 1.2, LO 1.3, LO 2.1, LO 3.1, LO 4.1;
form and types of tasks: written work.
Language of instruction
Ukrainian
Lecturers
This discipline is taught by the following teachers
Olena
V.
Shyshatska
Theory and Technology of Programming
Faculty of Computer Science and Cybernetics
Faculty of Computer Science and Cybernetics
Andrii
V.
Kryvolap
Theory and Technology of Programming
Faculty of Computer Science and Cybernetics
Faculty of Computer Science and Cybernetics
Departments
The following departments are involved in teaching the above discipline
Theory and Technology of Programming
Faculty of Computer Science and Cybernetics
Theory and Technology of Programming
Faculty of Computer Science and Cybernetics