Cloud-based education, Part 1: E-learning strategy for instructors

Concepts, tools, and methods

E-learning tools, backed by public, virtual private, and private cloud computing services, optimize educational collaboration, efficiency, and instructor-student interaction. Whether students choose to learn over distance or in person at a traditional campus, the power of e-learning and virtual collaboration is growing fast in education and the global economy. That power is best realized with a well planned cloud computing and e-learning strategy. This article, the first in a series on cloud-based education, focuses on what instructors can do to encourage best practices at their institution and adopt them in their classroom.


Sam Siewert (, Senior Instructional Faculty, University of Colorado

Sam SiewertDr. Sam Siewert is an embedded system design engineer who has worked in the aerospace, telecommunications, and storage industries since 1988. He presently teaches at the University of Colorado Boulder as Senior Instructional Faculty in the Embedded Systems Certification Program, which he co-founded, and serves as an advisor to the Electrical Engineering Capstone Design course. In addition, he has recently founded Trellis-Logic LLC, an embedded systems consulting firm that specializes in digital media, robotics, and cyber-physical applications.

05 December 2011

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.

Old wine in new bottles?

When I first heard about cloud computing in 2007, it seemed to me that this was just web services and grid computing with a new name. In some sense this is true, but as I learned more, I realized that it is a major evolutionary step made possible by the Internet, web services, and grid computing concepts. The emergence of powerful ubiquitous portals like tablets, netbooks, and smart phones along with scalable and secure data center and inter-networking enabled the cloud. The tipping point was reached when application developers started to ask, "Why should I target a platform rather than a portal?" Likewise, IT departments started to ask, "Why shouldn't we outsource our platform and storage needs or at least centralize in a few data centers?" We can trace cloud computing concepts back to the 1960s, when John McCarthy noted, "Computation may someday be organized as a public utility."

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
Image showing the 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.

Interaction tools

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 tools

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 

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
Image showing the Google Code SaaS

(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 testssimple-cloud-example.tar.zip1KB
A threaded sieve of Erastothenes benchmarksimple-cloud-example-threaded.tar.zip2KB



Get products and technologies


  • 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.

More downloads


developerWorks: Sign in

Required fields are indicated with an asterisk (*).

Need an IBM ID?
Forgot your IBM ID?

Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.


All information submitted is secure.

Dig deeper into Cloud computing on developerWorks

  • Bluemix Developers Community

    Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.

  • Cloud newsletter

    Crazy about Cloud? Sign up for our monthly newsletter and the latest cloud news.

  • DevOps Services

    Software development in the cloud. Register today to create a project.

  • Try SoftLayer Cloud

    Deploy public cloud instances in as few as 5 minutes. Try the SoftLayer public cloud instance for one month.

Zone=Cloud computing
ArticleTitle=Cloud-based education, Part 1: E-learning strategy for instructors