The Demand For Computer Science GraduatesTrained computer programmers are needed now more than ever. Modern society has experienced an exponential growth of technology that has revolutionized the economy and the workforce and the education system is struggling to keep up. Based on current figures, there are simply not enough individuals who have been properly trained to design and implement these various programs. However, this deficit may improve as a result of web-based programs that allow students to bypass brick-and-mortar university studies, most of which are extremely competitive and drop the majority of students who apply to them, and learn various aspects of computer programming online. Often times, for free.
According to the US Bureau of Labor Statistics, trained computer programmers essentially act as intermediaries between software engineers and computer systems. Many of them are fluent in multiple code languages; the most widely used languages today include Java, C, C++ and HTML. As new software is developed, programmers must test it and, if necessary, debug programs by correcting errors in the code. This all-important task has implications in virtually every area of web-based development; from corporate websites and online business journals to blogs and social media. Project lengths vary; smartphone apps, for instance, take days to develop and optimize, while complex systems may take more than a year to finish.
Programmers are well compensated for their expertise, and also for their relative rarity in the job market. The BLS reported in 2010 that the median wage for computer programmers was $71,380 – one of the highest in the nation, and according to Forbes, the mid-career median salary for those who earn a master’s degree in computer science is $109,000. These high paying jobs are also not few and far between as associated employment opportunities are projected to grow by 22.3 percent.
The problem, according to a recent article in Science, stems from shortcomings in computer science education programs. Technology is evolving at a much more rapid rate than the curricula taught to college-level computer science students. As a result, most receive a very generalized education without learning supplementary skills, such as specific code languages or complex systems programming. Fortunately, aspiring programmers now have access to several web-based outlets if they wish to learn these supplementary skills. Some of these programs include:
C# Corner | This step-by-step tutorial trains students how to “write and compile C# programs, understand C# syntaxes” and perform other functions related to this commonly used language. The course is free, though previous code experience (such as C#, Pascal or Java) is recommended.
Coursera | Launched in April 2012, this educational platform has served more than 1 million students to date. The site aggregates free courses offered by a number of prominent institutions, including Massachusetts Institute of Technology, Stanford University, Duke University, and Johns Hopkins University. Upcoming courses related to programming include Functional Programming Principles in Scala (offered by École Polytechnique Fédérale de Lausanne) and Heterogeneous Parallel Programming (offered by University of Illinois at Urbana-Champaign).
University of Oklahoma Online | The OU Supercomputing Center for Education & Research currently offers an online tutorial that introduces principles of supercomputing. Though the concepts are complex, the course is designed to approach topics in a user-friendly manner that, with diligent study, will be digestible for students.
Online courses like these allow computer scientists to fill any gaps left by limited high education programs. If they prove to be effective, then the deficit of trained programmers stands to improve considerably in the coming years.