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

LEAS – MÔ HÌNH CHẤM ĐIỂM TỰ ĐỘNG MÃ CODE LẬP TRÌNH C VÀ C++

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 (1.42 MB, 23 trang )

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 và Công nghệ

Ngành học:

Công nghệ Thông tin

Năm thứ: 1

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 và Công nghệ

Ngành học:

Công nghệ Thông tin

Năm thứ: 1

Người hướng dẫn: Ths. Nguyễn Văn Sơn

Thành phố Hồ Chí Minh, Tháng 6/2015

Trang 2


TRÍCH YẾU
 

Hiện nay, ngành Công nghệ thông tin trên thế giới đang phát triển nhanh,
cùng với đó là nhu cầu đào tạo các lớp Công nghệ thông tin ngày càng lớn.
Với tính đặc thù của các môn lập trình đối với ngành Công nghệ thông tin,
việc giảng viên đưa ra bài tập dành cho học sinh là một điều vô cùng cần
thiết. Tuy nhiên, với việc chấm bài thủ công, để thầy/cô có thể vừa chấm bài
cho tất cả sinh viên, vừa có thời gian giảng dạy và nghiên cứu là một điều rất
khó khăn. Đây cũng là nguyên nhân chúng tôi tiến hành tự động hóa quá
trình chấm điểm trong việc giảng dạy các môn lập trình.
Ứng dụng chấm điểm tự động có thể cài đặt dễ dàng trong máy tính của
giảng viên. Với khả năng tự động hóa các thao tác cho điểm, quá trình chấm
điểm được thực hiện hoàn toàn khách quan trên các bộ test được xây dựng từ
trước bởi giảng viên tùy theo yêu cầu bài tập, không bị ảnh hưởng bởi ý 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 năng lực cá nhân, việc tự động chấm điểm theo bộ test của giảng viên
cũng được thực hiện tự động, nhằm đưa ra kết quả khách quan cho sinh viên
tự đánh giá năng lực học tập của chính mình.
Với những khả năng mà ứng dụng chấm điểm tự động mang lại, chúng
tôi hy vọng rằng việc giảng dạy các môn lập trình sẽ trở nên nhẹ nhàng hơn
cho giảng viên, và phía sinh viên có thể tự mình đánh giá năng lực bản thân
một cách trung thực nhất.

Trang 3


MỤC LỤC

 

TRÍCH YẾU ........................................................................................................................ 3
 

MỤC LỤC ........................................................................................................................ 4
 
Chương 1.
  MỞ ĐẦU ....................................................................................................... 5
 
1.1.
  ĐẶT VẤN ĐỀ ........................................................................................................ 5
 
1.2.
  MỤC TIÊU ............................................................................................................ 5
 
1.3.
  ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU .................................................... 5
 
1.3.1.
  Đối tượng nghiên cứu..................................................................................... 5
 
1.3.2.
  Phạm vi nghiên cứu........................................................................................ 5
 
Chương 2.
  TÌNH HÌNH NGHIÊN CỨU ...................................................................... 6
 
2.1.
  THEMIS................................................................................................................. 6
 
2.2.
  MÔ HÌNH CHẤM ĐIỂM TỰ ĐỘNG – LEAS .................................................. 7
 
Chương 3.

  TỔNG QUAN VỀ LEAS .............................................................................. 9
 
3.1.
  Giao diện và các chức năng chính ....................................................................... 9
 
3.1.1.
  Màn hình chính .............................................................................................. 9
 
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 và điểm của bộ test ...................................................... 15
 
3.2.
  Mô hình xử lý....................................................................................................... 16
 
3.3.
  Các hạn chế hiện tại ............................................................................................ 17
 
Chương 4.
  CÁCH RA ĐỀ VÀ CHẤM ĐIỂM ............................................................. 18
 
4.1.
  Cách ra đề ............................................................................................................ 18
 
4.2.

  Cách chấm điểm .................................................................................................. 20
 
Chương 5.
  KẾT LUẬN ................................................................................................. 21
 

Trang 4


Chương 1.

MỞ ĐẦU

