WORLD GATEWAY EDUCATION AGENCY WORLD GATEWAY EDUCATION AGENCY
Université des Technologies de l'Information et de la Gestion

Génie logiciel

Célibataire À temps plein 4 ans

À propos de la formation

I. The content of science

The goal of teaching the subject is to teach students the theoretical foundations of knowledge on data structures used in programming, their specification and implementation, data processing algorithms and the analysis of these algorithms, the interrelationship of algorithms and data structures, and to develop the skills to apply them in practice .

The task of science is to develop algorithms and data structures, to form a methodological approach and scientific outlook on the processes of building and using complex data structures using an abstract data model, to reveal the main classes of algorithms, the data structures used in them, and the general methods for solving problems based on them, as well as the role and importance of analyzing their content and essence, the complexity of algorithms and programs .

II. Main theoretical part (lectures)

Science content following topics includes :

1 . Data types and algorithms. Abstract data structures. Development and analysis of algorithms. Data and stages of their representation. Classification of data structures. Structured data types: arrays, vectors, records, sets and pointer types.

Topic 2 . Recursion and its application in programming . Data retrieval algorithms. Recursive algorithms, their analysis. Examples of recursion. The concept of search and its function. Linear search. Binary search. Efficiency and optimization of search methods.

Topic 3. Data hashing algorithms. Data sorting algorithms. Hash tables and hash functions. The concept of sorting and its function. Strict methods of sorting.

Topic 4 . Data sorting algorithms. Linear data structures. Improved sorting methods. Static and dynamic arrays. Linear containers. Iterators and their types.

Topic 5. Linearly linked lists. Concepts of linked lists. Logical representation of linearly linked lists. Doubly linked lists .​

Topic 6. Stacks, queues, and declaratives . Representing stacks, queues , and declaratives using arrays . Representation of stack, queue and declaration using linearly linked list. Priority queues. Dictionaries and their implementation.

Topic 7. Tree - like data structures. Binary search tree. Definitions and properties of tree-like data structures . Classification of trees. Tree view. Adding, deleting, and searching algorithms for a binary search tree. Balanced binary trees. Balancing algorithms: general and specific balancing algorithms. AVL tree.

Topic 8. Binary trees in the form of a heap tree. Description of the heap tree structure. Algorithms for performing operations on a heap tree. Methods and efficiency of organizing a heap tree .

Topic 9. Graphs with work Algorithms . Methods of graph representation: joint matrix and attitude matrix . Q is the adjacency list and the list of edges.

III . Instructions and recommendations for practical exercises :

For practical exercises​ Recommended topics in the q house:

1. Data 's every different types of again work programs compilation . Types of algorithms.

2. Creating general-purpose data structures.

3. Analysis of recursive examples. Recursive algorithms program working exit​

4. Data search  algorithms and programs working exit​

5. Information structures hashing algorithms using harvest to do

6. Data sorting algorithms and programs working exit​

7. Linear information structures again work and programs to compile .

8. Linear connected​ lists with work algorithms and programs to compile .

9. Stack , queue and as with work algorithms and programs to compile .

10. Tree-like information structures again work and programs to compile .

11. Binary trees with work algorithms .

12. Heap tree view binary trees with work algorithms .

13. Graphs vision algorithms working exit​

14. Given the count logical to describe methods .

15. In graphs the most short the way determination algorithms and programs to compile .

IV. Independent learning and independent work

The main goal of student independent work is to form and develop knowledge and skills to independently perform specific educational tasks under the guidance and supervision of a teacher.

Student information summaries:

• apply knowledge in practice;

• scientific article on creating models and model baths.

Recommended topics for independent study:

1. Data , algorithms and information structure concepts .

2. Data expression stages . Information Categories .

3. Configured data types: arrays, vectors, records, sets, and pointer types.

4. Data search methods , algorithms and their efficiency . Search concept and his/her task .

5. Data sorting algorithms . Sorting concept and his/her task .

6. Classification of linked lists, Logical representation of linearly linked lists.

7. Stack . Stack array using to describe and they on action to perform algorithms .

8. Queue . Queue array using to describe and they on action to perform algorithms .

9. Dec. Dec.​ array using to describe and they on action to perform algorithms .

10. Stack, queue, and dec. Algorithms for representing stack, queue, and dec using a linearly linked list and performing operations on them.

11. Balancing algorithms: general and specific balancing algorithms.

12. In graphs the most short the way determination problems . In graphs the most short the way determination algorithms analysis .

13. In graphs the most short the way Ford– Belmann detection .

14. In graphs the most short the way of determination Dijkstra algorithms .

V. Results of science teaching (developed competencies).

  • have an idea of data structures and algorithms, stages of data structure organization, efficiency of algorithms, creation of new structures using classes and templates, working in different programming environments, creation of complex software ; (knowledge)
  • and ability to use various data, data retrieval, sorting, hashing algorithms and methods, data structures and software implementations for performing operations on them ; (skill)\
  • Must have the skills to develop new data structures and apply them to the educational and production process, depending on the problem being addressed . (qualification)

VI. Educational technologies and methods:

• lectures

• interactive case stadiums:

• practical (logical thinking, quick questions and answers)

• work in small groups

• making presentations

• individual projects

• brainstorming, preparing projects for teamwork and defense, etc.

VII. Requirements for obtaining loans :

Fully master the theoretical and methodological concepts of the subject, be able to correctly reflect the results of the analysis, conduct independent observations of the processes being studied, and complete the tasks and assignments given in the current and intermediate forms of control, and submit the final control work.

Main literature

  1. B. A. Turg‘unov, X. X. Uzoqov - "Ma’lumotlar tuzilmalari va dasturlash" (2017).
  1. Sh. F. G‘ulomov - "Algoritmlar va dasturlash texnologiyalari" (2015).

Additional literature

  1. X. A. Raximov, I. I. Xasanov - "Ma’lumotlar tuzilmalari va algoritmlar" (2018)
  1. A. X. Xolmirzaev, Sh. S. Qayumov - "Dasturlash va algoritmlar asoslari" (2016)
  1. A. Sh. Mamadiev - "Dasturlash va ma’lumotlar tuzilmalari" (2020)
  1. M. T. Qayumov - "Algoritmlar va ularni dasturda qo‘llash" (2014)
  1. Adam Drozdek - "Data Structures and Algorithms in C++" (Fourth Edition, 2013)
  1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein - "Introduction to Algorithms" (Third Edition, 2009)
  1. Robert Sedgewick, Kevin Wayne - "Algorithms" (Fourth Edition, 2011)
  1. Mark Allen Weiss - "Data Structures and Algorithm Analysis in C++" (Fourth Edition, 2013)
  1. Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser - "Data Structures and Algorithms in Java" (Sixth Edition, 2014)
  1. Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman - "Data Structures and Algorithms" (1983)

Internet resources

1. https://www.udacity.com/course/data-structures-and-algorithms-nanodegree--nd256

2. https://leetcode.com/

3. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/

5. https://www.coursera.org/courses?query=data%20structures%20and%20algorithms

6. https://www.khanacademy.org/computing/computer-science/algorithms.

Formations similaires