Careers360 Logo
Interested in this College?
Get updates on Eligibility, Admission, Placements Fees Structure
Compare

Quick Facts

Medium Of InstructionsMode Of LearningMode Of Delivery
EnglishSelf StudyVideo and Text Based

Course Overview

Coursera offers the Functional Programming Principles in Scala online course in association with EPFL (École Polytechnique Fédérale de Lausanne) which is a renowned research university in Lausanne, Switzerland. The instructor for this course is Professor Martin Odersky, who has devoted most of his career to programming languages. Learn from Prof. Martin and get the best educational experience in the field of functional programming.

The Functional Programming Principles in Scala course has modules spread out over 6 weeks; the course can be completed in approximately 45 hours. Discover the components of functional programming style with this comprehensive curriculum and apply them practically. 

Besides, the Functional Programming Principles in Scala certification course also promotes interaction and improvement of one’s core abilities in a fun and relaxed way. Enjoy intermittent programming assignments to get a grip on the practical aspect of the course. Coursera will award you a certificate upon successful completion of this course, allowing you to share your skills and specialization.

The Highlights

  • Intermediate level course
  • Self-paced learning
  • Shareable certificate
  • Flexible deadlines
  • Financial assistance
  • Practice quizzes
  • Programming assignments
  • Pre-recorded videos
  • Lectures in English
  • Subtitles available in English, Korean, French, Serbian

Programme Offerings

  • online learning
  • Certificate
  • Discussion boards
  • Graded Quizzes and assignment
  • Email Updates and Communication
  • Course Completion in Approximately 45 Hours
  • Shareable Certificate
  • free enrollment
  • Experienced Instructors

Courses and Certificate Fees

Certificate AvailabilityCertificate Providing Authority
yesCoursera

Functional Programming Principles in Scala Fees details

Particulars

Amount

Course Fee, 1 Month

Rs. 4,115

Course Fee, 3 Month

Rs. 8,230

Course Fee, 6 Month

Rs. 12,345



Eligibility Criteria

For satisfactory completion of the Functional Programming Principles in Scala certification course, candidates need to have at least a year of programming experience. They must be fluent in C/C++, Java, or other languages like Javascript, Ruby, Python. Additionally, candidates should be familiar with using the command line. 

What you will learn

Programming skills

Upon successful completion of all the modules present in the Functional Programming Principles in Scala certification course, you will have:

  • Grasp the principles of functional programming
  • Design immutable data structures
  • write purely functional programs with the help of recursion, higher-order functions and pattern matching
  • Combining functional programming with classes and objects

Who it is for


Admission Details

Use the following steps to apply for the Functional Programming Principles in Scala certification course by Coursera:

Step 1. Log on to the website of Coursera.

Step 2. In the course catalogue, look for the ‘Functional Programming Principles in Scala course’ and open the page.

Step3. Click on the ‘Enroll for Free’ button present at the top of the page.

Step 4. Next, you need to sign-up for Coursera using your Google or email address. 

Step 5. If you have opted for the paid version and want a course completion certificate, make the payment. Otherwise, you can audit the certification course for free. 

Application Details

To join the Functional Programming Principles in Scala certification course, you will have to fill in your personal details. If you are already registered, log in with credentials, otherwise, set up your account. When you are finished logging in, you will get access to the course content. Coursera offers a 7-day free trial option to all the candidates.

The Syllabus

Videos
  • Course Introduction
  • Lecture 1.1 - Programming Paradigms
  • Lecture 1.2 - Elements of Programming
  • Lecture 1.3 - Evaluation Strategies and Termination
  • Lecture 1.4 - Conditionals and Value Definitions
  • Lecture 1.5 - Example: square roots with Newton's method
  • Lecture 1.6 - Blocks and Lexical Scope
  • Lecture 1.7 - Tail recursion
Readings
  • Working on Assignments
  • Tools Setup (Please read)
  • Scala 3 REPL and Worksheets
  • Cheat Sheet
  • SBT tutorial and Submission of Assignments (Please read)
  • Learning Resources
  • Scala Style Guide
