Crashkurs Software-Know-how Software-Welten kennenlernen, Programmierung selbst erleben (CSKH)

 

Course Overview

Heute ist die ganze Welt computergesteuert. Ohne Software jedoch sind Computer lediglich tote, nutzlose Materie. Die Geschichte der Programmierung ist spannend, Software-Erstellung selbst jedoch komplex, anspruchsvoll und oftmals mehr als nur verwirrend.

Dieses Seminar erläutert Ihnen zunächst auf unterhaltsame und zugleich hochinformative Weise, wie Software funktioniert, welchen Anforderungen sie standhalten muss und wie sich ihre einzelnen Entwicklungsstufen darstellen. Zudem erleben Sie hautnah, welches Wissen und welche Kompetenzen erforderlich sind, um fremde Software im Projektfall kompetent einschätzen zu können. Dies stärkt ihre Position in alle Richtungen deutlich.

Tag 1 vermittelt Ihnen spannend, unterhaltsam und allgemeinverständlich Funktionsweise, Unterschiede und Anwendung aktueller Software-Technologien sowie alle relevanten Zusammenhänge. Spontane Fragen sind ausdrücklich erwünscht. Eingeflochtene Quizfragen lockern das Seminar auf. Per Online-Compiler werden von Beginn an Algorithmen zu kleineren Aufgabenstellungen in handfeste Programme gegossen. Diese werden sofort gestartet, getestet, analysiert und sukzessive gemeinsam optimiert.

Tag 2 erläutert weiterhin anschaulich zentrale Prinzipien und Fachbegriffe im Software- und Programmierbezug, dabei wird flexibel auf alle individuellen Fragen eingegangen. Großen Wert legt der Dozent auf wichtige Hinweise zu typischen Fehlern, Mythen und Missverständnissen im Software-Bereich. Im Verlauf des Seminars erstellen Sie gemeinsam Programme steigenden Anspruchs auf Basis unterschiedlichster Programmiersprachen, deren Unterschiede, Philosophien und Vor- bzw. Nachteile Ihnen so plastisch und praxisnah deutlich werden. Folgende Inhalte werden in diesem Seminar behandelt:

  • Aufbau, Arbeitsweise und Erstellungsprozess von SW
  • SW-Qualitätsanforderungen im Detail, „1000 Hürden"
  • SW-Projekte planen, Tools wählen, Code schreiben
  • „Werkzeugkasten": Frameworks, Toolkits, APIs, SDKs
  • Hochsprachen: Evolution, Stammbaum, Syntax, Typisierung
  • Algorithmus-/Programm-Effizienz, Komplexität, Robustheit
  • Plattformübergreifend Mobile und Web Apps entwickeln
  • Compiler, Debugger, Testing- und Upgrading-Strategien

Who should attend

Das zweitägige Seminar richtet sich an alle Mitarbeitenden und Führungskräfte mit leichten IT-Grundkenntnissen. Ideal ist das Seminar zum Beispiel für Quereinsteiger, die sich aufgrund neuer Herausforderungen im Unternehmen mit Software-Auswahl oder gar -Programmierung befassen wollen oder müssen.

Course Objectives

  • Sie finden sich schnell und sicher in die Welt moderner Software ein und verschaffen sich so ein Fundament für weitere Spezialisierungen.
  • Sie erfahren auf den Punkt die jeweilige zündende Idee hinter modernen Schlagworten aus dem Reich der Programmierung. Ob für Windows-, Android- oder Apple-Endgeräte ‒ Software-Entwicklung wird entmystifiziert, Programm-Strukturelemente werden klar und zugehörige Programmier-Tools nachvollziehbar.
  • Nach Besuch unseres Seminars sind Sie in der Lage, Software-Anforderungen zu formulieren, Programm-Pakete kompetent einzuschätzen sowie sogar selbst erste Programme zu erstellen.

Course Content

Tag 1 & 2

