- Entwicklungsumgebung (auf Wunsch IntelliJ oder Eclipse)
- Grundlagen
- Das Typ-System von Scala
- Funktionen in Scala
- Objektorientierte Programmierung
- Listen, Tupel und Optionals
- case classes und Pattern Matching:
- Collections
- for-Comprehensions
- Exceptions
- Pakete und Imports
- Weitere Konzepte
- Ausblick (auf Wunsch)
Die theoretischen Inhalte werden durch praktische Übungen ergänzt, wobei jeder Teilnehmer einen eigenen Rechner zur Verfügung hat.
Die Teilnehmer werden in diesem Kurs ein Basiswissen in Scala erwerben und Konzepte, Sprachkonstrukte sowie im Programmieralltag nützliche Eigenschaften der Programmiersprache Scala kennen lernen. Viele praktische Beispiele helfen beim Einstieg, und je nach Vorwissen werden dabei auch Parallelen zu anderen Programmiersprachen gezogen. Folgende Themen werden dabei besprochen:
- Unterschiede und Gemeinsamkeiten von Java und Scala
- Nachteile von Seiteneffekten und die Idee der Immutability
- Funktionales vs. imperatives Programmieren
- Parallelisierung und Threads - mehr Effizienz durch nicht-blockierende Parallelität
- Abstraktion und Wiederverwendbarkeit von Funktionalität durch Klassen und Traits
- Typisierung als Hilfsmittel für sicheres Programmieren
Softwareentwickler mit Programmiererfahrung in anderen modernen Programmiersprachen (Java, C, C++, C#, JavaScript, Ruby, Python etc.).