Scala for Backend Engineering and Functional Programming
Scala berjalan di atas JVM dan menggabungkan pemrograman berorientasi objek dan fungsional dalam satu bahasa yang statically typed. Scala mendukung infrastruktur data di perusahaan seperti Twitter, LinkedIn, dan Databricks — melalui framework seperti Apache Spark, Akka, dan Play. Track ini mencakup Scala dari syntax dan type system hingga pengembangan backend production-grade, concurrency, dan pola fungsional tingkat lanjut.
What You Will Learn
Anda akan dimulai dengan syntax Scala, REPL, values, types, dan pattern matching, kemudian lanjut ke case classes, algebraic data types, dan model penanganan error Option/Either/Try. Dari sana Anda akan bekerja dengan higher-order functions, tail recursion, for-comprehensions, dan lazy evaluation dengan streams. Topik menengah mencakup implicits, type classes, generics, pemrosesan JSON dengan Circe, REST APIs dengan http4s, asynchronous programming dengan Futures, dan pengembangan backend penuh dengan Play Framework. Kursus tingkat lanjut mencakup Cats dan IO Monad, ZIO, functional domain modeling, akses database dengan Doobie, data pipelines dengan Akka Streams, distributed systems dengan Akka Actors, dan microservices deployment. Track diakhiri dengan Scala metaprogramming, macros, dan performance tuning.
The Learning Path
Empat puluh kursus berkembang dari A1 hingga C2. Kursus A1 dan A2 menetapkan fondasi bahasa: syntax, collections, strings, tuples, dan pattern matching. Kursus B1 membangun kelancaran pemrograman fungsional — recursion, folding, lazy lists, traits, immutability, dan SBT build tool. B2 bergerak ke dalam ecosystem: type classes, Circe, Play, Spark, fitur Scala 3, dan async programming. Blok C1 menangani production concerns — Cats IO, ZIO, Akka Actors, Akka Streams, Doobie, dan cloud microservices. Track diakhiri di C2 dengan Scala Metaprogramming and Macros dan Performance Tuning and Optimization in Scala.
How It Works
Setiap kursus dibagi menjadi pelajaran singkat dan hands-on yang Anda selesaikan di code editor built-in dengan real-time feedback. Tutor AI tersedia saat Anda terjebak, dan progression dirancang sehingga setiap konsep dibangun langsung dari yang sebelumnya — tanpa perlu beralih ke resource eksternal.