Tải bản đầy đủ (.pdf) (14 trang)

Giáo trình thiết kế trò chơi giáo dục trên nền tảng Scratch

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.05 MB, 14 trang )

2017

Phát hành chính thức cuốn sách
Thiết kế phần mềm và trò chơi giáo dục
trên Scratch

Lời nói đầu cuốn sách


Lời nói đầu
Các bạn đang có trên tay cuốn sách rất đặc biệt về lập trình Scratch. Cuốn sách có tên
THIẾT KẾ PHẦN MỀM VÀ TRÒ CHƠI GIÁO DỤC bằng ngôn ngữ lập trình
Scratch. Cuốn sách này là một phát triển cao hơn nữa của cuốn sách TỰ HỌC LẬP
TRÌNH SCRATCH đã phát hành trước đây.

Đối tượng, mục đích
Đối tượng của cuốn sách này:
- Học sinh, cha mẹ học sinh, và bất kỳ ai muốn học hỏi tìm hiểu sâu hơn về ngôn ngữ
lập trình Scratch theo hướng mong muốn thiết kế các chương trình, phần mềm, trò
chơi hoàn chỉnh phục vụ công việc của mình.
- Giáo viên đang hoặc sẽ giảng dạy môn Tin học trong tương lai muốn tìm hiểu sâu
hơn hướng ứng dụng lập trình Scratch để thiết kế, xây dựng các chương trình hoàn
chỉnh. Việc dùng một ngôn ngữ lập trình cụ thể để thiết kế các phần mềm hoàn chỉnh
chính là hướng giáo dục STEM tốt nhất của môn Tin học.
- Cuốn sách này cũng hướng đến các giáo viên các bộ môn khác hoặc chuyên gia
trong lĩnh vực phần mềm, giáo dục STEM. Có thể nói rằng Scratch, hay các ngôn ngữ
lập trình trực quan là công cụ giáo dục STEM tốt nhất của môn Tin học và các môn
học khác có liên quan.

Môn Tin học trong tương lai sẽ như thế nào?
Môn Tin học của Việt Nam được xây dựng để đưa vào các trường THPT của Việt


Nam vào đầu những năm 1990, nhưng phải đến đợt thay SGK sau 2000 môn Tin học
mới chính thức được đưa vào cấp THPT. Sau đó các chương trình tự chọn của Tin học
và SGK dành cho THCS, Tiểu học dần được thiết lập. Vào khoảng 2008, môn Tin học
trong nhà trường Việt Nam đã hình thành đầy đủ với toàn bộ chương trình và SGK
phủ kín từ lớp 3 đến 12. Tuy nhiên chương trình cho cấp Tiểu học và THCS là tự
chọn, điều đó có nghĩa là không phải tất cả HS đều được học môn học này liên tục từ
lớp 3 đến lớp 12.
Có thể điểm qua toàn bộ các module kiến thức chính của môn Tin học trong trường
phổ thông của Việt Nam cho đến hiện nay (2017) là:
Tiểu học

THCS

THPT

Cấu trúc máy tính.
Tập chuột, tập gõ bàn
phím.
Học vẽ.
Học nhạc.
Soạn thảo văn bản.
LOGO
Phần mềm học tập.

Máy tính, hệ điều hành.
Mạng Internet.
Soạn thảo văn bản.
Bảng tính.
Trình chiếu.
Lập trình Pascal.

Phần mềm học tập.

Máy tính, hệ điều hành.
Mạng máy tính. Mạng
Internet.
Soạn thảo văn bản.
Lập trình Pascal.
CSDL Access.

Môn Tin học ở các nước trên thế giới cùng có 1 lộ trình tương tự. Có thể với tên gọi
khác nhau nhưng nội dung thì cũng gần tương tự của Việt Nam chúng ta.
2|CS4S 11-2017


