Programming Techniques, part 1

Major: Cybersecurity
Code of subject: 6.125.00.O.006
Credits: 8.00
Department: Information Security
Lecturer: Ph.D., Associate Professor Otenko Viktor Ivanovych
Semester: 1 семестр
Mode of study: денна
Learning outcomes: The study of the discipline involves the formation of competencies from education: general competences: GC 1. The ability to apply knowledge in practical situations; GC 2. Knowledge and understanding of the subject area and understanding of the profession; GC 4. Ability to identify, put and solve problems by professional direction; GC 5. Ability to search, process and analyze information. professional competences: PC 2. The ability to use information and communication technologies, modern methods and models of information security and/or cybersecurity; PC 3. The ability to use software and software complexes of information security tools in information and telecommunication (automated) systems. Learning results: KN 13. Knowledge of modern achievements of innovative technologies in the field of information technologies, cybersecurity and management; KN 14. Knowledge and understanding of scientific principles underlying cybersecurity and information technologies; KN 15. Possession of methods of general scientific analysis in the field of information technologies and information security; KN 18. Ability to demonstrate knowledge of the current state of affairs and the latest technologies in the field of information technologies and information security.
Required prior and related subjects: • Mathematics - under high school program. • Informatics - under high school program.
Summary of the subject: Algorithms. Imperative, structural and procedural programming. The history of the C language. Characteristics and features of the C language. Elements of the C language. C program structure. Declarations. Expressions, operations and operands. Operators. Functions. Preprocessor directives and pragmas. Work with text strings, files and dynamic memory.
Assessment methods and criteria: Evaluation methods. 1) Current control: • preliminary identification of students' knowledge before starting classes; • current verification in the process of assimilating each topic studied; • assessment of the student's activity in the process of lecture classes; • assessment of the student's activity in the process of practical classes; • verification of laboratory work; • verification of practical work; • an oral questioning of the assimilation of knowledge gained in the process of laboratory work. 2) The final (examination) control is carried out according to the results of test control and oral survey. Evaluation criteria: • Current control - 30%; • Examination control - 70% (written component - 60%, oral component - 10%).
Recommended books: 1. Прата, С. Язык программирования С. Лекции и упражнения, 6-е изд. : Пер. с англ. - М. : ООО “И.Д. Вильямс”, 2015. 2. Проценко В.С., Чаленко П.Й., Ставровський А.Б. Техніка програмування мовою Сі: Навч. посібник.- К.: Либідь, 1993. 3. Клеменс Б. Язык С в XXI веке / Пер. с англ.- М.: ДМК Пресс, 2015.

Programming Techniques, part 1

