Functional Programming Principles in Scala

This course is part of Functional Programming in Scala Specialization

Instructor: Martin Odersky

What you'll learn

  •   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
  • Skills you'll gain

  •   Object Oriented Programming (OOP)
  •   Data Structures
  •   Computer Programming
  •   Functional Design
  •   Scala Programming
  •   Programming Principles
  •   Integrated Development Environments
  •   Javascript
  •   Algorithms
  • There are 6 modules in this course

    In this course, you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks, such as modeling business domains or implementing business logic. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically. The course is hands-on; most units introduce short programs that serve as illustrations of important concepts and invite you to play with them, modifying and improving them. The course is complemented by a series of programming projects as homework assignments. Recommended background: You should have at least one year of programming experience. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, Javascript, or Ruby is also sufficient. You should have some background in mathematics (e.g., algebra, logic, proof by induction). Last, you should have some familiarity with using the command line.

    Higher Order Functions

    Data and Abstraction

    Types and Pattern Matching

    Lists

    Collections

    Explore more from Software Development

    ©2025  ementorhub.com. All rights reserved