Functional Programming Principles in Scala

  • 4.8
Approx. 41 hours to complete

Course Summary

Learn functional programming principles using Scala. In this course, you will discover the fundamentals of functional programming and how to apply them using Scala programming language.

Key Learning Points

  • Understand functional programming principles
  • Learn how to use Scala programming language for functional programming
  • Apply functional programming concepts to solve real-world problems

Job Positions & Salaries of people who have taken this course might have

    • USA: $84,000
    • India: ₹ 8,00,000
    • Spain: €35,000
    • USA: $84,000
    • India: ₹ 8,00,000
    • Spain: €35,000

    • USA: $120,000
    • India: ₹ 15,00,000
    • Spain: €45,000
    • USA: $84,000
    • India: ₹ 8,00,000
    • Spain: €35,000

    • USA: $120,000
    • India: ₹ 15,00,000
    • Spain: €45,000

    • USA: $120,000
    • India: ₹ 15,00,000
    • Spain: €45,000

Related Topics for further study


Learning Outcomes

  • Understand functional programming principles and how to apply them using Scala
  • Write programs using functional programming concepts to solve real-world problems
  • Develop a foundational understanding of software engineering principles

Prerequisites or good to have knowledge before taking this course

  • Basic programming knowledge
  • Familiarity with object-oriented programming

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced

Similar Courses

  • Functional Programming Principles in Scala
  • Functional Programming in Haskell
  • Programming Languages, Part A

Related Education Paths


Notable People in This Field

  • Programming Language Designer
  • Functional Programming Expert

Related Books

Description

Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Netflix, Zalando, and also Coursera.

Knowledge

  • Understand the principles of functional programming
  • Write purely functional programs, using recursion, pattern matching, and higher-order functions
  • Design immutable data structures
  • Combine functional programming with objects and classes

Outline

  • Getting Started + Functions & Evaluation
  • 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
  • Working on Assignments
  • Tools Setup (Please read)
  • Cheat Sheet
  • SBT tutorial and Submission of Assignments (Please read)
  • Learning Resources
  • Scala Style Guide
  • Learning check-in
  • Higher Order Functions
  • Week 2: 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
  • Data and Abstraction
  • 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
  • Types and Pattern Matching
  • 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
  • Lists
  • 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
  • Collections
  • Week 6: 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

Summary of User Reviews

Read reviews for the Scala Functional Programming course on Coursera. Users highly recommend this course for its comprehensive content and engaging teaching style.

Key Aspect Users Liked About This Course

The course covers a wide range of functional programming concepts in Scala and teaches them in an engaging and easy-to-understand manner.

Pros from User Reviews

  • Comprehensive coverage of functional programming concepts in Scala
  • Engaging and easy-to-understand teaching style
  • Challenging assignments that help reinforce learning
  • Helpful forum community for support and collaboration

Cons from User Reviews

  • Some users felt that the course moved too quickly and was difficult to keep up with
  • The course requires a significant time commitment and may not be suitable for those with busy schedules
  • Some users felt that the course lacked sufficient examples and practice problems
English
Available now
Approx. 41 hours to complete
Martin Odersky
École Polytechnique Fédérale de Lausanne
Coursera

Instructor

Martin Odersky

  • 4.8 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses