Undergraduate study programme

Back   Loomen   Schedule   Hrvatski

Programming I P106

ECTS 5 | P 30 | A 15 | L 15 | K 0 | ISVU 37108 190522 | Academic year: 2019./2020.

Course groups

Prikaži sve grupe na predmetu

Course lecturers

PEKO MARINA, Associate
ŠOJO ROBERT, Associate


Explain the basics of algorithmic thinking in developing software solutions by using the main principles of software engineering. Train students to design software by using a procedural programming approach. Inform students about different data types, data input and output functions and different operators. Explain instructions for loops and programme flow control. Demonstrate the possibility of using 1D and 2D arrays. Explain the use of functions, working with memory, pointers and generating generate pseudo-random numbers.

Course description

Number systems and data formats. Algorithmic approach to problem solving, timing and space complexity of algorithms. Elements and characteristics of programming languages, lexical units, instructions, programs, basics of software architectures. Basic principles and methodologies of software engineering. C programming language through examples; programme structure, keywords, data types, constants and variables, operators, arithmetic and logic expressions, C pre-processor, variables, arithmetic and logic expressions, input and output, control - flow statements and loops, functions, arrays and complex data types, pointers. Strings usage. Pre-processor commands. Standard libraries: random numbers, time measurement, strings. Examples of search and sorting in C.

Knowledge and skills acquired

Necessary knowledge of computer architecture and working principles. Successful usage of up-to-date system and application tools. Fundamentals of programming and simple mes developed in C.

Teaching methods

lectures, auditory and laboratory exercises.

Student requirements

Defined by the Student evaluation criteria of the Faculty of Electrical Engineering, Computer Science and Information Technology Osijek and paragraph 1.9

Monitoring of students

Defined by the Student evaluation criteria of the Faculty of Electrical Engineering, Computer Science and Information Technology Osijek and paragraph 1.9

Student assessment

Two successfully graded revision exams during the semester can replace the final written exam. Revision exams in laboratory exercises carry additional points to the final exam, which consists of the written and the oral part.

Obligatory literature

1. 1 J. Šribar, B. Motik Desmistificirani C++ 3. dopunjeno izdanje, 2010.

2. 2 S.G. Kochan Programming in C (Developers Library), 4th Ed. Addison-Wesley Professional, 2014.

3. 3 D. Kusalić Napredno programiranje i algoritmi u C-u i C++-u Element, 2014.

Pretraži literaturu na:

Recommended additional literature

1. 1 D. Patterson, J. Hennessy Computer Organization and Design: The Hardware / Software Interface (5th. Edition) Morgan Kaufmann Publ., 2013.

2. 2 A.S. Tanenbaum, T. Austin Structured Computer Organization (6th Ed.) Pearson, 2012.

3. 3 R. Sedgewick, K. Wayne Algorithms (4th Ed.) Addison-Wesley Professional, 2011.

4. 4 B. Stroustrup Programming: Principles and Practice Using C++ (2nd Ed.) Addison-Wesley Professional, 2014.

Examination methods

Written and oral exam.

Course assessment

Conducting university questionnaires on teachers (student-teacher relationship, transparency of assessment criteria, motivation for teaching, teaching clarity, etc.). Conducting Faculty surveys on courses (upon passing the exam, student self-assessment of the adopted learning outcomes and student workload in relation to the number of ECTS credits allocated to activities and courses as a whole).

Overview of course assesment

Learning outcomes
Upon successful completion of the course, students will be able to:

1. identify and connect key features of procedural programming and a structured design of a programme code

2. understand the algorithmic approach to problem solving and write it in the programming language using different data, control and structural elements

3. develop one’s own software problem solution in a specific programming language and by using basic principles of software engineering

4. examine, analyse and repair a developed software solution in a developing framework

Aktivnosti studenta: Vidi tablicu aktivnosti