Từ lâu các các chuyên gia giáo dục trên thế giới (ví dụ trong cuốn shutdown or
restart [11]), đã phân tích sự tụt hậu của chương trình môn Tin học ở qui mô toàn thế
giới. Có thể tóm tắt như sau:
- 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.
Do vậy môn Tin học đứng trước thách thức rất lớn là cần thay đổi. Nhưng thay đổi
như thế nào? Theo hướng nào? Thay đổi để làm sao khắc phục được các khuyết điểm
trên? Tất cả những vấn đề đó đều rất rất khó giải quyết. Không phải các chuyên gia,
các nhà giáo không biết những điều trên, họ biết hết nhưng lực bất tòng tâm. Vấn đề

lớn nhất của môn Tin học là công nghê liên quan đến CNTT, ICT phát triển quá
nhanh, trong khi kiến thức khoa học lõi của ngành này lại không thể hoặc chưa
thể đưa xuống dạy cho học sinh từ nhỏ tuổi.
Một trong những tài liệu đầu tiên đề cập tới vấn đề này là cuốn sách Shutdown or
restart mà tôi nhắc đến ở trên. Cuốn này được viết năm 2012 và là tiền đề để nước
Anh là quốc gia đầu tiên thực hiện cuộc cách mạng thay đổi hoàn toàn môn Tin học
trong nhà trường. Trong cuốn sách đó, lần đầu tiên các chuyên gia đã phân loại chính
xác 3 hướng nội dung chính của kiến thức Tin học trong trường học. Việc phân loại
này sẽ giúp các nhà quản lý và chuyên gia GD hiểu rõ hơn và định hướng được tương
lai của môn học này. Phân loại nội dung trong cuốn sách đó như sau:
Toàn bộ kiến thức cần học của Tin học sẽ được chia làm 3 nhóm chính:
1. CS (computer science): Khoa học máy tính.
2. IT (infomation technology): CNTT và ứng dụng.
3. DL (digital literacy): Học vấn số hóa phổ thông.
Tóm tắt như sau:
CS - Khoa học máy tính: 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.
IT - CNTT và ứng dụng: 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ố. Ví dụ đồ họa, phim, ảnh, ứng dụng trong các công việc đời sống.
DL - Học vấn số hóa phổ thông: 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.

3|CS4S 11-2017


Theo tôi việc phân loại, định hướng kiến thức của môn Tin học trong nhà trường theo
3 nhóm như trên là một phát triển đột phá trong việc định hình lại môn Tin học trong
nhà trường. Trong chương trình Giáo dục Phổ thông mới của Bộ GD & ĐT sau 2018
rất may mắn đã kịp đưa các thay đổi này vào chương trình môn Tin học. Môn Tin học

sẽ là môn học có thay đổi lớn nhất trong Chương trình Giáo dục Phổ thông mới này.
Như vậy, tương lai. kiến thức môn Tin học trong trường phổ thông sẽ được phân tách
thành 3 hướng kiến thức (phân môn) chính:
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).

Khoa học máy tính

CS

Ứng dụng CNTT truyền thông

IT

DL

Kỹ năng số hóa
phổ thông

Trong đó, chắc tất cả đều hiểu: phân môn Khoa học máy tính (CS) sẽ là quan trọng
nhất, đóng vai trò trung tâm, cốt lõi của môn Tin học.
Trong 3 hướng này, IT và DL là những nội dung mà giáo viên Tin học hiện nay vẫn
đang giảng dạy, do đó sẽ không có gì bỡ ngỡ. Riêng hướng CS là hoàn toàn mới và
hoàn toàn khác biệt so với hiện nay.
Có thể tóm tắt hướng đi, phát triển tương lai của 3 nhóm, phân môn của môn Tin học
trong bảng sau:

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.


4|CS4S 11-2017


Đây là những kỹ năng,
năng lực tối thiểu đơn
giản nhất cần có của mọi
công dân trong thế giới
số hiện nay. Có thể ví
như học đếm trong môn
Toán và học đánh vần
trong môn Tiếng Việt.

Mảng kiến thức này sẽ
được phân thành 2 nhóm:

Trong tương lai, những
kiến thức này sẽ chỉ
được dạy ở cấp Tiểu học
và được học ngoài giờ
học chính thức.

