Softwaretechnik



Zeiten und Gruppeneinteilung SWT WS17/18
Die hier angegebenen Termine sind vorläufig und können sich noch ändern.
Die Vorlesung SWT beginnt am 12.10.2017 um 8:00 Uhr
Vorlesung Donnerstags  8:00-11:15 Uhr PC-Pool A216.1
Übungsgruppe 1 Donnerstags  11:45-13:15 Uhr PC-Pool A216.1
Übungsgruppe 2 Donnerstags  14:00-15:30 Uhr PC-Pool A209.1

Die zur Vorlesung gehörenden Übungsblätter stehen unmittelbar nach der jeweiligen Vorlesung unter http://knopper.net/bw/swt/uebungen/ zum Download bereit, und werden eine Woche nach der Vorlesung in den Übungsstunden vorgerechnet bzw. erklärt. Die Aufgaben sollten unbedingt vorher zuhause, am eigenen Rechner oder in den Notebook-Pools vorbereitet werden. Näheres hierzu in der ersten Vorlesung.

Zur Bearbeitung der Übungsaufgaben in Java sollte vorzugsweise ein eigenes Notebook, sofern vorhanden,verwendet werden. Im PC-Pool 216.1 stehen aber auch Notebooks zum Ausleihen für Übungen zur Verfügung.

Alle Übungen sind grundsätzlich betriebssystemunabhängig lösbar. Sie benötigen für die Web-Programmierung im Teil "PHP" einen Webserver mit PHP-Unterstützung, beispielsweise XAMPP. Für die JAVA-Programmierteile wird eine funktionierend eingerichtete Java Entwicklungs- (JDK) und Laufzeitumgebung (JRE) benötigt. Auch alte Java Versionen, z.B. 1.5.x sind für die Übungen verwendbar. Wenn Sie gerne unter GNU/Linux arbeiten möchten, können Sie in den meisten Pools die Linux Live-DVD KNOPPIX bzw. eine Installation auf USB-Flashdisk hiervon verwenden, auf der alle benötigten Entwicklungsumgebungen bereits vorinstalliert sind. Windows-Anwender finden unter http://www.oracle.com/technetwork/java/javase/downloads/index.html die offizielle Java-Edition von Oracle (ehemals Sun Microsystems). Unter http://www.eclipse.org/ finden Sie weiterhin eine (viel zu) umfangreiche, integrierte Workbench-Umgebung für Java, für alle Java-fähigen Plattformen. Eine einfachere Entwicklungsumgebung, die zwar für Windows gebaut ist, aber mit Hilfe von wine auch unter Linux funktioniert, ist http://www.javaeditor.org/. In der Vorlesung werden die Quelltexte vom Dozenten meist ganz ohne Entwicklungsumgebung, mit einem einfachen Texteditor, eingegeben und "manuell" durch Aufruf des Java-Compilers übersetzt, um das Verfahren der Übersetzung, Finden und Korrigieren von Fehlern transparent zu halten. Das gleiche "Look&Feel" erreicht man unter Linux beim Arbeiten in der Shell ("Terminal-Fenster") und unter Windows mit der Open Source Shell-Umgebung Cygwin, in der optional auch eine eigene Java Laufzeit- und Entwicklungsumgebung verfügbar ist.

Die in der folgenden Tabelle angegebenen Termine, Themen und Beschreibungen verstehen sich vorbehaltlich übersehener Feiertage und Durchführbarkeit innerhalb der zur Verfügung stehenden Zeit, und können sich daher noch entsprechend verschieben.

Als optionale Literatur zur Vorlesung können allgemein Bücher zu den Themen "Grundlagen der Informatik", "Algorithmen", "Programmieren in Java" sowie als Universalnachschlagewerk, Wikipedia.DE verwendet werden. "Java ist auch eine Insel", erschienen im Galileo Computing Verlag, ist eine gute praktische Lektüre. Die offizielle JAVA6 API finden Sie im Internet und als Dokumentation im Java Development Kit (JDK).

