Computer science 1

Practical Mathematics
3 year
Hours per week – 1. semester:

Completed course Programming 2.

Content (Syllabus outline)

The basics of algorithm analysis
Basic data structures. Stack, queue, linked list. Trees, graphs.
Basic methods of algorithms development with examples. Divide and conquer. Greedy method. Dynamic programming.


T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein: Introduction to Algorithms, 2. izdaja, MIT Press, Cambridge, 2001.
I. Kononenko, M. Robnik Šikonja: Algoritmi in podatkovne strukture I, 1. izdaja, Fakulteta za računalništvo in informatiko, Ljubljana, 2003.
I. Kononenko, M. Robnik Šikonja: Algoritmi in podatkovne strukture II, 1. izdaja, Fakulteta za računalništvo in informatiko, Ljubljana, 2004.
J. Kozak: Podatkovne strukture in algoritmi, DMFA založništvo, Ljubljana, 1997.
Spletne strani in tečaji (Coursera, Udacity, Edx ...) s tega področja, izbor je vsakoletno osvežen na spletni strani predmeta.
Zapiski s predavanj, gradivo za vaje in ostalo gradivo v spletni učilnici predmeta.
Web sites and courses (Coursera, Udacity, Edx...), selection is annually refreshed on the Web site of the subject.
Notes from lectures, tutorials and other resources in the online classroom.

Objectives and competences

Students will learn the basic data structures and related algorithms. They will be able to use newly learnt data structures and algorithms solving mathematical problems and problems in real life.

Intended learning outcomes

Knowledge and understanding:
The student learns some of the fundamentals of data structures and algorithms, as well as practical problems where they can be applied.
The student develops the ability to design effective computer programs and the ability to predict their behavior.
The student develops the ability of integration of theoretical and practical procedures in the development of algorithms.
Transferable skills:
The subject is connected with Computing Science 2.

Learning and teaching methods

Lectures, exercises, homeworks, consultations


Oral exam – the presentation of term paper
Students receive two grades: one from the written exam and home works and the other from the oral exam.
grading: 5 (fail), 6-10 (pass) (according to the Statute of UL)

Lecturer's references

Sergio Cabello:
CABELLO, Sergio, CHAMBERS, Erin W., ERICKSON, Jeff. Multiple-source shortest paths in embedded graphs. SIAM journal on computing, ISSN 0097-5397, 2013, vol. 42, no. 4, str. 1542-1571. [COBISS-SI-ID 16668761]
CABELLO, Sergio. Many distances in planar graphs. Algorithmica, ISSN 0178-4617, 2012, vol. 62, no. 1-2, str. 361-381. [COBISS-SI-ID 15702873]
Sergio Cabello:
BERG, Mark de, CABELLO, Sergio, HAR-PELED, Sariel. Covering many or few points with unit disks. Theory of computing systems, ISSN 1432-4350, 2009, vol. 45, no. 3, str. 446-469. [COBISS-SI-ID 14900825]
Matija Lokar:
MARKOVIČ, Katja. Izdelava vodičev za uporabo programa GeoGebra : diplomska naloga. Ljubljana: [K. Markovič], 2011. 73 f., ilustr. [COBISS-SI-ID 16189529]
LOKAR, Matija. Designing tasks for CAS/DGS classrooms. V: TIME 2010, Technology and its Integration into Mathematics Education, July 6th-10th, 2010, Málaga, Spain. Proceedings of TIME 2010 : Technology and its Integration into Mathematics Education. Málaga: Universidad de Málaga, 2011, 17 str. [COBISS-SI-ID 15643993]
LOKAR, Matija. Some issues on designing tasks for CAS classrooms. V: 6th Came symposium: structured abstracts : 16-17 July 2009, Megatrend University, Belgrade, Serbia. Beograd: Megatrend University, 2009, str. 15-16. [COBISS-SI-ID 15241817]
KUDREVIČIUS, Evelina. Platforma SharePoint in oblikovanje glavne strani : diplomska naloga. Ljubljana: [E. Kudrevičius], 2008. 77 f., ilustr. [COBISS-SI-ID 15105625]
LOKAR, Matija. Prvenstvo študentskih ekip Univerze v Ljubljani v programiranju 2002. Ljubljana: [Fakulteta za matematiko in fiziko], 2002. 100 str., ilustr. [COBISS-SI-ID 12122457]