In diesem Kurs lernen Sie, wie Sie den funktionalen Programmierstil bei der Entwicklung größerer Scala-Anwendungen anwenden können. Sie lernen wichtige neue Konzepte der funktionalen Programmierung kennen, von der lazy evaluation bis zur Strukturierung Ihrer Bibliotheken mit Monaden. Wir werden an größeren und komplexeren Beispielen arbeiten, von der Erkundung des Zustandsraums über Zufallstests bis hin zu Simulatoren für diskrete Schaltkreise. Außerdem lernen Sie einige Best Practices, wie Sie guten Scala-Code in der realen Welt schreiben können. Schließlich werden Sie lernen, wie Sie die Fähigkeit des Compilers nutzen können, Werte aus Typen abzuleiten. Mehrere Teile dieses Kurses befassen sich mit der Frage, wie funktionale Programmierung mit veränderlichen Zuständen interagiert. Wir werden die Konsequenzen der Kombination von Funktionen und Zuständen untersuchen. Wir werden uns auch mit rein funktionalen Alternativen zu veränderlichen Zuständen befassen, indem wir unendliche Datenstrukturen oder funktionale reaktive Programmierung verwenden. Empfohlene Vorkenntnisse: Sie sollten mindestens ein Jahr Programmiererfahrung haben. Ideal sind Java- oder C#-Kenntnisse, aber auch Erfahrungen mit anderen Sprachen wie C/C++, Python, Javascript oder Ruby sind ausreichend. Sie sollten mit der Verwendung der Kommandozeile vertraut sein. Dieser Kurs sollte nach dem Kurs Funktionale Programmierprinzipien in Scala besucht werden: https://www.coursera.org/learn/progfun1.
Funktionaler Programmentwurf in Scala
Dieser Kurs ist Teil von Spezialisierung Funktionale Programmierung in Scala
Dozent: Martin Odersky
61.216 bereits angemeldet
Bei enthalten
(3,133 Bewertungen)
Was Sie lernen werden
Erkennen und Anwenden von Designprinzipien für funktionale Programme
Entwerfen Sie funktionale Bibliotheken und ihre APIs
Einfache funktionale reaktive Anwendungen schreiben
Verstehen von Argumentationstechniken für Programme, die Funktionen und Zustände kombinieren
Kompetenzen, die Sie erwerben
- Kategorie: Typ Klasse
- Kategorie: Referentielle Transparenz
- Kategorie: Faulheit
- Kategorie: Reaktive Programmierung
- Kategorie: Funktionale Programmierung
Wichtige Details
Zu Ihrem LinkedIn-Profil hinzufügen
3 Aufgaben
Erfahren Sie, wie Mitarbeiter führender Unternehmen gefragte Kompetenzen erwerben.
Erweitern Sie Ihre Fachkenntnisse
- Lernen Sie neue Konzepte von Branchenexperten
- Gewinnen Sie ein Grundverständnis bestimmter Themen oder Tools
- Erwerben Sie berufsrelevante Kompetenzen durch praktische Projekte
- Erwerben Sie ein Berufszertifikat zur Vorlage
Erwerben Sie ein Karrierezertifikat.
Fügen Sie diese Qualifikation zur Ihrem LinkedIn-Profil oder Ihrem Lebenslauf hinzu.
Teilen Sie es in den sozialen Medien und in Ihrer Leistungsbeurteilung.
In diesem Kurs gibt es 5 Module
Wir beginnen mit einer Wiederholung einiger Konzepte, die wir in Principles of Functional Programming in Scala gelernt haben: Sammlungen, Mustervergleiche und Funktionen. Anschließend werden wir uns mit for-comprehensions beschäftigen, einer leistungsfähigen Methode in Scala, um eine Liste zu durchlaufen, sie zu verarbeiten und eine neue Liste zurückzugeben. Wir werden sehen, wie Abfragen mit for-comprehensions durchgeführt werden können und wie die for-comprehension vom Scala-Compiler in Aufrufe von Funktionen höherer Ordnung "desugar" wird. Zum Schluss werden wir besprechen, was Monaden sind und wie Sie überprüfen können, ob die Monadengesetze für eine Reihe von Beispielen erfüllt sind.
Das ist alles enthalten
8 Videos8 Lektüren3 Programmieraufgaben
In dieser Woche werden wir uns erneut mit den Leistungsproblemen bei der kombinatorischen Suche befassen und ein wichtiges Konzept der funktionalen Programmierung entdecken, das diese Probleme lösen kann: Faulheit. Wir werden auch etwas über Beweise auf Bäumen lernen; insbesondere werden wir sehen, wie man strukturelle Induktion auf Bäume ausdehnt.
Das ist alles enthalten
6 Videos2 Programmieraufgaben
Diese Woche lernen wir, wie wir den Compiler dazu bringen können, Programme für uns zu schreiben! Wir werden sehen, wie der Compiler Programmfragmente auf der Grundlage ihres Typs zusammenstellen kann und wie dieser Mechanismus zur Implementierung einer neuen Form von Polymorphismus (Typklassen) verwendet werden kann.
Das ist alles enthalten
7 Videos5 Lektüren3 Aufgaben2 Programmieraufgaben
Diese Woche lernen wir etwas über Zustände und Nebeneffekte. Anhand eines umfangreichen Beispiels lernen wir Programmiermuster für die Verwaltung von Zuständen in größeren Programmen kennen. Außerdem lernen wir etwas über for-Schleifen und while-Schleifen in Scala.
Das ist alles enthalten
5 Videos
In dieser Woche lernen wir anhand von Beispielen eine Reihe wichtiger Programmiermuster kennen. Wir beginnen mit dem Beobachtermuster und gehen dann zur funktionalen reaktiven Programmierung über.
Das ist alles enthalten
6 Videos2 Programmieraufgaben
Dozent
Empfohlen, wenn Sie sich für Softwareentwicklung interessieren
Cisco Learning and Certifications
University of California San Diego
Warum entscheiden sich Menschen für Coursera für ihre Karriere?
Bewertungen von Lernenden
3.133 Bewertungen
- 5 stars
66,32 %
- 4 stars
24,01 %
- 3 stars
7,58 %
- 2 stars
1,62 %
- 1 star
0,44 %
Zeigt 3 von 3133 an
Geprüft am 2. Juni 2017
Great class, though the content seemed less coherent than the first course. Topics tended to bounce around without enough deep dives into the more abstract ideas.
Geprüft am 2. Sep. 2021
This course is quite difficult to me, especially the last section. I have to re-watch it so many time to fully understand. At the end of the day, it is worth the effort.
Geprüft am 18. Feb. 2019
There's a lot to chew on here, and it's well-articulated. Some of the examples are a bit opaque and academic - a little more of a practical, intuitive approach would go a long way.
Neue Karrieremöglichkeiten mit Coursera Plus
Unbegrenzter Zugang zu 10,000+ Weltklasse-Kursen, praktischen Projekten und berufsqualifizierenden Zertifikatsprogrammen - alles in Ihrem Abonnement enthalten
Bringen Sie Ihre Karriere mit einem Online-Abschluss voran.
Erwerben Sie einen Abschluss von erstklassigen Universitäten – 100 % online
Schließen Sie sich mehr als 3.400 Unternehmen in aller Welt an, die sich für Coursera for Business entschieden haben.
Schulen Sie Ihre Mitarbeiter*innen, um sich in der digitalen Wirtschaft zu behaupten.
Häufig gestellte Fragen
Der Zugang zu Vorlesungen und Aufgaben hängt von der Art Ihrer Einschreibung ab. Wenn Sie einen Kurs im Prüfungsmodus belegen, können Sie die meisten Kursmaterialien kostenlos einsehen. Um auf benotete Aufgaben zuzugreifen und ein Zertifikat zu erwerben, müssen Sie die Zertifikatserfahrung während oder nach Ihrer Prüfung erwerben. Wenn Sie die Prüfungsoption nicht sehen:
Der Kurs bietet möglicherweise keine Prüfungsoption. Sie können stattdessen eine kostenlose Testversion ausprobieren oder finanzielle Unterstützung beantragen.
Der Kurs bietet möglicherweise stattdessen die Option 'Vollständiger Kurs, kein Zertifikat'. 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.
Wenn Sie sich für den Kurs einschreiben, erhalten Sie Zugang zu allen Kursen der Specializations, und Sie erhalten ein Zertifikat, wenn Sie die Arbeit abgeschlossen haben. Ihr elektronisches Zertifikat wird Ihrer Erfolgsseite hinzugefügt - von dort aus können Sie Ihr Zertifikat ausdrucken oder zu Ihrem LinkedIn-Profil hinzufügen. Wenn Sie die Kursinhalte nur lesen und ansehen möchten, können Sie den Kurs kostenlos besuchen.
Wenn Sie ein Abonnement abgeschlossen haben, erhalten Sie eine kostenlose 7-tägige Testphase, in der Sie kostenlos kündigen können. Danach gewähren wir keine Rückerstattung, aber Sie können Ihr Abonnement jederzeit kündigen. Siehe unsere vollständigen Rückerstattungsbedingungen.