Functional Programming in Scala with Cats and Typeclasses

Build generic and robust software by mastering typeclasses, monads, and functional patterns using the Cats library.

4.4 (310) ⏱ 1 ساعة 36 دقيقة 📚 9 درس

حول هذه الدورة

Moving beyond basic object-oriented patterns in Scala requires a fundamental shift toward functional purity and type-level programming. This course bridges the gap between writing 'better Java' and leveraging the full power of the Scala type system to create highly reusable and testable code. You will transform your approach to software design by moving from imperative logic to declarative functional structures. By learning how to separate data from behavior through typeclasses and managing side effects with monads, you will be able to write applications that are easier to reason about and maintain. What you'll learn: - Understand the core principles of typeclasses and how to implement them using modern Scala features like givens and extension methods. - Apply foundational functional structures including Functors, Applicatives, and Monads to everyday programming tasks. - Implement robust data validation and error handling strategies using the Validated and Either types. - Manage application state, dependencies, and logging through the State, Reader, and Writer monads. - Master monad transformers to simplify complex nested computations and improve code readability. - Practice writing lawful functional code and understand the importance of laws in functional abstractions. - Explore the basics of effect management and lazy evaluation to build stack-safe and efficient programs. The course begins with essential terminology and the conceptual foundations of functional programming before moving into practical applications. You will read through detailed explanations and study code examples that demonstrate how to solve real-world problems using the Cats library. This course is designed for developers who have a basic grasp of Scala syntax and want to explore the functional ecosystem. No prior experience with category theory or functional libraries is required. Start reading to master the functional way of building Scala applications.

ما الذي ستحصل عليه

  • 📜 شهادة إتمام
    أضفها إلى ملفك على LinkedIn
  • 💬 Personal AI tutor
    Stuck on a lesson? Ask your built-in tutor anything, any time.
  • ♾️ وصول مدى الحياة
    عُد متى شئت، بلا انتهاء
  • 📱 الهاتف أو الكمبيوتر
    يعمل في أي مكان وعلى أي جهاز
  • 💸 استرداد خلال 30 يومًا
    دون أسئلة
  • قصير ومركَّز
    1 ساعة 36 دقيقة من المحتوى التطبيقي

المراجعات (5)

Chloe Bailey AU متعلِّم موثَّق
★ 4 · 2026-02-25T23:20:55+00:00

هذه مقدمة جيدة، البنية منطقية، وتغطي الأساسيات بفعالية، قد تكون مقدمة أكثر مما ينبغي للمتعلمين المتقدمين.

خالد بن أحمد آل خليفة BH متعلِّم موثَّق
★ 5 · 2025-10-28T07:00:55+00:00

What a fantastic learning experience. The examples were super relevant and really helped cement the concepts. Loved it!

Zofia Woźniak PL
★ 5 · 2025-06-28T06:10:55+00:00

مقدمة جيدة ، لقد أقدر الخطوات الواضحة ، على الرغم من أن بعض الوحدات اللاحقة كان يمكن أن تستخدم المزيد من الأمثلة.

Хамит Абильдин KZ متعلِّم موثَّق
★ 3 · 2025-05-09T01:26:55+00:00

It's a decent introduction. Could benefit from more diverse examples and a slightly better flow between modules.

Elena Reyes EC متعلِّم موثَّق
★ 2 · 2025-01-20T22:17:55+00:00

الأمثلة لم تكن دائماً قابلة للتطبيق مباشرة على ما تم تعليمه، الأمر مربك قليلاً

اكتب مراجعة

سنطلب منك تسجيل الدخول بعد الإرسال — تُحفظ مسودتك.

المتعلمون أخذوا أيضًا

الأسئلة الشائعة

ما الذي أحتاجه لأخذ هذه الدورة؟ +

يكفي هاتف أو كمبيوتر متصل بالإنترنت. بدون تثبيتات أو أجهزة خاصة.

كيف يمكنني الدفع؟ +

بالبطاقة عبر Stripe أو بالعملات الرقمية. لا نخزن بيانات البطاقة — يتولى Stripe ذلك بأمان.

هل يمكنني استرداد المال؟ +

نعم — استرداد كامل خلال 30 يومًا، دون أسئلة.

إلى متى يستمر وصولي؟ +

إلى الأبد. بمجرد الشراء، الدورة لك تعود إليها متى شئت.

هل سأحصل على شهادة؟ +

نعم. عند الإتمام ستحصل على شهادة يمكنك إضافتها إلى ملفك في LinkedIn.

مصمَّم للعاملين في
التقنية التصميم المالية التسويق الرعاية الصحية التعليم الضيافة التصنيع