Teaching Programming Courses Online using Cloud System: Practices and Future Challenges
Автор: Lakshmanan Senthilkumar
Журнал: International Journal of Modern Education and Computer Science (IJMECS) @ijmecs
Статья в выпуске: 12 vol.6, 2014 года.
Бесплатный доступ
Acceptance of cloud systems as the future has given way to a large number of cloud application installations. They have their presence across domains be it banking, gaming, education and others. A cloud based solution brings down the cost of ownership and maintenance for the host organization. For the users a resilience to use any type of end device being it a workstation, laptop, netbook or even a smartphone to access the application. A typical cloud based LMS was developed with appropriate pedagogy to teach programming courses. Necessary software required are made available on the cloud, with a bare minimum hardware spec requirement at the user end. The paper highlights the adaptability to such pure online course by the students and their learning outcomes. The paper also discusses the issues and challenges both in terms of technology and pedagogy which needs to be addressed when such online courses are planned.
E-Learning, Cloud system, pedagogy, Learning Management System
Короткий адрес: https://sciup.org/15014710
IDR: 15014710
Текст научной статьи Teaching Programming Courses Online using Cloud System: Practices and Future Challenges
Published Online December 2014 in MECS DOI: 10.5815/ijmecs.2014.12.02
Cloud Computing is seen as the next generation technology by an organization which wants to augment or set up a new IT infrastructure. The ubiquitous presence of Internet and with an ever increasing data download rate, cloud model will obviously have a greater acceptability.
Cloud computing as defined by NIST is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources.
Mainframes, Distributed, Grid and then Cloud Computing summarizes the technological evolution. A huge centralized computing platform forms the Mainframe systems. The system is large enough both in terms of computing power and storage to handle infinite number of users at any given time instance. With necessary software being made available in the centralized system, the end user systems are generally thin clients. In a distributed technology, multiple computing systems are coupled together to form one large system. Advantages of such a system are reliability and scalability whereas it is security in a Mainframe. Further, in a Mainframe system, if the machine fails the entire system crashes, which is not the case with a distributed system. the system would still run devoid of that particular machine. Grid Technology, which came next, the system is built by aggregating heterogeneous computing resources spread across locations through an open and standard protocol. Each location resource being administered locally are accessed through a centralized indexing service. This system was mainly developed for computationally intensive applications which demands huge computing power. Cloud technology came into prominence in the latter half of 2006. This is considered as an extension of grid technology. A cloud system created by aggregation of computing resources enables on-demand resource provisioning and release with minimal effort. A shared resource pool thus created is managed through a hypervisor, addressing the heterogeneity of the computing resources. The entire system is thus under the control of a single administrator and this assists in dynamic configuring of the system as demanded by the end user. Also when comparing it with Grid technology a cloud system is much more scalable and service oriented.
In all earlier technologies the main objective or focus was to share computing resources across its users thereby increasing the resource utilizations. However, in cloud computing technology all the objective is to offer an on-demand network access to shared resources. And all that are offered here are considered as services. The services offered today in cloud system are categorized into three major models - Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). In IaaS model, cloud service provider delivers services to access the raw computing, storage and networking resources. Virtualization techniques are more prevalent at this level. An organization using these resources has complete control over them, with provisions to augment resources when needed and relinquish them, remove excess resources when not in need. Examples include Google Compute Engine, Amazon Elastic Compute Cloud (Amazon EC2) and many others. In PaaS model, an organization using the services, makes use of the programming tools, libraries and services to create and deploy their own custom applications. In this model, the services could be offered at different level. An organization provided with a limited control, especially on the deployed applications through an interface will be at one end of spectrum and a service in which the user a can build his own platform by way of choosing his preferred Operating System and Middleware will be at the other end of the spectrum. Amazon’s AWS Elastic Beanstalk, Google App Engine, Window’s Azure are examples for this model of service. In SaaS model an organization outsources its entire IT requirement from servers to client application software to the cloud service provider. The entire ownership and the maintenance rests with the service provider and the organization pays for the services on a per usage basis. Gmail, Yahoo mail are best examples for this model. In this many a times a single instance of the software serves multiple users.
The four deployment models of a cloud system as defined by NIST include: Private cloud, Community cloud, Public cloud and Hybrid cloud. A cloud system deployed for use by a single organization is called a Private cloud. A cloud infrastructure setup for a community of people be it within or even outside an organization, grouped for a specific mission or agenda is called a Community cloud. A cloud network setup for use by general public is called Public cloud. Today’s all popular social networking and other websites are a good example for a public cloud. A combination of above three cloud models, glued together through a standardized protocol is called a Hybrid cloud.
This paper discusses on how to harness cloud technology especially the SaaS model to teach programming courses online. The paper highlights the approach adopted in implementing such E-Learning system and also its adaptability by the learners. Use of specific pedagogies for improved learner outcome is also addressed here.
This paper is structured as follows: Section II provides an insights on the related work carried out in the field of cloud based E-learning platform, Section III focuses on the use of ICT in Indian higher education, Section IV provides a snapshot of the proposed system, Section V highlights the learner adaptability of such system with suggestions to address future challenges. Section VI concludes the paper.
-
II. Related Work
Many E-learning design frameworks and architectures have been proposed for a cloud based implementation. BlueSky[7], CluoudIA[8], eLC2 [9] are popular cloud based E-Learning design frameworks that are discussed widely. Few of them have got their way into few of the Universities.
The BlueSky cloud framework for e-learning focuses more on IaaS model. Virtualized physical machines for computing, storage, and networking are allocated on-demand. Load-balancing and data caching are the prominent features of these systems.
-
E. Aljenaa et.al. [1] in their paper have proposed an EaaS (E-learning as services) model in which computing resource esp. the virtual machines are mapped to users dynamically on requests. Mohssen M. Alabbadi [2] in his paper proposes ELaaS (Education and Learning as a
Service), a theoretical framework wherein educational and learning activities are categorized into two main components namely mission critical and sensitive. These are further sub-categorized into High and Low. Ahmed Al- Hunaiyyan and Hanna Al-Sharrah [3] proposes an integrated e-learning model and framework for both K-12 and Higher Education. The framework consists of the following components: Infrastructure – necessary for a high-performance data centre, LMS – an access point for all its stakeholders including parents, Interactive multimedia based content, Smart Classroom, One-to-One device, Smart Schools – for providing an IP enabled WiFi campus, e-library, Training component necessary for the teachers, Media and Awareness campaigning. Frank Doelitzscher et.al [4] highlights a cloud infrastructure setup based on their CloudIA framework addressing all three major service models: Iaas, Paas and SaaS. The system supports IaaS by facilitating its users to dynamically create, manage and remove virtual machines. For PaaS the system provides a Servlet Container Platform (SCP), allowing its users to develop, deploy and test their own applications. An on-demand collaboration software (collabsoft) facilitates it users to create their own work groups and manage them easily by adding functionalities like calendar, wiki, forum, chat, addressing the SaaS segment.
Zhang et. al. [11] in their paper introduces the merit of cloud computing and states that while adopting this the users do not need any high level equipment, reduces the users cost. It highlights how the various cloud computing styles namely SaaS, Utility computing, Network Service, PaaS, Management Service Provider (MSP) and Commercial Service Platform could be adopted in an enterprise to reduce cost and improve efficiency in terms of capacity enhancement and lead time in deployment and training.
Yang and Zhu [14] in their paper proposed a cloud based e-learning solution EduCloud, it uses Hadoop to analysis the user activities and the data thus generated. To address scalability and resource constraints, envisaged to use public cloud using both IaaS and Saas Model.
Yang in his paper [15] discusses a cloud based eeducation framework which has four layers: application layer, platform layer, control layer, and virtual layer. Each layer mapped to an open source compatible with the layer functionality. To support migration from one cloud service provider to another also proposed an open framework. This framework had four layers namely delivery platforms, core service, collaboration service, and user experience.
Le Xu et.al. [5] in their paper presented a V-Lab for conducting computer network security practical session. Its users access the Lab based on their schedule via remote access using Standard Secure Shell (SSH), Virtual Network Computing (VNC) or Remote Desktop Protocol (RDP). It was found that the students who used the system had a short learning curve and were able to use the facility throughout the semester and also achieved the desired learning outcome. Ying Jing et.al. [6] proposed a cloud based network teaching platform developed on web 2.0 technology, allowing teachers and education institutions to connect with their students. It is suggested that the open AppScale architecture developed provides a theoretical framework for migration from an existing LMS to a cloud platform, be it either a public or private cloud network.
In our earlier paper [12] we implemented a centralized networking lab to which students could login from remote to do the lab exercises. The setup allowed the students to access the physical devices. The paper highlighted the lab utilization, time of access and the effectiveness of the Live WebEx session. We found that students preferred using the Simulators to complete the practical as they encountered network issues in accessing the physical device.
Ashraf Zia et. al.[13] in their paper have highlighted the key performance issues in cloud computing with respect to storage and query processing. A cloud system wherein the data being stored in multiple locations and being replicated increases the concurrency and the load. Further when large number of user requests are received, the system, must be flexible enough to scale to process those queries and improve performance.
-
III. ICT In Indian Education
India sees ICT as the solution to cater education to its growing young population. As of 2011 census report of the total India’s population, 31% of the total population is in the age group of 0 – 14 years of age. By 2020 the median age will be 29 years. In the last 10 years period between 2002 and 2012 the number of higher education institutions in India has tripled [18]. And during this period India’s GER increased from 8.97% to 19.4%.
The Indian Government has set a GER target of 30% in higher education to be reached by the year 2020. This would take the enrolment to around 40 million from the present 24 million. This translates an added need of about 33000, institutions. For this the investments should be increased to Rs. 23250 million from the present Rs. 4620 million, at an average growth rate of 18%.
To achieve this GER target, an average of 10 institutions needs to be started every day for the next 9 years. This seems too unrealistic. In this background in all policy and development initiatives of the Indian Government, Information Communication Technology (ICT) finds a major role. Few recent initiatives by the Indian Government for dissemination of knowledge include: National Mission on Education through Information and Communication (NMEICT) Technology. Under this framework about 400 universities, 14,000 colleges are provided with 1 Gbps connectivity. National Programme on Technology Enhanced Learning (NPTEL) an initiative to create web and video courses in Engineering, Science and Humanities stream to enhance the Quality education by providing free online courses. In its phase – I which ended in 2007, contents for 260 courses were created. These are hosted as an open access content and free for download. In its phase-II period starting 2007 till 2012 another 950 courses added thus taking the total number to about 1200 courses. One such other initiative has been the launch of low-cost computing tablet ‘Akash’ as an access device for students. In yet another initiative a free openware e-learning tool ‘A-View’ is being provided to all education institutions. This tool facilitates in live audio and videos streaming of a classroom session, content collaboration and sharing, record and playback a session and to conduct live evaluation through quizzes, polling and by providing instant feedbacks. Under the same NMEICT scheme, Virtual Labs [16] are also being provided for use by the education institutions. It allows student to do simulated lab exercises to understand the concepts better. The practical exercises provided here are in alignment to the NPTEL course contents. Similar initiatives are also taken by the apex bodies for higher education in India, by All India Council for Technical Education (AICTE) and University Grants Commission (UGC). Through their initiatives the higher education institutions are provided with access to digital libraries of popular peer reviewed journals and bibliographic databases across all streams of education. In the recent past Indian Government launched a MooC based platform called ‘Swayam’- Study Webs of Active-learning for Young Aspiring Minds. This is seen as the best way to offer an affordable and quality education to its growing population.
On the infrastructure side too Indian Government has taken many initiatives. To address these impending challenges Government is in fast mode to augment its existing communication network. This has resulted in redefining the minimum broadband speed as 512Kbps from the earlier 256Kbps in 2014 and then to upgrade it to 2Mbps by the end of 2015.
The first World Wide Web version, www 1.0 designed, was a ‘read-only web’. Organizations were using web mainly as a medium for their online presence. They used web as the medium to make their information reach to a large mass of people anytime and anywhere. This version of web didn’t allow the website visitor to register their comments or even seek more details. HTTP and HTML were the two prominent technologies that were in use.
The current web platform, Web 2.0, is termed as a “read-write web”. This newer version has allowed the web page visitor to read, search and contribute contents. Technologies prominently used includes XML, AJAX, and SOAP. Blogs, Social Networking, Social bookmarking, wiki, podcast and video-streaming are the new age Web services and application which have become popular. Facebook, MySpace, Twitter are few popular examples of this new generation web which has a parallel broadcasting platform like Television and Radio systems. This Web2.0 allows its users to give feedback or comment and to share information. Thus providing a means to contribute and share the contents. These advancements are now making the online teaching using an LMS tool more effective, allowing for a personalized content contribution and distribution in a larger platform.
The other advancements especially in the Internet Technology, the advent of cloud technology is seen to complement the Indian Government e-initiatives in providing a low-cost, affordable and quality education to its young population. Cloud which eliminates the burden of setting up and maintenance of IT infrastructure, the Education Institutions can now concentrate more on their core activity of imparting knowledge by leaving all the IT related activities to a third party organization. It is seen that SaaS will be an ideal cloud service model which education institution should adopt to harness its full potential.
-
IV. Learning System Overview
A cloud based LMS using Microsoft's Azure platform has been setup to teach programming courses. The model adopted here is the SaaS model, wherein all the software including the compiler software are made available to the students through the cloud platform. This model of service could be extended to other practical courses too that are depended esp. on a client-end requirement. For practical courses like computer networking and communication which needs a student to work on physical devices to have a real time experiences, the IaaS model would be most suitable. These courses if taught using simulators then SaaS would be preferred model. A PaaS model is preferred for those practical courses which demands to develop and deploy applications by the student, which others could also access to test and use them. These models ease a student to access resources be it software or hardware with no restriction of location or time requirement at the user end.
A user friendly GUI enabling the students to key in the program code, the user inputs at runtime and a separate window for program output are provided. The compilers used are the free and open source software. A thin client system with a web browser and an Internet connectivity is the minimum requirement at the client-end to connect with the server. The programming course offerings included C, C++, Java, PhP, MySQL and Advance Excel. These were offered as a fully online short-term course having a duration of 3 months. Students of these courses had access to the course materials both text and video and necessary software for practicing. The courses had a weekly synchronous sessions were the student interacted with the faculty to get their doubts clarified. In addition to this the student could interact with the course faculty asynchronously too. The online course designed facilitated easy monitoring of student progress. Completion of the Self-assessment part of the course is used as the measure for course progress. ‘ Open Book
Open Web ’ mode of final assessment is adopted for the award of the certification.
A snapshot of the online course book is shown in Fig1.

