Functional Programming with Scala

Write Code That Composes Like Mathematics

Transform how you build software through Scala's type system and functional patterns that eliminate entire categories of bugs

Back to Home

What This Program Delivers

Confidence in Your Code

You'll move beyond hoping your code works to knowing it does. The type system becomes your safety net, catching mistakes before they reach production.

Composability at Scale

Build complex systems by combining smaller pieces that fit together naturally. Your codebase becomes easier to understand and maintain over time.

Practical Skills You'll Use

Walk away with hands-on experience building REST APIs, event sourcing systems, and distributed applications using production-grade tools.

New Problem-Solving Mindset

Learn to think in terms of transformations and compositions. You'll approach problems differently, seeing solutions that were invisible before.

This program helps you develop the mindset and skills that make functional programming feel natural rather than foreign. You'll gain the confidence to apply these techniques in your work, knowing they make your code more reliable.

Challenges You May Recognize

Wrestling With Mutable State

Your application's state changes in ways you didn't anticipate. Tracking down which part of the code modified what becomes a time-consuming investigation. You spend more time debugging than building features.

Complex Object Hierarchies

Your class structures become intricate webs of inheritance and dependencies. Making changes requires understanding how everything connects, and each modification risks breaking something unexpected elsewhere.

Testing Feels Like a Puzzle

Setting up tests requires mocking half your application. You're never quite certain whether your tests validate the right behavior or just the implementation details you happened to choose.

Concurrency Concerns

Adding concurrency to your application introduces race conditions you didn't see coming. Managing threads and shared state requires constant vigilance, and production bugs emerge despite thorough testing.

These challenges compound as your application grows, making it harder to move forward with confidence. There's a different way to approach these problems.

Our Approach to Teaching Scala

We help you develop a functional programming mindset through Scala's features, building understanding gradually with concepts that connect to problems you already know.

1

Foundation First

Start with immutability and pure functions. We connect these ideas to scenarios you've encountered, making the concepts feel natural rather than abstract.

2

Type System Mastery

Learn to leverage Scala's type system to catch errors at compile time. You'll discover how to make invalid states unrepresentable in your code.

What Makes This Effective

We focus on understanding why these patterns work rather than just memorizing syntax. Each concept builds on previous ones, creating a coherent picture of how functional programming solves real problems.

You'll work on substantial projects that demonstrate how these techniques scale. By the end, you'll have built REST APIs with http4s, implemented event sourcing, and created distributed systems—all using the functional patterns we cover.

How the Program Works

1

Initial Sessions

We start with core functional programming concepts, connecting them to challenges you've faced. You'll work through exercises that build understanding incrementally, with support available when concepts feel unclear.

2

Pattern Application

Move into type classes, monads, and applicatives through practical examples. Each pattern gets applied to real scenarios, helping you see when and how to use them in your own work.

3

Effect Systems

Learn to work with cats and ZIO for managing effects. You'll build applications that handle asynchronous operations and side effects in a composable way.

4

Real Projects

Apply everything through substantial projects including REST APIs, event sourcing systems, and distributed applications. You'll work with production-grade libraries and patterns.

Support Throughout

Sessions accommodate working professionals with flexible scheduling options. When concepts feel challenging, we'll work through them at a pace that makes sense for you. Our focus is helping you build genuine understanding that you can apply to your own projects.

Program Investment

¥57,000

Complete Functional Programming with Scala Program

What You Receive

  • Comprehensive curriculum covering functional programming foundations
  • Hands-on experience with Scala's type system and features
  • Pattern matching, higher-order functions, and immutability
  • Working with monads, functors, and applicatives
  • cats and ZIO effect systems implementation

Project Experience

  • Building REST APIs with http4s
  • Implementing event sourcing patterns
  • Creating distributed systems with Akka
  • Stream processing and reactive patterns
  • Domain modeling with type safety

This investment covers comprehensive instruction, hands-on projects, and the resources you need to develop real functional programming skills. You'll gain understanding that applies directly to building production applications.

Your Learning Path

Weeks 1-3

Functional Foundations

Pure functions, immutability, referential transparency. Pattern matching and higher-order functions. Function composition and currying.

Weeks 4-6

Type System Mastery

Type classes and implicit resolution. Algebraic data types and sealed traits. Functors, applicatives, and monads with practical applications.

Weeks 7-8

Production Systems

Building with cats and ZIO. REST APIs with http4s. Event sourcing and distributed systems. Stream processing with Akka.

How Progress Works

Each concept builds on previous understanding. You'll work through exercises that demonstrate why these patterns matter, with projects that show how they work at scale.

By the program's end, you'll have built complete applications using functional techniques. The timeline allows concepts to settle through practice, giving you genuine proficiency rather than surface familiarity.

Start With Confidence

Initial Consultation

We'll discuss your background, what you're hoping to learn, and whether this program matches your situation. There's no commitment required for this conversation.

Clear Expectations

You'll understand the curriculum, time commitment, and what to expect before enrolling. We want you to make an informed decision about whether this fits your needs.

Ongoing Support

When concepts feel challenging, we work through them together. The goal is genuine understanding, and we adjust pacing as needed to support your learning.

We're committed to helping you develop functional programming skills that you can actually use. If the program doesn't feel like the right fit during our initial consultation, we'll be straightforward about it.

Getting Started

1

Reach Out

Contact us using the form below or through the details provided. Let us know you're interested in the Scala program and a bit about your background.

2

Initial Conversation

We'll schedule a call to discuss your learning goals, review the curriculum, and answer your questions about how the program works.

3

Enrollment

If the program feels like a good match, we'll handle enrollment details and get you set up with the materials you'll need.

4

Begin Learning

Start with the foundational concepts and build from there. We'll work through each section together, with support available when you need it.

The entire process is straightforward, with no pressure to decide immediately. We want you to feel confident about whether this program serves your learning goals.

Ready to Explore Functional Programming?

Let's discuss whether this program aligns with your learning goals. Reach out to start a conversation about what you're hoping to achieve.

Get Program Information

Explore Other Programs

Each program focuses on different aspects of modern software development

Reactive Systems with RxJS

Build responsive applications using observables and reactive patterns. Learn to handle complex async workflows with composable operators that make state management tractable.

¥45,000
Learn More

Concurrent Programming Patterns

Master thread safety, lock-free algorithms, and actor patterns for building high-performance systems. Learn concurrency techniques that let you build reliable multi-core applications.

¥53,000
Learn More