1.1. ĐẶT VẤN ĐỀ
Để nâng cao chất lượng dạy và học các môn lập trình, đặc biệt là các
môn học lập trình ở năm thứ nhất như “nhập môn lập trình”, “cấu trúc dữ
liệu”, “lập trình hướng đối tượng”,… thì trong quá trình học sinh viên cần
phải làm rất nhiều bài tập, bài kiểm tra để đánh năng lực học tập một cách
liên tục. Với việc chấm điểm bằng tay thủ công như hiện nay, giảng viên mất
rất nhiều thời gian nhưng cũng rất khó có thể đáp ứng được khối lượng bài
tập và bài thi của sinh viên. Nhằm hỗ trợ công tác chấm điểm với số lượng
lớn các bài tập, bài kiểm tra hoặc bài thi,… một cách tự động, nhanh chóng
và hiệu quả, nhóm chúng tôi đã lựa chọn đề tài này để nghiên cứu và phát
triển với hy vọng sẽ tạo ra một hướng mới trong công tác đánh giá các 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 các môn lập trình
nhằm nâng cao chất lượng dạy và học của sinh viên các ngành công nghệ
thông tin. Dò tìm gian lận, đề cao tính trung thực khi làm bài của 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 bài tập, bài kiểm tra, bài thi của sinh viên và bộ test của giảng
viên, cùng 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 các môn học lập trình tại
đại học Hoa Sen.

• Quản lý điểm các môn học lập trình thông qua quá trình tự làm bài tập
ở nhà của sinh viên.
Trang 5


Chương 2.

TÌNH HÌNH NGHIÊN CỨU

2.1. THEMIS

Hiện nay, TS. Lê Minh Hoàng và Đỗ Đức Đông đã có chương trình
chấm điểm tự động mang tên 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.” 1
Tuy nhiên, khuyết điểm của việc chấm bài bằng “robot” này là khả năng
chính xác không cao lắm. Chỉ cần đúng đáp số so với bộ test thì được cho là

đúng, còn ngược lại đáp số vẫn đúng tuy nhiên có các sai phạm nhỏ ví dụ như
dư mất một dấu cách hay thừa con số 0 thì chương trình lập tức đánh giá là
không đúng. Lỗi này nghe có vẻ đơn giản, tuy nhiên đối với việc sinh viên

1

Trích từ phần giới thiệu của chương trình Themis.

Trang 6


mới tìm hiểu bộ môn Lập trình, cũng không nên quá khắt khe về việc mắc
các sai phạm nhỏ như trên.
Themis hỗ trợ việc chấm điểm cho rất nhiều loại ngôn ngữ lập trình, điều
này dẫn đến việc dung lượng của Themis cũng phải tỉ lệ theo. Trong khi một
thực tế rõ ràng là nhiều khi người dùng không dùng hết chức năng nhưng lại
chẳng có cách nào để giảm dung lượng thừa kia.
Hệ thống này không hỗ trợ quản lý điểm sinh viên theo giời gian, mà chỉ
dùng để kiểm tra và chấm bài theo một lần. Đây là một hạn chế rất lớn đối
với việc theo dõi tiến trình học tập của sinh viên tại trường.
Vì Themis được thiết kế để dùng cho các cuộc thi tin học, nên việc sử
dụng trong môi trường giảng dạy có nhiều mặt không thuận lợi như cách sử
dụng, cấu trúc đề thi, cách chấm bài... Có các cấu hình mà người dùng không
thể thay đổi được, và được coi là mặc định đối với Themis, tuy nhiên chính vì
sự bất biến này mà đôi khi gây khó khăn đối với người sử dụng.

2.2. MÔ HÌNH CHẤM ĐIỂM TỰ ĐỘNG – LEAS
Nhóm chúng tôi lấy tên của hệ thống này là LEAS. Trong đó, L (Lotus),
E (Evaluation), A (Auto), S (System). Từ đây, chúng tôi sẽ dùng từ LEAS
này thay cho hệ thống chấm điểm tự động.

Để áp dụng nghiên cứu này vào các các môn lập trình tại Đại Học Hoa
Sen, chúng tôi đã tìm hiểu và thiết kế ứng dụng đúng với các mong muốn của
giảng viên cũng như sinh viên. Không phủ nhận rằng cách thức hoạt động
của LEAS có đôi nét tương đồng với 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 G++ thì chúng tôi 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 G++ kèm theo trong chương trình.
• Tránh sự sai sót khi khai báo thư viện, có thể trên máy thực hành đã
chạy nhưng khi biên dịch lại báo lỗi vì sự khác nhau giữa thư viện hai bên.
Trang 7


Hiện nay hầu hết tất cả mọi người đều sử dụng Visual Studio cho việc
dạy và học lập trình C/C++. Nên việc sử dụng Visual Studio làm bộ dịch là
một lựa chọn hoàn toàn chính xác cho công việc trên.
Việc sử dụng đề thi và làm bài theo cấu trúc cũng tập cho sinh viên làm
quen với việc làm bài theo khuôn mẫu đề thi, để có thể thích ứng dễ dàng với
các đề thi Olympic hay đề thi tuyển chọn.

