|
@ -0,0 +1,63 @@ |
|
|
|
|
|
Many people on the internet furiously debate whether it is better to learn how |
|
|
|
|
|
to program in college vs teaching yourself. This is not necessarily a one-sided |
|
|
|
|
|
debate, there are merits of both teaching yourself how to program and taking |
|
|
|
|
|
computer science in college. |
|
|
|
|
|
|
|
|
|
|
|
University |
|
|
|
|
|
========== |
|
|
|
|
|
|
|
|
|
|
|
The main advantage of taking Computer Science in college is that you are also |
|
|
|
|
|
taking a lot of math and science courses. When talking to a professor from |
|
|
|
|
|
Clarkson University he said that they were not teaching students simply how to |
|
|
|
|
|
get jobs, but how to pioneer and shape the field. It is possible to buy a book |
|
|
|
|
|
and teach yourself how to program Python or attend a coding boot camp. However, |
|
|
|
|
|
the tech field is changing at a rapid pace, and what you learn now may be |
|
|
|
|
|
irrelevant in five years. The combination of programming courses and other math |
|
|
|
|
|
and science related courses allows students to create the tech of the future. |
|
|
|
|
|
Think about all the advancements in artificial intelligence we have made in the |
|
|
|
|
|
past year, all that requires higher level statistics and calculus. |
|
|
|
|
|
|
|
|
|
|
|
When you are attending a University your professors and friends can help you |
|
|
|
|
|
understand the content fully. College also gives you a time to experiment which |
|
|
|
|
|
corner of the computer science field you want to specialize in. |
|
|
|
|
|
|
|
|
|
|
|
Self-Taught |
|
|
|
|
|
=========== |
|
|
|
|
|
|
|
|
|
|
|
Most of what I know in the computer science field, I taught myself. I feel that |
|
|
|
|
|
it is a virtue to have. Picking up new programming languages or platform over |
|
|
|
|
|
the course of a weekend is good skill to have – especially when going into a new |
|
|
|
|
|
job. The best programmers are those who are constantly seeking new knowledge and |
|
|
|
|
|
learning. |
|
|
|
|
|
|
|
|
|
|
|
When I was at a career fair I asked multiple companies what they were looking |
|
|
|
|
|
for in a suitable candidate. Most employers liked candidates who worked on |
|
|
|
|
|
projects outside of school and showed drive to learn new things. However, one |
|
|
|
|
|
employer simply said that they looked only at juniors/seniors who have taken the |
|
|
|
|
|
Computer Science courses at RIT. I decided to ask her if their company liked |
|
|
|
|
|
students who taught themselves additional programming languages. She shrugged |
|
|
|
|
|
the idea and said that they typically don’t favor that because people who taught |
|
|
|
|
|
themselves programming might have picked up bad practices. This brings up a |
|
|
|
|
|
valid point. Computer science courses are laid out to incentivize and favor good |
|
|
|
|
|
programming practices. Computer engineering courses are specifically designed to |
|
|
|
|
|
teach you good programming practices and working with larger codebases. With |
|
|
|
|
|
that said, it is not impossible to teach yourself good practices, however, it |
|
|
|
|
|
takes additional work which is not what everybody does. Writing a modular |
|
|
|
|
|
program which perfectly readable is different than writing spaghetti code which |
|
|
|
|
|
simply works. |
|
|
|
|
|
|
|
|
|
|
|
The largest advantage to being self-taught is that it is cheaper and faster. |
|
|
|
|
|
Over the course of a weekend I was able to teach myself NodeJS and start making |
|
|
|
|
|
the framework for this blog. If I would have done that in college it would have |
|
|
|
|
|
taken an entire semester or more. Plus, I don’t think there are any college |
|
|
|
|
|
courses being offered on NodeJS. The information that you are teaching yourself |
|
|
|
|
|
is often newer technology than what is being in college. College courses |
|
|
|
|
|
typically take some time to catch up with what industry is currently using. |
|
|
|
|
|
|
|
|
|
|
|
Conclusion |
|
|
|
|
|
========== |
|
|
|
|
|
|
|
|
|
|
|
If you are a dedicated individual, you will find success in both methods of |
|
|
|
|
|
learning programming. I would argue that you should always be learning and |
|
|
|
|
|
teaching yourself something new every day; however, a combination of college |
|
|
|
|
|
education and self-teaching is the best. |