YoVDO

COSC250 - Functional and Reactive Programming

Offered By: Independent

Tags

Scala Courses Programming Languages Courses Functional Programming Courses Higher-Order Functions Courses Type System Courses Recursion Courses Asynchronous Programming Courses Reactive Programming Courses Imperative Programming Courses Category Theory Courses

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

Unleashing Algebraic Metaprogramming in Julia with Metatheory.jl
The Julia Programming Language via YouTube
Free as in Monads - Understanding and Applying Free Monads - Lecture 44
ChariotSolutions via YouTube
Generalised Integrated Information Theories
Models of Consciousness Conferences via YouTube
Reasoning About Conscious Experience With Axiomatic and Graphical Mathematics
Models of Consciousness Conferences via YouTube
Towards a Category-Theoretic Framework for Phenomenal Holism
Models of Consciousness Conferences via YouTube