| @ -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. | |||