Musterlösungen zu alten Softwaretechnik-Klausuren sind zur Vorbereitung in der Fachschaft, sowie auf Anfrage beim Dozenten in elektronischer Form erhältlich.

Literatur- und Buchempfehlungen

SWT Termine und Themen

Event 1Vorlesungsbeginn am 12.10.2017, Einführung SWT + Nachbesprechung GDI
Organisatorisches: Zeitplan, Übersicht behandelte Themen, Rechnerzugang und Übungen.
In JAVA: Einordnung "Sofwaretechnik", Wiederholung Algorithmen und Programmiersprachen (aus Grundlagen der Informatik), Basisdatenypen, Kontrollstrukturen, Funkionen und Methoden, Beispiele, Objektorientierung vs. prozedurales Programmierparadigma, Bibliotheksfunktionen
Event 2Java-Wiederholungen
Wiederholung Arrays, "Arrays"-Klasse, "String"-Klasse
Event 3 Betriebssysteme und Anwendungen
Bootvorgang eines Computers, Betriebssystem-Kern, Systemsoftware und Anwendersoftware, Unterschiede und Gemeinsamkeiten verschiedener Betriebssysteme und deren Bedeutung für die Software-Entwicklung, Software-Lizenzen: proprietäre Software vs. Open Source Software, verschiedene Lizenzmodelle und die daraus resultierenden Rechte und Pflichten für Entwickler und Nutzer, Haftungsfragen
Event 5WEB/HTML Dokumentenstruktur
HTML-Tags vs. Formatierung normaler Text, "Logische" und "Optische" Tags
Event 6WEB/HTML
Tabellen, Interaktive Formulare, GUIs programmieren, auf dynamischer Content mit HTML/Javascript.
Event 4Java Grafik- und GUI-Programmierung
Grafikfunktionen, Fenster, Bedienelemente, Interfaces und Adapterklassen
Event 7Java
Ausnahmebehandlungen (Exceptions). Dateiverwaltung (Öffnen, Lesen, Schreiben, Schließen).
Event 8Java
Einfach und doppelt verkettete Listen (Standardverfahren zur flexiblen Speicherverwaltung).
Event 9+10WEB/PHP
Serverseitige Programmierung mit PHP, Formulare auswerten, Web-Applikationen programmieren
Event 11Java
Objekte, Klassen und Methoden, interface, Verträglicheit der Zuweisung bei Basisklassenobjekten und Objekten abgeleiteter Klassen, ad-hoc Polymorphie (Überladen von Funktionen und Variablen).
Event 12Java
Wiederholung rekursive Funktionen, Fehler finden in Programmen, Spiele-Programmierung mit GUI-Elementen
Event 13Case Studies (Bonuspunkte-Referate)
Klausur (BA-IM 2013)
Dauer: 120 Minuten,
zugelassene Hilfsmittel: Alle Bücher, Skripte, Übungen + alte Klausuren und Lösungen sowie Taschenrechner, Schreibzeug. Kein Notebook o.ä.
Hinweis: Elektronische Kommunikationsmittel jeglicher Form sind während der Klausur nicht erlaubt, bitte lassen Sie insbesondere Handys zuhause, oder geben Sie diese vor der Klausur bei der Aufsicht ab. Bitte beachten Sie auch die Klausur-Richtlinien!

Externe Links auf Anregung von Kursteilnehmern (der Autor dieser Seite distanziert sich explizit von Inhalt und Gestaltung!)

Icon  Name                    Last modified      Size  Description
[DIR] Parent Directory - [DIR] uebungen/ 14-Dec-2017 09:49 - Übungen JAVA [DIR] vorlesung/ 14-Dec-2017 09:49 - Vorlesungsmaterialien JAVA [PDF] Bonuspunkte-Schema.pdf 16-Nov-2017 02:05 29K PDF Datei
Apache Server at www.knopper.net Port 80