Programming II

Subject description

General: Memory, Connecting sensors and actuators, Collecting data, Controlling devices, Binary encoding, Boolean logic, Buffers, Stack, Data structures, Basic real time and multi tasking principles

C programming language: Source code, Compiling, Linking, Libraries, Executable, Data types, Bit manipulation, Advanced data structures, Pointers, Passing function arguments by reference, Files

Arduino: Connecting devices and communicating with them, Embedded systems, Simple real time and multi tasking system, interrupts

The subject is taught in programs

Electrical engineering 1st level

Objectives and competences

Basic knowledge of C programming language, embeded systems, device connecting, and multitasking and real-time systems.

Teaching and learning methods

Lectures, practical demonstrations, laboratory work, individual work with advanced students, web technologies, homeworks

Expected study results

After successful completion of the course, students should be able to:

-list basic components of a microcomputer system

-explain how the basic computer components work

-explain software problems that stem from hardware non-idealities

-connect and program external devices

-develop a simple embedded system

-explain the ideas of real time and multitasking

-build a reliable real-time system

-evaluate the efficiency of a specific solution in terms of the usage of resources, market price, and maintainability


Basic sources and literature

  1. I. Fajfar: Uvod v programski jezik C, zapiski predavanj, 2014
  2. S. G. Kochan: Programming in C (4th Edition), 2014
  3. K. N. King: C Programming – A Modern Approach, 2008
  4. H. Schildt: Teach Yourself C, McGraw-Hill, 1997
  5. R. P. Halpern: C for Yourself: Learning C Using Experiments, Oxford University Press, 1997
  6. How C Programming Works (

Stay up to date

University of Ljubljana, Faculty of Electrical Engineering Tržaška cesta 25, 1000 Ljubljana

E: T:  01 4768 411