Skip to content

Latest commit

 

History

History
41 lines (39 loc) · 21.7 KB

Schedule.md

File metadata and controls

41 lines (39 loc) · 21.7 KB

The 2021 Q1-Q2 bootcamp has the following tentative schedule:

2021-* Topics Responsible Materials
01-26 Introduction and basic Scala Syntax (types, functions, parametric polymorphism) @jurisk Basics (t)
01-28 Classes & Traits and some Control Structures: if-else, pattern matching @olga-shuleyko Classes & Traits (t)
02-02 Control Structures: recursion, map, flatMap, filter, for-comprehensions @olga-shuleyko Control Structures (t)
02-04 Data Structures ([im]mutable, Array, List, Map, tuples) @nikalaikina Data Structures (t)
02-09 Functions ([im]pure, total/partial) & Algebraic Data Types - role in functional design, using them @AiiR42 Functions (t) , ADTs (t)
02-11 SBT, single- vs multi-module projects @efemelar @scandinaf
02-16 Structure of Scala Applications, "package-by-feature" @efemelar @scandinaf
02-18 Implicits @nikalaikina, @AiiR42 Implicits (t)
02-23 Higher Kinded Types - "kind projector" @nikalaikina, @AiiR42 HigherKindedTypes
02-25 Type Classes @nikalaikina, @AiiR42 CodecsExercise, FoldableExercise (hw, hwt)
03-02 Questions & Answers - covering gaps, design & coding practice N/A
03-04 Error Handling - Option, Either, Try, Validated, encoding errors as ADTs @AiiR42 Error Handling (t)
03-09 Processing JSON using Circe, writing custom coders and decoders @dlinov JSON (t, hw)
03-11 Unit Testing - Benefits, testing pyramid, ScalaTest, structuring code to be testable @kurnevsky Testing
03-16 Cats - cats-core introduction, Monad Transformers @nikalaikina Cats (t)
03-18 Tagless Final @x0ji0d
03-23 Asynchronous Programming - JVM threads, perils of critical sections using synchronized, Atomic* @scandinaf Presentation (examples) (hw)
03-30 Effects - Cats Effect IO @x0ji0d Effects (t)
04-01 Effects continued - Fibers, Resources, ContextShift @scandinaf
04-06 Unit Testing Advanced @kurnevsky
04-08 Shared State in FP - Ref-s, MVar-s, etc. @x0ji0d
04-13 IO and TF practice @x0ji0d
04-15 HTTP REST with http4s @kurnevsky HTTP (t)
04-20 WebSocket with http4s @kurnevsky WebSocket
04-22 Containers - Docker and Kubernetes @scandinaf Project (Presentation)
04-27 Working with Databases from Scala: JDBC, Slick, Doobie @dlinov Databases
04-29 Akka - Actors and other Akka features @anton2larionov Lecture (examples) (hw)
05-04 Event Sourcing using Akka Persistence and CQRS @mikla
05-06 Development Practices & Processes - Agile, Code Reviews, Testing, CI/CD @jurisk
05-11 Work on Course Projects N/A
05-13 Work on Course Projects N/A
05-18 Work on Course Projects N/A
05-20 Presentation of Course Projects to mentors & each other @jurisk
05-25 Presentation of Course Projects to mentors & each other - continued @jurisk
05-27 Graduation - Discussion of course results, free-form Q&A session @jurisk

The schedule will be adjusted according to learning progress.