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.
12 trang |
Chia sẻ: Thục Anh | Ngày: 16/05/2022 | Lượt xem: 377 | Lượt tải: 0
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:
- a_case_study_of_applying_scrum_in_teaching_computer_programm.pdf