Introduction to C programming language.
Basic data types and basic control structures.
Program design and debugging.
Pointers and arrays (part 1).
Pointers and arrays (part 2).
Functions and parameter passing.
Dynamic memory allocation.
Strings.
Input-output operations.
Structures.
Simple sorting algorithms.
Recursion and backtracking (part 1).
Recursion and backtracking (part 2).
Preprocessor.
Programming 2
Boštjan Slivnik
B. W. Kernighan, D. Ritchie: Programski jezik C, Fakulteta za računalništvo in informatiko, 1994.
T. Dobravec: abC, Fakulteta za računalništvo in informatiko, 2010.
A. Kavčič, M. Privošnik, C. Bohak, M. Marolt, S. Divjak: Programiranje in algoritmi skozi primere, Založba FE in FRI, 2010
The goal of the course is to widen the programming skills by learning the most basic and advanced programming techniques.
General competences:
Developing skills in critical, analytical and synthetic thinking
The ability to understand and solve professional challenges in computer and information science
The ability to apply acquired knowledge in independent work for solving technical and scientific problems in computer and information science, the ability to upgrade acquired knowledge
Subject-specific competences:
Basic skills in computer and information science, which includes basic theoretical skills, practical knowledge and skills essential for the field of computer and information science
Basic skills in computer and information science, allowing the continuation of studies in the second study cycle
Knowledge and understanding:
The ability to independently develop programs, the familiarity with basic data structures and algorithms.
Application:
Writing simple programs for solving moderate programming problems.
Reflection:
Understanding the basic principles of designing programs and algorithms and understanding their role in the development of large systems.
Transferable skills:
The ability to design the solution of different problems using programs and algorithms, the ability to use the presented programming concepts in an arbitrary programming language.
Lectures, home works, seminar works during tutorials. The emphasis is on continuous study and homeworks.
Continuing (three homework programming projects, short tests)
Final (exam)
grading: 5 (fail), 6-10 (pass) (according to the Statute of UL)
ROŽANC, Igor, SLIVNIK, Boštjan. Using reverse engineering to construct the platform independent model of a web application for student information systems. Computer science and information systems, ISSN 1820-0214. [Print ed.], 2013, vol. 10, no. 4, str. 1557-1583, ilustr. , doi: . [COBISS-SI-ID 10226516]
CANKAR, Matija, ARTAČ, Matej, ŠTERK, Marjan, LOTRIČ, Uroš, SLIVNIK, Boštjan. Co-allocation with collective requests in grid systems. Journal for universal computer science, ISSN 0948-6968, 2013, vol. 19, no. 3, str. 282-300, ilustr. [COBISS-SI-ID 9797972]
SLIVNIK, Boštjan. LL conflict resolution using the embedded left LR parser. Computer science and information systems, ISSN 1820-0214. [Print ed.], Sep. 2012, vol. 9, no. 3, str. 1105-1124, ilustr. [COBISS-SI-ID 9583700]
SLIVNIK, Boštjan, VILFAN, Boštjan. Producing the left parse during bottom-up parsing. Information processing letters, ISSN 0020-0190. [Print ed.], Dec. 2005, vol. 96, no. 6, str. [220]-224. [COBISS-SI-ID 5075284]
POTOČNIK, Matic, ČIBEJ, Uroš, SLIVNIK, Boštjan. Linter - a tool for finding bugs and potential problems in Scala code. V: Proceedings of the 29th Annual ACM Symposium on Applied Computing, Gyeongju, Korea, March 24-28, 2014, Proceedings of the 29th Annual ACM Symposium on Applied Computing, Gyeongju, Korea, March 24-28, 2014. [S. l.]: Association for Computing Machinery, cop. 2014, str. 1615-1616, graf. prikazi. [COBISS-SI-ID 10520660]
SLIVNIK, Boštjan. LLLR parsing. V: Proceedings of the 28th annual ACM Symposium on Applied Computing 2013, Coimbra, Portugal, March 18-22. [S. l.]: Association for Computing Machinery, 2013, str. 1698-1699. [COBISS-SI-ID 9735508]