Xây dựng hệ thống đánh giá trực tuyến kĩ năng lập trình của sinh viên các ngành điện và công nghệ thông tin trường đại học giao thông vận tải

1. Mở đầu

Ngôn ngữ lập trình là một trong những môn cơ sở của

các khối ngành kĩ thuật. Với một giảng viên rất khó có thể

kiểm tra và chữa lỗi cho tất cả sinh viên (SV) của một lớp.

Đặc biệt, trong giai đoạn SV mới học lập trình, một chương

trình có thể mắc rất nhiều lỗi, đòi hỏi người hướng dẫn phải

kiểm tra, sửa chữa rất nhiều lần. Do vậy, kĩ năng lập trình là

trở ngại lớn đối với phần lớn SV mới học lập trình [1]. Thực

tế cho thấy, với các SV không chuyên, không nhiều SV có

thể rèn luyện được kĩ năng lập trình tốt. Với các SV thuộc

khối Công nghệ thông tin, việc đánh giá chất lượng thuật

toán về thời gian chạy chương trình, tính hiệu quả, khả năng

bao quát các tình huống rất khó có thể được đánh giá toàn

diện thông qua việc phân tích chương trình.

Các hệ thống hỗ trợ học tập trực tuyến (e-learning) đã

được nghiên cứu và ứng dụng nhiều trong giảng dạy ở Việt

Nam và trên thế giới. Các hệ thống này đã tạo ra môi

trường để cung cấp tài liệu, giao tiếp người học - người

dạy và đặc biệt là đánh giá trực tuyến người học [1], [2].

Tuy nhiên, môn học lập trình có những đặc thù khác,

không thể ứng dụng được các hệ thống e-learning hiện tại.

Bài viết trình bày nội dung nghiên cứu về xây dựng

hệ thống đánh giá trực tuyến kĩ năng lập trình cho SV các

ngành Điện và Công nghệ thông tin Trường Đại học

Giao thông Vận tải

pdf 5 trang phuongnguyen 5340
Bạn đang xem tài liệu "Xây dựng hệ thống đánh giá trực tuyến kĩ năng lập trình của sinh viên các ngành điện và công nghệ thông tin trường đại học giao thông vận tải", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Xây dựng hệ thống đánh giá trực tuyến kĩ năng lập trình của sinh viên các ngành điện và công nghệ thông tin trường đại học giao thông vận tải

