Universities are continuing to see the results of the national attention on computer science and coding. Cornell University, for example, has tripled the number of C.S majors in the last five years. They also see an in increase demand by non-C.S. majors wishing to take C.S. courses, according to an article in the Cornell Daily Sun. The course that I co-teach at Emory, Think.Code.Make, is for mostly non-C.S. majors in the business school, and the spring 2017 class is full with a waiting list. How are universities dealing with the demand and what does the future hold? How can students prepare for college in this environment?
The article in the Cornell Daily Sun goes so far as to call their computer science program growth "phenomenal". Prof. Fred Schneider notes that because of the subject's demand and versatility in so many fields of the job industry, students know it’s “the new skill to have.” Enrollment has doubled for all C.S. courses and many higher level courses are full with waiting lists. Non-majors can't even take many courses because majors get preference and the professors aren't happy with the limitation. Other institutions like the University of Washington are requiring a minimum GPA of 3.5 for incoming freshman applicants in their C.S., English, and Math courses. UC San Diego has "soaring" enrollment for the computer science program and the student-faculty ratio has climbed to 44-1, twice as high as preferred by the school according to the San Diego Tribune. The campus boasts the highest number of undergrads in the UC system and the faculty isn't happy about the crowding and workloads.
There have been previous spikes in interest and enrollment in computer science and coding. Back in the 1980s enrollment boomed at universities due to the dawn of the PC era. Everyone could have a computer on their desk so there was a lot of opportunity for majors. Women even made up a larger percentage of undergraduates at that time than they do today. A second wave happened leading up to dot-com boom of the late 1990s. Web companies had skyrocketing valuations (much like today?) and a lot of people jumped into the field for job prospects and dollar signs. Today we have a "third wave" of interest in computer science. What makes this wave different is that it appears to be more focused on emerging technology like smartphones, virtual reality, internet of things (IoT), etc. At Cornell there is also increasing interest from their College of Arts and Sciences in addition to the College of Engineering. A wider variety of fields are realizing the value of the skills involved. Data science, for example, is one that companies are clamoring for at UC San Diego. By combining statistics and computer science, companies can analyze large amounts of data for any number of uses such as drug development, stock market fraud, marketing trends, online security, and weather forecasting.
So how can students prepare to become a computer science major? Student demand will clearly make getting into programs more difficult so work on your application. In addition to classes, grades, and test scores, showing an interest in the field and make something. Being able to show off your work on sites via video or code on GitHub can be an advantage for both school and later professional life. If you can show what you have already done simply because of an interest and joy in creating then you will stand out. This is where a curiosity and general interest in technology will serve you for the long term. If you enjoy the field then you will have a higher chance of toughing it out and sticking through the inevitable challenges. And don't be afraid to take a non-traditional route if you don't have the grades for Ivy League. Start at a smaller school with more personal attention and then transfer to the big-name schools for the diploma. It's much easier to apply to a larger school as a junior with a proven track record.
How do I know if I would enjoy it? That's easy. Try it now! There are numerous places to try coding whether it's in classes or camps or online tutorials. Try a Python or game development tutorial just for fun. Get your friends involved when possible. Learning with friends feels more like play than work and you just might make something great together. Since you are reading our site, maybe try a Start Code class or summer camp. We hope to see you there.