Associate teachers


ECTS credits


Number of hours: Lectures + Seminars + Exercises

30 / 0 / 15

Course objectives

The aim of the course is to introduce students to the basic programming concepts, data types, functions, branching and repetition commands, and the ways in which the program is compiled and executed on a computer. Through lectures and exercises, students will acquire basic knowledge of programming and practice writing simple programs, from problem definition, abstraction and design of an appropriate algorithm to testing, locating errors and debugging.

Enrolment requirements and/or entry competences required for the course


Learning outcomes at the level of the programme to which the course contributes

  • Apply theoretical knowledge of the fundamentals of the six core disciplines and their relationship within cognitive science.
  • Apply specific knowledge and skills from selected disciplines constituting cognitive science.
  • Apply AI tools in concrete tasks and practical contexts.
  • Plan and track personal professional growth.

Course content (syllabus)

  • Introduction to programming and algorithms, program execution and structure
  • Representation of data in the computer
  • Variables and simple data types
  • Operators, expressions and assignments
  • Program flow control commands - branching
  • Program flow control commands - loops
  • One-dimensional arrays and strings
  • Matrices, multidimensional arrays and frequently used data structures
  • Functions
  • Functions and function argument transfer
  • Simple input / output operations, files
  • Algorithms - linear and binary search
  • Algorithms - sorting
  • Advanced algorithms
  • The concept of recursion, recursion execution and examples

Student responsibilities

Class attendance. Active engagement in class activities.

Required literature

  • Dive Into Python 3; Mark Pilgrim; Apress; 2004; ISBN: 978-1430224150

Optional literature

  • Rješavanje problema programiranjem u Pythonu; Leo Budin et al.; Element, 2013; ISBN: 9789531973953
  • Napredno rješavanje problema programiranjem u Pythonu; Leo Budin et al.; Element, 2013; ISBN: 9789531973977
  • Python za znatiželjne : sasvim drukčiji pogled na programiranje; Zoran Kalafatić et al.; Element, 2016; ISBN: 9789531976275