Acerca de este Curso
4.4
1,405 calificaciones
224 revisiones
Programa Especializado
100 % en línea

100 % en línea

Comienza de inmediato y aprende a tu propio ritmo.
Fechas límite flexibles

Fechas límite flexibles

Restablece las fechas límite en función de tus horarios.
Nivel intermedio

Nivel intermedio

Horas para completar

Aprox. 16 horas para completar

Sugerido: 6 hours/week...
Idiomas disponibles

Inglés (English)

Subtítulos: Inglés (English)

Habilidades que obtendrás

Data StructureParallel ComputingData ParallelismParallel Algorithm
Programa Especializado
100 % en línea

100 % en línea

Comienza de inmediato y aprende a tu propio ritmo.
Fechas límite flexibles

Fechas límite flexibles

Restablece las fechas límite en función de tus horarios.
Nivel intermedio

Nivel intermedio

Horas para completar

Aprox. 16 horas para completar

Sugerido: 6 hours/week...
Idiomas disponibles

Inglés (English)

Subtítulos: Inglés (English)

Programa - Qué aprenderás en este curso

Semana
1
Horas para completar
12 horas para completar

Parallel Programming

We motivate parallel programming and introduce the basic constructs for building parallel programs on JVM and Scala. Examples such as array norm and Monte Carlo computations illustrate these concepts. We show how to estimate work and depth of parallel programs as well as how to benchmark the implementations....
Reading
9 videos (Total 106 min), 5 readings, 3 quizzes
Video9 videos
Introduction to Parallel Computing15m
Parallelism on the JVM I13m
Parallelism on the JVM II8m
Running Computations in Parallel13m
Monte Carlo Method to Estimate Pi4m
First-Class Tasks7m
How Fast are Parallel Programs?24m
Benchmarking Parallel Programs17m
Reading5 lecturas
Tools Setup10m
Eclipse Tutorial10m
IntelliJ IDEA Tutorial10m
Sbt Tutorial10m
Submitting Solutions10m
Semana
2
Horas para completar
8 horas para completar

Basic Task Parallel Algorithms

We continue with examples of parallel algorithms by presenting a parallel merge sort. We then explain how operations such as map, reduce, and scan can be computed in parallel. We present associativity as the key condition enabling parallel implementation of reduce and scan....
Reading
6 videos (Total 100 min), 2 quizzes
Video6 videos
Data Operations and Parallel Mapping18m
Parallel Fold (Reduce) Operation18m
Associativity I14m
Associativity II17m
Parallel Scan (Prefix Sum) Operation24m
Semana
3
Horas para completar
7 horas para completar

Data-Parallelism

We show how data parallel operations enable the development of elegant data-parallel code in Scala. We give an overview of the parallel collections hierarchy, including the traits of splitters and combiners that complement iterators and builders from the sequential case....
Reading
5 videos (Total 51 min), 2 quizzes
Video5 videos
Data-Parallel Operations I6m
Data-Parallel Operations II8m
Scala Parallel Collections15m
Splitters and Combiners7m
Semana
4
Horas para completar
7 horas para completar

Data Structures for Parallel Computing

We give a glimpse of the internals of data structures for parallel computing, which helps us understand what is happening under the hood of parallel collections....
Reading
5 videos (Total 57 min), 2 quizzes
Video5 videos
Parallel Two-phase Construction14m
Conc-tree Data Structure14m
Amortized, Constant-time Append Operation11m
Conc-Tree Combiners4m
4.4
224 revisionesChevron Right
Dirección de la carrera

24%

comenzó una nueva carrera después de completar estos cursos
Beneficio de la carrera

83%

consiguió un beneficio tangible en su carrera profesional gracias a este curso

Principales revisiones

por ALApr 24th 2018

The course is fairly advanced and you would need to review the materials many times to understand the concept. The assignments are definitely fun and not as straightforward as other courses.

por RCAug 25th 2017

Superb study material. Learnt a lot during this course. I am not much into mathematical stuff, but got a hang of how to break problems and improve efficiency through parallelism.

Instructores

Avatar

Prof. Viktor Kuncak

Associate Professor
School of Computer and Communication Sciences
Avatar

Dr. Aleksandar Prokopec

Principal Researcher
Oracle Labs

Acerca de École Polytechnique Fédérale de Lausanne

Acerca del programa especializado Functional Programming in Scala

Discover how to write elegant code that works the first time it is run. This Specialization provides a hands-on introduction to functional programming using the widespread programming language, Scala. It begins from the basic building blocks of the functional paradigm, first showing how to use these blocks to solve small problems, before building up to combining these concepts to architect larger functional programs. You'll see how the functional paradigm facilitates parallel and distributed programming, and through a series of hands on examples and programming assignments, you'll learn how to analyze data sets small to large; from parallel programming on multicore architectures, to distributed programming on a cluster using Apache Spark. A final capstone project will allow you to apply the skills you learned by building a large data-intensive application using real-world data....
Functional Programming in Scala

Preguntas Frecuentes

  • Una vez que te inscribes para obtener un Certificado, tendrás acceso a todos los videos, cuestionarios y tareas de programación (si corresponde). Las tareas calificadas por compañeros solo pueden enviarse y revisarse una vez que haya comenzado tu sesión. Si eliges explorar el curso sin comprarlo, es posible que no puedas acceder a determinadas tareas.

  • Cuando te inscribes en un curso, obtienes acceso a todos los cursos que forman parte del Programa especializado y te darán un Certificado cuando completes el trabajo. Se añadirá tu Certificado electrónico a la página Logros. Desde allí, puedes imprimir tu Certificado o añadirlo a tu perfil de LinkedIn. Si solo quieres leer y visualizar el contenido del curso, puedes auditar el curso sin costo.

¿Tienes más preguntas? Visita el Centro de Ayuda al Alumno.