Chương 1 - Giới thiệu đề tài: chương này trình bày về tổng quan vấn đề cần phải nghiên cứu, trong đó bao gồm động cơ thực hiện đề tài, nhiệm vụ/mục tiêu nghiên cứu, đối tượng và phạm vi nghiên cứu, và các tác động từ kết quả thu được thông qua đề tài. • Chương 2 - Các nghiên cứu liên quan: chương này sẽ tổng hợp các nghiên cứu liên quan, phân tích và tổng hợp các công trình, các kết quả liên quan; được chia thành ba: các phương pháp giảng dạy và đánh giá trong môi trường giáo dục đại học, các nghiên cứu về Luận văn Thạc sĩ Trang 4/62 Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa Khoa Khoa học và Kỹ thuật Máy tính đánh giá độ khó câu hỏi lập trình trong ngân hàng đề, và các nghiên cứu về khai phá dữ liệu giáo dục. • Chương 3 - Khảo sát ngân hàng câu hỏi lập trình và năng lực người học: dựa trên các nghiên cứu về đánh giá độ khó của câu hỏi, chương này sẽ đánh giá ngân hàng bài tập đã triển khai nhiều học kỳ. Từ đó, phát hiện một số nội dung còn thiếu và đánh giá mức độ khó giữa các chủ đề được giảng dạy trong cùng môn học.
• Chương 4 - Thiết kế mô hình giảng dạy và xác định hành vi người học: thông qua việc triển khai mô hình giảng dạy thử nghiệm, chương này thu thập các dữ liệu và tiến hành phân tích dữ liệu nhằm xác định các hành vi học tập của người học cũng như độ hiệu quả của mô hình giảng dạy triển khai. Từ đó, thực hiện đánh giá ý nghĩa của việc phân loại hành vi học tập lập trình. • Chương 5 - Tổng kết: đánh giá lại toàn bộ các kết quả mà đề tài đã thực hiện và đạt được, chỉ ra những khó khăn trong quá trình thực hiện cũng như các giới hạn của kết quả, và từ đó đề xuất những hướng phát triển tiếp theo. Luận văn Thạc sĩ Trang 5/62 Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa Khoa Khoa học và Kỹ thuật Máy tính Chương 2 Kiến thức nền tảng Trong chương này, một số nghiên cứu liên quan được trình bày bao gồm các nội dung liên quan đến việc giảng dạy, đánh giá nội dung học liệu và các kỹ thuật khai phá trên bộ dữ liệu thu thập.
Liên quan đến việc giảng dạy, chương này sẽ giới thiệu về một số phương pháp giảng dạy thực hành lập trình , đặc biệt là phương pháp giảng dạy đảo ngược (flipped classroom); và các phương pháp đánh giá trong quá trình giảng dạy như là đánh giá quá trình học (formative assessment) và đánh giá tổng kết (summative assessment). Đối với việc đánh giá nội dung học liệu, chương này trình bày về một số công thức xác định độ khó của câu hỏi trong ngân hàng đề có sẵn dựa trên dữ liệu thu thập kết quả làm bài của người học trong những học kỳ trước đó. Một số kỹ thuật khai phá trên bộ dữ liệu thu thập được dùng trong khuôn khổ luận văn cũng sẽ được giới thiệu trong chương này.1 Các phương pháp giảng dạy và đánh giá 2.1 Phương pháp giảng dạy thực hành lập trình Dạy lập trình ngày càng quan trọng trong thời đại công nghiệp 4.0, nơi kỹ năng lập trình được đánh giá cao trong nhiều ngành công nghiệp khác nhau. Tuy nhiên, việc học lập trình không phải là một nhiệm vụ dễ dàng [6].
Các nghiên cứu [7, 8] nhấn mạnh sự cần thiết của việc giảng dạy lập trình để phát triển các kỹ năng tư duy, bao gồm lập luận logic, giải quyết vấn đề theo thuật toán và tư duy tính toán. Sau khi nghe giảng lý thuyết trên lớp học, sinh viên được yêu cầu tham gia vào các buổi thực hành lập trình để làm quen với việc lập trình. Trong suốt các buổi thực hành này, sinh viên được luyện tập với các bài tập cơ bản khác nhau để củng cố hiểu biết về các khái niệm lập trình và nâng cao khả năng giải quyết vấn đề của mình. Bên cạnh đó, các giảng viên cũng giao cho học sinh các bài tập lớn để họ áp dụng kiến thức và kỹ năng vào việc xây dựng ứng dụng hoặc hệ thống lớn.
Từ đó, tạo điều kiện cho sinh viên làm việc nhóm và trải nghiệm quy trình phát Luận văn Thạc sĩ Trang 6/62 Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa Khoa Khoa học và Kỹ thuật Máy tính triển phần mềm. Trong đề tài này, học viên và nhóm nghiên cứu đã triển khai các bài tập lập trình thực hành sử dụng hệ thống quản lý học tập Moodle [9]. Moodle là một nền tảng mã nguồn mở cho phép các cơ sở giáo dục cung cấp khóa học và quản lý hoạt động học trực tuyến. Bằng cách sử dụng Moodle, giảng viên có thể tạo ra các khóa học trực tuyến bổ sung cho việc giảng dạy ngoại tuyến bằng cách đăng tải tài liệu học tập, video đã được ghi trước, bài kiểm tra và nhiều hơn nữa.
Các bài kiểm tra triển khai trên hệ thống Moodle chủ yếu bao gồm câu hỏi trắc nghiệm, câu trả lời ngắn và ánh xạ. Để cung cấp một môi trường học lập trình tập trung vào việc thực hành lập trình, nghiên cứu này sử dụng plugin CodeRunner [10] để triển khai các bài tập lập trình trong hệ thống Moodle.2 Phương pháp lớp học đảo ngược Theo định nghĩa, Flipped Classroom là một mô hình giáo dục trong đó học viên tự học nội dung mới độc lập bên ngoài lớp và sử dụng thời gian lớp học để tham gia vào các hoạt động tương tác, như thảo luận, giải quyết vấn đề và các bài tập thực hành [11]. Flipped classroom là một mô hình phân phối đảo ngược, trong đó các yếu tố bài giảng truyền thống và bài tập về nhà được đảo ngược. Trước buổi học, học viên được yêu cầu xem trước hướng dẫn, xem các bài giảng video ngắn, hoàn thành các bài kiểm tra và tham gia vào các cuộc thảo luận trên diễn đàn [12].
Trong khi đó, thời gian lớp học được dành cho các bài tập, dự án, điều tra sâu về những bài giảng đã xem trước và tham gia vào các hoạt động thực tế, trong khi giảng viên đánh giá việc áp dụng kiến thức của học viên. Hình Phương pháp này mang lại sự linh hoạt và tự điều chỉnh cao hơn cho sinh viên. Người học có thể học theo tốc độ của mình và tự quản lý quá trình học tập. Ngoài ra, mô hình lớp học đảo ngược đảm bảo việc tiếp cận tốt hơn đến tài liệu học tập, cung cấp cho sinh viên một loạt tài liệu hỗ trợ học tập.
Một lợi thế khác là tăng cường sự tương tác và tham gia trong các buổi học trực tiếp. Bằng cách giảng dạy kiến thức cơ bản qua các hoạt động trước lớp, thời gian lớp học có thể được dành cho những hoạt động học tập sôi nổi và sâu sắc hơn. Điều này thúc đẩy các cuộc thảo luận có ý nghĩa, giải quyết vấn đề kết nối sinh viên và tạo ra một môi trường học tập sôi động.3 Các phương pháp đánh giá Đánh giá kết quả học tập của người học là một phần không thể thiếu trong quá trình giảng dạy nói chung và giảng dạy đại học nói riêng. Các phương pháp đánh giá cần được tiến hành trong quá trình học tập để đánh giá kết quả của kiến thức đã được nắm bắt sau một thời gian học.
Các đánh giá về kiến thức đã nắm bắt, còn được gọi là đánh giá tổng kết, thường được tổ chức vào vào giữa và cuối học kỳ. Nếu các đánh giá này được thiết kế và phát triển tốt thì sẽ hỗ Luận văn Thạc sĩ Trang 7/62 Đại học Quốc gia TP.HCM - Trường Đại Học Bách Khoa Khoa Khoa học và Kỹ thuật Máy tính trợ quá trình học tập của sinh viên thông qua việc trở nên dễ tiếp cận hơn và cũng đầy thách thức hơn [13]. Các nghiên cứu trước đây chia đánh giá thành hai loại: đánh giá quá trình (formative assessment) và đánh giá tổng kết (summative assessment).1 Đánh giá quá trình Đánh giá quá trình là một phương pháp trong đó giảng viên thu thập các minh chứng về quá trình học tập của sinh viên [14], thường được gọi là đánh giá trên lớp hoặc đánh giá của giảng viên [15], sau đó điều chỉnh phần hướng dẫn hoặc phản hồi tiếp theo dựa trên minh chứng đã có để đáp ứng nhu cầu học tập của sinh viên. Đánh giá quá trình thường được xem là đánh giá cho quá trình học tập [16] vì mục đích của nó là cải thiện việc giảng dạy và học tập cũng như phát hiện các khó khăn mà sinh viên có thể gặp phải trong quá trình học tập [17].2 Đánh giá tổng kết Đánh giá tổng kết, ngược lại với đánh giá quá trình, được định nghĩa là các đánh giá tích lũy nhằm ghi lại những gì sinh viên đã học được, hoặc chất lượng của việc học tập, và đánh giá thành tích học tập của sinh viên với một số tiêu chuẩn nhất định [13].
Do đó, các đánh giá tổng kết thường được định nghĩa là đánh giá dựa trên chuẩn đầu ra, được sử dụng để đưa ra quyết định về việc xếp lớp hoặc thăng hạng [15, 17]. Hệ quả là, trong một khóa học thông thường, giảng viên sẽ giao các bài kiểm tra ngắn để thu thập kiến thức và phản hồi từ sinh viên. Dựa trên các kết quả này, các bài kiểm tra định kỳ như giữa kỳ hoặc cuối kỳ được thiết kế bằng việc quan sát quá trình học tập đang diễn ra và chuẩn đầu ra môn học. Nói cách khác, sự tương ứng giữa kết quả đánh giá quá trình và đánh giá tổng kết của sinh viên được mong đợi.
Các nghiên cứu cho thấy rằng việc đánh giá có thể không phản ánh mức độ tiếp thu của người học đối với môn học được giảng dạy [18]. Hơn nữa, việc cân bằng giữa các đánh giá quá trình và đánh giá tổng kết được xem là một vấn đề khó, ảnh hưởng đến chất lượng đánh giá và quá trình học tập của sinh viên [15].2 Đánh giá độ khó của câu hỏi trong ngân hàng câu hỏi Điểm trung bình là một yếu tố thông thường được sử dụng để đánh giá độ khó của câu hỏi. Ví dụ, tác giả Simon và cộng sự chỉ sử dụng điểm trung bình của học sinh để đo độ khó của các câu hỏi trong kỳ thi lập trình [19]. Ngoài ra, tỷ lệ giữa điểm số của học sinh và số lượng học sinh được đề xuất bởi nhóm nghiên cứu của Mahatme để phân loại câu hỏi trong nghiên cứu môi trường học trực tuyến [20].
Các yếu tố khác cũng được xem xét để mô tả độ khó của câu hỏi.