I recently finished my third course on Coursera, Internet History, Technology and Security, which was taught by Charles Severance aka. Dr Chuck from the University of Michigan’s School of Information. In a brisk seven weeks, Dr Chuck recapitulated the history of electronic computing, ranging from Alan Turing to the modern Internet, highlighting key people and technologies, but also problems and conflicts. The course relied a lot on interviews with pioneers like the NCSA’s Larry Smarr or Tim Berners-Lee. There was even a short segment with a young and enthusiastic Jeff Bezos, outlining his vision for Amazon.com. Charles Severance then filled in the missing pieces and put those interviews in context.
Charles Severance deserves praise for his engaging teaching style. I think he is an outstanding teacher. While some MOOCs have the professor lecturing in front of a sterile background (cf. Princeton’s Intro to Sociology course), or, worse, merely slap recorded lectures and PowerPoint slides together (cf. Berkeley’s Software as a Service), Dr Chuck invites you to sit in his office with him. You can even watch him take a sip of his favorite soda every once in a while. I won’t mention names, but I think that many other lecturers could learn a great deal from him. Just compare the following screenshots, and you’ll surely notice a difference.
It’s an even more pronounced difference when watching the actual videos. Please note that I’m only talking about the presentation. The Intro to AI course looks excellent, and I’m considering taking it the next time it is offered. Yet, the presentation could be improved considerably. But let’s go back to Internet History.
In broad strokes, the history of the Internet is probably familiar to anyone who uses the Internet for more than poking their virtual friends on Facebook and playing browser games. You certainly don’t have to be a “geek” to have heard about the ARPANET. However, looking at the development of the infrastructure of the Internet in greater detail is quite worthwhile. A particularly illuminating part was the history of the NSFNet, and elaborations on how the backbone of what evolved into the Internet had to be snuck past the lobbyists on Capitol Hill. The pitch was that NSFNet would merely connect supercomputers located at various research universities. The lobbyists considered this to not be a “market”, and thus let the researchers have their way. But then scientists from all over the USA desired to have access to this network. University administrators feared losing their best researchers if they didn’t find ways to give them access to the NSFNet, and within a relatively short period of time it had become the norm for university researchers to have access to this network, and supercomputers, and the rest is history, as the trite saying goes.
Retracing the history of the Internet as it evolved gives an appreciation of the many struggles and serendipitous accidents the then nascent technology went through. It is easy to take things for granted, just like today’s teenagers couldn’t even imagine a world without smart phones or Facebook. However, history could have taken a much different path, and it’s not implausible to think that there was a possibility that the Internet was owned by AT&T and you would be billed by the minute for access. Or just imagine Microsoft had won the browser wars and found ways to inhibit the development of alternative browsers. In that case we probably would have been stuck with Internet Explorer 6 until the cows come home.
On a related note, let’s not forget contemporary attempts by the “elites” to rewrite history. In July, the Wall Street Journal published an op-ed in which Gordon Crovitz claimed that it was an urban myth that the government had “invented the Internet”. Instead it was, of course, due to the private sector. Vint Cerf, one of the “fathers of the Internet” later on stated, “I would happily fertilize my tomatoes with Crovitz’ assertion.” The Internet is nowadays a highly politicized medium, and competing interest groups are feverishly trying to promote their own goals. An example of this was given by Barak Obama who claimed that, “Government research created the Internet so that all the companies could make money off the Internet.” That’s almost as embarrassing as Al Gore, who presumably still thinks that he invented the Internet. Politics surely is a great source of amusement. I don’t get the impression that our “leaders” value truth much, but if they would, then guys like Crovitz or Obama should seriously consider taking Charles Severance’s course next time.
Internet History, Technology and Security is by no means a rigorous course, which isn’t necessarily bad. Dr Chuck explains TCP/IP and other concepts in layman-friendly terms. However, before you know it, you’ll have learnt about the entire Internet protocol suite. This is hardly common knowledge among the folks who harvest crops on FarmVille, even though you’ll probably have a hard time impressing people with a background in computer science. Still, it’s quite refreshing that Dr Chuck didn’t try to cram too much information into this course. Some people may want to know about implementation details, but a curious user is normally served perfectly well with the bird’s eye view.
Similarly, if you just want to write some simple scripts that make your life easier, or play around with Google’s App Engine it’s certainly better to know roughly what happens with the code you write in a high-level language and how it ends up as programs the computer can actually execute. After all, it’s not as if you’re typing magic incantations in your text editor which the computer just knows how to interpret. On the other hand, studying compilers is probably something you’d want to stay away from in this case. Not everybody needs to be a toolmaker.
I would assume that many more people are interested in using technology and having a basic understanding instead of knowing about minute details. If you’re using a power drill, you are normally not concerned about the engineering processes behind it either. However, if you skim a site like Hacker News, it doesn’t take long until people want to tell you that you need to know this and that before you should even start considering using certain technology. One of the more amusing threads had one guy list various branches of high-level mathematics that were deemed absolutely necessary to be familiar with in order to be a good programmer. Sure, some mathematics helps, and some computer science won’t hurt either. But people go overboard so quickly that you can’t help but shake your head. No, seriously, you do not need to study finite state machines before you can write a simple game in JavaScript.
I’m looking forward to Dr Chuck’s next courses, which seem to promise a similar down-to-earth approach. In his last lecture, he mentioned that he intends to offer two follow-up courses, one based on his free book Python For Informatics: Exploring Information, and another on using the Google App Engine. His Python book looks good, so this course is definitely one I’ll consider taking in the future. On his website you’ll also find materials for a more advanced course on Database Application Design, teaching PHP and mySQL. Overall, this strikes me as a suitable course sequence for people who want to use technology for their professional and private goals, without getting bogged down in often quite superfluous theoretical details.