Course Computer Design and hardware related Programming

Responsible: Prof. Dr. Thieling


Meets requirements of following modules(MID)

Course Organization

created 2013-07-24
valid from WS 2012/13
valid to
Course identifiers
Long name Computer Design and hardware related Programming
CEID (exam identifier)

Contact hours per week (SWS)
Lecture 2
Exercise (unsplit)
Exercise (split) 1
Lab 1
Total contact hours
Lecture 30
Exercise (unsplit)
Exercise (split) 15
Lab 15
Tutorial (voluntary)
Max. capacity
Exercise (unsplit)
Exercise (split) 30
Lab 15

Total effort (hours): 150

Instruction language

  • Deutsch

Study Level

  • Bachelor


  • basic skills in procedural programming
  • structure and mode of operation of a simple computer
  • basics in digital systems
  • finite state machines and state transition diagrams

Textbooks, Recommended Reading

  • Märtin: Rechnerarchitektur, Fachbuchverlag Leipzig (Carl Hanser)
  • Oberschelp/Vossen: Rechneraufbau und Rechnerstrukturen, Oldenbourg Verlag
  • Vogt, C: C für Java-Programmierer
  • Tanenbaum, Goodman: Computerarchitektur, Pearson Studium (Prentice Hall)


  • Prof.Dr.Thieling
  • Prof.Dr.Hartung

Supporting Scientific Staff

  • tba

Transcipt Entry

Computer Design and hardware related Programming


wE normal case (except on small numbers of assessments: oE

Total effort [hours]
wE 10

Frequency: 3/Jahr

Course components



  • basics of C-programming
    • constants, variable,s data types
    • expressions, statements, control structures
    • preprocessor expressions
    • pointers and pointer arithmetic
    • array, structures
    • funtions
    • standard libraries
    • multi-file programs with access to libraries
    • software development tools
      • compiler
      • linker
      • debugger
      • simulator
  • hardware-related I/O programming in C
    • functioning of digital ports
    • access to digital ports
      • memory-mapped I/O
      • isolated I/O
    • access to I/O ports using pointers
    • access to I/O ports using driver libraries
    • implementation of driver libraries in C
    • bit-wise I/O and analysis of data using C
  • programming applications for measurement and control in C
    • implementation of finite state machines in C (mealy and moore)
    • optimization of cyclic queries on I/O-data
  • design and operation of a dedicated small computer system (eg microcontroller)
    • architectural overview (registers, arithmetic logic unit, control unit, memory, bus structure, I/O components)
    • mode of operation (program execution based on register transfers)
    • basics for programming the micro-processor in assembly language
    • use of inline assembler in C programs
  • I/O interfaces of a computer system and its use by means of C
    • digital ports
    • timer/counter (pulse width modulation, cyclic interrupt generation)
    • analog-to-digital converter
    • serial port
    • using the I/O interfaces from C
  • interrupts
    • interrupt sources and types (external, internal, hardware, software)
    • interrupt management
      • interupt vector table
      • interrupt service routine
      • time sequence of the interrupt handling
      • mechanisms for handling concurrent interrupts
        • prioritization
        • interruption
        • problem specific use of these mechanisms
    • use of interrupt driven I/O interfaces in C
  • C runtime system
    • subroutine call in assembler
    • stack and assembler instructions for stack manipulation
    • program state backup and recovery using stack
    • passing parameters to C-function using stack
    • managing local variables using stack
    • dynamic behavior of the stack
    • interpretation of the stack contents using a debugger

Acquired Skills
  • explain the operation of a mikrocontroller including it's I/O interfaces
  • interpretation of detailed technical specifications of the I/O interfaces, so that meaningful configurations can be created
  • implementation of C driver libraries for various I/O interfaces including the interrupt support
  • specifying system behavior (derived from text documents)
  • development of problem solutions for measurement and control, which can be realized in C
  • describe and analyze the C runtime system

Additional Component Assessment

  • none



Acquired Skills
  • refer to "Vorlesung/Übung->Lernziele->Fertigkeiten"
  • targeted use of the software development environment

Operational Competences
  • manage complex tasks as a small team
  • development of problem solutions for measurement and control, which can be realized in C

Additional Component Assessment

  • none

Topic-Revision: r5 - 11 Jan 2016, GeneratedContent
Diese Seite läuft auf FoswikiDas Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborations-Plattform sind Eigentum der Autoren.
Ideen, Anfragen oder Probleme bezüglich Foswiki? Feedback senden