Fig. 1: Course Book – A snapshot
The Fig.2 shows the other key features of the LMS especially the discussion board, messaging, the embedded IDE for programming practice.

Fig. 2: LMS integrated with an IDE – A snapshot
-
V. Observations and future challenges
-
A. Observations
Theses online courses offered over a period of 6 months were examines to understand the student’s access pattern in terms of their timings, the course content type preferences and to measure the proficiencies level gained by them.
Of the total LMS utilization 93% was on the content and practicing the programming exercise (Hands-on) and 5% on the self-assessment component. Remaining time on profile updates, assignment downloads, messaging and posting on discussion boards.
This being an online course, the course relied fully on student push, on their self-motivation rather than on teacher pull – providing students with a time bound activity schedule. Course progress both on a weekly and monthly basis were tracked. A startling revelation was on student’s presence, noticed a wide inconsistent. A large number of students completed the course in a short duration rather than taking up the given assignments on a weekly basis. The pattern showed that they had come for a limited course duration and completed entire course requirements during that period itself. This could be seen through two of the graphs provided here (Fig.3 and 4). Being an online program a study plan with a weekly assignments were suggested. This required students to login to the LMS regularly to complete their each day portions. Given that Fig. 3 shows the month wise logins (visit) to the portal
Month Wise Login (%)

