Tải bản đầy đủ (.docx) (72 trang)

Xây dựng phần mềm hỗ trợ dạy và học ngôn ngữ lập trình pascal cho học sinh trung học phổ thông

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 (3.28 MB, 72 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

TRẦN MINH HIỀN

XÂY DỰNG PHẦN MỀM HỖ TRỢ DẠY
VÀ HỌC NGÔN NGỮ LẬP TRÌNH PASCAL
CHO HỌC SINH TRUNG HỌC PHỔ THƠNG

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

HÀ NỘI - 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

TRẦN MINH HIỀN

XÂY DỰNG PHẦN MỀM HỖ TRỢ DẠY
VÀ HỌC NGÔN NGỮ LẬP TRÌNH PASCAL
CHO HỌC SINH TRUNG HỌC PHỔ THƠNG
Ngành
Chun ngành
Mã số

: Công nghệ thông tin
: Kỹ thuật phần mềm
: 60.48.01.03

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN



Cán bộ hƣớng dẫn khoa học: PGS.TS. Trƣơng Anh Hoàng

HÀ NỘI – 2015


LỜI CẢM ƠN

Trước tiên, em xin gửi lời cảm ơn chân thành và lòng biết ơn sâu sắc đến thầy
giáo hướng dẫn - PGS.TS Trương Anh Hồng đã tận tình hướng dẫn em trong suốt q
trình thực hiện khóa luận tốt nghiệp.
Em cũng xin bày tỏ lời cảm ơn sâu sắc tới các thầy giáo, cô giáo trường Đại học
Công nghệ, những người thầy, người cơ đã tận tình giảng dạy và truyền đạt cho em
những kiến thức, những kinh nghiệm quý báu trong suốt quá trình học tập ở trường.
Tiếp đến, em xin chân thành cảm ơn các anh chị, thầy cô đồng nghiệp trường
THPT Cầu Giấy – Hà Nội đã luôn động viên, giúp đỡ, tạo điều kiện cho em hồn
thành khóa luận tốt nghiệp.
Sau cùng, con xin bày tỏ lòng biết ơn tới cha mẹ, anh chị, những người thân
trong gia đình và bạn bè đã ln ở bên cạnh con, giúp con vượt qua khó khăn trong
học tập cũng như trong cuộc sống để đi đến cái đích ngày hơm nay.
Về luận văn, do thời gian và điều kiện có hạn nên luận văn khơng tránh khỏi
những thiếu sót. Tơi rất mong nhận được sự góp ý của bạn bè, thầy cô và những người
quan tâm đến đề tài này.
Hà nội, ngày 20 tháng 11 năm 2015
Học viên

Trần Minh Hiền


LỜI CAM ĐOAN


Tôi xin cam đoan luận văn tốt nghiệp “Xây dựng phần mềm hỗ trợ dạy và học
ngôn ngữ lập trình Pascal cho học sinh Trung học phổ thơng” là cơng trình nghiên cứu
của tơi dưới sự hướng dẫn và định hướng của PGS.TS. Trương Anh Hoàng. Các số
liệu, nội dung tham khảo được trích dẫn có nguồn gốc rõ ràng, tuân thủ tôn trọng
quyền tác giả, không vi phạm luật sở hữu trí tuệ và pháp luật Việt Nam. Nếu sai, tơi
xin chịu hồn tồn trách nhiệm trước pháp luật.

TÁC GIẢ LUẬN VĂN

Trần Minh Hiền


MỤC LỤC
LỜI CẢM ƠN1

LỜI CAM ĐOAN4
MỤC LỤC5
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT7
DANH MỤC HÌNH ẢNH, ĐỒ THỊ8
DANH MỤC BẢNG BIỂU9
PHẦN MỞ ĐẦU.......................................................................................................... 1
Chƣơng 1. TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU.......................................... 3
1.1. Vấn đề dạy và học ngơn ngữ lập trình Pascal trong trường THPT....................3
1.2. Phát biểu bài tốn.............................................................................................. 5
1.2.1. Quy trình xử lý............................................................................................ 5
1.2.2. Những khó khăn thách thức......................................................................... 5
1.3. Hướng tiếp cận.................................................................................................. 6
1.4. Kết luận chương................................................................................................ 6
Chƣơng 2. TỔNG QUAN VỀ CODE HUNT VÀ ỨNG DỤNG TRONG DẠY

HỌC PASCAL............................................................................................................. 7
2.1. Tổng quan về Code Hunt................................................................................... 7
2.1.1. Giới thiệu về Code Hunt.............................................................................. 7
2.1.2. Chức năng của Code Hunt........................................................................... 7
2.1.3. Kiến trúc của Code Hunt............................................................................. 9
2.2. Ứng dụng mơ hình Code Hunt trong dạy học Pascal......................................10
2.2.1. Chiến thuật trị chơi hóa (Gamification).................................................... 10
2.2.2. Thiết kế động viên người học.................................................................... 12
2.2.3. Thiết kế học tập trải nghiệm...................................................................... 15
2.2.4. Đánh giá người học theo thang phân loại Bloom và Drefus......................18
2.3. Kết luận chương 2........................................................................................... 22
Chƣơng 3. XÂY DỰNG HỆ THỐNG GIẢI QUYẾT BÀI TỐN.........................23
3.1. Mơ tả và xây dựng bài tốn............................................................................. 23
3.1.1. Mơ tả bài tốn............................................................................................ 23
3.1.2. Sơ đồ chức năng của hệ thống................................................................... 23
3.1.3. Thiết kế Cơ sở dữ liệu............................................................................... 25


3.1.4. Thiết kế Kiểm thử mã Pascal..................................................................... 26
3.2. Xây dựng phần mềm....................................................................................... 30
3.2.1. Xây dựng chức năng trình soạn thảo mã Pascal........................................ 31
3.2.2. Xây dựng chức năng lưu và đọc mã Pascal............................................... 31
3.2.3. Xây dựng chức năng biên dịch mã Pascal................................................. 32
3.2.4. Xây dựng chức năng xem kết quả chạy chương trình................................ 32
3.2.5. Xây dựng chức năng tính điểm và mức kỹ năng........................................ 32
3.3. Một số chức năng chính của phần mềm.......................................................... 41
3.3.1. Chức năng trang chủ.................................................................................. 41
3.3.2. Chức năng quản lý học liệu....................................................................... 41
3.3.3. Chức năng bảng xếp hạng......................................................................... 43
3.3.4. Chức năng đăng ký.................................................................................... 43

3.3.5. Chức năng đăng nhập................................................................................ 43
3.3.6. Chức năng thực hành................................................................................. 44
3.4. Kết luận chương 3........................................................................................... 45
Chƣơng 4. CÀI ĐẶT THỬ NGHIỆM VÀ KẾT QUẢ ĐẠT ĐƢỢC.................... 46
4.1. Hướng dẫn cài đặt phần mềm.......................................................................... 46
4.1.1. Yêu cầu hạ tầng......................................................................................... 46
4.1.2. Cài đặt trình biên dịch trực tuyến.............................................................. 46
4.2. Kết quả thực nghiệm....................................................................................... 48
4.2.1. Cơ sở dữ liệu của phần mềm..................................................................... 48
4.2.2. Quản lý học liệu........................................................................................ 48
4.2.3. Bài tập thực nghiệm................................................................................... 49
4.3. Thực nghiệm sư phạm và đánh giá kết quả..................................................... 55
4.3.1. Thực nghiệm sư phạm............................................................................... 55
4.3.2. Đánh giá kết quả thực nghiệm sư phạm.................................................... 56
4.4. Kết luận chương 4........................................................................................... 58
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN............................................................... 59
PHỤ LỤC................................................................................................................... 63


DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Ký hiệu/

STT

Chữ viết tắt

1

CSDL


2

CNTT

3

LTTC
4 KH&CNKhoa học và Công nghệ
5

THPT

6

OER

7

OECD

8

WEF

9

SGK



DANH MỤC HÌNH ẢNH, ĐỒ THỊ

Hình 1.1. Biểu đồ xếp hạng độ phổ biến các ngơn ngữ lập trình tháng 11/2015............4
Hình 2.1. Màn hình chính của Code Hunt..................................................................... 8
Hình 2.2 Các lĩnh vực của Code Hunt.......................................................................... 8
Hình 2.3 Kiến trúc của Code Hunt................................................................................. 9
Hình 2.4. Yếu tố tác động đến động lực học tập.......................................................... 13
Hình 2.5. Hệ thống giảng dạy vịng trịn khép kín....................................................... 15
Hình 2.6. Ứng dụng hệ thống giảng dạy khép kín vào nội dung dạy và học Pascal.....16
Hình 2.7. Nội dung học tập được theo từng giai đoạn................................................ 17
Hình 2.8. Nội dung bài tâp thực nghiệm theo từng giai đoạn......................................18
Hình 2.9. Thang phân loại các mức trí năng của Bloom.............................................. 18
Hình 2.10. Thang phân loại tri thức của Bloom và phong cách học tập.......................21
Hình 2.11 Thang phân loại năng lực của Dreyfus........................................................ 21
Hình 3.1. Sơ đồ chức năng của hệ thống..................................................................... 23
Hình 3.2 CSDL lưu thơng tin người học...................................................................... 25
Hình 3.3 Cơ sở dữ liệu lưu bài tập của phần mềm....................................................... 25
Hình 3.4. Cơ sở dữ liệu lưu cấp độ kỹ năng của người học......................................... 25
Hình 3.5. Cơ sở dữ liệu lưu tài liệu học Pascal............................................................ 26
Hình 3.6. Cơ sở dữ liệu lưu bài giảng về Pascal.......................................................... 26
Hình 3.7. Một hộp đen kỹ thuật................................................................................... 27
Hình 3.8. Mã nguồn của người học............................................................................. 28
Hình 3.9. So sánh đầu ra mã pascal người học viết với kỳ vọng của chương trình......28
Hình 3.11. Hệ thống đánh giá chương trình của người học.........................................33
Hình 3.12. Thư mục lưu bài tập của học viên.............................................................. 37
Hình 3.13. Chức năng Trang chủ của phần mềm......................................................... 41
Hình 3.14. Chức năng quản lý tài liệu......................................................................... 42
Hình 3.15 Chức năng quản lý bài giảng dạng phim..................................................... 42
Hình 3.16. Chức năng bảng xếp hạng.......................................................................... 43
Hình 3.17. Chức năng đăng ký tài khoản mới............................................................. 43

Hình 3.18. Chức năng đăng nhập................................................................................ 44


Hình 3.19. Cơ sở dữ liệu lưu bài tập thử nghiệm......................................................... 44
Hình 3.20. Chức năng soạn thảo mã Pascal................................................................. 44
Hình 3.21. Kết quả biên dịch....................................................................................... 45
Hình 3.22. Kiểm thử so khớp đầu ra thực tế và kỳ vọng............................................. 45
Hình 4.1. Một trình biên dịch...................................................................................... 46
Hình 4.2. Cơng việc của một trình biên dịch............................................................... 46
Hình 4.3 Cơ sở dữ liệu bài tập..................................................................................... 48
Hình 4.4. Chức năng thêm tài liệu............................................................................... 48
Hình 4. 5. Thực hành chương trình tự do..................................................................... 49
Hình 4.6. Người học hoàn thành đúng yêu cầu bài tập thử nghiệm số 1......................49
Hình 4.7. Bài thử nghiệm số 2 đúng cú pháp nhưng sai với kỳ vọng..........................50
Hình 4.8. Người học hồn thành đúng yêu cầu bài tập thử nghiệm số 2......................51
Hình 4.9. Gợi ý của bài tập thử nghiệm 3.................................................................... 52
Hình 4.10. Bài thử nghiệm tốn tử số học có đầu ra đúng với kỳ vọng.......................52
Hình 4.11. Người học hồn thành bài thử nghiệm số 4............................................... 53
Hình 4.12. Bài thử nghiệm số 5 đầu ra thực tế chưa khớp với kỳ vọng.......................53
Hình 4.13. Bài thử nghiệm cầu điều kiện có đầu ra thực tế khớp với kỳ vọng............54
Hình 4.14. Bài thử nghiệm về vịng lặp có đầu ra chưa khớp với kỳ vọng..................54
Hình 4.15. Bài thử nghiệm về vịng lặp có đầu ra khớp với kỳ vọng........................... 55
Hình 4.16. Kết quả khảo sát về mức độ hài lòng của học sinh.................................... 57
Hình 4.17. Kết quả khảo sát về nội dung kiến thức phần mềm cung cấp.....................57
Hình 4.18. Khảo sát về khả năng tư duy lập trình........................................................ 57
Hình 4.19. Kết quả khảo sát kỹ năng phần mềm cung cấp.......................................... 58
Hình 4.20. Kết quả khảo sát về dự định học lập trình của học sinh.............................58

DANH MỤC BẢNG BIỂU


Bảng 2.1. Chuyển đổi từ phương pháp học truyền thống sang Gamification...........16


1

PHẦN MỞ ĐẦU

Bối cảnh của vấn đề nghiên cứu:
Ngày nay, những thành tựu của Công nghệ thông tin đang được áp dụng trong
hầu hết lĩnh vực hoạt động của con người mang lại nhiều hiệu quả to lớn. Các kiến
thức về lập trình, về cách thức tạo ra các chương trình kỹ thuật số đang dần trở thành
một kỹ năng cơ bản cần được trang bị đối với tất cả mọi người. Nhiều quốc gia trên
thế giới đã đưa lập trình vào chương trình giảng dạy cấp tiểu học và trung học.
Trên thế giới, Anh quốc là quốc gia đầu tiên đã đưa việc học lập trình thành mơn
học bắt buộc trong các trường tiểu học và trung học. Bắt đầu từ năm 2014 trẻ em sẽ
học lập trình ở độ tuổi 5 đến 16. Ở giai đoạn 1, học sinh học viết chương trình nhỏ, các
khía cạnh đơn giản của thuật toán, cài đặt và thực thi trên thiết bị điện tử. Trong giai
đoạn 2, học sinh được học cách thiết kế và viết các chương trình phức tạp hơn, tương
tác với môi trường xung quanh. Ở giai đoạn 3 (cấp trung học phổ thông), học sinh học
về đại số Boolean, tư duy thuật toán. Giai đoạn 4 tập trung vào sáng tạo và định hướng
nghề nghiệp.
Việc dạy tin học và lập trình sớm như vậy khơng chỉ có ích cho tồn bộ học sinh,
mà cịn trợ giúp rất lớn cho ngành CNTT và q trình hiện đại hóa đất nước. Hiểu
được vai trò của việc dạy tin học và nắm bắt được xu hướng này trên thế giới, Bộ
GD&ĐT Việt Nam đã đưa việc học lập trình Pascal vào chương trình và coi đó là khởi
đầu cho việc tiếp cận ngơn ngữ lập trình bậc cao. Ở cấp THPT, đây cũng là môn học
bắt buộc đối với học sinh khối 11.
Nói một cách khái quát, Pascal là một trong những ngơn ngữ lập trình có cú pháp
khoa học và gần gũi với ngôn ngữ của con người. Pascal có ưu điểm trong việc ứng
dụng để giải quyết các bài tốn trên máy tính, qua đó giúp các em hình dung được sự

ra đời, cấu tạo, hoạt động cũng như ích lợi của các chương trình hoạt động trong máy
tính, các máy tự động…
Tính cấp thiết của đề tài
Ngơn ngữ lập trình Pascal có vai trị quan trọng như vậy, nhưng thực tế việc học
Pascal ở trường THPT đang diễn ra theo hình thức thầy giảng giải thật kĩ, học trị cố
nhớ thật nhiều hay thầy trình chiếu - trò xem. Về cơ bản, đây là một phương pháp dạy
học lạc hậu, ngay cả khi nó được hỗ trợ bởi các thiết bị công nghệ của thế kỉ 21. Bên
cạnh đó, do nhiều yếu tố như năng lực, trình độ của học sinh, quan niệm của người dạy
mà nội dung bài học chỉ dừng lại ở mức độ giới thiệu câu lệnh và những thuật toán lâu
đời. Các tiết học về lập trình Pascal chưa đi vào ứng dụng thực tiễn khiến học sinh


2

chưa hiểu được tầm quan trọng của môn học. Bên cạnh đó, việc diễn giải lý thuyết dài
dịng và viết mã lệnh tách rời với thực hành cũng là lý do khiến học sinh mất kiên nhẫn
với môn học.
Để khắc phục phần nào những khó khăn mà học sinh gặp phải trong việc học Lập
trình Pascal và nâng cao khả năng tương tác của học sinh với môn học, hướng tới thu
hút những học sinh có năng lực học tập bộ môn Tin học cũng như đa số học sinh trong
các tiết học về lập trình, tơi đã chọn đề tài: “Xây dựng phần mềm hỗ trợ dạy và học
ngôn ngữ lập trình Pascal cho học sinh Trung học phổ thơng” phục vụ cho việc hồn
thiện luận văn của mình.
Cấu trúc luận văn của tôi bao gồm “Phần mở đầu”, “Phần kết luận” và bốn
chương nội dung cụ thể là:
Chương 1: Tổng quan về vấn đề nghiên cứu
Chương này trình bày tổng quan về những vấn đề cơ bản trong dạy và học Pascal
ở trường THPT, giới thiệu phương pháp và một số hướng tiếp cận xây dựng phần mềm
hỗ trợ dạy và học ngơn ngữ lập trình Pascal cho học sinh THPT.
Chương 2: Hướng tiếp cận và ứng dụng trong dạy và học Pascal

Chương này tôi tập trung nghiên cứu một số hướng tiếp cận và mơ hình học tập
đã và đang được triển khai thành công trong giáo dục như: mơ hình Code Hunt với
chiến thuật trị chơi hóa, hệ thống dạy học khép kín, mơ hình phân loại trí năng của
Bloom, và mơ hình đánh giá năng lực của Dreyfus. Từ những nghiên cứu đó tơi đưa ra
những đề xuất về thiết kế nội dung học tập Pascal đồng thời đưa ra phương pháp đánh
giá, đo lường kết quả của người học.
Chương 3: Xây dựng hệ thống giải quyết bài tốn
Trong chương này tơi đưa ra hai nhiệm vụ của bài toán là thiết kế giảng dạy và
đánh giá chương trình của người học. Từ đó tơi đưa ra bài toán và xây dựng chức năng
của phần mềm hỗ trợ dạy và học ngơn ngữ lập trình Pascal.
Chương 4: Cài đặt thử nghiệm và kết quả đạt được
Chương này hướng dẫn việc cài đặt và triển khai phần mềm, đồng thời đánh giá
việc thực hiện đề tài trong lý thuyết cũng như trong thực tiễn


3

Chƣơng 1. TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
1.1. Vấn đề dạy và học ngơn ngữ lập trình Pascal trong trƣờng THPT
Đầu những năm 1970, giáo sư Niclaus Wirth đã cơng bố sự ra đời của Ngơn ngữ
lập trình Pacsal. Trong quá trình hình thành và phát triển, Pascal đã phát huy được
nhiều ưu điểm của mình và tỏ ra hơn hẳn nhiều ngôn ngữ cấp cao khác [1]. Pascal đã
trở thành một ngôn ngữ mạnh được ứng dụng rộng rãi trong những năm 80 cả trong
lĩnh vực giảng dạy và lập trình chun nghiệp.
Pascal là ngơn ngữ lập trình bậc cao có các đặc điểm [1]:
 Là một ngơn ngữ có định kiểu mạnh mẽ: Mọi biến và hằng của kiểu dữ liệu
nào chỉ được gán các giá trị của đúng kiểu dữ liệu đó, khơng được tự do đem
gán cho các giá trị của kiểu dữ liệu khác. Việc định kiểu một cách chặt chẽ như
vậy khiến cho người lập trình ln ln phải có các biểu thức tương thích với
nhau về kiểu dữ liệu, vì thế rèn luyện cho người học tư duy logic chặt chẽ.

 Là một ngơn ngữ thể hiện tư duy lập trình có cấu trúc được thể hiện trên 3
mặt:



Cấu trúc về mặt dữ liệu: từ dữ liệu đơn giản hoặc có cấu trúc đơn giản
người lập trình có thể xây dựng các dữ liệu có cấu trúc phức tạp hơn.



Cấu trúc về mặt lệnh: từ các lệnh chuẩn đã có, người lập trình có thể
nhóm chúng lại với nhau và đặt giữa hai từ khóa Begin và End khiến
chúng trở thành một ngôn ngữ phức tạp hơn gọi là lệnh hợp thành hay
lệnh ghép.



Cấu trúc về mặt chương trình: một chương trình có thể chia thành
các chương trình con tổ chức theo hình cây phân cấp. Mỗi chương trình
con nhằm giải quyết một nhiệm vụ xác định cụ thể. Điều này giúp cho
người lập trình có thể giải quyết từng phần một, từng khối một và có thể
cho nhiều người tham gia lập trình, mỗi người phụ trách một vài khối.
 Là ngơn ngữ lập trình rất gần với ngơn ngữ tự nhiên (tiếng Anh) nên mã
Pascal trở nên rất sáng sủa, dễ hiểu và dễ sửa chữa.
Ngày nay, Pascal ít được sử dụng trong lập trình chun nghiệp nhưng là ngơn
ngữ sử dụng nhiều trong giảng dạy đặc biệt dành cho những người lần đầu tiên tiếp
xúc với lập trình và đây cũng là ngơn ngữ chính thức của kỳ thi Olympic Tin học quốc
tế [2].
Hiểu được những lợi ích ngơn ngữ lập trình Pascal mang lại, Bộ Giáo dục và Đào
tạo đã quyết định đưa Pascal vào học phần Tin học Đại cương thuộc các khối ngành

Khoa học Tự nhiên, đặc biệt là ngành Công nghệ Thông tin, đồng thời là một môn học
trong khối 11 ở các trường THPT trên tồn quốc. Mơn học này đã phát huy được


4

những ưu điểm vốn có của nó. Tuy nhiên qua q trình triển khai, nó cũng nhận được
nhiều phản hồi của người học như:
 Phần lớn nội dung bài tập trong chương trình Tin học lớp 11 liên quan đến
tính tốn hoặc thuần về tốn học, khơng gắn liền với thực tiễn, học sinh thường
khơng hiểu lập trình để làm gì ngồi việc tính tốn với các con số.
 Học sinh sẽ rất khó hình dung được các ứng dụng mà lập trình có thể làm
được trong thực tế nếu chỉ căn cứ vào lý thuyết thuần túy từ sách giáo khoa.
Học sinh ln đặt ra câu hỏi lập trình Pascal có ứng dụng như thế nào trong
thực tế.
 Học sinh khó kiểm tra bài làm của mình sau khi lập trình là đúng hay là sai.
Có thể trên lý thuyết là đúng nhưng thực tế sẽ có những trường hợp thiếu chính
xác trong từng ngữ cảnh cụ thể.
 Học sinh thường tìm hiểu những ngơn ngữ lập trình đang được quan tâm
hiện nay như Java, C++, Python,... Theo TIOBE Index, trang chuyên thống kê
nhu cầu tuyển dụng lập trình viên dựa trên kết quả tìm kiếm của 25 cơng cụ tìm
kiểm nổi tiếng thế giới như Google, Bing, Yahoo, Wikipedia, Amazon, YouTube
và Baidu để thống kê, so sánh và đưa ra xu hướng phát triển thì kết quả cơng bố
tính đến tháng 11 năm 2015 ( hình 1.1), Pascal được xếp thứ 17 về độ phổ biến.
Nếu tính theo kết quả đó thì việc lựa chọn Pascal đưa vào giảng dạy sẽ khó
thuyết phục học sinh học tập, nghiên cứu và đam mê lâu dài.

Hình 1.1. Biểu đồ xếp hạng độ phổ biến các ngơn ngữ lập trình tháng 11/2015.
Để giải quyết phần nào những vướng mắc mà học sinh gặp phải, tôi tập trung nghiên
cứu vào việc: “Xây dựng phần mềm hỗ trợ dạy và học ngôn ngữ lập trình Pascal cho

học sinh Trung học phổ thơng” nhằm tạo sự tương tác giữa người học với môn học, và
phát huy tính tích cực, chủ động trong học tập của người học với mơn học ngơn ngữ
lập trình pascal.


5

1.2. Phát biểu bài toán
Phần mềm được nghiên cứu là một trang web thay cho trình soạn thảo của
Pascal như Turbo Pascal, Free Pascal. Trang web hỗ trợ người học về cách sử dụng
ngơn ngữ lập trình Pascal và thực hành các dạng bài tập, đồng thời cho phép người học
biên dịch và kiểm thử các dạng bài tập Pascal ngay trên giao diện của trang web, nếu
chương trình của người học đạt yêu cầu hệ thống đưa ra, người học sẽ nhận được lời
chúc mừng khích lệ, được cộng điểm và được tiếp tục làm bài có cấp độ thách đố cao
hơn. Mỗi dạng bài tập người học có thể xem lại, chỉnh sửa lại nhiều lần nhưng hệ
thống chỉ tính điểm cho lần đầu tiên mà người học làm đạt yêu cầu.
Trang web nhận đầu vào là mã Pascal qua q trình phân tích mã Pascal, sinh
các ca kiểm thử, chương trình sẽ trả về kết quả đúng hoặc sai. Nếu kết quả là đúng, hệ
thống sẽ mở khóa cho phép người học làm bài tập kế tiếp. Nếu kết quả là sai, người
học cần chỉnh sửa lại mã Pascal, việc này được lặp đi lặp lại cho đến khi ra kết quả
đúng.
1.2.1. Quy trình xử lý
Xây dựng Hệ thống gồm những bước cơ bản sau:


Xây dựng trình soạn thảo pascal trên trang web.

 Thiết kế kiểm thử mã pascal của người dùng đã nhập để đưa ra những phản
hồi thích hợp.
 Xây dựng tài liệu hỗ trợ học tập ngơn ngữ lập trình Pascal từ nguồn tài

ngun mở.
1.2.2. Những khó khăn thách thức
 Pascal là ngơn ngữ lập trình có cấu trúc thuộc dạng mệnh lệnh hiện nay chỉ
được sử dụng chủ yếu trong giảng dạy. Bắt đầu từ năm 2000, Pascal đã khơng
cịn được hỗ trợ phát triển, chính vì thế Pascal gần như khơng cịn được ứng
dụng trong ngành công nghiệp phần mềm.
 Pascal gặp hạn chế về thư viện hỗ trợ kiểm thử chương trình (so với C/C++
...). Những nghiên cứu và giải pháp kiểm thử cho Pascal hầu như khơng tiếp cận
được, vì thế việc nghiên cứu giải pháp kiểm thử chương trình Pascal của người
học được tôi tiến hành theo hướng thủ cơng với mỗi dạng bài tốn sẽ có những
hình thức kiểm thử khác nhau.


6

1.3. Hƣớng tiếp cận
Thực tế cho thấy bối cảnh giáo dục hiện nay đã thay đổi. Việc dạy và học không
chỉ dừng lại ở việc phát triển tư duy, nhận thức mà còn bao gồm cả phát triển cảm xúc,
thái độ và kỹ năng. Vì vậy, để xây dựng phần mềm, tơi đã nghiên cứu những mơ hình
1

giáo dục trực tuyến có khả năng cung cấp các chương trình và nội dung học tập thích
ứng cá nhân hóa, tiếp đến tôi nghiên cứu những nguồn học liệu mở

2

cho các hoạt

3


động sư phạm và những dạng game tương tác, giả lập chất lượng cao trợ giúp việc
thực hành của học sinh. Từ những nghiên cứu này, tôi đã tiếp cận mô hình học tập của
codehunt.
Code Hunt là một trị chơi trực tuyến giúp người chơi học cách viết mã lệnh
Java và C#. Chiến thuật trị chơi hóa của Code Hunt đã rất thành công trong việc thu
hút sự chú tâm của người học. Cách tiếp cận này giúp những người học lần đầu tiếp
xúc với lập trình có thể thoải mái vui đùa với những khối lệnh lập trình đơn giản, cịn
những người thành thạo hơn có thể đưa ra các chiến lược giải quyết vấn đề. Tồn bộ
cơng cụ học tập tương tác hiện diện trên trang web dưới dạng các bài tập, cùng với các
trợ giúp bằng văn bản hoặc video ngắn giúp cho học sinh bị cuốn hút vào các hoạt
động học tập chủ động một cách tự nhiên từ đó dẫn dắt người học đến với các khái
niệm và kĩ năng cơ bản của lập trình và thuật tốn.
1.4. Kết luận chƣơng
Trong chương này, tơi đã tìm hiểu những vấn đề trong dạy và học ngôn ngữ lập
trình Pascal. Từ những vấn đề cấp thiết đặt ra, tôi đề xuất giải pháp và hướng tiếp cận
để nghiên cứu xây dựng trang web hỗ trợ dạy và học Pascal. Nội dung tiếp theo tôi đi
vào nghiên cứu một số lý thuyết và mơ hình học tập đã và đang được triển khai thành
công trong giáo dục.

1

, /> />2 .
3 /> />

7

Chƣơng 2. TỔNG QUAN VỀ CODE HUNT VÀ ỨNG DỤNG TRONG
DẠY HỌC PASCAL
2.1. Tổng quan về Code Hunt
2.1.1. Giới thiệu về Code Hunt

Năm 2014, Microsoft cơng bố một trị chơi trực tuyến mới là Code Hunt. Khác
với những trò chơi giải trí khác, Code Hunt giúp người chơi học cách viết mã lệnh
ngơn ngữ Java hoặc C#. Chiến thuật trị chơi hóa của Code Hunt đã rất thành cơng khi
thu hút hơn 150 000 người chơi từ khắp nơi trên thế giới và đạt được kết quả đáng
ngạc nhiên khi có đến 99% người chơi quay trở lại trong một tuần sau đó.
Điểm thú vị ở Code Hunt là nó được thiết kế giống như một trò chơi viết mã
lệnh, nó thách thức người chơi phải suy luận về một vấn đề bí ẩn của bài tốn, dựa vào
những manh mối là các trường hợp thử nghiệm (Unit test) với một bộ đầu vào và đầu
ra kỳ vọng, người chơi sẽ phải đưa ra giải pháp để chương trình đúng hết với các
trường hợp thử nghiệm (test cases).
2.1.2. Chức năng của Code Hunt
Code Hunt cũng giống với những trò chơi khác là nó cung cấp nhiều lĩnh vực
và cấp độ (level) khác nhau. Người chơi sẽ viết mã lệnh Java hoặc C# trong một cửa
sổ giống như trình soạn thảo (IDE), để thực thi một công thức hoặc một thuật tốn từ
chức năng câu đố (Puzzle) của chương trình.
Chức năng câu đố cung cấp cho người chơi những tham số đầu vào và kết quả
tương ứng, Người chơi sẽ phải kiểm tra xem giải pháp của họ đưa ra có phù hợp hay
không bằng cách nhấn vào nút “CAPTURE CODE”, khi nút này được nhấn hệ thống
sẽ thực thi những sự kiện sau [12]:
1. Mã lệnh của người chơi sẽ được gửi đến máy chủ trên nền điện toán đám
mây.
2. Máy chủ sẽ biên dịch mã lệnh (cung cấp tùy chọn chuyển đổi mã Java sang
C# và ngược lại).
3.

Máy chủ sẽ phân tích mã lệnh và so sánh với thuật toán đặt ra.

4.

Kết quả được trả về và hiện thị cho người chơi.



8

Hình 2.1. Màn hình chính của Code Hunt.
Chức năng phân tích mã sẽ hiển thị kết quả là những thơng báo lỗi và gợi ý về
thuật toán, được đưa ra dưới hình thức là một bộ đầu vào (input), kết quả thực tế
(result actual), kết quả kỳ vọng của chương trình (output expected). Nhiệm vụ của
người chơi là phải tìm ra được thuật toán hoặc viết những đoạn mã tương đương, sao
cho với mỗi bộ đầu vào sẽ có kết quả phù hợp với kỳ vọng của chương trình, lúc đó
người chơi sẽ chiến thắng cấp độ này.

Hình 2.2 Các lĩnh vực của Code Hunt
Code Hunt sắp xếp các lĩnh vực theo các chủ đề mà người chơi phải tìm hiểu
như tốn tử số học, vịng lặp, câu điều kiện, các thuật toán, và nhiều chủ đề khác mà
người chơi thường gặp trong lĩnh vực lập trình. Trong mỗi lĩnh vực là những câu đố
được sắp xếp theo cấp độ khó dần. Ngay sau khi vượt qua một cấp độ người chơi sẽ
chuyển sang cấp độ khó hơn. Code Hunt chỉ mở khóa cho lĩnh vực đầu tiên, người


9

chơi phải vượt qua tất cả các cấp độ trong lĩnh vực này mới được hệ thống mở khóa
chuyển sang lĩnh vực tiếp theo.
Khi người chơi hoàn thành một cấp độ, Code Hunt sẽ đánh giá kỹ năng của
người chơi bằng cách gán số điểm 1, 2, hoặc 3 và phân tích mã lệnh có tinh gọn hay
khơng? Mức 1 - giải pháp còn dài dòng, mức 2- giải pháp mức ở độ trung bình, mức 3
– giải pháp ngắn gọn. Mục đích của việc đánh giá kỹ năng là để người chơi phải có ý
thức trong việc cải thiện mã lệnh của họ, đánh giá này sẽ được nhân với một giá trị cụ
thể ở mỗi cấp độ khác nhau, kết quả của phép tính sẽ là điểm số mà người chơi đạt

được ở cấp độ này. Người chơi có thể theo dõi sự tiến bộ của họ thơng qua tổng số
điểm tích lũy và bảng xếp hạng 15 người có tổng số điểm tích lũy cao nhất.
2.1.3. Kiến trúc của Code Hunt
Code Hunt là một hệ thống điện toán đám mây được lưu trữ trong Windows
Azure. Khi người chơi có yêu cầu đến trang www.codehunt.com, hệ thống sẽ được
phục vụ từ một ứng dụng điện toán đám mây tương tác với người chơi (front-end).
Nếu người chơi đăng nhập vào hệ thống thì chức năng Windows Azure Active
Directory Access Control sẽ ủy quyền cho một trong số nhà cung cấp định danh
(Microsoft, Facebook, Google, Yahoo). Khi người chơi tham gia vào một cấp độ nào
đó, một ứng dụng điện toán đám mây thực hiện chức năng xử lý hệ thống (back-end)
được thực thi ở api.codehunt.com. Chức năng xử lý hệ thống sử dụng giao tiếp lập
trình ứng dụng (API) phổ biến là REST, nơi thực hiện nhiệm vụ phân tích chương
trình thực tế và lưu trữ dữ liệu người dùng trong Windows Azure Store. Dữ liệu người
dùng được xác thực bởi chuẩn OAuth (Open Authorization).

Hình 2.3 Kiến trúc của Code Hunt.
Chức năng front-end và back-end được thiết kế có khả năng mở rộng tối đa,
tăng số lượng nhân có sẵn để phục vụ không giới hạn số lượng người đăng nhập.


10

2.2. Ứng dụng mơ hình Code Hunt trong dạy học Pascal
2.2.1. Chiến thuật trị chơi hóa (Gamification)
Theo nghiên cứu của Lee và Hammer [13] chiến thuật trị chơi hóa khi được
ứng dụng vào dạy học sẽ có tác động đến ba yếu tố tâm lý của người học đó là: Nhận
thức, Cảm xúc, vị trí xã hội.
Nhận thức: Trị chơi thường được tổ chức thành một hệ thống phức tạp và các
quy tắc cho người chơi khám phá thông qua những hoạt động thử nghiệm lặp đi lặp lại,
người chơi sẽ phải quan sát các kết quả, kế hoạch di chuyển tiếp theo của họ, và thực

hiện những kế hoạch. Trong một thời gian ngắn, mong muốn của người chơi là phải
đánh bại mỗi mức độ mà họ đã thử nghiệm.
Trị chơi sẽ hướng dẫn người chơi thơng qua q trình chủ động và giữ họ tham
gia vào những nhiệm vụ khó hơn. Một kỹ thuật thiết kế trị chơi quan trọng là phải
cung cấp những thách thức cụ thể nhưng hoàn toàn phù hợp với mức độ kỹ năng của
người chơi, và tăng dần sự khó khăn cũng như kỹ năng của người chơi. Sự thách đố
khó khăn và mục tiêu trước mắt chính là động cơ thúc đẩy người học vượt qua, và đây
chính là mục đích mà Chiến thuật trị chơi hóa cung cấp, trị chơi cũng cung cấp nhiều
cách thức đạt đến thành công, cho phép học sinh lựa chọn các mục tiêu phụ của chính
họ trong các nhiệm vụ lớn hơn. Điều này cũng hỗ trợ động lực và sự tham gia.
Chiến thuật trò chơi hóa trong giáo dục có thể thay đổi các quan điểm của học
sinh về học tập. Học sinh thường được yêu cầu phải học và làm những việc mà đôi khi
khơng hiểu được lợi ích lâu dài của mơn học. Chiến thuật trị chơi hóa có thể giúp sinh
viên đặt câu hỏi, "Nếu tôi muốn vượt qua cấp độ này, tơi phải làm gì?" Chiến thuật trị
chơi hóa mang lại cho người học sự rõ ràng, nhiệm vụ hành động và hứa hẹn với họ
phần thưởng ngay lập tức thay vì lợi ích lâu dài mơ hồ. Trong các trị chơi thiết kế tốt
nhất, phần thưởng cho việc giải quyết một vấn đề là một vấn đề khó khăn hơn.

Cảm xúc: Trò chơi mang đến một loạt những cảm xúc mạnh mẽ, từ sự tò mò
đến thất vọng với niềm vui, cung cấp nhiều kinh nghiệm cảm xúc tích cực, chẳng hạn
như sự lạc quan và niềm tự hào. Điều quan trọng, trị chơi cũng giúp người chơi kiên
trì thơng qua những trải nghiệm cảm xúc tiêu cực và thậm chí biến chúng thành tích
cực. Bởi vì trị chơi liên quan đến việc thử nghiệm lặp đi lặp lại, người học cũng phải
chấp nhận đến sự thất bại lặp đi lặp lại, cách duy nhất để tìm hiểu làm thế nào để chơi
các trò chơi là sau mỗi một lần thất bại người chơi cần phải rút ra một kinh nghiệm
cho mình. Trị chơi duy trì mối quan hệ tích cực với sự thất bại này bằng cách làm cho
chu kỳ thơng tin phản hồi nhanh chóng với một mức điểm thưởng thấp. Ở trường học,
thường các mức phần thưởng là cao, khó để đạt được, chu kỳ phản hồi thường kéo dài
tính theo tuần, theo tháng, học kỳ hay năm học vì vậy học sinh có ít cơ hội để kiểm tra
thử, thi thử mà học sinh sẽ phải học thật, thi thật để đạt được kết quả như mong đợi, và



11

ngay cả những học sinh giỏi nhất cũng không tránh được sự lo âu, khi phải chờ đợi
những cơ hội thi cử khi mà kết quả đạt được không như mong muốn là rất cao.
Chiến thuật trị chơi hóa mang đến khả năng phục hồi khi đối mặt với thất bại,
bởi thất bại được thiết kế như là một phần cần thiết của học tập. Chiến thuật trị chơi
hóa có thể rút ngắn chu kỳ phản hồi, cung cấp cho người chơi những phần thưởng nhỏ
để đánh giá những khả năng riêng của họ, và tạo ra một môi trường có nỗ lực, làm chủ,
được khen thưởng. Ở đó người chơi có thể học để thấy sự thất bại là một cơ hội, thay
vì trở nên bất lực, sợ hãi và cảm giác bị lấn át.

Vị trí xã hội: Tham gia vào trò chơi giúp con người được thử nghiệm trong
nhiều dạng nhân vật khác nhau, với nhiều vai trò và khả năng mới, Chiến thuật trị
chơi hóa cung cấp uy tín xã hội và cơng nhận thành tích đạt được của người chơi một
cách công khai, thông qua một dạng nhân vật mới với nhiều thành tích sẽ giúp người
chơi có những suy nghĩ khác về những khả năng mà họ có thể làm được.
Việc kết hợp yếu tố trị chơi và giáo dục sẽ khuyến khích học sinh tham gia vào
các hoạt động trong lớp học, giáo viên sẽ được cung cấp những phương tiện giáo dục
và đánh giá học sinh, nhằm tạo ra môi trường học tập vui vẻ, truyển cảm hứng tích cực
tới học sinh.
Ban đầu Chiến thuật trị chơi hóa được đưa vào để việc củng cố, ghi nhớ kiến
thức tô điểm cho bài học, dần dần nó được nghiên cứu để có thể thay thế toàn bộ nội
dung học tập nhằm nâng cao sự nhận biết, tác động đến hành vi, nâng cao động lực và
thúc đẩy sự tham gia của mọi người.
Việc đưa game vào dạy lập trình Pascal có thể giúp học sinh nhận được những
kiến thức thiết thực ngay lập tức bởi trong các trò chơi thường bao gồm những sự trải
nghiệm được lặp đi lặp lại và vì thế đơi khi người học thường phải đối mặt với những
sự thất bại được lặp lại, với mỗi một lần thất bại người học sẽ phân tích cũng như khắc

phục từng lỗi một. Và như vậy người học sẽ cố gắng tiếp tục cho tới khi nào mà họ
thành công. Từ hành động, nỗ lực lặp đi lặp lại của người học mà vơ tình hay chủ động
ghi nhớ bài học được lồng ghép trong các trò chơi. Việc áp dụng Game giáo dục còn
giúp người học được tiếp thêm động lực thông qua việc lĩnh hội cảm xúc, sự chờ đợi,
và sự cố gắng.
Việc triển khai trị chơi hóa trong giáo dục có tiểm năng rất lớn như: giúp giảm
chi phí và cải tiến chất lượng theo các cách thức khác nhau; Tìm kiếm các giải pháp
cho các vấn đề cơ bản ở rất nhiều quốc gia như phát triển đội ngũ nhà giáo, mở rộng
cơ hội tiếp cận hạ tầng công nghệ; Cung cấp dịch vụ giáo dục cho số đơng dân chúng
với chi phí thấp hơn nhiều hoặc cung cấp chất lượng cao hơn với cùng chi phí; Dễ
dàng nhân rộng những mơ hình tốt ở quy mơ lớn; Khai thác dữ liệu để hiểu rõ hơn việc


12

học của con người; Gia tăng năng suất của giáo viên, giải phóng giáo viên khỏi những
cơng việc tay chân vốn tốn thì giờ như thi cử, chấm bài.
Bên cạnh những lợi ích mang lại, việc ứng dụng Chiến thuật trị chơi hóa vào
giáo dục có những mặt hạn chế như:
 Việc triển khai phụ thuộc hoàn toàn vào thiết bị cơng nghệ, nếu khơng có
nền tảng cơng nghệ thì phương pháp này khó có thể triển khai.
 Khơng phải nội dung nào của bài học cũng phù hợp để có thể đưa vào
game.
 Đơi khi trị chơi tạo cảm giác khuyến khích người chơi tham gia học tập vì
mục đích điểm thưởng và thể hiện bản thân chứ khơng phải vì thu nhận kiến
thức.
 Người chơi Game thường muốn được giải trí, tự do chọn lựa trị chơi, được
có những khám phá, trải nghiệm riêng của họ. Việc áp đặt người học tham gia
Game giáo dục trong quá trình học tập sẽ khiến người học cảm giác phải tuân
thủ theo một ngun tắc gị bó khơng khác kỷ luật trong lớp học là mấy.

 Khó để có thể xây dựng một Game giáo dục hấp dẫn như Game giải trí, nếu
q lạm dụng đơi khi có thể xảy ra hiệu ứng ngược, thay vì thu nhận kiến thức
người học lại quá đam mê vào yếu tố giải trí của trị chơi, hoặc sự thách đố q
khó cũng dễ người chơi nản chí, bỏ cuộc.
Với những mặt tích cực, Chiến thuật trị chơi hóa vẫn đang khơng ngừng phát triển
và có mặt trong các lĩnh vực của thế giới thực, Chiến thuật trị chơi hóa được dự đốn
sẽ là một phần trong cuộc sống của học sinh trong nhiều năm tới, nó là chìa khóa để
khai thác năng lượng, động lực và tiềm năng của học sinh, Chiến thuật trò chơi hóa
được ứng dụng để chỉ đạo học tập thơng qua trò chơi, chúng cung cấp cho học sinh
những phương tiện để trở thành người chơi có thành tích cao và mang đến niềm tin trở
thành người chiến thắng trong cuộc sống thực.
2.2.2. Thiết kế động viên người học
Theo nghiên cứu của Jensen [14] động lực được xem như là “kích thích
(arousal)” và “xung năng (drive)”. Sự kích thích phù hợp giúp con người định hướng
đến mục tiêu, xung năng là duy trì sự quan tâm để làm một việc đạt được mục tiêu.
Động lực có tác động lớn đến ý chí và hành vi của con người khi tham gia một vấn đề
đặc biệt là học tập, vì vậy trong giáo dục cần thiết phải nghiên cứu về vấn đề làm thế
nào để tạo ra, duy trì và gia tăng động lực ở người học.
Động lực học tập của học sinh phụ thuộc vào những yếu tố sau [15]:

 Môi trường học tập




Công nghệ đưa vào giảng dạy


13


 Phương pháp sư phạm truyền đạt


Động cơ học tập



Khả năng tự học hỏi của mỗi học sinh



Sự thú vị mà môn học mang lại



Người học sẽ cống hiến được gì nếu theo học lập trình



Phần thưởng mà người học đạt được

Thực hiện thành cơng những yếu tố trên có thể mang lại kết quả cho người học
như:

 Tăng sự tham gia của người học với môn học


Thúc đây khả năng tìm tịi và sáng tạo trong mơn học




Có khả năng phát triển sự nghiệp trong lĩnh vực lập trình



Nắm bắt được hướng đi trong lĩnh vực lập trình

Hình 2.4. Yếu tố tác động đến động lực học tập.
Có rất nhiều nguyên nhân gây ra giảm động lực học tập của học sinh, trong đó
có nguyên nhân khá phổ biến đó là: Học sinh nhận thức được bài tập trên lớp hoặc
các nhiệm vụ khơng có ý nghĩa. Học sinh sẽ đặt câu hỏi rằng: Tại sao phải học tập
chăm chỉ khi cảm thấy học tập vấn đề này không để làm gì? Đây là một câu hỏi mang
tính cảm quan cá nhân, thay vì cố gắng đưa ra rất nhiều lý lẽ để thuyết phục học sinh
sự tuyệt vời của mơn học, chúng ta có thể sử dụng cách thức dễ dàng tác động nhất tới
động lực của học sinh thường là thông qua hoạt động học hiệu quả, đồng thời cung cấp
các lựa chọn có ý nghĩa vào chương trình học và có một cách đơn giản hơn rất nhiều
đó là sử dụng phần thưởng trong học tập.


14

Theo Jensen [14], bộ não con người được thiết kế để dự đoán, xử lý, thưởng
thức và ghi nhớ các phần thưởng. Khi con người nghĩ về phần thưởng, họ thường nghĩ
theo chiều hướng tích cực.
Ví dụ như phần thưởng có thể mang lại niềm vui, tăng tần số hoạt động tìm
kiếm có mục đích, duy trì hoạt động học, tăng hoạt động xã hội, tăng cường việc học,
tăng khả năng thành công trong học tập kiến thức mới.
Não bộ có thể tự tạo ra phần thưởng cho chính nó, những phần thưởng này có
khả năng tạo ra chất gây nghiện mạnh tương tự như morphine, alcohol, nicotine,
heroin, và cocaine kích thích não bộ khơng ngừng tìm kiếm cảm giác chiếm lĩnh phần

thưởng. Bên cạnh đó Não bộ có một xu hướng gắn liền sự trải nghiệm với các nguyên
nhân và kết quả hải lịng. Nhưng hệ thống tín hiệu khen thưởng ở não bộ là rất khác
nhau. Một trong những hệ thống đó bao gồm các hành vi dự đoán phần thưởng và một
hệ thống cho sửa chữa lỗi sai. Hệ thống thứ nhất tạo ra sự chú tâm tăng dần tỉ lệ với
những lời tán dương ngẫu nhiên và hệ thống thứ hai tạo ra kinh nghiệm học tập tốt
hơn.
Một vấn đề khác về mặt sinh học, bộ não làm quen với phần thưởng rất nhanh
chóng. Não bộ của con người thích ứng và năng động thay đổi tương ứng với mơi
trường, điều này có nghĩa là cái được làm tại một thời điểm có thể khơng cần kéo dài.
Chúng ta có thể nhanh chóng chuyển từ việc hài lòng với mức thưởng thấp sang mức
thưởng cao hơn trong cùng một nhiệm vụ. Mỗi phần thưởng có thể phù hợp với học
sinh này nhưng lại không phù hợp với học sinh khác vì vậy tất cả các phần thưởng nên
được cá nhân hóa.
Phần thưởng thường là điều mà ai cũng mong muốn được nhận, có thể sử dụng
phần thưởng để tạo động lực trong lớp học, dựa trên những gợi ý sau:
 Sử dụng phần thưởng một cách sáng suốt: Nên sử dụng phần thưởng cho
những trường hợp có khả năng đặc biệt, trong thời gian ngắn và có lý do cụ thể,
vì phần thưởng có thể trở nên nhàm chán và thành tích của người học sẽ giảm
theo thời gian, khi sử dụng lặp đi lặp lại các phần thưởng.
 Sử dụng phần thưởng ít giá trị và cụ thể: Sử dụng các sản phẩm ít giá trị
kinh tế là cách thức trao thưởng dễ và lên kế hoạch ngừng trao thưởng sau vài
tuần. Nếu không, học sinh sẽ quen với việc được trao thưởng và sẽ mất tác
dụng.
 Sử dụng phần thưởng trừu tượng: Các hình thức thừa nhận phần thưởng
(giấy chứng nhận, thư cảm ơn, lời khen) hoặc lễ tôn vinh không liên quan đến
tiền bạc (các trò chơi, hoạt động vui chơi, các đặc quyền) là một cách thức thay


thế hiệu quả, đặc biệt khi thực hiện những nhiệm vụ khó. Các phần thưởng có
thể



×