Programming I
Osnovni podatki
Nosilec: Iztok Fajfar
Vrsta predmeta: Obvezni – strokovni
Število kreditnih točk: 5
Semester izvajanja: 1. semester
Koda predmeta: 64604
Opis predmeta
The course deals with algorithms and data structures. Students learn about some simple algorithms for solving elementary mathematical and engineering problems. We program algorithms in JavaScript, which we do not cover in detail, but just enough to be able to test the algorithms. The course explains general concepts such as variable, reference, subroutine, parameter and argument, and the differences between local and global variables. We learn about abstract data types (e.g., stack and queue) and data structures (e.g., array and linked list). The course deals with systematic approaches to designing complex algorithms and data structures. We deal with different debugging techniques. The course addresses the concept of algorithm efficiency, especially in relation to time and space complexity. Finally, we learn about the design processes of recursive algorithms and explain in which cases such approaches are sensible and effective.
Cilji
Students learn the principles of algorithmic thinking in describing everyday problems. They also learn the basic skills of computer programming and the design and testing of software solutions. It is especially important that they understand the role of programming in the engineering profession.
The material is designed to provide a foundation for learning the C programming language.
Metode poučevanja in učenja
Two hours of lectures and two hours of hands-on exercises per week, lecture recordings, textbook, homework assignments, individual work with more advanced students.