Major: Cybersecurity
Code of subject: 6.125.00.O.005
Credits: 8.00
Department: Information Technology Security
Lecturer: Professor Leonid Vasylyovych Moroz, Professor Lesya Zynoviyivna Mychuda
Semester: 1 семестр
Mode of study: денна
Learning outcomes: The aim of the course is to provide students with thorough theoretical knowledge and practical skills and abilities of software development using structural and object-oriented programming technologies, students to master algorithmic programming languages ??C and C # and relevant toolkits as a basis for creating software in information technology. As a result of studying the discipline, the student must be able to demonstrate the following results: 1. Ability to demonstrate knowledge and understanding of the basic principles of developing algorithms for solving problems; 2. Apply knowledge and understanding to build algorithms for solving problems; 3. Ability to demonstrate knowledge and understanding of the paradigms of structural programming and algorithmic language C; 4. Apply knowledge and understanding to develop and debug software implemented in the algorithmic language C; 5. Ability to demonstrate knowledge and understanding of object-oriented programming paradigms and C # algorithmic language; 6. Apply knowledge and understanding to develop and debug software implemented in the algorithmic language C #; 7. Apply knowledge and understanding to work with software development software packages in algorithmic languages ??C and C #. The study of the discipline involves the formation and development of students' competencies: LC 1. Ability to apply knowledge in practical situations. LC 2. Knowledge and understanding of the subject area and understanding of the profession. LC 4. Ability to identify, pose and solve problems in a professional direction. LC 5. Ability to search, process and analyze information. FC 2. Ability to use information and communication technologies, modern methods and models of information security and / or cybersecurity. FC 3. Ability to use software and software-hardware complexes of information protection in information and telecommunication (automated) systems. The learning outcomes of this discipline detail the following program learning outcomes: ZN 13. Knowledge of modern achievements of innovative technologies in the field of information technologies, cybersecurity and management. ZN 14. Knowledge and understanding of scientific principles underlying cybersecurity and information technology. ZN 15. Possession of methods of general scientific analysis in the field of information technology and information security. ZN 18. Ability to demonstrate knowledge of the current state of affairs and the latest technologies in the field of information technology and information security.
Required prior and related subjects: Mathematics - according to the high school program Informatics - according to the high school program
Summary of the subject: Algorithms. Structural programming paradigms. History of the language C. Characteristics and features of the language C. Elements of language C: alphabet; constants; identifiers, keywords, comments. The structure of the program in C: source program; source files; program execution. The structure of the program in C: the concept of lifetime and scope of objects of the C-program; the concept of namespace. Declaring language objects C: basic data types and areas of their values; syntax and rules of interpretation of descriptors. Declaring language objects C: declaring variables; function announcement; initialization of variable basic and complex types; abstract type names; ad typedef. Expressions and operands: identifiers; constants; character strings; function calls; index expressions; element selection expressions; L-expressions; parentheses and constant expressions. C language operations: conversion of default operand types; unary, multiplicative, additive operations. C language operations: shift and ratio operations; logical operations; bitwise logical operations; sequential calculation operation; conditional operation. C language operations: assignment operations; priority and order of operations execution; the concept of side effects; type conversion. C language operators: empty and compound operators; expression operator; conditional operator. C language operators: loop operators; loop process control operators. C language operators: switch operator; transition operator; return operator. Functions of the C language: declaration and definition of functions. Functions of the C language: function call; functions with a variable number of arguments; recursive functions; library of standard functions and its use. Preprocessor directives and compiler instructions: named constants and macro definitions. Preprocessor directives and compiler instructions: #define and #undef directives. Preprocessor directives and compiler instructions: file inclusion and conditional compilation directives; compilation process management.
Assessment methods and criteria: current control 30% = survey in practical classes - 5% and evaluation of reports on laboratory work - 25% final control 70% = exam = written component 60% and oral component 10%
Recommended books: Recommended Books Basic 1. Linger R. et al. Theory and practice of structural programming: Per s Engl.- M .: Mir, 1982. 2. Kernigan B., Ritchie D., Fuer A. C programming language. Problems in the C language: Per. with English.- M .: Finance and Statistics, 1985. 3. Bochkov SO, Subbotin DM C programming language for personal computer.- M .: Radio and communication, 1990. 4. Waite M., Prata S., Martin D. Language C. Beginner's Guide: Per. with English.- M .: Mir, 1988. 5. Protsenko VS, Chalenko PY, Stavrovsky AB Technique of programming in C language: Textbook. manual.- K .: Lybid, 1993. 6. Frolov AV, Frolov GV C # language. Self-taught.- M .: DIALOGUE-MYTHS, 2003. 7. Shieldt G. C # 4.0: A Complete Guide. / Per. with English - М .: ООО "И.Д. Вильяме", 2011. 8. Griffiths D. We study programming in C. / Per. с англ.- М .: Эксмо, 2013. 9. Albahari D, Ablahari B. C # 6.0. Directory. Full description of the language, 6th ed. - Per. with English - M .: LLC "ID William", 2016. 10. Troelsen, Andrew. C # 5.0 programming language and .NET 4.5 platform, 6th ed. - Per. with English - М .: ООО “И.Д. Williams ”, 2013. 11. Heilsberg A., Torgersen M., Wiltamut S., Gold P. C # programming language. Classics Computers Science. 4th ed. - СПб .: Питер, 2012. Auxiliary 1. Clemens B. Language C in the XXI century / Per. with English.- M .: DMK Press, 2015. 2. Prata, S. Programming language S. Lectures and exercises, 6th ed. : Пер. with English - М .: ООО “И.Д. Williams ”, 2015. 3. McGrath M. C programming for beginners. / Per. с англ.- М .: Эксмо, 2016. 4. Berry R., Mikkins B. Language C: an introduction for programmers: Per. with English.- M .: Finance and Statistics, 1988. 5. Bolski MI C programming language. Directory: Per. with English.- M .: Radio and communication, 1988. 6. Jehani N. Programming in C: Per. with English.- M .: Radio and communication, 1988. 7. Wiener R. Turbo Sea Language: Per. with English.- M .: Mir, 1991. 8. Troy D. C programming for IBM PC. / Per. with English.- M .: Radio and communication, 1991. 9. Petzold C. Programming for Microsoft Windows in C #. In 2 volumes. Volume 1. / Per. from English.- M .: Publishing and Trading House "Russian edition", 2002. 10. Petzold C. Programming for Microsoft Windows in C #. In 2 volumes. Volume 2. / Per. from English.- M .: Publishing and Trading House "Russian edition", 2002. 11. Dubovtsev AV Microsoft .NET in the original / Ed. VEPyshkina.- SPb .: BHV-Petersburg, 2004. 12. Marchenko AL Fundamentals of programming in C # 2.0.- BINOM. Knowledge Laboratory, Internet University of Information Technologies - INTUIT.ru, 2007. 13. Mickelsen K. C # programming language. Lectures and exercises. / Per. with English.- M .: DiaSoft, 2002. Information resources 1. https://msdn.microsoft.com/uk-ua/