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". |