Trang 8


Chương 3. TỔNG QUAN VỀ LEAS
3.1. Giao diện và các chức năng chính
3.1.1. Màn hình chính

Đây là giao diện chính khi sử dụng LEAS


LEAS có các vùng làm việc sau:
(1): Các chức năng cơ bản của LEAS.
(2): Vùng cấu hình đề thi, bộ test và bài làm của sinh viên.
(3): Vùng kết quả sau khi cấu hình.

3.1.1.1. Chức năng cơ bản của LEAS

(1): Trở về trang chính. Chức năng này sẽ đưa người dùng trở lại trang
chính dù đang ở bất cứ đâu.

(2): Bật/Tắt hiện thông báo khi xử lý xong các sự kiện.
Trang 9


(3): Hướng dẫn sử dụng, sẽ tùy vào trang hiện hành để có các hướng dẫn
khác nhau.

(4): Thu nhỏ LEAS xuống thanh Taskbar.
(5): Thoát LEAS.
3.1.1.2. Cấu hình

*: Các thông báo như “Hợp lệ”, “5 câu hỏi, 4 sinh viên.” Sẽ được đưa ra
dựa trên thư mục vừa chọn. Người dùng có thể xem tổng quan dữ
liệu dựa trên các thông báo này.

(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ệ” sẽ
xuất hiện. Đường dẫn mặc định của Visual Studio 2013 là:
“C:\Program Files (x86)\Microsoft Visual Studio 12.0”


(2): Thay đổi thư mục chứa dữ liệu. Trong thư mục này chứa bài làm của
sinh viên và thư mục Testcase (cố định) để chứa các bộ test. Xin hãy
xem phần 3.1.3 để hiểu rõ hơn về thư mục này.

(3): Làm mới lại dữ liệu có trong thư mục chứa dữ liệu. Chức năng này
có tác dụng khi người dùng muốn cập nhật thêm bài làm của sinh
viên hay thêm/loại bỏ câu hỏi. Thông thường, dữ liệu cấu trúc đề thi
cũ sẽ được lưu trong file PAS_Data.sic (cố định) nằm trong thư mục
này. Nếu LEAS tìm thấy file PAS_Data.sic, thì sẽ có thông báo như
sau xuất hiện:

Trang 10


Nếu người dùng muốn tiếp tục sử
dụng dữ liệu cũ của đề thi, chỉ cần
nhấn nút đồng ý

để tải dữ liệu có

sẵn. Hoặc nhấn
để hủy.
Trường hợp dữ liệu có sẵn nhưng
không tồn tại đề thi thì LEAS sẽ bỏ
qua đề thi đấy. Và trường hợp tồn tại
đề thi nhưng không có trong dữ liệu thì vẫn thêm đề thi ấy vào như
bình thường. Dữ liệu chính phụ thuộc vào các thư mục chứa trong
thư mục chứa dữ liệu và thư mục Testcase trong đó.

(4): Khóa. Khi người dùng đã chọn xong thư mục chứa dữ liệu, thì LEAS

sẽ tự động quét thư mục đó để cập nhật dữ liệu đề thi và sinh viên
mới. Lúc này, người dùng cần khóa lựa chọn của mình mới có thể bắt
đầu cấu hình đề thi và bài làm của sinh viên.

Người dùng đang chọn thư mục chứa dữ liệu.

Người dùng đã khóa và xác nhận sẽ dùng thư mục này. Lúc này mới có thể
bắt đầu cấu hình đề thi và bài làm của sinh viên.

(5): Trợ giúp, hiện ra bảng hướng dẫn sử dụng phần cấu hình này.
(6): Cấu hình đề thi, là tên các thư mục trong thư mục Testcase. Xin xem
mục 3.1.2 để hiểu rõ hơn.

(7): Cấu hình bộ test cho từng bài tập. Xin xem mục *** để hiểu rõ hơn.
Trang 11


3.1.1.3. Kết quả

(1): Bắt đầu quá trình dịch bài làm của sinh viên thành file .exe. Sau quá
trình này, giảng viên có thể xem Thống kê (2) để biết được sinh tổng
quan bài làm sinh viên của mình trước khi chấm điểm.

(2): Hiện bảng thông tin bài làm của sinh viên.

Giao diện bảng thống kê thông tin bài làm của sinh viên.

(3): Bắt đầu quá trình chấm điểm sau khi dịch bài làm của sinh viên.
Giảng viên có thể cân nhắc việc chấm điểm sau khi xem thống kê sơ
bộ về bài làm của sinh viên của mình.


Trang 12


3.1.2. Cấu hình đề thi

Giao diện cấu hình đề thi.

Nhìn chung, đề thi sẽ bao gồm 3 phần:
• File: Đây là file CPP mà sinh viên sẽ nộp về cho giảng viên để chấm
bài.
• Input: Đây là file đầu vào để nạp dữ liệu cho bài làm.
• Output: Đây là file mà bài làm sẽ xuất ra sau khi đã xử lý thông tin từ
file Input.

(1): Quay lại trang chính.
(2): Danh sách các bài làm của đề thi. Được thu thập dựa trên tên của các
thư mục nằm trong thư mục Testcase.

(3): Chỉnh sửa thông số của bài làm đang được chọn ở vùng (2)
(4): Lưu lại thông tin đề thi vào file PAS_Data.sic trong thư mục chứa
dữ liệu.

(5): Tiếp tục chỉnh sửa bộ Test.

Trang 13


3.1.3. Tủy chỉnh Testcase


Giao diện tùy chỉnh testcase

Nhìn chung, bộ test sẽ bao gồm 4 thông tin:
• File: Đây là file CPP bài làm và cũng là tên của bộ test.
• SL: Số lượng test được dùng để kiểm tra bài làm.
• Input: Định dạng tên các file test đầu vào. Sẽ được chép vào làm dữ
liệu cho bài làm của sinh viên.
• Output: Định dạng tên cái file test đầu ra, được sử dụng để so sánh với
kết quả từ bài làm của sinh viên.

(1): Quay lại trang chính.
(2): Danh sách các bài làm và bộ test tương ứng. Các file test nằm trong
thư mục trong thư mục Testcase.

(3): Chỉnh sửa thông số của bộ test đang được chọn ở vùng (2)
(4): Chỉnh sửa chi tiết thời gian và số điểm của từng bài test riêng. Xin
xem mục 3.1.4 để hiểu rõ hơn.

Trang 14


(5): Lưu lại thông tin đề thi vào file PAS_Data.sic trong thư mục chứa
dữ liệu.

(6): Tiếp tục chỉnh sửa đề thi.
3.1.4. Cấu hình thời gian và điểm của bộ test

Giao diện tùy chỉnh thời gian và số điểm

Nhìn chung, một bài test sẽ bao gồm 2 thông tin:

• Time: Thời gian xử lý tối đa cho phép. Khi vượt quá thời gian này
mà vẫn chưa có output, bài test sẽ được tính là sai. Nếu giá trị này là
0 có nghĩa là không giới hạn thời gian. Giảng viên cần phải cẩn thận
vì có khả năng gặp phải các bài bị tình trạng “vòng lặp vô hạn”.
• Point: Số điểm dành cho một bài test. Hiện tại LEAS chỉ dựa vào số
điểm này để tính điểm, nên giảng viên phải cân nhắc số điểm của
từng test cho phù hợp với tổng số điểm bài làm và số lượng test.

(1): Quay lại trang Tùy chỉnh Testcase.
(2): Danh sách các bài test.

Trang 15


(3): Chỉnh sửa thông số của bài test đang được chọn ở vùng (2)
Đồng bộ tất cả: Khi người dùng sử dụng chức năng này, LEAS sẽ tự
động thay đổi giá trị của tất cả các bài test thành giá trị hiện hành.

Chú ý: Chương trình không tự động lưu các dữ liệu này vào file
PAS_Data.sic, nếu người dùng muốn lưu thì phải quay trở về trang
“Tùy chỉnh Testcase” rồi lưu lại.

3.2. Mô hình xử lý
Khi người dùng chọn thư mục Visual Studio, LEAS sẽ kiểm tra hai file
“VsDevCmd.bat” và “vcvarsall.bat”, các bộ cài Visual Studio đều có hai
file trên, nên đó là một cách để xác thực Visual Studio.
Khi người dùng chọn thư mục chứa dữ liệu, LEAS sẽ quét thư mục đó
dựa trên cấu trúc được quy định ở Chương 4 – Cách ra đề và chấm điểm.
Sau khi đã tùy chỉnh xong, người dùng có thể dùng chức năng Compile
để dịch tất cả bài làm của sinh viên và xem thống kê để biết sinh viên nào

chưa làm bài, làm bài lỗi, nộp thiếu bài... các trạng thái đều được liệt kê đầy
đủ. Việc dịch bài làm của sinh viên rất nhanh chóng. Khi đã đồng ý với
thống kê trên, người dùng tiến hành quá trình chấm điểm và xem lại các
thông tin của sinh viên cùng với kết quả. Toàn bộ quá trình này nhanh hơn
gấp nhiều lần so với việc chấm bài thủ công hiện nay.
Quá trình xử lý bài tập và dữ liệu đầu vào để xuất ra kết quả bài kiểm
tra được thể hiện ở hình dưới. Kết quả bài thi của sinh viên được xuất ra
dưới dạng Excel bao gồm MSSV và số điểm tổng của sinh viên đó. Các dữ
liệu này cũng được sao lưu lại để tiến hành so sánh với các đợt chấm bài
trước, qua đó thể hiện được sự tiến bộ của sinh viên qua quá trình rèn luyện
và học tập các môn lập trình tại trường.

Trang 16


Mô hình xử lý

3.3. Các hạn chế hiện tại
• Cần cài sẵn Visual Studio để có thể sử dụng LEAS.
• Sử dụng CMD để dịch bài làm, nên người dùng không thể mở các cửa
sổ CMD khác trong lúc chạy chương trình.
• Không hiển thị tiếng việt toàn bộ.
Trang 17


Chương 4. CÁCH RA ĐỀ VÀ CHẤM ĐIỂM
4.1. Cách ra đề
Một đề thi cần được chuẩn bị trong hai thư mục:
• Thư mục chứa các bài thi với tên thư mục là Testcase.
• Thư mục chứa các bài làm (tạm gọi là thư mục Contestants).

Thư mục chứa các bài thi gồm nhiều thư mục con, mỗi thư mục con là
một bài thi với cấu trúc sau:
• Tên thư mục cũng là tên file bài làm mà sinh viên nộp về. Bao gồm cả
tên file và phần mở rộng.
• Trong thư mục đó chứa bộ test cần dùng, mỗi test gồm 2 file (Input và
Output – các files này sẽ được copy vào nơi có bài làm của thí sinh để cung
cấp dữ liệu khi chạy bài làm của thí sinh), cách tùy chỉnh bộ testcase sẽ được
nêu ở phần sau.
Thư mục chứa các bài làm gồm nhiều thư
mục con, mỗi thư mục con có tên là MSSV
của chính sinh viên làm bài, và chứa toàn bộ
bài làm của 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 về là “CapSoNhan.cpp”
và “Cong2So.cpp”.
Bài “CapSoNhan.cpp” gồm có hai bài test.
Còn bài “Cong2So.cpp” chỉ có một bài test.
Có 3 sinh viên đã nộp bài là các sinh viên
có mã số “2144960”, “2143108”, “2144344”.
Sinh viên “2144960” đã nộp đủ hai bài,
còn 2 sinh viên còn lại mỗi người chỉ nộp một
bài.
Ví dụ về thư mục chứa dữ liệu
Trang 18


Ví dụ về bài làm và bộ test

Trang 19



4.2. Cách chấm điểm
Mỗi bài đúng sẽ được cộng tương đương một lượng điểm được quy
định ở “Cấu hình thời gian và điểm” – mục 3.1.4. Tổng số điểm của một bài
là tổng điểm của tất cả các test của bài đó.

Trang 20


Chương 5. KẾT LUẬN
5.1. Kết quả đạt được
Nghiên cứu đã đưa ra được mô hình cách thức xây dựng đề thi và chấm
điểm tự động các môn học lập trình. Mô hình này có thể được áp dụng thực
tế tại Khoa Khoa học và Công nghệ, trường Đại Học Hoa Sen nhằm nâng cao
chất lượng dạy và học các môn lập trình.
5.2. Hướng phát triển trong tương lai
− Nâng cấp hệ thống LEAS để có thể chấm được nhiều ngôn ngữ khác nhau.
− Chấm điểm trực tuyến (online): Sinh viên có thể nộp bài qua mạng và
nhận kết quả bài kiểm tra ngay tức thời.
− Kết nối dữ liệu với các hệ thống đã có sẵn trong nhà trường để đồng bộ
điểm.

Trang 21


TÀI LIỆU THAM KHẢO
1. Chương trình “Themis”, Lê Minh Hoàng và Đỗ Đức Đông, phiên bản
1.1.6.367
2. Microsoft, “Process Class (System.Diagnostics)”. Truy cập ngày
01/05/2015

/>3. LUA, “Coroutine”. Truy cập ngày 29/04/2015
/>4. dsapblog, “Themis [Θέµις] Chương trình chấm bài tự động”. Truy
cập ngày 14/04/2015
/>5. Die Mannschaft, “Themis 1.8.4 – Phần mềm chấm bài tự động”. Truy
cập ngày 01/04/2015
/>
Trang 22




×