Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
1,42 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC HOA SEN KHOA KHOA HỌC VÀ CÔNG NGHỆ BÁO CÁO NGHIÊN CỨU KHOA HỌC LEAS – MÔ HÌNH CHẤM ĐIỂM TỰ ĐỘNG MÃ CODE LẬP TRÌNH C VÀ C++ SVTH: Lưu Minh Phúc Lớp: QL141 Khoa: Khoa học Công nghệ Ngành học: Công nghệ Thông tin Năm thứ: Người hướng dẫn: Ths Nguyễn Văn Sơn Thành phố Hồ Chí Minh, Tháng 6/2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC HOA SEN KHOA KHOA HỌC VÀ CÔNG NGHỆ BÁO CÁO NGHIÊN CỨU KHOA HỌC LEAS – MÔ HÌNH CHẤM ĐIỂM TỰ ĐỘNG MÃ CODE LẬP TRÌNH C VÀ C++ SVTH: Lưu Minh Phúc Lớp: QL141 Khoa: Khoa học Công nghệ Ngành học: Công nghệ Thông tin Năm thứ: Người hướng dẫn: Ths Nguyễn Văn Sơn Thành phố Hồ Chí Minh, Tháng 6/2015 Trang TRÍCH YẾU Hiện nay, ngành Công nghệ thông tin giới phát triển nhanh, với nhu cầu đào tạo lớp Công nghệ thông tin ngày lớn Với tính đặc thù môn lập trình ngành Công nghệ thông tin, việc giảng viên đưa tập dành cho học sinh điều vô cần thiết Tuy nhiên, với việc chấm thủ công, để thầy/cô vừa chấm cho tất sinh viên, vừa có thời gian giảng dạy nghiên cứu điều khó khăn Đây nguyên nhân tiến hành tự động hóa trình chấm điểm việc giảng dạy môn lập trình Ứng dụng chấm điểm tự động cài đặt dễ dàng máy tính giảng viên Với khả tự động hóa thao tác cho điểm, trình chấm điểm thực hoàn toàn khách quan test xây dựng từ trước giảng viên tùy theo yêu cầu tập, không bị ảnh hưởng ý kiến chủ quan hay tâm lý người chấm Trong trường hợp sinh viên muốn tự kiểm tra lực cá nhân, việc tự động chấm điểm theo test giảng viên thực tự động, nhằm đưa kết khách quan cho sinh viên tự đánh giá lực học tập Với khả mà ứng dụng chấm điểm tự động mang lại, hy vọng việc giảng dạy môn lập trình trở nên nhẹ nhàng cho giảng viên, phía sinh viên tự đánh giá lực thân cách trung thực Trang MỤC LỤC TRÍCH YẾU MỤC LỤC Chương MỞ ĐẦU 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 1.3.1 Đối tượng nghiên cứu 1.3.2 Phạm vi nghiên cứu Chương TÌNH HÌNH NGHIÊN CỨU 2.1 THEMIS 2.2 MÔ HÌNH CHẤM ĐIỂM TỰ ĐỘNG – LEAS Chương TỔNG QUAN VỀ LEAS 3.1 Giao diện chức 3.1.1 Màn hình 3.1.2 Cấu hình đề thi 13 3.1.3 Tủy chỉnh Testcase 14 3.1.4 Cấu hình thời gian điểm test 15 3.2 Mô hình xử lý 16 3.3 Các hạn chế 17 Chương CÁCH RA ĐỀ VÀ CHẤM ĐIỂM 18 4.1 Cách đề 18 4.2 Cách chấm điểm 20 Chương KẾT LUẬN 21 Trang Chương MỞ ĐẦU 1.1 ĐẶT VẤN ĐỀ Để nâng cao chất lượng dạy học môn lập trình, đặc biệt môn học lập trình năm thứ “nhập môn lập trình”, “cấu trúc liệu”, “lập trình hướng đối tượng”,… trình học sinh viên cần phải làm nhiều tập, kiểm tra để đánh lực học tập cách liên tục Với việc chấm điểm tay thủ công nay, giảng viên nhiều thời gian khó đáp ứng khối lượng tập thi sinh viên Nhằm hỗ trợ công tác chấm điểm với số lượng lớn tập, kiểm tra thi,… cách tự động, nhanh chóng hiệu quả, nhóm lựa chọn đề tài để nghiên cứu phát triển với hy vọng tạo hướng công tác đánh giá môn học lập trình 1.2 MỤC TIÊU Nghiên cứu, phát triển hệ thống chấm điểm tự động môn lập trình nhằm nâng cao chất lượng dạy học sinh viên ngành công nghệ thông tin Dò tìm gian lận, đề cao tính trung thực làm sinh viên 1.3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 1.3.1 Đối tượng nghiên cứu Nguồn tập, kiểm tra, thi sinh viên test giảng viên, mô hình chấm điểm tự động 1.3.2 Phạm vi nghiên cứu • Xây dựng mô hình chấm điểm tự động cho môn học lập trình đại học Hoa Sen • Quản lý điểm môn học lập trình thông qua trình tự làm tập nhà sinh viên Trang Chương TÌNH HÌNH NGHIÊN CỨU 2.1 THEMIS Hiện nay, TS Lê Minh Hoàng Đỗ Đức Đông có chương trình chấm điểm tự động mang tên Themis “Themis phần mềm chấm tự động phát triển theo yêu cầu Cục Khảo thí Kiểm định chất lượng giáo dục, Bộ Giáo dục Đào tạo Sản phẩm thiết kế phục vụ kỳ thi học sinh giỏi Quốc gia hàng năm, hoàn toàn sử dụng tất kỳ thi kiểm tra tin học dùng chế chấm điểm tự động test.” Tuy nhiên, khuyết điểm việc chấm “robot” khả xác không cao Chỉ cần đáp số so với test cho đúng, ngược lại đáp số nhiên có sai phạm nhỏ ví dụ dư dấu cách hay thừa số chương trình đánh giá không Lỗi nghe đơn giản, nhiên việc sinh viên Trích từ phần giới thiệu chương trình Themis Trang tìm hiểu môn Lập trình, không nên khắt khe việc mắc sai phạm nhỏ Themis hỗ trợ việc chấm điểm cho nhiều loại ngôn ngữ lập trình, điều dẫn đến việc dung lượng Themis phải tỉ lệ theo Trong thực tế rõ ràng nhiều người dùng không dùng hết chức lại chẳng có cách để giảm dung lượng thừa Hệ thống không hỗ trợ quản lý điểm sinh viên theo giời gian, mà dùng để kiểm tra chấm theo lần Đây hạn chế lớn việc theo dõi tiến trình học tập sinh viên trường Vì Themis thiết kế để dùng cho thi tin học, nên việc sử dụng môi trường giảng dạy có nhiều mặt không thuận lợi cách sử dụng, cấu trúc đề thi, cách chấm Có cấu hình mà người dùng thay đổi được, coi mặc định Themis, nhiên bất biến mà gây khó khăn người sử dụng 2.2 MÔ HÌNH CHẤM ĐIỂM TỰ ĐỘNG – LEAS Nhóm lấy tên hệ thống LEAS Trong đó, L (Lotus), E (Evaluation), A (Auto), S (System) Từ đây, dùng từ LEAS thay cho hệ thống chấm điểm tự động Để áp dụng nghiên cứu vào các môn lập trình Đại Học Hoa Sen, tìm hiểu thiết kế ứng dụng với mong muốn giảng viên sinh viên Không phủ nhận cách thức hoạt động LEAS có đôi nét tương đồng với Themis, nhiên đơn giản hóa cho người dùng cách triệt để Điểm khác biệt lớn có lẽ dịch LEAS so với Themis Trong Themis sử dụng G++ sử dụng Visual Studio cho việc dịch làm sinh viên Điều có vài lợi định sau: • LEAS nhẹ, mang G++ kèm theo chương trình • Tránh sai sót khai báo thư viện, máy thực hành chạy biên dịch lại báo lỗi khác thư viện hai bên Trang Hiện hầu hết tất người sử dụng Visual Studio cho việc dạy học lập trình C/C++ Nên việc sử dụng Visual Studio làm dịch lựa chọn hoàn toàn xác cho công việc Việc sử dụng đề thi làm theo cấu trúc tập cho sinh viên làm quen với việc làm theo khuôn mẫu đề thi, để thích ứng dễ dàng với đề thi Olympic hay đề thi tuyển chọn Trang Chương TỔNG QUAN VỀ LEAS 3.1 Giao diện chức 3.1.1 Màn hình Đây giao diện sử dụng LEAS LEAS có vùng làm việc sau: (1): Các chức LEAS (2): Vùng cấu hình đề thi, test làm sinh viên (3): Vùng kết sau cấu hình 3.1.1.1 Chức LEAS (1): Trở trang Chức đưa người dùng trở lại trang dù đâu (2): Bật/Tắt thông báo xử lý xong kiện Trang (3): Hướng dẫn sử dụng, tùy vào trang hành để có hướng dẫn khác (4): Thu nhỏ LEAS xuống Taskbar (5): Thoát LEAS 3.1.1.2 Cấu hình *: Các thông báo “Hợp lệ”, “5 câu hỏi, sinh viên.” Sẽ đưa dựa thư mục vừa chọn Người dùng xem tổng quan liệu dựa thông báo (1): Thay đổi đường dẫn tới thư mục cài Visual Studio Nếu đường dẫn không trỏ tới thư mục Visual Studio, thông báo “Không hợp lệ” xuất Đường dẫn mặc định Visual Studio 2013 là: “C:\Program Files (x86)\Microsoft Visual Studio 12.0” (2): Thay đổi thư mục chứa liệu Trong thư mục chứa làm sinh viên thư mục Testcase (cố định) để chứa test Xin xem phần 3.1.3 để hiểu rõ thư mục (3): Làm lại liệu có thư mục chứa liệu Chức có tác dụng người dùng muốn cập nhật thêm làm sinh viên hay thêm/loại bỏ câu hỏi Thông thường, liệu cấu trúc đề thi cũ lưu file PAS_Data.sic (cố định) nằm thư mục Nếu LEAS tìm thấy file PAS_Data.sic, có thông báo sau xuất hiện: Trang 10 Nếu người dùng muốn tiếp tục sử dụng liệu cũ đề thi, cần nhấn nút đồng ý để tải liệu có sẵn Hoặc nhấn để hủy Trường hợp liệu có sẵn không tồn đề thi LEAS bỏ qua đề thi Và trường hợp tồn đề thi liệu thêm đề thi vào bình thường Dữ liệu phụ thuộc vào thư mục chứa thư mục chứa liệu thư mục Testcase (4): Khóa Khi người dùng chọn xong thư mục chứa liệu, LEAS tự động quét thư mục để cập nhật liệu đề thi sinh viên Lúc này, người dùng cần khóa lựa chọn bắt đầu cấu hình đề thi làm sinh viên Người dùng chọn thư mục chứa liệu Người dùng khóa xác nhận dùng thư mục Lúc bắt đầu cấu hình đề thi làm sinh viên (5): Trợ giúp, bảng hướng dẫn sử dụng phần cấu hình (6): Cấu hình đề thi, tên thư mục thư mục Testcase Xin xem mục 3.1.2 để hiểu rõ (7): Cấu hình test cho tập Xin xem mục *** để hiểu rõ Trang 11 3.1.1.3 Kết (1): Bắt đầu trình dịch làm sinh viên thành file exe Sau trình này, giảng viên xem Thống kê (2) để biết sinh tổng quan làm sinh viên trước chấm điểm (2): Hiện bảng thông tin làm sinh viên Giao diện bảng thống kê thông tin làm sinh viên (3): Bắt đầu trình chấm điểm sau dịch làm sinh viên Giảng viên cân nhắc việc chấm điểm sau xem thống kê sơ làm sinh viên Trang 12 3.1.2 Cấu hình đề thi Giao diện cấu hình đề thi Nhìn chung, đề thi bao gồm phần: • File: Đây file CPP mà sinh viên nộp cho giảng viên để chấm • Input: Đây file đầu vào để nạp liệu cho làm • Output: Đây file mà làm xuất sau xử lý thông tin từ file Input (1): Quay lại trang (2): Danh sách làm đề thi Được thu thập dựa tên thư mục nằm thư mục Testcase (3): Chỉnh sửa thông số làm chọn vùng (2) (4): Lưu lại thông tin đề thi vào file PAS_Data.sic thư mục chứa liệu (5): Tiếp tục chỉnh sửa Test Trang 13 3.1.3 Tủy chỉnh Testcase Giao diện tùy chỉnh testcase Nhìn chung, test bao gồm thông tin: • File: Đây file CPP làm tên test • SL: Số lượng test dùng để kiểm tra làm • Input: Định dạng tên file test đầu vào Sẽ chép vào làm liệu cho làm sinh viên • Output: Định dạng tên file test đầu ra, sử dụng để so sánh với kết từ làm sinh viên (1): Quay lại trang (2): Danh sách làm test tương ứng Các file test nằm thư mục thư mục Testcase (3): Chỉnh sửa thông số test chọn vùng (2) (4): Chỉnh sửa chi tiết thời gian số điểm test riêng Xin xem mục 3.1.4 để hiểu rõ Trang 14 (5): Lưu lại thông tin đề thi vào file PAS_Data.sic thư mục chứa liệu (6): Tiếp tục chỉnh sửa đề thi 3.1.4 Cấu hình thời gian điểm test Giao diện tùy chỉnh thời gian số điểm Nhìn chung, test bao gồm thông tin: • Time: Thời gian xử lý tối đa cho phép Khi vượt thời gian mà chưa có output, test tính sai Nếu giá trị có nghĩa không giới hạn thời gian Giảng viên cần phải cẩn thận có khả gặp phải bị tình trạng “vòng lặp vô hạn” • Point: Số điểm dành cho test Hiện LEAS dựa vào số điểm để tính điểm, nên giảng viên phải cân nhắc số điểm test cho phù hợp với tổng số điểm làm số lượng test (1): Quay lại trang Tùy chỉnh Testcase (2): Danh sách test Trang 15 (3): Chỉnh sửa thông số test chọn vùng (2) Đồng tất cả: Khi người dùng sử dụng chức này, LEAS tự động thay đổi giá trị tất test thành giá trị hành Chú ý: Chương trình không tự động lưu liệu vào file PAS_Data.sic, người dùng muốn lưu phải quay trở trang “Tùy chỉnh Testcase” lưu lại 3.2 Mô hình xử lý Khi người dùng chọn thư mục Visual Studio, LEAS kiểm tra hai file “VsDevCmd.bat” “vcvarsall.bat”, cài Visual Studio có hai file trên, nên cách để xác thực Visual Studio Khi người dùng chọn thư mục chứa liệu, LEAS quét thư mục dựa cấu trúc quy định Chương – Cách đề chấm điểm Sau tùy chỉnh xong, người dùng dùng chức Compile để dịch tất làm sinh viên xem thống kê để biết sinh viên chưa làm bài, làm lỗi, nộp thiếu trạng thái liệt kê đầy đủ Việc dịch làm sinh viên nhanh chóng Khi đồng ý với thống kê trên, người dùng tiến hành trình chấm điểm xem lại thông tin sinh viên với kết Toàn trình nhanh gấp nhiều lần so với việc chấm thủ công Quá trình xử lý tập liệu đầu vào để xuất kết kiểm tra thể hình Kết thi sinh viên xuất dạng Excel bao gồm MSSV số điểm tổng sinh viên Các liệu lưu lại để tiến hành so sánh với đợt chấm trước, qua thể tiến sinh viên qua trình rèn luyện học tập môn lập trình trường Trang 16 Mô hình xử lý 3.3 Các hạn chế • Cần cài sẵn Visual Studio để sử dụng LEAS • Sử dụng CMD để dịch làm, nên người dùng mở cửa sổ CMD khác lúc chạy chương trình • Không hiển thị tiếng việt toàn Trang 17 Chương CÁCH RA ĐỀ VÀ CHẤM ĐIỂM 4.1 Cách đề Một đề thi cần chuẩn bị hai thư mục: • Thư mục chứa thi với tên thư mục Testcase • Thư mục chứa làm (tạm gọi thư mục Contestants) Thư mục chứa thi gồm nhiều thư mục con, thư mục thi với cấu trúc sau: • Tên thư mục tên file làm mà sinh viên nộp Bao gồm tên file phần mở rộng • Trong thư mục chứa test cần dùng, test gồm file (Input Output – files copy vào nơi có làm thí sinh để cung cấp liệu chạy làm thí sinh), cách tùy chỉnh testcase nêu phần sau Thư mục chứa làm gồm nhiều thư mục con, thư mục có tên MSSV sinh viên làm bài, chứa toàn làm sinh viên tương ứng Ví dụ: Đề thi gồm có hai bài, hai file cpp mà sinh viên cần nộp “CapSoNhan.cpp” “Cong2So.cpp” Bài “CapSoNhan.cpp” gồm có hai test Còn “Cong2So.cpp” có test Có sinh viên nộp sinh viên có mã số “2144960”, “2143108”, “2144344” Sinh viên “2144960” nộp đủ hai bài, sinh viên lại người nộp Ví dụ thư mục chứa liệu Trang 18 Ví dụ làm test Trang 19 4.2 Cách chấm điểm Mỗi cộng tương đương lượng điểm quy định “Cấu hình thời gian điểm” – mục 3.1.4 Tổng số điểm tổng điểm tất test Trang 20 Chương KẾT LUẬN 5.1 Kết đạt Nghiên cứu đưa mô hình cách thức xây dựng đề thi chấm điểm tự động môn học lập trình Mô hình áp dụng thực tế Khoa Khoa học Công nghệ, trường Đại Học Hoa Sen nhằm nâng cao chất lượng dạy học môn lập trình 5.2 Hướng phát triển tương lai − Nâng cấp hệ thống LEAS để chấm nhiều ngôn ngữ khác − Chấm điểm trực tuyến (online): Sinh viên nộp qua mạng nhận kết kiểm tra tức thời − Kết nối liệu với hệ thống có sẵn nhà trường để đồng điểm Trang 21 TÀI LIỆU THAM KHẢO Chương trình “Themis”, Lê Minh Hoàng Đỗ Đức Đông, phiên 1.1.6.367 Microsoft, “Process Class (System.Diagnostics)” Truy cập ngày 01/05/2015 https://msdn.microsoft.com/enus/library/system.diagnostics.process(v=vs.110).aspx LUA, “Coroutine” Truy cập ngày 29/04/2015 http://www.lua.org/pil/9.1.html dsapblog, “Themis [Θέµις] Chương trình chấm tự động” Truy cập ngày 14/04/2015 http://kienthuc24h.com/chuong-trinh-cham-bai-tu-dong-themis-leminh-hoang/ Die Mannschaft, “Themis 1.8.4 – Phần mềm chấm tự động” Truy cập ngày 01/04/2015 http://www.phanmemdl.com/lap-trinh/download-themis-1-8-4/ Trang 22