About this Specialization

33,843 recent views

100% online courses

Start instantly and learn at your own schedule.

Flexible Schedule

Set and maintain flexible deadlines.

Intermediate Level

At least one year of programming experience, in any language.

Approx. 5 months to complete

Suggested 6 hours/week

English

Subtitles: English, Korean, Serbian, French, Portuguese (Brazilian)

What you will learn

  • 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

Skills you will gain

Scala ProgrammingParallel ComputingApache SparkFunctional Programming

100% online courses

Start instantly and learn at your own schedule.

Flexible Schedule

Set and maintain flexible deadlines.

Intermediate Level

At least one year of programming experience, in any language.

Approx. 5 months to complete

Suggested 6 hours/week

English

Subtitles: English, Korean, Serbian, French, Portuguese (Brazilian)

How the Specialization Works

Take Courses

A Coursera Specialization is a series of courses that helps you master a skill. To begin, enroll in the Specialization directly, or review its courses and choose the one you'd like to start with. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. It’s okay to complete just one course — you can pause your learning or end your subscription at any time. Visit your learner dashboard to track your course enrollments and your progress.

Hands-on Project

Every Specialization includes a hands-on project. You'll need to successfully finish the project(s) to complete the Specialization and earn your certificate. If the Specialization includes a separate course for the hands-on project, you'll need to finish each of the other courses before you can start it.

Earn a Certificate

When you finish every course and complete the hands-on project, you'll earn a Certificate that you can share with prospective employers and your professional network.

how it works

There are 5 Courses in this Specialization

Course1

Course 1

Functional Programming Principles in Scala

4.8
stars
7,006 ratings
1,387 reviews
Course2

Course 2

Functional Program Design in Scala

4.5
stars
2,852 ratings
487 reviews
Course3

Course 3

Parallel programming

4.4
stars
1,689 ratings
252 reviews
Course4

Course 4

Big Data Analysis with Scala and Spark

4.7
stars
2,209 ratings
441 reviews

About École Polytechnique Fédérale de Lausanne

Frequently Asked Questions

  • Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.

  • This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.

  • This Specialization doesn't carry university credit, but some universities may choose to accept Specialization Certificates for credit. Check with your institution to learn more.

  • Time to completion can vary based on your schedule, but most learners are able to complete the Specialization in 4-5 months.

  • Each course in the Specialization is offered on demand, and may be taken at any time.

  • At least one year of programming experience is recommended. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, JavaScript, or Ruby is also sufficient.

  • We recommend taking the courses in the order presented, as each subsequent course will build on material from previous courses.

  • Coursera courses and certificates don't carry university credit, though some universities may choose to accept Specialization Certificates for credit. Check with your institution to learn more.

  • These courses are designed to be self-contained, however for further reading we recommend:(1) for a more thorough treatment of some of the ideas presented in the course: Structure and Interpretation of Computer Programs, 2nd Edition, by Harold Abelson,Gerald Jay Sussman //http://www.amazon.com/gp/product/0262011530?*Version*=1&*entries*=0...(2)for learning more about Scala: Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition, by Martin Odersky, Lex Spoon, Bill Venners // http://www.amazon.com/Programming-Scala-Comprehensive-Step-Step/dp/0981531644...(3)for learning more about Scala: Scala for the Impatient by Cay Horstmann // http://www.horstmann.com/scala/index.html...(4)for learning more about parallel and concurrent programming in Scala: Learning Concurrent Programming in Scala by Aleksandar Prokopec // http://www.amazon.com/Learning-Concurrent-Programming-Aleksandar-Prokopec/dp/1783281413...(5)for learning more about Spark: Learning Spark by Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia //http://shop.oreilly.com/product/0636920028512.do

More questions? Visit the Learner Help Center.