Scala ist eine ausdrucksstarke, vielseitige und sichere Programmiersprache. In diesem Kurs lernen Sie, wie Sie das Beste aus Scala herausholen, um gängige Programmieraufgaben zu lösen, wie z.B. die Modellierung von Geschäftsbereichen, die Zerlegung komplexer Probleme in einfachere, die Manipulation von Daten oder die Ausführung paralleler Aufgaben. Nebenbei lernen Sie auch die besten Praktiken für das Schreiben von qualitativ hochwertigem Code, der für große Anwendungen skalierbar ist, den Umgang mit Fehlern, das Schreiben von Tests und die Nutzung einer produktiven Entwicklungsumgebung. Dieser umfassende, praxisorientierte Kurs zielt darauf ab, Ihre Programmierfähigkeiten zu verbessern, indem er sowohl die funktionale Programmierung als auch die objektorientierte Programmierung umfasst. Sie werden mit der Standardbibliothek und den gängigen Codemustern vertraut gemacht, die in der realen Welt verwendet werden. Jede Woche enthält etwa 1h30 Videovorlesungen. Jede Vorlesung ist ein ~10-minütiges Video, das sich auf eine bestimmte Fähigkeit oder ein bestimmtes Konzept konzentriert. Wir beginnen immer mit der Betrachtung konkreter Probleme und erklären dann, wie Sprachfunktionen oder Bibliotheken Sie bei der Lösung dieser Probleme im Allgemeinen produktiver machen. Auf die Vorlesungen folgt in der Regel ein Quiz, um Ihre Fortschritte zu bewerten. Am Ende jeder Woche gibt Ihnen eine benotete Aufgabe, die von realen Anwendungen inspiriert ist, die Möglichkeit, die Dinge in die Praxis umzusetzen. Der Kurs behandelt Scala 3 und geht auf die Unterschiede zu Scala 2 ein.
Machen Sie sich zunächst mit Scala auf Ihrem Computer vertraut. Dann lernen Sie, wie Sie grundlegende Ausdrücke und Definitionen schreiben und auswerten. Zuletzt lernen Sie, wie Sie eine Geschäftsdomäne modellieren, indem Sie Case-Klassen und versiegelte Traits definieren.
Manipulieren Sie Wertesammlungen mit Hilfe des generischen Datentyps List aus der Standardbibliothek. Dann lernen Sie die anderen generischen Datenstrukturen der Standardbibliothek (Sets, Sequenzen und Maps) und ihre jeweiligen Anwendungsfälle kennen. Alle Auflistungsklassen verfügen über einen umfassenden Satz von High-Level-Operationen zum Transformieren, Filtern und Iterieren ihrer Elemente. Schließlich lernen Sie einige Techniken zur Implementierung von Schleifen in Scala kennen und erfahren, welche Vorteile diese haben.
Das ist alles enthalten
14 Videos1 Lektüre9 Aufgaben2 Programmieraufgaben
Infos zu Modulinhalt anzeigen
14 Videos•Insgesamt 104 Minuten
Erste Schritte mit Listen•9 Minuten
Funktionen•10 Minuten
Weitere Operationen auf Listen•9 Minuten
Einführung in die Sammlungen•3 Minuten
Sammlungen zusammenstellen•7 Minuten
Sammlungen abfragen•4 Minuten
Sammlungen umwandeln•12 Minuten
Sequenzen und Karten•4 Minuten
Option•6 Minuten
Sammlungen Extra•11 Minuten
Schleifen einführen•6 Minuten
Weitere Loop-Beispiele•13 Minuten
Schwanz Rekursion•4 Minuten
"für" Syntax•6 Minuten
1 Lektüre•Insgesamt 15 Minuten
Kurze Syntax für Funktionen•15 Minuten
9 Aufgaben•Insgesamt 80 Minuten
Funktionen•10 Minuten
Weitere Operationen auf Listen•5 Minuten
Sammlungen zusammenstellen•15 Minuten
Sammlungen abfragen•10 Minuten
Sammlungen umwandeln•10 Minuten
Option•5 Minuten
Sammlungen•10 Minuten
Schleifen•5 Minuten
"für" Syntax•10 Minuten
2 Programmieraufgaben•Insgesamt 600 Minuten
Demokratie (Audit-Version)•300 Minuten
Demokratie•300 Minuten
Tools erstellen, Module
Modul 3•12 Stunden abzuschließen
Moduldetails
Wie schreibt man Scala-Projekte, die größer als ein Arbeitsblatt sind? Lernen Sie, wie Sie einen Einstiegspunkt für ein Scala-Projekt definieren, und entdecken Sie die Tools, die Sie zum Schreiben, Kompilieren, Ausführen und Debuggen Ihres Codes nutzen können. Dann verwenden Sie objektorientierte Programmiertechniken, um ein komplexes Projekt in kleine modulare Komponenten aufzuteilen. Schließlich besprechen wir, wann Sie Fallklassen und wann Sie einfache Klassen verwenden sollten.
Das ist alles enthalten
10 Videos7 Aufgaben2 Programmieraufgaben
Infos zu Modulinhalt anzeigen
10 Videos•Insgesamt 65 Minuten
Code organisieren•5 Minuten
Tools erstellen•3 Minuten
Einführung in das sbt Build Tool•16 Minuten
sbt, Schlüssel und Geltungsbereiche•6 Minuten
Programm Einstiegspunkt•3 Minuten
Verkapselung•8 Minuten
Erweitern und Verfeinern von Klassen•7 Minuten
Fall-Klassen vs. Einfache Klassen•5 Minuten
Undurchsichtige Typen•6 Minuten
Erweiterungsmethoden•7 Minuten
7 Aufgaben•Insgesamt 60 Minuten
Code organisieren•5 Minuten
Programm Einstiegspunkt•10 Minuten
Verkapselung•10 Minuten
Erweitern und Verfeinern von Klassen•5 Minuten
Fall-Klassen vs. Einfache Klassen•5 Minuten
Undurchsichtige Typen•15 Minuten
Erweiterungsmethoden•10 Minuten
2 Programmieraufgaben•Insgesamt 600 Minuten
ToDo-Liste (Audit-Version)•300 Minuten
ToDo-Liste•300 Minuten
Reasoning About Code
Modul 4•12 Stunden abzuschließen
Moduldetails
Die Empfehlung in Scala lautet, standardmäßig unveränderliche Datentypen zu verwenden. Sie haben in der Tat wünschenswerte Eigenschaften, wie z.B. thread-sicher zu sein und lokale Schlussfolgerungen zu ermöglichen. In manchen Fällen führen veränderbare Variablen jedoch zu einfacherem Code, wie Sie in den Vorlesungen sehen werden. Anschließend beschäftigen wir uns mit verschiedenen Testtechniken wie Unit-Tests, eigenschaftsbasierten Tests, Integrationstests und Mocking.
Das ist alles enthalten
10 Videos1 Lektüre4 Aufgaben2 Programmieraufgaben
Infos zu Modulinhalt anzeigen
10 Videos•Insgesamt 49 Minuten
Reasoning About Code•4 Minuten
Refactoring-sichere Programme•5 Minuten
Ein Fall für Nebeneffekte•4 Minuten
Veränderliche Objekte•4 Minuten
Einheitliche Prüfung•6 Minuten
Eigenschaftsbasiertes Testen•11 Minuten
Verspottung•3 Minuten
Integrationsprüfung•4 Minuten
Testen der Tests•2 Minuten
Programme debuggen•7 Minuten
1 Lektüre•Insgesamt 45 Minuten
Zwischenspiel: Telefon-Mnemotechnik•45 Minuten
4 Aufgaben•Insgesamt 35 Minuten
Refactoring-sichere Programme•5 Minuten
Einheitliche Prüfung•10 Minuten
Eigenschaftsbasiertes Testen•10 Minuten
Testen Sie•10 Minuten
2 Programmieraufgaben•Insgesamt 600 Minuten
Quickcheck (Audit-Version)•300 Minuten
Quickcheck•300 Minuten
Typgesteuerte Programmierung
Modul 5•12 Stunden abzuschließen
Moduldetails
Programme automatisieren sich wiederholende Aufgaben. Manchmal ist das Schreiben eines Programms eine sich wiederholende Aufgabe. Wir sehen uns eine einzigartige Funktion von Scala an, die den Compiler einige (sich wiederholende) Teile Ihrer Programme für Sie schreiben lässt! Auf der Grundlage des erwarteten Typs eines Parameters kann der Compiler einen Wert für diesen Parameter bereitstellen, wenn er einen eindeutigen Kandidatenwert findet. Diese Technik wird häufig verwendet, um z.B. automatisch den Serialisierer und Deserialisierer eines Datentyps allein auf der Grundlage seiner Definition zu erzeugen.
Das ist alles enthalten
8 Videos1 Lektüre5 Aufgaben2 Programmieraufgaben
Infos zu Modulinhalt anzeigen
8 Videos•Insgesamt 50 Minuten
Motivation•5 Minuten
Kontext-Parameter•6 Minuten
Gegebene Definitionen•11 Minuten
Prioritäten zwischen gegebenen Definitionen•4 Minuten
Typ-Klassen•5 Minuten
Bedingt gegebene Definitionen•8 Minuten
Typklassen und Erweiterungsmethoden•3 Minuten
Implizite Umrechnungen•8 Minuten
1 Lektüre•Insgesamt 10 Minuten
Typgesteuerte Programmierung in Scala 2•10 Minuten
5 Aufgaben•Insgesamt 50 Minuten
Kontext-Parameter•5 Minuten
Gegebene Definitionen•15 Minuten
Prioritäten zwischen gegebenen Definitionen•5 Minuten
Bedingt gegebene Definitionen•15 Minuten
Implizite Umrechnungen•10 Minuten
2 Programmieraufgaben•Insgesamt 600 Minuten
Codecs (Audit-Version)•300 Minuten
Codecs•300 Minuten
Fehlerbehandlung, gleichzeitige Programmierung
Modul 6•12 Stunden abzuschließen
Moduldetails
Scala unterstützt einen einfachen Low-Level-Mechanismus für die Fehlerbehandlung: Ausnahmen. Wir erörtern die Vor- und Nachteile dieses Mechanismus und zeigen alternative Ansätze, die Sie anwenden können, wenn Sie in einer Methodensignatur explizit angeben möchten, dass sie mit einem Fehler fehlschlagen kann. Anschließend wenden wir uns einem ähnlichen Thema zu, der Validierung von Eingabedaten, bei der wir ansprechende Fehlermeldungen erstellen wollen, in denen alle Fehler aufgeführt sind, die der Benutzer beheben muss. Zum Abschluss zeigen wir Ihnen in einigen Vorträgen, wie Sie mit asynchronen Berechnungen arbeiten und wie Sie die mehreren CPUs eines Computers nutzen können, indem Sie Aufgaben parallel ausführen. Sie werden sehen, dass die gleichen Idiome, die wir für das Schreiben von Datenvalidierungsregeln verwendet haben, auch zum Schreiben von Graphen für parallele Berechnungen verwendet werden können.
Das ist alles enthalten
10 Videos1 Lektüre3 Aufgaben2 Programmieraufgaben
Infos zu Modulinhalt anzeigen
10 Videos•Insgesamt 78 Minuten
Fehlerbehandlung•8 Minuten
Fehlerbehandlung mit Try•7 Minuten
Manipulation von Try-Werten•12 Minuten
Daten validieren•7 Minuten
Manipulation von validierten Werten•7 Minuten
Kombinieren Sie Versuchen und Entweder•5 Minuten
Gleichzeitige Programmierung•9 Minuten
Operationen auf Typ Future•9 Minuten
Beispiele mit Zukunft•7 Minuten
Ausführungskontext•8 Minuten
1 Lektüre•Insgesamt 30 Minuten
Folgen Sie den Typen•30 Minuten
3 Aufgaben•Insgesamt 30 Minuten
Ausnahmen•10 Minuten
Versuchen und Entweder•10 Minuten
Futures•10 Minuten
2 Programmieraufgaben•Insgesamt 600 Minuten
Wikigraph (Prüfungsversion)•300 Minuten
Wikigraph•300 Minuten
Dozenten
Lehrkraftbewertungen
Lehrkraftbewertungen
Wir haben alle Lernenden um Feedback zu unseren Dozenten gebeten, ausgehend von der Qualität ihres Unterrichtsstils.
Warum entscheiden sich Menschen für Coursera für ihre Karriere?
Felipe M.
Lernender seit 2018
„Es ist eine großartige Erfahrung, in meinem eigenen Tempo zu lernen. Ich kann lernen, wenn ich Zeit und Nerven dazu habe.“
Jennifer J.
Lernender seit 2020
„Bei einem spannenden neuen Projekt konnte ich die neuen Kenntnisse und Kompetenzen aus den Kursen direkt bei der Arbeit anwenden.“
Larry W.
Lernender seit 2021
„Wenn mir Kurse zu Themen fehlen, die meine Universität nicht anbietet, ist Coursera mit die beste Alternative.“
Chaitanya A.
„Man lernt nicht nur, um bei der Arbeit besser zu werden. Es geht noch um viel mehr. Bei Coursera kann ich ohne Grenzen lernen.“
Bewertungen von Lernenden
4.6
178 Bewertungen
5 stars
76,96 %
4 stars
15,16 %
3 stars
3,93 %
2 stars
2,80 %
1 star
1,12 %
Zeigt 3 von 178 an
R
RK
5·
Geprüft am 15. Juni 2021
Excellent course, I really enjoyed it! With not a lot of practical experience with FP (yet) it was a bit of challenge at times. But the forum and support was helpful.
R
RC
5·
Geprüft am 23. Juni 2021
looking forward for course about typed programming
P
PK
5·
Geprüft am 30. Apr. 2024
Great course for anyone what would like to have a more hand on eperience.
Wann werde ich Zugang zu den Vorlesungen und Aufgaben haben?
Um Zugang zu den Kursmaterialien und Aufgaben zu erhalten und um ein Zertifikat zu erwerben, müssen Sie die Zertifikatserfahrung erwerben, wenn Sie sich für einen Kurs anmelden. Sie können stattdessen eine kostenlose Testversion ausprobieren oder finanzielle Unterstützung beantragen. Der Kurs kann stattdessen die Option "Vollständiger Kurs, kein Zertifikat" anbieten. Mit dieser Option können Sie alle Kursmaterialien einsehen, die erforderlichen Bewertungen abgeben und eine Abschlussnote erhalten. Dies bedeutet auch, dass Sie kein Zertifikat erwerben können.
Was erhalte ich, wenn ich das Zertifikat kaufe?
Wenn Sie ein Zertifikat erwerben, erhalten Sie Zugang zu allen Kursmaterialien, einschließlich der benoteten Aufgaben. Nach Abschluss des Kurses wird Ihr elektronisches Zertifikat zu Ihrer Erfolgsseite hinzugefügt - von dort aus können Sie Ihr Zertifikat ausdrucken oder zu Ihrem LinkedIn-Profil hinzufügen.
Ist finanzielle Hilfe verfügbar?
Ja. Für ausgewählte Lernprogramme können Sie finanzielle Unterstützung oder ein Stipendium beantragen, wenn Sie die Einschreibegebühr nicht aufbringen können. Wenn für das von Ihnen gewählte Lernprogramm eine finanzielle Unterstützung oder ein Stipendium verfügbar ist, finden Sie auf der Beschreibungsseite einen Link zur Beantragung.