Skip to content

Latest commit

 

History

History
41 lines (39 loc) · 20.2 KB

Schedule.md

File metadata and controls

41 lines (39 loc) · 20.2 KB

The 2021 Q3-Q4 bootcamp has the following tentative schedule:

2021-* Topics Responsible Materials
09-14 Introduction and basic Scala Syntax (types, functions, parametric polymorphism) @jurisk Basics (t)
09-16 Classes & Traits and some Control Structures: if-else, pattern matching @vijexa Classes & Traits (t)
09-21 Control Structures: recursion, map, flatMap, filter, for-comprehensions @vijexa Control Structures (t)
09-23 Data Structures ([im]mutable, Array, List, Map, tuples) @jurisk Data Structures (t)
09-28 Functions: first- and higher-order, total and partial, [im]pure, currying @apavlovics Functions (t)
09-30 Algebraic Data Types: role in functional design, using them @apavlovics ADTs (t)
10-05 SBT, single- vs multi-module projects @mr-git
10-07 Structure of Scala Applications, "package-by-feature" @janiskomuls
10-12 Implicits @rtar Implicits (t)
10-14 Higher Kinded Types - "kind projector" @mikla HigherKindedTypes
10-19 Type Classes @Demosfen92 CodecsExercise, FoldableExercise (hw, hwt)
10-21 Error Handling - Option, Either, Try, Validated, encoding errors as ADTs @apavlovics Error Handling (t)
10-26 Processing JSON using Circe, writing custom coders and decoders @arixmkii JSON (t, hw)
10-28 Unit Testing - Benefits, testing pyramid, ScalaTest, structuring code to be testable @Kvitral Testing
11-02 Cats - cats-core introduction, Monad Transformers @xicmiah Cats (t)
11-03 Unit Testing - testing async code, etc. @Kvitral Testing
11-04 Tagless Final @Demosfen92
11-09 Asynchronous Programming - JVM threads, perils of critical sections using synchronized, Atomic* @migesok Presentation (examples) (hw)
11-11 Effects - Cats Effect IO @Demosfen92 Effects (t)
11-16 Effects continued - Fibers, Resources, ContextShift @Demosfen92
11-17 Shared State in FP - Ref-s, MVar-s, etc. @RibleStrype
11-23 IO monad and Tagless Final practice @Demosfen92
11-25 HTTP REST with http4s @apavlovics HTTP (t)
11-30 WebSocket with http4s @apavlovics WebSocket
12-02 Containers - Docker and Kubernetes @RibleStrype Project (Presentation)
12-07 Working with Databases from Scala: JDBC, Slick, Doobie @mr-git Databases
12-09 Akka - Actors and other Akka features @migesok Lecture (examples) (hw)
12-14 Streaming - FS2, Akka Streams, etc. @xicmiah
12-16 Event Sourcing using Akka Persistence and CQRS @mikla
12-21 Development Practices & Processes - Agile, Code Reviews, Testing, CI/CD @jurisk
Work on Course Projects N/A
12-28 Presentation of Course Projects to mentors & each other @jurisk
12-29 Presentation of Course Projects to mentors & each other - continued @jurisk
13-04 Presentation of Course Projects to mentors & each other - continued @jurisk
13-11 Graduation - Discussion of course results, free-form Q&A session @jurisk

The schedule will be adjusted according to learning progress.