Hướng 1 sẽ được chuyển
giao cho các bộ môn
chuyên biệt. Môn Tin học
chỉ còn có nhóm 2 và sẽ
định hướng cho nghề Tin
học ứng dụng.

Lõi của môn học này là
khái niệm tư duy máy tính

hay tư duy thuật toán.
1. Nhóm ứng dụng
CNTT, phần mềm vào các Đây là kiến thức cơ bản
nằm bên dưới các khái
chuyên ngành, môn học
niệm quen thuộc như phần
khác với Tin học.
mềm, phần cứng máy tính.
2. Nhóm các ứng dụng
Đi cùng mô hình tư duy
CNTT, truyền thông bên
này là 1 tập hợp các kiến
trong ICT.
thức lõi, cơ bản về lý
thuyết cũng như thực hành,
kỹ năng, năng lực phân
tích, mô phỏng và giải
quyết vấn đề.
Đây là định hướng chính,
cơ bản nhất và quan trọng
nhất của môn Tin học trong
tương lai. Chính hướng này
sẽ quyết định để môn Tin
học trở thành một môn học
lõi, có tính khoa học chặt
chẽ, có tính kế thừa và phát
triển liên tục cho các bậc
học tiếp theo.

Có thể mô tả bảng trên theo sơ đồ sau:


Tin học

DL - Học vấn số
hóa phổ thông.
Kỹ năng tối thiểu
cho mỗi công dân
trong thời đại số.

5|CS4S 11-2017

IT1- Ứng dụng
trong các lĩnh vực
ngoài ICT.
IT2- Ứng dụng bên
trong ICT

CS - Khoa học máy tính.
Kiến thức lõi của Tin học:
xử lý số, cấu trúc dữ liệu,
lập trình, tư duy máy tính,
giải quyết vấn đề.


Toán học

Học đếm,
bảng cửu
chương


Ngữ văn

Có thể so sánh 3 nhánh kiến thức của môn Tin học theo sơ đồ trên với các sơ dồ sau
của môn Toán và Ngữ văn - tiếng Việt.

Bảng chữ
cái, học
đánh vần

Cơ sở toán học:
số, tập hợp, phép
tính tích phân

Đo lường

Ngữ pháp, ngôn
ngữ, cảm thụ
văn học

Đọc hiểu

CS và IT là 2 mảng kiến thức bắt buộc cần dạy cho HS ngay từ cấp Tiểu học, ngay từ
lớp 1. Hai nhóm kiến thức này là độc lập với nhau, gần như bổ sung cho nhau và có
nhiều cách tiếp cận, định hướng khác nhau hoàn toàn. Giáo viên Tin học cần hiểu rõ
điều này khi giảng dạy. Các chuyên gia thiết kế chương trình môn Tin học cần vạch rõ
những sự khác biệt này giữa 2 hướng trên trong quá trình thiết kế của mình.
a) So sánh định hướng nội dung giữa CS và IT
CS - Khoa học máy tính

IT - CNTT và ứng dụng


1- 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
3- Mỗi ứng dụng có những hệ thống tư
biệt của môn học. Ví dụ tư duy máy tính, duy riêng, rời rạc, không thống nhất và
tư duy thuật toán, tư duy giải quyết vấn
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

6|CS4S 11-2017

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


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

IT - CNTT và ứng dụng

không có 1 hệ thống nào bền vững 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ệ.

b) So sánh mục đích, đối tượng, yêu cầu năng lực và tư duy giữa CS và IT
IT - CNTT và ứng dụng

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

Hệ 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

Quan tâm đến việc thiết kế các
các phần mềm, hệ thống đã có hệ thống, phần mềm mới.
để đáp ứng nhu cầu hiện tạ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.

7|CS4S 11-2017


