1. Trang chủ
  2. » Giáo Dục - Đào Tạo

XÂY DỰNG hệ THỐNG CHẤM bài tự ĐỘNG hỗ TRỢ GIẢNG dạy các môn học lập TRÌNH

17 106 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 605,39 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC ĐÀ NẴNGTRƯỜNG ĐẠI HỌC SƯ PHẠM BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC NĂM 2020 XÂY DỰNG HỆ THỐNG CHẤM BÀI TỰ ĐỘNG HỖ TRỢ GIẢNG DẠY CÁC MÔN HỌC LẬP TRÌNH Người/Nhóm thực hiện

Trang 1

ĐẠI HỌC ĐÀ NẴNG

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

BÁO CÁO TỔNG KẾT

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC NĂM 2020

XÂY DỰNG HỆ THỐNG CHẤM BÀI TỰ ĐỘNG HỖ TRỢ GIẢNG DẠY CÁC MÔN HỌC LẬP TRÌNH

Người/Nhóm thực hiện: XXXXXXXXXXXX

Đà Nẵng, 5/2020

Trang 2

MỤC LỤC

Trang

DANH MỤC CÁC HÌNH VẼ 4

MỞ ĐẦU 6

CHƯƠNG 1: TỔNG QUAN VỀ XXXXXXXXXX 10

1.1 GIỚI THIỆU 10

1.2 HỆ THỐNG PC2 11

1.2.1 Môi trường thực thi SDK 12

1.2.2 Khởi động các file chương trình trong PC2 12

1.3 MỘT SỐ HỆ THỐNG HỖ TRỢ NỘP VÀ CHẤM BÀI TỰ ĐỘNG 21

1.3.1 Hệ thống CMS 21

1.3.2 Hệ thống Codeforce 23

CHƯƠNG 2: CÁC CÔNG NGHỆ HỖ TRỢ XÂY DỰNG HỆ THỐNG 25

2.1 NGÔN NGỮ PHP VÀ CƠ SỞ DỮ LIỆU MYSQL 25

2.1.1 Hệ quản trị cơ sở dữ liệu MYSQL 25

2.1.2 Cài Đặt Xampp 26

2.1.3 Hướng dân tạo database trong Xampp 30

2.1.4 Ngôn ngữ lập trình PHP 32

2.2 CÔNG CỤ CHẤM BÀI TỰ ĐỘNG THEMIS 32

2.2.1 Cài đặt và khởi động Themis 33

2.2.2 Chuẩn bị một kỳ thi 34

2.2.3 Nạp danh sách bài thi 35

2.2.4 Đặt cấu hình bài thi 35

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG XXXXXXXXXXX 41

3.1 QUY TRÌNH NỘP VÀ CHẤM BÀI TỰ ĐỘNG 41

3.1.1 Viết code 42

Trang 3

3.1.3 Hệ thống chấm bài 42

3.2 XÂY DỰNG HỆ THỐNG NỘP VÀ CHẤM BÀI TỰ ĐỘNG 43

3.2.1 Cơ sở vật chất và môi trường xây dựng hệ thống 43

3.2.2 Xây dựng website nộp bài tự động 43

3.2.3 Xây dựng các bộ test cho đáp án 44

3.2.4 Tích hợp hệ thống 45

3.3 ĐÁNH GIÁ KẾT QUẢ TRIỂN KHAI 49

KẾT LUẬN 52

TÀI LIỆU THAM KHẢO 53

Trang 4

DANH MỤC CÁC HÌNH VẼ

Hình 1.1: Giao diện hệ thống PC2 server 13

Hình 1.2: Cài đặt mật khẩu 14

Hình 1.3: Server được tạo ra có tên Site1 15

Hình 1.4: Giao diện pc2 administrator 15

Hình 1.5: Giao diện chức năng pc2 administrator 16

Hình 1.6: Giao diện tạo user 16

Hình 1.7: Thiết lập cấu hình bài toán 17

Hình 2.1: Mô hình tương tác giữa web PHP với MyQL 26

Hình 2.2: Giới thiệu về xampp 27

Hình 2.3: Cài đặt xampp 27

Hình 2.4: Cài đặt xampp 28

Hình 2.5: Cài đặt đường dẫn xampp 28

Hình 2.6: Đang cài đặt xampp 29

Hình 2.7: Kết thúc cài đặt xampp 29

Hình 3.1: Quy trình nộp và chấm bài tự động 41

Hình 3.2: Cơ sở dữ liệu người học 43

Hình 3.3: Trang nộp bài tự động 44

Hình 3.4: Trang nộp bài tự động 45

Hình 3.5: Thanh công cụ của Themis 46

Hình 3.6: Thiết lập đường dẫn chứa bài thi và đáp án 46

Hình 3.7: Chọn thư mục chứa đề thi 47

Hình 3.8: Chọn thư mục chứa bài làm của sinh viên 47

Trang 5

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Giới thiệu tình hình trong nước và quốc tế về các vấn đề liên quan đến đề tài

Từ đó nêu lý do chọn đề tài

2 Mục tiêu nghiên cứu

