This post seems to be addressing a specific phenomena and I tend to agree. I don't see the point in doing more than 1-2 introduction-level courses.
I'll take this chance to recommend 2 phenomenal free MOOCs:
1. Nand2Tetris[1] which really nails giving the realization (of not understanding just HOW MUCH) complexity there is in the layers upon layers of abstractions programmers use.
2. An introduction to Logic[2] via programming course (by one of the authors of the previous MOOC, Noam Nissan), which introduces logic (an overview that ultimately ends with Godel's completeness/incompleteness) in a relatively (to the rigorous math) approachable manner.
The one caveat is the book is still a work in progress, and it has many parts that are not well written.
I'll take this chance to recommend 2 phenomenal free MOOCs: 1. Nand2Tetris[1] which really nails giving the realization (of not understanding just HOW MUCH) complexity there is in the layers upon layers of abstractions programmers use.
2. An introduction to Logic[2] via programming course (by one of the authors of the previous MOOC, Noam Nissan), which introduces logic (an overview that ultimately ends with Godel's completeness/incompleteness) in a relatively (to the rigorous math) approachable manner. The one caveat is the book is still a work in progress, and it has many parts that are not well written.
[1]: https://www.nand2tetris.org/ [2]: https://www.logicthrupython.org/