ossu / computer-science

🎓 Path to a free self-taught education in Computer Science!
MIT License
172.95k stars 21.86k forks source link

RFC: Replace Haskell CIS (2016) with MOOC variant from Aalto University #1147

Open krishnakumarg1984 opened 1 year ago

krishnakumarg1984 commented 1 year ago

Problem:

Duration: 1 month

Background: The Introduction to Haskell is starting to show its age. In the intervening 7.5 years since the course was taught, several ideas on the best learning resource to new students have been iteratively refined by the community on the sub-reddit r/functionalprogramming.

Proposal: Replace with the Haskell MOOC. I have not done this course, but have come across discussions about how this high quality resource is more refined than the incumbent.

Alternatives: Consider teaching OCaml with Cornell University's CS3110. However, OCaml vs Haskell to begin functional programming is another topic.

bradleygrant commented 1 year ago

I'm not sure we're married to Haskell. Scheme seems to be more frequently used in industry, Scala is commonly used in the data science and data engineering community (and anywhere distributed computing rears its head), and anybody who's gotten that far in OSSU is familiar with Racket (which has been taught in three separate courses up to that point), in case you want to full-send into Common Lisp.

bradleygrant commented 1 year ago

From your point about OCaml, It's worth noting that students who elect to take the Programming Languages A/B/C courses (which is on our programming core) will get exposure to ML, so OCaml as a starting point will not be too much of a stretch. In fact ML to OCaml to Haskell is a common functional programming learning pipeline.

waciumawanjohi commented 1 year ago

several ideas on the best learning resource to new students have been iteratively refined by the community on the sub-reddit r/functionalprogramming.

have come across discussions about how this high quality resource is more refined than the incumbent.

@krishnakumarg1984 Can you link to the discussions mentioned here?