Bit of a flimsy question, but here goes...

My understanding is that multithreading is now a staple of the vast majority of university comp sci programming modules (where the programming language being taught has support for multithreading). Given that multithreading has really only come into its own in the past 20 years or so, since the advent of multicore processors, I'm wondering if anyone knows the rate at which multithreading became a standard subject covered in programming modules (i.e. the implementation and analysis of small multithreaded programs, as opposed to the high-level study of it in an OS architecture module, for example). Did it take a while for universities' syllabuses to catch up?

Answers based on personal experience only are fully welcome!

  • 1
    $\begingroup$ Can't speak for any other university since I hadn't done any research in that regard, but it has been present in my university since around year 2000. $\endgroup$
    – Fureeish
    Apr 16, 2022 at 11:01
  • $\begingroup$ Thanks! This is roughly the kind of delay I would imagine between its emergence in industry and being written into syllabuses $\endgroup$ Apr 16, 2022 at 11:05
  • 3
    $\begingroup$ I think it's an interesting question. I waste a lot of hours reading questions about multithreading on StackOverflow, and many of them seek help with homework assignments that seem to come from instructors who have only a weak understanding of how to use threads. (E.g., the student is asked to make two or more threads take turns performing some set of tasks such that the tasks are performed sequentially, and in a strictly specified order.) I would love to hear how educators discuss teaching threads. $\endgroup$ Apr 16, 2022 at 14:43
  • 2
    $\begingroup$ @SolomonSlow in my experience, it's not just multithreading that's taught with poor examples in CS. Recursion, OOP, design patterns and all manner of other CS concepts are often presented in ways that are misapplied and contrived, leaving students with an unclear motivation for why the tool exists, what class of problems it's supposed to solve, or when to use it effectively. $\endgroup$
    – ggorlen
    Apr 18, 2022 at 18:11
  • $\begingroup$ @WobbleMeister Just for context, what are you trying to understand or infer based on the answers to this question, or is it pure curiosity? $\endgroup$
    – ggorlen
    Apr 18, 2022 at 18:12


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.