ELT31910 – Programming and Software Development

Module
Programming and Software Development
Technische Informatik und Software-Entwurf
Module number
ELT31910
Version: 2
Faculty
Electrical Engineering
Level
Master
Duration
1 Semester
Semester
Winter semester
Module supervisor

Prof. Dr. Kevin Hipp
Kevin.Hipp(at)fh-zwickau.de

Lecturer(s)

Prof. Dr. Kevin Hipp
Kevin.Hipp(at)fh-zwickau.de

Course language(s)

German - 80.00%
in "Technische Informatik und Software-Entwurf"

English - 20.00%
in "Technische Informatik und Software-Entwurf"

ECTS credits

6.00 credits

Workload

180 hours

Courses

6.00 SCH (2.00 SCH Internship | 4.00 SCH Lecture with integrated exercise / seminar-lecture)

Self-study time

90.00 hours
90.00 hours Self-study - Technische Informatik und Software-Entwurf

Pre-examination(s)

Attestation
in "Technische Informatik und Software-Entwurf"

Examination(s)

schriftliche Prüfungsleistung
Module examination | Examination time: 90 min | Weighting: 100%
in "Technische Informatik und Software-Entwurf"

Media type
No information
Instruction content/structure

Lehrinhalte/Gliederung

 

  1. Aufbau eines Mikroprozessorsystems; Mikroprozessor, Mikrorechner, Mikrocontroller, Digitaler Signalprozessor
  2. Grundlagen Rechnersysteme am Beispiel Mikrorechner / Controller; (CPU, Programm- und Arbeitsspeicher, Busarchitektur, I/O-Systeme)
  3. Zahlen- und Textdarstellung, Zahlenkonvertierung, Binärzahlen, Hexadezimalzahlen
  4. Elemente einer prozeduralen Programmiersprache am Beispiel der Sprache C
    1. Einfache Datentypen und Variablen
    2. Anweisungen und arithmetisch / logische Grundoperationen
    3. Steueranweisungen (Sequenzen, Schleifen, Verzweigungen)
    4. Zusammengesetzte Datentypen (Struktur, Union)
    5. Definition und Aufruf von Funktionen
  5. Softwarearchitekturen und Softwareentwicklung
    1. Begriffe, Aufgaben, Grundarchitekturen
    2. Softwareentwicklung, Vorgehens- und Prozessmodelle (Wasserfall, Spiral, V-Modell),
    3. Modellierung    im Softwareentwurf (PAP, Nassi-Shneiderman, UML)
    4. Werkzeuge der Softwareentwicklung; Aufgaben und Grundfunktionen von Editor, Assembler, Compiler, Linker, Debugger
  1. Inbetriebnahme und Fehlersuche in Softwareprojekten
    1. Grundbegriffe von Failure, Fault, Error, Fehlerwirkung und Fehlerfortpflanzung,     Methoden der Fehlersuche
  2. Test von Software, Begriffe und Testarten
  3. Dokumentation von Software-Projekten
    1. Begriffe zur Dokumentation
    2. Umfang der Dokumentation (von Analyse bis Wartung), Varianten der automatischen Dokumentationserstellung

Praktika:

-         Kennenlernen von Basisfunktionen der Programmiersprache C

-         Programmierung einer digitalen Prozessnachbildung mit Ein-/Ausgabebaugruppen

-         Systematische Fehlersuche in eigenentwickelten Lösungen (Debugging)

-         Erstellung von Programmdokumentationen mittes DoxyGen

- Aufbau und Grundfunktion eines Rechners
  allgemeine Baugruppen und Funktionsweise eines Rechners
  Zahlen- und Textdarstellung, Zahlenkonvertierung

- Programmiersprachen Paradigmen und Anwendungsbereiche
  Überblick und Strukturierung von Programmiersprachen

- Softwarearchitekturen
  Begriffe, Aufgaben, Grundarchitekturen

