Algorithms and Data Structures (курсова робота)

Major: Publishing and Printing
Code of subject: 6.186.00.O.010
Credits: 2.00
Department: Publishing Information Technologies
Lecturer: PhD, Associate professor, Nataliya Kustra
Semester: 2 семестр
Mode of study: денна
Learning outcomes: • Be able to design a general algorithm for a complex system, to conduct the necessary justifications for software development, • • Be able to choose the optimal algorithms for the implementation of individual components, use modern sources of information, including Internet resources; • • Know and be able to choose a software development environment; • • Be able to independently implement the built algorithms programmatically, bring the work to a logical conclusion, analyze the results.
Required prior and related subjects: Prerequisites: • Basics of programming. • Algorithms and data structures Сo-requisites: • • Object-oriented programming
Summary of the subject: • Formulation of the problem • Review of existing approaches to solving the problem • The statement of the problem on software development is specified • Software product development • Problem solving method • Algorithm for solving the problem • Description of the developed software product • Description of the main structures and variables of the program • Description of the main functions of the program • Description of the interface of the developed software product • Results • Software tools used. • References, including sources from the Internet.
Assessment methods and criteria: The quality of the course project (work) is evaluated by the following criteria: Сonformity of course project (work) to the task and the requirements guidelines for its implementation. Autonomy solve the task, project design, calculations, drawings, graphs and tables; The presence of elements of research character. The using of computer technology; Making explanatory notes, graphics accordance with the design and technological documentation. The maximum total - 100 points.
Recommended books: 1. Ахо А., Хопкрофт Д., Ульман Д. Структуры данных и алгоритмы: Пер. с англ. – М.: Вильямс, 2009. – 400 с. 2. Хэзфилд Р., Кирби Л. и др. Искусство программирования на Си. Фундаментальные алгоритмы, структуры данных и примеры приложений. Энциклопедия программиста: Пер. с англ. – К.: Изд-во "ДиаСофт", 2001. – 736 с. 3. Подбельский В.В., Фомин С.С. Программирование на языке Си. – М.: Финансы и статистика, 2005. – 600 с.

Algorithms and Data Structures

Major: Publishing and Printing
Code of subject: 6.186.00.O.008
Credits: 5.00
Department: Publishing Information Technologies
Lecturer: PhD, Associate professor, Nataliya Kustra
Semester: 2 семестр
Mode of study: денна
Learning outcomes: • Know the tools of structural programming; • Know the programming technology and functionality of the programming language C; • Be able to set the task; develop a scheme for its solution; to provide input, processing and output of the necessary textual and graphic information; • Be able to write a program for solving a problem using the C language; debug and implement the program in the integrated environment Visual Studio C ++ and Dev C. • Be able to create data structures and algorithms for their processing.
Required prior and related subjects: Prerequisites: • Basics of programming. Сo-requisites: • • Object-oriented programming.
Summary of the subject: Functions in C-programs Function call organization. Access to functions. Interaction of formal and actual parameters. Transfer parameters by value. Use pointers to pass parameter addresses and return function results. Features of access to arrays as parameters of functions. Return character strings from functions. Command line options and the main () function. Associations and structures as parameters of functions. Type function. Pointers to functions and their application. Functions as function parameters. Recursive functions. Functions with a variable number of parameters. Features of ad and access to settings. Scope of data. Memory models Local and global variables. Initialization, scope, and lifetime of program objects. Data memory classes. External data and functions. Layout of multifile programs. RAM allocation in models: Tiny, Small, Compact, Large, Huge. Short and long pointers. Features of use. Dynamic memory allocation Manage memory allocation for variables during program execution. Library functions for working with dynamic memory. Programming dynamic lists Dynamic data structures: lists, queues, stacks, trees. Streaming I / O The concept of flow. Standard streams C. Streamed buffered and low-level unbuffered data input-output. File opening modes. Library functions for exchanging data with text files. Block exchange functions with binary files. The sequence of steps for editing the contents of a file. Additional library functions for working with files and directories. Elements of object-oriented programming and some features of the C ++ language. Basic principles of OOP technology. Classes in C ++. Class members - data and functions, access rights to class members. Examples of class definitions.
Assessment methods and criteria: written reports on laboratory work, oral examination (40%) final control (control measure), written-oral form (60%)
Recommended books: 1. Вирт Н. Алгоритмы и структуры данных: Пер. с англ. – СПб.: Невский диалект, 2008. – 352 с. 2. Ахо А., Хопкрофт Д., Ульман Д. Структуры данных и алгоритмы: Пер. с англ. – М.: Вильямс, 2009. – 400 с. 3. Подбельский В.В., Фомин С.С. Программирование на языке Си. – М.: Финансы и статистика, 2005. – 600 с.