Dieser Kurs vermittelt Lernenden (Fachleuten aus der Industrie und Studenten) die grundlegenden Konzepte der parallelen Programmierung im Kontext von Java 8. Die parallele Programmierung ermöglicht es Entwicklern, Multicore-Computer zu nutzen, um ihre Anwendungen durch die gleichzeitige Nutzung mehrerer Prozessoren schneller laufen zu lassen. Am Ende dieses Kurses werden Sie lernen, wie man gängige parallele Java-Frameworks (wie ForkJoin, Stream und Phaser) verwendet, um parallele Programme für eine Vielzahl von Multicore-Plattformen wie Server, Desktops oder mobile Geräte zu schreiben, und dabei auch deren theoretische Grundlagen kennenlernen, darunter Berechnungsgraphen, ideale Parallelität, parallele Beschleunigung, Amdahls Gesetz, Datenrennen und Determinismus. Warum diesen Kurs besuchen?
Parallele Programmierung in Java
Dieser Kurs ist Teil von Spezialisierung Parallele, gleichzeitige und verteilte Programmierung in Java
Dozent: Vivek Sarkar
48.594 bereits angemeldet
Bei enthalten
(1,218 Bewertungen)
Kompetenzen, die Sie erwerben
- Kategorie: Datenfluss
- Kategorie: Paralleles Rechnen
- Kategorie: Java Gleichzeitigkeit
- Kategorie: Daten Parallelität
Wichtige Details
Zu Ihrem LinkedIn-Profil hinzufügen
4 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 7 Module
Willkommen bei Parallele Programmierung in Java! Dieser Kurs ist als dreiteilige Serie konzipiert und deckt ein Thema oder einen Wissensbereich durch verschiedene Videovorträge, Demonstrationen und Programmierprojekte ab.
Das ist alles enthalten
1 Video5 Lektüren1 Programmieraufgabe1 Diskussionsthema
In diesem Modul lernen wir die Grundlagen der Aufgabenparallelität kennen. Tasks sind die grundlegendste Einheit der parallelen Programmierung. Immer mehr Programmiersprachen (einschließlich Java und C++) gehen von älteren threadbasierten Ansätzen zu moderneren taskbasierten Ansätzen für die parallele Programmierung über. Wir werden etwas über die Erstellung von Tasks, die Beendigung von Tasks und das theoretische Modell des "Berechnungsgraphen" lernen, um verschiedene Eigenschaften von task-parallelen Programmen zu verstehen. Zu diesen Eigenschaften gehören Arbeit, Spanne, ideale Parallelität, parallele Beschleunigung und das Amdahlsche Gesetz. Wir werden auch beliebte Java-APIs für Aufgabenparallelität kennenlernen, insbesondere das Fork/Join-Framework.
Das ist alles enthalten
7 Videos6 Lektüren1 Aufgabe1 Programmieraufgabe
Willkommen zu Modul 2! In diesem Modul werden wir uns mit Ansätzen zur Parallelität beschäftigen, die von der funktionalen Programmierung inspiriert wurden. Befürworter der parallelen funktionalen Programmierung argumentieren seit Jahrzehnten, dass funktionale Parallelität viele schwer zu entdeckende Fehler beseitigen kann, die bei imperativer Parallelität auftreten können. Wir werden etwas über Futures, Memoisierung und Streams sowie über Data Races lernen, eine berüchtigte Klasse von Fehlern, die mit funktionaler Parallelität vermieden werden können. Außerdem lernen wir Java-APIs für funktionale Parallelität kennen, darunter das Fork/Join-Framework und die Stream-APIs.
Das ist alles enthalten
7 Videos6 Lektüren1 Aufgabe1 Programmieraufgabe
Begleiten Sie Professor Vivek Sarkar zu einem Gespräch mit dem Geschäftsführer von Two Sigma, Jim Ward, und den Softwareingenieuren Margaret Kelley und Jake Kornblau in deren Büro in Houston, Texas, über die Bedeutung der parallelen Programmierung.
Das ist alles enthalten
2 Videos1 Lektüre
Willkommen zu Modul 3 und herzlichen Glückwunsch, dass Sie die Mitte dieses Kurses erreicht haben! Es ist bekannt, dass viele Anwendungen einen Großteil ihrer Ausführungszeit in Schleifen verbringen. Daher ist es sehr motivierend zu lernen, wie Schleifen durch den Einsatz von Parallelität beschleunigt werden können, was der Schwerpunkt dieses Moduls ist. Wir werden zunächst lernen, wie parallele Zählschleifen mit Hilfe der forall- und stream-APIs in Java bequem ausgedrückt werden können und wie diese APIs zur Parallelisierung eines einfachen Matrixmultiplikationsprogramms verwendet werden können. Außerdem lernen wir das Barrier-Konstrukt für parallele Schleifen kennen und veranschaulichen seine Verwendung anhand eines einfachen Programms zur iterativen Mittelwertbildung. Schließlich werden wir lernen, wie wichtig es ist, parallele Iterationen zu gruppieren, um den Overhead zu reduzieren.
Das ist alles enthalten
7 Videos6 Lektüren1 Aufgabe1 Programmieraufgabe
Willkommen zum letzten Modul des Kurses! In diesem Modul schließen wir unsere Einführung in die parallele Programmierung ab, indem wir lernen, wie die Prinzipien des Datenflusses genutzt werden können, um den Grad der Parallelität in einem Programm zu erhöhen. Wir werden lernen, wie die Phaser-API von Java verwendet werden kann, um "unscharfe" Barrieren zu implementieren, und auch "Punkt-zu-Punkt"-Synchronisationen als Optimierung der regulären Barrieren, indem wir das Beispiel der iterativen Mittelwertbildung wieder aufgreifen. Schließlich werden wir auch lernen, wie Pipeline-Parallelität und Datenflussmodelle mit Java-APIs ausgedrückt werden können.
Das ist alles enthalten
7 Videos7 Lektüren1 Aufgabe1 Programmieraufgabe
Die nächsten beiden Videos zeigen, wie wichtig es ist, etwas über gleichzeitige Programmierung und verteilte Programmierung in Java zu lernen. Professor Vivek Sarkar wird bei Two Sigma mit Fachleuten aus der Industrie darüber sprechen, wie die Themen unserer beiden anderen Kurse in der Praxis eingesetzt werden.
Das ist alles enthalten
2 Videos1 Lektüre
Dozent
Empfohlen, wenn Sie sich für Softwareentwicklung interessieren
University of California San Diego
École Polytechnique Fédérale de Lausanne
Warum entscheiden sich Menschen für Coursera für ihre Karriere?
Bewertungen von Lernenden
1.218 Bewertungen
- 5 stars
69,12 %
- 4 stars
22,74 %
- 3 stars
6,56 %
- 2 stars
1,14 %
- 1 star
0,41 %
Zeigt 3 von 1218 an
Geprüft am 26. Dez. 2017
Very relevant concepts, explained beautifully by a very experienced professor. The assignments were good, but they could involve more programming for more practice!
Geprüft am 13. Dez. 2019
It was actually quite fun. I particularly enjoyed the Two Sigma interviews, which gave me a better understanding about how the course concepts are applied in business.
Geprüft am 25. Mai 2020
I found the explanation of how to precisely code phasors lacking as the Thread stuff was already provided in sample code and never explained. Quite satisfied with the rest of the course though.
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.