Fundamental Algorithms in Scala [Integrated Course]

More Information
Learn
  • Learn decimal to binary and implement it in a functional form
  • Generate sequences using streams
  • Generate Fibonacci sequences the functional way
  • Understand the process to choose the right algorithm for the right usecase
  • Understand the usefulness of pattern matching
  • Generate prime numbers using the functional pattern
About

Scala's functional programming features are a boon to help you design “easy to reason about” systems to control growing software complexities.

In this course, you will look at some classic simple algorithms. Most algorithms are traditionally defined in an imperative manner, typically consisting of repetitions in the form of conditional looping and altering states. Writing these in a functional manner is not always a trivial process. Moving ahead, you will learn to implement these elementary algorithms using a combination of functional concepts instead of the traditional imperative approach. After covering the important functional concepts in Scala you will move on to the decimal to binary conversion and generate sequences algorithms. Further, we will look at implementing a series of algorithms such as generating prime numbers, divide and conquer, greedy algorithms, and functional infix to postfix conversion.

By the end of this course, you will be well versed in the functional concepts of Scala and would have implemented all of these.

Key Features

  • Install Scala and get started with using it (IDE and REPL)
  • Reinforce your knowledge using assessments and quizzes
  • Verify the concepts learned through an end-of-the-course practical project

Who this course is for

This course is aimed at Scala beginners and enthusiasts who want to get started with Scala's functional programming concepts. This course will allow newbie developers to understand classic algorithms and implement the functional approach to solve them.

Features
  • Install Scala and get started with using it (IDE and REPL)
  • Reinforce your knowledge using assessments and quizzes
  • Verify the concepts learned through an end-of-the-course practical project
Course Length 3 hours 39 minutes
ISBN 9781788474887
Date Of Publication 15 Dec 2017

Authors

James Cutajar

James Cutajar is a software developer with an interest in scalable, high-performance computing, and distributed algorithms. He is also an author, open source contributor, blogger, and a tech evangelist. When he is not writing software, he is riding his motorbike, surfing, or flying light aircraft. He was born in Malta, lived in London for almost a decade, and is now working in Portugal.