Tư duy lập trình là gì? 4 kỹ năng và cách rèn cho con ở nhà
Cẩm nang cho bố mẹ

Tư duy lập trình là gì? 4 kỹ năng và cách rèn cho con ở nhà

Tư duy lập trình (còn gọi là tư duy máy tính, tiếng Anh: computational thinking) là cách nghĩ để giải một vấn đề sao cho cả người lẫn máy làm theo được. Nó gồm 4 kỹ năng: chia việc lớn thành việc nhỏ, nhận ra quy luật, bỏ chi tiết không cần, và viết ra các bước rõ ràng theo thứ tự. Trẻ 6–7 tuổi đã rèn được, phần lớn không cần máy tính: chỉ đường cho bố đi như robot, pha một cốc nước chanh theo công thức, xếp đồ theo quy luật. Máy tính chỉ là nơi để con thử ý mình và thấy ngay đúng hay sai.

Tư duy lập trình là gì

Năm 2006, giáo sư Jeannette Wing (Đại học Carnegie Mellon) viết một bài ngắn tên "Computational Thinking" trên tạp chí Communications of the ACM. Ý chính của bà: đây là kỹ năng nền cho mọi người, không riêng dân máy tính, và nên được thêm vào bên cạnh đọc, viết, làm tính trong khả năng phân tích của mọi đứa trẻ. Từ bài đó, "tư duy máy tính" thành một mục tiêu trong chương trình học của nhiều nước.

Nói gọn cho dễ nhớ: tư duy lập trình là nghĩ trước khi làm, và nghĩ sao cho viết ra được thành các bước. Nó không phải là thuộc lệnh của một ngôn ngữ nào. Người biết Python mà gặp bài lạ không biết bắt đầu từ đâu thì vẫn thiếu tư duy lập trình. Ngược lại, một bé lớp 2 biết tả cho bạn cách gấp máy bay giấy từng bước, không sót bước nào, là đã có một phần của nó.

Ở Việt Nam, chương trình môn Tin học 2018 ghi rõ mục tiêu ở tiểu học là giúp học sinh bước đầu hình thành tư duy giải quyết vấn đề với sự trợ giúp của máy tính, qua việc tạo chương trình đơn giản bằng ngôn ngữ lập trình trực quan. Ngay lớp 3 đã có nội dung "Thực hiện công việc theo các bước" — chính là thuật toán ở mức nhỏ nhất.

Lưu ý: nếu bố mẹ gõ "lập trình tư duy" và gặp sách về "lập trình ngôn ngữ tư duy" (NLP), đó là một chủ đề tâm lý tự lực khác hẳn, không liên quan đến lập trình máy tính hay bài này.

4 kỹ năng của tư duy lập trình, kèm ví dụ ở nhà

Trang học tập BBC Bitesize của Anh (dành cho học sinh 11–14 tuổi) gọi đây là 4 trụ cột của tư duy máy tính. Cách chia này được dùng rất rộng trong trường học:

Kỹ năngNghĩa làVí dụ con gặp hằng ngày
Chia nhỏ (decomposition)Cắt một việc lớn thành nhiều việc nhỏ làm được"Dọn phòng" = cất sách, gấp quần áo, nhặt đồ chơi, quét nhà
Nhận ra quy luật (pattern recognition)Thấy điểm giống nhau lặp lạiTất cả phép cộng với 9 đều "cộng 10 rồi bớt 1"
Trừu tượng hóa (abstraction)Giữ cái quan trọng, bỏ chi tiết thừaChỉ đường tới trường chỉ cần nói các chỗ rẽ, không cần kể màu nhà
Thuật toán (algorithm)Viết các bước rõ ràng, đúng thứ tựCông thức pha nước chanh

Bốn kỹ năng này đi cùng nhau. Khi con giải một bài toán có lời văn khó, con chia nhỏ (cái đã cho, cái phải tìm), nhận ra bài này giống dạng nào đã học, bỏ những chữ không ảnh hưởng tới phép tính, rồi viết bài giải theo thứ tự. Đó cũng là tư duy lập trình, chỉ là không có máy.

Cách rèn luyện tư duy lập trình cho con không cần máy

Máy tính không phải điều kiện bắt buộc. Với trẻ 6–9 tuổi, các trò bằng tay và bằng lời thường hiệu quả hơn, vì con thấy lỗi ngay trên người thật.

Trò "robot bố mẹ"

