Hi, everyone. My name is Vitthal Srinivasan, and welcome to my course, Thinking Functionally in Scala. I'm a co-founder at a startup named Loonycorn. Before this, I worked at Google and studied at Stanford. Our language shapes our thought. This is a famous concept in psychology known as linguistic relativity, and this idea explains in a nutshell why Scala is so great for functional programming even though it runs atop the JVM just like Java. Additionally, functional code is so easy to distribute for data centers and this is why Scala has become very important for big data analysis these days. Some of the measured topics that we will cover include Scala fundamentals, topics such as type interfence, the difference between statements, and expressions. We'll talk about first class functions and their implications. We will discuss Scala collections and higher order methods on these collections such as map, for each, scan, fold, and reduce. By the end of this course, you will write clean, idiomatic Scala code that conforms to the functional paradigm. This will enable you to harness fully the power of distributed computing to work with large datasets. Before beginning the course, you should be familiar with programming, but only at a very basic level. It's sufficient to merely know what loops and arrays are. From here on in, you should feel comfortable diving into number crunching with Scala with courses such as Data Analysis in Spark using Scala. I hope you will join me on this journey to learn functional programming with this course, Thinking Functionally in Scala at Pluralsight.
Working with Big Data these days increasingly requires an understanding of functional programming constructs, because of how easily functional code can be distributed. In this course, Thinking Functionally in Scala, you will learn how to utilize the power of Scala's functional support, which is often hiding in plain sight. First, you will learn fundamental concepts such as the differences between statements and expressions. Next, you will start to grasp the full implications of first class functions. Finally, you will use higher order methods on collections to create chains of functional composition. When you're finished with this course, you will write clean, idiomatic Scala code that conforms to the functional paradigm, enabling you to harness the power of distributed computing to work with large datasets.