- Softwareentwicklung
  Vorgehens- und Prozessmodelle (Wasserfall, Spiral, V-Modell, RUP)
  Modellierung im Softwareentwurf (PAP, Nassi-Shniderman, UML )
  - Werkzeuge der Softwareentwicklung
    Aufgaben und Grundfunktionen von
   Editor, Assembler, Compiler, Linker, Debugger

-Inbetriebnahme und Fehlersuche
  Grundbegriffe von Failure, Fault, Error
  Fehlerwirkung und Fehlerfortpflanzung
  Methoden der Fehlersuche

-Testung von Software
  Begriffe und Testarten

- Dokumentation
  Begriffe zur Dokumentation
  Umfang der Dorkumentation (von Analyse bis Wartung)
  Varianten der automatischen Dokumentationserstellung (interne Dokumentation)

- Konfigurationsmanagement
  Änderungsmanagement, Versionsmanagement, Systemerstellung, Release-Management

Qualification objectives

Ziel des Moduls ist der Erwerb von Grundkenntnissen über Architektur und Funktionsweise von Mikroprozessoren, die Ausführung von Programmen sowie Fertigkeiten bei der Erstellung von ingenieurtechnischer Software.

Der Student wird in die Lage versetzt, Software in einem Entwicklungsprozess zu erstellen und in Betrieb zu nehmen, die  erforderlichen Werkzeuge der zu kennen und anzuwenden. Er erwirbt Wissen und Verständnis über die grundsätzlichen Schritte bei der Analyse von Problemen, der Modellierung von Lösungsalgorithmen, der Strukturierung, Erstellung, Inbetriebnahme, Testung und Dokumentation von Software mittels unterschiedlicher Paradigmen.

Anhand einer höheren Programmiersprache der hardwarenahen Programmierung erwirbt der Student Grundfertigkeiten zur Programmierung vom Mikroprozessor-gestützten Komponenten der Automatisierungs-technik, der KFZ-Elektronik und der Informationstechnik. Nach Absolvierung dieses Moduls können die Studenten praktische Problemstellungen auf dem Gebiet der technischen Informatik lösen. Durch den hohen Anteil an Praktika ist dafür gesorgt, dass das erworbene Wissen in kleinen Praktikumsgruppen sofort angewendet werden kann.

Ziel des Moduls ist der Erwerb von Grundkenntnissen und Fertigkeiten bei der Erstellung von ingenieurtechnischer Software.

 Der Student soll in die Lage sein, die unterschiedlichen Werkzeuge der Softwareentwicklung und deren Hauptaufgaben zu kennen und anzuwenden. Er erwirbt Wissen und Verständnis über die unterschiedlichen Programmierparadigmen, über die grundsätzlichen Schritte bei der Strukturierung, Erstellung, Inbetriebnahme, Testung  und Dokumentation von Software.

 

Special admission requirements

keine

keine

Recommended prerequisites
No information
Continuation options

ELT430 Mikroprozessortechnik, ELT402 Hardwarenahe Programmierung 1, ELT 437 Hardwarenahe Programmierung 2, ELT456 Embedded Systems

Literature

Peter Monadjemi, Eckhard Winkler, Jetzt lerne ich C, Markt und Technik, ISBN 3827265703 Rolf Isernhagen, Hartmut Helmke, Softwaretechniken in C und C++, Hanser, ISBN 3446227156 A. Frick, Der Software – Entwicklungsprozess. Hanser, ISBN 3446177779

Notes

Peter Monadjemi, Eckhard Winkler, Jetzt lerne ich C, Markt und Technik, ISBN 3827265703

Jürgen Wolf, C von A bis Z, Galileo Computing, ISBN 3836214113

Rolf Isernhagen, Hartmut Helmke, Softwaretechniken in C und C++, Hanser, ISBN 3446227156

Thomas Beierlein, Olaf Hagenbruch, Taschenbuch Mikroprozessortechnik, Fachbuchverlag, ISBN 3446220720

Frank Bormann, C2000 Teaching CD-ROM, Texas Instruments Inc., SSQC011

Ian Sommerville, Software Engineering,Pearson, ISBN 3868940995