Fig. 3: Student Presence in the Online Courses
Month Wise Unique Logins

Fig. 4. Month-Wise unique students presence
Of the total required logins only 53% has happened in the first month of the course duration. It came down to 25% and 21% in the next two months of the course duration. This was further dissected to know the unique students who logged during each month of the course duration. Fig. 4 shows that during the first month of a course 47% of the enrolled students accessed the LMS, and it was 30% and 24% during the second and third – last month of the course duration. Further, it was also noticed that there were less than 1% of the students who accessed the LMS regularly (i.e.) across the full course duration.
Access Timing

Fig. 5 Student access timings
This being an online course, we tracked the student login timings, to know when the students are active. This helped us in optimal resource provisioning. We could find that student were available right from 9:00 am to 12:00 midnight. 90% of the LMS access was during this period.
-
B. Challenges
The poor student access pattern is to be related to the non-existence of any strict course progress requirements. These online course offered were an audit course, as a pre-requisite to a credit course. Further the course by design with no strict course progress and completion requirement, allowed the student to complete all the requirements in a lesser time duration. This has resulted in such access pattern.
On the technology front, the language compilers based on a command line based input - output are only supported in the existing system. Efforts are being made to support visual programming languages which will require a GUI based IDE. Efforts are also being made to make it compatible with a lightweight browsers. This will then allow the system to be accessed even from handheld devices such as a tablet or phablets.
-
VI. Conclusion
A cloud based LMS was setup to teach programming courses online. The system relied fully on the server side resources with a very light client requirement both in terms of memory and the software. Analysis of the system and the operation profile leads us to conclude that the system is robust enough in terms of resource provisioning and the pedagogy adopted needs to be tweaked to encourage more student participation. Examination of the usage- profile shows that the students were active during the early part of the course, at once after the enrollment. The most accessed learning resource were the text material followed by the self-assessment segment. The pedagogy to be adopted should incentivize an active learner and at the same time should dis-incentivize non-participants too.
Список литературы Teaching Programming Courses Online using Cloud System: Practices and Future Challenges
- E. Aljenaa et.al., TOWARDS AN EFFICIENT E-LEARNING SYSTEM BASED ON CLOUD COMPUTING, Second Kuwait Conf. on E-Services and E-Systems, April 5-7, 2011
- Mohssen M. Alabbadi, Cloud Computing for Education and Learning: Education and Learning as a Service (ELaaS), 14th International Conference on Interactive Collaborative Learning (ICL), 2011.
- Ahmed Al- Hunaiyyan and Hanna Al-Sharrah, A New Instructional Competency Model: Towards an Effective E-learning System and Environment, IJITCS, Volume 5: Issue on September / October, 2012.
- Frank Doelitzscher et.al, Private cloud for collaboration and e-Learning services: from IaaS to SaaS, Springer Computing, 2011.
- Le Xu et.al. "V-Lab: A Cloud-based Virtual Laboratory Platform for Hands-On Networking Courses", ACM, ITiCSE'12, July 3–5, 2012.
- Ying Jing et.al., Architecture of AppScale-Based Network Teaching Platform, ICCC'11, August 13–14, 2011, Wuhan, China
- Bo Dong et. al., An E-Learning Framework Embracing Cloud Computing, 1st International Conference on Cloud Computing - CloudCom 2009.
- Frank Doelitzscher et. al., Private cloud for collaboration and e-Learning services: from IaaS to SaaS, Computing, Vol. 91, Issue 1, pp23 – 42, 2011.
- Sidhant Rajam et. al., E-Learning Computational Cloud (eLC2): Web Services Platform to Enhance Task Collaboration, IEEE - International Conference on Web Intelligence and Intelligent Agent Technology, 2010.
- Mell, Peter, and Tim Grance. The NIST definition of cloud computing, 2011.
- Zhang, S. Zhang, S. Chen, X. & Huo, X. (2010a) 'Cloud Computing Research and Development Trend ', Future Networks, 2010. ICFN '10. Second International Conference on 22-24 Jan. 2010. pp. 93 – 97.
- Lakshmanan Senthilkumar , Provisioning Remote Lab Support for IT Programs in Distance Education, International Journal of Modern Education and Computer Science, 2012, vol. 4, pp. 1-7.
- Ashraf Zia et. al., Identifying Key Challenges in Performance Issues in Cloud Computing, International Journal of Modern Education and Computer Science, 2012, vol. 10, pp. 59-68.
- Yang Z. and Zhu Z., Construction of OSS-Based E- Learning Cloud in China, 2nd International Conference on Education Technology & Computer (ICETC), 2010, pp.398 -401.
- Yang, Z., Study on an Interoperable Cloud Framework for E-Education, International Conference on E -Business & E -Government (ICEE), 2011, pp.1 – 4.
- Virtual Labs http://www.vlab.co.in/index.php
- Internet Users in India Crosses 200 Million Mark http://www.iamai.in/PRelease_detail.aspx?nid=3222&NMonth=11&NYear=2013, Retrieved on October 31, 2014.
- UGC Higher Education at a Glance http: //www.ugc.ac.in/ ugcpdf/208844_HEglance2012.pdf, Retrieved on October 31, 2014.