Einführung in die Software-Entwicklung

  • Evolution, Klassifizierung, Philosophien, Verwandtschaften und Anwendungsgebiete von Programmiersprachen
  • Grundlegende SW-Funktionsweise, Aufbau, Strukturelemente, Abstraktionsprinzip, Syntax und Semantik
  • Die einzelnen Schritte und Architektur-Entscheidungen vom Algorithmen-Set zum lauffähigen Gesamtprogramm
  • Wie schreibt man robuste, performante, reaktive, flexible, fehlertolerante und anpassungsfähige Programme?
  • Wie SW die HW steuert, wie IT-Komplexität beherrschbar wird, das wichtige 3-Schichten-Modell, Illusion Grafik

Prozesse und Werkzeuge der Programmierung

  • Wahl von Entwicklungsumgebung (IDE), Frameworks, APIs, SDKs, OOP-Klassenbibliotheken, Drittkomponenten
  • Sukzessive Quellcode-Eingabe, alternierend mit mehrstufigen Testvorgängen und Fehlersuche /-behebung
  • Systematisches Debugging im Detail: Einblick in Tausende von Variablen und Objekte zur Laufzeit erhalten
  • Compiler, Linker, Monitor, Profiler: die wichtigsten Tools bei der Erstellung von Desktop bzw. Mobile Apps
  • Lösungskonzepte zur Überwindung spezifischer Endgeräte-Hardware und Betriebssystem-Abhängigkeiten

Philosophien und Methoden der Software-Erstellung

  • U.a. prozedurale, funktionale, objektorientierte, rekursive Programmierung: Merkmale und Einsatztechniken
  • Programmier-Methoden und -Paradigmen im Vergleich: u.a. Scrum, agile SW-Entwicklung, klassische Modelle
  • SW-Leistungsparameter schon bei der Algorithmus-Wahl berücksichtigen: KPIs der Performanz, Latenz, O(n) etc.
  • Asynchron und parallel laufende Programmstränge realisieren, resiliente SW: was ist alles zu berücksichtigen?
  • Bsp. Such- und Sortier-Algorithmen: warum sich die Skalierungsperformanz oft in Zehnerpotenzen unterscheidet

Moderne Software-Problemstellungen

  • Programme Plattform-übergreifend konzipieren u.a. für Windows, Android, iOS und verschiedenste Device-Typen
  • Herausforderungen mobiler Endgeräte: flexible Bedienoberflächen, Hardware-Abhängigkeit, Leistungsparameter
  • Ergonomie-Ansprüche, Internet-Konnektivität, Cloud-basierte Datenbank-Anbindung, attraktive Bedienelemente
  • Fatale Fehler und Missverständnisse bei der SW-Planung und -Erstellung, u.a. Unterschätzung von Komplexitäten
  • Lösung des Dokumentationsdilemmas, SW-Wartung /-Internationalisierung, "Parallelwelt" Web-App-Erstellung

Weitere Software-Themen und -Begriffe (AUSZUG)

  • .NET/C#: ein starkes Team, neuartige Hochsprachen ('D', F#, Carbon), Unterschiede populärer OS-Frameworks
  • IT-Systemarchitekturen: auf welche bewährte Standards sich Ihr Programm stützen kann (OSI, JSON, XML usw.)
  • Datentypen-Vergleich zwischen diversen HLLs, OOP "unter der Haube", Algorithmen zur String-Verarbeitung
  • Lokale und Cloud-basierte DB-Anbindung, SQL- bzw. LINQ-Integration, UML-Klassendefinition /-Notation
  • Analogien: u.a. Programmier- vs. natürliche Sprachen, OOP vs. Biologie, Software- Unternehmensprozesse

Prices & Delivery methods

Online Training

Duration
2 days

Price
  • 1,300.— € (excl. tax)
    1,547.— € (incl. 19% tax)
 

Schedule

Instructor-led Online Training:   Course conducted online in a virtual classroom.

German

European Time Zones

Online Training Course language: German