COSC250 - Functional and Reactive Programming
Offered By: Independent
Course Description
Overview
This is an experimental attempt to put up a public site around one of my teaching courses. The course teaches Scala, functional programming, and some asynchronous and reactive programming. It's designed for second year undergraduate students, who mostly have experience of imperative languages (Python and Java).
Right now, I'm altering the course for Scala 3 and altering the site to use Doctacular, so this site may appear a litle bare.
Syllabus
1. Imperative programming
- Intro
- Intro to Scala syntax
- OO in Scala
- Practical: Set up
- Practical: First Steps in Scala
2. Functional programming
- Intro
- Recursion and the Stack
- Patterns and Case Classes
- Immutable Lists
- Practical: Recursion
3. Funcitons as values
- Intro
- Higher Order Functions
- Solving Einstein's Puzzle
- Practical: Sudoku Sensei
4. Types
- Intro
- Type Systems
- Type Relationships
5. Category theory
- Intro
- Typeclasses and Monoids
- Categories and Monads
6. Futures and effects
- Intro
- Futures and Promises
- Tasks
7. Laziness
- Intro
- Lazy, Strict, and By-Name
8. Actors
- Intro
- Classic Actors
- Typed Actors
9. Asynchronous streams
- Intro
- Reactive Streams
- Cats Effect
10. Fast data
11. Scala.js and Veautiful
Related Courses
Functional Programming Principles in ScalaÉcole Polytechnique Fédérale de Lausanne via Coursera An introduction to Haskell Programming
Chennai Mathematical Institute via Swayam Kotlin Bootcamp for Programmers
Google via Udacity From Media Computation to Data Science
SAP Learning The Modern Python 3 Bootcamp
Udemy