Formal methods in software development
Course: Artificial Intelligence
Structural unit: Faculty of Computer Science and Cybernetics
Title
Formal methods in software development
Code
Module type
Обов’язкова дисципліна для ОП
Educational cycle
Second
Year of study when the component is delivered
2021/2022
Semester/trimester when the component is delivered
2 Semester
Number of ECTS credits allocated
5
Learning outcomes
LO1.1. To know the basic concepts of programming and logical calculi.
LO1.2. To know the methods of formalization of programming and specification languages.
LO1.3. To know methods of subject domain modelling.
Form of study
Full-time form
Prerequisites and co-requisites
1. To know: basic concepts, tools and methods of mathematical logic, their application in computer science and programming; to know the languages of propositional logic and first-order logic, their possibilities for describing subject areas; basic methods of finding proofs and means of logical inference.
2. To be able to: describe in formal languages first-order statements relevant to certain subject areas; to establish the truth of propositional formulas, quantifier-free formulas,
first-order formulas; establish of a logical consequence; establish the definability and indefinability of predicates in language models.
3. To have basic skills: programming in modern languages, checking the satisfiability of formulas.
Course content
Discipline aim. The aim of the discipline is to master the basic concepts, principles and concepts of modern methods of software development and their application for adequate modeling of specification languages and programming and use of built models to create modern software and information systems of high quality.
As a result of studying the discipline the student must:
to know: basic concepts of programming, methods of formalization of programming and specification languages, methods of modeling subject domains; logical calculi.
be able to: formalize programming and specifications languages, model subject domains with the help of appropriate languages, apply software tools for specification analysis.
Recommended or required reading and other learning resources/tools
Planned learning activities and teaching methods
Lectures, independent work, Test, current evaluation, exam.
Assessment methods and criteria
1. Test 1: LO 1.1, LO 1.2 - 25 points / 15 points.
2. Test 2: LO1.3, LO2.1 - 25 points / 15 points.
3. Current evaluation: LO2.1, LO3.1, LO4.1 - 10 points / 6 points.
An applicant may not be admitted to the final assessment if during the semester he: 1) has not reached the minimum threshold level (60%) of the assessment of those learning outcomes that cannot be assessed during the final control; 2) scored the number of points, which is insufficient to obtain a positive assessment, even if he achieves the maximum possible result in the final control.
The recommended minimum is 36 points.
Language of instruction
Ukrainian
Lecturers
This discipline is taught by the following teachers
Mykola
S.
Nikitchenko
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