A case study of applying scrum in teaching computer programming

Context: Teaching and learning computer programming have

introduced many challenges to both lecturers and students in Computer Science.

Objective: This paper presents a new computer programming teaching method.

Method: Based on Scrum software development method, students in a computer

programming course are divided into multiple teams. Scrum emphasizes effective

collaboration and communication between students within their team to complete

a list of required programming exercises. The students are encouraged to find out

and share their solution with the team in order to gain more experience. Results:

A case study that describes in detail an experiment in a first-year computer

programming course is conducted to verify the benefits of the proposed method in

terms of the improvement in students’ learning performance and attitude toward

learning computer programming and to provide lessons learned.

pdf12 trang | Chia sẻ: Thục Anh | Ngày: 16/05/2022 | Lượt xem: 377 | Lượt tải: 0download
Nội dung tài liệu A case study of applying scrum in teaching computer programming, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
s was beneficial (questions 1). A 45.71% of the students thought that “highly” regular interactions with friends is needed while the same number of the students said that a “very high” level of that is necessary. Similarly, a 57.14% thought that it needs a “high” level of regular interactions with the lecturers (question 2). Only a 34.29% felt that a “very high” level of regular Phần 2. cÔNG NGHỆ VÀ GIÁO Dục 233 interactions with the lecturer is needed. This indicates that the students have been supported well by their team so they may not need very regular interactions with the lecturers. Table 3: Results of the questionnaire (questions answered by Class 2: 40 students) No need Low Medium High Very high Question 1: What level is needed for regular interactions with friends to discuss how to solve the exercises? 0% 0% 8.57% 45.71% 45.71% Question 2: What level is needed for regular interactions with the lecturer to discuss how to solve the exercises? 0% 0% 8.57% 57.14% 34.29% Question 3: What level is needed for providing a list of the required exercises in each lab session? 0% 2.86% 17.14% 54.29% 25.71% Question 4: What level is needed for understanding all the necessary programming theory before starting to work in the lab session? 0% 0% 11.43% 34.29% 54.30% A 54.29% believed that a “high” level is needed for providing a list of the required exercises in each lab session while only 25.71% said that this list is “very highly” needed (question 3). The diversity in students’ learning ability may be a challenge for us to choose a suitable list of programming exercises for the teams. For question 4, a 54.30% agreed that a “high” level is needed for understanding all the necessary programming theory before starting to write computer programs. 5. CONCLUSION In this paper, a Scrum-based teaching method for teaching computer programming is proposed. It aims at being applied for teaching the lab sessions rather than the lecture sessions. The experimental results showed that on average, the Scrum-based teaching method can improve students’ programming skills by nearly 3 percentage units when compared to the conventional teaching method. While no statistically significant differences in term of the students’ programming skills between these two methods, some other benefits are achieved. The proposed teaching method can create a teaching and learning environment that increases preparation, active, self and collaborative learning of the students. Kỷ yếu Hội tHảo quốc tế CáC vấn đề mới trong khoa họC giáo dụC: tiếp Cận liên ngành và xuyên ngành234 It offers the lecturer a mean to manage, interact and grasp the students’ learning performance in achieving both technical and soft skills of their learning outcomes. Especially, s/he can make immediate responds based on the students’ learning performance during the semester. Although the proposed teaching method benefited the students and the lecturer. There are some limitations. First, the lecturer needs to spend time to play a role of a customer during the lab sessions and to review the students’ result reports. Second, the lecturer has to respond to the students’ learning performance by re- scoping teaching content or assisting individuals. For future work, to save time of the lecturer, we plan to employ a Web-based application that is able to allow the lecturer to manage the programming exercises and the teams, to collect and analysis the result reports. We also plan to apply the proposed teaching method for other courses, e.g., C# Programming, to further validate the proposed teaching method. 6. REFERENCES 1. Kofi Adu-manu Sarpong, John Kingsley Arthur and Prince Yaw Owusu Amoako. Causes of Failure of Students in Computer Programming Courses: The Teacher Learner Perspective. International Journal of Computer Applications 77(12):27- 32, September 2013. 2. Bassey Isong. A Methodology for Teaching Computer Programming: first year students’ perspective. I.J. Modern Education and Computer Science, 2014, 9, 15- 21 Published Online September 2014 in MECS ( 3. Mohorovičić, Sanja & Strčić, Vedran. (2019). An Overview of Computer Programming Teaching Methods. Proceedings of the 22nd Central European Conference on Information and Intelligent Systems. 2011. 4. Nuutila E, Torma S, Malmi L. PBL and Computer Programming - The Seven Steps Method with Adaptations. Computer Science Education, Vol. 15, Issue 2, 2005, pp. 123-142. 5. Wu Y. Applying a hybrid problem-based learning method to the teaching of computer programming. The China Papers, Issue 6, 2006, pp. 63-66. 6. Merrick K E: An Empirical Evaluation of Puzzle-Based Learning as an Interest Approach for Teaching Introductory Computer Science, IEEE Transactions on Education, Vol. 53, No. 4, 2010, pp. 677-680. Phần 2. cÔNG NGHỆ VÀ GIÁO Dục 235 7. Yoneyama Y, Matsushita K, Mackin K J, Ohshiro M, Yamasaki K, Nunohiro E. Puzzle Based Programming Learning Support System with Learning History Management. Proceedings of the 16th International Conference on Computers in Education, 2008, pp. 623-627. 8. Smith G, Fidge C. On the efficacy of prerecorded lectures for teaching introductory programming. Proceedings of the tenth conference on Australasian computing education, Vol. 78, 2008, pp. 129-136. 9. Boutell, M., & Clifton, C. (2010). SPLICE: Self-Paced Learning in an Inverted Classroom Environment. Terre Haute, IN. 10. Sung K, Hillyard C, Angotti R L, Panitz M W, Goldstein D S, Nordlinger J. Game-Themed Programming Assignment Modules: A Pathway for Gradual Integration of Gaming Context Into Existing Introductory Programming Courses. IEEE Transactions on Education, Vol PP, Issue 99, 2010, pp. 1-12. 11. Tesfaye Bayu Bati et al. A blended learning approach for teaching computer programming: design for large classes in Sub-Saharan Africa, Computer Science Education, 24:1, 2014, pp. 71-99. 12. Iwona Miliszewska and Grace Tan, Befriending Computer Programming. A Proposed Approach to Teaching Introductory Programming. Issues in Informing Science and Information Technology Volume 4, 2007. 13. Metodija Jancheski. Improving Teaching and Learning Computer Programming in Schools through Educational Software, Olympiads in Informatics, 2017, Vol. 11, 55–75. 14. Al-Zewairi, M., Biltawi, M., Etaiwi, W., & Shaout, A. Agile software development methodologies: survey of surveys. Journal of Computer and Communications, 5(05), 74, 2017. 15. Manifesto for Agile Software Development, https://agilemanifesto.org. 16. Stamouli, I., Doyle, E., & Huggard, M. Establishing structured support for programming students. Proceedings of the 34 th ASEE/IEEE Frontiers in Education Conference, Savannah, GA, October 2004. 17. Yasuyo KOFUNE. Empirical Studies of Agile Software Development to Learn Programming Skills. Systemics, Cybernetics and Informatics, Volume 12, number 3, 2014. 18. Linden, T. Scrum-Based Learning Environment. Fostering Self-Regulated Learning. Journal of Information Systems Education, 29(2), 65-74, 2018. Kỷ yếu Hội tHảo quốc tế CáC vấn đề mới trong khoa họC giáo dụC: tiếp Cận liên ngành và xuyên ngành236 MỘT NGHIÊN CỨU VỀ VIỆC ÁP DỤNG SCRUM TRONG GIẢNG DẠY LẬP TRÌNH MÁY TÍNH Tóm tắt: Bối cảnh: Dạy và học lập trình máy tính đang tạo ra nhiều thách thức cho cả người dạy và sinh viên Khoa học Máy tính. Mục tiêu: Bài báo này trình bày một phương pháp mới để giảng dạy lập trình máy tính. Phương pháp: Dựa trên phương pháp phát triển phần mềm Scrum, các sinh viên trong một khóa học lập trình máy tính được chia thành nhiều nhóm. Scrum nhấn mạnh sự hợp tác và giao tiếp giữa các sinh viên trong nhóm của họ để hoàn thành một danh sách các bài tập lập trình được yêu cầu. Các sinh viên được khuyến khích để tìm ra và chia sẻ giải pháp của họ với nhóm để có thêm kinh nghiệm. Kết quả: Một trường hợp nghiên cứu mô tả chi tiết một thí nghiệm được thực hiện trong một lớp học lập trình máy tính của sinh viên năm thứ nhất để chứng minh lợi ích của phương pháp đã được đề xuất (về sự cải thiện kết quả và thái độ học tập) và để rút ra các bài học kinh nghiệm từ nghiên cứu này. Từ khóa: Lập trình, Môi trường hợp tác, Scrum, Dạy học, Sinh viên.

Các file đính kèm theo tài liệu này:

  • pdfa_case_study_of_applying_scrum_in_teaching_computer_programm.pdf
Tài liệu liên quan