Xây dựng hệ thống đánh giá trực tuyến kĩ năng lập trình của sinh viên các ngành điện và công nghệ thông tin trường đại học giao thông vận tải
VJE Tạp chí Giáo dục, Số 442 (Kì 2 - 11/2018), tr 61-64; bìa 3 
61 
Email: nguyenghia.ktd@utc.edu.vn 
XÂY DỰNG HỆ THỐNG ĐÁNH GIÁ TRỰC TUYẾN KĨ NĂNG LẬP TRÌNH 
CỦA SINH VIÊN CÁC NGÀNH ĐIỆN VÀ CÔNG NGHỆ THÔNG TIN 
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI 
Nguyễn Văn Nghĩa - Phạm Xuân Tích 
Trường Đại học Giao thông Vận tải 
Ngày nhận bài: 14/09/2018; ngày sửa chữa: 12/10/2018; ngày duyệt đăng: 16/10/2018. 
Abstract: The article presents the research of building an automated system for evaluating 
programming skills. This system allows for the evaluation of the accuracy of a computer program 
automatically based on results test of the program with sample data, automatic review allows the 
user to quickly know the results of the program; from there, users have solutions to innovate 
programme. For coders, this is an advanced and effective method of self-study, self-improvement 
of programming skills and related subjects. 
Keywords: Online programming judge, programming skill, teaching support. 
1. Mở đầu 
Ngôn ngữ lập trình là một trong những môn cơ sở của 
các khối ngành kĩ thuật. Với một giảng viên rất khó có thể 
kiểm tra và chữa lỗi cho tất cả sinh viên (SV) của một lớp. 
Đặc biệt, trong giai đoạn SV mới học lập trình, một chương 
trình có thể mắc rất nhiều lỗi, đòi hỏi người hướng dẫn phải 
kiểm tra, sửa chữa rất nhiều lần. Do vậy, kĩ năng lập trình là 
trở ngại lớn đối với phần lớn SV mới học lập trình [1]. Thực 
tế cho thấy, với các SV không chuyên, không nhiều SV có 
thể rèn luyện được kĩ năng lập trình tốt. Với các SV thuộc 
khối Công nghệ thông tin, việc đánh giá chất lượng thuật 
toán về thời gian chạy chương trình, tính hiệu quả, khả năng 
bao quát các tình huống rất khó có thể được đánh giá toàn 
diện thông qua việc phân tích chương trình. 
Các hệ thống hỗ trợ học tập trực tuyến (e-learning) đã 
được nghiên cứu và ứng dụng nhiều trong giảng dạy ở Việt 
Nam và trên thế giới. Các hệ thống này đã tạo ra môi 
trường để cung cấp tài liệu, giao tiếp người học - người 
dạy và đặc biệt là đánh giá trực tuyến người học [1], [2]. 
Tuy nhiên, môn học lập trình có những đặc thù khác, 
không thể ứng dụng được các hệ thống e-learning hiện tại. 
Bài viết trình bày nội dung nghiên cứu về xây dựng 
hệ thống đánh giá trực tuyến kĩ năng lập trình cho SV các 
ngành Điện và Công nghệ thông tin Trường Đại học 
Giao thông Vận tải. 
2. Nội dung nghiên cứu 
2.1. Cơ sở đề xuất xây dựng hệ thống đánh giá trực 
tuyến kĩ năng lập trình cho sinh viên các ngành Điện 
và Công nghệ thông tin Trường Đại học Giao thông 
Vận tải 
Đánh giá lập trình viên thông qua môi trường kiểm 
tra lập trình trên máy tính là giải pháp phổ biến và hiệu 
quả trên thế giới. Trên thế giới, đánh giá khả năng lập 
trình của các lập trình viên được thực hiện qua nhiều tiêu 
chí khác nhau như kĩ năng tổ chức chương trình, khả 
năng phối hợp, sử dụng các thuật toán và kĩ năng sử dụng 
ngôn ngữ lập trình, Trong đó, phương pháp tỏ ra hiệu 
quả và được sử dụng nhiều đó là đánh giá thông qua các 
bài kiểm tra lập trình. Người lập trình được giao cho một 
vấn đề phải xây dựng chương trình để xử lí dữ liệu đầu 
vào và kết xuất dữ liệu đầu ra theo mục tiêu của bài toán; 
người kiểm tra sẽ cung cấp các số liệu đầu vào thử 
nghiệm và so sánh kết quả đầu ra của chương trình với 
các giá trị đầu ra mẫu phù hợp với mục tiêu của bài toán; 
hiệu quả của bài toán được xác định theo tính đúng của 
kết quả xử lí và thời gian xử lí số liệu. 
Phương pháp này có ưu điểm là nhanh chóng xác 
định được tính đúng của lời giải mà không phải quan tâm 
tới cách viết mã chương trình, cách tổ chức chương trình. 
Kết quả được đánh giá một cách định lượng thông qua 
số lượng phép thử thành công và thời gian xử lí. Tuy 
nhiên, đây cũng là nhược điểm của phương pháp do 
không đánh giá được kĩ năng tổ chức chương trình. 
Với sự phát triển của công nghệ thông tin, quá trình 
đánh giá thông qua bài kiểm tra có thể được thực hiện 
hoàn toàn thông qua môi trường mạng máy tính (thường 
gọi là các hệ kiểm tra - judge system, chạy trên các máy 
kiểm tra - judge server), việc sử dụng các hệ thống này 
thường được gọi là các môi trường kiểm tra lập trình. Đã 
có nhiều phần mềm khác nhau thực hiện công việc này 
như: CSM, Codeforce, SPOIJ, MOJ, SPHERE, 
Themis, Các phần mềm này đã được triển khai để 
phục vụ các cuộc thi Olympic tin học trên thế giới cũng 
như phục vụ tự học lập trình cho người sử dụng. 
Đối với môi trường giảng dạy đại học, môi trường 
kiểm tra lập trình sẽ hỗ trợ rất tốt cho quá trình học và tự 
VJE Tạp chí Giáo dục, Số 442 (Kì 2 - 11/2018), tr 61-64; bìa 3 
62 
học ngôn ngữ lập trình và thuật toán của SV do SV có thể 
tiếp cận với một thư viện bài tập rất lớn với đủ mọi độ khó. 
Quá trình đánh giá cũng tự động, nhờ vậy SV có thể tự 
học, tự nâng cao khả năng lập trình cũng như thử nghiệm 
các thuật toán đã được học. SV có thể đăng kí vào các 
server này để tham gia quá trình kiểm tra, đánh giá [3]. 
Tuy nhiên, việc ứng dụng các môi trường kiểm tra 
trên các hệ thống quốc tế trong đào tạo SV Trường Đại 
học Giao thông Vận tải không phù hợp do: 
- Không chủ động và kiểm soát được các server cũng 
như kết quả kiểm tra. 
- Không thể khai thác các hệ thống đã có với số lượng 
SV lớn. 
- Ngôn ngữ mô tả đầu bài tập không phù hợp với SV. 
- Dữ liệu kiểm tra và đáp án phục vụ riêng cho mỗi 
hệ thống. 
Trước các khó khăn đó, chúng tôi đã có ý tưởng xây 
dựng môi trường tự đánh giá tính đúng của một chương 
trình máy tính. Trên cơ sở chương trình chạy với các tình 
huống số liệu khác nhau, khi so sánh với kết quả mẫu sẽ 
nhanh chóng đánh giá được tính đúng của chương trình. 
Đây là giải pháp có tính khả thi cao, có khả năng giải 
quyết được các vấn đề nêu trên. 
2.2. Xây dựng hệ thống đánh giá trực tuyến kĩ năng lập trình 
Nghiên cứu được thực hiện dựa trên công nghệ 
Internet hiện nay và qua quá trình dạy và học môn Tin 
học đại cương tại Khoa Điện - Điện tử và Khoa Công 
nghệ Thông tin, Trường Đại học Giao thông Vận tải. 
Chúng tôi tiến hành nghiên cứu, so sánh hệ nền hỗ trợ 
kiểm tra lập trình, từ đó đưa ra đề xuất lựa chọn môi 
trường hỗ trợ kiểm tra lập trình [4]. 
2.2.1. Lựa chọn môi trường kiểm tra lập trình 
Hệ thống tự đánh giá (Online Programming judge - 
OPJ) là hệ thống hỗ trợ đánh giá tính đúng của chương 
trình. Đây là hệ thống phức tạp, gồm nhiều thành phần 
và liên quan đến cả hệ thống, máy ảo cũng như các 
chương trình dịch. Nhìn chung, hệ thường được chia 
thành 3 module chính: giao diện, hệ quản lí, máy test. 
Qua phân tích so sánh các hệ thống OPJ hiện có, đã 
chọn hệ DMOJ làm đối tượng phát triển do một số ưu 
điểm về cấu trúc. 
2.2.2. Khảo sát môi trường DMOJ 
DMOJ là tên gọi của mã nguồn mở OPJ viết trên nền 
python. Nó có đầy đủ các tính năng của một OPJ, bao 
gồm: giao diện người sử dụng trên web, máy test chạy 
trên sandbox, hỗ trợ đa ngôn ngữ lập trình và hệ thống 
test case phong phú. 
- Máy test: Máy chấm là một hệ chạy độc lập so với 
giao diện. 
- Sandbox: Máy test của DMOJ được thiết kế dựa 
trên Sandbox package. Sandbox là tính năng cho phép 
chạy một chương trình trong môi trường cô lập. Nhờ có 
sandbox, chương trình test có thể được chạy an toàn và 
không ảnh hưởng tới máy chủ. 
- Hệ dịch: Hệ dịch là một phần của máy test. Trong 
hệ thống đã triển khai, đã cài đặt được hơn 30 ngôn ngữ 
chính, bao gồm C, Java, Python, PHP, Pascal.... 
- Test case: Test case là một loạt các bộ số liệu đầu 
vào và đầu ra tương ứng để nhập vào và so sánh với kết 
quả chạy. DMOJ cho phép sử dụng nhiều test case cho 
cùng một bài và đánh giá điểm với các trọng số khác 
nhau trên mỗi test case. 
- Hệ đánh giá: Hệ đánh giá trong DMOJ chấp nhận 
nhiều dạng kết quả đầu ra như dạng chữ (so khớp 100%), 
dạng số, dạng số thập phân (cho phép sai số), thậm chí 
dạng luật hoặc dạng hàm (thiết lập luật đánh giá cho số 
liệu ra). 
- Giao diện: Giao diện giúp người sử dụng có thể can 
thiệp vào hệ thống. Ngoài chức năng chính nhập chương 
trình cần test, giao diện cần thực hiện các nhiệm vụ như: 
quản lí người dùng; quản lí, soạn thảo đề thi, test case; 
quản lí các bài thi, điểm số; quản lí các cuộc thi; Xếp 
hạng thành viên. 
2.2.3. Hoạt động và cài đặt 
Hệ thống chạy trên nền Linux. Do điều kiện nghiên 
cứu, chúng tôi chọn fedora core làm nền tảng để cài đặt. 
Một số hiệu chỉnh được thực hiện do sai khác với nền 
tảng đề xuất (Debian). 
- Nguyên tắc hoạt động của chương trình 
Do tính đặc thù của môi trường kiểm tra lập trình, 
việc cài đặt đòi hỏi phải nắm rõ được phương thức hoạt 
động và các thành phần của hệ thống. 
Giao tiếp giữa các module trong hệ thống được thể 
hiện trong hình 1 (trang bên). 
- Cài đặt DMOJ 
DMOJ được cung cấp trên thư viện mã nguồn mở tại 
địa chỉ https://github.com/DMOJ. 
+ Tiến hành download và cài đặt các module liên 
quan bằng dòng lệnh sử dụng các cú pháp git và cài đặt 
python từ shell của hệ thống. 
+ Kết nối với database server và tạo dữ liệu demo. 
+ Lần lượt cài đặt các thư viện liên quan như python, 
mysql, nginx, uwsgi.... 
+ Cài đặt module Mathoid và Texoid để thể hiện biểu 
thức toán học và Latex. 
+ Cài đặt uwsgi làm module kết nối python. 
+ Cài đặt nginx làm môi trường giao diện web. 
VJE Tạp chí Giáo dục, Số 442 (Kì 2 - 11/2018), tr 61-64; bìa 3 
63 
+ Cài đặt event server để tạo các kết nối cập nhật với 
giao diện web. 
- Việt hóa giao diện: Soạn thảo giao diện Việt hóa 
trên thư viện dịch mở hỗ trợ DMOJ. 
- Cài đặt máy chấm (Judger): Cài đặt judger trên máy 
cùng máy chủ hoặc trên các máy tính riêng biệt tùy theo 
số lượng người dùng đồng thời. Judger kết nối qua một 
số kênh sau: 
+ Kết nối giữa giao diện và máy chấm thông qua cổng 
9999: Máy chấm sẽ liên tục gửi câu hỏi cho Giao diện để 
biết có bài chấm và nhận bài chấm. 
+ Cập nhật thư viện bài thi và test case thông qua 
folder trên máy chủ. Nếu máy chấm và giao diện được 
chạy trên các máy khác nhau thì cần có cơ chế đồng bộ 
dữ liệu giữa folder của hai máy. 
Các thông tin cấu hình về cổng kết nối và folder 
chứa test case phải được khai báo trong file cấu hình 
của hệ thống. 
- Cài đặt chương trình dịch 
+ Cài đặt các gói chương trình dịch: Một số gói 
chương trình dịch phổ biến: C, C++, Java, Python, PHP, 
Pascal.... được cài đặt thông qua các lệnh cài đặt và cấu 
hình phù hợp để các chương trình dịch chạy bình thường. 
+ Tiến hành khai báo đường dẫn và thông số của các 
chương trình dịch thông qua tệp cấu hình của hệ thống. 
2.3. Sử dụng hệ thống và nhập dữ liệu 
- Nhập đầu bài và bộ số liệu test: 
+ Vào trang web  đăng nhập 
tài khoản, từ màn hình trang chủ trên Topmenu chọn “ĐỀ 
BÀI”. 
+ Bên phải phía dưới tên tài khoản kích chọn Quản 
trị xuất hiện cửa sổ mới. 
+ Chọn tab “Thêm vào” rồi điền thông tin các trường: 
Mã đầu bài, tên bài toán, công khai, Ngày xuất bản, 
người tạo tại ô soạn thảo để thêm nội dung đề bài. 
+ Phía dưới ô soạn thảo đề bài tiếp tục điền thông tin 
các trường: license: chọn tài khoản người tạo; phân loại: 
chọn “Kiểu vấn đề” và “Nhóm đề bài” bài phù hợp. 
Soạn 
thảo 
bài thi 
Quản lí 
bài test 
Judger 
Điểm 
GIAO DIỆN 
NGƯỜI 
LÀM 
SAND 
BOX 
Bài test 
Submit 
Bài test 
Quản lí đề thi 
Soạn thảo 
đề thi 
QUẢN LÍ 
Mô 
tả đề 
Test 
case 
Soạn thảo ngân 
hàng đề thi 
Quản trị đề thi 
Test case Mô tả đề 
Quản lí ngân 
hàng đề thi 
Hình 1. Giao tiếp giữa các module trong hệ thống OPJ DMOJ 
VJE Tạp chí Giáo dục, Số 442 (Kì 2 - 11/2018), tr 61-64; bìa 3 
64 
+ Tại mục “Điểm” số điểm đạt được khi hoàn thành 
bài tập sau đó tích vào ô “cho phép cho điểm từng phần” 
(hình 2). 
+ Trường “Giới hạn”: “Giới hạn thời gian” là thời 
gian hoàn thành bài tập và “Giới hạn bộ nhớ”. 
+ Chọn “Ngôn ngữ” kích chọn loại ngôn ngữ. 
+ Chọn “Giới hạn tài nguyên theo ngôn ngữ” điền 
các trường thông tin nếu có. 
+ Thêm “Lời giải” cho đề bài nếu có. 
+ Đóng góp bản dịch cho đầu bài kích chọn “Dịch 
đầu bài”. 
Khi đã hoàn thành tất cả các trường thôn tin người 
dùng chọn các chế độ phù hợp để lưu lại: “Lưu lại”, 
“Lưu lại và thêm mới” hoặc “Lưu và tiếp tục chỉnh sửa”. 
- Tổ chức cuộc thi: 
+ Tại giao diện trang chủ chọn trên Topmenu “Cuộc 
thi”, bên phải phía dưới tên tài khoản kích chọn “Quản 
trị” mở ra tab mới kích chọn “Thêm vào” điền thông tin 
cho các trường: Mã ID cuộc thi, tên cuộc thi, Organizers 
(người có thể chỉnh sửa cuộc thi), tích chọn “Công khai” 
đưa thông tin cuộc thi lên web. 
+ Điền các trường tiếp theo của giao diện: “Xếp loại”: 
tích chọn hai trường “Cuộc thi đã được xếp hạng” và 
“Đánh giá tất cả”; “Tổ chức”: tích chọn “Dành riêng cho 
tổ chức” nếu có và chọn tên “Tổ chức; “PROBLEMS” 
chọn các thông tin cuộc thi. 
+ Tổ chức các cuộc thi. 
2.4. Ứng dụng chương trình trong đánh giá kĩ năng lập 
trình cho sinh viên ngành Điện và Công nghệ thông tin 
Trường Đại học Giao thông Vận tải 
Hệ thống đã đưa vào thử nghiệm và hoạt động từ 
1/2018 đến nay tại địa chỉ web  
Các kết quả chính đạt được như sau: 
- Triển khai 1 máy chủ và 2 máy chấm với 10 judger 
engine. 
- Hỗ trợ 29 tùy biến ngôn ngữ lập trình, bao gồm đầy 
đủ các ngôn ngữ lập trình thông dụng 
như: C, C++, C, Java, Python, PHP, 
Pascal... 
- Đã tạo 700 đề bài trên hệ thống, bao 
gồm phần trình bày, test case và bài mẫu. 
- Đã có 830 thành viên đăng kí, bao 
gồm cả SV trong trường và người sử 
dụng khác. 
- Đã liên tục tổ chức các cuộc thi với 
mục đích giúp người học biết được trình độ 
tương đối của mình, từ đó có động lực phấn 
đấu trong học tập. Các cuộc thi đều thu hút 
được sự tham gia nhiệt tình của thành viên. 
- Đã có 32.000 lượt bài tập được nộp, 
với 11.000 lời giải đúng (hình 3). 
Hình 3. Tổng hợp kết quả nộp lời giải chương trình 
- Qua thống kê và sàng lọc đối tượng tham dự, có thể 
chia thành 3 nhóm chính: 
+ Nhóm 1: thành viên thuộc đối tượng đang tự học 
lập trình có số lượt làm bài nhiều nhất - trung bình 7,5 
bài/thành viên, số lần nộp trung bình cho mỗi bài cho đến 
khi có lời giải đúng là 5. 
+ Nhóm 2: các thành viên không tích cực có kết quả 
làm đúng khá thấp và số lượng bài làm thấp. 
+ Nhóm 3: nhóm các thành viên có kĩ năng lập trình 
cao, chủ yếu đăng kí tham gia các cuộc thi. 
- Tổ chức các bài thi, giúp giảng viên đánh giá được 
trình độ của SV một cách nhanh chóng và chính xác. 
- Nhận xét: 
+ Hệ thống đã được sự hưởng ứng tham gia nhiệt tình 
của người học và hỗ trợ tốt cho đối tượng đang học lập trình. 
Hình 2. Màn hình nhập số liệu đề bài 
VJE Tạp chí Giáo dục, Số 442 (Kì 2 - 11/2018), tr 61-64; bìa 3 
65 
+ Đã ứng dụng OPJ hỗ trợ tốt cho việc tự học và kiểm 
tra kĩ năng lập trình cho SV Trường Đại học Giao thông 
Vận tải. Kết quả sử dụng hệ thống cho phép SV học ngôn 
ngữ lập trình nhanh và thuận lợi hơn. Việc sử dụng 
chương trình cho phép nâng cao chất lượng đào tạo và kĩ 
năng của SV. 
+ Việc đánh giá khả năng lập trình của SV cũng 
khách quan và hiệu quả. 
+ Hệ thống chưa đáp ứng được nhu cầu đa dạng của 
đối tượng học, bao gồm cả các đối tượng mới bắt đầu học 
và thành viên trình độ cao. 
3. Kết luận 
Nhóm thực hiện đã lựa chọn được hệ thống OPJ hỗ 
trợ giảng dạy. Hệ thống đã được cài đặt và hoạt động ổn 
định tại địa chỉ  Hệ thống bước 
đầu hoạt động tốt và tỏ ra có hiệu quả trong việc tự học 
cho SV và hỗ trợ đánh giá kết quả học tập cho giảng viên. 
Đề xuất tiếp tục khai thác ứng dụng chương trình cho 
tự học và đánh giá kết quả học tập của các môn học khác 
có liên quan đến kĩ năng lập trình và thuật toán; sử dụng 
rộng rãi chương trình cho SV trong trường cũng như các 
đối tượng khác; đẩy mạnh xây dựng bộ bài tập được phân 
loại tốt và phổ biến rộng rãi trên mạng. 
Tài liệu tham khảo 
[1] Trịnh Văn Biều (2012). Một số vấn đề về đào tạo 
trực tuyến (E-Learning). Tạp chí Khoa học, Trường 
Đại học Sư phạm TP. Hồ Chí Minh, số 40, tr 86-90. 
[2] Nguyễn Ngọc Bình - Nguyễn Thúc Hải - Đỗ Văn 
Uy (2003). Kiến trúc nền cho E-learning và hệ đào 
tạo trên mạng BKVIEWS. Kỉ yếu hội thảo quốc gia 
về công nghệ thông tin, tháng 4/2003, Hà Nội. 
[3] Nguyễn Văn Linh - Phan Phương Lan - Trần Minh 
Tân - Phan Huy Cường - Võ Huỳnh Trâm - Trần 
Ngân Bình (2013). Nghiên cứu xây dựng hệ thống 
e-learning hỗ trợ trong đào tạo theo học chế tín chỉ. 
Tạp chí Khoa học, Trường Đại học Cần Thơ, số 25, 
tr 94-102. 
[4] Trường Đại học Giao thông Vận tải (2014). Chương 
trình đào tạo Đại học. 
[5] Bùi Thanh Giang - Chu Quang Toàn - Đào Quang 
Chiểu (2004). Các công nghệ đào tạo từ xa và e-
learning. NXB Bưu điện. 
[6] Phạm Thanh Huyền (2013). Triển khai E-
learning tại Trường Đại học Giao thông vận tải. 
Tạp chí Khoa học, Trường Đại học Giao thông 
Vận tải, số 41, tr 108-113. 
[7] Som Naidu (2003). E-Learning - A Guidebook of 
Principles, Procedures and Practices. Sanjaya 
Mishra, New Delhi. 
VẬN DỤNG KĨ THUẬT DẠY HỌC... 
(Tiếp theo trang 52) 
Trong quá trình thảo luận, các ý đưa ra có thể chưa rõ 
ràng, chưa đáp ứng được yêu cầu của đề nhưng việc sử 
dụng kĩ thuật sáu chiếc nón tư duy với những câu hỏi tìm 
hiểu đề, tìm ý xoay quanh những màu sắc khác nhau sẽ 
tạo bầu không khí học tập tích cực, sáng tạo; đồng thời, 
khuyến khích HS học cách suy nghĩ và chủ động chiếm 
lĩnh kiến thức. Bên cạnh đó, với vai trò điều khiển, tổ 
chức hoạt động dạy và học, GV sẽ có điều kiện phát triển 
năng lực tạo lập văn bản cho người học theo từng bước 
của tiến trình dạy học làm văn. 
3. Kết luận 
Hiệu quả của việc dạy học phụ thuộc rất nhiều vào 
cách sử dụng các phương pháp, kĩ thuật dạy học. Kĩ thuật 
dạy học sáu chiếc nón tư duy là một giải pháp có thể nâng 
cao hiệu quả của việc dạy học làm văn nghị luận trong nhà 
trường, đặc biệt thiết thực trong bước tìm hiểu đề, tìm ý. 
Hiệu quả sẽ cao hơn nếu GV biết kết hợp chặt chẽ và nhịp 
nhàng với hình thức thảo luận nhóm. Với những câu hỏi 
xoay quanh yêu cầu của đề bài, HS sẽ khai thác từng khía 
cạnh của vấn đề cần nghị luận một cách sâu sắc, toàn diện, 
không bỏ sót ý. Sự vận động tích cực trong việc tìm ý đòi 
hỏi người học phải suy nghĩ, động não, sau đó thảo luận 
để lựa chọn, sắp xếp ý một cách hợp lí để làm sáng tỏ và 
nổi bật vấn đề cần nghị luận. Qua đó, HS sẽ tự rút ra được 
những kiến thức của bài học, cùng kĩ năng trình bày ý 
tưởng, kĩ năng giao tiếp trong quá trình tạo lập văn bản. 
Đây chính là cách thức phát triển năng lực cho người học 
một cách phù hợp và toàn diện, đáp ứng được yêu cầu đổi 
mới việc dạy học làm văn trong nhà trường hiện nay. 
Tài liệu tham khảo 
[1] Edward De Bono (2008). Sáu chiếc nón tư duy. 
NXB Trẻ. 
[2] Lê A - Nguyễn Trí (2001). Làm văn (Giáo trình đào 
tạo giáo viên trung học cơ sở hệ cao đẳng sư phạm). 
NXB Giáo dục. 
[3] Nguyễn Quốc Siêu (1998). Kĩ năng Làm văn nghị 
luận phổ thông. NXB Giáo dục. 
[4] Bảo Quyến (2007). Rèn luyện kĩ năng Làm văn nghị 
luận. NXB Giáo dục. 
[5] Gail E. Tompkins (2008). Teaching writing 
balancing process and product. Merrill Prentice Hall. 
[6] Bộ GD-ĐT (Dự án Việt - Bỉ, 2000). Dạy kĩ năng tư duy. 
[7] Đỗ Ngọc Thống (1997). Làm văn từ lí thuyết đến 
thực hành. NXB Giáo dục. 
[8] Steve Graham - Charles A.MacArthur - Jill Fitzgerald 
(2013). Best practices in writng instruction. 
NewYork, NY, USA: The Guilford Press. 

File đính kèm:

  • pdfxay_dung_he_thong_danh_gia_truc_tuyen_ki_nang_lap_trinh_cua.pdf