Assignments
  • Programming Paradigms
  • Elements of Programming
  • Evaluation Strategies and Termination
  • Square roots with Newton's method
  • Blocks and Lexical Scope
  • Tail recursion
  • Learning check-in
Programming Assignments
  • Example
  • Recursion
  • Recursion

Videos
  • Week 2: Course Introduction
  • Lecture 2.1 - Higher-order functions
  • Lecture 2.2 - Currying
  • Lecture 2.3 - Example: Finding Fixed Points
  • Lecture 2.4 - Scala Syntax Summary
  • Lecture 2.5 - Functions and Data
  • Lecture 2.6 - More Fun With Rationals
  • 2.7 - Evaluations and Operators
Assignments
  • Higher-order functions
  • Currying
  • Functions and data
  • More Fun With Rationals
  • Evaluations and Operators
Programming Assignments
  • Functional Sets
  • Functional Sets

Videos
  • Week 3: Introduction
  • Lecture 3.1 - Class hierarchies
  • Lecture 3.2 - How classes are organized
  • Lecture 3.3 - Polymorphism
  • Lecture 3.4-Objects Everywhere
  • Lecture 3.5-Functions as Objects
Assignments
  • Class hierarchies
  • How classes are organized
  • Polymorphism
  • Scala is functional and objected-oriented
Programming Assignments
  • Object-Oriented Sets
  • Object-Oriented Sets

Videos
  • Week 4: Introduction
  • Lecture 4.1 - Decomposition
  • Lecture 4.2 - Pattern Matching
  • Lecture 4.3 - Lists
  • Lecture 4.4 - Enums
  • Lecture 4.5 - Subtyping and Generics
  • Lecture 4.6 - Variance
Assignments
  • Decomposition
  • Pattern Matching
  • Lists
  • Enums
  • Subtyping and Generics
  • Variance3
Programming Assignments
  • Huffman Coding
  • Huffman Coding

Videos
  • Week 5: Introduction
  • Lecture 5.1 - A Closer Look at Lists
  • Lecture 5.2 - Tuples and Generic Methods
  • Lecture 5.3 - Higher-order list functions
  • Lecture 5.4 - Reduction of Lists
  • Lecture 5.5 - Reasoning about lists
Assignments
  • A Closer Look at Lists
  • Tuples and Generic Methods
  • Higher-order list functions
  • Reduction of Lists
  • Reasoning about list

Videos
  • Week 5: Introduction
  • Lecture 6.1 - Other Collections
  • Lecture 6.2 - Combinatorial Search and For-Expressions
  • Lecture 6.3 - Combinatorial Search Example
  • Lecture 6.4 - Maps
  • Lecture 6.5 - Putting the Pieces Together
  • Conclusion
Assignments
  • Other Collections
  • Combinatorial Search and For-Expressions
  • Combinatorial Search Example
  • Maps
Programming Assignments
  • Anagrams
  • Anagrams

Instructors

Swiss Federal Institute of Technology Lausanne Frequently Asked Questions (FAQ's)

1: Which skills will I acquire after completion?

Primary skills include Functional programming, Scala programming, Recursion, and Array programming. 

2: What is a shareable certificate?

A shareable certificate, like the one you will receive at the end of this course, is a type of electronic certificate which you can share on various online platforms such as LinkedIn. 

3: Do I need any work experience to join the course?

Yes, you need to have a minimum of one year of programming experience in any language to apply for this course. Additionally, you must have proficiency in Java or C#.  

4: Who is the instructor for the course?

Martin Odersky, a computer science professor at the EPFL University, Switzerland, instructs the Functional Programming Principles in Scala programme. 

5: What is the course duration?

The Functional Programming Principles in Scala course is flexible allowing you to reset deadlines and complete assignments and lectures at your own speed. After registering in the programme, you can start studying immediately and plan your schedule accordingly. You can complete this intermediate-level course in approximately 45 hours.

Back to top