05 September 2012

Learning programming languages online

Guest writer Jennifer Jenkins of onlineuniversity.net looks at the role of online learning to increase access to computer science education....


Could online university classes solve the programming gap?
by guest writer Jennifer Jenkins

Despite the rising number of people who utilize computers during their workdays, the number of individuals who study advanced computer science has remained stagnant since the late 1990s. As a result, one of the technology industry’s most fundamental skills – computer language programming – continues to be ignored by both the U.S. public education system and many of the country’s academic institutions. However, many well known universities have begun offering online courses and tutorials for these languages – and many experts agree that this is the first step in the right direction.

“If eighth graders should know algebra,”InfoWorld contributor Todd McCallister wrote recently, “by the tenth grade, they should be programming in Java.” Most young people are familiar with email and social media platforms, but few of them understand the complex programming languages that make these sites possible. Many aspiring computer scientists would greatly benefit by learning these languages from a young age, McCallister writes, since programming carries “real-world applications” that are relevant to kids as well as adults. “By integrating computer literacy into school curriculum from an early age,” he notes, “we would give students a learning experience that more accurately reflects the modern world around them.”
But historically, the public education system has shied away from programming courses. Today, upper-level computer science courses are the only place where students can properly learn these languages. As a result, these skills with “real-world applications” for everyone are held by a very small minority of the population.

One of the reasons why programming languages are noticeably absent from academia could be because there is no definitive ‘universal’ language. According to Klint Finley of ReadWriteWeb, computer scientists have developed several ranking systems for these languages – and the results differ for each one. According to the most recent Github/Stack Overflow chart by RedMonk, the most commonly used programming languages are Java, PHP and JavaScript. An April 2012 survey by Hacker News, on the other hand, places Python and Ruby at the top of the list. In an analysis of job listings at Dice.com, Irregular Entrepreneurs correspondent Dennis Moore found that while Java was the most commonly used search term, the runner-up was XML with more than 10,000 listings. While these ranking systems – as well as total programming book sales – confirm Java’s status as the top computer language, most experts agree that technology specialists should know more than one language in order to be considered ‘specialists’.

There is a ray of light for budding programmers, however. As traditional schools grapple with the issue of effectively teaching this material, many universities have begun to offer online courses that focus on various programming languages. Florida State University, for instance, offers a part-time distance-learning bachelor’s degree program for computer science and software engineering. Students become fluent in languages like C, Java, Alda, and HTML, as well as topics related to computer theory. Applicants who already hold a bachelor’s degree may enroll online at North Carolina State Raleigh, where they can earn a Computer Programming Certificate Program that focuses on C++, Java and other data structures. Education-Portal.com lists more than a dozen accredited colleges and universities that offer online programming courses.

In addition, many higher learning institutions have started offering free programming language tutorials. Massachusetts Institute of Technology, for instance, offers a series of web-based courses that cover mathematical programming, building programming experience, pervasive human centric computing and other similar topics – and none of them cost a thing. University of California, Berkeley also offers online tutorials that focus on programming languages like C#, C+, Peri, PHP, Python and Ruby. Other schools that offer free courses include Stanford University and Australia’s University of Southern Queensland.

These online offerings have done what public schools, colleges and universities have so far been unable to do: bring programming languages to the general public using a structured curricula. Though these free courses have the potential to assist millions of web users, these topics must become part of every student’s education if the U.S. hopes to further its collective technological capabilities.