3 ms·
Some people here are talking about you studying CS topics on your own. So let's say in August you start spending nine hours a week studying some topic - say, th
by Ologn 12y ago
Some people here are talking about you studying CS topics on your own. So let's say in August you start spending nine hours a week studying some topic - say, theory of computation. You spend nine hours a week studying it from August to December.
Well, if you are taking one class a semester at your local public university this fall, you would be spending three hours a week in class to do this.
You're going to have to spend 9 hours a week from August to December studying, say, theory of computation, in order to get a BSCS level grasp of it. Why not spend 12 hours a week doing it, and actually getting a BSCS in the process? You'll also get a professor you can ask questions of during class, after class, during office hours, and probably other times. There are other benefits of going to school as well.
One of the biggest problems if you don't have a BSCS, is you don't know what you don't know. If you don't understand how floating point numbers are stored in memory, at least you know you can always look into that. The real problem is when you don't pursue a solution because you don't even know it exists.
I tried to write a multi-threaded C program with changing state before I took a class in mutual exclusion. The results weren't pretty. After the class, I had to deal with another mutual exclusion problem - a somewhat tough Java mutual exclusion problem in some production code. I was able to fix it fairly quickly. When you're writing code and realized you need some feature, often it's simple. When a program progresses to where you need threading and mutual exclusion - most people don't stop what they're doing and spend a few weeks studying mutual exclusion like they would have in college. They just plow through it which is why people complain about bad threading in code so much. A BSCS gives you that background you were always lacking.
Also, the tendency for someone doing this on their own is not to spend four months study calculus, then four more studying calculus, then four more studying calculus, then four more studying discrete math, then four more studying theory of computation, and THEN studying C++ for four months. Usually people on their own are just going to skip the more theoretical stuff and jump right into the immediately practical stuff - straight to C++. But then they will never have the background required - they never took graph theory, so data structures such as directed acyclic graphs are hard to understand.
There's always something to learn, but a BSCS gives you a good foundation and background to build off of. People here are saying you can do the three years of study to cover a BSCS education on your own. Which you can. So why not actually spend four years - the one hour in class for the typical three hours of homework. Do four years instead of three and get the actual BSCS. You can go at night, weekends, online (but don't do a scam one) etc. Many professors are alright, a few are very good and only one where I went was a poor teacher.