Tải bản đầy đủ (.pdf) (26 trang)

Xây dựng hệ thống chấm điểm tự động hỗ trợ luyện thi học sinh giỏi tin học THPT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (879.77 KB, 26 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

NGUYỄN THANH LÊN

XÂY DỰNG HỆ THỐNG
CHẤM ĐIỂM TỰ ĐỘNG HỖ TRỢ LUYỆN THI
HỌC SINH GIỎI TIN HỌC THPT

Chuyên ngành: Hệ thống thông tin
Mã số: 61.49.01.04

TÓM TẮT
LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Đà Nẵng – Năm 2017


Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC SƯ PHẠM - ĐHĐN

Người hướng dẫn khoa học: PGS.TSKH TRẦN QUỐC CHIẾN

Phản biện 1: TS. Nguyễn Hoàng Hải
Phản biện 2: GS.TS. Nguyễn Thanh Thúy

Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ
Hệ thống thông tin họp tại Trường Đại học Sư phạm – ĐHĐN vào
ngày 30 tháng 7 năm 2017.

Có thể tìm hiểu luận văn tại:


- Thư viện Trường Đại học Sư phạm Đà Nẵng, Đại học Đà Nẵng.
- Trung tâm thông tin học liệu, Đại học Đà Nẵng.


1
MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay, chúng ta đang sống trong thời đại mới, thời đại phát
triển rực rỡ của ngành Công nghệ thông tin. Với các chức năng và vai
trò to lớn, ngành công nghệ thông tin đã ứng dụng trong tất cả các lĩnh
vực của đời sống xã hội. Có thể nói việc phát triển công nghệ thông tin
của mỗi quốc gia là một tiêu chí để đánh giá sự phát triển của quốc gia
đó. Từ đó, đặt ra nhiều thách thức cho sự phát triển công nghệ thông tin
tại Việt Nam.
Được sự chỉ đạo của Đảng và nhà nước, Bộ giáo dục đã triển
khai mạnh mẽ việc ứng dụng, dạy và học ngành CNTT trong nhà
trường, tập trung đào tạo thế hệ trẻ, thế hệ tương lai của đất nước.
Là một giáo viên giảng dạy bộ môn tin học THPT ngoài sự chỉ
đạo của Bộ Giáo dục, xu thế phát triển tin học của xã hội, bản thân luôn
nhận thức cần phải làm tốt vai trò của mình giúp học sinh ngày một giỏi
hơn bộ môn tin học. Để nâng cao chất lượng dạy và học môn học lập
trình thì quá trình học của học sinh cần phải làm rất nhiều bài tập, bài
kiểm tra để đánh giá năng lực học tập của học sinh một cách khách
quan và liên tục. Với việc chấm điểm bằng tay thủ công giáo viên mất
rất nhiều thời gian và rất khó để đánh giá được khối lượng bài tập, bài
thi của học sinh. Hiện nay, đã có phần mềm chấm điểm tự động Themis
của Tiến sĩ Lê Minh Hoàng và Đỗ Đức Đông. Themis là hệ thống chấm
điểm rất khoa học với độ chính xác cao, chuẩn về mặt cú pháp và nghữ
nghĩa, hỗ trợ chấm điểm cho nhiều loại ngôn ngữ lập trình. Tuy nhiên
phần mềm chưa hỗ trợ sử dụng được trên website.

Để có một hệ thống chấm điểm tự động phù hợp tôi chọn đề tài
“Xây dựng hệ thống chấm điểm tự động, hỗ trợ luyện thi học sinh
giỏi tin học THPT” làm luận văn cao học nhằm giúp giáo viên dạy bộ
môn lập trình trở nên nhẹ nhàng hơn và phía học sinh có thể tự mình


2
đánh giá năng lực bản thân một cách trung thực nhất từ đó học sinh có
thể tự học, nghiên cứu học tốt bộ môn tin học tham gia các kì thi học
sinh giỏi tin học các cấp.
2. Mục tiêu và nhiệm vụ đề tài
2.1. Mục tiêu
- Xây dựng được hệ thống chấm điểm tự động môn tin học.
- Xây dựng bộ test một số bài tập cơ bản, nâng cao trong hệ
thống bài tập tin học THPT.
2.2. Nhiệm vụ
Để đạt được các mục tiêu trên, đề tài tập trung vào các nhiệm vụ
cụ thể như sau:
- Thống kê, tổng hợp các dạng bài tập trong chương trình tin học
THPT, bài tập nâng cao, các dạng bài tập thi học sinh giỏi các cấp.
- Tìm hiểu tài liệu và phân tích, thiết kế hệ thống.
- Nghiên cứu các bộ test tương ứng các bài tập tương ứng để
chấm điểm.
- Xây dựng hệ thống chạy trên website.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- Nguồn bài tập, bài kiểm tra, bài thi của học sinh THPT
- Ngôn ngữ lập trình C/C++, ngôn ngữ lập trình Pascal.
- Mô hình hệ thống chấm điểm tự động.
- Các công cụ giúp cài đặt chương trình thực nghiệm.

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
tại các trường THPT
- Quản lý điểm các bài tập lập trình thông qua quá trình tự làm
bài tập ở nhà của học sinh.
- Một số bài toán thi học sinh giỏi môn tin học, các cuộc thi quốc
gia tin học.


3
4. Phương pháp nghiên cứu
4.1. Phương pháp nghiên cứu tài liệu
- Nghiên cứu tài liệu từ các hệ thống phần mềm chấm điểm tự
động.
- Nghiên cứu tài liệu, ngôn ngữ lập trình và ứng dụng cài đặt, sử
dụng chương trình.
- Tổng hợp tài liệu, phân tích, chọn lọc các bài toán phù hợp.
4.2. Phương pháp nghiên cứu thực nghiệm
- Tổng hợp các dạng bài tập tin học môn học lập trình.
- Nghiên cứu các bộ test với các bài tập tương ứng.
- Sử sụng ngôn ngữ lập trình C++, Pascal cài đặt và chạy thử
nghiệm kết quả và đánh giá kết quả đạt được.
5. Kết quả dự kiến
5.1. Kết quả lý thuyết
- Biết cơ sở lý thuyết, một số khái niệm cơ bản và thực trạng dạy
và học môn tin học tại các trường THPT.
- Biết xây dựng được hệ thống thông tin trên hệ cơ sở dữ liệu.
- Hiểu rõ hơn ngôn ngữ lập trình C++, Paslal.
- Xây dựng được một số bài tập và code giải các bài tập tin học
trong chương trình THPT.

5.2. Kết quả thực tiễn
- Xây dựng được hệ thống chấm bài tự động, chạy chương trình
ứng dụng chấm điểm một số bài tập thực tế.
- Giáo viên ứng dụng phần mềm chấm điểm, đánh giá kết quả
học tập của học sinh, dạy luyện thi học sinh giỏi tin học.
- Học sinh ứng dụng tự làm bài tập và kiểm tra kết quả.
6. Mục đích và ý nghĩa của đề tài
6.1. Mục đích
- Giúp giáo viên chấm điểm bài tập một cách tự động khách quan
tiết kiệm thời gian.


4
- Học sinh có thể tự làm bài tập và kiểm tra kết quả bài tập của
mình từ đó có cách nhìn tổng quan khẳng định năng lực chuyên môn để
học tốt hơn môn học lập trình.
6.2. Ý nghĩa khoa học và thực tiễn của đề tài
❖ Về mặt khoa học
- Đề tài mở một hướng đi mới phù hợp việc dạy và học môn tin
học lập trình cho giáo viên và học sinh.
- Kết quả nghiên cứu của đề tài sẽ tạo nền tảng và cơ sở để tiếp
tục nghiên cứu phát triển hệ thống ứng dụng vào thực tế trong cuộc
sống hiện nay.
❖ Về mặt thực tiễn
Kết quả của đề tài sẽ giúp giáo viên tiết kiệm đáng kể thời gian
chấm bài. Kết quả chấm điểm các bài thi khách quan. Thông qua hệ
thống chấm bài tự động học sinh có thể tự học tự chấm điểm cho bài
làm của mình từ đó tự bồi dưỡng để nâng cao kết quả học tập tham gia
các kì thi học sinh giỏi tin học các cấp.
CHƯƠNG 1

TỔNG QUAN DẠY VÀ HỌC TIN HỌC TẠI TRƯỜNG THPT
1.1. CƠ SỞ LÝ LUẬN PHƯƠNG PHÁP DẠY HỌC PHÁT HIỆN
VÀ GIẢI QUYẾT VẤN ĐỀ
1.1.1. Cơ sở lý luận
a. Cơ sở triết học
b. Cơ sở tâm lý học
c. Cơ sở giáo dục học
1.1.2. Những khái niệm cơ bản
a. Vấn đề
b. Tình huống gợi vấn đề
Tình huống gợi vấn đề, còn gọi là tình huống vấn đề, là một tình


5
huống gợi ra cho học sinh những khó khăn về lý luận hay thực tiễn mà
họ thấy cần thiết và có khả năng vượt qua, nhưng không phải ngay tức
khắc nhờ một thuật giải mà phải trải qua một quá trình tích cực suy
nghĩ, hoạt động để biến đổi đối tượng hoạt động hoặc điều chỉnh kiến
thức sẵn có [1]. Như vậy tình huống gợi vấn đề là một tình huống thoả
mãn các điều kiện sau:
+ Tồn tại một vấn đề: Tình huống phải bộc lộ mâu thuẫn giữa
thực tiễn với trình độ nhận thức, chủ thể phải ý thức được một khó khăn
trong tư duy hoặc hành động mà vốn hiểu biết sẵn có chưa đủ để vượt
qua. Nói cách khác, có ít nhất một phần tử của khách thể mà học sinh
chưa biết và cũng chưa có trong tay một thuật giải để tìm phần tử đó.
+ Gợi nhu cầu nhận thức: Nếu tình huống có một vấn đề nhưng
vì lý do nào đó học sinh không thấy có nhu cầu tìm hiểu, giải quyết,
chẳng hạn họ thấy vấn đề xa lạ, không liên quan gì tới mình thì đó cũng
chưa phải là một tình huống gợi vấn đề. Điều quan trọng là tình huống
phải gợi nhu cầu nhận thức, chẳng hạn phải làm bộc lộ sự khiếm khuyết

về kiến thức và kỹ năng của học sinh để họ cảm thấy cần thiết phải bổ
sung, điều chỉnh, hoàn thiện tri thức, kỹ năng bằng cách tham gia giải
quyết vấn đề nảy sinh.
+ Khơi dậy niềm tin ở khả năng bản thân: Nếu một tình huống
tuy có vấn đề và học sinh tuy có nhu cầu giải quyết vấn đề, nhưng nếu
họ cảm thấy vấn đề vượt quá so với khả năng của mình thì họ cũng
không sẵn sàng tham gia giải quyết vấn đề. Tình huống cần khơi dậy ở
học sinh cảm nghĩ là tuy họ chưa có ngay lời giải, nhưng đã có một số
tri thức, kỹ năng liên quan đến vấn đề đặt ra và nếu họ tích cực suy nghĩ
thì có nhiều hy vọng giải quyết được vấn đề đó. Như vậy là học sinh có
được niềm tin ở khả năng huy động tri thức và kỹ năng sẵn có để giải
quyết hoặc tham gia giải quyết vấn đề.


6
c. Dạy học phát hiện và giải quyết vấn đề
Dạy học phát hiện và giải quyết vấn đề được hiểu là sự tổ chức
quá trình dạy học bao gồm việc tạo ra tình huống gợi vấn đề, kích thích
học sinh nhu cầu giải quyết vấn đề nảy sinh, lôi cuốn các vào hoạt động
nhận thức tự lực nhằm nắm vững kiến thức, kỹ năng, kỹ xảo mới, phát
triển tính tích cực của trí tuệ và hình thành cho các em năng lực tự mình
thông hiểu và lĩnh hội thông tin khoa học mới [1].
Quá trình dạy học của giáo viên gồm các hoạt động sau:
Bước 1: Tổ chức các tình huống có vấn đề, phát hiện vấn đề và
đặt vấn đề để giải quyết vấn đề.
Bước 2: Giúp học sinh những điều cần thiết để giải quyết vấn đề.
Bước 3: Kiểm tra cách giải quyết đó và nghiên cứu lời giải để
hệ thống hóa, củng cố những kiến thức đã tiếp thu được. Các hành
động học tập cơ bản học sinh là:
Bước1: Phát hiện vấn đề nảy sinh trong tình huống có vấn đề.

Bước 2: Độc lập giải quyết vấn đề dưới sự điều khiển của giáo
viên.
d. Đặc điểm của dạy học phát hiện và giải quyết vấn đề
Dạy học phát hiện và giải quyết vấn đề có những đặc điểm sau:
+ Học sinh được đặt vào một tình huống gợi vấn đề chứ không
phải là được thông báo tri thức dưới dạng có sẵn.
+ Học sinh hoạt động tự giác, tích cực, chủ động, sáng tạo, tận
lực huy động tri thức và khả năng của mình để phát hiện và giải quyết
vấn đề.
+ Giúp học sinh không những phát huy kỹ năng lĩnh hội được hết
kết quả của quá trình giải quyết vấn đề mà còn ở chỗ học sinh được học
bản thân việc học.
e. Hình thức dạy học phát hiện và giải quyết vấn đề
- Tự nghiên cứu vấn đề.
- Vấn đáp phát hiện và giải quyết vấn đề.


7
- Thuyết trình phát hiện và giải quyết vấn đề.
- Mức độ và kiểu phương pháp dạy học giải quyết vấn đề.
1.1.3. Thực hiện dạy học phát hiện và giải quyết vấn đề
a. Các bước của dạy học phát hiện và giải quyết vấn đề
Bước 1: Phát hiện hoặc thâm nhập vấn đề [1].
- Phát hiện vấn đề từ một tình huống gợi vấn đề thường là do
thầy tạo ra, có thể liên tưởng những cách suy nghĩ tìm tòi, dự đoán.
- Giải thích và chính xác hoá tình huống để hiểu đúng vấn đề
được đặt ra.
- Phát biểu vấn đề và đặt mục tiêu giải quyết vấn đề đó.
Bước 2: Giải quyết vấn đề, đề xuất các giả thuyết, lập kế hoạch
giải quyết vấn đề, thực hiện kế hoạch giải quyết vấn đề.

Bước 3: Trình bày cách giải quyết vấn đề.
- Khi đã giải quyết được vấn đề đặt ra, người học trình bày lại
toàn bộ từ việc phát biểu vấn đề cho tới giải pháp.
- Nếu vấn đề là một đề bài cho sẵn thì có thể không cần phát biểu
lại vấn đề. Trong khi trình bày, cần tuân thủ các chuẩn mực đề ra trong
nhà trường như ghi rõ giả thiết, kết luận đối với bài toán chứng minh,
phân biệt các phần: phân tích, cách dựng, chứng minh, biện luận đối
với bài toán dựng hình, ...
Bước 4: Nghiên cứu sâu lời giải - Tìm hiểu những khả năng ứng
dụng kết quả.
- Đề xuất những vấn đề mới có liên quan.
b. Những điểm cần chú ý khi vận dụng dạy học phát hiện và
giải quyết vấn đề
- Dạy học phát hiện và giải quyết vấn đề là một trong những xu
hướng dạy và học hiện đại, nó đòi hỏi phải có sự vận dụng thật sáng tạo
trong những điều kiện dạy học, nội dung dạy học, đối tượng dạy học và
môi trường sư phạm cụ thể [1].
- Khi thực hiện dạy học theo xu hướng phát hiện và giải quyết


8
vấn đề, để đạt được kết quả cao yêu cầu giáo viên phải có sự chuẩn bị
bài giảng cẩn thận và công phu (chuẩn bị nhiều câu hỏi, nhiều bài toán,
nhiều tình huống có vấn đề, … cho nhiều đối tượng học sinh).
- Tạo tình huống có vấn đề một cách thật khéo léo khi tiến hành
dạy học ở những lớp có số học sinh đông. Như vậy giáo viên có thể sử
dụng phương pháp phát hiện và giải quyết vấn đề vào việc dạy cho học
sinh một phương pháp giải bài tập nào đó. Cụ thể:
`+ Đứng trước một bài toán vấn đề đặt ra là xây dựng giải thuật
như thế nào để giải quyết?, cấu trúc dữ liệu ra sao?, ... (bước1).

+ Nếu bài toán có thể đã có giải thuật để giải ta tiếp tục tìm giải
thuật tối ưu để áp dụng để giải hay đây chính là đi tìm giải pháp (bước
2).
+ Trình bày lời giải (bước 3).
+ Nghiên cứu sâu lời giải. Xét có thể khái quát hoá được một lớp
bài toán tương tự hay không.
1.2. THỰC TRẠNG DẠY VÀ HỌC TIN HỌC Ở TRƯỜNG THPT
1.2.1. Thực trạng
1.2.2. Đặc điểm của việc giảng dạy môn Tin học trong trường
phổ thông
1.2.3. Phương pháp và cách tiến hành giảng dạy môn Tin học
a. Phương pháp giảng dạy lý thuyết
b. Phương pháp giảng dạy theo module
1.3. TÌNH HÌNH NGHIÊN CỨU TRIỂN KHAI MÔ HÌNH
1.3.1. Themis


9

Hình 1.1. Phần mềm Themis
“Themis là phần mềm chấm bài tự động được phát triển theo yêu
cầu của Cục Khảo thí và Kiểm định chất lượng giáo dục, Bộ Giáo dục
và Đào tạo. Sản phẩm được thiết kế phục vụ kỳ thi học sinh giỏi Quốc
gia hàng năm, nhưng hoàn toàn có thể sử dụng trong tất cả các kỳ thi và
bài kiểm tra tin học dùng cơ chế chấm điểm tự động bằng bộ test[4].”
1.3.2. Mô hình chấm điểm tự động LEAS

Hình 1.2. Mô hình LEAS
LEAS(Lotus Evaluation Auto System)[2] là hệ thống chấm
điểm tự động các môn lập trình tại Đại Học Hoa Sen dựa trên sự tìm

hiểu và thiết kế ứng dụng theo các mong muốn của giảng viên và sinh
viên của trường.
Về cách thức hoạt động của LEAS[1] có đôi nét tương đồng với


10
Themis, tuy nhiên đã được đơn giản hóa cho người dùng một cách triệt
để nhất.
“Điểm khác biệt lớn nhất có lẽ là bộ dịch của LEAS so với
Themis. Trong khi Themis sử dụng C++ thì LEAS sử dụng Visual
Studio cho việc dịch bài làm của sinh viên. Điều này có vài lợi thế nhất
định sau:
- LEAS rất nhẹ, vì không phải mang C++ kèm theo trong chương
trình.
1.4. KẾT LUẬN CHƯƠNG 1
Với sự phát triển như “Vũ bảo” hiện nay của ngành tin học trong
tất cả các lĩnh vực. Để thế hệ trẻ - học sinh THPT có được một kiến
thức cơ bản về tin học nhằm tạo tiền đề phát triển cho ngành tin học
trong tương lai chương trình tin học THPT cần được quan tâm một cách
đúng đắn để các em học sinh có điều kiện học tập tốt hơn, có thể tư duy
và phát triển kỹ năng cũng như kiến thức của mình.
Qua tìm hiểu một số phương pháp dạy học tích cực, tôi chọn
phương pháp đặt vấn đề và giải quyết vấn đề áp dụng vào dạy học môn
tin học tại trường THPT. Đây là phương pháp hiệu quả nhất khi kết hợp
với áp dụng hệ thống chấm bài tự động để giải các bài tập tin học từ cơ
bản đến nâng cao và các bài tập luyện thi học sinh giỏi để tham gia các
cuộc thi tin học các cấp.
Cùng với sự tìm hiểu, nghiên cứu các mô hình chấm điểm tự
động môn tin học như Themis, LEAS … . Tôi đã tận dụng những điểm
mạnh và hạn chế những vấn đề còn thiếu xót, những chức năng chưa

được mở rộng, tôi chọn xây dựng hệ thống chấm điểm tự động, hỗ trợ
luyện thi học sinh giỏi tin học THPT dựa trên mô hình Themis nhằm
giúp việc dạy và học môn tin học ngày càng tốt hơn.


11
CHƯƠNG 2
XÂY DỰNG HỆ THỐNG CHẤM ĐIỂM TỰ ĐỘNG
2.1. PHÂN TÍCH, THIẾT KẾ HỆ THỐNG CHẤM ĐIỂM TỰ
ĐỘNG
2.1.1. Phân tích, thiết kế hệ thống
a. Đặt tả yêu cầu
- Danh sách các tác nhân của hệ thống:
+ Quản trị viên: Là những người có quyền quản lý tài khoản,
quản lý lớp và xem tất cả các thống kê(lớp, tài khoản, khối).
+ Giáo viên: Là những người có quyền quản lý các lần thi, tải lên
đề thi, quản lý tài khoản học sinh và xem các thống kê về lớp và học
sinh.
+ Học sinh: Là những đối tượng có thể xem đề thi, làm và nộp
bài thi cũng như xem điểm thi của bài vừa nộp.
- Danh sách các ca sử dụng của hệ thống:
+ Đăng nhập hệ thống:
Quản trị viên cần đăng nhập để thực hiện các chức năng quản lý
tài khoản, quản lý lớp và xem tất cả các thống kê:
Thêm, sửa, xóa tài khoản thành viên:
Thêm, sửa, xóa lớp:
Tìm kiếm, thống kê:
Giáo viên cần đăng nhập để quản lý lần thi, upload đề thi, quản
lý tài khoản học sinh và xem các thống kê về lớp và học sinh:
Thêm, sửa, xóa tài khoản học sinh:

Thêm, sửa, xóa lần thi:
Upload đề thi:
Học sinh đăng nhập để xem đề thi, làm và nộp bài thi cũng như
xem điểm thi của bài vừa nộp:
Thi và xem kết quả:


12
- Đặc tả các ca sử dụng:
+ Đăng nhập hệ thống:
Tác nhân: Quản trị viên, giáo viên, học sinh.
Mô tả: Quản trị viên, giáo viên và học sinh nhập username,
password và chọn loại tài khoản(quản trị viên, giáo viên, học sinh). Hệ
thống sẽ kiểm tra và chuyển trang đến trang quản lý tương ứng với tài
khoản người dùng.
+ Thêm, sửa, xóa tài khoản thành viên:
Tác nhân: Quản trị viên.
Mô tả: Quản trị viên lựa chọn chức năng quản lý cho mỗi tài
khoản thành viên(thêm, sửa, xóa) bằng cách nhấn các nút chức năng
tương ứng. Hệ thống ghi nhận các thông tin cần thiết của những tài
khoản thành viên này ứng với mỗi chức năng quản lý. Nếu thông tin
hợp lệ, hệ thống tiến hành cập nhật trong cơ sở dữ liệu còn không hệ
thống đưa ra thông báo cho người dùng. Sau khi cập nhật thành công,
người dùng trở lại trang quản lý.
+ Thêm, sửa, xóa lớp:
Tác nhân: Quản trị viên.
Mô tả: Quản trị viên lựa chọn chức năng quản lý cho mỗi
lớp(thêm, sửa, xóa) bằng cách nhấn các nút chức năng tương ứng. Hệ
thống ghi nhận các thông tin cần thiết của những lớp này ứng với mỗi
chức năng quản lý. Nếu thông tin hợp lệ, hệ thống tiến hành cập nhật

trong cơ sở dữ liệu còn không hệ thống đưa ra thông báo cho người
dùng. Sau khi cập nhật thành công, người dùng trở lại trang quản lý.
+ Thêm, sửa, xóa tài khoản học sinh:
Tác nhân: Giáo viên.
Mô tả: Giáo viên lựa chọn chức năng quản lý cho mỗi tài khoản
học sinh(thêm, sửa, xóa) bằng cách nhấn các nút chức năng tương ứng.
Hệ thống ghi nhận các thông tin cần thiết của những tài khoản học sinh
này ứng với mỗi chức năng quản lý. Nếu thông tin hợp lệ, hệ thống tiến


13
hành cập nhật trong cơ sở dữ liệu còn không hệ thống đưa ra thông báo
cho người dùng. Sau khi cập nhật thành công, người dùng trở lại trang
quản lý.
+ Thêm, sửa, xóa lần thi:
Tác nhân: Giáo viên.
Mô tả: Giáo viên lựa chọn chức năng quản lý cho mỗi lần
thi(thêm, sửa, xóa) bằng cách nhấn các nút chức năng tương ứng. Hệ
thống ghi nhận các thông tin cần thiết của những lần thi này ứng với
mỗi chức năng quản lý. Nếu thông tin hợp lệ, hệ thống tiến hành cập
nhật trong cơ sở dữ liệu còn không hệ thống đưa ra thông báo cho
người dùng. Sau khi cập nhật thành công, người dùng trở lại trang quản
lý.
+ Upload đề thi:
Tác nhân: Giáo viên.
Mô tả: Giáo viên upload đề thi vào hệ thống. Hệ thống kiểm tra
định dạng đề thi là đúng(pdf) mới thực hiện lưu trữ đề thi. Nếu không,
hệ thống đưa ra thông báo thêm đề thi không thành công.
+ Tìm kiếm, thống kê:
Tác nhân:Quản trị viên, Giáo viên.

Mô tả: Ở mỗi mục quản lý, khi người chọn mục con. Hệ thống ghi
nhận lựa chọn của người dùng và tiến hành truy vấn đưa danh sách bản
ghi của mục người dùng lựa chọn. Tại mỗi trang mục đều có khung tìm
kiếm tương ứng với mục đó. Trong trường hợp người dùng có vai trò
quản trị viên, quản trị viên nhập thông tin tìm kiếm ứng với các mục mà
mình quản lý(khối, lớp, tài khoản). Hệ thống ghi nhận thông tin tìm kiếm
của quản trị viên và thực hiện truy vấn cơ sở dữ liệu. Sau đó, đưa kết quả
truy vấn ra trang kết quả tìm kiếm. Tương tự với người dùng có vai trò
giáo viên, giáo viên sẽ chỉ có quyền tìm kiếm thông tin tài khoản học
sinh và lần thi.
+ Thi và xem kết quả:


14
Tác nhân:Học sinh.
Mô tả: Học sinh xem đề thi và làm bài thi. Sau đó, học sinh nộp
bài lên hệ thống. Hệ thống kiểm tra định dạng bài thi xem có hợp lệ hay
không, nếu không, đưa ra thông báo. Ngược lại, hệ thống gửi bài thi về
phần mềm Themis. Themis chấm bài làm của học sinh rồi trả kết quả về
lại hệ thống. Hệ thống trả kết quả cho học sinh gần như ngay lập tức
sau khi nộp.
b. Mô tả hệ thống
- Sơ đồ chức năng của quản trị viên

Hình 2.1. Sơ đồ chức năng Quản trị viên
- Sơ đồ chức năng của giáo viên

Hình 2.2. Sơ đồ chức năng Giáo viên
- Sơ đồ chức năng của học sinh



15

Hình 2.3. Sơ đồ chức năng Học sinh
c. Sơ đồ hệ thống
d. Mô hình xử lí:
- Mức 0:
- Mức tổng quát của hệ thống nhìn tổng thể hệ thống, dữ liệu
được truyền vào hệ thống thông qua các quá trình dữ liệu được xử lý và
di chuyển trong hệ thống.
Hình 2.5. Sơ đồ mô hình hệ thống
- Mức 1 của quá trình nhận và xử lý yêu cầu của học sinh
(3.0):
- Mức 1 của quá trình quản lý lớp (7.0) :
- Mức 1 của quá trình quản lý học sinh (8.0) :
- Mức 1 của quá trình cập nhật lần thi (9.0) :
e. Thiết kế CSDL
f. Cơ chế làm việc
- Cơ chế làm việc của quá trình đăng nhập:
- Cơ chế làm việc của quá trình quản lý lớp:
+Thêm lớp:
+Sửa lớp:
+ Xóa lớp:
- Cơ chế làm việc của quá trình quản lý tài khoản học sinh:
+Thêm tài khoản:
+Sửa tài khoản:
+ Xóa tài khoản:


16

- Cơ chế làm việc của quá trình quản lý tài khoản:
+ Thêm tài khoản:
+ Sửa tài khoản:
+ Xóa tài khoản:
- Cơ chế làm việc của quá trình quản lý lần thi:
+ Thêm lần thi:
+Sửa lần thi:
+ Xóa lần thi:
- Cơ chế làm việc của ca upload đề thi :
- Cơ chế làm việc của quá trình thống kê:
- Cơ chế làm việc của quá trình nộp bài của học sinh:
2.1.2. Giao diện
a) Màn hình chính
- Màn hình tương tác với tài khoản học sinh:

Hình 2.10. Giao diện tương tác với tài khoản học sinh
- Màn hình tương tác với tài khoản giáo viên:

Hình 2.11. Giao diện tương tác với tài khoản giáo viên


17
- Màn hình tương tác với admin:
+ Admin quản lí tài khoản của mình và tài khoản giáo viên:

Hình 2.16. Màn hình làm việc của admin
b. Chuẩn bị lần thi
- Một lần thi cần được chuẩn bị trong hai thư mục:
Trong thư mục web trên máy tính đặt tên: JudgeByTito
- Trong đó tạo ra 2 thư mục con ví dụ:Thumucbailam và

thumuctest
+ Trong Thumucbailam tạo ra thư mục con <họ_tên_bạn> (sau
này chứa các file code ):
Ví dụ :PhamThiMaiTram
+ Trong thumuctest tạo ra các thư mục <tên_chương-trình>
Ví dụ :Array
Trong Array tạo các thư mục Test01,Test02…(Sau này chứa các
file dữ liệu vào/ra).
- Chuẩn bị chương trình nguồn
Ví dụ file là Array.cpp đã chạy trên DevC++
Copy chương trình nguồn thả vào thư mục <họ_tên_bạn>

dụ :
JudgeByTito
\Thumucbailam\PhamThiMaiTram\Array.cpp
- Chuẩn bị các bộ dữ liệu test
Ví dụ : Chuẩn bị 2 bộ dữ liệu test :
Test01 gồm 2 fie :
Test01\array.inp
Tes01\array.out


18
Test02 gồm 2 fie :
Test02\array.inp
Tes02\array.out
c. Cấu hình bài thi
d. Cấu hình bộ test, thời gian và điểm của bộ test
CHƯƠNG 3.
THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

Chương này tiếp tục vận dụng các công nghệ và công cụ chấm
bài tự động để đề xuất giải pháp xây dựng hệ thống nộp và chấm bài tự
động hỗ trợ dạy và học môn tin học. Các phần tiếp theo của Chương
này tập trung nghiên cứu đề xuất quy trình nộp và chấm bài tự động,
các công đoạn xây dựng hệ thống và đánh giá kết quả triển khai.
3.1. CÀI ĐẶT HỆ THỐNG
Hệ thống chấm bài tự động được xây dựng trên hai hệ thống
song song: Phần mềm chấm bài tự động Themis và Hệ thống Web
server Xampp.
3.1.1. Cài đặt hệ thống Xampp
a. Giới thiệu về Xampp
b. Cách cài đặt localhost trên máy tính với XAMPP:
3.1.2. Cài đặt phần mềm chấm điểm tự động Themis:
a. Cài đặt
Sau khi tải file cài đặt về xong, hãy chạy nó, sau đó chọn Next
cho tới khi chương trình được cài đặt xong.

Hình 3.3. Cài đặt phần mềm Themis


19
b. Thiết lập môi trường chấm điểm trực tuyến:
3.1.3 Quy trình nộp bài và chấm bài
a. Quy trình nộp bài
Sau đây là sơ đồ triển khai quy trình nộp và chấm bài tự động
[2]:

Hình 3.8. Sơ đồ quy trình nộp bài và chấm điểm
b. Viết code
Sau khi được trang bị các kiến thức cần thiết, với mỗi đề bài đã

cho, học sinh sẽ thực hiện các bước sau [2]:
▪ Bước 1: Đọc để hiểu đề bài toán.
▪ Bước 2: Xác định đầu vào và đầu ra của bài toán.
▪ Bước 3: Phát thảo các mô hình có thể để giải bài toán.
▪ Bước 4: Phân tích các chi tiết cụ thể của bài toán.
▪ Bước 5: Chọn và củng cố các mô hình tối ưu để giải quyết bài
toán.
▪ Bước 6: Phân rã giải pháp đã chọn thành các modul nhỏ hơn
để lập trình.
▪ Bước 7: Viết mã lệnh


20
▪ Bước 8: Chạy thử nghiệm
▪ Bước 9: Kiểm tra tính đúng đắn, tính phổ quát và tính hiệu quả
của chương trình.
c. Nộp bài
Sau khi đã kiểm tra, hoàn thiện bài làm của mình, học sinh sẽ
nộp bài làm của mình lên hệ thống chấm bài thông qua một trang
website do chúng tôi tạo ra để hỗ trợ việc nộp bài được thuận tiện.
d. Hệ thống chấm bài
Hệ thống sau khi nhận bài của học viên sẽ tự động biên dịch,
chạy chương trình và chấm kết quả theo đúng các bộ test đáp án mà
chúng tôi đã xây dựng.
Sau khi chấm xong, hệ thống sẽ tự động thông báo kết quả cho
người học kết quả bài làm của mình: nếu đúng thì nhiệm vụ đã hoàn
thành, ngược lại người học phải quay lại để kiểm tra mình sai sót ở đâu,
cập nhật viết code và gởi lại cho hệ thống chấm.
Trong giai đoạn này, giáo viên cũng có thể tham gia hỗ trợ, tư
vấn cho học sinh về những điểm sai, thiếu sót của người học để họ hoàn

thiện kỹ năng thực hành của mình.
3.2. HỆ THỐNG CÁC BÀI TẬP THỰC NGHIỆM
3.2.1. Bài toán đấu giá
Đấu giá: Sở giao thông Hà Nội quyết định bán đấu giá các biển
số xe đẹp để lấy tiền ủng hộ đồng bào lũ lụt miền Trung. Một biển số
xe được gọi là đẹp nếu nó thỏa mãn các điều kiện sau[6]:
- Là một số nguyên dương T mà A ≤ T ≤ B trong đó A, B là hai
số nguyên dương cho trước;
- T là một số nguyên tố;
- T là một số đối xứng (đọc T từ trái qua phải thu được kết quả
giống như đọc T từ phải qua trái). Ví dụ 12321 là một số đối xứng.
Yêu cầu: Cho hai số nguyên dương A và B, hãy tìm số lượng các
biển số xe đẹp.


21
Input: Vào từ file văn bản AUCTION.INP gồm 1 dòng chứa hai
số nguyên dương A và B (104≤AOutput: Đưa ra file văn bản AUCTION.OUT một số nguyên là
số lượng biển số xe đẹp tìm được.
Ví dụ:
AUCTION.INP
AUCTION.OUT
11111 22222
23
Xây dựng code bằng C++
[3]:
#include <bits/stdc++.h>
using namespace std;
ifstream fi ("AUCTION.INP");

ofstream fo ("AUCTION.OUT");
bool prime(int x){
if(x<2) return false;
for(int i=2;i*i<=x;i++) if(x%i==0) return false;
return true;
}
bool dx(int x){
char st[10];
itoa(x,st,10);
int t=strlen(st);
for(int i=0;ireturn true;
}
main(){
int a,b;
fi>>a>>b;
int d=0;
for(int i=a;i<=b;i++) if(prime(i)&&dx(i)) d++;
fo<

22
fi.close();
fo.close();
Xây dựng bộ test: Trong bài này có 5 bộ test, mỗi bộ test gồm 2 file:
AUTION.INP và AUTION.OUT được đặt chung trong một thư mục
như sau:

Hình 3.9. Xây dựng bộ test bài toán đấu giá
Trên đây là một ví dụ về bộ test thứ 3 trong 5 bộ test

3.2.2. Bài toán xóa số
3.2.3. Bài toán gà, thỏ
3.2.4. Bài toán tổng hai số lớn
3.2.5. Bài toán trộn hai dãy số
3.3. ĐÁNH GIÁ KẾT QUẢ TRIỂN KHAI
Bảng 1. Bộ tiêu chí đánh giá khóa học và hệ thống hỗ trợ dạy học lập
trình


23

Hình 3.14. Phản hồi của học sinh
Qua bản các tiêu chí đánh giá về hệ thống chấm bài tự động và
kết quả đạt được từ Hình 3.14 cho thấy đa số học sinh rất hài lòng. Mức
cao nhất là "Đồng ý" ở phần lớn các tiêu chí. Tuy nhiên, ở các câu 2 và
6, tỷ lệ chọn "Đồng ý" vẫn còn thấp bên cạnh đó tỷ lệ chọn “Không có
ý kiến” còn cao đã cho thấy hệ thống còn vài vấn đề hạn chế. Để hệ
thống hỗ trợ tối đa việc dạy và học lập trình môn tin học trong nhà
trường, chúng tôi tiến hành phỏng vấn một số học sinh bằng cách đưa
ra một số câu hỏi như: “ Hệ thống còn những vấn đề gì các em chưa hài
lòng ?”, “Em có giải pháp, yêu cầu nào cần cho hệ thống không ?”. Một
vài học sinh trả lời: “Hệ thống chấm bài quá nghiêm túc; bài làm đúng
quy trình, đúng thuật toán tuy nhiên chỉ cần thiếu sót nhỏ thì bài làm sẽ
không đạt điểm”. Vài học sinh khác cho rằng: “Nguồn bài tập khá
nhiều nhưng chưa đủ lớn; Những lúc chúng em từ tìm bài tập và tự làm
thì hệ thống không chấm điểm được”. Qua đó chúng tôi nhận thấy hệ
thống cần có thêm giải pháp để điều chỉnh lại cho phù hợp như: Cấu
hình lại bộ dịch, xây dựng hệ thống dữ liệu, bổ sung nguồn bài tập
phong phú hơn để hệ thống thực thi một cách tối ưu nhất .
Nhìn chung, bên cạnh những vấn đề nhỏ cần điều chỉnh, hệ thống

đã ứng dụng rất tốt. Các đánh giá của học sinh cung cấp một phản ánh
tích cực nói chung đối với phương pháp luyện tập về kỹ năng học môn


×