Course code DatZ3019
Credit points 6
Total Hours in Course162
Number of hours for lectures32
Number of hours for laboratory classes32
Independent study hours98
Date of course confirmation25.10.2022
Responsible UnitInstitute of Computer Systems and Data Science
Mg. sc. ing.
Mg. sc. ing.
DatZ1009, Introduction to Programming I
DatZ1010, Introduction to Programming II
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.
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).
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
Completed laboratory works and passed exam.
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.
The exam grade is formed as an accumulative assessment from two parts - assessment of laboratory work (40%), assessment of exam (60%).
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
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
• 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
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.