Tư duy máy tính: năng lực tư duy quan trọng nhất của Khoa học
máy tính.
Xuất xứ của khái niệm Tư duy máy tính (computational thinking).
Người đầu tiên nhắc đến cụm từ này là Seymour Papert (29/2/1928 – 31/7/2016),
giáo sư toán đại học MIT đồng thời là tác giả của phần mềm và ngôn ngữ lập trình
LOGO, trong khi muốn đưa việc giảng dạy thuật toán bằng phần mềm này cho học
sinh nhỏ tuổi.
“… the thought processes involved in formulating problems and their solutions so
that the solutions are represented in a form that can be effectively carried out by an
information-processing agent”.
tạm dịch:
"… là các quá trình tư duy bao gồm cả mô tả và lời giải bài toán sao cho lời giải
có thể được thực hiện một cách hiệu quả bởi các tác tử xử lý thông tin".
Tác giả GS Jeannette Wing (hiện là phó chủ tịch Microsoft) là người đầu tiên đưa ra

định nghĩa của khái niệm này (tư duy máy tính), như sau:
“The solution can be carried out by a human or machine, or more generally, by
combinations of humans and machines.”
tạm dịch:
"Lời giải phải (và có thể) được thực hiện bởi con người hoặc máy tính, hoặc tổng
quát hơn, bởi sự kết hợp (đồng thời) con người và máy tính".
Như vậy tư duy máy tính chính là kỹ năng rất cơ bản để chúng ta có thể hiểu, biết
một cách có lý, logic về thế giới xung quanh dựa trên sức mạnh của máy tính.
Phân môn "Khoa học máy tính" là môn học dạy các nguyên tắc lý thuyết và thực hành
cho mô hình tính toán máy tính và các ứng dụng của mô hình này. Lõi của môn học
này là khái niệm tư duy máy tính hay tư duy thuật toán. Đây là mô hình tư duy lõi,
cơ bản nằm bên dưới các khái niệm quen thuộc như phần mềm, phần cứng máy tính.
Mô hình tư duy này sẽ cung cấp các khung kiến thức để giải quyết các bài toán, vấn
đề nảy sinh. Đi cùng mô hình tư duy này là 1 tập hợp các kiến thức lõi, cơ bản về lý
thuyết cũng như thực hành, kỹ năng, năng lực phân tích, mô phỏng và giải quyết vấn
đề.
Khoa học máy tính đi sâu vào tìm hiểu cách làm việc và vận hành của máy tính và các
hệ thống máy tính, tìm hiểu các máy tính và chương trình được thiết kế và lập trình
như thế nào. Học sinh sẽ được tiếp cận với các hệ thống tính toán theo mọi khía cạnh,
có thể cần hoặc không cần có máy tính. "Tư duy máy tính" sẽ có ảnh hưởng đến cả
các lĩnh vực khoa học khác như sinh học, hóa học, ngôn ngữ, tâm lý học, kinh tế và
thống kê. Cũng chính tư duy đó sẽ giúp học sinh có thể giải các bài toán, giải quyết
vấn đề, thiết kế hệ thống, sản phẩm và hiểu được sức mạnh cũng như giới hạn, hạn
chế của con người và máy móc. Chính tư duy đó sẽ là yêu cầu kỹ năng, năng lực mà
mỗi học sinh cần hiểu và nắm bắt được dù chỉ một phần của nó. Nếu có các kỹ năng,
tư duy, suy luận như "máy tính" thì các học sinh này sẽ hiểu tốt hơn và có nhiều cơ
hội hơn trong việc tiếp thu các công nghệ "dựa trên máy tính" (computer-based
8|CS4S 11-2017



technology) và sẽ được chuẩn bị tốt hơn khi trở thành công dân tương lai trong xã hội
hiện đại.
Khoa học máy tính là môn học thực hành, trong đó rất khuyến khích sự dũng cảm và
sáng tạo. Học sinh được học các nguyên tắc, lý thuyết hàn lâm của môn học và
khuyến khích ứng dụng sáng tạo để hiểu và mô phỏng được thế giới thực xung quanh
các em. Sự kết hợp hài hòa giữa lý thuyết, thực hành và sáng tạo sẽ làm cho môn học
này trở nên vô cùng hấp dẫn, giúp các học sinh có thể tạo ra được các sản phẩm vừa
có ích ("Nó chạy rồi!") vừa trí tuệ ("Nó quá đẹp!").
Tư duy máy tính ở đây cần được hiểu là nói về khả năng con người có thể làm, chứ
không phải máy tính có thể làm. Ví dụ khi nhắc đến tư duy máy tính người ta thường
nhắc đến các khả năng suy nghĩ và làm việc logic, có tính (tối ưu) thuật toán, có thể
lặp lại và có thể trừu tượng hóa.
Trong mô hình phân môn Khoa học máy tính của Tin học, tư duy máy tính cần được
trang bị cho học sinh ngay từ cấp Tiểu học.
Các năng lực, kỹ năng cơ bản của tư duy máy tính bao gồm Trừu tượng hóa và Lập
trình.