Bố hoặc mẹ đóng vai robot, đứng cạnh bàn ăn. Con phải đưa robot tới cửa, nhưng chỉ được dùng 3 lệnh: tiến 1 bước, quay trái, quay phải. Robot làm đúng từng chữ, không tự đoán ý. Nếu con nói "đi ra cửa", robot đứng im vì không có lệnh đó. Nếu con quên lệnh quay, robot cứ thế tiến thẳng vào tường (nhẹ nhàng thôi, cho con cười).

Lần hai, bảo con viết hết các lệnh ra giấy trước, rồi mới đọc cho robot chạy. Chạy sai thì con tìm dòng sai và sửa. Viết trước — chạy — sửa lỗi: đó chính là vòng làm việc của người lập trình.

Công thức pha nước chanh là một thuật toán

Nhờ con đọc cho bố mẹ pha một cốc nước chanh, bố mẹ làm đúng từng câu con nói. Thường lần đầu con sẽ nói "cho chanh vào" mà chưa bảo cắt, hoặc cho đá trước khi khuấy đường nên đường không tan. Cùng con viết lại cho đủ:

  1. Rửa và cắt đôi quả chanh.
  2. Vắt nước chanh vào cốc.
  3. Thêm 2 thìa đường và nửa cốc nước.
  4. Khuấy đến khi không còn hạt đường.
  5. Thêm đá.

Hỏi con: nếu đổi bước 4 và bước 5 thì sao? Con sẽ tự thấy thứ tự các bước quan trọng — ý mà sau này con gặp lại trong mọi bài lập trình.

Xếp đồ theo quy luật

Cho con xếp một hàng: thìa, đũa, đũa, thìa, đũa, đũa… rồi hỏi món thứ 10 là gì. Hoặc để con tự nghĩ ra một quy luật, bố mẹ đoán. Khi phân loại quần áo đi giặt, hỏi con: "Để chia đồ thì mình cần nhìn gì — màu hay size?" Chỉ nhìn màu là con đang trừu tượng hóa: bỏ qua mọi thứ khác, giữ đúng một điều cần.

Câu đố kiểu Bebras

Bebras là cuộc thi "Thách thức tư duy thuật toán" quốc tế; Việt Nam tham gia từ 2017 cho học sinh 8–15 tuổi. Câu hỏi kể một chuyện đời thường (hải ly xếp gỗ, xe buýt đón khách…) và không cần biết code. Kiểu câu này rất hợp để làm cùng con vào cuối tuần. Năm câu dưới đây được viết theo tinh thần đó.

5 câu đố tư duy lập trình cho trẻ 7–11 tuổi (có đáp án)

Bố mẹ đọc câu hỏi, để con nghĩ ít nhất một phút rồi mới xem đáp án. Hỏi con "vì sao" quan trọng hơn chuyện đúng hay sai.

Câu 1. Robot quay đầu

Robot đang đứng, mặt nhìn về hướng Bắc. Con ra 3 lệnh liền: quay phải, quay phải, quay phải. Giờ robot nhìn về hướng nào?

Đáp án: hướng Tây. Mỗi lần quay phải là xoay một phần tư vòng: Bắc sang Đông, Đông sang Nam, Nam sang Tây. Mẹo hay: quay phải 3 lần cũng bằng quay trái 1 lần — đó là cách người lập trình rút gọn lệnh.

Câu 2. Hàng đồ chơi

Bé Na xếp một hàng: bóng, xe, xe, bóng, xe, xe, bóng… cứ thế lặp lại. Món thứ 10 là gì?

Đáp án: quả bóng. Nhóm "bóng, xe, xe" có 3 món, lặp đi lặp lại. Ba nhóm đầu hết món thứ 9, nên món thứ 10 là món đầu của nhóm thứ tư — quả bóng. Đây là kỹ năng nhận ra quy luật.

Câu 3. Lặp 4 lần

Robot chạy chương trình: Lặp 4 lần: tiến 3 bước, quay phải. Chạy xong, robot ở đâu và nhìn về hướng nào?

Đáp án: robot về đúng chỗ xuất phát và nhìn đúng hướng ban đầu. Nó đi 4 cạnh bằng nhau, mỗi góc rẽ phải một lần, tức là đi hết một hình vuông. Quay phải 4 lần là tròn một vòng. Một lệnh "lặp" thay cho 8 lệnh viết tay — đó là lý do lập trình có vòng lặp.

Câu 4. Tìm chỗ sai

Minh muốn robot đi từ cửa lớp tới bàn cô giáo. Bàn cô ở bên trái, cách 2 bước sau khi đi thẳng 3 bước. Minh viết: tiến 3 bước, quay phải, tiến 2 bước. Robot đi lạc. Sửa một lệnh nào?

