DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 970,177 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Daniel Jaouen
Daniel Jaouen

Posted on

How To Improve The CS Curriculum And Have More Fun

I've thought a lot about modern CS curricula, and I have a few suggestions that would make them more fun for undergrad students. They are:

  1. Teach functional programming first. Most universities start out with either Python (a pretty good choice for a first language) or Java (a terrible choice). Wouldn't it be great if first-year students were introduced to Haskell or Elixir? Imagine the multitudes of newly-minted programmers writing first-year blogs about how cool monads and applicative functors are.
  2. Avoid over-optimizing algorithms (like Quicksort). This one might be a bit controversial, but I think it makes sense. As a first year student, we should be presenting a general overview of the field, not esoteric optimization techniques like Quicksort. What do we replace this part of the curriculum with? Monoids, applicative functors, monads, etc.
  3. Add a Rust-based OS course. You will still need to learn C (since the Linux kernel is written in C), but wouldn't it be cool to have a Rust-based OS course paving the way for a memory safe future? This one is my personal favorite.
  4. Add required webdev and mobile courses. Most CS grads will be funneled into one of these two fields, so I think it makes sense for students to have a grasp on both before entering the field. Plus, it would be cool to have an Elixir- and Phoenix-based course in the curriculum. :P

That's it! I hope you enjoyed this post, and I hope you have a great day!

P.S. If you'd like to support me or this blog, feel free to buy me a coffee.

Top comments (0)

🌚 Friends don't let friends browse without dark mode.

Sorry, it's true.