Distance Learning for Professional Programmers

Distance learning is one of the best ways to keep up with emerging technologies. Joanna and Ellen examine the options, while James Tomayko discusses programs at Carnegie Mellon University.


September 01, 1997
URL:http://www.drdobbs.com/distance-learning-for-professional-progr/184410436

DDJ, Software Careers Fall 97: Distance Learning for Professional Programmers


Joanna is director of Regis University's distance learning undergraduate program. She can be reached at [email protected]. Ellen is the university's director of the distance learning graduate program. She can be contacted at [email protected].
Sidebar: Distance Education at Carnegie Mellon University
Insert What do you do if the computer-science program you just graduated from emphasized Pascal and C, while (unfortunately) most of the want ads you're looking at require C++ experience? Or what do you do if your company has decided to replace its UNIX servers with PCs, and all new application development must switch to that platform? For that matter, what if your organization has caught the World Wide Web bug and wants to implement a company-wide intranet and you've been assigned to lead the development effort using Java?

In a climate of rapidly changing technologies, lifelong learning is clearly a necessary professional development objective for professional programmers. To stay current in your field, you have to be willing and able to continually "retool" your knowledge and skill base. The need to be a perpetual learner is especially important in the computer-science domain because of the overwhelming explosion of technological advances, if the more than 6000 scientific/technical journal articles written every day are any indication. Overall, there's currently a 13 percent per year increase in scientific and technical information, meaning the amount of such information doubles every 5.5 years. According to D.A. Nash, this rate of increase will soon jump to 40 percent per year due to the increasingly powerful information systems and the growing population of scientists. These increases will cause the scientific/technical database to double every 20 months ("The Life-long Learning Imperative...Ends and Means," Journal of Dental Education, 1994).

Employers need programmers who possess contemporary skills and knowledge and who proactively update their abilities to meet the ever-changing needs of the organization. Programmers who are able to keep up with the information explosion are valuable assets; those who fail to "grow with the flow" are restructured out of their positions. Whether you're a recent college graduate or seasoned veteran, lifelong learning is essential to staying current, competitive, and in demand.

Lifelong Learning for Professional Programmers

As defined in A Model for Lifelong Learning, by N.V. Overly et al. (Phi Delta Kappa, 1980):

Lifelong learning is any purposeful learning that an individual engages in throughout the life span...it is an activity engaged in...to gain greater individual self-fulfillment and to improve the quality of life for the individual and the emerging society. To achieve this requires moving away from a view of learning that is controlled outside the individual to a view of learning that is internally controlled by the individual.

