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 Availability
Certificate Providing Authority
yes
Coursera
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
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.