1. Trang chủ
  2. » Luận Văn - Báo Cáo

Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông

101 485 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 101
Dung lượng 2,77 MB

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

Nội dung

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

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THỊ YẾN

MỘT SỐ ĐỀ XUẤT VỀ DẠY VÀ HỌC LẬP TRÌNH TRONG MÔN TIN HỌC Ở CÁC TRƯỜNG

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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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 độ

Trang 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:

Trang 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

Trang 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

Trang 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

Trang 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]

Trang 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

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)

Grade 11, University

Introduction to Computer Programming

ICS3C

Grade 11, College

Computer Science ICS4U

Grade 12, University

Computer Programming

ICS4C

Grade 12, University

Trang 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

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ẽ:

Trang 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);

Trang 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

Trang 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ể

Trang 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;

Trang 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

Trang 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 đó

Trang 25

của nó (thông hiểu)

Học sinh:

Nội dung nhận biết

(ví dụ: các sự kiện, thuật ngữ kĩ thuật, các

định nghĩa, các thủ tục, các tiêu chuẩn)

Thể hiện hạn chế nội dung nhận biết

Thể hiện được một số nội dung nhận biết

Thể hiện được đáng

kể nội dung nhận biết

Thể hiện được toàn diện về nội dung nhận biết

Nội dung thông hiểu

(ví dụ: khái niệm, nguyên tắc, phương

pháp, sử dụng các công cụ)

Thể hiện hạn chế nội dung thông hiểu

Thể hiện được một số nội dung thông hiểu

Thể hiện được đáng

kể nội dung thông hiểu

Thể hiện được toàn diện về nội dung 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 kế hoạch

(ví dụ: tập trung nghiên cứu, thu thập

thông tin, lựa chọn chiến lược, tổ chức

số hiệu quả nhất định

Sử dụng các kĩ năng lập kế hoạch với hiệu quả đáng kể

Sử dụng các kĩ năng lập kế hoạch với hiệu quả cao

Trang 26

Sử dụng quá trình tư duy sáng tạo và

phản biện

(ví dụ: giá trị của giải pháp máy tính, giải

quyết vấn đề, đưa ra quyết định, phát hiện

và điều chỉnh sai sót, nghiên cứu)

Sử dụng quá trình tư duy sáng tạo và phản biện với hiệu quả hạn chế

Sử dụng quá trình tư duy sáng tạo và phản biện với một số hiệu quả nhất định

Sử dụng quá trình tư duy sáng tạo và phản biện với hiệu quả đáng kể

Sử dụng quá trình tư duy sáng tạo và phản biện với hiệu quả cao

Giao tiếp – truyền đạt ý nghĩa thông qua các dạng khác nhau

Diễn đạt và tổ chức các thông tin và ý

tưởng (ví dụ: diễn đạt rõ ràng, tổ chức

logic) bằng ngôn ngữ, hình ảnh trực

quan, các hình thức văn bản, các hình

thức điện tử (ví dụ: các trình chiếu, biểu

đồ, đồ thị, bảng biểu, mô hình, trang web,

báo cáo)

Diễn đạt và tổ chức các thông tin và ý tưởng với hiệu quả hạn chế

Diễn đạt và tổ chức các thông tin và ý tưởng với một số hiệu quả nhất định

Diễn đạt và tổ chức các thông tin và ý tưởng với hiệu quả đáng kể

Diễn đạt và tổ chức các thông tin và ý tưởng với hiệu quả cao

Giao tiếp với các đối tượng khác nhau

(ví dụ: đồng nghiệp, người dùng máy tính,

người giám sát công ty) và mục đích (ví

dụ: thông báo, thuyết phục) bằng lời nói,

hình ảnh trực quan, các hình thức văn

bản, các hình thức điện tử

Giao tiếp với các đối tượng khác nhau và mục đích với hiệu quả hạn chế

Giao tiếp với các đối tượng khác nhau và mục đích với một số hiệu quả nhất định

Giao tiếp với các đối tượng khác nhau và mục đích với hiệu quả đáng kể

Giao tiếp với các đối tượng khác nhau và mục đích với hiệu quả cao

Sử dụng các quy ước,

từ vựng và các thuật ngữ chuyên ngành với một số hiệu quả nhất định

Sử dụng các quy ước, từ vựng và các thuật ngữ chuyên ngành với hiệu quả đáng kể

Sử dụng các quy ước, từ vựng và các thuật ngữ chuyên ngành với hiệu quả cao

Trang 27

Ứng dụng – Việc sử dụng các kiến thức và kĩ năng để tạo sự kết nối trong và giữa các ngữ cảnh khác nhau

Học sinh:

Ứng dụng kiến thức và kĩ năng (ví dụ:

khái niệm, thủ tục, quy trình, sử dụng

công cụ) trong những ngữ cảnh quen

thuộc

Áp dụng kiến thức và kĩ năng trong những ngữ cảnh quen thuộc với hiệu quả hạn chế

Áp dụng kiến thức và

kĩ năng trong những ngữ cảnh quen thuộc với một số hiệu quả nhất định

Áp dụng kiến thức

và kĩ năng trong những ngữ cảnh quen thuộc với hiệu quả đáng kể

Áp dụng kiến thức

và kĩ năng trong những ngữ cảnh quen thuộc với hiệu quả cao

Chuyển đổi kiến thức và kĩ năng (ví dụ:

lựa chọn công cụ và phần mềm, tiêu chuẩn

đạo đức, khái niệm, quy trình, công nghệ)

với ngữ cảnh mới

Chuyển đổi kiến thức và

kĩ năng với ngữ cảnh mới với hiệu quả hạn chế

Chuyển đổi kiến thức

và kĩ năng với ngữ cảnh mới với một số hiệu quả nhất định

Chuyển đổi kiến thức và kĩ năng với ngữ cảnh mới với hiệu quả đáng kể

Chuyển đổi kiến thức và kĩ năng với ngữ cảnh mới với hiệu quả cao

Tạo các kết nối trong và giữa các ngữ

cảnh khác nhau (ví dụ: giữa NCMT và

kinh nghiệm cá nhân, cơ hội, triển vọng và

thách thức xã hội và toàn cầu, giữa môn

học và ngành học)

Tạo các kết nối trong và giữa các ngữ cảnh khác nhau với hiệu quả hạn chế

Tạo các kết nối trong

và giữa các ngữ cảnh khác nhau với một số hiệu quả nhất định

Tạo các kết nối trong và giữa các ngữ cảnh khác nhau với hiệu quả đáng kể

Tạo các kết nối trong và giữa các ngữ cảnh khác nhau với hiệu quả cao

Trang 28

Kết quả KTĐG cuối cùng của học sinh sẽ được tính như sau:

- Điểm đánh giá tiến hành trong suốt khóa học chiếm 70 %

- 30% còn lại là điểm dựa trên đánh giá vào cuối khóa học hình thức một bài thi, hiệu suất: kiểm tra, tiểu luận hoặc một phương thức đánh giá khác phù hợp với nội dung khóa học và cách thức quản lý cuối mỗi khó học

Kết quả học tập chính thức của học sinh sẽ được thông báo cho phụ huynh và học sinh thông qua thẻ Provincial Report Card Thẻ này cung cấp một hồ sơ về thành tích học tập của học sinh với những kì vọng của chương trình dạy học ở các thời điểm cụ thể của năm học hoặc học kì theo hình thức điểm phần trăm

Thẻ báo cáo cũng cung cấp một hồ sơ về kĩ năng học tập của học sinh trong mỗi khóa học theo 5 loại: làm việc độc lập, làm việc nhóm, tổ chức, thói quen làm việc và sáng kiến Các kĩ năng học tập được đánh giá theo 4 mức: E – Excellent (tuyệt vời), G – Good (tốt), S – Satisfactory (đạt yêu cầu), N – Need improvement (cần cố gắng) Các đánh giá riêng và báo cáo về các kĩ năng học tập của học sinh trong năm lĩnh vực phản ánh vai trò quan trọng của chúng trong bảng thành tích học tập của học sinh về những kì vọng trong chương trình giảng dạy

2.1.2 SINGAPORE

Chương trình dạy học lập trình cấp THPT ở Singapore

Các học sinh Singapore từ 12 tuổi có quyền lựa chọn đăng kí tham gia các khóa học ứng dụng máy tính Nhưng đối với những học sinh muốn học theo chuyên ngành

kĩ thuật về máy tính để có thể đi làm hoặc học lên cao đẳng, đại học về chuyên ngành này thì việc học các khóa học máy tính là bắt buộc ở từng lộ trình:

- Bằng GCE-N: Yêu cầu đối với những học sinh tốt nghiệp THCS (trung học cơ sở) ở

hệ bình thường hoặc kĩ thuật Sau khi có bằng GCE-N họ có thể đi làm hoặc vào học tại các viện đào tạo kĩ thuật, học sinh tốt nghiệp bằng GCE-N cũng có thể học thêm 1 năm để lấy bằng GCE-O

- Bằng GCE-O: Yêu cầu đối với những học sinh tốt nghiệp THCS hệ cấp tốc hoặc những học sinh tốt nghiệp bằng GCE-N học thêm 1 năm Sau khi tốt nghiệp bằng GCE-O học sinh có thể đi làm hoặc vào học tại các trường THPT (Trung học phổ thông), viện đào tạo tập trung hoặc cao đẳng

- Bằng GCE-A (Cambridge General Certificate of Education Advanced): Yêu cầu đối

với những học sinh tốt nghiệp THPT hoặc các viện đào tạo tập trung Học sinh tốt nghiệp bằng GCE-A có thể đi làm hoặc học tiếp lên cao đẳng, đại học

Chương trình dạy lập trình cấp THPT ở Singapore

Trang 29

Sau tốt nghiệp THPT, học sinh Singapore phải đạt được bằng GCE-A Chương trình dạy học vì thế được xây dựng theo yêu cầu của GCE-A

Mục tiêu của giáo trình “Computing” GCE-A là giúp học sinh phát triển:

+ Tính toán, tư duy thông qua việc phân tích các vấn đề, thiết kế và thực hiện các thuật toán trong một hay nhiều tình huống có vấn đề

+ Hiểu biết các vấn đề về đạo đức, xã hội và kinh tế gắn liền với việc sử dụng máy tính

và công nghệ thông tin truyền thông

+ Kĩ năng quản lý dự án thông qua việc lập kế hoạch, thiết kế và tạo ra các giải pháp cho kinh doanh, kỹ thuật, giáo dục, giải trí

+ Kĩ năng sống cần thiết như tư duy, phê phán, sáng tạo, hợp tác, giao tiếp và tự định hướng học tập

Đối với môn học “Computing”, bằng GCE-A yêu cầu học sinh học đủ 3 module: (1) Thuật toán và thiết kế; (2) Giao diện và tương tác lẫn nhau; (3) Kĩ thuật hệ thống Trong đó mảng lập trình tập trung ở module (1): Thuật toán và thiết kế Module này bao gồm các cấu trúc dữ liệu và giải thuật liên quan, giới thiệu thực hành phát triển phần mềm, sử dụng các thư viện, các phương pháp thử nghiệm và kĩ thuật gỡ lỗi thông qua một loạt các nhiệm vụ trong các lĩnh vực: kinh doanh, khoa học, kĩ thuật, giáo dục, giải trí và trong cuộc sống Học sinh nên hiểu rằng tư duy tính toán là phương tiện

và giải pháp thiết thực, hiệu quả cho các vấn đề thế giới thực Học sinh sẽ được giới thiệu một cách khuôn khổ để giải quyết sáng tạo các vấn đề và rèn luyện kĩ năng lập trình máy tính

Module (1): Thuật toán và thiết kế có 4 đơn vị học trình:

A Các thuật toán cơ bản

B Trừu tượng hóa

C Tính modul

D Lập trình

Nội dung chính trong từng đơn vị học trình:

A Các thuật toán cơ bản

Trong module này học sinh sẽ áp dụng các thuật toán chuẩn trong việc tạo ra các giải pháp lập trình cho một loạt các vấn đề kịch bản Ở module này học sinh cần biết

và hiểu:

A.1 Khái niệm về một chương trình và lưu đồ thuật toán

Trang 30

A.2 Các thuật toán như tìm kiếm tuyến tính/tìm kiếm tuần tự, tìm kiếm nhị phân, tìm kiếm bảng băm và so sánh hiệu quả

A.3 Thuật toán phân loại như sắp xếp nổi bọt, sắp xếp chèn, sắp xếp nhanh và so sánh hiệu quả

A.4 Phép toán modulo, phương thức weighted-modulus và sinh số ngẫu nhiên A.5 Duyệt cây nhị phân: duyệt theo thứ tự trước, duyệt theo thứ tự giữa, duyệt theo thứ tự sau, từ đó sắp xếp cây nhị phân và tìm kiếm cây nhị phân

B Trừu tượng hóa

Học sinh sẽ sử dụng cấu trúc dữ liệu trong các giải pháp lập trình, có khả năng giải thích hoặc biện minh việc sử dụng một cấu trúc dữ liệu cụ thể Học sinh hiểu được làm thế nào dữ liệu có thể được đại diện/mã hóa, các khả năng và hạn chế của máy tính và tính toán, giải thích quy trình lập trình Ở module này học sinh cần hiểu và biết:

B.1 Các loại dữ liệu như: số nguyên, số thực, char, string, boolean

B.2 Mã ASCII để biểu diễn các kí tự, biểu diễn số nguyên dương trong hệ nhị phân, bát phân và hexa

B.3 Hệ thống mã hóa Unicode (ý nghĩa, các tiêu chuẩn Unicode)

B.4 Các cấu trúc dữ liệu như mảng, ngăn xếp, hàng đợi, danh sách, cây nhị phân và các thuật toán liên quan

B.5 Khái niệm đề quy

B.6 Hạn chế của việc tính toán, vấn đề trạng thái máy tính

C Tính module

Học sinh sẽ sử dụng thiết kế, gỡ lỗi và các kĩ thuật kiểm thử để đảm bảo một sản phẩm phần mềm chất lượng Áp dụng phương pháp thiết kế top – down để phát triển một thuật toán giải quyết một vấn đề nào đó và có thể theo một thuật toán Học sinh

cần biết và hiểu:

C.1 Loại lỗi của chương trình: ngữ nghĩa, cú pháp, logic, số học, nguyên nhân xảy ra lỗi C.2 Các kiểm thử thích hợp (bình thường, bất thường, sai lầm và danh giới dữ liệu)

để kiểm tra các thuật toán và kĩ thuật gỡ lỗi

C.3 Các kĩ thuật xác nhận dữ liệu: phạm vi và loại hình kiểm tra, sự khác biệt giữa xác nhận dữ liệu và xác minh dữ liệu

C.4 Tầm quan trọng của việc xác định một vấn đề chính xác

Trang 31

C.5 Kĩ thuật xây dựng và mô tả một giải pháp máy tính (ví dụ như đặc điểm kĩ thuật dữ liệu, thiết kế top – down, thiết kế kiểu module, sơ đồ luồng dữ liệu, cây/bảng quyết định, mã giả và mã ngôn ngữ lập trình) và tinh chỉnh từng bước khi ứng dụng C.6 Sự rõ ràng của giải pháp lập trình có thể được tăng cường thông qua các chú thích, thụt lề, khoảng trắng và các tên gợi nhớ

D Lập trình

Học sinh sẽ thiết kế và phát triển các giải pháp lập trình máy tính giải quyết vấn đề trong công việc Học sinh sẽ hiểu lập trình cấu trúc và khái niệm hướng đối tượng thông qua sử dụng một ngôn ngữ lập trình Thực hành lập trình tốt sẽ được nhấn mạnh

ở việc viết code cho các giải pháp lập trình Học sinh nên biết và hiểu:

D.1 Dữ liệu vào, dữ liệu ra, trình tự, lựa chọn và cấu trúc lặp trong lập trình

D.2 Tệp nối tiếp và tệp tuần tự

D.3 Các lớp và đối tượng

D.4 Đóng gói và làm thế nào để các lớp hỗ trợ ẩn thông tin và thực hiện một cách độc lập

D.5 Thừa kế và làm thế nào áp dụng nó để thúc đẩy tái sử dụng phần mềm

D.6 Đa hình và ứng dụng nó như thế nào để khái quát hóa code

Kiểm tra đánh giá

Mục tiêu đánh giá

Việc kiểm tra sẽ đánh giá:

(a) Kiến thức và hiểu biết về khái niệm điện toán, thuật toán, kĩ thuật và công cụ (b) Áp dụng các kiến thức và sự hiểu biết về vấn đề tính toán

(c) Định nghĩa và phân tích các vấn đề tính toán

(d) Phát triển các thông số kĩ thuật để giải quyết các vấn đề tính toán và kiểm nghiệm

(e) Hiểu và ứng dụng các quy trình và công cụ quản lý dự án

(f) Giao tiếp và đánh giá thiết kế và phát triển hệ thống

Học sinh sẽ phải trải qua 2 bài thi:

- Paper 1 (Lap – bài thi cơ sở, thời gian làm bài: 3 h 15 phút): Bài này kiểm tra module 1: Thiết kế và thuật toán với 4 câu hỏi có cấu trúc và thực hiện trên máy tính Những câu hỏi này sẽ kiểm tra khả năng giải quyết vấn đề của học sinh

Trang 32

thông qua việc viết về tính hiệu quả và thực hành các thuật toán bằng một ngôn ngữ lập trình được quy định trước Các thí sinh sẽ phải nộp bản cứng những công việc của họ để chấm điểm bao gồm code chương trình, ảnh chụp màn hình các kết quả test Thời gian in bài nộp đã bao gồm thời gian làm bài Bài thi này chiếm trọng số 35% tổng điểm (bài thi này gồm các yêu cầu đánh giá (b), (c), (d)) -

Paper 2 (thi viết, thời gian: 3 h): Bài thi này kiểm tra cả 3 module thông qua 1 câu hỏi có cấu trúc về một trường hợp kịch bản được mô tả trong bài thi và 5 câu hỏi có cấu trúc khác Trường hợp kịch bản (câu hỏi 1) sẽ bao gồm module

3, 5 câu hỏi khác sẽ bao gồm module 1 và 2 Bài thi này chiếm 65% số điểm (gồm các yêu cầu đánh giá (a) – (f))

Bảng 2.2: Quy định về bài thi

Trang 33

Bảng 2.3: Số lượng câu hỏi cho mỗi mục tiêu đánh giá

2.1.3 MỸ

Đôi nét về hệ thống giáo dục Mỹ

Hệ thống giáo dục Hoa Kỳ chủ yếu là nền giáo dục công do Chính phủ liên bang, tiểu bang, và địa phương điều hành và cung cấp tài chính Giáo dục Hoa Kỳ mang tính chất phổ cập ở bậc tiểu học và trung học Hệ thống giáo dục chia thành 3 cấp: tiểu học: bắt đầu từ 5 hoặc 6 đến 11 tuổi (K6), THCS: từ hết tiểu học đến 14 tuổi (K8) và THPT: từ hết THCS đến 18 tuổi (K12) Ở các cấp học này, chương trình học, mức độ

hỗ trợ tài chính và những chính sách khác được đề ra bởi các Hội đồng học khu gồm những thành viên được bầu chọn thông qua bầu cử ở địa phương Các học khu có nhân

sự và ngân sách độc lập, tách biệt khỏi các cơ cấu có thẩm quyền khác ở địa phương Chính quyền các tiểu bang thường quyết định các tiêu chuẩn giáo dục và thi cử, không

có hệ thống giáo dục chung cho cả liên bang Giáo dục Hoa Kỳ ngoài các môn bắt buộc, học sinh có thể lựa chọn các môn tự chọn, các trường THPT cung cấp danh sách các môn học mà học sinh có thể lựa chọn để tiếp tục theo học lên cao đẳng, đại học hoặc một nghề kinh doanh, công nghiệp

Chương trình học lập trình ở Mỹ

Chương trình khoa học máy tính ở Mỹ

Khoa học máy tính được giảng dạy ở hầu hết các trường trung học nước Mỹ với vai trò là môn học tự chọn Chương trình mẫu cho môn học này được xây dựng phát triển bởi Hiệp hội giáo viên Khoa học máy tính CSTA (Computer Science Teachers Association) Chương trình mẫu được xây dựng đảm bảo tiêu chuẩn của CSTA và tiêu chuẩn của Hiệp hội Quốc tế về sử dụng công nghệ trong giáo dục ISTE (International Society for Technology in Education)

Trang 34

Hình 2.3: Cấu trúc chương trình khoa học máy tính cho K-12 [10]

Theo mô hình chương trình giảng dạy của ACM (Association for Computing Machinery), học sinh THCS Mỹ phải hoàn thành các khóa học ở level I và học sinh THPT Mỹ phải hoàn thành các khóa học ở level II Khóa học level II (khoa học máy tính trong thế giới hiện đại) với thời lượng đào tạo là 1 năm dành cho tất cả các học sinh lớp 9, 10 Mục đích của khóa học là giới thiệu cho học sinh các nguyên tắc của khoa học máy tính và vị trí của nó trong thế giới hiện đại, giúp học sinh có thể sử dụng máy tính một cách hiệu quả phục vụ cuộc sống của họ Khóa học level III (phân tích

và thiết kế), khóa học này kéo dài 1 năm và có cấp chứng chỉ Khóa học dành cho các học sinh ở lớp cao hơn muốn theo đuổi lĩnh vực kĩ thuật nghiên cứu công nghệ, khoa học máy tính tiên tiến ở các trường đại học Khóa học level IV (khóa học đặc biệt) – dành cho các học sinh tập trung vào một lĩnh vực cụ thể của máy tính mà họ đặc biệt quan tâm, khóa học này được thiết kế bao gồm các khóa học chuyên ngành, khoa học máy tính AP hay các khóa học để học sinh có khả năng ra làm việc

Chương trình dạy lập trình ở Mỹ

Học sinh THPT Mỹ được học lập trình ở tất cả các năm học Ngoài những khái niệm giúp học sinh hiểu về lĩnh vực khoa học máy tính thì các buổi học phòng lab nhằm giúp học sinh phát triển các kĩ năng lập trình

Level II: Khoa học máy tính trong thế giới hiện đại

Trong đó, chương trình dạy về lập trình cho học sinh tập trung ở chuyên đề 11 (ngôn ngữ lập trình) và chuyên đề 12 (thiết kế và phát triển trang web) Học sinh trong khóa học này cần có được kinh nghiệm thiết kế thuật toán và các giải pháp lập trình để giải quyết các vấn đề tính toán, trong khi việc lựa chọn ngôn ngữ lập trình là do giáo viên

[10]

Trang 35

Chuyên đề 11: Ngôn ngữ lập trình

Chuyên đề này sẽ giới thiệu cho học sinh một số vấn đề cơ bản liên quan đến thiết kế

và phát triển chương trình Trọng tâm là thiết lập việc đánh giá qua sản phẩm phần mềm

Sách giáo khoa và học liệu:

Một ngôn ngữ lập trình, môi trường phát triển tương tác được khuyến nghị

Thời lượng giảng dạy: 2 – 4 tuần

Học xong phần này học sinh có thể:

1 Code, test và thực hiện một chương trình tương ứng với

một tợp hợp các thông số kĩ thuật

Thực hành phòng Lab

2 Chuyển đổi một vấn đề dạng chữ sang dạng code sử

dụng thiết kế top – down

Viết và thực hành pḥng Lab

3 Chọn kiểu dữ liệu thích hợp Thực hành phòng Lab

4 Viết code chương trình có cấu trúc Thực hành phòng Lab

5 Vẽ một loạt các biểu đồ biểu diễn phạm vi giá trị của các

biến trong quá trình thực thi một chương trình đơn giản

Viết

Kiểm tra đánh giá:

Thực hành phòng Lab 50%

Viết gồm: các bài kiểm tra, trắc nghiệm, viết báo cáo 50%

Chương trình chi tiết

Nội dung Mẫu thực hành/ hoạt động học tập

(hoạt động hands – on)

1 Thuật ngữ Hiểu và định nghĩa từ khóa liên quan đến lập trình

2 Biểu diễn văn bản

trong máy tính

Mỗi học sinh sẽ viết một câu trong hệ nhị phân và trao đổi nó với bạn bên cạnh Bạn bên cạnh sẽ dịch nó sang dạng văn bản

3 Biểu diễn số trong máy

số kết quả quá lớn để lưu trữ trong byte ảo sẽ bị tràn

4 Kiểu dữ liệu: Kiểu

nguyên, dấu phảy động,

Đánh giá kết quả của các biểu thức toán học và logic sử dụng số nguyên, dấu phảy động, số học hỗn hợp Đánh

Trang 36

kiểu kí tự/xâu, kiểu logic

và các phép toán tương

ứng

giá kết quả biểu thức sử dụng các toán tử quan hệ và logic Vấn đề là nên yêu cầu học sinh hiểu thứ tự thực hiện các phép toán

5 Thực hiện chương trình

Vẽ một biểu đồ luồng dữ liệu biểu diễn quá trình từ nguồn đến có thể thực thi được, bao gồm luồng trả ra các lỗi ngữ nghĩa và cú pháp

6 Kĩ thuật thiết kế

chương trình

Học sinh được đưa ra một vấn đề từ ngữ và các yêu cầu trạng thái đầu vào, kết quả đầu ra và các công thức cần thiết Luồng chương trình được vẽ thành biểu đồ trước khi bắt đầu quá trình code

7 Tác phong lập trình

Công bố code được viết cho một chương trình mà không có chú thích, một kí tự không mô tả tên biến, nhiều câu lệnh trên một dòng .Chương trình này làm gì? Yêu cầu học sinh nhập và chạy chương trình để xác định nó làm gì và làm những thay đổi cần thiết để có phong cách làm việc tốt

8 Các câu lệnh lập trình

hiển thị kết quả đầu ra

Viết một chương trình hiển thị kết quả đầu ra

9 Khai báo và sử dụng

các hằng và biến đơn giản

Viết một chương trình thực hiện các phép toán và đưa

phạm vi, tham số truyền

thông giữa các phần của

chương trình

Viết một chương trình yêu cầu cùng một mã được thực thi nhiều lần và chia nó ra thành các đơn vị Ví dụ: Công bố lời một bài hát yêu thích có chứa ít nhất hai câu thơ và một điệp khúc Viết một chương trình con cho mỗi câu và đoạn điệp khúc Gọi các chương trình con theo thứ tự Sửa đổi lời của bài hát với các tham số

Trang 37

mẫu dữ liệu vào

16 So sánh ngôn ngữ bậc

cao

Thực hiện code bằng ngôn ngữ khác nhau thực hiện những nhiệm vụ tương tự (ví dụ: lặp, điều kiện)

Chuyên đề 12: Phát triển và thiết kế trang web

Chuyên đề phát triển và thiết kế trang web sẽ trình bày cho học sinh các bước cần thiết

để tạo một trang web đơn giản Học sinh sẽ học cách lập kế hoạch, code trang web và kiểm thử

Sách giáo khoa và học liệu

Máy tính truy cập Internet, khả năng truy cập vào một trình soạn thảo, nhiều trình duyệt hữu ích, không gian trên máy chủ web cho các ấn phẩm của các trang web được yêu cầu hoàn thành

Thời lượng: 2 – 3 tuần

Mục tiêu Biện pháp đánh giá

Học xong phần này học sinh có thể:

1 Sử dụng chính xác các thẻ HTML để tạo trang web Viết và thực hành phòng Lab

2 Áp dụng các style cho văn bản HTML để kiểm soát

5 Xuất bản một website Thực hành phòng Lab

6 Áp dụng kĩ thuật thiết kế tốt khi tạo một website Thực hành phòng Lab

7 Giải thích sự khác nhau giữa web tĩnh và web động Viết

Kiểm tra đánh giá:

Thực hành phòng Lab 50%

Viết gồm: các bài kiểm tra, trắc nghiệm, viết báo cáo 50%

Chương trình chi tiết

Nội dung Mẫu thực hành/ hoạt động học tập

(hoạt động hands – on)

1 Thuật ngữ Hiểu và định nghĩa các từ khóa liên quan đến phát triển

trang web

Trang 38

có khả năng truy cập

3 Thiết kế một website

Chọn một chủ đề được quan tâm chung Suy nghĩ nội dung như hoạt động lớp Thiết kế trang chủ Thảo luận khả năng truy cập Thiết kế lại trang chủ Mỗi học sinh lựa chọn một vùng nội dung để thiết kế và phải trình bày ít nhất 3 trang liên quan (ví dụ: Dog – hiển thị dog, giống, nuôi dog) Tạo

ra 1 site map và storyboard

4 Thảo luận về các thẻ

HTML cho các thành

phần: Hình thức, văn

bản, đồ họa, siêu liên

kết, đa phương tiện,

bảng

Sử dụng mỗi thành phần trong một tài liệu HTML như nó được giải thích Kiểm tra để thấy rằng các thành phần được thêm vào trong một cách thức phù hợp với huyến nghị của World Wide Webk Hãy xem xét các yếu tố mà ảnh hưởng đến sự linh hoạt như mối liên quan với liên kết tuyệt đối và phía Server với kịch bản phía máy khách

để thấy rằng style được thêm vào phù hợp với khuyến nghị của World Wide Web

6 Tạo một trang web

9 Tương tác

Giới thiệu sự cần thiết của các trang web tương tác Thảo luận về khả năng động của Web và sự cần thiết cho kịch bản này Ghé thăm một trang Web động Các thông tin mà bạn cung cấp ảnh hưởng đến những gì bạn nhìn thấy như thế nào? Chọn một trang Web tĩnh Liệt kê những cách để làm cho trang tương tác Những thay đổi này sẽ có lợi cho tất cả người xem hay không?

10 Công cụ phát triển

web

Tạo một website sử dụng một công cụ phát triển web Xem HTML và thảo luận những thuận lợi và không thuận

Trang 39

lợi của phần mềm WYSIWYG

Trang 40

2.2 ĐÁNH GIÁ, SO SÁNH

2.2.1 Chương trình giảng dạy ở Ontario

Cách thức xây dựng chương trình

Nhìn chung, Ontario có cách thức xây dựng chương trình khác biệt so với Việt Nam:

- Chương trình được xây dựng theo chuyên đề và theo thiết kế top - down (từ tổng quát đến chi tiết) Mỗi khóa học được đưa ra các nội dung chính được yêu cầu Trong mỗi nội dung chính lại được chia nhỏ thành các nội dung chi tiết cần đạt Các mục tiêu tổng quát và mục tiêu cụ thể được chỉ ra khá rõ ràng

- Tính hướng nghiệp cũng được thể hiện khá rõ trong khi xây dựng chương trình Ngoài chương trình kiến thức cơ sở (chương trình lớp 10), học sinh được tự chọn môn học theo dự kiến nghề nghiệp trong tương lai và bắt buộc phải học khóa học liên quan

ở lớp dưới nếu muốn tiếp tục học chuyên đề nâng cao ở lớp trên (lớp 12 học sinh muốn tham gia khóa học ICS4U phải tham gia khóa học ICS3U trước đó, học sinh muốn tham gia khóa học ICS4C phải tham gia khóa học ICS3C trước đó)

- Chương trình dạy học NCMT ở Ontarion mang tính liên thông cao Chương trình kiến thức giảng dạy NCMT ở Ontario nói chung và chương trình dạy lập trình nói riêng có tính liên thông cao giữa các khóa học và các cấp học Học sinh tham gia học đại học hoặc cao đẳng ở các chuyên ngành phải trải qua các khóa học dự bị đại học hoặc cao đẳng được tổ chức từ cấp THPT

- Trong xây dựng chương trình trú trọng đến giáo dục đạo đức và lối sống cho học sinh khi tham gia vào thế giới của công nghệ hiện đại

- Xây dựng chương trình mang tính chiến lược lâu dài Chương trình được xây dựng trú trọng đến kiến thức nền tảng học sinh cần nắm được về lập trình, không đề cập đến yếu tố ngôn ngữ lập trình hay công nghệ sử dụng cho chương trình đó Điều này giúp chương trình linh hoạt, ít bị lạc hậu bởi sự phát triển mạnh mẽ của ngành CNTT

- Việc kiểm tra đánh giá được quy định theo rất nhiều kĩ năng khác nhau: nhận biết, thông hiểu, kĩ năng lập kế hoạch, kĩ năng xử lý, kĩ năng tư duy sáng tạo và phản biện, kĩ năng giao tiếp, kĩ năng tư duy sáng tạo, khả năng vận dụng kiến thức kĩ năng, khả năng chuyển đổi kiến thức kĩ năng, … Việc kiểm tra đánh giá này đặt ra yêu cầu phát triển toàn diện học sinh, bên cạnh đó hình thức kiểm tra mang tính định hướng phát triển năng lực cho học sinh Có đến 4 mức độ khác nhau để đánh giá yêu học với từng kĩ năng đảm bảo tính phân loại cao

- Việc xây dựng chương trình là nhiệm vụ của các học khu và những người được tín nhiệm bầu chọn Bên cạnh đó, ở Ontario nói riêng và Canada nói chung có rất

Ngày đăng: 27/04/2016, 07:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Canada Task Force, 2013. Future Tense: Adapting Canadian Education Systems for the 21'st Century, Canada: Action Canada Sách, tạp chí
Tiêu đề: Future Tense: Adapting Canadian Education Systems for the 21'st Century
2. Computing at School Working Group, 2012. Computer Science: A curriculum for School, s.l.: BCS, Microsoft, Google and Intellect Sách, tạp chí
Tiêu đề: Computer Science: A curriculum for School
3. Finnish National Board of Education, 2010. Vocational Qualification in Information and Communications Technology, Finland: www.oph.fi Sách, tạp chí
Tiêu đề: Vocational Qualification in Information and Communications Technology
4. Ontario Ministry of Education, 2008. The Ontario Curriculum Grades 10 - 12: Computer Studies. Ontario: Ontario Sách, tạp chí
Tiêu đề: The Ontario Curriculum Grades 10 - 12: "Computer Studies
5. University of Liege Psychology and Education, 2012. Survey of School: ICT in Education, Finland: European Schoolnet Sách, tạp chí
Tiêu đề: Survey of School: ICT in Education
6. Allen Tuckerr, A. V. C. S. D. M. F. D. J. J., 2003. CSTA K-12 Standards Curriculum, New York: ACM Order Department General Post Office Sách, tạp chí
Tiêu đề: CSTA K-12 Standards Curriculum
7. Anja Balanskat, K. E., 2014 . Computer programming and coding - Priorities, school curricula and initiatives across Europe, s.l.: European Schoolnet Sách, tạp chí
Tiêu đề: Computer programming and coding - Priorities, school curricula and initiatives across Europe
8. Chris Stephenson, A. V. B. H., 2005. The New Educational Imperative: Improving High School Computer Science Education, New York: Association for Computing Machinery, Inc (ACM) Sách, tạp chí
Tiêu đề: The New Educational Imperative: "Improving High School Computer Science Education
9. Deborah Seehorn, S. C. B. F. I. L., 2011. CSTA K-12 Computer Science Standards, New York: Computer Science Teachers Association (CSTA) an Sách, tạp chí
Tiêu đề: CSTA K-12 Computer Science Standards
10. Deirdre Butler, M. L. G. S. J. C., 2013. Building towards a Learning Society: A National Digital Strategy for Schools, Ireland: Educational Research Center Sách, tạp chí
Tiêu đề: Building towards a Learning Society: A National Digital Strategy for Schools
11. Education, U. o. L. P. a., 2012. Survey of schools: ICT in Education, s.l.: s.n Sách, tạp chí
Tiêu đề: Survey of schools: ICT in Education
13. Judith Gal-Ezer, D. H., 2000. Curriculum and Course Syllabi for a High-School , Israel: Israel Ministry of Education Sách, tạp chí
Tiêu đề: Curriculum and Course Syllabi for a High-School
14. Leanne M. Perry, R. C., 2014. The Role of Education Agents in Canada’s Education Systems, Canada: Council of Ministers of Education, Canada Sách, tạp chí
Tiêu đề: The Role of Education Agents in Canada’s Education Systems
15. Linda Sturman, J. S., 2011. International Comparison of Computing in Schools, UK: National Foundation for Educational Research Sách, tạp chí
Tiêu đề: International Comparison of Computing in Schools
16. Ministry of Education, S., 2014. ICT Masterplans in the Singapore in the Singapore Education System, Singapore: Unesco Sách, tạp chí
Tiêu đề: ICT Masterplans in the Singapore in the Singapore Education System
17. Organization, S. A. M. o. E., 2010. Srtatus of ICT Intergration in Education in Shoutheast Asian Countries, Bangkok: Shoutheast Asian Ministers of Education Organization Sách, tạp chí
Tiêu đề: Srtatus of ICT Intergration in Education in Shoutheast Asian Countries
18. Singapore Ministry of Education, 2007. Computer Applications Syllabus. Singapore: Singapore Ministry of Education Sách, tạp chí
Tiêu đề: Computer Applications Syllabus
19. Studio Viiva Oy, V. K. O., 2003. National Core Curriculum for Upper Secondary Schools, Finland: Finnish National Board of Education Sách, tạp chí
Tiêu đề: National Core Curriculum for Upper Secondary Schools
12. Halinen, M. I., 2015. Curriculum reform in Finland. Finnish National Board of Education Khác

HÌNH ẢNH LIÊN QUAN

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ột số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
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] (Trang 16)
Hình 2.3: Cấu trúc chương trình khoa học máy tính cho K-12 [10] - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 2.3 Cấu trúc chương trình khoa học máy tính cho K-12 [10] (Trang 34)
Hình 2.4: Top 10 ngôn ngữ lập trình phổ biến theo đánh giá của GitHub - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 2.4 Top 10 ngôn ngữ lập trình phổ biến theo đánh giá của GitHub (Trang 48)
Hình 3.1: Các Blocks trong code.org - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.1 Các Blocks trong code.org (Trang 62)
Hình 3.3: Không gian bài toán - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.3 Không gian bài toán (Trang 63)
Hình 3.9: Không gian bài toán - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.9 Không gian bài toán (Trang 67)
Hình 3.16: Đối tượng trong Alice - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.16 Đối tượng trong Alice (Trang 71)
Hình 3.17: Thuộc tính và phương thức  của bunny - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.17 Thuộc tính và phương thức của bunny (Trang 72)
Hình 3.20: Biêu đồ DFD cấp 1 game Flappy Bird - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.20 Biêu đồ DFD cấp 1 game Flappy Bird (Trang 76)
Hình 3.23: Biểu đồ tuần tự game Flappy Bird - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.23 Biểu đồ tuần tự game Flappy Bird (Trang 79)
Hình 3.37: Chương trình game Flappy Bird hoàn chỉnh - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.37 Chương trình game Flappy Bird hoàn chỉnh (Trang 87)
Hình 3.42: Biểu đồ tuần tự game bắt bóng - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.42 Biểu đồ tuần tự game bắt bóng (Trang 90)
Hình 3.43: Biểu đồ hoạt động game bắt bóng - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.43 Biểu đồ hoạt động game bắt bóng (Trang 91)
Hình 3.44: Giao diện game bắt bóng - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.44 Giao diện game bắt bóng (Trang 92)
Hình 3.45: Đặt vị trí cho các đối tượng - Một số đề xuất về dạy và học lập trình trong môn tin học ở các trường trung học phổ thông
Hình 3.45 Đặt vị trí cho các đối tượng (Trang 93)

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

TÀI LIỆU LIÊN QUAN

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

w