Study unit code    61U003 2017

Level Study program or it's part Year Semester

ECTS kredits 7

Hours - Lectures 30
Hours - Tutorial 3
Hours - Computer Work 57
Hours - Individual Student's Work 120

red. prof. dr. BREST JANEZ

Languages - lectures slovene
Languages - tutorial slovene

Content (Syllabus outline)
Introduction: basics of syntax and semantic of high-level programming language, algorithm, von Neumann computer, variable, assignment, simple program examples. Types and expressions: primitive data types, expressions and operators. Control structures: choices, repetitions, structured decomposition. Functions: subroutines, parameter passing by value, parameter passing by reference, function overloading. Algorithms and problem-solving: problem solving strategies, role of algorithms in the problem solving process, concepts and properties of algorithms. Algorithm design: pseudocode, implementation strategies for algorithms, functions, testing, debugging. Arrays: search algorithms, array sorting, array passing into function. Structure and pointers, user-defined data structures, data representation in memory, strings and string processing. Pointers and references: pointer to a structure, reference, runtime storage management. Dynamic data structures, linked list. Recursion: recursive mathematical functions, implementation of recursion, algorithms, dynamic data structures, tree. 
• V. Žumer, J. Brest: Strukturirano programiranje v C++, 2. izdaja, Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Inštitut za računalništvo, Maribor, 2002. • S. Prata: C++ Primer Plus, Sixth Edition, Addison Wesley Professional, Indianapolis, 2011. • S. Sahni: Data Strutures, Algorithms, and Applications in C++, Second Edition, Silicon Press, Summit, NJ, 2005. • P. J. Deitel, H. M. Deitel: C++ How to Program, Ninth Edition, Prentice Hall, New Jersey, 2013.  
Objectives and competences
The objective of this course is to learn students with algorithmic thinking and structure programming.  
Intended learning outcomes - knowledge and understanding
On completion of this course the student will be able to demonstrate knowledge and understanding of the structure programming, understand and demonstrate knowledge of C++ programming language syntax, demonstrate understanding of fundamental principles of problem analysis, design, coding, and testing of computer programs, create algorithms for solving simple problems, demonstrate knowledge and understanding of basic algorithms and data structures.  
Intended learning outcomes - transferable/key skills and other attributes
Communication skills: oral lab work defence, manner of expression at written and oral examination. Use of information technology: use of software tools and scripts to automate routine tasks in system administration. Problem solving: designing, coding, testing programs.  
Learning and teaching methods
• lectures, • tutorials, • lab work.  

Assessment Weight (%)
Lab work 50  
1st midterm written exam 16  
2nd midterm written exam 17  
3rd midterm written exam 17  
If a student has not completed all three midterm exams, he replaces them with a written exam in the weight of 50%.