The knowledge and technology explosion requires professional programmers to engage in this kind of lifelong learning merely to stay current, let alone evolve, advance, and remain competitive. Some companies support employees' professional development activities, such as training, by allowing comp time or time off. However, many companies leave the responsibility for professional development in the hands of individual employees. It's getting harder to send employees to training because of the expense, and release time is hard to schedule because of project deadlines. Since many computer programming professionals work anywhere from 45 to 60 hours per week (see "Strategies and Tactics for Getting a Job," by Ann Cary, Dr. Dobb's Special Report on Software Careers, Spring 1997), it is hard for them to find personal time to schedule formalized lifelong learning activities.

Luckily, the same emerging technologies that require lifelong learning have made it possible to provide excellent alternative learning options for professionals. Using distance learning and computer-mediated communications (CMC) technologies, you can now meet your learning goals by:

Enrolling in university courses via video, compressed video, multimedia, or Internet/World Wide Web.

Participating in professional training via video, multimedia, or Internet/World Wide Web.

Creating your own web-based performance support system (WPSS) using available online resources.

University Courses at a Distance

Higher education has become responsive to adult students who cannot attend traditional classroom-based programs. Many people have major job and family responsibilities that just do not allow for the time it takes to go to campus-based classes for skill development. Distance education, like that described in the accompanying text box entitled "Distance Education at Carnegie Mellon University," has become a viable program delivery option for these learners.

Distance learning generally means a learning environment in which the instructor (or facilitator) and the student are removed from each other; instructional communication is accomplished through technology. The concept of distance education is not a new one. For many years, students have been able to take self-guided, distance courses that use print-based materials with some faculty evaluation process and get academic credit for their work. With the advent of sophisticated electronic media, distance learning programs have become prolific. Courses that are specifically designed for distance learning are now available from many accredited universities and colleges. The delivery options are extraordinarily diverse and can be configured to fit the learning styles of most students.

Flexibility is one of the greatest assets of distance learning. Students and teachers are not required to be in the same place at the same time during the course. Communication via e-mail, list servers, and web-based threaded discussions allow you and your professor to post comments, questions, and work at any time and in any place (as long as you can access the Internet). Very often, adult students work during the night or early morning hours, which is easily accommodated with asynchronous interaction technologies. Some courses include synchronous interaction as a planned part of a course using Internet chat capabilities.

Distance learning courses now are widely available. Understanding your own learning style and schedule is key to getting the right learning experience. Options for course delivery include video tapes, audio tapes, CD-ROMs, text-based, and combinations of these. Some courses are also available via live interactive television, where you are in a class with other students, but your instructor and other students are in a classroom at different location. Two general sources to help you find college programs at a distance are Peterson's Guide (http://www.petersons.com/) and Bear's Guide to Earning College Degrees Non-Traditionally, by John and Mariah Bear (Ten Speed Press, 1997). [For a review of the Bear book, see "Nontraditional Education Alternatives," by Jonathan Erickson, Dr. Dobb's Electronic Review of Computer Books, September 1995; http:// www.ddj.com/ercb/ddj/9509.html.] The University of Texas World Lecture Hall is an online source for computer-science courses and programs (http://www .utexas.edu/world/lecture/). Under "Computer Science," you can find computer-science courses covering a range of topics including C, C++, Perl, Java, UNIX, and object-oriented analysis and design.

In evaluating and selecting a distance course, consider these issues:

Course content. The course learning objectives should be clearly stated and the content specifically outlined so that you know it will cover what you want to learn.

Level of interactivity. How much you will be able to interact with course material, with an instructor, and with other students is an important consideration. You want to know if the program provides a level of interactivity that fits your learning style.

Level of study. Undergraduate or graduate academic credit, academic or nonacademic certificate, training, and skills upgrades are options. Credit only matters if you intend to go on for a higher degree in an academic institution, skills training can accomplish what you need quickly and specifically.

Quality of teaching materials. There should be a student guide that provides a clear outline of the course and tells you exactly what is expected of you to successfully complete it. It should also include information on how to contact your instructors with questions, what technical support is available, and how to interact with other students. It should provide you with all the information you need as a distant student. Other required course materials should be provided or easily acquired from a distance.

Professional Training at a Distance

Similar in structure to university courses at a distance, some professional computer-programming training courses are also available at a distance. Using videotape, CD-ROM, computer-based training, and Internet/web technologies, you can participate in training courses that help you develop specific computer programming skills. Here are a few examples of training companies that deliver computer programming training at a distance:

Bluestone (http://www.bluestone.com/bluestone.html) offers C, C++, Java, and Perl courses over the Web.

Hatteras Software (http://www.hatteras .com/) provides object-oriented analysis and design (OOA&D) and Java training via CD-ROM.

MindQ Publishing (http://www.mindq.com/) provides C++ and Java training via CD-ROM.

Prentice Hall (http://www.prenhall.com/) has an interactive multimedia cyber classroom series in C, C++, and Java.

Mix Software (http://www.mixsoftware.com/) provides C and C++ training via videotape.

Learning Tree International (http://www. learningtree.com/) offers OOA&D, UNIX, Oracle, Java, and networking instruction via computer-based training (CBT).

Developing Your Own Online Performance Support System

Sometimes, a distance-delivered university or training course may not be the best solution for your lifelong learning needs. If any of the following scenarios describe your situation, then creating your own web-based performance support system (WPSS) may be the best way to address your lifelong learning needs:

You've been developing applications using C++ with a relational database. With the release of new object-oriented database (OODB) engines, your company has decided to adopt OODB technology. You don't need much instruction to move from relational to object-oriented database technology.

You haven't programmed in Perl for over a year, and now your new project assignment requires some Perl programming. All you need is a refresher to hone your existing skills.

You've been assigned to a Smalltalk project. For the most part, the application requirements will be fairly easy for you to implement. However, there are a couple of functionality requirements that you've never been exposed to before. All you need is some just-in-time training or mentoring when you get to those more complex components of the application.

You are a self-directed learner who prefers to structure your own learning intervention.

As these scenarios suggest, sometimes the learning intervention needed to "retool" your skill base does not require an 8- to 16-week university course or a 3- to 5-day training session. All you really need is a support structure to get you up-to-speed on a new technology or language. A performance support system (PSS) integrates resources and tools that facilitate working on complex tasks. Like an electronic performance support system (EPSS) (see Electronic Performance Support Systems, by G. Gery, Ziff Institute. 1991), a WPSS uses the Web to provide on-demand access to integrated information, guidance, advice, assistance, training, and tools to enable high-level job performance. Using the Web to create your own performance support system for a specific computer-programming topic is a perfect fit because the Web has been actively used by computer programming professionals as a forum for the distribution of references and guidance-the components of a WPSS!

Learning on the Web

To illustrate, we'll use Java to demonstrate how easy it is to find quality lifelong learning resources on the Web. Because of emerging web technologies and the need to develop applications that interface with and take advantage of web capabilities, the ability to develop applications using Java has become a highly demanded skill. Assume that you've been assigned to a Java project-such as developing a corporate intranet-and need to get up to speed as quickly as possible. Are there any resources on the Web that would help you learn Java and support your performance throughout the Java project?

You bet. However, you have to be very selective when looking for learning materials on the Web. Because you want materials that will help you fulfill your lifelong learning goals, you need learning resources that are accurate and relevant. So, the best places to start when searching for quality computer programming resources are the language, development kit, and tool vendors' web sites. Sun, for example, has a number of resources available via its web site (http://java.sun.com/). Likewise, professional organization web sites, such as the ACM (http://www .acm.org/), and professional magazines such as Dr. Dobb's Journal (http:// www.ddj.com/) and JavaWorld (http:// www.javaworld.com/), also provide Java resources. Use "triangulation" to verify a web site's value; if many Java-related web sites refer to a specific site, chances are it is a valuable site.

Using these guidelines for finding appropriate lifelong learning resources, your Java WPSS might include the following components and links:

Information. For general information on a programming language or tool, try searching the Web using the keywords new, read, report, newsletter, and directory.

"The Source for Java" from Sun (http://java.sun.com/) provides a variety of information about the Java programming language, such as available development tools, Java uses, standardization, and products.

JavaWorld from IDG Communications is an online magazine for Java developers; http://www.javaworld.com/javasoft.index.html.

Guidance and Advice. For guidance and advice resources on the Web, try using the keywords FAQ, source code, how-to, help, Q&A, demo, tips, hints, and wizard.

"The Java Developer FAQ" from DigitalFocus includes the Java Developer Network, Java Conference Room, Java Resources, and How Do I...? sections; http://www.digitalfocus.com/digitalfocus/faq/index.html.

"Java Workshop FAQ" from Sun provides answers to questions concerning configuration, installation, IDE/usability, HTML, applets, and GUI builder; http://www.sun.com/developer-products/java/technical/FAQ.html.

"Source Code for Dr. Dobb's Journal, Java Q&A" from Dr. Dobb's web site (also available at DigitalFocus' Java Developer FAQ web site) provides source code solutions to common Java programming problems. http://www.digitalfocus.com/ ddj/code/.

Assistance. Newsgroups provide a forum for developers to ask and respond to questions, participate in discussions, and collaborate on solutions. There are a number of online Java newsgroups available, including: comp.lang .java.advocacy, comp.lang.java.announce, comp.lang.java.api, comp.lang.java.misc, comp.lang.java.programmer, comp.lang.java.security, comp.lang.java.setup, and comp.lang.java.tech.

A current list of Java-related newgroups is maintained by JavaSoft at http://www.javasoft.com:80/aboutJava/newsgroups.html.

Training. For training needs, search for resources using training, tutorial, course, and white paper as keywords.

"The Java Tutorial" available from Sun covers object-oriented programming for the Internet, general Java programming, applets, user interfaces, networking and security, native interfaces, and JavaBeans; http://java.sun.com:80/docs/books/tutorial/index.html.

"The Java Language Environment: A White Paper" from Motiv Systems, provides a detailed discussion about the design goals, merits, and attributes of the Java programming language; http://java.motiv.co.uk/intro/javawhitepaper_ 1.html.

Tools. When looking for programming tools on the web, useful keywords to use for searching include tools, utilities, and resources.

"The Official Directory for Java" from Gamelan, Earthweb, and Sun provides access to a variety of tool and utility resources for Java programmers; http://www.gamelan.com/pages/tmp-Gamelan.html.

To create an organized, easy-to-use WPSS, there are two easy ways to combine and coordinate your web resources. You can use the Bookmark feature of your browser to organize your links or, if you know some basic HTML, you can organize your resources on a personal web page. (Check out a web-based development tool that enables you to create an organized, searchable WPSS at http://www.cudenver.edu/~jdunlap/wpss.html.) By collecting in one location the types of web-based resources just described, you create a WPSS that will not only help you learn a new computer programming language or tool, but will also support you throughout your development efforts. Whether you need just-in-time training or simply need to refresh or enhance your current knowledge and skill base, using the Web to create your own customized performance support system is an excellent solution.

Conclusion

The distance learning options and resources we've described here will help you develop a plan for achieving your lifelong learning goals. Lifelong learning goals will, in turn, enable you to fulfill your career goals. Distance learning options may very well be essential elements in your continued achievement and success as a computer programming professional.

DDJ

DDJ, Software Careers Fall 97: Distance Learning for Professional Programmers: Sidebar

Distance Learning for Professional Programmers:
Distance Learning at Carnegie Mellon University

Software Careers Fall 1997 Dr. Dobb's Journal

by James Tomayko


The economic upturn we are happily experiencing comes at the end of a period of severe pain and suffering across the industry. But the shortage of employees means that there are fewer opportunities for full-time supported graduate study, and part-time students trying to attend traditional course offerings are trapped by geography. Realizing this, the School of Computer Science at Carnegie Mellon University, like many other universities, is bringing the courses to the students-no matter where they are or when they need to study.

Interestingly, Andrew Carnegie founded the original Carnegie Institute of Technology at the turn of this century to give the worker a means to improve himself. For over half of the school's history, night students outnumbered day students; degrees were earned through part-time study. Through distance education, Carnegie Mellon University is returning to its roots. Peter Drucker said recently that the big universities will be dead in less than half a century. Technology makes it possible to teach even the most complex concepts to students based anywhere in the world. The universities will feel the backlash from over two decades of well-above-inflation cost-increases.

The first arena in which the new virtual universities will excel is in delivering graduate education to practitioners. These are often the most motivated students, and the ones most in need of just-in-time learning. For all their faults, universities are still centers of leading-edge research and contain critical masses of intellectual power. They will be the best deliverers of graduate courses. Even more-established distance education organizations like the Open University maintain a full-time faculty and a research base in Maynard Keynes, a place in Great Britain few of their students have ever seen.

Carnegie Mellon plans at least four tracks leading to a certificate-software engineering, human-computer interaction, language technology (machine translation and speech recognition), and machine learning. The more-established programs, such as software engineering, are researching ways to offer a complete professional masters degree through distance education that will be indistinguishable in quality from the on-campus program. It can still be argued that the full-time students in residence will gain more from casual interaction with classmates and faculty than any distance education can provide. However, if spending a year on campus is impractical, then remote learning is the solution.

The technologies that make distance education programs viable are largely software technologies. Some distance education courses rely on only e-mail as the medium of exchange, while certain point-to-point courses, such as Carnegie Mellon's program in computational finance are taught from special classrooms connected via T-1 lines. The School of Computer Science decided to adopt the philosophy of using the lowest common denominator technology except in cases where special software is provided by the school accompanying the media. This is intended to make the courses available to the largest audience without sacrificing quality. It enables students from literally around the world to participate.

The base technology is the World Wide Web. In addition to simple home pages using basic HTML, special software is in place for student lounges and work areas, as well as means for the automated collection and display of data, such as the Personal Software Process (http://www.psp.itc.cmu.edu/). Most of this special software was built using Java or Perl and does not represent any breakthroughs.

Perhaps the most impressive technology is Just-in-Time Lectures (JITL). The original idea for this teaching system was by Raj Reddy, dean of the School of Computer Science. It has been refined over the years by several researchers, most recently Roger Dannenberg. There is now a consortium devoted to improving the technology that has industrial members who license its use. Instructors are videotaped, and their slides are gathered in Powerpoint or other presentation media. The slides are juxtaposed with the instructor into one window of the JITL display using advanced video compression techniques. QuickTime for either the Macintosh or Windows is used as the playback software. The presentation is synchronized with a window containing the lecture outline. A third window is a view into the FAQ file. The early ratio of CD-ROM production-to-lecture time was in the neighborhood of 60 hours to one hour. This has been reduced to about 20 to 1, making the technology usable in a rapid production environment. CD-ROMs contain the player software, Netscape, QuickTime, Eudora, and the installation executables, making them highly portable.

The chat software is built and maintained by SneakerLabs, a startup begun by a Carnegie Mellon Master of Software Engineering graduate. A Java applet downloads to the user's machine and enables conversation by text. Again, no special software is obtained by the student: It is supplied on the web site. SneakerChat can also be used by students to form study groups outside of scheduled chat hours.

There is, of course, a growing amount of chat, voice, video, and other types of conferencing software for the Net. SneakerChat is simple, so it fits the philosophy of lowest-common-denominator technology, and is an effective teaching tool.

You can see that even these relatively simple but ubiquitous technologies have the power to transform the business of higher education, particularly continuing professional education. Drucker and Gene Rochlin, author of Trapped in the Net (Princeton University Press, 1997), see both the possibilities and the dangers. Rochlin's model of the "computer trap" has four parts-the lure, snare, costs, and long-term consequences.

The lure of computing technology for distance education is that even the simplest models provide greater interaction and content sophistication than "correspondence courses" that universities have had for decades. The snare is the availability of useful software that runs on vanilla hardware world wide. The cost is the growing dependence on the software technology for delivery of courses. The long-term consequences can only be guessed at, though critics of the technology and faculty Luddites worry about the lack of face-to-face interaction and the possible loss of teaching jobs as a few "star" professors corner the market in popular courses.

What will probably happen will be a mirror of the shakeout in the computing industry in general. At first, everyone will enter the distance education market. Eventually, a few universities will emerge as the dominant players, and these universities will probably be ones that no one today would be able to identify. Other universities will control niche markets, such as particular majors, and their distance education programs will survive on these successes. Finally, most of the early entrants will die out. No one knows how resident education programs will be affected by schools like Harvard offering degree programs online. Residential undergraduate degree programs will probably survive as long as their educational purpose is closely tied to their social purposes.

It is, truly, a time of rapid change in education. The impact of computing technology in distance education is going to be much greater and more effective than the PLATO-like CAI software of a couple decades ago. Those early adopters among the universities who make a commitment to develop distance education will have a major influence in the next century.

DDJ

Return to Article

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.