Specialist
2023/2024
Programming Techniques
Type:
Compulsory course (Cyber Security)
Delivered by:
School of Applied Mathematics
When:
3 year, 3, 4 module
Mode of studies:
offline
Open to:
students of one campus
Area of studies:
Cyber Security
Language:
English
ECTS credits:
3
Contact hours:
48
Course Syllabus
Abstract
The study of this discipline is based on the following disciplines: • Mathematical analysis ; • Mathematical logic and theory of algorithms • Programming languages B3. B5 To learn the discipline, students must possess the following knowledge and competencies • Theory of sets • Mathematical logic. • Graph theory • Software Informatics. This program of academic discipline establishes minimum requirements for knowledge and skills of the student and determines the content and types of training sessions and reporting. This program of academic discipline establishes minimum requirements for knowledge and skills of the student and determines the content and types of training sessions and reporting. The program is targeted for teachers, leading this discipline, teaching assistants and study direction 10.05.01 «Computer security».
Learning Objectives
- To get acquainted with the methods of logical, functional and structured programming.
- To get knowledge on discrete algorithms (sorting, searching, algorithms on graphs, algorithms on combinatorial objects and algorithms for generating pseudo-random numbers).
- To get knowledge of design patterns.
Expected Learning Outcomes
- Be able to write breadth-first and depth-first search algorithms on graphs.
- Знает основные структуры данных, такие как очередь, список, хеш-таблица, красно-чёрное дерево
- Уметь строить и применять хеш-функции в различных системах
Course Contents
- Sorting algorithms.
- Search algorithms and data structures
- The generation of pseudo random numbers.
- Design patterns.
Bibliography
Recommended Core Bibliography
- Algorithms and data structures : design, correctness, analysis, Kingston, J. H., 1998
- Gamma, E., Helm, R., Johnson, R. E., & Vlissides, J. (2009). Design Patterns : Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley Professional. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1599365
- Handbook of data structures and applications, , 2005
Recommended Additional Bibliography
- C++ programming : program design including data structures, Malik, D. S., 2009