Đáp án: đổi "quay phải" thành "quay trái". Hai lệnh tiến đều đúng số bước, chỉ sai hướng rẽ. Tìm đúng một dòng sai rồi sửa, thay vì viết lại từ đầu, chính là kỹ năng gỡ lỗi.

Câu 5. Ai đứng đầu hàng

Ba bạn An, Bình, Chi xếp một hàng dọc. An không đứng đầu. Chi đứng ngay sau An. Ai đứng đầu hàng?

Đáp án: Bình. Chi đứng ngay sau An, nên An không thể đứng cuối — vậy An đứng giữa hoặc đầu. Đề nói An không đứng đầu, nên An đứng giữa, Chi đứng cuối, còn lại Bình đứng đầu. Con vừa loại trừ từng khả năng — cách máy tính "suy nghĩ" khi kiểm tra điều kiện.

Luyện tư duy lập trình trên máy: game và khóa học

Khi con đã quen ra lệnh bằng lời, máy tính giúp con làm một việc bố mẹ khó làm: chạy thử ngay và chỉ ra chỗ sai. Vài lựa chọn chạy trên trình duyệt, không cần cài đặt:

  • Khóa Tư duy lập trình của Ôn Thi — con bấm nút lệnh có hình để điều khiển robot trên lưới, chưa cần gõ chữ. 12 chặng đi đúng thứ tự tư duy: ra lệnh từng bước, chia việc lớn thành việc nhỏ, lặp, robot cầm bút vẽ tranh, lặp trong lặp, nếu… thì, hàm, biến, rồi tới code chữ và Python thật. Mỗi chặng có cô làm mẫu, con đoán rồi chạy, tìm lỗi và trả lời "vì sao"; sai thì được chỉ đúng chỗ sai. 2 chặng đầu miễn phí tại học thử Tư duy lập trình; trọn khóa 99.000đ, trả một lần, dùng trọn đời. Một số màn có sẵn lời giải để bố mẹ xem trước: màn lập trình miễn phí có lời giải.
  • Scratch — hợp khi con 8–11 tuổi, học sang tự xếp khối để làm hoạt hình, trò chơi; đây cũng là phần lập trình trong sách Tin học lớp 4–5: khóa Scratch.
  • Code.org — miễn phí, có tiếng Việt, nhiều bài dạng câu đố kéo khối.
  • Blockly Games của Google — miễn phí, có tiếng Việt, gồm các trò Đố vui, Ma trận (mê cung), Chim, Rùa, Âm nhạc… độ khó tăng dần; trò Ma trận rất hợp để luyện lặp và "nếu… thì".

Muốn so sánh thêm các phần mềm và game lập trình miễn phí, xem danh sách game lập trình cho trẻ. Nếu đang phân vân nên cho con học gì theo tuổi, trang lập trình cho trẻ em so sánh từng ngôn ngữ.

Một lời khuyên thật: 15–20 phút mỗi lần, có bố mẹ ngồi cạnh hỏi "vì sao con chọn lệnh này" tốt hơn một giờ con tự bấm. Game nào cũng có thể bị "bấm bừa cho qua màn"; câu hỏi của bố mẹ là thứ biến nó thành tư duy.

Học lập trình có làm trẻ thông minh hơn không?

Câu trả lời ngắn: có lợi, nhưng lợi nhất cho chính kỹ năng giải bài kiểu lập trình, và lợi ít hơn nhiều người quảng cáo.

Nghiên cứu tổng hợp đáng tin nhất hiện nay là của Scherer, Siddiq và Sánchez Viveros, đăng năm 2019 trên tạp chí Journal of Educational Psychology. Nhóm gộp 105 nghiên cứu với 539 kết quả đo và thấy:

  • Học lập trình giúp khá rõ cho chính kỹ năng lập trình và giải bài cùng kiểu (các nhà nghiên cứu gọi là chuyển giao gần; mức hiệu ứng g = 0,75 — mức lớn).
  • Có giúp ở mức vừa cho các kỹ năng khác (chuyển giao xa; g = 0,47): nhiều nhất là tư duy sáng tạo, kỹ năng toán và khả năng tự kiểm tra cách mình nghĩ; sau đó là tư duy không gian và suy luận.
  • Kết quả học ở trường và đọc viết được lợi ít nhất.

Nhưng nhóm tác giả cũng nói rõ các giới hạn. Khi nhóm so sánh là trẻ không làm gì, hiệu ứng lớn hơn hẳn so với khi nhóm so sánh cũng được học một hoạt động khác. Trong một bài viết năm 2021, Scherer và Siddiq nhấn mạnh rằng các nghiên cứu chia nhóm ngẫu nhiên, có nhóm so sánh được hoạt động thật, cho hiệu ứng thấp hơn. Họ cũng dẫn Sala và Gobet (2017): với cờ vua, âm nhạc và luyện trí nhớ, bằng chứng về chuyển giao sang kỹ năng xa khá yếu.

