The Proposed Methods to Improve Teaching of Software Engineering

Full Text (PDF, 522KB), PP.13-21

Views: 0 Downloads: 0


Afra A. Alabbadi 1,* Rizwan J. Qureshi 1

1. Faculty of Computing and Information Technology, King Abdulaziz University, Jeddah, Saudi Arabia

* Corresponding author.


Received: 12 Mar. 2016 / Revised: 11 Apr. 2016 / Accepted: 26 May 2016 / Published: 8 Jul. 2016

Index Terms

Software engineering, education, cooperative mastery, social media, industry experts, methods of teaching


The use of software is an essential part of our modern lives. Hence, this increases the importance of studying Software Engineering (SE) course. In general, the software engineering graduates usually lack the necessary skills, expertise, abilities, and sufficient knowledge when beginning their careers in the software industry. Due to that, a majority of students find it difficult to find relevant jobs. This paper proposes novel methods to teach SE course to improve the teaching and enhance knowledge and skills of students. It is proposed to include: identifying the course learning objectives (CLOs) and the required skills of the SE course, combining cooperative learning and mastery learning strategies to teaching software engineering, using social media to teach SE course, and establish the OSES in an educational institution. The goal of this paper is to improve the quality of SE teaching and facilitate students learning to prepare them for their future careers. Qualitative technique is used as a research design to evaluate the proposed solution. The results indicate that this proposal is supported by the majority of professionals working in the academia and industry.

Cite This Paper

Afra A. Alabbadi, Rizwan J. Qureshi, "The Proposed Methods to Improve Teaching of Software Engineering", International Journal of Modern Education and Computer Science(IJMECS), Vol.8, No.7, pp.13-21, 2016. DOI:10.5815/ijmecs.2016.07.02


[1]Reducing the Gap between Software Engineering Curricula and Software Industry in Jordan - ProQuest.‖ Available: [Accessed: 14-Apr-2016].
[2]M. B. Blake, ―A student-enacted simulation approach to software engineering education,‖ IEEE Trans. Educ., vol. 46, no. 1, pp. 124–132, Feb. 2003.
[3]D. Dahiya, ―Teaching Software Engineering: A Practical Approach,‖ SIGSOFT Softw Eng Notes, vol. 35, no. 2, pp. 1–5, Mar. 2010.
[4]L. Zhang and A. Hazeyama, ―A Collaborative Learning Support System for Software Engineering Education,‖ in Proc. 6th Conference on Collaboration Technologies (Collabtech2012), 2012, pp. 134–137.
[5]A Collaborative Approach to Software Engineering Education - ProQuest.‖ [Online]. Available: [Accessed: 14-Apr-2016].
[6]P. Desai and G. H. Joshi, ―Activity based teaching learning in software engineering - An experience,‖ 2012, pp. 1–6.
[7]E. Choi, ―Applying Inverted Classroom to Software Engineering Education,‖ Int. J. E-Educ. E-Bus. E-Manag. E-Learn., 2013.
[8]J. Ding, ―A framework for global collaboration in teaching software engineering,‖ in Collaborative Teaching of Globally Distributed Software Development (CTGDSD), 2013 3rd International Workshop on, 2013, pp. 30–34.
[9]K. Claypool and M. Claypool, ―Teaching software engineering through game design,‖ ACM SIGCSE Bull., vol. 37, no. 3, pp. 123–127, 2005.
[10]O. Shata, ―Teaching Software Engineering: A Critical Path Method,‖ Int. J. Comput. Commun. Eng., vol. 1, no. 2, p. 151, 2012.
[11]E. S. Grant and W. I. Helps, ―Enhancing Teaching & Learning of Software Engineering in an International Environment,‖ GSTF J. Comput. JoC, vol. 2, no. 1, 2014.
[12]T. Xie, N. Tillmann, and J. de Halleux, ―Educational Software Engineering: Where Software Engineering, Education, and Gaming Meet,‖ in Proceedings of the 3rd International Workshop on Games and Software Engineering: Engineering Computer Games to Enable Positive, Progressive Change, Piscataway, NJ, USA, 2013, pp. 36–39.
[13]T. Xiao-jun1, L. Ying1, and L. Na1, ―Exploration and reformation of teaching methods for "Software Engineering,‖ Exploration and reformation of teaching methods for “Software Engineering” Course, International Conference on Advanced Information and Communication Technology for Education), p. 4, 2014.
[14]M. Sepahkar, F. Hendessi, and A. Nabiollahi, ―Defining Project Based Learning steps and evaluation method for software engineering students,‖ Int. J. Comput. Sci. Inf. Secur., vol. 13, no. 10, p. 48, 2015.
[15]A. Knutas, J. Ikonen, D. Maggiorini, L. Ripamonti, and J. Porras, ―Creating software engineering student interaction profiles for discovering gamification approaches to improve collaboration,‖ 2014, pp. 378–385.
[16]K. Tian, K. Cooper, and K. Zhang, ―Improving Software Engineering Education through Enhanced Practical Experiences,‖ 2011, pp. 292–297.
[17]A. Dagnino, ―Increasing the effectiveness of teaching software engineering: A university and industry partnership,‖ in Software Engineering Education and Training (CSEE&T), 2014 IEEE 27th Conference on, 2014, pp. 49–54.
[18]K. Berkling and C. Thomas, ―Gamification of a Software Engineering course and a detailed analysis of the factors that lead to it’s failure,‖ in Interactive Collaborative Learning (ICL), 2013 International Conference on, 2013, pp. 525–530.
[19]M.-A. Storey, C. Treude, A. van Deursen, and L.-T. Cheng, ―The impact of social media on software engineering practices and tools,‖ in Proceedings of the FSE/SDP workshop on Future of software engineering research, 2010, pp. 359–364.