Tin học và vai trò của các ngôn ngữ lập trinh trực quan
Chúng ta cùng xem lại các mốc sự kiện công nghệ quan trọng với môn Tin học và
ngành CNTT, ICT nói chung.
1945. Ra đời máy tính điện tử, ra đời ngành CNTT, khoa học máy tính.
1970x. Xuất hiện các máy tính mainframe, nhỏ hơn nhiều so với những chiếc máy
tính thế hệ đầu tiên. Ngành Khoa học máy tính, CNTT chính thức được hình thành và
giảng dạy trong các trường đại học.
1980. Máy tính cá nhân (PC) ra đời, đưa các ứng dụng của CNTT đến từng gia đình.
Lần đầu tiên môn Tin học (chỉ bao gồm học các ứng dụng) được đưa xuống nhà
trường cho học sinh các lớp cuối cấp.
1990-2000. Bùng nổ Internet các ứng dụng mạng trên qui mô toàn cầu. Môn Tin học
được đưa xuống cấp 1, nhưng chỉ dừng lại ở việc học các ứng dụng cụ thể, rời rạc.
2005-7. Xuất hiện điện thoại thông minh, sau đó là các ứng ụng IoT, len lỏi vào khắp

các ngành công nghiệp và dịch vụ. Xuất hiện các khoa học mới như tự động hóa, khoa
học dữ liệu, trí tuệ nhân tạo có ứng dụng cụ thể hàng ngày. CMCN 4.0 xuất hiện.
2010-2016. Xuất hiện các ngôn ngữ lập trình trực quan, lập trình kéo thả, ví dụ
Scratch. Cơ hội để đưa phân môn Khoa học máy tính xuống dạy cho học sinh từ cấp
Tiểu học.
Như vậy Ngôn ngữ lập trình trực quan, ví dụ như Scratch, đóng vai trò vô cùng quan
trọng trong sự phát triển của môn Tin học. Có thể so sánh đây là 1 cuộc cách mạng
lớn về giáo dục, lần đầu tiên, học sinh có thể học lập trình, tư duy máy tính, thuật
toán, khoa học máy tính ngay từ lớp 1.

9|CS4S 11-2017


Scratch và giáo dục STEM
Gần đây, cùng với từ khóa CMCN 4.0, STEM cũng trở thành 1 cụm từ rất hot. Nhà
nhà nói STEM, người người nói STEM.
Vậy STEM là gì? nó có phải là một môn học? hay một phương pháp giảng dạy mới?
hay là một công nghệ giáo dục mới của thế giới?
Câu trả lời là không phải như vậy. STEM không phải là môn học, cũng không phải
là một phương pháp giảng dạy, cũng không phải là một công nghệ gì mới.
STEM là 4 chữ cái đầu của các từ Kỹ nghệ (Engineering), Toán học (Mathematics),
Khoa học (Science) và Công nghệ (Technology).
Bản thân STEM được các nhà khoa học và giáo dục đưa ra chỉ để muốn nhấn mạnh
đến tầm quan trọng đặc biệt của 4 chuyên ngành trên trong sự phát triển khoa học kỹ
thuật và ứng dụng hiện nay.

Trên thực tế những phát minh công nghệ, khoa học, ứng dụng mới rất nhiều là một
tích hợp công nghệ từ những chuyên ngành trên. Do vậy các nhà khoa học mới đưa ra
4 chữ cái trên, như một slogan để khuyến khích việc học tập, nghiên cứu xung quanh
các môn học này và các tích hợp giữa chúng.

Tuy nhiên có 1 chuyên ngành nữa mà ai cũng biết đóng vai trò then chốt nhất, tích
hợp giữa các hướng trên, đó chính là Tin học, hay nói chính xác hơn là khoa học máy
tính trong tin học.
Khoa học máy tính là môn học mang đặc tính STEM rõ nhất, môn học này có
nhiều điểm chung nhất với đồng thời các thành phần khác của STEM như Kỹ
nghệ (Engineering), Toán học (Mathematics), Khoa học (Science) và Công nghệ
(Technology). Sau đây là một vài lý giải cho mệnh đề trên.
- Hướng kiến thức này dựa trên một hệ thống cơ sở lý luận toán học chặt chẽ, logic và
khoa học.
- Trọng tâm của Khoa học máy tính là "tư duy máy tính", có cơ sở lý luận hàn lâm
nền tảng kết hợp thực nghiệm và đánh giá, đo đạc số liệu một cách khoa học.
- Lõi của Khoa học máy tính là phần kiến thức lập trình, một kỹ năng đòi hỏi quá trình
thiết kế, xây dựng, kiểm thử và đánh giá dựa trên các tiêu chuẩn kỹ thuật.
- Khoa học máy tính yêu cầu và có liên quan rất nhiều đến sự hiểu biết, ứng dụng,
đánh giá các công nghệ của nhiều chuyên ngành khác nhau.
Hơn nữa Khoa học máy tính còn có ứng dụng rất sâu trong tất cả các lĩnh vực STEM
khác như chúng ta vẫn biết rõ điều đó. Có thể nói tư duy máy tính, các nguyên tắc cơ
bản của tính toán, các cơ sở lý thuyết giải quyết vấn đề dựa trên máy tính là chìa khóa
10 | C S 4 S 1 1 - 2 0 1 7


dẫn đến thành công của các nhánh khoa học khác như kỹ nghệ, kinh doanh và thương
mại trong thế kỷ 21.
Do vậy mô hình hay cái gọi là STEM cần được thể hiện lại chính xác hơn như hình
sau.

STEM bắt buộc phải gắn liền với Tin học, với Khoa học máy tính, chúng tuy 2 nhưng
là 1 thực thể thống nhất, không thể tách rời. Khoa học máy tính là nền tảng lý thuyết
và công nghệ kết nối các chuyên ngành khác nhau trong mô hình STEM.


Scratch là môi trường lập trình hỗ trợ giáo dục STEM tốt nhất.
Vì sao lại có thể khẳng định Scratch là môi trường lập trình hỗ trợ giáo dục STEM tốt
nhất?
Như chúng ta đã biết, điểm cốt lõi cơ bản nhất của giáo dục STEM là vừa học vừa
làm, thực hành làm ra các sản phẩm cụ thể, từ đó nâng cao sự đam mê, yêu thích môn
học của mình.
Với cách hiểu trên thì với môn Tin học, tinh thần giáo dục STEM chính là khuyến
khích làm ra các sản phẩm cụ thể từ chính các kiến thức môn học của mình.
Ngôn ngữ lập trình Scratch rất trực quan, dễ dàng tạo ra các sản phẩm, chương trình,
phần mềm hay đơn giản là một trò chơi. Đây chính là điểm mạnh nhất của Scratch mà
các ngôn ngữ lập trình bậc cao khác không thể làm được, vì qui trình làm ra một sản
phẩm hoàn chỉnh bằng các ngôn ngữ lập trình bậc cao khác là khá phức tạp.
Cuốn sách này được viết nhằm mục đích chính tăng cường giáo dục STEM của môn
Tin học.

Giới thiệu nhanh các chủ đề cuốn sách
Sau đây là giới thiệu nhanh nội dung cuốn sách.
Sách sẽ có 8 chương. Mỗi chương là một chủ đề độc lập, định hướng vào công nghệ,
kỹ thuật làm phần mềm hoặc định hướng nội dung phần mềm. Các chủ đề đều có thể
đọc độc lập. 3 chủ đề đầu tiên là định hướng công cụ, 5 chủ đề sau là định hướng nội
dung thiết kế phần mềm.

11 | C S 4 S 1 1 - 2 0 1 7


Sau mỗi chủ đề là một số bài tập nhỏ. Chúng tôi sẽ liên tục bổ sung thêm các bài tập,
mở rộng này trong tương lai.

Chủ đề 1. Một số nguyên tắc và qui trình thiết kế phần mềm
Mục tiêu:

- Giới thiệu một số nguyên tắc thiết kế phần mềm, trò chơi trên Scratch.
- Mô tả các bước thiết kế 1 chương trình phần mềm hoàn chỉnh.
Chủ đề 1 sẽ trình bày một số nguyên tắc, và đặc biệt trình bày, đưa ra 1 qui trình thiết
kế phần mềm bằng Scratch. Có 4 qui trình quan trọng nhất của việc thiết kế phần mềm
là:
- Viết kịch bản phần mềm.
- Thiết kế nhân vật.
- Thiết kế bộ dữ liệu hệ thống.
- Lập trình.
Để có thể lập trình dễ dàng, không mắc lỗi, cần xây dựng và vẽ được Sơ đồ thiết kế hoạt động của chương trình. Sơ đồ này càng được vẽ cẩn thận, chính xác bao nhiêu
thì việc cài đặt, lập trình sẽ càng dễ dàng bấy nhiêu.

Chủ đề 2. Clone và một số kỹ thuật xử lý Clone
Mục tiêu:
- Giới thiệu nhanh khái niệm và một số kỹ thuật lập trình với Clone trong Scratch.
- Ứng dụng kỹ thuật Clone trong việc thiết kế phần mềm, trò chơi giáo dục.
Chủ đề này nhắc lại các kiến thức, kỹ thuật chính liên quan đến Clone (phân thân).
Clone có lẽ đóng vai trò trung tâm nhất của toàn bộ quá trình thiết kế phần mềm. Nội
dung của chủ đề này được lấy chủ yếu từ cuốn sách TỰ HỌC LẬP TRÌNH
SCRATCH mà tôi đã viết trước đây.

Chủ đề 3. Các công cụ và kỹ thuật thiết kế phần mềm
Mục tiêu:
- Một số kỹ thuật chính khi thiết kế phần mềm thực sự so sánh với việc chỉ viết
chương trình theo yêu cầu của người khác.
- Một vài kỹ thuật và đặc thù chính của một phần mềm hay trò chơi.
Chủ đề này trình bày một số kỹ thuật và công cụ hay dùng trong khi viết các chương
trình phần mềm cụ thể. Các công cụ này rất cần thiết cho mọi người muốn tự học thiết
kế phần mềm. Ví dụ các công cụ đã trình bày trong chủ đề này:
- Kỹ thuật đếm điểm số, do thời gian.

- Kỹ thuật hiển thị số lần chơi.
- Kỹ thuật hiển thị số hoặc chữ lớn.
- Một số cách thiết kế và thuật toán sinh ngẫu nhiên.
12 | C S 4 S 1 1 - 2 0 1 7


