Is Online Software Engineering Education for You?

by Kal Toth, Portland State University
The potential of online programs My students – mostly experienced software professionals enrolled in our Oregon Master of Software Engineering (OMSE) program – are employed by companies such as Intel (Hillsboro), HP (Corvallis) and InFocus (Wilsonville). They often tell us that they come away with useful nuggets of practical knowledge and thinking that they can incorporate immediately into their on-the-job work practices and teams. Some of these benefits can be explicitly attributed to our web-enabled course offerings. OMSE online students complete their courses as follows: they read downloaded assigned materials at home, view targeted streaming videos, collaborate through online discussion forums, and upload assignments through “PSU Online” – our WebCT-based distance learning system.
Interestingly enough, most of my online students have neither met me nor their fellow classmates face-to-face. Yet we have jelled into close-knit distributed learning teams and have achieved outcomes that in many respects exceed those of face-to-face programs. Our results confirm that through online courses, software engineers can take on an advanced degree enjoying a high-quality educational experience that is also very flexible. They are able to conveniently complete their courses while meeting their obligations at work and at home.
Online versus face-to-face education Learners are often most comfortable with how they learned in the past – face-to-face. And they are reluctant to change. Therefore they start off by being somewhat biased towards the lecture style and skeptical about what they can learn through online learning. However, online education offers learning outcomes that are rarely realized in face-to-face models. It turns out, in fact, that they are superior in many respects.
A widely acknowledged benefit of online education over face-to-face is flexibility. Students are able to learn “anywhere” and virtually at “anytime” because they are less bound to the confines of the classroom. However, there is another key benefit that is less understood that has to do with the depth and effectiveness of collaboration that can be achieved.
Consider students in the typical university classroom setting. Although they can bring their experiences to bear in the classroom, limited class time prevents much freewheeling or in-depth discussion. Only a few, and these are only the most outspoken, contribute to learning this way. Students and instructors rarely have the opportunity to put forward challenges or offer insights to each other directly, never mind respond meaningfully. There’s simply not enough time for everyone to share their knowledge.
Online education, on the other hand, can be set up to foster a lot of collaboration among students and their instructor. In particular, they can use discussion forums or blogs to ask quite detailed questions, offer solutions, challenge proposals, probe issues and resolve misconceptions. In fact, many of them – accustomed to such interaction on the job and across distributed project teams – adapt very quickly to this style of learning; after all, it is an extension of how they already work. In contrast, traditional lecture-style courses do not facilitate much of this style of learning among students.
Students learn from each other From our experience with the Oregon Master of Software Engineering (OMSE) program, we have found that students can learn a lot from each other, especially if they are practicing professionals. Our students have had a few years of on-the-job experience, so they’ve learned a lot through their mistakes and from their peers and mentors, and they can share them with each other. We have found that they are very keen on explaining and exchanging their lessons, warts and all, thereby sharing the breadth and depth of their professional experience directly.
Online learning approaches encourage significant interplay among students in their programs of study and yield significant and unique benefits over lecture-style programs. We have found that our online collaboration tools focus students on specific real-world problems and draw out the knowledge and experience of others in the class by actively engaging all of the students with each other and the instructor – not just the vocal few. The instructor’s primary role becomes facilitating the class, guiding the discussions, offering new technical strategies and providing feedback. Students take back a larger mass of accumulated knowledge to the workplace and thereby benefit that much more from online courses.
How about some specific examples? Over the last two years I have conducted three different but related online software engineering courses to do with software engineering principles and processes, software project management, and software quality. Through these courses we have exploited online techniques to discuss misconceptions, counter-points, compatibility issues and trade-offs with several technical software engineering problems including many to do with:
-
How Agile and traditional software processes relate to each other;
-
Issues of customer collaboration and project scope control;
-
Alternative strategies for testing advocated by Agile and traditional processes;
-
Incorporating software reviews and inspections into software development;
-
Benefits and trade-offs among quality metrics including automation;
-
How process tailoring relates to the criticality of the project at hand.
My articles to follow will provide the collective wisdom and consensus of my online students addressing common problems and issues in these technical areas.
About the author Dr. Kal Toth, associate professor in Portland State University's Department of Computer Science, is Director of the Oregon Master of Software Engineering (OMSE) program (http://omse.pdx.edu). Kal can be contacted at ktoth@omse.pdx.edu or see http://www.cs.pdx.edu/~ktoth/.
|