Teaching Software Development for the Cloud: An Experience Report

Fernando Antonio Mota Trinta, Emanuele Santo. In SBES'17 Proceedings of the 31st Brazilian Symposium on Software Engineering, Fortaleza, pp. 338-347.

/images/thumbs/sbes_17_fig.png

Abstract

Cloud computing is an increasingly popular IT model for resource provisioning due to the ease of purchasing and managing these resources, as well as cost optimization by delegating server and application maintenance to third-party companies. Cloud computing brings benefits for the development of applications and systems, but it also poses new challenges to be faced by those who want to take advantage of cloud capabilities. These challenges include issues such as choosing which type of provisioning model is most appropriate for a particular application, or even if the migration of an application to the cloud itself is feasible or not. Since 2012, the Federal University of CearĂ¡ has been offering a course that addresses the challenges of developing software for the cloud. This article presents an experience report after offering this course five times over the last five years. We conducted a survey with more than 50 students who took the course. Their feedback was important to gather their impressions about the relevance of the theme for software engineering. At last, we also discuss challenges in teaching this theme, as well as solutions we have used to overcome them.

Full paper

BibTex