The Internet is an abundant source of free information that varies from excellent research to dubious documents. Self-study is a major requirement for engineers and programmers wanting to keep abreast of technology. In this age of distance learning, finding and employing useful free materials is one way to extend an engineer’s expertise even if a degree is not the goal.
Frequently websites offer documents and tools for a specific topic, and lately a number of large universities have been putting their course material online. Having this type of material readily available is not something new. It can be found in places like a professor’s website, however the format, quality, and usefulness varies greatly.
Two major institutions with free, online offerings of interest to engineers are Carnegie Mellon University (CMU) and Massachusetts Institution of Technology (MIT). MIT’s OpenCourseWare has over 700 courses consisting primarily of course materials like handouts, tests, and assignments. CMU’s Open Learning Initiative has fewer courses at this point, but many have web-based labs and simulations.
The material is definitely top-notch although incomplete from a learning standpoint. Some courses are taught using a book that may not be supplied. Of course, the largest missing piece is the faculty for which there is no ready alternative short of a long-distance learning course or admission to the University.
So do these repositories benefit anyone other than university students taking these courses? Having examined a dozen courses in various topics, I can say a resounding “Yes!” with a caveat you can drive a truck through.
I looked at courses similar to ones I’ve taken in the past, as well as courses covering topics that interest me. The former provided a nice refresher. They worked well because I was able to fill in the missing material. Creating standalone teaching materials is hard work. It’s harder than teaching a course because of the potential lack of interaction.
My stumbling point was with the courses that covered material new to me. They provided a useful overview, although there were obvious points where a presenter would be interjecting useful comments. Obviously an audio or video recording of the course would be invaluable but monetarily impractical. Still, the ability to quickly find the courses leaves time for additional research to fill in the blanks.
Books are another interesting source of information, and many books can now be found online in their entirety. There are also websites dedicated to a particular book that often provide additional tools. The list is extensive, and I offer two examples here.
The first example is Structure and Interpretation of Computer Programs by Hal Abelson and Jerry Sussman and its associated Instructor’s Manual by Julie Sussman. This duo forms the quintessential book on Scheme, a variant of Lisp. It was developed for a course at MIT. The entire text is available online in HTML format, complete with links.
The other example is the Behavior Based Programming website that supports the book entitled Robot Programming: A Practical Guide to Behavior-Based Robotics by Joe Jones and Daniel Roth. The site has a Java-based web simulator for behavior-based robots. Of course, this is described in the book, and it’s easy to play with, even if you haven’t read the book.
These two books cover topics that most developers might not be directly involved with, but they can be fun to learn about. They might also provide insights into techniques that would be applicable to everyday development.
Having done development work for many years, I know how involved you can get in your latest project. Remember, it always helps to take some time to smell the roses. In this case, the rose is knowledge, and the Internet is the garden. The trick is to avoid the weeds.
Unfortunately, Internet search engines do a terrible job in finding materials like this, although there are many institutions like CMU and MIT that are constantly providing more free material. Let me know what you run across. I’ll try to provide a more extensive list the next time I cover this subject. I could definitely use some more analog design sites. I would also like to hear about your successes and/or war stories about online training and learning. By all means, feel free to email me.
Behavior Based Programming site for Robot Programming : A Practical Guide to Behavior-Based Robotics
Carnegie Mellon University Open Learning Initiative
Structure and Interpretation of Computer Programs by Hal Abelson's, Jerry Sussman's and Julie Sussman