À propos de ce cours
201,136 consultations récentes

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

At least one year of programming (in any language)

Approx. 23 heures pour terminer

Recommandé : 5 hours / week...

Anglais

Sous-titres : Anglais, Coréen, Serbe, Français

Ce que vous allez apprendre

  • Check

    Understand the principles of functional programming

  • Check

    Write purely functional programs, using recursion, pattern matching, and higher-order functions

  • Check

    Design immutable data structures

  • Check

    Combine functional programming with objects and classes

Compétences que vous acquerrez

RecursionScala ProgrammingArray ProgrammingFunctional Programming
Les étudiants prenant part à ce Course sont
  • Data Engineers
  • Data Scientists
  • Software Engineers
  • Machine Learning Engineers
  • Technical Leads

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

At least one year of programming (in any language)

Approx. 23 heures pour terminer

Recommandé : 5 hours / week...

Anglais

Sous-titres : Anglais, Coréen, Serbe, Français

Programme du cours : ce que vous apprendrez dans ce cours

Semaine
1
13 heures pour terminer

Getting Started + Functions & Evaluation

11 vidéos (Total 139 min), 7 lectures, 4 quiz
11 vidéos
Tools Setup for Linux22 min
Tools Setup for Mac OS X21 min
Tools Setup for Windows18 min
Lecture 1.1 - Programming Paradigms14 min
Lecture 1.2 - Elements of Programming14 min
Lecture 1.3 - Evaluation Strategies and Termination4 min
Lecture 1.4 - Conditionals and Value Definitions8 min
Lecture 1.5 - Example: square roots with Newton's method11 min
Lecture 1.6 - Blocks and Lexical Scope8 min
Lecture 1.7 - Tail Recursion12 min
7 lectures
Tools Setup (Please read)10 min
Cheat Sheet10 min
IntelliJ IDEA Tutorial10 min
SBT tutorial and Submission of Assignments (Please read)10 min
Learning Resources10 min
Scala Tutorial10 min
Scala Style Guide10 min
1 exercice pour s'entraîner
Learning check-in2 min
Semaine
2
7 heures pour terminer

Higher Order Functions

7 vidéos (Total 84 min), 2 quiz
7 vidéos
Lecture 2.2 - Currying14 min
Lecture 2.3 - Example: Finding Fixed Points10 min
Lecture 2.4 - Scala Syntax Summary4 min
Lecture 2.5 - Functions and Data11 min
Lecture 2.6 - More Fun With Rationals15 min
Lecture 2.7 - Evaluation and Operators16 min
Semaine
3
7 heures pour terminer

Data and Abstraction

3 vidéos (Total 66 min), 2 quiz
3 vidéos
Lecture 3.2 - How Classes Are Organized20 min
Lecture 3.3 - Polymorphism21 min
Semaine
4
8 heures pour terminer

Types and Pattern Matching

7 vidéos (Total 117 min), 2 quiz
7 vidéos
Lecture 4.2 - Functions as Objects8 min
Lecture 4.3 - Subtyping and Generics15 min
Lecture 4.4 - Variance (Optional)21 min
Lecture 4.5 - Decomposition16 min
Lecture 4.6 - Pattern Matching19 min
Lecture 4.7 - Lists16 min
4.8
1306 avisChevron Right

28%

a commencé une nouvelle carrière après avoir terminé ces cours

26%

a bénéficié d'un avantage concret dans sa carrière grâce à ce cours

11%

a obtenu une augmentation de salaire ou une promotion

Principaux examens pour Principes de la programmation fonctionnelle dans Scala

par RSOct 9th 2016

Really good explanation by the instructor. Good assignments. The assignments gave a good insights into functional programming. I loved the way the problems were decomposed into neat smaller functions.

par AJSep 24th 2019

As expected Martin is awesome in explaining principle of functional programming. I have started reading the book as well to make sure I keep up with the knowledge which I have gained from this course.

Enseignant

Avatar

Martin Odersky

Professor
Computer Science

À propos de École polytechnique fédérale de Lausanne

À propos du Spécialisation 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

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous vous inscrivez au cours, vous bénéficiez d'un accès à tous les cours de la Spécialisation, et vous obtenez un Certificat lorsque vous avez réussi. Votre Certificat électronique est alors ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.