1
ĐẠI
ĐẠIHỌC
HỌCQUỐC
QUỐCGIA
GIAHÀ
HÀNỘI
NỘI
TRƢỜNG
TRƢỜNGĐẠI
ĐẠIHỌC
HỌCCÔNG
CÔNGNGHỆ
NGHỆ
NGUYỄNTHỊ
THỊYẾN
YẾN
NGUYỄN
MỘTSỐ
SỐĐỀ
ĐỀXUẤT
XUẤTVỀ
VỀDẠY
DẠYVÀ
VÀHỌC
HỌCLẬP
LẬPTRÌNH
TRÌNH
MỘT
TRONGMÔN
MÔNTIN
TINHỌC
HỌCỞỞCÁC
CÁCTRƢỜNG
TRƢỜNG
TRONG
TRUNGHỌC
HỌCPHỔ
PHỔTHÔNG
THÔNG
TRUNG
Ngành: Công nghệ thông tin
Chuyên ngành: Kĩ thuật phần mềm
Mã số: 60.48.01.03
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS.Trƣơng Anh Hoàng
Hà Nội - năm 2015
Hà
Nội - năm 2015
2
LỜI CẢM ƠN
Trong suốt quá trình học tập tại Khoa Công nghệ thông tin trƣờng Đại học Công
nghệ - Đại học Quốc gia Hà Nội, em đã nhận đƣợc sự quan tâm, giúp đỡ, tạo mọi điều
kiện của nhà trƣờng, của các thầy giáo, cô giáo, đến nay em đã hoàn thành chƣơng
trình học tập và luận văn tốt nghiệp.
Em xin gửi lời cảm ơn chân thành tới Ban giám hiệu nhà trƣờng đã quan tâm tạo
điều kiện thuận lợi để chúng em đƣợc học tập tại trƣờng.
Em cũng xin đƣợc gửi lời cảm ơn chân thành tới các thầy, cô giáo trong khoa Công
nghệ thông tin nói riêng và thầy cô giáo các khoa trong trƣờng nói chung đã luôn nhiệt
tình giúp đỡ và tạo điều kiện tốt nhất cho em trong suốt quá trình học tập tại trƣờng.
Đặc biệt, em xin gửi lời cảm ơn sâu sắc nhất tới PGS.TS Trƣơng Anh Hoàng,
ngƣời trực tiếp hƣớng dẫn và tận tình đôn đốc, giúp đỡ em trong suốt thời gian thực
hiện luận văn.
Một lần nữa cho phép em xin đƣợc chân thành cảm ơn!
Hà Nội, ngày 25 tháng 12 năm 2015
Học viên
Nguyễn Thị Yến
3
4
LỜI CAM ĐOAN
Tôi xin cam kết rằng nội dung và kết quả đạt đƣợc của luận văn tốt nghiệp này là
sản phẩm nghiên cứu, tìm hiểu riêng của cá nhân tôi dƣới sự hƣớng dẫn khoa học của
PGS.TS.Trƣơng Anh Hoàng. Trong toàn bộ nội dung của luận văn, những điều đƣợc
trình bày là của cá nhân tôi hoặc là đƣợc tổng hợp từ nhiều nguồn tài liệu tham khảo.
Tất cả các tài liệu tham khảo đều có nguồn gốc, xuất xứ rõ ràng và đƣợc trích dẫn hợp
pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định
cho lời cam đoan của mình.
Hà Nội, ngày 25 tháng 12 năm 2015
Học viên
Nguyễn Thị Yến
5
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt
Từ đầy đủ
CNTT
Công nghệ thông tin
CSTA
Computer Science Teachers Association
NCMT
Nghiên cứu máy tính
THCS
Trung học cơ sở
THPT
Trung học phổ thông
6
MỤC LỤC
LỜI CẢM ƠN ..................................................................................................................1
LỜI CAM ĐOAN ............................................................................................................4
DANH MỤC TỪ VIẾT TẮT ..........................................................................................5
MỤC LỤC .......................................................................................................................6
DANH MỤC HÌNH VẼ ..................................................................................................8
DANH MỤC BẢNG .....................................................................................................10
CHƢƠNG I – TỔNG QUAN ........................................................................................11
1.1 Đặt vấn đề ............................................................................................................11
1.2 Thực trạng việc dạy và học môn Tin học 11 trong các trƣờng THPT .................11
1.2.1 Vấn đề về cơ sở vật chất ..................................................................................... 11
1.2.2 Vị thế của môn Tin học trong các trƣờng THPT ................................................ 12
1.2.3 Vấn đề của học sinh khi học lập trình Pascal ..................................................... 12
1.2.4 Vấn đề của giáo viên........................................................................................... 13
1.3 Hƣớng giải quyết .....................................................................................................13
1.4 Tóm tắt nội dung .....................................................................................................14
CHƢƠNG II – SO SÁNH CHƢƠNG TRÌNH DẠY LẬP TRÌNH Ở MỘT SỐ QUỐC
GIA PHÁT TRIỂN, XÂY DỰNG CHƢƠNG TRÌNH ĐỔI MỚI ................................ 15
2.1 Chƣơng trình dạy lập trình ở một số quốc gia phát triển .....................................16
2.1.1 CANADA (Ontario) ........................................................................................... 16
2.1.2 SINGAPORE ...................................................................................................... 28
2.1.3 MỸ ...................................................................................................................... 33
2.2 ĐÁNH GIÁ, SO SÁNH .......................................................................................40
2.2.1 Chƣơng trình giảng dạy ở Ontario ...................................................................... 40
2.2.2 Chƣơng trình của Singapore ............................................................................... 41
2.2.3 Chƣơng trình dạy lập trình của Mỹ .................................................................... 43
2.2.4 Phân phối chƣơng trình ở Việt Nam ................................................................... 44
2.2.5 So sánh ................................................................................................................ 45
2.3 Xây dựng chƣơng trình đổi mới ...........................................................................46
2.3.1 Vì sao phải đổi mới? ........................................................................................... 46
2.3.2 Nên lựa chọn ngôn ngữ lập trình nào? ................................................................ 47
2.3.3 Xây dựng chƣơng trình đổi mới ......................................................................... 51
7
CHƢƠNG III – ỨNG DỤNG CODE.ORG VÀ ALICE TRONG GIẢNG DẠY VÀ
GIẢI QUYẾT BÀI TOÁN LẬP TRÌNH GAME FLAPPY BIRD ...............................61
3.1 Ứng dụng code.org trong giảng dạy.....................................................................61
3.1.1 Giới thiệu về code.org ........................................................................................ 61
3.1.2 Sử dụng code.org giảng dạy một số modul ........................................................ 63
3.1.3 Ứng dụng code.org để kiểm tra đánh giá ............................................................ 69
3.2 Ứng dụng Alice trong giảng dạy ..........................................................................70
3.2.1 Giới thiệu về Alice .............................................................................................. 70
3.2.2 Sử dụng Alice để giảng dạy các khái niệm về lập trình hƣớng đối tƣợng ......... 71
3.3 Ứng dụng code.org để lập trình game Flappy Bird .............................................74
3.3.1 Phân tích yêu cầu ................................................................................................ 74
3.3.2 Biểu đồ Use Case ................................................................................................ 75
3.3.3 Biểu đồ luồng (DFD) .......................................................................................... 76
3.3.4 Biểu đồ tuần tự .................................................................................................... 79
3.3.5 Biều đồ hoạt động ............................................................................................... 80
3.3.6 Giao diện game ................................................................................................... 81
3.3.7 Lập trình .............................................................................................................. 83
3.4 Ứng dụng Alice để lập trình game bắt bóng ........................................................87
3.4.1 Phân tích chức năng ............................................................................................ 87
3.4.2 Biểu đồ Use Case ................................................................................................ 88
3.4.3 Biểu đồ luồng (DFD) .......................................................................................... 88
3.4.4 Biểu đồ tuần tự .................................................................................................... 89
3.4.5 Biểu đồ hoạt động ............................................................................................... 91
3.4.6 Giao diện game ................................................................................................... 92
3.4.7 Lập trình .............................................................................................................. 92
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ....................................................................99
TÀI LIỆU THAM KHẢO ...........................................................................................100
8
DANH MỤC HÌNH VẼ
Hình 2.1: Sơ đồ tóm tắt các tùy chọn trong chƣơng trình Tin học ở Ontario[4] ............16
Hình 2.2: Biểu đồ điều kiện tiên quyết cho chuyên đề NCMT .....................................17
Hình 2.3: Cấu trúc chƣơng trình khoa học máy tính cho K-12[10].................................34
Hình 2.4: Top 10 ngôn ngữ lập trình phổ biến theo đánh giá của GitHub ....................48
Hình 2.5: Top 10 ngôn ngữ lập trình phổ biến theo đánh giá của RedMonk ................49
Hình 2.6: Top 10 ngôn ngữ lập trình phổ biến theo đánh giá của TIOBE ....................50
Hình 3.1: Các Blocks trong code.org ............................................................................62
Hình 3.2: Mã JavaSript thể hiện các Blocks trong code.org .........................................62
Hình 3.3: Không gian bài toán ......................................................................................63
Hình 3.4: Kịch bản giải quyết bài toán ..........................................................................64
Hình 3.5: Không gian bài toán ......................................................................................64
Hình 3.6: Kịch bản thử nghiệm .....................................................................................65
Hình 3.7: Kịch bản giải quyết bài toán ..........................................................................65
Hình 3.8: Sử dụng vòng lặp để giải quyết bài toán .......................................................66
Hình 3.9: Không gian bài toán ......................................................................................67
Hình 3.10: Kịch bản lập trình giải quyết bài toán .........................................................67
Hình 3.11: Không gian bài toán ....................................................................................68
Hình 3.12: 2 cách lập trình giải quyết cùng 1 nhiệm vụ ...............................................68
Hình 3.13: Chƣơng trình hàm vẽ hình vuông ................................................................ 69
Hình 3.14: Tiến trình học tập của học sinh ...................................................................70
Hình 3.15: Kết quả quá trình học tập của học sinh .......................................................70
Hình 3.16: Đối tƣợng trong Alice .................................................................................71
Hình 3.17: Thuộc tính và phƣơng thức của bunny .......................................................72
Hình 3.18: Lớp trong Alice ........................................... Error! Bookmark not defined.
Hình 3.19: Biểu đồ Use Case game Flappy Bird ..........................................................75
Hình 3.20: Biêu đồ DFD cấp 1 game Flappy Bird ........................................................76
Hình 3.21: Biều đồ DFD cấp 2 game Flappy Bird ........................................................76
Hình 3.22: Biều đồ DFD cấp 3 game Flappy Bird ........................................................78
Hình 3.23: Biểu đồ tuần tự game Flappy Bird ..............................................................79
Hình 3.24: Biểu đồ hoạt động game Flappy Bird..........................................................80
Hình 3.25: Màn hình bắt đầu game ...............................................................................81
Hình 3.26: Màn hình vào chơi .......................................................................................81
Hình 3.27: Một số nền đất trong game ..........................................................................82
Hình 3.28: Một số nền khung cảnh ngày/đêm...............................................................82
Hình 3.29: Một số kiểu ống nƣớc ..................................................................................82
Hình 3.30: Khối lệnh sự kiện.........................................................................................83
Hình 3.31: Các khối lệnh khác sử dụng lập trình game Flappy Bird ............................84
Hình 3.32: Lập trình xử lý sự kiện when run ................................................................ 85
Hình 3.33: Lập trình xử lý sự kiện when click ..............................................................85
Hình 3.34: Lập trình xử lý sự kiện when hit the ground ...............................................86
Hình 3.35: Lập trình xử lý sự kiện when hit an obstacle ..............................................86
Hình 3.36: Lập trình xử lý sự kiện when pass obstacle.................................................86
9
Hình 3.37: Chƣơng trình game Flappy Bird hoàn chỉnh ...............................................87
Hình 3.38: Biểu đồ Use Case game bắt bóng ................................................................ 88
Hình 3.39: Biểu đồ luồng DFD cấp 1 game bắt bóng ...................................................88
Hình 3.40: Biểu đồ DFD cấp 2 game bắt bóng .............................................................89
Hình 3.41: Biểu đồ DFD cấp 3 game bắt bóng .............................................................89
Hình 3.42: Biểu đồ tuần tự game bắt bóng ....................................................................90
Hình 3.43: Biểu đồ hoạt động game bắt bóng ...............................................................91
Hình 3.44: Giao diện game bắt bóng .............................................................................92
Hình 3.45: Đặt vị trí cho các đối tƣợng .........................................................................93
Hình 3.46: Thiết lập sự kiện bấm phím mũi tên sang phải ...........................................93
Hình 3.47: Thiết lập các thông số cho sự kiện click phím mũi tên sang phải ...............94
Hình 3.48: Thiết lập sự kiện bấm mũi tên sang phải và sang trái .................................94
Hình 3.49: Tạo biến ngẫu nhiên ....................................................................................95
Hình 3.50: Chèn và thiết lập biến ngẫu nhiên ...............................................................95
Hình 3.51: Chèn và thiết lập biến ngẫu nhiên (tiếp) .....................................................95
Hình 3.52: Hiển thị điểm mới ........................................................................................96
Hình 3.53: Thiết lập điều kiện khi không bắt đƣợc bóng ..............................................97
Hình 3.54: Gọi đến sự kiện CheckForCatch ...............................................................97
Hình 3.55: Thiết lập cho ngƣời chơi chơi đến khi bắt đƣợc 5 lần liên tiếp thì thắng ...98
Hình 3.56: Thiết lập vào hiển thị thông báo thắng cuộc. ..............................................98
10
DANH MỤC BẢNG
Bảng 2.1: Bảng xếp hạng thành tích môn NCMT lớp 10-12[6] .....................................25
Bảng 2.2: Quy định về bài thi ........................................................................................32
Bảng 2.3: Số lƣợng câu hỏi cho mỗi mục tiêu đánh giá ................................................33
Bảng 2.4: So sánh cách thức xây dựng chƣơng trình ....................................................45
Bảng 2.5: So sánh nội dung chƣơng trình .....................................................................45
11
CHƢƠNG I – TỔNG QUAN
1.1 Đặt vấn đề
Bắt đầu từ năm học 2006 – 2007 môn Tin học trở thành môn học bắt buộc đƣợc Bộ
Giáo dục và Đào tạo đƣa vào chƣơng trình dạy học khối THPT trên toàn quốc. Điều
này thể hiện rõ tầm quan trọng của môn học này đối với sự phát triển của nền kinh tế
xã hội hiện đại. Trải qua gần 10 năm triển khai chƣơng trình môn học, mặc dù đã thu
đƣợc những kết quả rất khả quan: học sinh THPT có cơ hội đƣợc tiếp cận nhiều hơn
với CNTT, có khả năng sử dụng máy tính phục vụ học tập và làm việc, tạo một nền
tảng tốt cho học sinh trƣớc khi bƣớc vào học ngành CNTT, ... song cũng còn nhiều bất
cập làm môn học chƣa đáp ứng đƣợc yêu cầu mà Bộ Giáo dục và Đào tạo kì vọng. Đặc
biệt, cho đến nay, khi CNTT là một ngành phát triển rất nhanh và mạnh mẽ, công nghệ
thay đổi thƣờng xuyên và liên tục, thì chƣơng trình môn Tin học THPT đã trở lên lạc
hậu, không còn phù hợp cả về nội dung và công nghệ. Do vậy đổi mới, cải tiến chƣơng
trình môn Tin học là một việc làm rất cần thiết trong nhiệm vụ cải cách toàn diện giáo
dục nói chung. Trong khuôn khổ đề tài luận văn, tôi xin phép nghiên cứu những hạn
chế, tồn tại của việc và dạy và học môn Tin học lớp 11 (nội dung của giáo trình hiện
tại là “Lập trình Pascal”), trên cơ sở nghiên cứu chƣơng trình dạy lập trình cấp THPT
ở các nƣớc tiên tiến nhƣ Canada, Mỹ, Singapore, ... luận văn sẽ đánh giá, so sánh với
Việt Nam để đƣa ra chƣơng trình cải tiến cho dạy lập trình cấp THPT và ứng dụng
ngôn ngữ lập trình khối lệnh (blocks) là Code.org và Alice để giảng dạy một số modul
giúp bài học thêm sinh động, trực quan, hấp dẫn, thu hút sự chú ý của học sinh, giúp
học sinh yêu thích lập trình, nâng cao hiệu quả trong các giờ dạy học lập trình đồng
thời sử dụng Code.org để lập trình game Flappy Bird
1.2 Thực trạng việc dạy và học môn Tin học 11 trong các trƣờng THPT
Để tìm ra những vấn đề tồn tại trong việc dạy, học và chƣơng trình môn Tin học
11, tôi đã tiến hành phƣơng pháp điều tra phỏng vấn 9 giáo viên và 30 học sinh ở các
trƣờng THPT trên địa bàn tỉnh Vĩnh Phúc: trƣờng THPT Chuyên Vĩnh Phúc, trƣờng
THPT Trần Phú, trƣờng THPT Nguyễn Thái Học, trƣờng THPT Quang Hà, trƣờng
THPT Bình Xuyên, trƣờng THPT Nguyễn Viết Xuân, THPT Vĩnh Yên, THPT Yên
Lạc. Kết quả thu đƣợc tôi xin tổng hợp lại thành các nội dung:
1.2.1 Vấn đề về cơ sở vật chất
Theo kết quả khảo sát, phần lớn các trƣờng đều gặp phài một số vấn đề về cơ sở
vật chất nhƣ:
-
Thiếu phòng máy tính, máy chiếu phục vụ dạy lý thuyết và thực hành.
-
Phòng máy tính số lƣợng máy hỏng còn nhiều, máy cũ với cấu hình thấp gây
khó khăn cho việc cài đặt các phần mềm phiên bản cao phục vụ học tập, tốc độ
12
máy chậm, chạy không ổn định ảnh hƣởng đến chất lƣợng các buổi học thực
hành.
-
Nhiều trƣờng phòng máy tính còn chƣa đƣợc kết nối Internet hoặc tốc độ
Internet rất chậm nhƣ THPT Vĩnh Yên, THPT Nguyễn Viết Xuyên, THPT Bình
Xuyên.
1.2.2 Vị thế của môn Tin học trong các trƣờng THPT
Đối với các trƣờng THPT, thì môn Tin học chỉ là môn “phụ”, không tham gia thi
tốt nghiệp hay đại học cao đẳng vì thế chƣa nhận đƣợc sự quan tâm của nhà trƣờng
cũng nhƣ phụ huynh và học sinh: học sinh chỉ học để đối phó, nhà trƣờng chỉ tổ chức
dạy cho đúng yêu cầu, phụ huynh không khuyến khích ủng hộ con em yêu thích đam
mê môn học, thậm chí nhiều phụ huynh còn cấm con em họ tham gia thi học sinh giỏi
môn Tin học, tạo áp lực cho giáo viên và nhà trƣờng để con em học đƣợc ra khỏi đội
tuyển tập trung vào học các môn ôn thi đại học.
Phần lớn giáo viên môn Tin học đều phải kiêm nhiệm rất nhiều công tác khác nhau
nhƣ thủ quỹ, văn phòng, hoạt động đoàn thể nên ảnh hƣởng không nhỏ tới chất lƣợng
giảng dạy.
Vấn đề trên dẫn tới tâm lý học sinh chán học, giáo viên chán dạy nên chất lƣợng
môn Tin học trong trƣờng THPT không đáp ứng đƣợc mục đích, yêu cầu của môn học.
Đặc biệt với môn Lập trình Pascal trong tin học lớp 11, là môn học đƣợc đánh giá là
khó và lạc hậu thì việc dạy và học càng trở lên “đối phó”.
1.2.3 Vấn đề của học sinh khi học lập trình Pascal
Dựa trên kết quả khảo sát, có khá nhiều em học sinh đều quan tâm và cảm thấy
hứng thú với lập trình công việc lập trình viên. Tuy nhiên, việc học ngôn ngữ lập trình
Pascal trong chƣơng trình lớp 11 hiện nay đang gây khó khăn cho các học sinh mới bắt
đầu tìm hiểu học lập trình. Pascal đƣợc chọn sử dụng để dạy ngôn ngữ lập trình cho
học sinh phổ thông vì 30 năm trƣớc nó không có đối thủ về mặt diễn tả thuật toán một
cách trong sáng. Tuy nhiên, hơn 10 năm nay, Pascal mất ƣu thế về mọi mặt và có một
số nhƣợc điểm gây khó khăn cho các em học sinh so với một số ngôn ngữ khác nhƣ:
-
Giao diện chƣơng trình không thân thiện, dễ gây sự nhàm chán cho học sinh.
-
Về mặt cú pháp nó chỉ dễ đọc đối với những học sinh các nƣớc nói tiếng Anh.
-
Không có tính thực tiễn, nên không gây hứng thú cho học sinh.
-
Rƣờm rà, không có IDE giúp bắt lỗi cú pháp nhanh chóng.
Đối với chƣơng trình Pascal lớp 11 hiện nay thì có một số vấn đề sau:
13
-
Các bài tập áp dụng công thức toán học quá nhiều, học sinh phải có kiến thức
tốt về toán thì mới có thể làm đƣợc các bài tập trong sách giáo khoa.
-
Phần lớn các bài tập chỉ liên quan đến tính toán, thuần về toán học, không liên
quan đến thực tiễn do đó học sinh chƣa hiểu đƣợc lập trình để làm gì ngoài viêc
tính toán với các con số.
-
Không trực quan và sinh động.
-
Phần lớn học sinh chỉ cố hoàn thành các bài tập giáo viên cho một cách bị động,
không kích thích tƣ duy tính sáng tạo, không thu hút sự chú ý của học sinh, do
đó học sinh học chỉ để đối phó với môn học.
-
Với ngôn ngữ Pascal, học sinh khó liên hệ với việc xây dựng các ứng dụng
trong thực tế, vì thế học sinh không hình dung hết vai trò của sản phẩm lập trình
trong cuộc sống hàng ngày.
1.2.4 Vấn đề của giáo viên
Giáo viên tin học cấp THPT hiện nay trên địa bàn tỉnh Vĩnh Phúc xét về mặt bằng
chung còn thiếu. Nhiều trƣờng giáo viên Tin học là các thầy cô đƣợc đào tạo chuyên
ngành Toán - Tin (trong đó chƣơng trình Toán là chủ yếu), vì thế dẫn đến việc lúng
túng trong giảng dạy môn Tin học, đặc biệt là việc ứng dụng kiến thức trong sách giáo
khoa vào thực tế và việc cập nhật các kiến thức mới cho học sinh.
Số lƣợng học sinh/lớp ở các trƣờng THPT khá cao (trung bình 35 – 45 học sinh)
gây khó khăn rất lớn cho giáo viên khi hƣớng dẫn học sinh thực hành. Bên cạnh đó cơ
sở vật chất còn thiếu và lạc hậu cũng dẫn tới chất lƣợng các tiết học thực hành không
cao.
Với tâm lý là môn học “phụ”, nên nhiều giáo viên không yêu thích và đam mê với
công tác giảng dạy chuyên môn, lại phải kiêm nhiệm nhiều công tác khác nên cũng
không có nhiều thời gian để giáo viên đầu tƣ cho soạn giáo án, thiết kế chƣơng trình
đổi mới phƣơng pháp giảng dạy hay tự bồi dƣỡng chuyên môn.
Ngôn ngữ Pascal là một ngôn ngữ lạc hậu, tính thực tế không cao nên không thu
hút sự yêu thích tìm tòi khám phá của giáo viên.
1.3 Hƣớng giải quyết
Để giải quyết các thực trạng nêu trên, luận văn sẽ nghiên cứu chƣơng trình trình
dạy lập trình ở một số quốc gia phát triển trên thế giới từ đó học hỏi, rút kinh nghiệm
và đƣa ra đề xuất cải tiến chƣơng trình dạy học lập trình phù hợp với Việt Nam. Việc
lựa chọn ngôn ngữ lập trình mới, dễ sử dụng, gần gũi và hấp dẫn, phù hợp với sự tiến
bộ của khoa học kĩ thuật hiện nay sẽ thu hút sự yêu thích của học sinh, giải quyết đƣợc
14
vấn đề khó khăn của học sinh khi học lập trình. Luận văn cũng đề xuất một chƣơng
trình giảng dạy lập trình mang tính mở và gợi ý cách tổ chức hoạt động học tập cho
học sinh giúp giáo viên có định hƣớng giảng dạy nhƣng cũng có điều kiện để thể hiện
sự sáng tạo và lựa chọn sáng tạo ngôn ngữ lập, trình phù hợp với giáo viên và học sinh
của mình.
1.4 Tóm tắt nội dung
Nội dung luận văn gồm 3 chƣơng: Chƣơng mở đầu phân tích thực trạng của việc
dạy và học lập trình hiện nay ở một số trƣờng THPT, những khó khăn của giáo viên và
học sinh trong quá trình học lập trình Pascal đồng thời đƣa ra hƣớng giải quyết cho các
thực trạng trên. Chƣơng hai sẽ nghiên cứu chƣơng trình giảng dạy lập trình ở một số
nƣớc phát triển nhƣ Canada, Singapore, Phần Lan, Mỹ, nhận xét, đánh giá, so sánh về
cách thức xây dựng chƣơng trình và nội dung chƣơng trình của các nƣớc với Việt Nam
và từ đó xây dựng chƣơng trình giảng dạy lập trình mới cho các khối lớp 10, 11, 12.
Chƣơng ba là ứng dụng ngôn ngữ lập trình Code.org và Alice trong việc giảng dạy
một số module lập trình nhƣ: biến, hàm, vòng lặp, cấu trúc điều khiển, lập trình hƣớng
đối tƣợng, ...và kiểm tra đánh giá đồng thời phân tích, thiết kế và hƣớng dẫn lập trình
game Flappy Bird sử dụng Code.org, game bắt bóng sử dụng Alice.
15
CHƢƠNG II – SO SÁNH CHƢƠNG TRÌNH DẠY LẬP TRÌNH Ở MỘT SỐ
QUỐC GIA PHÁT TRIỂN, XÂY DỰNG CHƢƠNG TRÌNH ĐỔI MỚI
Chƣơng này sẽ tìm hiểu một số nƣớc có chƣơng trình dạy lập trình tiên tiến, tiên
phong trong lĩnh vực CNTT, so sánh, đánh giá để rút ra bài học kinh nghiệm, vận dụng
xây dựng chƣơng trình đổi mới.
Các quốc gia đƣợc nghiên cứu bao gồm:
Ontario (Canada) – một học khu luôn đƣợc đánh giá là có chất lƣợng giáo dục tốt nhất
Canada. Không chỉ là một đất nƣớc có nền khoa học và công nghệ phát triển, Canada
đƣợc biết đến là một trong những quốc gia đứng đầu thế giới về máy tính và CNTT[1].
Mặc dù là một trong ít quốc gia có nền giáo dục mang tính độc lập cao (mỗi học khu
tự chịu trách nhiệm xây dựng chƣơng trình dạy học và quản lý chất lƣợng giáo dục),
nhƣng chất lƣợng giáo dục của Canada tại các trƣờng học trong cả nƣớc khá đồng đều
và có chất lƣợng cao, là sự lựa chọn của rất nhiều du học sinh trên thế giới.
Singapore đƣợc cả thế giới biết đến và ngƣỡng mộ bởi sự phát triển vƣợt bậc về khoa
học, công nghệ và kinh tế trong khi nguồn tài nguyên thì nghèo nàn. Có đƣợc thành
tựu đó phải kể đến sự đóng góp to lớn của nền giáo dục Singapore. Sự phân cấp, linh
hoạt và định hƣớng nghề nghiệp ngay từ rất sớm đã giúp Singapore đào tạo đƣợc
những nguồn nhân lực chất lƣợng cao góp phần thúc đẩy nền kinh tế phát triển mạnh
mẽ[2].
Phần Lan – một quốc gia đƣợc đánh giá là một trong những nƣớc có nền giáo dục
thành công nhất thế giới với điểm đánh giá PISA luôn ở tốp đầu. Đặc biệt kết quả đó
lại đạt đƣợc trên cơ sở hình thức giáo dục “không thi cử, không có áp lực”, do đó nền
giáo dục Phần Lan là chủ đề nghiên cứu của rất nhiều nhà giáo dục đến từ nhiều quốc
gia trên thế giới[3].
Nƣớc Mỹ là đất nƣớc đứng đầu thế giới trong lĩnh vực công nghệ thông tin, nhiều tập
đoàn lớn của Mỹ có sức ảnh hƣởng lớn trên thế giới hoạt động trong lĩnh vực này nhƣ:
Facebook, Google, Microsoft, Apple, Intel, IDM…
Với những đặc điểm nổi bật của các quốc gia đó, tác giả mong muốn rút ra đƣợc nhiều
bài học tiên tiến hữu ích để áp dụng đề xuất đƣợc chƣơng trình tốt nhất phục vụ dạy
học lập trình ở Việt Nam.
[1]
(Linda Sturman, 2011)
( n.d.)
[3]
( n.d.)
[2]
16
2.1 Chƣơng trình dạy lập trình ở một số quốc gia phát triển
2.1.1 CANADA (Ontario)
Đôi nét về hệ thống giáo dục Ontario
Hình 2.1: Sơ đồ tóm tắt các tùy chọn trong chương trình Tin học ở Ontario[4]
Môn Nghiên cứu máy tính ( NCMT) ở Ontario bao gồm các khóa học trong các
lớp 10, 11, 12. Chƣơng trình trong các khóa học đƣợc chia làm 3 loại: dự bị đại học,
dự bị cao đẳng và khóa học mở. Học sinh đƣợc lựa chọn các khóa học trên dựa trên sở
thích, thành tích và mục tiêu sau trung học của họ. Trong đó:
- Các khóa học dự bị đại học đƣợc thiết kế để trang bị cho học sinh những kiến thức
và kĩ năng cần thiết để đáp ứng những yêu cầu đầu vào của chƣơng trình đại học.
[4]
(, 2012)
17
- Các khóa học dự bị cao đẳng đƣợc thiết kế để trang bị cho học sinh những kiến thức
và kĩ năng cần thiết để đáp ứng những yêu cầu đầu vào của các chƣơng trình cao đẳng,
các chƣơng trình học nghề hoặc các chƣơng trình đào tạo khác.
- Các khóa học mở đƣợc thiết kế để mở rộng kiến thức và kĩ năng của học sinh trong
các môn học theo sở thích của họ để chuẩn bị cho sự tham gia vào các hoạt động bổ
ích của xã hội. Các khóa học này không đƣợc thiết kế theo các yêu cầu cụ thể của các
trƣờng đại học, các trƣờng cao đẳng hoặc các nơi làm việc dự kiến.
Trong đó điều kiện tiên quyết thể hiện sự ràng buộc của các khóa học, sự ràng buộc
này đƣợc thể hiện rõ hơn trong sơ đồ sau:
Hình 2.2: Biểu đồ điều kiện tiên quyết cho chuyên đề NCMT
Introduction to
Computer Science
ICS3U
Introduction to
Computer Studies
ICS20
Grade 10, Open
Grade 11, University
Introduction to
Computer Programming
ICS3C
G
Grade 11, College
Computer Science
ICS4U
Grade 12, University
Computer Programming
ICS4C
Grade 12, University
F
Nhìn chung, ở Ontario chƣơng trình môn NCMT các khóa học của mỗi khối lớp 10,
11, 12 đƣợc chia thành các chuyên đề nhƣ sau:
- Chƣơng trình lớp 10 ở Ontario đƣợc chia thành 3 chuyên đề: A. Tìm hiểu về
máy tính; B. Giới thiệu về lập trình; C. Máy tính và xã hội.
- Chƣơng trình lớp 11 đƣợc chia thành 4 chuyên đề: A. Các khái niệm và kĩ
năng về lập trình; B. Phát triển phần mềm; C. Môi trƣờng lập trình; D. Vai trò
của máy tính trong xã hội (vấn đề về môi trƣờng, đạo đức khi sử dụng máy
tính và cơ hội nghề nghiệp).
- Chƣơng trình lớp 12 đƣợc chia thành 4 chuyên đề: A. Các khái niệm và kĩ
năng về lập trình; B. Phát triển phần mềm; C. Các đặc trƣng về thiết kế
chƣơng trình Modular; D. Vai trò của máy tính trong xã hội (vấn đề về môi
trƣờng, đạo đức khi sử dụng máy tính và cơ hội nghề nghiệp).
18
Ở mỗi chuyên đề đó lại phân chia thành các thành phần nhỏ hơn gọi là các kì vọng
tổng thể (overall expectations), các kì vọng tổng thể lại đƣợc chia nhỏ thành các ḱ ì
vọng cụ thể (specific expectations). Trong đó:
-
Kì vọng tổng thể: mô tả một cách tổng quát các kiến thức và kĩ năng mà học
sinh phải đạt đƣợc vào cuỗi mỗi khóa học.
-
Kì vọng cụ thể: mô tả một cách chi tiết hơn các kiến thức và kĩ năng mà học
sinh phải đạt đƣợc. Các kì vọng này đƣợc phân thành các nhóm số (Ví dụ
phân nhóm B2: là nhóm các kì vọng cụ thể của kì vọng tổng thể B2), các
phân nhóm này nhƣ là một hƣớng dẫn cho giáo viên khi họ lên kế hoạch
hoạt động học tập cho học sinh.
Dạy lập trình ở Ontario
Chƣơng trình dạy lập trình ở Ontario đƣợc triển khai ở tất các các khối lớp 10, 11,
12. Trong đó khối 10 đƣợc triển khai giảng dạy ở chuyên đề B, lớp 11 và 12 đƣợc tổ
chức ở chuyên đề A. Việc lựa chọn ngôn ngữ lập trình có tính mở rất cao, chƣơng
trình giáo dục của tỉnh chỉ đƣa ra các kì vọng cần đạt đƣợc trong mỗi khóa học và một
số chƣơng trình mẫu tham khảo. Việc lên kế hoạch triển khai giảng dạy và lựa chọn
ngôn ngữ giảng dạy là do mỗi giáo viên chủ động trên cơ sở tham khảo chƣơng trình
giáo của tỉnh.
- Chƣơng trình lập trình lớp 10:
B. Giới thiệu về lập trình
Phần này giới thiệu cho học sinh về lập trình máy tính. Học sinh sẽ lập kế hoạch và
viết chƣơng trình máy tính đơn giản bằng cách áp dụng các khái niệm lập trình cơ bản
và học cách viết tài liệu nội bộ rõ ràng để lƣu trữ lâu dài.
Các kì vọng tổng thể:
Kết thúc khóa học này học sinh sẽ:
B1. Mô tả khái niệm về lập trình cơ bản và cấu trúc;
B2. Lập kế hoạch và viết chƣơng trình đơn giản bằng cách sử dụng các khái niệm lập
trình cơ bản;
B3. Áp dụng các kĩ thuật tái sử dụng mã cơ sở khi viết chƣơng trình.
Các kì vọng cụ thể:
B1. Khái niệm lập trình
Kết thúc khóa học, học sinh sẽ:
19
B1.1 Sử dụng các thuật ngữ chính xác để mô tả khái niệm lập trình;
B1.2 Mô tả các kiểu dữ liệu mà máy tính có khả năng lƣu trữ và xử lý (ví dụ: kiểu số,
kiểu văn bản);
B1.3 Giải thích sự khác nhau giữa hằng số và biến số đƣợc sử dụng trong lập trình;
B1.4 Xác định đƣợc các biểu thức và các chỉ thị đƣợc sử dụng trong một câu lệnh lập
trình, nêu đƣợc thứ tự thực hiện các phép toán (ví dụ: thứ tự ƣu tiên các phép toán số
học, lệnh gán, và các phép quan hệ );
B1.5 Xác định các tình huống đƣợc quyết định và cấu trúc vòng lặp đƣợc yêu cầu;
B1.6 Mô tả chức năng của các phép logic (ví dụ:AND, OR, NOT), các phép so sánh
(ví dụ: phép bằng, khác, lớn hơn, nhỏ hơn, lớn hơn hoặc bằng, nhỏ hơn hoặc bằng),
các phép toán số học (ví dụ: cộng, trừ, nhân, chia, lũy thừa, dấu ngoặc đơn) và sử dụng
chúng một cách chính xác trong lập trình.
B2. Viết chƣơng trình
Kết thúc khóa học này học sinh sẽ:
B2.1 Sử dụng một mô hình giải quyết vấn đề trực quan (ví dụ: biểu đồ IPO [Input,
Process, Output], biểu đồ và sơ đồ HIPO [Hierarchy plus Input, Process, Output], biểu
đồ lƣu lƣợng, storyboad để lập kế hoạch nội dụng của một chƣơng trình);
B2.2 Sử dụng các biến, biểu thức, lệnh gán để lƣu trữ và thao tác với các con số và văn
bản trong một chƣơng trình (ví dụ: trong một chƣơng trình đố vui, trong một chƣơng
trình chuyển đổi đơn vị);
B2.3 Viết câu lệnh nhập dữ liệu vào từ bàn phím và xuất dữ liệu ra màn hình phù hợp
với các thông số kĩ thuật của chƣơng trình;
B2.4 Viết một chƣơng trình có cấu trúc quyết định một hoặc nhiều lựa chọn (ví dụ; trò
chơi dự đoán, trò chơi đá giấy kéo, câu hỏi nhiều lựa chọn, trò chơi câu đố);
B2.5 Viết chƣơng trình có sử dụng cấu trúc lặp hiệu quả (ví dụ: hình ảnh động đơn
giản, các trò chơi board game đơn giản, trò chơi tung đồng xu);
B2.6 Giải thích sự khác nhau giữa các lỗi cú pháp, lỗi logic và lỗi thời gian chạy;
B2.7 So sánh và đối chiếu việc sử dụng các môi trƣờng lập trình khác nhau để giải
quyết cùng một vấn đề (ví dụ một giải pháp phát triển bằng một ngôn ngữ lập trình so
với một giải pháp phát triển sử dụng một bảng tính).
B3. Tái sử dụng Code
Kết thúc khóa học này, học sinh sẽ:
B3.1 Viết code rõ ràng và có khả năng sử dụng lại theo tiêu chuẩn lập trình thích hợp
(ví dụ: thụt đầu dòng, quy ƣớc đặt tên cho các hằng, biến, biểu thức);
B3.2 Viết tài liệu nội bộ rõ ràng và có thể sử dụng lại theo các chuẩn thiết lập cụ thể
(ví dụ: tiêu đề chƣơng trình, tác giả, ngày sửa đổi, tên chƣơng trình, mô tả chƣơng
trình, bảng các tên biến và giới thiệu);
20
B3.3 Sử dụng kĩ thuật truy tìm để hiểu dòng chƣơng trình và để xác định chính xác các
lỗi logic, lỗi thời gian chạy trong một chƣơng trình máy tính;
B3.4 Chứng minh khả năng xác nhận một chƣơng trình máy tính sử dụng một phạm vi
đầy đủ của các test case.
- Chƣơng trình lập trình lớp 11
A. Các khái niệm và kĩ năng lập trình
Phần này học sinh sẽ sử dụng các công cụ lập trình tiêu chuẩn công nghiệp, viết và sử
dụng chƣơng trình con trong chƣơng trình máy tính.
Các kì vọng tổng quát
Kết thúc khóa học này, học sinh sẽ:
A1. Chứng tỏ khả năng sử dụng các kiểu dữ liệu khác nhau, bao gồm các mảng một
chiều trong các chƣơng trình máy tính;
A2. Chứng tỏ khả năng sử dụng các cấu trúc điều khiển và các thuật toán đơn giản
trong các chƣơng trình máy tính;
A3. Chứng tỏ khả năng sử dụng chƣơng trình con trong các chƣơng trình máy tính;
A4. Sử dụng đúng các quy ƣớc và kĩ thuật tái sử dụng code khi tạo ra các chƣơng trình
máy tính.
Các kì vọng cụ thể:
A1. Các kiểu dữ liệu và biểu thức
Kết thúc khóa học này, học sinh sẽ:
A1.1 Sử dụng chính xác các hằng số và biến số, bao gồm các số nguyên, số thực, kiểu
xâu, kiểu logic trong các chƣơng trình máy tính;
A1.2 Chứng tỏ sự hiểu biết về một máy tính sử dụng các cơ chế khác nhau nhƣ thế nào
(ví dụ: hệ nhị phân, hệ hexa, ACSII, Unicode) để biểu diễn dữ liệu và lƣu trữ thông
tin;
A1.3 Sử dụng lệnh gán một cách chính xác với cả các biểu thức số học và biểu thức
kiểu xâu trong các chƣơng trình máy tính.
A1.4 Chứng tỏ khả năng sử dụng các phép logic (ví dụ: AND, OR, NOT), các phép so
sánh (ví dụ: bằng, khác, lớn hơn, nhỏ hơn, lớn hơn hoặc bằng, nhỏ hơn hoặc bằng), các
phép toán số học (ví dụ: cộng, trừ, nhân, chia, lũy thừa, dấu ngoặc đơn) và thứ tự chính
xác thực hiện các phép toán trong các chƣơng trình máy tính;
A1.5 Mô tả cấu trúc mảng một chiều và các khái niệm liên quan, bao gồm các phần tử,
chỉ số và giới hạn;
A1.6 Viết chƣơng trình thực hiện việc khai báo, khởi tạo, sửa đổi và truy xuất mảng
21
một chiều.
A2. Các cấu trúc điều khiển và thuật toán đơn giản
Kết thúc khóa học này, học sinh sẽ:
A2.1 Viết chƣơng trình có kết hợp sử dụng việc nhập dữ liệu vào, xử lý và xuất dữ
liệu ra màn hình;
A2.2 Sử dụng các cấu trúc điều khiển tuần tự, lựa chọn và lặp lại để tạo các giải pháp
lập trình;
A2.3 Viết các thuật toán với cấu trúc lồng nhau (ví dụ: đếm các phần tử trong một
mảng, tính tổng, tìm giá trị lớn nhất, giá trị nhỏ nhất hoặc thực hiện tìm kiếm tuyến
tính);
A3. Chƣơng trình con
Kết thúc khóa học này, học sinh sẽ:
A3.1 Chứng tỏ khả năng sử dụng các chƣơng trình con có sẵn (ví dụ: sinh số ngẫu
nhiên, chuỗi con, giá trị tuyệt đối) trong các chƣơng trình máy tính;
A3.2 Viết các chƣơng trình con (ví dụ: hàm, thủ tục) có sử dụng việc truyền tham số
và phạm vi biến thích hợp (biến cục bộ, biến toàn cục).
A4. Tái sử dụng Code
Kết thúc khóa học này học sinh sẽ:
A4.1 Chứng tỏ khả năng xác định chính xác lỗi cú pháp, logic và thời gian chạy trong
các chƣơng trình máy tính;
A4.2 Sử dụng các quy ƣớc của nghề nghiệp và nới làm việc (ví dụ: đặt tên, thụt lề, chú
thích) một cách chính xác để viết chƣơng trình và tài liệu nội bộ;
A4.3 Chứng tỏ khả năng giải thích các tin nhắn báo lỗi đƣợc hiển thị bởi các công cụ
lập trình (ví dụ: trình biên dịch, chƣơng trình gỡ lỗi), ở những thời điểm khác nhau
trong quá trình phát triển phần mềm (ví dụ: viết, biên dịch, kiểm tra);
A4.4 Sử dụng kĩ thuật truy tìm để hiểu dòng chƣơng trình và để xác định chính xác các
lỗi logic và lỗi thời gian chạy trong các chƣơng trình máy tính;
A4.5 Chứng tỏ khả năng xác nhận một chƣơng trình sử dụng phạm vi đầy đủ của các
test case;
- Chƣơng trình lập trình lớp 12
A. Các khái niệm và kĩ năng lập trình
Trong phần này học sinh sẽ tiếp tục sử dụng các công cụ lập trình tiêu chuẩn công
nghiệp, viết và sử dụng chƣơng trình con trong chƣơng trình máy tính.
Các kì vọng tổng thể
22
Kết thúc khóa học này, học sinh sẽ:
A1. Chứng tỏ khả năng sử dụng các kiểu dữ liệu và các biểu thức khác nhau khi tạo
chƣơng trình máy tính;
A2. Mô tả và sử dụng các nguyên tắc và khái niệm lập trình mô đun trong việc tạo ra
các chƣơng trình máy tính;
A3. Thiết kế, viết thuật toán sử dụng chƣơng trình con giải quyết một loạt các vấn đề;
A4. Sử dụng đúng các kĩ thuật tái sử dụng code khi tạo ra các chƣơng trình máy tính.
Các kì vọng cụ thể:
A1. Các kiểu dữ liệu và biểu thức
Kết thúc khóa học này, học sinh sẽ:
A1.1 Chứng tỏ khả năng sử dụng phép chia số hết và dƣ trong chƣơng trình máy tính;
A1.2 Chứng tỏ sự hiểu biết về các loại chuyển đổi (ví dụ: kiểu xâu sang kiểu nguyên,
kiểu kí tự sang kiểu nguyên, kiểu nguyên sang kiểu kí tự, kiểu dấu phẩy động sang
kiểu nguyên, ép kiểu trong một cây thừa kế);
A1.3 Chứng tỏ khả năng sử dụng những so sánh không số (ví du: chuỗi, giao diện);
A1.4 Chứng tỏ một sự hiểu biết về những giới hạn của những biểu diễn dữ liệu hữu
hạn (ví dụ: giới hạn số nguyên, độ chính xác của những số phần thực của dấu phẩy
động, lỗi làm tròn) khi thiết kế thuật toán;
A1.5 Mô tả và sử dụng mảng một chiều của những kiểu dữ liệu phức hợp (ví dụ: đối
tƣợng, cấu trúc, bản ghi) trong một chƣơng trình máy tính;
A2. Lập trình mô đun
Kết thúc khóa học này, học sinh sẽ:
A2.1 Tạo ra một chƣơng trình mô đun đƣợc chia thành nhiều file (ví dụ: lớp định
nghĩa ngƣời dùng, thƣ viện, mô đun);
A2.2 Sử dụng các khái niệm thiết kế mô đun hỗ trợ sử dụng lại code (ví dụ; đóng gói,
kế thừa, phƣơng thức Overloading, phƣơng thức Overriding, đa hình);
A2.3 Chứng tỏ khả năng thay đổi code chƣơng trình mô đun đã tồn tại để tăng cƣờng
chức năng của một chƣơng trình;
A3. Thiết kế thuật toán
Kết thúc khóa học này, học sinh sẽ:
A3.1 Chứng tỏ khả năng đọc ra và ghi vào một file ngoài (ví dụ: file văn bản, file nhị
phân, cơ sở dữ liệu, file XML) trong một chƣơng trình máy tính;
A3.2 Tạo ra các thuật toán tìm kiếm tuyến tính và tìm kiếm nhị phân để tìm kiếm dữ
liệu trong một mảng;
23
A3.3 Tạo chƣơng trình con để chèn và xóa các phần tử của mảng;
A3.4 Tạo một thuật toán sắp xếp (ví dụ: nổi bọt, chèn, lựa chọn) để sắp xếp dữ liệu
trong một mảng;
A3.5 Tạo thuật toán để xử lý các phần tử trong mảng 2 chiều (ví dụ: nhân mỗi phần tử
với một hằng số, tráo đổi các phần tử, nhân ma trận, xử lý điểm ảnh 4một bức ảnh);
A3.6 Thiết kế một thuật toán đệ quy đơn giản và hiệu quả (ví dụ: tính giai thừa, dịch
số thành chữ, sắp xếp trộn (merge sort),sinh fractal, phân tích cú pháp XML);
A4. Tái sử dụng code
Kết thúc khóa học này, học sinh sẽ:
A4.1 Làm việc độc lập, sử dụng tài liệu hỗ trợ (ví dụ: trợ giúp IDE, hƣớng dẫn sử
dụng, ...) để giải quyết vấn đề cú pháp trong quá trình phát triển phần mềm;
A4.2 Phát triển và thực hiện một kế hoạch kiểm thử chính thức (ví dụ: test đơn vị, test
tích hợp, test hồi quy) cho một dự án phần mềm để đảm bảo chƣơng trình đúng đắn;
A4.3 Tạo đầy đủ tài liệu chƣơng trình code theo tiêu chuẩn công nghiệp (ví dụ: chú
thích doc, chú thích trên nhiều dòng (docstring), chú thích khối, chú thích dòng);
A4.4 Tạo tài liệu hƣớng dẫn sử dụng bên ngoài rõ ràng và có thể duy trì lâu dài (ví dụ:
file trợ giúp, tài liệu đào tạo, hƣớng dẫn sử dụng).
Ngôn ngữ sử dụng trong chƣơng trình dạy học lập trình ở Ontario là ngôn ngữ Java.
Mức độ thành tích (đƣợc cho trong bảng 2.2): là các xếp hạng thành tích đƣợc xếp
theo 4 mức độ, trong đó:
-
Level 1 (50-59%): Mức thấp nhất của bảng xếp hạng, thấp hơn mức tiêu chuẩn
của tỉnh nhƣng vẫn đảm bảo học sinh đủ điều kiện hoàn thành khóa học.
-
Level 2 (60-69%): Xác định thành tích ở mức cận chuẩn trong bảng xếp hạng.
-
Level 3 (70-79%): Mức đại diện cho tiêu chuẩn cấp tỉnh về những thành tích
đạt đƣợc theo những kì vọng của khóa học (mức chuẩn).
-
Level 4 (80-100%): Xác định thành tích vƣợt chuẩn. Nó thể hiện học sinh đã
đạt đƣợc hầu hết các kì vọng của khóa học.
Mục đích của biểu đồ thành tích:
-
Cung cấp một khuôn mẫu chung bao gồm tất cả các kì vọng của chƣơng trình
giảng dạy môn NCMT lớp 10 – 12.
-
Giúp giáo viên có hƣớng lập kế hoạch giảng dạy.
-
Cung cấp các loại tiêu chí khác nhau để xác định và đánh giá kết quả học tập
của học sinh.
24
Lƣu ý: Nếu học sinh có thành tích dƣới 50% (Mức 1) khi kết thúc mỗi khóa học sẽ
không hoàn thành khóa học đó.
25
Bảng 2.1: Bảng xếp hạng thành tích môn NCMT lớp 10-12[6]
50-59%
60-69%
70-79%
80-100%
(Level 1)
(Level 2)
(Level 3)
(Level 4)
Nhận biết và thông hiểu - nội dung cụ thể của môn học đạt đƣợc trong mỗi khóa học (nhận biết), và hiểu biết về ý nghĩa và tầm quan trọng
của nó (thông hiểu).
Học sinh:
Thể hiện hạn chế nội Thể hiện đƣợc một số Thể hiện đƣợc đáng Thể hiện đƣợc toàn
Nội dung nhận biết
(ví dụ: các sự kiện, thuật ngữ kĩ thuật, các dung nhận biết
nội dung nhận biết
kể nội dung nhận diện về nội dung
định nghĩa, các thủ tục, các tiêu chuẩn)
biết
nhận biết.
Thể hiện hạn chế nội Thể hiện đƣợc một số Thể hiện đƣợc đáng Thể hiện đƣợc toàn
Nội dung thông hiểu
(ví dụ: khái niệm, nguyên tắc, phƣơng dung thông hiểu
nội dung thông hiểu
kể nội dung thông diện về nội dung
pháp, sử dụng các công cụ)
hiểu
thông hiểu
Tƣ duy – Sử dụng kĩ năng/phƣơng pháp tƣ duy sáng tạo và phản biện
Học sinh:
Sử dụng các kĩ năng lập Sử dụng các kĩ năng Sử dụng các kĩ năng Sử dụng các kĩ năng
Sử dụng các kĩ năng lập kế hoạch
(ví dụ: tập trung nghiên cứu, thu thập kế hoạch với hiệu quả lập kế hoạch với một lập kế hoạch với lập kế hoạch với
thông tin, lựa chọn chiến lƣợc, tổ chức hạn chế
số hiệu quả nhất định hiệu quả đáng kể
hiệu quả cao
một dự án)
Sử dụng các kĩ năng xử Sử dụng các kĩ năng Sử dụng các kĩ năng Sử dụng các kĩ năng
Sử dụng các kĩ năng xử lý
(ví dụ: phân tích, giải thích, đánh giá, ƣớc lý với hiệu quả hạn chế
xử lý với một số hiệu xử lý với hiệu quả xử lý với hiệu quả
lƣợng, lập luận, tích hợp, tổng hợp)
quả nhất định
đáng kể
cao
Loại kiến thức kĩ năng
[6]
(, 2015)