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
程序设计实习 / Practice on ProgrammingPeking University via Coursera 程序设计基础
Peking University via edX 算法基础
Peking University via Coursera Principles of Computing (Part 2)
Rice University via Coursera 算法设计与分析 Design and Analysis of Algorithms
Peking University via Coursera