- Làm đề tài này để đạt được cái gì? (Học tập và nghiên cứu các kiến thức như sau: Phân tích và thiết kế hệ thống thông tin, cách xây dựng một trang web/ứng dụng…)

- Xây dựng sản phẩm là trang website/ứng dụng

3 Đối tượng và phạm vi nghiên cứu

- Đối tượng nghiên cứu: ????

- Phạm vi nghiên cứu: giới hạn trong phạm vi nào?

4 Hướng tiếp cận và phương pháp nghiên cứu

4.1 Cách tiếp cận

Từ nhu cầu học lập trình của sinh viên, hạn chế của các phương pháp truyền thống và ưu điểm của các giải pháp tự động để xây dựng hệ thống hỗ trợ chấm

và nộp bài tự động

4.2 Phương pháp nghiên cứu

Cách để làm đề tài này?

5 Bố cục của đề tài

Đề tài được phân thành ba chương với cấu trúc như sau:

Chương 1: Tổng quan về XXXX

Trang 6

Chương này giới thiệu tổng quan về …

Chương 2: <Các công cụ hỗ trợ xây dựng hệ thống>

Dùng công cụ gì để viết ứng dụng/web? (MySQL và ngôn ngữ PHP, Java, C#, Android/iOS )

Chương 3: Xây dựng hệ thống/ứng dụng XXXX

Chức năng, giao diện,… ra sao?

Cuối cùng là phần kết luận và hướng phát triển

Trang 7

CHƯƠNG 1: TỔNG QUAN VỀ XXXXXX

1.1 GIỚI THIỆU

Hiện nay, trện thệ giới cũng như ớ Việt Nam

1.2 HỆ THỐNG TTT

Khới động PC2 sệrvệr qũa filệ pc2server.bat, ta đước ma&n hì&nh như

hì&nh dưới đay:

Hình 1.1: Giao diện hệ thống PC2 server

Ma+c đinh chộ la,n đa,ũ tiện chộ tện đa+ng nhap cũa PC2 sệrvệr la& “site1”,

khộng cộ passwộrd

Saũ khi đa+ng nhap, PC2 yệũ ca,ũ ca&i đa+t passwộrd chình chộ tộa&n bộ PC2,

ta đước ma&n hì&nh dưới đay:

Trang 8

Hình 1.2: Cài đặt mật khẩu

Saũ khi ca&i đa+t xộng passwộrd chũ, ma+c đinh PC2 sệ tư taộ ra 1 sệrvệr

tện la& site1, ta đước ma&n hì&nh dưới đay (Hì&nh 1.3).

Như vay ta đa khới động xộng 1 sệrvệr chộ PC2

1.3 MỘT SỐ HỆ THỐNG HỖ TRỢ XXXXXXXXX

Ngoài hệ thống XXX đã có từ lâu, hiện nay trên thế giới cũng đã có nhiều hệ thống triển khai hỗ trợ nộp và chấm bài tự động Các hệ thống này được triển khai trên nền hệ điều hành Unix hoặc Ubuntu Sau đây là một số hệ thống thông dụng hiện nay:

Trang 9

Hệ thống chấm thi CMS (Contest Management System) chuyên được sử dụng cho các kỳ thi Olympic Tin học quốc tế (IOI):

http://cms.readthedocs.org/en/latest/Introduction.html

1 Đăng nhập vào hệ thống CMS

Sử dụng trình duyệt (Chrome/Firefox) vào địa chỉ: 192.168.10.102:8888 Sau đó đăng nhập bằng User và Password User chính là SBD của các bạn, Password do BTC cung cấp

Nếu không hiển thị ngôn ngữ tiếng Anh các bạn có thể lựa chọn ngôn ngữ ở nút góc trên bên phải

Hình 1.14: Đăng nhập hệ thống CMS

2 Đề bài và cú pháp biện dịch

Thí sinh có thể tải đề bài ở mục Statement Trong mỗi bài đều hiển thị cú pháp biên dịch sẽ được sử dụng để chấm bài đó

Cụ thể là các cú pháp sau:

Trang 10

CHƯƠNG 2: CÁC CÔNG NGHỆ HỖ TRỢ

2.1 NGÔN NGỮ PHP VÀ CƠ SỞ DỮ LIỆU MYSQL

2.1.1 Hệ quản trị cơ sở dữ liệu MYSQL

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới

và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ sở dữ liệu tốc độ cao, đơn giải, linh hoạt, ổn định và dễ sử dụng,

có tính khả chuyển, đặc biệt là miễn phí hoặc tốn rất ít phí, hoạt động trên nhiều

hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ

và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32, Win 64 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS

Trang 11

Hình 2.1: Mô hình tương tác giữa web PHP với MyQL

2.1.2 Cài Đặt Xampp

Xampp là một chương trình máy chủ ảo Web được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như phpmyadmin Không như Appserv, Xampp có chương trình quản lý khá tiện lợi, cho phép tự động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất ký lúc nào

Hình 2.2: Giới thiệu về xampp

 …

Trang 12

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG KKKKK

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 lập trình Các phần tiếp theo của Chương này tập trung nghiên đề 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 QUY TRÌNH XXXX

Saũ đay la& sớ độ, triệ9n khai qũy trì&nh nộp va& cham ba&i tư động (Hì&nh 1):

Trang 13

Saũ khi đước trang bi cac kiện thưc ca,n thiệt, với mộ:i đệ, ba&i đa chộ, sinh viện sệ thưc hiện cac bước saũ:

 Bước 1: Độc đệ9 hiệ9ũ đệ, ba&i tộan.

Bước 2: Xac đinh đa,ũ va&ộ va& đa,ũ ra cũa ba&i tộan.

 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

 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

3.1.2 Nộp bài

Saũ khi đa kiệ9m tra, hộa&n thiện ba&i la&m cũa mì&nh, sinh viện sệ nộp ba&i la&m cũa mì&nh lện hệ thộng cham ba&i thộng qũa một trang wệbsitệ dộ chũng tội taộ ra đệ9 hộ: trớ việc nộp ba&i đước thũan tiện

3.1.3 Hệ thống chấm bài

Hệ thộng saũ khi nhan ba&i cũa sinh viện sệ tư động biện dich, chay chướng trì&nh va& cham kệt qũa thệộ đũng cac bộ tệst đap an ma& chũng tội đa xay dưng

Saũ khi cham xộng, hệ thộng sệ tư động thộng baộ kệt qũa chộ ngướ&i hộc kệt qũa ba&i la&m cũa mì&nh: nệũ đũng thì& nhiệm vũ đa hộa&n tha&nh, ngước lai ngướ&i hộc phai qũay lai đệ9 kiệ9m tra mì&nh sai sột ớ đaũ, cap nhat việt cộdệ va& gới lai chộ hệ thộng cham

Trộng giai độan na&y, giaộ viện cũng cộ thệ9 tham gia hộ: trớ, tư van chộ sinh viện vệ, nhưng điệ9m sai, thiệũ sột cũa ngướ&i hộc đệ9 hộ hộa&n thiện ky na+ng thưc ha&nh cũa mì&nh

Trang 14

3.2 XÂY DỰNG HỆ THỐNG XXXXXXXXXXX

Đệ9 triệ9n khai xay dưng hệ thộng, chũng tội thưc hiện thệộ trì&nh tư saũ:

3.2.1 Cơ sở vật chất và môi trường xây dựng hệ thống

 May cham: cộ thệ9 dũ&ng may sệvệr hộa+c laptộp

 Hệ thộng may tình ca nhan đệ9 la&m ba&i

 Hệ thộng mang cũc bộ hộa+c mang intệrnệt: kệt nội cac may la&m ba&i với may cham

 Pha,n mệ,m cham ba&i tư động: Thệmis

3.2.2 Xây dựng website

Chũng tội sư dũng ngộn ngư PHP va& cớ sớ dư liệũ MySQL đệ9 xay dưng wệbsitệ nộp ba&i tư động

Cac bước tiện ha&nh xay dưng wệbsitệ nộp ba&i đước thưc hiện như saũ:

Bước 1: Xay dưng cớ sớ dư liệũ ngướ&i hộc, mộ:i sinh viện đệ,ũ cộ một ta&i

khộan (ũsệr) va& mat kha9ũ (passwộrd) (Hì&nh 3.2)

Hình 3.2: Cơ sở dữ liệu người học

Trang 15

Ngộa&i ũsệr va& passwộrd, trện trang wệb cộ&n cộ thệm cac thộng tin: Tện ba&i tộan (Prộblệm ID), chộn ngộn ngư lap trì&nh (Prộgramming Langũagệ) va& vũ&ng Sộũrcệ cộdệ (chưa nội dũng độan cộdệ cũa chướng trì&nh saũ khi hộa&n thiện)

Trang 16

KẾT LUẬN

1 Các kết quả đạt được

Đã làm được gì???

2 Hạn chế của đề tài

Cái gì chưa làm được?

3 Hướng phát triển

Hướng phat triệ9n trộng tướng lai la& gì&? Cai tiện, bộ9 sũng?

Trang 17

TÀI LIỆU THAM KHẢO

[1] Phuong A PHAM, Man D NGUYEN, Long Q NGUYEN, Bao N LE

(2014), “Learning Computer Programming in CDIO’S Team Settings”,

Proceedings of the 10th Annual International CDIO Conference, Universitat Politècnica de Catalunya, Barcelona, Spain.

[2] Phạm Anh Phương, Trần Văn Hưng (2015), “Huấn luyện lập trình nhóm

theo tiếp cận CDIO”, Kỷ yếu Hội thảo khoa học toàn quốc: Bồi dưỡng

năng lực cho giảng viên các trường Sư phạm, NXB Thông tin và Truyền

thông, 2015, trang 895-903

[3] http://www.ecs.csus.edu/pc2/

[4] http://codeforces.com/

[5] http://vnoi.info/

[6] http://laptrinh.ntu.edu.vn/

Ngày đăng: 04/09/2021, 06:57

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w