Subject · Information security
Fundamentals of programmingTopics
Topic plan
The subject's topics and the learning outcomes attached to each one.
1. Basic concepts of programming.
LectureThe basic concepts of programming and fundamental principles of algorithmic thinking are studied within the subject. the concept of algorithm, its main features and role in the development of programs are explained. compilation and interpretation processes, their working principles and main differences are reviewed. the main classification criteria of programming languages are examined, general features, application areas and advantages of the c++ programming language are given.
2. Variables and data. type conversions
LectureWithin the scope of the topic, the concept, creation, use of variables and the main operations performed on them are studied. the properties of global and local variables, visibility fields and differences between them are explained. the main characteristics of constants and their purpose in programming, as well as the role of comments in program code, are reviewed. basic data types and methods of conversion between different types are also explored.
3. Operators
LectureThe main types of operators used in programming and their functions are studied within the subject. performing mathematical operations through arithmetic operators, comparison and the use of logical operators in formulating conditions are explained. the role of assignment operators in setting and changing the values of variables is considered. also, the application of conditional operators in controlling the program execution flow is investigated.
4. Period operators
LectureWithin the subject, the main management and cycle operators used in the management of the program execution flow are studied. the application of the switch operator in the management of multivariate conditions, the working principles and usage characteristics of the for, while and do-while operators are explained. rules for using break and continue operators to control the execution of cycles are reviewed. also, the working principle of the goto operator and its application features in the program code are investigated.
5. Arrays and vectors
LectureIn the framework of the topic, the concepts of array and vector, their main characteristics and purposes of use in programming are studied. the types of arrays, their creation, and the rules for accessing their elements through an index are explained. methods of creating and initializing vectors in the c++ programming language are considered. it also examines the main differences between arrays and vectors in terms of memory management, size flexibility, and usage characteristics.
6. Function. recursion
LectureWithin the scope of the topic, the concept of functions, their definition and their role in the structuring of the program code are studied. rules for creating functions, passing parameters and calling functions are explained. the definition of functions recursively and the working principle of recursive functions are considered. also, the main types of recursion and its application in solving various programming problems are investigated.
7. Indicators
LectureWithin the scope of the topic, the concept of indicators, the main types of indicators and the rules for announcing them are studied. the principles of initializing pointers and working with memory addresses are explained. dynamic memory allocation and management, as well as the relationship between arrays and pointers, are reviewed. the concept of null pointer and the principles of safe use of pointers are also explored.
8. Lines
LectureIn the framework of the topic, the concept of strings, the description of strings and the characteristics of their use in programming are studied. methods of creating and storing strings in the c++ programming language are explained. the rules for accessing individual symbols that make up strings through an index are reviewed. the principles of performing basic operations on strings and their elements are also examined.
9. Work with files
LectureWithin the subject, the basic principles of working with files and file operations are studied in programming. rules for creating, opening, closing and deleting files are explained. file renaming and file management techniques are reviewed. also, the principles of writing data to files through the program and the methods of performing these operations are examined.
10. Oyp. structures
LectureThe main concepts of object-oriented programming and its role in software development are studied within the subject. the main features, advantages and disadvantages of the object-oriented programming approach are reviewed. the concept of structure, the creation of structures and their use in organizing related data into a single structure is explained. also, the application characteristics of structured and object-oriented approaches in programming are investigated.
11. Loading functions and operators
LectureWithin the topic, the concepts of loading functions and operators and their application in object-oriented programming are studied. the principles of loading functions according to the type and number of parameters are explained. rules for reassigning operators for user-defined data types and class objects are reviewed. also, the concept of friend functions, their properties and their role in addressing members of the class are investigated.
12. Polymorphism
LectureWithin the subject, the concept of polymorphism, which is one of the main principles of object-oriented programming, and its application in programming are studied. the properties of polymorphism that allow different objects to exhibit different behavior through the same interface are explained. the role and working principle of virtual functions in the implementation of dynamic polymorphism is considered. also, the definition of abstract functions and their use in object-oriented programming are investigated.
13. Inheritance
LectureIn the framework of the topic, the concept of inheritance, which is one of the main principles of object-oriented programming, and its role in software development are studied. the rules for creating and defining successor classes, as well as the relationship between base and successor classes, are explained. the characteristics of the members of the successor classes and the principles of applying to them are considered. also, rules for creating objects based on inherited classes and using them are investigated.