Join the Effective Programming in Scala course and embark on a journey to master the expressive and versatile Scala language. This comprehensive course focuses on honing your programming skills by embracing both functional and object-oriented programming. Through a series of hands-on modules, you will learn to model business domains, manipulate data, handle errors, and run parallel tasks using Scala idioms.
Throughout the course, you will delve into fundamental concepts, best practices, and common patterns utilized in real-world applications. Each module is designed to provide in-depth insights, with approximately 1h30 of video lectures every week, complemented by quizzes and graded assignments inspired by real-world scenarios. By the end of the course, you will be adept at writing high-quality, scalable code that can be applied to large applications.
Certificate Available ✔
Get Started / More InfoThe course comprises six modules, each focusing on specific skills and concepts. Gain proficiency in domain modeling, standard library usage, build tools, reasoning about code, type-directed programming, error handling, and concurrent programming.
Module 1: Getting Started, Basics, Domain Modeling
This module provides a comprehensive introduction to Scala, covering elements of programs, types, methods, parameters, conditions, and domain modeling. Additionally, you'll explore case classes, sealed traits, enumerations, and tools setup to kickstart your programming journey with Scala. The module emphasizes practical application through assignments and hands-on tools setup.
Module 2: Standard Library, Loops
Delve into the essential aspects of Scala's standard library, including lists, collections, loops, and tail recursion. The module focuses on constructing and manipulating collections, querying and transforming them, and introduces the concept of loops, along with their syntax and functionality. You'll gain practical experience through loop examples and assignments.
Module 3: Build Tools, Modules
This module delves into organizing code, build tools, the sbt build tool, program entry points, encapsulation, and extending and refining classes. Additionally, you'll explore case classes, opaque types, and extension methods, gaining practical experience through the organization of code and hands-on tools setup.
Module 4: Reasoning About Code
Explore the critical aspect of reasoning about code, including refactoring-proof programs, handling side-effects, unit testing, property-based testing, mocking, integration testing, and debugging programs. The module emphasizes the importance of writing robust, testable, and maintainable code through practical examples and case studies.
Module 5: Type-Directed Programming
Dive into type-directed programming in Scala, covering context parameters, given definitions, type classes, conditional given definitions, implicit conversions, and their application in Scala 2. The module emphasizes leveraging type-directed programming to enhance code expressiveness, reusability, and maintainability.
Module 6: Error Handling, Concurrent Programming
This module focuses on error handling with Try, manipulating Try values, validating data, and combining Try and Either. Additionally, you'll delve into concurrent programming, operations on type Future, examples with Future, execution context, and understanding exceptions in Scala. The module equips you with the skills to handle errors and manage concurrent tasks effectively.
This specialization introduces learners to Apigee, Google Cloud's API management platform. Through presentations, labs, and supplemental materials, you will explore...
Architecting with Google Kubernetes Engine: Foundations' is the first course in the series, covering Google Cloud's layout and principles, container creation and...
MATLAB을 사용한 프로그래밍 소개 course provides an introduction to computer programming using MATLAB, covering fundamental concepts and practical skills....
Utilisation et gestion des pointeurs avec la Programmation C