We may earn an affiliate commission when you visit our partners.
Vitthal Srinivasan

Scala is emerging as a popular choice for working with large datasets and frameworks such as Spark. This course focuses on functional programming construct fundamentals and moves to first class functions and higher order methods of collections.

Read more

Scala is emerging as a popular choice for working with large datasets and frameworks such as Spark. This course focuses on functional programming construct fundamentals and moves to first class functions and higher order methods of collections.

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.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Course Overview
Thinking Functionally with Scala's Language Constructs
Composing Functions with Expressions
Placing Functions on Par with Objects as First Class Entities
Read more
Encouraging Functional Thinking via Cleverly Designed Collections
Understanding Precisely How Scan, Fold, and Reduce Work

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches functional programming constructs fundamentals, which are used in many distributed computing applications
Focuses on Scala's first class functions and higher order methods of collections, which is a strong fit for its core audience
Taught by Vitthal Srinivasan, who are recognized for their work in Scala programming
Examines how scan, fold, and reduce work, which is highly relevant to working with Big Data
Builds a strong foundation for applying functional programming to Big Data
Develops knowledge and skills that are core for Scala programmers working with Big Data

Save this course

Save Thinking Functionally in Scala 2 to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Thinking Functionally in Scala 2 with these activities:
Review essential programming constructs
Solidify your foundation in programming fundamentals to prepare for Scala's functional programming concepts.
Show steps
  • Revisit the concept of variables, data types, and operators.
  • Review control flow structures like if-else, loops, and switch statements.
Read 'Functional Programming in Scala' by Paul Chiusano and Rúnar Bjarnason
Enhance your understanding of Scala's functional programming concepts through a comprehensive book.
Show steps
  • Read the book thoroughly, focusing on principles and examples.
  • Work through the exercises and challenges provided in the book.
  • Reflect on how the concepts apply to your own programming practice.
Volunteer as a mentor to support other Scala learners
Strengthen your understanding while giving back by mentoring fellow Scala learners.
Show steps
  • Identify platforms or communities where you can offer mentorship.
  • Connect with learners who seek guidance and support.
  • Provide guidance, share resources, and answer questions.
  • Engage in discussions and contribute to the growth of the Scala community.
Show all three activities

Career center

Learners who complete Thinking Functionally in Scala 2 will develop knowledge and skills that may be useful to these careers:
Machine Learning Engineer
Machine Learning Engineers use data and algorithms to build intelligent systems. These roles often require an understanding of functional programming, and so the Thinking Functionally in Scala 2 course may prove useful.
Software Engineer
Scala is used at companies including LinkedIn, Twitter, and Airbnb. Software Engineers working at these companies may want to take the Thinking Functionally in Scala 2 course to maximize their potential.
Data Architect
Data Architects design and maintain large datasets. They may need to work with functional programming constructs. Thus, the Thinking Functionally in Scala 2 course may be useful to Data Architects.
Software Architect
Software Architects design and maintain the high-level structure of complex software systems. As Scala is used at major tech companies, the Thinking Functionally in Scala 2 course can help Software Architects better utilize Scala.
Data Analyst
Data Analysts analyze large amounts of data, and may need to apply functional programming techniques to their work. The Thinking Functionally in Scala 2 course can help aspiring Data Analysts prepare for this need, and may help more experienced Data Analysts advance their careers.
Computer Programmer
Computer Programmers write and maintain code. Thinking Functionally in Scala 2 may be helpful to Computer Programmers who work at companies that primarily use Scala for software development.
Data Scientist
Data Scientists are particularly knowledgeable about functional programming, and Scala is a highly popular language for such roles. For this reason, the Thinking Functionally in Scala 2 course may be useful for aspiring Data Scientists, and may help them advance their careers.
Quantitative Analyst
Quantitative Analysts use mathematics to help make predictions and inform financial decisions. Scala is useful in these kinds of roles, and so the Thinking Functionally in Scala 2 course may help those seeking to work as Quantitative Analysts.
Software Quality Assurance Analyst
Software Quality Assurance Analysts design and conduct tests for software products. The Thinking Functionally in Scala 2 course may be useful to Software Quality Assurance Analysts working with Scala code.
Systems Analyst
Systems Analysts design, implement, and maintain information systems. The Thinking Functionally in Scala 2 course may be useful to Systems Analysts working at companies that utilize Scala in the construction of those systems.
Web Developer
Scala is a popular language for use in modern web development. The Thinking Functionally in Scala 2 course may thus be useful for those aspiring to work as Web Developers.
Computer Scientist
Computer Scientists conduct research in all areas of computation and information technology. Since Scala is a popular language, the Thinking Functionally in Scala 2 course may be useful for a variety of research specializations.
Database Administrator
Database Administrators manage and maintain databases. While they may not always need to use functional programming, the Thinking Functionally in Scala 2 may help Database Administrators work with specific database management systems that are compatible with Scala.
Network Engineer
Network Engineers design, implement, and maintain computer networks. Scala is not commonly used by Network Engineers, so the Thinking Functionally in Scala 2 course will likely not be highly useful to these professionals.
Information Security Analyst
Information Security Analysts protect computer networks and systems from unauthorized access. Scala is not commonly used for cybersecurity, so the Thinking Functionally in Scala 2 course may not be directly helpful for this role.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Thinking Functionally in Scala 2.
Collection of recipes that cover a wide range of Scala topics, from basic syntax to advanced functional programming techniques. It great resource for anyone who wants to learn more about Scala or find solutions to specific problems.
Provides a comprehensive overview of functional programming in Scala, covering the basics of the language as well as advanced topics such as monads and type classes. It valuable resource for anyone who wants to learn more about functional programming in Scala.
Provides a practical guide to domain-driven design (DDD) and reactive programming in Scala. It covers topics such as event sourcing, CQRS, and Akka. It valuable resource for anyone who wants to learn more about DDD and reactive programming in Scala.
Provides a practical guide to using Scala for data science. It covers topics such as data wrangling, data visualization, and machine learning. It valuable resource for anyone who wants to learn more about data science in Scala.
Provides a comprehensive guide to concurrency in Scala. It covers topics such as threading, synchronization, and parallelism. It valuable resource for anyone who wants to learn more about concurrency in Scala.
Practical guide to using Scala for Android development. It covers topics such as Android UI development, Android networking, and Android data storage.
Provides a concise and practical introduction to the Scala programming language, covering the basics of the language, as well as more advanced topics such as functional programming and concurrency.
Collection of recipes for solving common problems in Scala. It covers a wide range of topics, from basic syntax to advanced functional programming techniques. It valuable resource for anyone who wants to learn more about Scala.
Fast-paced introduction to Scala for experienced programmers. It covers the basics of the language, as well as more advanced topics such as functional programming and concurrency.
Practical guide to using Scala for machine learning. It covers topics such as data preparation, model training, and model evaluation.
Practical guide to using Scala for web development. It covers topics such as web frameworks, web services, and web security.
Gentle introduction to Scala. It covers the basics of the language, as well as more advanced topics such as object-oriented programming and functional programming.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Thinking Functionally in Scala 2.
Scala 2 Methods and Functions
Most relevant
Big Data Analysis with Scala and Spark (Scala 2 version)
Most relevant
Big Data Analysis with Scala and Spark
Most relevant
Developing Spark Applications Using Scala & Cloudera
Most relevant
Scala 2: The Big Picture
Most relevant
Scala & Functional Programming Essentials | Rock the JVM
Most relevant
Apache Spark with Scala - Hands On with Big Data!
Most relevant
Akka Streams with Scala | Rock the JVM
Most relevant
Modern Distributed Systems
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser