29
Dạy Tin học và lập trình cho Học sinh phổ thông Bùi Việt Hà, [email protected]

Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Dạy Tin học và lập trình cho Học sinh phổ thông

Bùi Việt Hà, [email protected]

Page 2: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Nội dung

•Môn Tin học đang thay đổi trên toàn thế giới.

•Những chú ý quan trọng của Chương trình môn Tin học mới.

•Tư duy máy tính: năng lực quan trọng nhất của môn Tin học.

•Dạy lập trình có khó không?

Page 3: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Môn Tin học đang thay đổi nhanh trên toàn thế giới

Page 4: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

1. Môn tin học đang thay đổi trên toàn thế giới

• Môn Tin học đưa vào nhà trường Việt Nam bắt đầu từ những năm 90/tk20, nhưng phải đến 2008 mới thực sự hoàn thiện như 1 hệ thống hoàn chỉnh 3 cấp. Thế giới cũng tương tự như vậy.

Page 5: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Vì sao môn Tin học lại bị khủng hoảng?

• Khủng hoảng này không chỉ Việt Nam mà trên phạm vi toàn thế giới.

• Một số lý do khủng hoảng:

• Rời rạc, không liên thông, không liền mạch.

• Không đủ cơ sở vật chất hỗ trợ giảng dạy hoặc rất lạc hậu so với công nghệ hiện tại.

• Không khoa học hoặc rất khó xác định tính khoa học chặt chẽ và mạch chính của kiến thức.

• GV dạy không hứng thú, không có động lực để học thêm, đào sâu thêm kiến thức.

• HS học nhàm chán vì kiến thức công nghệ bị lạc hậu với thực tế.

• Riêng ở Việt Nam, môn Tin học trong suốt thời gian qua là môn phụ, không được thi ở bất cứ cấp học nào, vì vậy HS và GV càng không có động lực để học, dạy môn học này.

Page 6: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Môn Tin học đang thay đổi rất nhanh• Môn Tin học đã rơi vào khủng hoảng ở qui mô toàn thế giới.

• Sự phát triển nhanh chóng của CNTT, AI, IoT, CMCN 4.0. Yêu cầu cấp bách thay đổi Tin học trở thành 1 môn học khoa học logic chặt chẽ như các môn khoa học khác.

• Sự ra đời của các môi trường và ngôn ngữ lập trình trực quan, kéo thả có tính chất quyết định cho việc thay đổi này.

• Giáo dục Tin học có những mốc thay đổi quan trọng sau:

• 1940-50: hình thành. CNTT chưa được đưa vào trường ĐH.

• 1960-1980: Ra đời máy tính nhỏ và mạng. CNTT được dạy trong trường ĐH.

• 1989-1990: PC ra đời. Học lập trình đưa xuống cấp THPT.

• 1995-2008: Internet bùng nổ, ra đời điện thoại thông minh. Tin học được đưa xuống là môn Tự chọn cho cấp Tiểu học và THCS.

• 2010: xuất hiện ngôn ngữ lập trình kéo thả dành cho trẻ con. Học sinh có thể học lập trình từ lớp 1.

Page 7: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

2. Những chú ý quan trọng của môn Tin học mới.

Môn Tin học cũ: là môn học hoàn toàn ứng dụng và công nghệ.

Page 8: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Tương lai của môn Tin học

• 1. Khoa học máy tính (CS - Computer Science).

• 2. CNTT và ứng dụng (IT - Information Technology).

• 3. Kỹ năng số hóa phổ thông (DL - Digital Literacy).

DL

CS ITIT – Information Technology, Ứng dụng CNTT

CS – Computer Science, Khoa học máy tính

DL – Digital Literature, Kỹ năng số hóa phổ thông

Page 9: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Môn Tin học mới

DL - Học vấn số

hóa phổ thông

IT - Ứng dụng

CNTT và truyền

thông

CS - Khoa học máy tính

Các kỹ năng cơ bản, tối

thiểu cần có trong thời đại

số hóa, ví dụ: Kỹ năng sử

dụng chuột, gõ bàn phím;

Soạn thảo văn bản, bảng

tính, trình chiếu; Khai thác

Internet. Sử dụng thư điện

tử và mạng xã hội.

Sử dụng công nghệ xử lý số,

phần mềm để ứng dụng và

tạo ra các sản phẩm số phục

vụ yêu cầu. Ví dụ đồ họa,

phim, ảnh, ứng dụng trong

các công việc đời sống.

Lý thuyết và thực hành về xử lý số,

tư duy giải quyết vấn đề, thiết lập

chương trình, thuật toán, tư duy

máy tính.

Page 10: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm
Page 11: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

CS khác với IT như thế nàoCS - Khoa học máy tính IT - CNTT và ứng dụng1- Là 1 tập hợp ý tưởng, quan niệm thống nhất, chặt chẽ, logic của 1 môn học. Ví dụ các quan niệm như Chương trình; Thuật toán; Cấu trúc dữ liệu; Kiến trúc hệ thống.

1- Là một tập hợp các ứng độc lập, rời rạc của CNTT trong các lĩnh vực khác nhau của đời sống.

2- Là 1 tập hợp các kỹ thuật, kỹ năng logic chặt chẽ, có phát triển từ thấp đến cao. Ví dụ kỹ thuật lập trình, thuật toán, kiểm thử, sửa lỗi chương trình.

2- Là 1 tập hợp các kỹ thuật, kỹ năng, năng lực có logic, phát triển từ thấp đến cao, tuy nhiên các kỹ năng này sẽ tập trung phục vụ ứng dụng chứ không phục vụ cho việc giải quyết vấn đề.

3- Có 1 hệ thống tư duy độc lập, riêng biệt của môn học. Ví dụ tư duy máy tính, tư duy thuật toán, tư duy giải quyết vấn đề, ….

3- Mỗi ứng dụng có những hệ thống tư duy riêng, rời rạc, không thống nhất và không định hướng giải quyết vấn đề.

4- Có tính chất bền vững với thời gian. Chú ý rằng tính chất này không thể đúng với IT vì CNTT phát triển rất nhanh nên không có 1 hệ thống nào bền vững với thời gian.

4 - Hoàn toàn phụ thuộc vào công nghệ, dễ thay đổi với thời gian.

5- Hệ thống lý thuyết độc lập với công nghệ. Ví dụ hệ thống các ngôn ngữ lập trình, thuật toán, …. đều độc lập với kỹ thuật và công nghệ cụ thể.

5 - Không có hệ thống lý thuyết độc lập, tất cả đều phụ thuộc vào công nghệ.

Page 12: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

IT - CNTT và ứng dụng CS - Khoa học máy tínhHệ thống máy tính

Hệ thống máy tính được sử dụng như thế nào.

Hệ thống máy tính được hoạt động, làm việc như thế nào.

Đối tượng Con người là trung tâm của môn học. Máy tính là trung tâm của môn học.

Định hướng cốt lõi

Tập trung, quan tâm đến sự phát triển của hệ thống hướng tới nhu cầu người sử dụng.

Tập trung, quan tâm đến tư duy thuật toán, đến cách mà vấn đề có thể phân rã thành các bài toán, vấn đề nhỏ hơn để giải quyết.

Sản phẩm Quan tâm đến việc sử dụng các phần mềm, hệ thống đã có để đáp ứng nhu cầu hiện tại.

Quan tâm đến việc thiết kế các hệ thống, phần mềm mới.

Sử dụng sản phẩm

Nhấn mạnh việc lựa chọn, đánh giá sử dụng phần mềm trong công việc.

Nhấn mạnh đến các nguyên lý và kỹ thuật của hệ thống, phần mềm. Lập trình luôn đóng vai trò trung tâm của các vấn đề quan tâm.

Tư duy hệ thống

Hệ thống ứng dụng CNTT phải hỗ trợ hoạt động của con người hay tự động hóa hoạt động của con người.

Các ứng dụng thực tế cần được xây dựng thông qua các tư duy của "máy tính". Thông qua tư duy này chúng ta sẽ hiểu được thế giới tự nhiên như bản chất nó có, nhưng theo cách tư duy riêng của chúng ta, thông qua máy tính.

Định hướng chung

Định hướng ứng dụng, nghề nghiệp. Định hướng chuyên nghiệp, hàn lâm.

Page 13: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

CS Hiểu thuật toán là gì. Hiểu cách áp dụng thuật toán như một chương trình trên máy tính. Hiểu được một chương trình chạy khi thực hiện chính xác một dãy các lệnh.Tạo và sửa lỗi một chương trình đơn giản.Có thể viết 1 chương trình không cần trên máy tính. (Có thể phân tích và phán đoán 1 chương trình sẽ chạy như thế nào).

IT Có thể sử dụng công cụ để tạo ra, tổ chức, lưu trữ và chỉnh sửa một nội dung số.

DL Nhận biết và sử dụng được những ứng dụng CNTT thường dùng trong và ngoài nhà trường.Biết cách dùng công nghệ an toàn và thận trọng. Biết giữ kín thông tin cá nhân. Biết tìm đến sự trợ giúp khi gặp sự cố, vấn đề về thông tin và công cụ CNTT.

CT khung Tiểu học

Page 14: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

CSBiết thiết kế, viết và chỉnh sửa chương trình nhằm thực hiện một mục đích nào đó, bao gồm cả các bài toán mô phỏng và kiểm soát các hệ thống vật lý. Biết cách phân rã bài toán lớn thành nhiều bài toán nhỏ hơn để giải quyết.Biết cách dùng dãy các lệnh, lệnh chọn (rẽ nhánh) và lệnh lặp trong chương trình. Có thể làm việc với biến nhớ và thực hiện các thao tác vào / ra dữ liệu khác nhau. Có thể phân tích và lý giải vì sao một thuật toán đơn giản là đúng hoặc có lỗi. Có thể tìm ra lỗi và sửa lỗi của thuật toán trong chương trình.Hiểu được khái niệm mạng máy tính bao gồm Internet. Biết được mạng máy tính có thể cung cấp đồng thời nhiều dịch vụ, ví dụ WWW.Đánh giá được các kết quả tìm kiếm bằng cách lựa chọn và phân loại.

ITBiết sử dụng công cụ tìm kiếm có hiệu quả.Biết cách chọn, sử dụng một số phần mềm (bao gồm cả dịch vụ Internet) trên một số các thiết bị số để thiết kế và tạo ra các chương trình, hệ thống và nội dung số đáp ứng yêu cầu được đặt ra, trong đó bao gồm các bài toán lựa chọn, phân tích, đánh giá và biểu diễn thông tin và dữ liệu.

DLHiểu được các ích lợi của mạng máy tính mang lại để trao đổi thông tin và hợp tác cùng làm việc.Đánh giá được các nội dung số.Biết cách sử dụng công nghệ một cách an toàn, cẩn thận, có trách nhiệm. Có thái độ phù hợp với thiết bị công nghệ. Xác định được các nội dung chấp nhận được / không chấp nhận được và biết cách thông báo về những nội dung đó.

CT khung THCS

Page 15: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

CSBiết thiết kế và đánh giá trừu tượng hóa để làm mẫu mô tả trạng thái hoạt động của các bài toán thực tế và các hệ thống vật

lý.

Hiểu được một số thuật toán cơ bản phản ánh được tư duy máy tính (ví dụ thuật toán sắp xếp, tìm kiếm). Có suy luận hợp

lý để so sánh các thiết bị hoặc thuật toán áp dụng cho cùng một vấn đề.

Biết sử dụng 2 hoặc nhiều hơn ngôn ngữ lập trình, trong đó ít nhất có 1 ngôn ngữ bậc cao (dạng văn bản) để giải quyết các

bài toán cần lập trình. Biết cách thiết lập hoặc sử dụng các mô hình cấu trúc dữ liệu (ví dụ dãy, bảng, mảng). Có thể thiết kế

và cài đặt các chương trình phân lớp có sử dụng thủ tục hoặc hàm số.

Hiểu được các phép toán logic cơ bản (ví dụ AND, OR và NOT) và ứng dụng chúng vào các câu lệnh lập trình. Hiểu được

các số có thể biểu diễn dưới dạng nhị phân và có thể thực hiện một số tính toán đơn giản trên các số nhị phân (ví dụ phép

cộng nhị phân, biến đổi số từ nhị phân sang thập phân và ngược lại).

Hiểu được các cấu thành phần cứng và phần mềm tạo nên các hệ thống máy tính. Biểt được các cấu thành này trao đổi

thông tin với nhau và với các hệ thống khác.

Hiểu được các lệnh được lưu và được chạy như thế nào trong máy tính. Hiểu được các kiểu dữ liệu khác nhau (ví dụ văn

bản, âm thanh, hình ảnh) có thể được biểu diễn và điều khiển dưới dạng số nhị phân như thế nào.

ITCó thể thực hiện các dự án sáng tạo, sử dụng các công cụ ứng dụng khác nhau, trên các thiết bị số đa dạng, để đạt được yêu

cầu ở mức cao, bao gồm cả các bài toán tìm kiếm, phân tích dữ liệu thỏa mãn yêu cầu được đặt ra.

Có thể tạo ra, chỉnh sửa, sử dụng lại với mục đích khác các sản phẩm nội dung số, hướng đến một đối tượng nào đó, tập

trung vào các yếu tố như thiết kế, độ tin cậy hay tính khả dụng.

DLHiểu được các cách sử dụng thiết bị công nghệ một cách an toàn, phù hợp, có trách nhiệm và bảo mật, bao gồm cả việc bảo

mật tính danh và thông tin cá nhân trực tuyến. Nhận biết được các thông tin phù hợp / không phù hợp và biết cách thông

báo điều này cho ngưởi có trách nhiệm.

CT khung THPT

Page 16: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

3. Tư duy máy tính: năng lực quan trọng nhất của Khoa học máy tính trong môn Tin học.

Computer Thinking

Computational Thinking

Page 17: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Tư duy máy tính (khái niệm rộng hơn tư duy thuật toán), có thể hiểu đơn giản như sau:

Năng lực sử dụng máy tính tạo ra các sản phẩm số để giải quyết bài toán cần giải. Một trong các công cụ lõi của Tư duy máy tính là lập trình.

Page 18: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Toán học Tin học

Tư duy Toán học

Tư duy Máy tính

Page 19: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

4. Dạy lập trình có khó không? Các GV cần phải làm gì để có thể dạy được môn Tin học mới?

Dạy lập trình rất khó. Có 2 nguyên nhân:1. Ngôn ngữ lập trình khô khan, không sinh động, không bắt mắt, không hấp dẫn.2. GV chưa đủ khả năng, trình độ và sư phạm để làm cho HS yêu thích lập trình.

Page 20: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Ngôn ngữ lập trình trực quan (Scratch)

Seymour Papert (1928-2006)

Wally Feurzeig (1927-2013)Cynthia Solomon(1938 )

Các sáng lập viên của ngôn ngữ LOGO (1967)

Page 21: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

LẬP TRÌNH

Trừu tượng hóa

STEMThuật toán

Page 22: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Demo 2 chương trình.

Flappy Bird Drawing Board

Page 23: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Các GV cần phải làm gì để có thể dạy được môn Tin

học mới?

Page 24: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

•Các GV Tin học cần phải thay đổi hoàn toàn cách nhìn vào chính môn học của mình, đừng coi Tin học chỉ là "sửa chữa máy tính", "cài đặt phần mềm", "soạn thảo văn bản", … Hãy nhìn vào trọng tâm của Tin học: đó là môn học về khoa học máy tính.

Page 25: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

•Các GV Tin học cũng cần phải thoát được cách nhìn cũ, chỉ nhìn thấy một hệ điều hành Windows. Khi giảng dạy kiến thức cho HS cần có cách tiếp cận mở, không nên bị phụ thuộc vào một hệ điều hành cụ thể nào.

Page 26: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

•Khi giảng dạy, trình bày một phần mềm, công cụ, tránh sa đà vào tên, vị trí, thực đơn của các lệnh cụ thể, mà nên có cách nhìn hệ thống. Nên trình bày các lệnh theo chức năng logic để HS dễ tiếp thu hơn mà không phụ thuộc vào giao diện cụ thể của một phiên bản cụ thể nào.

Page 27: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

•Kỹ năng lập trình là yêu cầu bắt buộc của mỗi GV đối với CT môn Tin học mới. Các GV cần nhanh chóng học, tự học, tự tìm hiểu các môi trường lập trình kéo thả mới, ví dụ Scratch, các ngôn ngữ lập trình bậc cao đang phổ biến hiện nay như C++, Python, Java, JavaScript. Không cần biết rộng và nên biết thật tốt, sâu một ngôn ngữ lập trình mà mình mạnh nhất.

Page 28: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

Yêu cầu đổi mới quan trọng của CT môn Tin học là lấy năng lực, kỹ năng hoàn thành công việc, kỹ năng giải quyết vấn đề làm chính. Tuyệt đối không bắt HS học thuộc lòng bất cứ kiến thức nào. Chú ý 2 điểm đặc biệt sau của các bài toán tin học:

• Hầu hết các bài toán tin học đều có nhiều cách, nhiều phương pháp, nhiều thuật toán để giải quyết. Do vậy cần kiểm tra kết quả cuối cùng để đánh giá. Không đánh giá qua các bước thực hiện (trừ các bài toán muốn kiểm tra kiến thức về các bước này).

• Các bài toán tin học đều có thể giải được (dù khó thế nào) nhưng với các mức độ hoàn thiện khác nhau. Ví dụ một lời giải có thể đúng với các input đơn giản nhưng sẽ không chạy hoặc giải sai với các input phức tạp khác.

• Tóm lại là cần đánh giá bằng sự hoàn thiện của sản phẩm, chương trình.

Page 29: Dạy Tin học và lập trình cho Học sinh phổ thông Tin hoc cho HS.pdfSử dụng công nghệ xử lý số, phần mềm để ứng dụng và tạo ra các sản phẩm

•Trong phân môn Khoa học máy tính, cần chú ý nhất đến khái niệm "Tư duy máy tính". Đây là khái niệm lõi của CS mà GV cần trang bị cho HS, là khái niệm quan trọng nhất của mạch tri thức CS của chương trình. Có thể hiểu đơn giản Tư duy máy tính là cách mà HS cần hiểu và điều khiển được máy tính thực hiện, giải quyết các bài toán của môn học do GV đưa ra.