Bachelors Course Catalogue

The Department of Embedded Systems organizes and conducts lectures and courses in various different bachelor and master programs at the University of Applied Sciences Technikum Wien. Hence, the contents and teaching methods of the lectures vary in style and depth. The following list highlights some examples of our courses as they are put forward for the Bachelor in Electronc Engineering program:

Digital Systems & Computer Architecture (6 ECTS)

Basic logic functions, switching algebra, specification, behavior, analysis and synthesis of combinational digital systems, integer arithmetic systems specification and behavior of sequential digital systems and finite state machines, microprogrammable components, architecture of microcomputers, instruction set architecture of a minimized CPU model, caches, pipelining

Recommended textbooks:
[1] R.H. Katz, G. Boriello, "Contemporary Logic Design", Addison-Wesley Longman, 2004.
[2] J. Carpinelli, "Computer Systems Organization and Architecture", Addison Wesley, 2000.

Introduction to Programming (6 ECTS)

Pre-Processor, Compiler, Debugger, C Syntax, ANSI-C Library, Command-Line Arguments, File I/O, Dynamic Memory Management, Recursion, Pointer and Function Pointer Datastructures and Algorithms: Linked Lists, Trees; Using external Libraries

Recommended textbooks:
[1] J. Wolf, "C von A bis Z", Galileo Press, 2006.
[2] R. Klima, S. Selberherr, "Programmieren in C", Springer, 2007.
[3] J. Wolf, "Linux-Unix-Programmierung", Galileo Press, 2009.


(Image Filtering - output of an example task assignment in 2008).


System Programming & Application Development (6 ECTS)

Unix Fundamentals (environment variables, error handling, signals, job control, etc.), Program Development in Unix (gcc, gdb, Makefiles, etc), Posix Library (fork(), execvp(), dup2(), pipe(), signal(), alarm(), etc.), Client/Server Programs (simple server, telnet, netstat, forking server, etc.), I/O Interfacing (Programming the Serial Interface, USB Interfacing with libusb, Bluetooth, etc.), GUI Programming with GTK+ (GObject, GLib, GTK, Cairo, Pango, Widgets, Signals, Callbacks, etc.)

Recommended textbooks:
[1] H. Herold, "Linux- Unix- Systemprogrammierung", Addison-Wesley, 2004.
[2] J. Wolf, "Linux-Unix-Programmierung", Galileo Press, 2009.
[3] A. Krause, "Foundations of GTK+ Development", Apress, 2007.


(GTK+ demonstration examples, 2009).


Embedded Systems Software Design (6 ECTS)

Microcontroller CPUs, Debugging Embedded Software, Interrupt Concept, General Purpose Input/Output, Timer, Counter, ADC, serial Interfaces (UART, SPI, I2C, etc.), USB, PWM/CAPCOM, Memory (Eeprom, Flash, SRAM, etc.), Start-Up Code, Bootstraping, Several smaller structured Hands-on Tasks and one Project Assignment (e.g. Interfacing Sensors, Graphical or Numeric LCDs, Bluetooth, ZigBee, etc.)

Real-Time Operating Systems (6 ECTS)

RTOS Motivation, Parallel Processes, RTOS Kernel (Scheduler, Dispatcher, Task Management, OS Tick, etc.), Task Synchronization (Semaphores, Mutex, Event Flags), Intertask Communication (Message Queues, Mailboxes, Shared Memory), Several smaller structured Hands-on Tasks and one Project Assignment

Recommended textbooks:
[1] J. Labrossse, "MicroC / OS-II: The Real Time Kernel", Mcgraw-Hill, 2002.

Digital System Design (6 ECTS)

Introduction to VHDL (Entity, Architecture, Components, Instantiations), VHDL for Combinational Logic (Process, Sequential Statements, Concurrent Statements), VHDL for Sequential Logic (Process, Attributes, Flip-Flop Types), VHDL Signals, Variables, Data Types, Packages, Libraries, Finite State Machines, FPGA Implementation (Synthesis, Place & Route), Several smaller structured Hands-on Tasks and one Project Assignment

Recommended textbooks:
[1] M. Zwolinski, "Digital System Design with VHDL", Prentice Hall, 2004.
[2] S. Sjoholm, L. Lindh, "VHDL for Designers", Prentice Hall, 1997.
[3] A. Rushton, "VHDL for Logic Synthesis", Wiley, 1998.


(FPGA evalutaion board with several peripheral modules as used in the labs).


Chip Design (6 ECTS)

VHDL for Verification, VHDL/Verilog for Synthesis, Programmable Logic Device Technology, Synchronous Design Methodology, Metastability, IO Standards, Project Assignment (VGA Controller, Audio Player, etc.)

Recommended textbooks:
[1] J. Bergeron, "Writing Testbenches: Functional Verification of Hdl Models", Springer, 2003.
[2] K.C. Chang, "Digital Systems Design with VHDL and Synthesis: An Integrated Approach", IEEE, 1999.

Fieldbus Systems & Distributed Embedded Systems (6 ECTS)

Programmable Logic Controllers, Overview of some fieldbus systems: LIN, CAN, FlexRay, TTP, etc. - Coding, Topologies, Protocols, etc., Wireless Networks: Bluetooth, ZigBee, etc., Embedded Internetworking: TCP/IP Stack for Embedded Systems, Protocols; Hands-on trainings with several smaller assignments