Chủ đề 4. Thiết kế một số phần mềm quen thuộc
Mục tiêu:
- Thiết kế một số phần mềm giáo dục quen thuộc, từ dễ đến khó để rèn luyện các kỹ
năng cơ bản thiết kế phần mềm.
Chủ đề này sẽ bắt đầu thực sự thiết kế chi tiết một số phần mềm quen thuộc và tiêu
biểu. Hầu hết các phần mềm trong chủ đề này đều đã được giới thiệu trong cuốn sách
trước của tôi, nhưng trong cuốn sách này, các phần mềm này sẽ được mô tả hoàn toàn
chi tiết đến mức lập trình.
Các phần mềm được mô tả trong chủ đề này là:
- Bút vẽ tự do và nâng cao.
- Flappy Bird.
- Kỹ thuật bắn súng.
- Tham quan bảo tàng.
- Trò chơi đoán từ Hangman.
- Trò chơi mưa từ.
- Trò chơi Luyện trí nhớ.
- Trò chơi Ô chữ.

Chủ đề 5. Phần mềm tập chuột, bàn phím
Mục tiêu:
- Các phương pháp điều khiển nhân vật bằng chuột và bàn phím.
- Một số kỹ thuật xử lý chuột.
- Phần mềm tập chuột, bàn phím cho học sinh.
Chủ đề này bắt đầu bằng việc mô tả các kỹ thuật điều khiển bàn phím, chuột và kỹ

năng nhận biết điều khiển chuột.
Các thao tác chuột sau được mô tả chi tiết trong chủ đề:
- Di chuyển chuột.
- Nháy chuột.
- Kéo thả chuột.
- Nháy đúp chuột.
Phần mềm Mouse Skills dùng để luyện các thao tác với chuột được thiết kế chi tiết
trong phần này.
Ngoài ra một phần mềm học gõ bàn phím bằng 10 ngón cũng được thiết kế, mô tả
trong chủ đề này.

Chủ đề 6. Phần mềm hỗ trợ học khoa học máy tính
Mục tiêu:
13 | C S 4 S 1 1 - 2 0 1 7


- Một số thuật toán chính biến đổi số trong các hệ đếm khác nhau.
- Thiết kế phần mềm, trò chơi liên quan đến biến đổi số trong các hệ đếm khác nhau.
- Một số phần mềm khác hỗ trợ giảng dạy khoa học máy tính trong trường phổ thông.
Chủ đề này tập trung mô tả một số chương trình ứng dụng có liên quan đến phân môn
khoa học máy tính của môn Tin học. Các chủ đề cụ thể bao gồm:
- Các thuật toán và bài toán mô tả việc chuyển đổi giữa các hệ đếm thập phân, nhị
phân và hexa.
- Các thuật toán sắp xếp và phần mềm mô phỏng sắp xếp.
- Các trò chơi có liên quan đến sắp xếp số.

Chủ đề 7. Phần mềm hỗ trợ học toán
Mục tiêu:
- Thiết kế một số phần mềm hỗ trợ học và dạy môn Toán.
- Một số thuật toán sinh dãy số ngẫu nhiên, sinh các bài toán đầu vào cho các phần

mềm học Toán.
Chủ đề này tập trung mô tả các phần mềm ứng dụng học và giải toán. Các dạng toán
trắc nghiệm và điền số trực tiếp được mô tả trong chủ đề này.
Một lớp các bài toán điền số vào dãy được thiết kế dữ liệu cẩn thận và mô tả chi tiết
trong chủ đề này.

Chủ đề 8. Phần mềm hỗ trợ học khoa học
Mục tiêu:
- Thiết lập các dạng bài toán mô tả các hiện tượng thực tế, có tính chính xác và khoa
học.
- Thiết kế một số phần mềm đơn giản cho môn Khoa học tự nhiên.
Chủ đề này chỉ bao gồm những ví dụ nhỏ ban đầu của hướng phần mềm dành cho
nhóm các môn học khoa học. Đặc điểm của các ứng dụng này là tính chính xác khoa
học của các mô phỏng.
Chủ đề bao gồm 1 số chương trình, ứng dụng mô phỏng lịch tháng và đồng hồ số, mô
phỏng viên đạn bắn ra khỏi nòng súng, mô phỏng chuyển động của bánh xe, chuyển
động của quả bóng trong trò chơi bi-a.
Chủ đề này sẽ có có rất nhiều phát triển trong tương lai.

14 | C S 4 S 1 1 - 2 0 1 7



×