Learning to Code: Formal Education

Learning to Code: Formal Education

Going to school is probably the most obvious way to learn computer science. There is a set path to follow and there are people who specialize in teaching you. If you continue your education, your chances of finding a job increase dramatically. However, there are draw backs in addition to the benefits. Here are the pros and cons of formal programming and computer science education.


  • There is an established sequence of classes. As with most subjects, programming classes progress from the basics to harder, more complex topics. By following a set curriculum, you don’t have to worry too much about missing important information.
  • There are people whose jobs are to teach the subject. Teachers and professors have a wealth of knowledge that can greatly benefit you when learning to program. They also have real life experience that can help as well.
  • There are others there who are learning the same thing. Learning alongside other people helps you establish connections. Also, many people benefit from group studying.
  • The biggest advantage of getting a formal of education is getting a degree. Having a degree greatly improves your chances of finding a well-paying job. While it is possible to get a good programming job through self-taught skill alone, more doors can only be opened with a degree.


  • Formal education costs a lot of money. While lower level education is free, the cost of secondary education can be crippling. With tuition costs in the United States constantly rising, many people are forced to attend lower quality schools that don’t have the recognition that more expensive universities have. In addition to tuition, textbooks are obscenely overpriced and there can be other fees that aren’t included in the cost of taking the class itself.
  • Getting a meaningful degree in any subject requires a lot of time and effort. This can be almost as prohibitive as the cost. While getting a degree in programming isn’t as much of a time sink as becoming a doctor, it still takes around five or six year’s minimum on average to obtain.
  • Getting a degree involves taking extra classes that don’t necessarily relate to your major. In addition to general education classes, universities require you to take higher level math and science classes.
  • The curriculum can become outdated rapidly. New technology and developments in the field are being produced at an increasing rate. It takes time for these new developments to be incorporated into the existing curriculum. What you learn when you first begin can be obsolete by the time you graduate.

If you have the time and the money to get a formal education in computer science, the pros definitely outweigh the cons. There is an established curriculum, trained teachers and professors, and many other people with the same goal as you. However, if you can’t afford it, it certainly isn’t the end of the world. Learning on your own can be just as effective if you are willing to commit to it.

Justin is a Computer Science major at JB Speed School of Engineering at the University of Louisville. He graduated from duPont Manual High School in Louisville, KY and was a charter member of its Association of Computing Machinery club. Justin is also an Eagle Scout with over 400 hours of community service experience.