Übersicht 2015 AngularJS 3 Einführung in die objektorientierte Programmiersprache Java 4 Eine praxisnahe Einführung Fortgeschrittenes Programmieren mit Java 4 Ausgewählte Pakete der Java Standard Edition Anwendungsentwicklung mit der Java Enterprise Edition 4 Spring 5 Enterprise JavaBeans (EJB) 5 Entwicklung von Geschäftslogik-Komponenten Einführung in C# und .NET 6 Einstieg in C# und die .NET-Plattform für Programmieranfänger Weiterführende Programmierung unter C# 6 Umstieg auf C# 4.5/5 und Einführung in fortgeschrittene Konzepte HTML5, CSS3 und JavaScript 6 Refactoring 7 Verbesserung von Design und Quellcode bestehender Software Design Patterns & Architektur Patterns 7 Entwicklung mobiler Anwendungen mit iOS 7 Entwicklung mobiler Anwendungen mit Android 8 2 neu AngularJS 18. – 19. Mai 2015, 7. – 8. Dezember 2015 950,– € (zzgl. 19% MwSt.) Das Open-Source-Framework AngularJS ermöglicht die Entwicklung von modernen Web-Anwendungen mit JavaScript und HTML basierend auf dem MVVM-Prinzip. Vorteile dieses Frameworks sind beispielsweise die Reduktion und Strukturierung des Codes durch das MVVM-Pattern sowie die ­Automatisierung von üblichen Aufgaben. Durch gute Testbarkeit und weniger direkter DOM-Bearbeitung werden außerdem Stabilität und Zuverlässigkeit massiv erhöht. Da JavaScript fast auf allen modernen Geräten verfügbar ist (vom Computer über Handy, Fernseher und Kühlschrank) ­ergibt sich durch die Verwendung von AngularJS eine fantastische Möglichkeit, Ideen mit nur wenigen zentralen Komponenten überall umzusetzen. Nach diesem Kurs sind Sie in der Lage, moderne Single-Page-Anwendungen auf Basis von AngularJS in Verbindung mit JavaScript, HTML5, CSS3 und SASS/Compass zu erstellen. Zum Einstieg erhalten Sie einen Überblick über die Konzepte von AngularJS. Im weiteren Kursverlauf erlernen Sie alle wichtigen Grundlagen für die Entwicklung und das Testen von AngularJSApplikationen. Durch viele Beispiele und Übungen können Sie Ihr neu erworbenes Wissen sofort praktisch anwenden und vertiefen. 3 Einführung in die objektorientierte Programmiersprache Java Eine praxisnahe Einführung 2. – 6. Februar 2015, 13. – 17. Juli 2015 2.150,– € (zzgl. 19% MwSt.) Keine Programmiersprache hat in den letzten 20 Jahren so erfolgreich den Markt erobert wie Java. Syntaktisch mit C und C++ verwandt, zeichnet sich Java durch eine klarere Definition aus. Verbunden mit der Java-Technologie erlaubt die Programmierung mit Java eine plattformübergreifende und zuverlässige Erstellung von Software. Die Portabilität wird durch die sogenannte Java Virtual Machine (JVM) und eine umfangreiche Bib­liothek gewährleistet, die losgelöst von konkreter Hardware und dem Betriebssystem definiert wird. Die aktuelle Version von Java beweist, dass Java sehr zuverlässig und effizient sowohl im Client- als auch im Server-Bereich eingesetzt werden kann. Dieser Einführungskurs beschäftigt sich im Wesentlichen mit der Programmiersprache Java. Nach einem kur­­zen Abriss der Funktionsweise der JVM lernen Sie die Syntax und die in Java angebotenen Mechanismen für die objektorien­tierte Programmierung ausführlich kennen. Außerdem vermittelt Ihnen dieser Kurs einen Überblick über die wichtigsten Basisbibliotheken und deren Benutzung. Fortgeschrittenes Programmieren mit Java Ausgewählte Pakete der Java Standard Edition 4. – 6. Mai 2015, 19. – 21. Oktober 2015 1.350,– € (zzgl. 19% MwSt.) Die umfangreiche Standardbibliothek von Java bietet Hilfe und Lösungen zu sehr vielen Themengebieten. Dazu gehören sowohl allgemeine als auch sehr spezielle Gebiete. Um effizient mit Java arbeiten zu können, muss man nicht alle 200 Pakete kennen; ein guter Satz an zentralen, wichtigen Paketen und Konzepten deckt schon ein erstaunlich breites Spektrum ab. Dieser Kurs beschäftigt sich mit ausgewählten Paketen der Java-Standardbibliothek. Mit deren Kenntnis können Probleme gelöst werden, die in vielen Anwendungen immer wieder auftreten. Anwendungsentwicklung mit der Java Enterprise Edition 22. – 26. Juni 2015, 30. Nov. – 4. Dez. 2015 2.150,– € (zzgl. 19% MwSt.) Die Java Enterprise Edition stellt den Standard zur Entwicklung mehrschichtiger, komponentenbasierter und serverseitiger Anwendungen in Java dar. Durch die Verwendung dieses anerkannten Standards ist eine einfache Integration der eigenen Software-Komponenten in vorhandene Strukturen möglich, ohne auf herstellerspezifische Details der jeweiligen Laufzeitumgebung angewiesen zu sein. Neben der Definition verschiedener Komponentenmodelle bilden die in der JEE enthaltenen Technologien auch Querschnittsthemen wie Verteilung, Transaktionssteuerung, Persistenz und Sicherheit ab. Durch moderne Ansätze wie POJO-Entwicklung, Dependency Injection und Configuration by Exception werden dabei die meisten technischen Details von der Laufzeitumgebung realisiert und somit oft zur reinen Konfigurationsaufgabe. 4 In diesem Kurs lernen Sie die wichtigsten JEE -Technologien in Theorie und Praxis kennen. Sie erfahren, welche Vorteile komponentenbasierte Mehrschichtsysteme mit sich bringen und welche Komponententypen bzw. Technologien im Rahmen der JEE für entsprechende Problemstellungen in Frage kommen. Enterprise JavaBeans (EJB) Entwicklung von Geschäftslogik-Komponenten 29. Juni – 2. Juli 2015, 23. – 26. November 2015 1.650,– € (zzgl. 19% MwSt.) Enterprise JavaBeans bilden den Java-Standard zur Implementierung serverseitiger Geschäftslogik-Komponenten Spring 27. – 29. April 2015, 12. – 14. Oktober 2015 1.350,– € (zzgl. 19% MwSt.) Das Spring Framework ist neben den Enterprise Java Beans (EJB) das einzige Container-Framework, das über viele Einsatzgebiete hinweg Verbreitung gefunden hat. Ausgehend von leichtgewichtigen Komponenten, deren Verbindung über Dependency Injection geregelt wird, bietet das Spring Framework einen großen Fundus an weiteren Frameworks und Tools an. Der Kurs bietet einen Überblick über die grundlegenden Funktionalitäten von Spring. Die dem Framework zugrunde liegenden Design-Prinzipien (Dependency Injection, Inversion of Control) und die Einbindung vieler Persistenz-Mechanismen über das Data-Access-ObjectPattern (am Beispiel von Hibernate) werden ausführlich erläutert. Darüber hinaus werden die von Spring unterstützten Mechanismen für die aspektorientierte Programmierung und die Web-Entwicklung (Spring- MVC/ WebFlow) aufgezeigt. Abschließend werden die Möglichkeiten zur Integration in die JEE-Welt ( JNDI, JMS, EJB etc.) vorgestellt und Entscheidungshilfen gegeben, wann Spring eine Alternative zur klassischen JEE-Entwicklung sein kann. Der Schulungsinhalt wird anhand praktischer Beispiele vertieft. im Rahmen der Java Enterprise Edition ( JEE ). Durch die Verwendung dieses anerkannten Standards ist eine einfache Integration der eigenen Software-Komponenten in vorhandene Strukturen möglich, ohne auf herstellerspezifische Details der jeweiligen Laufzeitumgebung Rücksicht nehmen zu müssen. Moderne Ansätze wie POJOEntwicklung, Dependency Injection und Configuration by Exception führen dabei dazu, dass die meisten technischen Details von der Laufzeitumgebung realisiert werden und somit oft „nur“ eine Frage der richtigen Konfiguration sind. Somit wird die Entwicklung an vielen Stellen entscheidend vereinfacht und die Möglichkeit eröffnet, typische Querschnittsthemen wie Transaktionskontrolle und Sicherheit aus dem Code der Geschäftskomponenten herauszuhalten. In diesem Kurs lernen Sie die wichtigsten Bestandteile der EJB-Standards kennen und erfahren, wie Sie diese Bestandteile einsetzen, um skalierbare, performante Anwendungen zu entwerfen und zu implementieren. Neben der Betrachtung der einzelnen Bean-Typen erfahren Sie, wie Sie das deklarative Transaktions- und Sicherheitsmanagement nutzen und mit Hilfe der Java Persistence API ( JPA) Objekte in eine relationale Datenbank persistieren und abfragen können. 5 Einführung in C# und .NET Einstieg in C# und die .NET-Plattform für Programmieranfänger 2. – 6. März 2015, 27. – 31. Juli 2015 2.150,– € (zzgl. 19% MwSt.) mächtiger und flexibler, um effizienter programmieren zu können. In C# 3.5 wurden die Grundkonzepte von C# um Lambda Expressions, Extension Methods, Anonymous Types und LINQ erweitert. Mit C# 4 wurden Dynamics, C# ist eine von Microsoft entwickelte, objektorientierte Optional Parameters und Generic Variance hinzugefügt. und prinzipiell plattformunabhängige Programmierspra- Asynchronität wurde bei C# 5 in Angriff genommen. che. Sie basiert auf den Konzepten von Java, Visual Basic Dieser Kurs bietet einen Überblick über diese „fort- und nicht zuletzt C++, als deren direkter Nachfolger sie geschrittenen Konzepte“ der C# - Sprache. Anhand prak- oftmals gehandelt wird. Inzwischen hat sich C#, gerade tischer Beispiele werden diese Konzepte beleuchtet und im Bereich der Anwendungs­entwicklung für Windows- erprobt. Plattformen durchgesetzt und ist aus der IT-Welt nicht mehr wegzudenken. HTML5, CSS3 und JavaScript Dieser Kurs befasst sich mit der Einführung in die Programmierung mit C# sowie der dafür notwendigen Basiskenntnisse über die .NET-Plattform. Anhand von einfachen und verständlichen Beispielen lernen Sie Schritt für Schritt die Prinzipien der objektorientierten Programmierung. 9. – 12. März 2015, 21. – 24. September 2015, 1.650,– € (zzgl. 19% MwSt.) Die HTML – Hypertext Markup Language – bildet die Basis des World-Wide-Web. Version 5 dieser Auszeichnungssprache befindet sich zur Zeit noch in der Entwicklung, es liegen jedoch bereits sehr ausgereifte Entwürfe Weiterführende Programmierung unter C# Umstieg auf C# 4.5 /5 und Einführung in fortgeschrittene Konzepte 11. – 13. Mai 2015, 26. – 28. Oktober 2015 1.350,– € (zzgl. 19% MwSt.) In den vergangenen 10 Jahren hat sich .NET als eine der vor, die von den aktuellen Browsern auch unterstützt werden. Im Vergleich zu früheren Versionen der HTML ist die Version 5 um diverse Elemente erweitert worden, die unter anderem die direkte Unterstützung multimedialer Inhalte wie Videos, Audio oder dynamische 2D- und 3DGrafiken bieten. meist­verwendeten Plattformen durchgesetzt und die In diesem Kurs wird neben HTML5 auch auf wichtige C#-Programmiersprache ist, als Hauptdarsteller dieser Aspekte der Cascading Style Sheets (CSS inkl. Version 3) Plattform, immer reichhaltiger geworden. Mit jedem zur Gestaltung von Inhalten eingegangen sowie auf Java­ neuen Release der C#- Programmiersprache wurde die Script zur Unterstützung des dynamischen Verhaltens verfügbare Auswahl an Features und Werkzeugen breiter, von Web-Seiten. 6 Refactoring Verbesserung von Design und Quellcode bestehender Software 19. – 21. Januar 2015, 6. – 8. Juli 2015 1.350,– € (zzgl. 19% MwSt.) Gerade bei großen Software-Projekten führen wachsende Anforderungen, Zeit- und Kostendruck im Laufe der Zeit zu schwer wartbarer, langsamer und nicht erweiterbarer Software. Das Hauptziel eines Refactorings ist es, eine bestehende Software wieder wartbar zu machen. Gutes, effizientes Refactoring ist die Summe kleiner Transformationen, die das Design und die innere Struktur verbessern, ohne dass dabei das Verhalten der Software verändert wird. Dadurch wird der Code wieder verständlich, die Fehlersuche wird erleichtert und die weitere Programmierung beschleunigt. Refactoring wird oft als langweilige Fleißarbeit empfunden, kann jedoch unter Verwendung entsprechender Software-Werkzeuge deutlich erleichtert und beschleunigt werden. Bei richtiger Anwendung dieser Werkzeuge vermeidet man sogar Fehler, die bei komplett manuell durchgeführtem Refac- Design Patterns & Architektur Patterns 23. – 25. März 2015, 28. – 30. September 2015 1.350,– € (zzgl. 19% MwSt.) Entwurfsmuster sind wiederverwendbare Beschreibungen von Problemen und ihren Lösungen. Sie lassen sich für alle Anwendungsgebiete und Problemstellungen finden. Mit Hilfe von Entwurfsmustern können Entwicklungszeiten drastisch verkürzt und die Les- und Wart­ barkeit von Programmen deutlich verbessert werden. Die bekanntesten und am häufigsten eingesetzten Entwurfsmuster wurden im Standardwerk „Design Patterns“ von Gamma, Helm, Johnson und Vlissides eingeführt. Darüber hinaus gibt es auch viele Muster, die die Architektur von Software-Systemen verbessern. Das Autoren-Team um Frank Buschmann trägt diese zusammen und präsentiert sie in der mehrteiligen Buchreihe „Pattern-Oriented Software Architecture“. In diesem Kurs wird Ihnen nicht nur der Umgang mit Entwurfs- und Architekturmustern gezeigt, sondern auch mögliche Einsatzzwecke von Mustern in ihrem eigenen Umfeld anschaulich erläutert. Anhand von Beispielen und Übungen werden die wichtigsten vorgestellt und diskutiert. toring nahezu unvermeidlich sind. Dieser Kurs beinhaltet eine Einführung in die Methoden des Refactorings und bietet anhand von Beispielen die Gelegenheit, sie auszuprobieren und einzuüben. Obwohl aktuelle integrierte Entwicklungsumgebungen (IDEs) Refactoring schon unterstützen, legt dieser Kurs den Schwerpunkt auf das Hintergrundwissen und die Fähigkeit, sie manuell durchzuführen. Entwicklung mobiler Anwendungen mit iOS 20. – 22. April 2015, 5. – 7. Oktober 2015 1.250,– € (zzgl. 19% MwSt.) Apples iPhone hat den Markt der mobilen, internetfähigen Geräte erobert. Kein anderes Gerät zuvor hat es 7 dem Benutzer jemals so einfach ermöglicht, das breite Angebot des Internets und der Multimedia-Welt zu nutzen. Gerade seine Bedienungsfreundlichkeit sorgt seit Entwicklung mobiler Anwendungen mit Android der Einführung des iPhones für ein unglaubliches Wach- 16. – 18. März 2015, 20. – 22. Juli 2015 1.250,– € (zzgl. 19% MwSt.) sen mobiler Zugriffe und Angebote im Internet. Auch der Android ist neben iOS eines der am weitesten verbrei- AppStore als zentraler Vertriebsweg für iPhone-Applika- teten Betriebssysteme für Smartphones und Tablets. Da- tionen hat es den Entwicklern leicht gemacht, erstellte bei ist es nicht nur auf diese beschränkt und findet als Applikationen an den Kunden zu bringen. freies System auch in anderen Bereichen Einsatz. Android In diesem Kurs lernen Sie die für die Programmierung basiert auf dem Linux-Kernel und wird wegen seiner of- des iPhone und iPad wichtigen Konzepte und das iOS - fenen Quellen und der Verfügbarkeit für unterschiedliche Anwendungsmodell kennen und verwenden die Klassen Prozessor-Architekturen, wie beispielsweise ARM, MIPS, des UIKit-Frameworks. Anstatt sämtliche APIs nur am PPC oder x86, geschätzt. Das ebenso quelloffene und Rande zu streifen, werden Sie die Zusammenhänge in der Tiefe erfahren und verstehen. Anhand vieler Übungen mit praxisorientierten Beispielen und „Best Practices“ erlernen Sie das nötige Handwerkszeug, um eigenständig Programme unter iOS zu entwickeln. Zusätzlich bietet dieser Kurs am ersten Tag eine kompakte Einführung in Objective-C und das Cocoa Frame- freie Android-SDK unterstützt Entwickler zudem bei der komfortablen Realisierung von Software-Lösungen. Da es auf Java basiert, fällt der Einstieg leicht. Besonders Javaund JEE-Entwickler können mit den vertrauten Entwicklungswerkzeugen sofort loslegen. Und dank Emulator können selbstgeschriebene Apps direkt getestet werden, ohne erst auf ein entsprechendes Gerät übertragen zu werden. work. Sie erlernen die Sprache unter Verwendung der In diesem Kurs wird Ihnen vermittelt, wie Sie mit Eclip- Entwicklungsumgebung XCode und erfahren anhand von se und dem Android-SDK selbst Apps für mobile End- Beispielen die Basistechniken für die Entwicklung gra- geräte entwickeln können. Beispiele und viele Übungen fischer Benutzeroberflächen. helfen dabei, das erlernte Wissen zu vertiefen. 8 Alle Trainings führen wir auch gerne in Ihrem Haus durch. Bei speziellen Themenwünschen bieten wir Ihnen auf Ihre Bedürfnisse zugeschnittene Kurse an. Haben Sie noch Fragen oder wünschen Sie eine persönliche Beratung? Dann kontaktieren Sie uns! Wir helfen Ihnen gerne weiter! Software GmbH Henkestraße 91, 91052 Erlangen Telefon: 09131/ 89 03-0 Telefax: 09131/ 89 03-55 Internet: www.mathema.de E-Mail: [email protected]