I’m bad at math. I’m looking at some CS elective courses and I’m wondering which one of these courses has less math it. Or which course is more helpful for someone who wants to be an entrepreneur?
Any input is appreciated!
If you have to pick 1 from these:
Algorithms
Compiler Design
Formal Specifications and Verification of Software Systems
If you have to pick 2 from these:
Compiler Design
Operating System Programming
Introduction to Artificial Intelligence
Introduction to Parallel and Distributed Programming
Computer Graphics
Pick 2 from the following:
Algorithms
Compiler Design
Computer Networks
Introduction to Artificial Intelligence
Formal Specifications and Verification of Software Systems
Web Programming Paradigms
Introduction to Parallel and Distributed Programming
Introduction to Human-Computer Interaction
Database Systems
Here’s the thing: Algorithms is a math-heavy class, but it is by far one of the most important classes in the real world.
Of the classes listed, pretty much every class but Algorithms, Computer Graphics, AI, and possibly Verification of Software requires little to no math.
By usefulness for entrepreneurship, Algorithms, Web Programming Paradigms, and Database Systems stand out to me as the most practical ones whereas the others are very interesting but less applicable in industry for most projects.
The concepts in the following also show up often in industry:
Operating systems (every program either interacts with the operating system or is part of the operating system)
Networks (lots of useful programs use networks)
Security and cryptography (a concern everywhere)
Software engineering or courses on any topic with large projects
I didn’t see any security or software engineering courses specifically listed here, but I agree on your points. Networks and Operating Systems have their applications, but I find that their material comes up far less frequently in my experience unless you company works specifically in networks or a lower level product - with only two elective choices I think the three listed are usually a lot more important to know, but ideally a CS student should take all of these before graduation minus one or two.