The author shares his experiences teaching various online computer-science courses (via the Blackboard™ and synchronous web conferencing tools) using state-of-the-art free-license software tools for conducting online virtual labs and numerous students’ projects. The labs were designed to help students explore modern, sophisticated techniques in several areas of computer science: computer-system analysis and design, programming in C/C++ and Java, software quality assurance, data communication in networking systems, computer security, system simulation and modeling, numerical analysis, image processing, multimedia applications, Web development, and database design and management. All the online courses include “warm-up” exercises and lab-based projects that provide students with knowledge, instructions, and hands-on experience, and that motivate them in selecting topics for technology overviews and research.
The collapse of networking industry in 1999-2000, the world economic crisis of 2008-2010, and visa restrictions for international specialists and students (that were enforced after the terrorist attacks of September 11, 2001) changed dramatically the student population in colleges and universities nation-wide (Bollag, 2004). Enrollment continues to decline in both undergraduate and graduate computer science programs (Zweben & Aspray, 2004; McCormack, 2005), particularly putting at risk small computer science programs in liberal arts colleges, which heavily depend on the international students’ enrollment. At the same time, companies still demand fewer, but better prepared computer engineers with solid knowledge and hands-on experience.
All these factors have to be considered seriously and must be reflected in searching new approaches for teaching online the computer science courses. In this chapter, the author shares his experience in re-designing the computer science curriculum for teaching courses online. His teaching methods (Riabov, 1997; 2000a; 2000b; 2006a) are based on several techniques (Riabov, 2002a; 2002b; 2005b; 2006a) that challenge and motivate students to become passionate in their studies and be active in the virtual classroom environment. Starting every class session with small challenging “warm-up” exercises (Sabin et al., 2005; Riabov, 2006a; Riabov & Higgs, 2011), the instructor encourages students to select and develop their own projects. He provides them with examples of the best achievements of professionals in the related fields of expertise (Riabov, 2004; 2005a; 2006b), the best projects of students (available on the instructor’s Website, http://www.rivier.edy/faculty/vriabov/), who took similar courses in the past, and the challenges of the discipline (Riabov, 2012a).
This paper demonstrates the advantages of using a project-based approach (Riabov, 1997; 2000a; 2000b; 2002b; 2003; 2006a; 2007; 2011) in online course delivery that motivates students in studying and learning modern computing technologies. “Warm-up” exercises, online discussions of recent research publications, lectures, and virtual labs stimulate students in selecting topics for their technology overviews and research projects and provide them with knowledge, instruction, and hands-on experience. The students, who accept the challenge of innovation in computer science areas, display their successes by presenting their work at national and international conferences (Milkovits, 2005; Selent, 2011), publishing their project reports in the Rivier Academic Journal (2012), and promoting their findings among their college peers and their colleagues in companies and organizations (Riabov, 2005c; 2005d).