inf020 - Machine-oriented Programming (Complete module description)

inf020 - Machine-oriented Programming (Complete module description)

Original version English PDF Download
Module label Machine-oriented Programming
Modulkürzel inf020
Credit points 6.0 KP
Workload 180 h
Institute directory Department of Computing Science
Verwendbarkeit des Moduls
  • Bachelor's Programme Computing Science (Bachelor) > Akzentsetzungsbereich - Wahlbereich Informatik
  • Master of Education Programme (Gymnasium) Computing Science (Master of Education) > Wahlpflichtmodule (Praktische Informatik)
Zuständige Personen
  • Theel, Oliver (module responsibility)
  • Lehrenden, Die im Modul (Prüfungsberechtigt)
Prerequisites
Study contents of the first year of the subject Bachelor of Computer Science or Business Informatics
Skills to be acquired in this module
Professional competence
The students:
  • Comprehend special concepts and methods of low-level programming of tightly
  • coupled computer systems in C and their translation into NASM assembly language
  • Design and implement programs in C independently and systematically translate them into a computer architecture-specific assembly language
  • Implement machine-oriented software with appropriate programming and compilation techniques and concepts
  • Recognize the relation of technical and practical computer science as well as the relations of high- and low-level programming
Methodological competence
The students:
  • understand aspects of the practical and theoretical computer science
  • understand the connection between high level language constructs and low level language constructs
  • ranslate C programs into NASM programs
Social competence
The students:
  • Solve problems in small teams
  • Present their solutions to the members of the tutorial
  • Discuss their different solutions with members of the tutorial
Self-competence
The students:
  • Accept criticism - Question their initial solutions in the light of newly learned methods
Module contents
  • Application areas of machine-oriented programming
  • Concepts of the programming language C - Programming in C
  • Setup and structure of tightly-coupled computer systems
  • Intel processor architecture
  • Assembly languages, in particular NASM assembly language
  • Systematical translation of programs from C to NASM assembly language
This module builds a bridge between technical and practical computer science aspects and high-level and machine-oriented programming. The knowledge and skills learned in this module are relevant for machine-oriented system programming, e.g. in realising operating systems and translations of programming languages.
Literaturempfehlungen
  • D. Patterson und J. Hennessy (2007). Computer Organization and Design, 3rd Edition, Elsevier Inc.
  • B. Kernighan und D. Ritchie (1988) The C Programming Language, Second Edition, Prentice Hall, Inc.
  • Jeff Duntemann (2009): Assembly Language Step by Step, 3rd edition, Wiley Publishing
Links
Language of instruction German
Duration (semesters) 1 Semester
Module frequency annual
Module capacity unlimited
Reference text
Associated with the modules:
  • Betriebssysteme I und II (as possible prerequisites)
  • Verteilte Betriebssysteme (as possible specialisation)
  • Betriebssysteme-Praktikum
Teaching/Learning method V+Ü
Previous knowledge Study contents of the first year of the subject Bachelor of Computer Science or Business Informatics
Form of instruction Comment SWS Frequency Workload of compulsory attendance
Lecture 2 WiSe 28
Exercises 2 WiSe 28
Präsenzzeit Modul insgesamt 56 h
Examination Prüfungszeiten Type of examination
Final exam of module
At the end of the lecture periode
Written or oral exam