- Scala Programming
- Parallel Computing
- Apache Spark
- Functional Programming
- Recursion
- Immutable Data Types
- Higher-Order Function
- Laziness
- Type Class
- Referential Transparency
- Reactive Programming
- Data Structure
Spezialisierung Functional Programming in Scala
Program on a Higher Level. Write elegant functional code to analyze data that's big or small
von


Was Sie lernen werden
Write purely functional programs using recursion, pattern matching, and higher-order functions
Design immutable data structures
Write programs that effectively use parallel collections to achieve performance
Manipulate data with Spark and Scala
Kompetenzen, die Sie erwerben
Über dieses Spezialisierung
Praktisches Lernprojekt
Learners will build small to medium size Scala applications by applying knowledge and skills including: functional programming, parallel programming, manipulation of large data sets, higher-order functions, property-based testing, functional reactive programming.
At least one year of programming experience, in any language.
At least one year of programming experience, in any language.
So funktioniert die Spezialisierung
Kurse absolvieren
Eine Coursera-Spezialisierung ist eine Reihe von Kursen, in denen Sie eine Kompetenz erwerben. Um zu beginnen, melden Sie sich direkt für die Spezialisierung an oder überprüfen Sie deren Kurse und wählen Sie denjenigen Kurs aus, mit dem Sie beginnen möchten. Wenn Sie einen Kurs abonnieren, der Bestandteil einer Spezialisierung ist, abonnieren Sie automatisch die gesamte Spezialisierung Es ist in Ordnung, wenn Sie nur einen Kurs absolvieren möchten — Sie können Ihren Lernprozess jederzeit unterbrechen oder Ihr Abonnement kündigen. Gehen Sie zu Ihrem Lernender-Dashboard, um Ihre Kursanmeldungen und Ihren Fortschritt zu verfolgen.
Praxisprojekt
Jede Spezialisierung umfasst ein Praxisprojekt. Sie müssen das Projekt/die Projekte erfolgreich abschließen, um die Spezialisierung abzuschließen und Ihr Zertifikat zu erwerben. Wenn die Spezialisierung einen separaten Kurs für das Praxisprojekt umfasst, müssen Sie zunächst alle anderen Kurse abschließen, bevor Sie damit beginnen können.
Zertifikat erwerben
Wenn Sie alle Kurse und das Praxisprojekt abgeschlossen haben, erhalten Sie ein Zertifikat, dass Sie für potenzielle Arbeitgeber und Ihr berufliches Netzwerk freigeben können.

Es gibt 5 Kurse in dieser Spezialisierung
Functional Programming Principles in Scala
Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Netflix, Zalando, and also Coursera.
Functional Program Design in Scala
In this course you will learn how to apply the functional programming style in the design of larger Scala applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world. Finally, you will learn how to leverage the ability of the compiler to infer values from types.
Parallele Programmierung
With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library. Throughout, we'll apply these concepts through several hands-on examples that analyze real-world data, such as popular algorithms like k-means clustering.
Big Data Analysis with Scala and Spark
Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout. We'll cover Spark's programming model in detail, being careful to understand how and when it differs from familiar programming models, like shared-memory parallel collections or sequential Scala collections. Through hands-on examples in Spark and Scala, we'll learn when important issues related to distribution like latency and network communication should be considered and how they can be addressed effectively for improved performance.
Häufig gestellte Fragen
Wie erfolgen Rückerstattungen?
Kann ich mich auch nur für einen Kurs anmelden?
Ist finanzielle Unterstützung möglich?
Kann ich kostenlos an diesem Kurs teilnehmen?
Findet dieser Kurs wirklich ausschließlich online statt? Muss ich zu irgendwelchen Sitzungen persönlich erscheinen?
Erhalte ich akademische Leistungspunkte für den Abschluss der Spezialisierung?
How long does it take to complete the Functional Programming in Scala Specialization?
Wie oft werden die einzelnen Kurse in der Spezialisierung angeboten?
What background knowledge is necessary?
Do I have to take the courses in this Specialization in a specific order?
Will I earn university credit for completing the Functional Programming in Scala Specialization?
Are there any recommended readings for this specialization?
Haben Sie weitere Fragen? Besuchen Sie das Learner Help Center.