Latviešu Krievu Angļu Vācu Franču
Statuss(Aktīvs) Izdruka Arhīvs(0) Studiju plāns Vecais plāns Kursu katalogs Vēsture

Course title Fundamental Algorithms
Course code InfT5039
Credit points (ECTS) 6
Total Hours in Course 162
Number of hours for lectures 24
Number of hours for seminars and practical classes 24
Independent study hours 114
Date of course confirmation 06/09/2022
Responsible Unit Institute of Computer Systems and Data Science
 
Course developers
Mg. sc. ing., pasn. Mārtiņš Štāls

Prior knowledge
DatZ1009, Introduction to Programming I
DatZ1010, Introduction to Programming II
Course abstract
The purpose of the study subject is to introduce students with methods for creating and representing data structures and algorithms for working with widely used data structures. Different algorithms descriptions are connected to practical realization. The different programs fragments of code are foreseen, which is possible to use in the complicated applications.
Learning outcomes and their assessment
• Students know about creating and analysing algorithms and data structures;
• have skills in choosing correct algorithms and data structures; • are able to use algorithms and data structures for solving specific problems and analyse obtained results.
Course Content(Calendar)
1. Arrays – 1h
2. Singly linked list – 2h
3. Doubly linked list - 4h
4. Cyclic linked list – 2h
5. Stack and Queue – 2h
6. Binary search – 2h
7. Construction of binary search tree – 4h
8. Search with binary search tree – 2h
9. Graph traversal: depth-first search – 4h
10. Graph traversal: breadth-first search - 4h
11. Dijkstra’s shortest path – 6h
12. Classification with kNN – 6h
13. Classification with kNN and naive Bayes – 4h
14. Levenshtein distance 2h
15. Bitcoin: A Peer-to-Peer Electronic Cash System - 2h 16. Smart Contract and Decentralized Application Platform 1h
Requirements for awarding credit points
Practical works and project have to be developed and presented.
Description of the organization and tasks of students’ independent work
Practical works:
1. Doubly linked list or Cyclic linked list.
2. Binary search tree.
3. Graph traversal: depth-first search.
4. Dijkstra’s fastest path.
5. Levenshtein distance. 6. Project.
Criteria for Evaluating Learning Outcomes
1.practiacal works (60%); 2.project (40%).
Compulsory reading
1. Skiena S.S. The Algorithm Design Manual. London: Springer-Verlag, 2008. 730 p.
2. Goodrich M.T., Tamassia R. Algorithm Design and Applications. John Wiley & Sons, Inc, 2015.
3. Nakamoto S. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008. Pieejams: https://bitcoin.org/bitcoin.pdf
4. Buterin V. A Next-Generation Smart Contract and Decentralized Application Platform. 2015. Pieejams: https://people.cs.georgetown.edu/~clay/classes/fall2017/835/papers/Etherium.pdf


Notes
ITF Master's Academic Study Program "Information Technologies".