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