https://github.com/vasnake/principles-of-reactive-programming
Principles of Reactive Programming, Scala: assignments and other code from Coursera https://class.coursera.org/reactive-002
https://github.com/vasnake/principles-of-reactive-programming
Last synced: over 1 year ago
JSON representation
Principles of Reactive Programming, Scala: assignments and other code from Coursera https://class.coursera.org/reactive-002
- Host: GitHub
- URL: https://github.com/vasnake/principles-of-reactive-programming
- Owner: vasnake
- License: gpl-3.0
- Created: 2016-07-19T19:50:37.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2019-02-27T10:46:51.000Z (over 7 years ago)
- Last Synced: 2025-04-15T03:53:49.921Z (over 1 year ago)
- Language: Scala
- Homepage:
- Size: 2.8 MB
- Stars: 151
- Watchers: 13
- Forks: 67
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Principles of Reactive Programming (Scala)
assignments and other code from Coursera class (now removed)
* https://class.coursera.org/reactive-002
* https://www.coursera.org/course/reactive
2019: Updated course: [Programming Reactive Systems (Principles of Reactive Programming in Scala)](https://www.edx.org/course/programming-reactive-systems)
with some materials moved to [Functional Programming in Scala Specialization](https://www.coursera.org/specializations/scala)
### Video lectures:
https://www.youtube.com/playlist?list=PLMhMDErmC1TdBMxd3KnRfYiBV2ELvLyxN
### Assignments
- Week 1: QuickCheck/ScalaCheck
- Week 2: Calculator
- Week 3: NodeScala
- Week 4: Wikipedia Suggestions
- Week 5: Actor Binary Tree
- Week 6: Replicated KV Store
### Sources
- https://github.com/headinthebox/CourseraCodeSamplesReactiveProgramming
- https://github.com/typesafehub/activator-akka-cluster-sharding-scala
worksheets: code snippets from lectures
Recap: Getting Started with Tools
* Tools Setup for Linux (12:24)
* Tools Setup for Mac OS X (12:17)
* Tools Setup for Windows (10:37)
* Tutorial: Working on the Programming Assignments (8:47)
Week 1
* What is Reactive Programming? (11:42)
* Recap: Functions and Pattern Matching (19:56)
* Recap: Collections (12:54)
* Functional Random Generators (19:42)
* Monads (20:22)
Week 2
* Functions and State (15:28)
* Identity and Change (8:12)
* Loops (8:25)
* Extended Example: Discrete Event Simulation (Optional) (10:54)
* Discrete Event Simulation: API and Usage (Optional) (10:57)
* Discrete Event Simluation: Implementation and Test (Optional) (18:12)
* Imperative Event Handling: The Observer Pattern (12:27)
* Functional Reactive Programming (20:24)
* A Simple FRP Implementation (19:32)
Week 3
* Monads and Effects 1
* Monads and Effects 2
* Latency as an Effect 1
* Latency as an Effect 2
* Combinators on Futures 1
* Combinators on Futures 2
* Composing Futures 1
* Composing Futures 2
* Async Await
* Promises, promises
Week 4
* From Try to Future (5:22)
* From Iterables to Observables 1 (8:06)
* From Iterables to Observables 2 (9:44)
* Hello World Observables (6:29)
* RX Operators (11:39)
* Subscriptions (10:34)
* Promises and Subjects (8:55)
* RX potpourri (11:30)
* Observable Contract (14:19)
Week 5
* Introduction: Why Actors? (14:46)
* The Actor Model (13:43)
* Message Processing Semantics (27:28)
* Designing Actor Systems (38:10)
* Testing Actor Systems (17:16)
Week 6
* Failure Handling with Actors (22:38)
* Lifecycle Monitoring and the Error Kernel (24:07)
* Persistent Actor State (40:05)
Week 7
* Actors are Distributed (36:30)
* Actors are Distributed Part II (18:17 — optional)
* Eventual Consistency (15:49)
* Actor Composition (20:14)
* Scalability (17:00)
* Responsiveness (11:41)