Goals and requirements
Before implementing an e-learning strategy supported by cloud computing, it's best first to outline goals and requirements. Such elements include:
- Location shifting to provide distance student support:
- Location shifting, where a course is made available to students who can't come to a physical location, can make courses available more globally and extend educational reach.
- Distance tools may enable a course that otherwise would not attract enough students, making a course feasible that previously was not.
- Distance challenges and the tools to overcome and provide the ability to collaborate with virtual meeting and cloud-based interaction may be part of the education (for example, teaching university students how to compete and be effective in the global economy).
- Distance support may be a convenience (for example, institutions operating in large metro areas and serving industry students who may have trouble commuting to campus may provide higher efficiency).
- Time shifting to accommodate busy schedules:
- Time shifting can solve course scheduling and resource issues (for example, for working students or students with heavy course loads).
- Occasionally, shifting eliminates conflicts that would otherwise result in missed instruction time (for local students, this is still a huge advantage if they must work around travel, illness, and other competing demands for their time).
- Time shifting allows for on-demand review of material a second or third time as needed.
- Interaction tools required to best facilitate learning:
- These tools may range from fully interactive, either in person or with live virtual meetings, to far less interactive, like a library course consumed at the student's own pace, with on-demand or scheduled interaction with the instructor as needed.
- For one-on-one and group assistance outside of lecture, tools can include shared desktops for debugging and diagramming, video conferencing, email, blogs, and documentation review tools.
- For technology courses, tools include code and document management, revision control, and collaboration tools.
- Learning management tools to increase efficiency:
- Tools are necessary for online assessments (quizzes and exams), assignments (labs, exercises, reading), rubrics (learning goals and expectations), submissions (individual and group), feedback, news, calendars, and resources.
- Use institutionalized infrastructure tools to automate student and faculty recording keeping, grading, and schedules.
- Courseware resource and information management:
- Courseware includes web page designs and methods for courseware (syllabus, video, examples, required reading, academic papers, textbook-extended resources, chipset documents, application notes, data sheets, and more).
- Use wiki pages (for teaching assistant and student interactive sharing and collaboration).
- Cloud infrastructure for system availability:
- Institutional private and virtual private cloud services are necessary (for example, course enrollment and student contact and biographical information).
- Public cloud services (such as Google Docs, calendar, or code cloud-based tools) can be used.
- Public cloud services such as Amazon Elastic Compute Cloud (Amazon EC2) for high-performance computing platform services are available.
Although cloud infrastructure for e-learning support is likely to be provided by a university school or department, a school district, or a corporation IT department, the first five major goals and requirements will probably involve the instructor. As an instructor, you will select tools for shifting location and time, enhancing interaction, facilitating learning management, and hosting courseware, and you may need to implement or at least integrate and tailor some of these tools to help enhance the cloud-based e-learning at your institution—if for no other reason, than to ensure that the tools best fit your teaching style, the needs of your students, and the learning styles you want to support for material to be learned. Future articles will focus on the IT aspects and challenges (like laboratory portals, scaling, security specific to education, and infrastructure).
A brief cloud overview
Cloud computing is a relatively new concept, first introduced and generally credited to Amazon and the introduction of Amazon EC2 public cloud services in 2006. Although many proprietary and open cloud solutions and services continue to evolve and existing services are recategorized as cloud services (like Google Calendar), there is basic agreement on essential services that comprise a cloud and the three main types of cloud service providers. First, let's review the services.
Software as a service
Software as a service (SaaS) was one of the first concepts in cloud computing, and it allows for application hosting by a cloud service provider so that the application can be accessed through the web or a mobile portal (tablet or smart phone). This process typically requires the application developer to integrate an existing application with a cloud kit or to design a new application for the cloud. SaaS replaces applications currently installed locally on workstations or personal computers and might include word processing, mathematical analysis and visualization, or more exotic applications like cyber-physical simulations. The applications might be commercial or developed by educators and the open source community.
Storage as a service
Most applications require some persistent data storage. As such, most cloud service providers include storage in their cloud kits so that applications can store structured (database) and non-structured data (files and binary large objects [blobs]). This allows the portals used to access SaaS applications to be stateless and therefore much simplified.
Platform as a service
If you teach computer engineering like I do, where you want students to be able to directly interface with hardware, then you know that this is difficult to do in a secure fashion while allowing students to experiment and learn. For example, what if you want your students to modify the Linux® kernel, write drivers, and even study malware? How do you do this safely? One option is a virtual machine (VM); this could be a VM hosted as a cloud service, with particular features like general-purpose graphics processing unit (GP-GPU) resources for OpenCL and OpenGL scientific computation and visualization.
Rather than building a new lab, I can provide platform as a service (PaaS) time to my students so that they can test their OpenCL/OpenGL applications or test new drivers for Linux. Amazon EC2 is a working example of PaaS.
Infrastructure as a service
The most general of cloud services is Infrastructure as a service (IaaS), where the cloud service provider offers networking, storage, computing, and IT. Typically, IaaS includes SaaS, storage as a service (STaaS), and PaaS as well as IT and networking.
Cloud services including SaaS, STaaS, PaaS, and IaaS can be provisioned from public proprietary cloud service providers like Amazon EC2, Windows Azure™, or EMC Atmos, but they can also be set up as an open source public cloud service like Google Code or Google Docs. These are all examples of a public cloud, whether proprietary or open, in that anyone can sign up and use the services. In addition, an institution can set up a private or virtual private cloud over a virtual private network (VPN) using open source cloud kits like OpenCloud or Eucalyptus (see Resources for links). A public cloud is just that—open to subscription by anyone with Internet access and a portal device. A private or virtual private cloud is typically only available within a domain (for example, Colorado.EDU) and only to authorized and authenticated users. Most often, it is either physically secured or secured through use of a VPN and cloud security protocols.
Rather than focusing on cloud infrastructure, assume that either your institution has a cloud infrastructure or you can use public cloud services. The remainder of this article focuses on e-learning tools that you can host in this cloud as well as public cloud tools that you can use to enhance e-learning. For example, I teach a digital media systems course using Linux, and for spring 2012, I'm considering using Amazon EC2 PaaS so that my students have access to compute clusters and GP-GPU high-performance systems. Figure 1 shows some investigative work I've done in Amazon Web Services (AWS) to test Amazon EC2 and understand its cost. The PaaS features of Amazon EC2 include detailed resource use and billing along with PaaS options for various levels of scaling for memory and CPU as well as the addition of GPU resources.
Figure 1. AWS Management Console for Amazon EC2 PaaS
(View a larger version of Figure 1.)
Tools and examples for e-learning
E-learning has evolved rapidly over the past decade, both in Kindergarten through grade 12 and in higher education. Although e-learning does not require cloud computing or social networking, it has benefited greatly from incorporating both to extend educational reach. As outlined earlier, I now take an in-depth look at each of the five areas fundamental to e-learning: location shifting, time shifting, interaction, learning management, and courseware. Then, I look at how cloud computing infrastructure can be used to enhance each and finally how PaaS can be used to make resource available for high-performance computing that otherwise might not be feasible.
Location shifting tools
Location shifting tools provide for virtual classroom attendance. The most common combine video and presentation slideware together with audio and virtual meeting tools. For example, at the University of Colorado, we use Tegrity tools to record Microsoft® Office PowerPoint® and video of the instructor, which is concurrently broadcast live over Dimdim or GoToMeeting. Colorado Advanced Engineering and Technology Education (CAETE) distance learning provides this studio infrastructure. The instructor simply needs to show up and log in; he or she can use interactive drawing tools, a remote desktop for demos on other computers, and can take live audio bridge questions from remote students. All audio, video, and desktop graphics are recorded for playback from the web using Tegrity.
Time shifting tools
The use of tools like Tegrity allows students to download recorded lectures and classroom interaction on demand for review or in case they are not able to make the live lecture hours. The ability to time shift can be a key decision factor for industry students who are trying to balance work, life, and going back to graduate school to further their lifelong learning goals. The combination of location and time shifting serves to broaden the reach of courses offered through CAETE at the University of Colorado, and often students from coast to coast participate as well as international students.
Adoption of time and location shifting methods places even more importance on virtual interaction tools. At the University of Colorado, we use Mokigo, Skype, virtual meeting tools (including our own CULearn) and GoToMeeting. Simple, freely available tools such as Skype allow for shared desktops, video, and audio, which you can use to hold virtual office hours, debug designs and code, walk through documentation, or simply hold discussions with one or more students at a time. With a laptop and a pair of headphones, I can hold office hours anywhere; if a laptop is not immediately available, I can run Skype on my smart phone. Interaction tools have also made possible an entirely new type of course: the library course. With this method, students subscribe to time- and location-shifted, prerecorded lectures, and then set up on-demand interaction with instructors as needed, so that they can self-pace. Library courses also allow support for small course sizes.
Learning management tools
The first learning management tool adopted by education was of course email, but this toolset has grown to include a much wider variety of elements. For example, the University of Colorado uses either CULearn or Moodle. Both provide a web page with assignments and due dates and the ability for students to submit labs and assignments, see grading and feedback associated on the same service, and take online assessments (quizzes and exams). A grade book is typically included so that students can track their progress and performance. Faculty can devise detailed policies for submitting assignments and assessments. For example, a quiz on terminology might be offered, and students can be enabled to take and re-take the quiz multiple times so that they really absorb the knowledge. Traditional exams may still be taken in class, but even for distance, this practice can be limited to once or twice a semester or administered by remote proctors.
Courseware on the Web is growing exponentially, with open courseware (for example, Massachusetts Institute of Technology and Stanford University), courseware by subscription, courseware to supplement textbooks, and online catalogs and syllabi. Every course in the University of Colorado Department of Electrical, Computer, and Energy Engineering is on the Web, most with a full syllabus and online lecture notes that students can print in advance, either open or with only portions password protected as required by third-party content providers. Links to several examples from the University of Colorado and open courseware are included in Resources. Web authoring tools, including those from OpenOffice, Microsoft, and Adobe all support saving documentation in HTML formats. The use of digital video to provide examples of well-done lab projects has been helpful for me.
Public cloud SaaS and PaaS tools
One of the biggest challenges facing technology courses is laboratory resources and how to make them accessible to distance- and time-shifted students. Three methods have been used at the University of Colorado through CAETE: creation of at-home lab kits that can be shipped to students; remote VPN login to university resources, applications, and cloud systems; and remote access to public cloud services. One of the simplest examples of public cloud services is the use of Google Code and Google Docs for software engineering. As an example, you can download the example sieve of Erastothenes code from Google Code (see Download), using either a download or a Subversion checkout. For a Subversion checkout, issue the following command:
svn checkout http://simple-cloud-example.googlecode.com/svn/trunk/ simple-cloud-example-read-only
Users can be added so that they can do check-ins, as well. This technology along with Google Docs is the perfect example of public SaaS (see Figure 2). Examples of more SaaS, both free and by subscription, are growing rapidly, as the links in Resources show.
Figure 2. The Google Code cloud interface
(View a larger version of Figure 2.)
Finally, most universities and K-12 educational systems are adopting cloud-based record-keeping, including enrollment rosters with biographical information, grading and records, and employee and student services. The University of Colorado has a service called myCUInfo that incorporates all course rosters for teaching in progress, final grade upload, email, and alternate contact information, so that instructors have one place to go to manage a course. Clearly, security for this type of information is critical and often used as a private or virtual private cloud service.
The combination of e-learning and cloud computing—both private and public—may not only extend the reach of education but also its efficiency. Using public cloud PaaS, high-performance computing resources that might otherwise never be feasible for some institutions can now be used with pay-as-you-go cloud computing. Better resources (some never before available), convenience, and efficiency are all driving the adoption of e-learning and cloud computing in education. It is true that both face challenges, most significantly with security, service level agreements, and interoperability. Given the power of both, these challenges will likely be addressed and solved in the near future, and students will benefit from the improved educational availability and resources.
|Simple benchmark used for PaaS tests||simple-cloud-example.tar.zip||1KB|
|A threaded sieve of Erastothenes benchmark||simple-cloud-example-threaded.tar.zip||2KB|
- Those interested in early cloud computing concepts may enjoy A History of Cloud Computing from CloudTweaks or an overview, including history, from Wikipedia on cloud computing.
- Video of embedded projects used as examples to emulate in courseware include Automated Chess with Computer Vision and Robotics and Computer Vision for Automated Video Game Play.
- For more on the infrastructure required for e-learning in the cloud, check out Creating the Infrastructure for Cloud Computing by Erique Castro-Leon, Bernard Golden, Miguel Gomez, Raghu Yeluri, and Charles G. Sheridan (Intel Press, 2011).
- An overview on math for the number of primes from the University of Tennessee at Martin is used to check the erast.c and erastpt.c source code example.
- Learn more about the sieve of Erastothenes algorithm, as described on Wikipedia, that was used to create a source code example to test Amazon EC2 PaaS cloud services.
- Learn more about the CAETE at the University of Colorado.
- Examples of courseware from the University of Colorado Boulder include ECEN 5623/4623 Real-Time Embedded Systems, ECEN 4610 Capstone Engineering Laboratory, and ECEN 4610 Capstone Engineering Wiki Resources Page.
- For an example of distance e-learning and on-campus continuing education program, check out the University of Colorado Boulder CAETE.
- In the developerWorks cloud developer resources, discover and share knowledge and experience of application and services developers building their projects for cloud deployment.
- Find extensive how-to information, tools, and project updates to help you develop with open source technologies and use them with IBM's products.
- Explore more education industry resources for developers.
- Browse the technology bookstore for books on these and other technical topics.
- Follow developerWorks on Twitter.
- Watch developerWorks demos ranging from product installation and setup demos for beginners to advanced functionality for experienced developers.
Get products and technologies
- Access the IBM Smart Business Development and Test on the IBM Cloud.
- Open source cloud kits include OpenCloud and Eucalyptus.
- Set up your own wiki using the protocol invented by Ward Cunningham in 1995, which can be useful for tracking resources and providing tips for students, either globally updated by all or perhaps just the instructor and teaching assistants. There are of course many choices for wiki server software, so you may want to compare options using the WikiMatrix.
- Time and location shift tools discussed in this article include Tegrity, Dimdim, and GoToMeeting.
- Learning management tools include Blackboard, which is used to implement CULearn, and Moodle, an open source learning management tool.
- Interaction tools discussed include Skype and Mokigo.
- PaaS and SaaS tools discussed include Amazon EC2 for high-performance multi-core plus GP-GPU computing and Google Code, Google Docs, and Google Calendar.
- Evaluate IBM products: See what's available in the cloud, download a product trial, or try a product online, or spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently.
- Get involved in the developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups, and wikis.
- Join a cloud computing group: developerWorks community has several cloud computing groups. Learn about the groups and their members and join one or more.
Dig deeper into Cloud computing on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Crazy about Cloud? Sign up for our monthly newsletter and the latest cloud news.
Software development in the cloud. Register today to create a project.
Deploy public cloud instances in as few as 5 minutes. Try the SoftLayer public cloud instance for one month.