Maschinenorientiertes Programmieren

[Diese Seite enthält Links zu externen Anbietern]

Seminaristischer Unterricht 4 TWS im FT des 1. Studienjahrs

Inhalt

Maschinenorientiertes Programmieren

  • Maschinennahe, prozedurale Programmierung mit C
  • Typkonventionen, Datendarstellung, Speichernutzung, Kontrollstrukturen und Aufbau von C-Programmen
  • Einfache und zusammengesetzte Datenstrukturen
  • Zeiger und dynamische Speicherverwaltung
  • Präprozessor, Module und Bibliotheken
  • Entwicklung von Projekten

Praktikum

2 TWS im FT des 1. Studienjahrs

Für das Praktikum wird eine umfangreiche Vorbereitung erwartet! Die Vorbereitung wird mit einem Eingangstest abgeprüft.

Voraussetzungen (erwartetes Vorwissen)

Für die erfolgreiche Teilnahme an der Lehrveranstaltung und insbesondere an dem Praktikum Maschinenorientiertes Programmieren wird aktives Wissen aus den vorangegangenen Modulen erwartet. Eine Auffrischung der nachfolgenden Themen wird dringend empfohlen:

Maschinenorientiertes Programmieren Beispiel
für
Praktikumsversuch

  • Besuch des Moduls Grundlagen der Informatik
    • Kenntnisse der primitiven Datentypen (Integer, Gleitkomma, String) und ihrer Speicherung auf einem Rechner
    • Verständnis von einfachen Datenstrukturen (Feldern, Verbund)
    • Kenntnisse der Grundelemente imperativer Programmierung (Schleifen, Sequenzen, Alternativanweisungen),
    • Verständnis für die Boolesche Algebra, Umgang mit bitweisen logischen Verknüpfungen
    • Grundkenntnisse formaler Sprachen, EBNF
    • Grundkenntnisse der Verarbeitung von Maschinenprogrammen
  • Besuch des Moduls Grundlagen der Programmierung
    • Kenntnisse der primitiven Datentypen und deren Speicherung in Java (Integer, Gleitkomma, Strings)
    • Kenntnisse von Ausdrücken und Operatoren sowie Verständnis für die Prioritäten der Operatoren in Java
    • Kenntnisse der Kontrollstrukturen in Java (Anweisungsblöcke, Schleifen, Alternativanweisungen)
    • Verständnis für die Sichtbarkeit von Datenelementen
    • Kenntnisse der Parameterübergabe an Methoden in Java
    • Felder und Listen in Java, Verbund

Inhalte Praktikum

Die Vorlesungsinhalte (einfache Datentypen, statische & dynamische Speichernutzung, Felder, Strukturen, Arbeiten mit Dateien, usw.) werden bei der Entwicklung einfacher Programme vertieft. Darüberhinaus lernen die Studierenden

  • die selbständige Entwicklung kleiner Applikationen,
  • das Arbeiten mit Entwicklungstools (Compiler, Linker, Debugger)
  • und die hardwarenahe Programmierung (z.B. Grafikspeicher, Dateizugriffe)

Literatur und Arbeitsumgebung

Die Primärliteratur der Vorlesung ist das Buch: "Start in die C-Programmierung", Shaker-Verlag, 2012. Die Unterlagen für das Praktikum werden in diesem Verzeichnis (uni intern) bereitgestellt.

Als Arbeitsumgebung (Editor, Compiler, Debugger) kommt die Virtual-C IDE zum Einsatz. Sie kann bei Google, Heise-Online oder Softpedia heruntergeladen werden.

Die Beispielprogramme aus dem Buch können auf der Seite zum StartC-Buch im Quelltext bezogen werden.

Als Sekundärliteratur empfehle ich:

  • Peter Prinz, Ulla Kirch-Prinz: C - Einführung und professionelle Anwendung. Heidelberg: mitp-Verlag 2007 (2. Aufl.)
  • Helmut Herold, Jörg Arndt: C Programmierung unter Linux, Unix, Windows. Lohmar: Millin Verlag 2010 (2. Aufl.)

und zur Vertiefung natürlich das Original:

  • Brian W. Kernighan, Dennis M. Ritchie: Programmieren in C : mit dem C-Reference Manual in deutscher Sprache. München, Wien: Hanser 1995 (2. Aufl.)

Prüfung

90 Minuten (ohne Unterlagen)
(Aushang im Prüfungsamt beachten!)