Softwareengineering Schwerpunkt Software Engineering Ausbildung
Agenda Vgl. alte/neue Stundentafel für PR u. SE Kompetenzbereiche im neuen Lehrplan Geplante Lehrstoffverteilung PR u. SE (neu) Zusätzliche Schwerpunktsetzungen SE Ergänzung in anderen Gegenständen Andere Aspekte offene Punkte Diskussion Ihre Anforderungen?
Alte/Neue Stundentafel Programmieren und Software Engineering I. II. III. IV. V. Summe 5(4) 7(4) 4(4) 3(3) 2(2) 21 (17) - Alt 5(3) 6(3) 6(2) 5(2) 4(0) 26 (10) Neu Lehrstunden alt: 38 Lehrstunden neu: 36
Kompetenzbereiche POS Theoretische Informatik (bislang in GDV) Aussagen-/Prädikatenlogik; Mehrwertige Logik Wahrheitstabellen/Normalformen Äquivalenzumformungen, etc. Formale Sprachen und Automaten Grundlagen Compilerbau Softwaredesign Metasprachliche Beschreibung (UML) Analyse u. Spezifikation Modularisierung und Softwarearchitektur Benutzeroberflächen Windows- und Web-GUI; Eventhandling Layout und Usability; Hilfesysteme Databinding
Kompetenzbereiche POS Programmiertechniken Grundlagen (Anweisungen, Kontrollstrukturen, etc.) OO (Klassen, Vererbung, Polymorphie, etc.) Exceptionhandling Datenstrukturen und Verwendung externer Daten Strukturen/Klassen Arrays und Collections Speicherklassen/Speicherverwaltung Datei- und Datenbankzugriff; Serialisierung Datenaustauschformate Multimediale Daten
Kompetenzbereiche POS Entwicklungssysteme und Testverfahren Teststrategien Entwicklungsumgebungen; Versionsverwaltung Codegenerierung; Dokumentationstools Softwaretechnologien Nebenläufigkeit Designpatterns Generische Programmierung Reflection Remote Methoden Deployment
Lehrstoffverteilung neu Im Spannungsfeld zwischen Wichtigem Grundlagenwissen, das langfristig wichtig ist und von dem man ein Berufsleben lang profitieren kann, und Aktuellen Anwendungen und Frameworks, die die Arbeit und das Lernen interessanter machen und die Ausbildung (bei Laien) besser vermarktbar machen. In praxisorientierter Berufsausbildung ist beides wichtig!
Jobangebote in 365 Tagen
Lehrstoffverteilung neu 1. Klasse (5(3)): Hamster und C Grundlagen Kontrollstrukturen; Unterprogramme; Felder; Strings; Bitmanipulation 2. Klasse (6(3)): C Grundlagen u. OO Einstieg mit Java C: Strukturen; Zeiger; ADT; Dynamische Speicherverwaltung; Dateiverarbeitung; Java: Klassen; Vererbung; Interfaces; Polymorphie; Exceptions; Wrapperklassen; Packages; Unittests; Statische Komponenten Theoretische Informatik 3. Klasse (6(2)): Java und Designpatterns Designpatterns (Singleton, Observer; Factory; Delegation) GUI mit Java (Swing, Eventhandling, MVC) Streams; Serialisierung JDBC, OR-Mapping Einstieg in Webprogrammierung (Servlets) Theoretische Informatik
Lehrstoffverteilung neu 4. Klasse (5(2)): Java Webprogrammierung mit JSF Multimedia Datentypen; Austauschformate: XML Threads Reflection 5. Klasse (4(0)): C++ Vgl. Java/C++; Kopierkonstruktoren; Destruktoren Operator overload STL mit generischer Programmierung Weitere Programmiermuster
Lehrstoffverteilung neu Zusätzliche Schwerpunkte Explizite Behandlung von Regeln für sauberen Code (DRY, SLA, SRP, SoC, etc.) Unittesting Modellbildung (UML), Designpatterns und Softwarearchitektur evtl. auch gemeinsam mit PREU in kleineren Beispielprojekten Freigegenstand Programmieren Mobile Devices (Android)
Andere Aspekte Offene Punkte Programming of Mobile Devices (In Diskussion) Android oder via WebApps (z.b. GWT) OR-Mapping mittels JPA (In Diskussion) SOAP/RESTful Webservices (In Diskussion) Kompetenzbereich Benutzeroberflächen Design und Usability (noch offen) Hilfesysteme (noch offen) Databinding (noch offen).net (C#) (derzeit nicht vorgesehen) GUI Entwicklung mit C++ (derzeit nicht vorgesehen) Assembler (nicht mehr vorgesehen)
Erg. in anderen Gegenständen PRRU (neu NVS) Netzwerkprogrammierung (Sockets; RMI) ADAT (neu DBI) SQL PL-SQL PREU (neu SEPU/PREU) Klassische Vorgehensmodelle Agile Process models UML
Danke für Ihre Aufmerksamkeit! Fragen und Diskussion (Ihre Anforderungen an unsere Ausbildung?)