Course title | Algorithms and Structures |
Course code | DatZ3019 |
Credit points (ECTS) | 6 |
Total Hours in Course | 162 |
Number of hours for lectures | 32 |
Number of hours for laboratory classes | 32 |
Independent study hours | 98 |
Date of course confirmation | 25/10/2022 |
Responsible Unit | Institute of Computer Systems and Data Science |
Course developers | |
Mg. sc. ing., lekt. Jekaterina Smirnova Mg. sc. ing., lekt. Ingus Šmits |
|
Prior knowledge | |
DatZ1009, Introduction to Programming I DatZ1010, Introduction to Programming II |
|
Course abstract | |
The aim of the study course is to familiarize students with the principles of algorithms development, their basic elements and methods of performance analysis. During practical lessons, students create data structures, study algorithms related to their use, as well as analyse the realizations of data structures and algorithms included in the .NET platform. | |
Learning outcomes and their assessment | |
As a result of the study course students:
•know the basic principles of programming (laboratory work, independent work); •know how to code and debug programs, use good programming style, design algorithms and data structures (laboratory work, independent work); •are able to independently code and debug programs, compile and analyse ready-made algorithms and data structures (independent work). |
|
Course Content(Calendar) | |
1. Data types, conversion of data types conversion - 4 hours
2. Classes, relationships between classes, inheritance - 4 hours 3. List types: ArrayList, Queue, Stack - 4 hours 4. Developing a singly linked list - 8 hours 5. Developing a doubly linked lists - 4 hours 6. Using a parameterized list List 7. Use of Hashtable and Dictionary collections. Work with keys and values - 4 hours 8. Elementary sorting algorithms - 4 hours 9. Recursive sorting algorithms - 4 hours 10. Development of the wooden structure - 8 hours 11. Development of the binary search tree structure - 4 hours 12. Development of a simple graph structure - 8 hours 13. Development of Dijkstra's algorithm for graph structure - 4 hours |
|
Requirements for awarding credit points | |
Completed laboratory works and passed exam. | |
Description of the organization and tasks of students’ independent work | |
During the semester, the student must complete the laboratory works using the assignment descriptions using consultation with the head of the laboratory work and the lecturer. The student must independently develop an application on the chosen topic, study literature and Internet resources. | |
Criteria for Evaluating Learning Outcomes | |
The exam grade is formed as an accumulative assessment from two parts - assessment of laboratory work (40%), assessment of exam (60%). | |
Compulsory reading | |
1. Srivastava A.K. A Practical Approach to Data Structure and Algorithm with Programming in C. Oakville, ON: Arcler Press, 2020. 474 p. Pieejams: datubāzē EBSCO e-book academic collection https://search-ebscohost-com.ezproxy.llu.lv/login.aspx?direct=true&db=e000xww&AN=2324349&site=ehost-live&scope=site
2. Bums S. Hands-On Network Programming with C# and .NET Core: Build Robust Network Applications with C# and .NET Core. Birmingham: Packt Publishing, 2019. 473 p. Pieejams: datubāzē EBSCO e-book academic collection https://search-ebscohost-com.ezproxy.llu.lv/login.aspx?direct=true&db=e000xww 3. Malhotra D., Malhotra N. Data Structures and Program Design Using C: A Self-Teaching Introduction. Dulles, Virginia: Mercury Learning & Information, 2019. 553 p. Pieejams: datubāzē EBSCO e-book academic collection https://search-ebscohost-com.ezproxy.llu.lv/login.aspx?direct=true&db=e000xww 4.C# Tutorial [tiešsaiste]. Pieejams: https://www.w3schools.com/cs/index.php |
|
Further reading | |
1. Matzinger C. Hands-On Data Structures and Algorithms with Rust: Learn Programming Techniques to Build Effective, Maintainable, and Readable Code in Rust 2018. Birmingham, UK: Packt Publishing, 2019. 306 p. Pieejams: datubāzē https://search-ebscohost-com.ezproxy.llu.lv/login.aspx?direct=true&db=e000xww&AN=2012512&site=ehost-live&scope=siteEBSCO e-book academic collection 2.Chopra R., Raheja S. Design and Analysis of Algorithms. [S.l.]: NEW AGE International Publishers, 2020. 641 p. Pieejams: datubāzē EBSCO e-book academic collection https://search-ebscohost-com.ezproxy.llu.lv/login.aspx?direct=true&db=e000xww&AN=2706813&site=ehost-live&scope=site | |
Periodicals and other sources | |
•EBSCO e-book academic collection. Pieejams: https://web-p-ebscohost-com.ezproxy.llu.lv/ehost/search/selectdb?vid=0&sid=8715372b-5e1d-4646-9ecc-530bf329861f%40redis | |
Notes | |
For students of ITF professional higher education bachelor study programs Information Technologies for Sustainable Development and ITF academic bachelor study programs Computer Management and Computer Science. |