Vậy nên hiểu cho đúng: học lập trình là một cách tốt để con tập nghĩ theo từng bước và tập sửa sai, chứ không phải "thuốc tăng IQ". Nếu mục tiêu là điểm Toán, học Toán vẫn là đường ngắn nhất. Nếu mục tiêu là con biết chia nhỏ một việc khó và không sợ làm sai, lập trình là môi trường rất hợp — vì máy báo sai ngay, không mắng, và con sửa được liền. Bàn kỹ hơn chuyện nên hay không nên, xem có nên cho trẻ học lập trình.

Bố mẹ hay hỏi

Mấy tuổi thì nên rèn tư duy lập trình?

Từ khoảng 5–6 tuổi con đã chơi được các trò không cần máy như ra lệnh cho robot bố mẹ, xếp đồ theo quy luật. Khoảng 7–10 tuổi là lúc hợp để điều khiển robot bằng nút lệnh có hình trên máy; 8–11 tuổi sang Scratch; từ 10 tuổi có thể bắt đầu gõ Python. Ở trường, chương trình Tin học đưa nội dung "thực hiện công việc theo các bước" vào từ lớp 3.

Có cần giỏi toán mới có tư duy lập trình không?

Không. Ở mức cơ bản, tư duy lập trình cần biết đếm, biết trái phải và biết làm theo thứ tự, không cần giỏi toán. Hai thứ hỗ trợ nhau: con chia nhỏ bài toán có lời văn cũng là đang dùng tư duy lập trình. Tới khi học lập trình nâng cao (thuật toán, thi học sinh giỏi Tin) thì toán mới quan trọng hơn.

Học lập trình có tăng khả năng tư duy không?

Có, nhưng ở mức vừa phải. Tổng hợp 105 nghiên cứu (Scherer và cộng sự, 2019) thấy lợi lớn nhất là ở chính kỹ năng lập trình, lợi mức vừa ở tư duy sáng tạo, toán và suy luận, còn điểm học ở trường và đọc viết được lợi ít nhất. Nghiên cứu càng chặt chẽ thì hiệu ứng càng nhỏ, nên đừng kỳ vọng học lập trình thay được việc học các môn khác.

Bài test tư duy lập trình cho trẻ tìm ở đâu?

Có ba chỗ dễ bắt đầu: 5 câu đố có đáp án ngay trong bài này; đề các năm của cuộc thi Bebras (câu hỏi đời thường, không cần biết code); và các màn miễn phí có lời giải của khóa Tư duy lập trình tại /lap-trinh/man. Không có bài test nào "đo" được tư duy lập trình chính xác cho trẻ nhỏ — hãy dùng chúng để xem con nghĩ thế nào, không để chấm điểm con.

Tư duy lập trình khác tư duy logic thế nào?

Tư duy logic là suy ra điều đúng từ điều đã biết (nếu A đúng thì B đúng). Tư duy lập trình dùng logic, nhưng rộng hơn: còn chia nhỏ việc, tìm quy luật, bỏ chi tiết thừa, và viết lời giải thành các bước mà người khác hoặc máy làm theo được. Câu 5 trong bài là logic thuần; câu 3 và câu 4 là tư duy lập trình.

Rèn tư duy lập trình có cần máy tính không?

Không bắt buộc. Có hẳn một bộ bài dạy khoa học máy tính không dùng máy, miễn phí, tên CS Unplugged (Đại học Canterbury, New Zealand), chỉ dùng thẻ, dây, bút màu và trò chạy nhảy. Máy tính có ích ở bước sau: con chạy thử và thấy ngay chỗ sai. Khóa Tư duy lập trình của Ôn Thi chạy được cả trên điện thoại, không cần cài đặt.

Nên chọn khóa học tư duy lập trình thế nào?

Xem ba điều: con có được tự thử và thấy lỗi của mình không (hay chỉ xem video); khi sai có được chỉ đúng chỗ sai không; và có hỏi con "vì sao" không. Nên cho con học thử miễn phí trước khi trả tiền — khóa Tư duy lập trình của Ôn Thi mở miễn phí 2 chặng đầu.

Học thử chặng 1 miễn phí

Con bấm nút lệnh có hình để điều khiển robot, tập ra lệnh từng bước, lặp và tìm lỗi. 2 chặng đầu miễn phí, chạy trên trình duyệt, cả điện thoại.

Mở ngay →
Đọc thêm