Algorithms and Programming

Major: Information and Communication Systems
Code of subject: 6.126.01.O.001
Credits: 6.00
Department: Information Systems and Networks
Lecturer: PhD in Physics and Mathematics, Hryhorovych Viktor Hennadiyovych
Semester: 1 семестр
Mode of study: денна
Мета вивчення дисципліни: Formation of students' theoretical knowledge base on algorithmization and programming using modern high-level programming languages, familiarization with the principles of finding errors in programs and their debugging and testing methods, and formation of practical skills for working with typical programming tasks and methods of solving them.
Завдання: The study of an educational discipline involves the formation of competencies in students of education: Integral competence: The ability to solve complex specialized tasks and practical problems in the field of information systems and technologies, or in the learning process, characterized by complexity and uncertainty of conditions that require the application of theories and methods of information technologies. General competences: 1. Ability to abstract thinking, analysis and synthesis. 2. Ability to apply knowledge in practical situations. 3. Ability to understand the subject area and professional activity. 7. Ability to develop and manage projects. 8. Ability to evaluate and ensure the quality of the work performed. 10. The ability to preserve and multiply moral, cultural, scientific values and achievements of society based on an understanding of the history and patterns of development of the subject area, its place in the general system of knowledge about nature and society and in the development of society, technology and technology, to use various types and forms of motor activities for active recreation and leading a healthy lifestyle. special (professional, subject) competences: 3. Ability to design, develop, debug and improve system, communication and software hardware of information systems and technologies, the Internet of Things (IoT), computer-integrated systems and system network structure, their management. 4. The ability to design, develop and use the means of implementing information systems, technologies and information communications (methodical, informational, algorithmic, technical, software and others). 5. The ability to evaluate and take into account economic, social, technological and environmental factors at all stages of the life cycle of information and communication systems. CS 13. Ability to conduct computational experiments, compare the results of experimental data and obtained solutions.
Learning outcomes: As a result of studying the academic discipline, the student must be able to demonstrate the following learning outcomes: 1. Use basic knowledge of informatics and modern information systems and technologies, programming skills, technologies for safe work in computer networks, methods of creating databases and Internet resources, technologies for developing algorithms and computer programs in high-level languages using object-oriented -oriented programming for solving design problems and using information systems and technologies. 2. Ability to communicate, including oral and written communication in Ukrainian and foreign (English) languages; 3. Ability to use various methods of modern information technologies for effective communication at the professional and social levels. 4. Ability to adapt to new situations and make appropriate decisions; 5. The ability to realize the need for lifelong learning in order to deepen the acquired and acquire new professional knowledge; 6. The ability to take responsibility for the work performed, to make decisions independently, to achieve the set goal in compliance with the requirements of professional ethics; 7. Ability to demonstrate understanding of basic ecological principles, occupational health and safety, and their application.
Required prior and related subjects: Associated academic disciplines: Basics of Information Technologies Discrete Mathematics The following academic disciplines: Object-Oriented Programming
Summary of the subject: The discipline "Algorithmization and programming" is intended for training a modern highly qualified specialist in the field of computer science and information technology. In the discipline, the basic concepts, methodologies and tools of building algorithms and programming are laid out in a logical sequence. The discipline includes the following sections: Basic concepts of programming systems. Version control systems. Basic algorithmic designs and their software implementation. Standard data structures and algorithms for their processing. Automated software testing. The presentation of the material is carried out in sequence, which makes it possible to build the study of the discipline according to increasing complexity. All statements are accompanied by illustrative examples. Each topic ends with a set of carefully selected practical and laboratory tasks. The amount of practical and laboratory material is significant (it makes up 40% of the total volume of the discipline) and is close to the real tasks of an IT specialist.
Опис: 1. Basic concepts of programming systems 2. Linear programs. Version control systems 3. Branching 4. Cycles 5. Unit tests. Organization of functions. Recursion 6. One-dimensional arrays. Type system 7. Multidimensional arrays 8. Letter lines (strings) 9. Programs and modules. Preprocessor directives 10. Enumerations, structures, unions 11. Text files 12. Binary files
Assessment methods and criteria: Diagnostics of knowledge is carried out by evaluating the completed laboratory works (delay in the execution and defense of work without valid reasons - reduces the grade by 10% for each week of such delay), three control works in the form of test questions and examination control (written and oral components) in the form of solutions solving tasks for writing programs.
Критерії оцінювання результатів навчання: Current control is 40 Exam: Written component - 50 Oral component - 10
Порядок та критерії виставляння балів та оцінок: 100–88 points – (“excellent”) is awarded for a high level of knowledge (some inaccuracies are allowed) of the educational material of the component contained in the main and additional recommended literary sources, the ability to analyze the phenomena being studied in their interrelationship and development, clearly, succinctly, logically, consistently answer the questions, the ability to apply theoretical provisions when solving practical problems; 87–71 points – (“good”) is awarded for a generally correct understanding of the educational material of the component, including calculations, reasoned answers to the questions posed, which, however, contain certain (insignificant) shortcomings, for the ability to apply theoretical provisions when solving practical tasks; 70 – 50 points – (“satisfactory”) awarded for weak knowledge of the component’s educational material, inaccurate or poorly reasoned answers, with a violation of the sequence of presentation, for weak application of theoretical provisions when solving practical problems; 49-26 points - ("not certified" with the possibility of retaking the semester control) is awarded for ignorance of a significant part of the educational material of the component, significant errors in answering questions, inability to apply theoretical provisions when solving practical problems; 25-00 points - ("unsatisfactory" with mandatory re-study) is awarded for ignorance of a significant part of the educational material of the component, significant errors in answering questions, inability to navigate when solving practical problems, ignorance of the main fundamental provisions.
Recommended books: 1. Ковалюк Т. В. Алгоритмізація та програмування: підручник з грифом МОН України / Т. В. Ковалюк. – Львів: Магнолія-2006, 2013. – 400 с. 2. Павловская Т. А. С/С++. Программирование на языке высокого уровня / Т. А. Павловская. – СПб. : Питер, 2007. – 461 с. 3. Шаховська Н. Б. Алгоритми та структури даних / Н. Б. Шаховська, Р. О. Голощук. – Львів : Магнолія-2006. – 2009. – 216 с.