Modulbeschreibung

Ingenieurinformatik II

ECTS-Punkte:
12
Lernziele:

Die Studierenden

  • kennen die grundlegende Funktion und den Aufbau eines einfachen Mikrocontrollers
  • kennen Peripheriemodule eines Mikrocontrollers.
  • können Anwendungen auf einem Mikrocontroller implementieren.

 

  • kennen den Aufbau des Internets. 
  • kennen wichtige Grundmechanismen und Protokolle. 
  • können Internetanwendungen nach dem Client-Server Modell programmieren. 
  • können verteilte Applikationen auf der Basis von entfernten Prozedur- und Methodenaufrufen entwickeln.

 

  • können Softwareanforderungen definieren und diese im Pflichtenheft erfassen und daraus Zeit- und Kostenschätzungen durchführen
  • können die Anforderungen mit objektorientierter Analyse (OOA) und objektorientiertem Design (OOD) in einen Softwareentwurf ableiten und die Softwarequalität verbessern
  • kennen wichtige Softwareentwicklungsprozesse
  • kennen Verfahren und Werkzeuge, die die Softwareentwicklung unterstützen
  • kennen, was bei der Auslieferung von Software zum Kunden beachtet werden muss

 

 

  • können kleine Programme in Javascript entwickeln.
  • kennen verschiedene Programmierstile in Javasript (Funktional/Imperativ/Objektorientiert).
  • kennen beispielhafte Frameworks.
  • können Javascript in HTML einbetten und mit CSS kombinieren.

 

  • kennen die Bedeutung des Testens in der Softwareentwicklung.
  • kennen die wichtigsten Fachbegriffe und Methoden zum Testen.
  • können mit eigenen Testwerkzeugen im Java-Umfeld umgehen.

 

 

Kurse in diesem Modul

Javascript:
  • Programmiereinführung in Javascript
  • Programmierung von Beispielen in Javascript mit Bibliotheken
Selbststudium mit 0 Lektionen pro Woche
Mikrocontroller:
  • Aufbau von Mikrokontrollern
  • Speicherorganisation
  • Instruktionsformate
  • IO-Ports, SCI, Timer
  • Treiber, Interruptverarbeitung
  • Assembler, Hochsprache (C)
Klassenunterricht mit 4 Lektionen pro Woche
Software Engineering:
  • Softwareanforderungen: Lastenheft/Pflichtenheft
  • Zeitschätzmethoden
  • Objektorientierte Analyse und Design
  • Softwareengineeringprozesse
  • Softwarequalität: Metriken, Codereview / -richtlinien
  • Softwarekonfiguration, Versionenmanagement
  • Begleitendes Softwareprojekt
Klassenunterricht mit 4 Lektionen pro Woche
Computer Kommunikation:

Internet

  • Übersicht
    - Schichtenmodell, Protokolle, Grundprinzipien
  • Obere Schichten
    - Applikationsschicht: E-Mail, Web, Domain Name System, DHCP, FTP, Bit Torrent
    - Transportschicht: Transmission Control Protocol (TCP), User Datagram Protocol (UDP)
    - Netzwerkschicht: Internet Protocol (IP), Routing (RIP, OSPF, BGP), ICMP


Client-Server Applikationen

  • Datentransportdienst (verbindungsorientiert und -los)
  • Programmierung
    - Clients:
       - einführendes Beispiel
       - Mail-Client
    - Server:
       - single-threaded vs. multi-threaded
       - Echoserver
       - Web Server mit statischen Seiten
       - WebServer mit dynamischen Seiten
       - Servlets
       - Java Server Pages (JSP)


Middleware

  • Remote Method Invocation (RMI), Remote Procedure Call (RPC)
    - Java RMI
    - Common Object Request Broker Architecture (CORBA)
    - Web Services (XML)
  • Distributed Applications
    - LDAP-Server
    - Verteiltes Kartenspiel
Klassenunterricht mit 4 Lektionen pro Woche
Testen:
  • Testmethodik
  • Unit-Tests (JUnit)
  • Code Abdeckungsanalyse
  • Logging und Debugging
Selbststudium mit 0 Lektionen pro Woche
Disclaimer

Diese Beschreibung ist rechtlich nicht verbindlich! Weitere Informationen finden Sie in der detaillierten Modulbeschreibung.