re: What is top 5 most valuable courses in a CS Degree? VIEW POST


For me, it would be the following concepts, preferably in order:

  1. The obvious "intro to programming" course in whatever language - Basically the very basics of how code works, control flow, etc

  2. Introduction to object-oriented programming - Would most likely be taught in Java - Wouldn't get into design patterns, but would introduce the basics of how classes work in a naive approach (i.e. "Dog and Cat extend Animal")

  3. Introduction to functional programming - Would probably be best taught in something like Javascript due to its support of functional programming while still being familiar to someone who's used Java/C - Would introduce the concepts of functions as first-class datatypes and what you can do with them

  4. Data structures and introduction to algorithm analysis/efficiency - Could probably just go back to Java for this - Would solidify the idea of interface vs implementation, and how to analyze/improve basic algorithms in data structures (find, insert, delete, sort, etc)

  5. Design patterns - Could also be done in Java - Basically the big "You know the concepts, now here's how to do it right in large codebases"

At that point you have a really strong core that will give you a baseline to learn everything else you'd need. Further concepts could include:

  • Web dev (JS and appropriate frameworks)

  • Low-level dev (C)

  • Databases (More of a theory course, but labs could be done in Python/JS for library availability)

  • Testing/QA (Java/C#)

code of conduct - report abuse