Modulbeschreibung

Ingenieurinformatik III

ECTS-Punkte:
10
Lernziele:

Die Studierenden

  • kennen den Aufbau und die Wirkungsweise der wesentlichen Software-Komponenten eines Computersystems.
  • kennen ein gängiges Mehrbenutzerbetriebssystem.
  • können ein Computersystem mit gezielten Eigenentwicklungen ergänzen.

 

  • 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 Programme in der Sprache C# erstellen.
  • kennen die Konstrukte "delegate" und "event" und können sie einsetzen.
  • kennen die Architektur des .NET Frameworks.
  • können die WinForms-Klassen verwenden und eine Applikation mit einer grafischen Oberfläche bauen.

 

  • können kleine Programme in Javascript entwickeln
  • kennen verschiedene Programmierstile in Javasript (Funktional/Imperativ/Objektorientiert)
  • kennen beispielhafte Frameworks

 

  • kennen die Konzepte des Cloud-Computing.

  • können Applikationen für eine gängige Cloud-Plattform entwickeln.

Kurse in diesem Modul

Javascript:
  • Programmiereinführung in Javascript
  • Programmierung von Beispielen in Javascript mit Bibliotheken
Selbststudium mit 0 Lektionen pro Woche
Betriebssysteme:
  • Betriebssysteme: Architektur und Konzepte
  • Parallelprogrammierung, Prozessverwaltung
  • Prozesssynchronisation, Interprozesskommunikation
  • Kernel, Treiber,
  • Speicherwaltung, Dateisysteme
  • Echtzeitaspekte
Klassenunterricht mit 4 Lektionen pro Woche
Computerkommunikation:

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
Dotnet und C# :
  • Typen, Ausdrücke, Deklarationen und Anweisungen
  • Ein- und Ausgabe
  • Klassen und Structs
  • Vererbung und Interfaces
  • Delagtes und Events
  • Namensräume und Assemblies
  • Attribute
  • .NET-Framework
  • WinForms
Selbststudium mit 0 Lektionen pro Woche
Projekt Cloud Computing:

Die Bereitstellung von IT-Infrastruktur (beispielsweise Rechenleistung, Speicherplatz oder Anwendungssoftware) via Netzwerk wird als Cloud Computing bezeichnet. Im Rahmen dieser Veranstaltung werden im theoretischen Teil die Konzepte des Cloud Computing vermittelt und  im praktischen Teil eine cloud-basierte Applikation programmiert.

  • Cloud Merkmale (Elastizität, Pay-as-you-go Prinzip, On-demand self-service, etc.)
  • Servicemodelle (IaaS, PaaS, SaaS)
  • Liefermodelle (private, öffentliche und hybride Clouds)
  • Google App Engine (GAE)
  • Microsoft Azure  
Klassenunterricht mit 4 Lektionen pro Woche
Disclaimer

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