VnReview
Hà Nội

Code, Harry Porter và thang đo học tập Bloom - những ý tưởng này khiến bạn liên tưởng đến điều gì?

Bloom là một thang đo năng lực nhận thức trong học tập được áp dụng rộng rãi tại nhiều quốc gia. 6 cấp độ học tập của Bloom, bộ truyện phiêu lưu huyền bí nổi tiếng thế giới Harry Potter và code, những;ý tưởng này có liên hệ gì với nhau?

Bài viết lược dịch từ CodeBurst dưới đây sẽ đem đến cho bạn đọc VnReview một câu trả lời thú vị.

"Kim tự tháp" nhận thức Bloom là gì? Vì sao công cụ này sẽ giúp bạn học nhanh hơn? (Kỳ 1)?

"Kim tự tháp" nhận thức bloom là gì? Vì sao công cụ này sẽ giúp bạn học nhanh hơn? (Kỳ 2)

Sáng tạo quan trọng hơn kiến thức? Những "phiên bản" khung nhận thức Bloom mới giúp bạn học tốt hơn

Não có đói kiến thức giống như dạ dày đói thức ăn?

Học viết code không phải là chuyện nhanh chóng và dễ dàng. Nhiều lập trình viên, trong đó có chúng tôi (tác giả Code Girl), đã thảo luận về lý do tại sao việc học viết code lại rất khó khăn. Để trở thành một lập trình viên, bạn cần có những kinh nghiệm buộc mình vượt qua một hệ thống cấp bậc các mục tiêu học tập mà trong giáo dục được gọi là thang đo học tập Bloom (Bloom's Taxonomy of Learning). Làm như vậy sẽ đảm bảo rằng bạn có thể tiến bộ từ việc chỉ đơn thuần ghi nhớ các khái niệm code cho đến có khả năng phát triển code mới của chính bạn.

Thang đo Bloom được nhà tâm lý giáo dục Bloom đề xướng năm 1956, được cải tiến năm 2001. Phiên bản năm 2001 có sáu cấp độ là: ghi nhớ (remember), thấu hiểu (understand), áp dụng (apply), phân tích (analyze), đánh giá (evaluate) và sáng tạo (create).

Thang đo Bloom trong học tập gồm 6 cấp: ghi nhớ, thấu hiểu, áp dụng, phân tích, đánh giá và sáng tạo (Ảnh: Code Burst)

Harry Potter có liên quan gì đến code và các mục tiêu học tập trong thước đo Bloom?

Đơn giản là xuyên suốt bảy cuốn sách trong bộ Harry Potter, có rất nhiều ví dụ minh họa cho mỗi mục tiêu học tập trong hệ thống cấp bậc Bloom và các ví dụ này đều được thể hiện tuyệt vời trên màn ảnh. Hãy nhớ rằng, Harry cũng như bạn đều đang trải qua một quá trình học đầy vất vả. Harry phải học độc dược, bùa chú và phép biến hình, và học tất cả bằng những công cụ mà cậu chưa từng sử dụng trước đó. Bạn có thấy quen không? Thay vì học phép thuật, bạn học khoa học máy tính và các ngôn ngữ lập trình như JavaScript và Python. Thay cho cái vạc và cây đũa phép, bạn sử dụng một phần mềm biên tập văn bản thuần túy (text editor) và công cụ dành cho nhà phát triển Chrome (Chrome Developer Tools).

Bộ truyện Harry Potter được bạn đọc khắp thế giới lẫn Việt Nam biết đến nhưng nếu bạn không quen thuộc với Harry Potter thì cũng đừng lo lắng. Bạn vẫn sẽ hiểu được các khái niệm trong bài.

Trong bài này, chúng tôi sẽ đề cập đến sáu cấp độ trong hệ thống Bloom. Kết quả học tập ở mỗi cấp độ sẽ được mô tả bằng các động từ hành động cùng các ví dụ rõ ràng từ loạt phim Harry Potter (đi kèm với đoạn video clip tương ứng). Sau đó, chúng tôi sẽ liên hệ ngược lại từ phim Harry Potter tới việc học code.

Ba nhân vật chính trong bộ truyện Harry Potter: Harry, Hermione và Ron (Ảnh: CodeBurst)

Ghi nhớ

Ở cấp độ này, bạn có thể nhớ lại, đọc thuộc lòng, định nghĩa và liệt kê.

Trong Harry Potter và hòn đá phù thủy (Harry Potter and The Sorcerer's Stone), lần đầu tiên Harry học môn Độc dược (Portions) với Giáo sư Snape. Vị giáo sư sẵn sàng làm cho Harry xấu hổ đã yêu cầu cậu ta nhớ lại các sự kiện như: có thể tìm thấy bezoar ở đâu (câu trả lời: bezoar là một loại sỏi nghiền lấy từ dạ dày của con dê có thể giải hầu hết các chất độc), sự khác biệt giữa cây mũ thầy tu (monkshood) và cây bả sói (wolfsbane) là gì (câu hỏi mẹo, mũ thầy tu và bả chó sói chỉ là một loài cây, còn có tên là cây phụ tử-aconite).

Tất nhiên, Harry không thể nhớ những sự kiện này. Ngay cả khi cậu ấy có thể, đơn thuần nhớ lại thông tin không có nghĩa là bạn hiểu thông tin đó hoặc có thể áp dụng nó trong một tình huống mới. Bạn có thể liệt kê các loại biến khác nhau hoặc xác định một hàm, nhưng điều đó không có nghĩa là bạn có thể sử dụng, áp dụng hoặc sáng tạo mã mới trong JavaScript. Đó là lý do tại sao việc đi qua hệ thống cấp bậc các mục tiêu học tập lại quan trọng.

Thấu hiểu

Ở cấp độ này, bạn có thể giải thích, thảo luận, mô tả và báo cáo.

Trong Hòn đá phù thủy, khi lão Hagrid (người giữ khóa và gác sân ở Hogwarts) dẫn Harry đi mua đồng phục, sách vở cho năm đầu tiên ở trường phù thủy Hogwarts, Harry nhân cơ hội này hỏi Hagrid về cha mẹ đã mất của cậu. Hagrid không chỉ giải thích những sự kiện xung quanh kết thúc bi thảm của họ mà còn mô tả tình hình thế giới phù thủy vào thời điểm đó, và họ thảo luận về vết sẹo trên đầu của Harry.

Khi nào bạn cần thảo luận về code của mình như thế? Một ví dụ là khi bạn yêu cầu giúp đỡ. Nếu bạn sử dụng Slack hoặc Stack Overflow, điều tối quan trọng là bạn phải mô tả code bạn đã viết, những gì bạn mong đợi sẽ xảy ra, những gì đã xảy ra thay vì điều bạn mong đợi và kết quả mà bạn thử nghiệm. Bạn có thể không có giải pháp để sửa mã của mình, nhưng bạn thể hiện rằng bạn hiểu mình đang ở đâu trong quá trình này. Hãy buộc bản thân mình phải thực hiện các bước đó khi bạn muốn nhờ giúp đỡ. Điều đó sẽ củng cố sự hiểu biết của bạn. Thông thường, khi chúng tôi thực hiện quá trình này, cuối cùng chúng tôi có thể trả lời được câu hỏi của chính mình. Đó là một quá trình kích thích bộ não của chúng ta.

Ứng dụng

Ở cấp độ này, bạn có thể sử dụng, triển khai và chứng minh.

Ở lớp học Phòng chống Nghệ thuật Hắc ám trong tập Tù nhân ngục Azkaban (The Prisoner of Azkaban), Giáo sư Lupin giải thích cách đối phó với Ông Kẹ (boggart), một sinh vật được nuôi bằng nỗi sợ hãi của bạn. Đầu tiên, bạn phải tập trung vào một thứ gì đó buồn cười một cách ngớ ngẩn và sau đó phát âm chính xác câu thần chú: Riddikulus. Trong cảnh này, Giáo sư yêu cầu các học sinh sử dụng câu thần chú chống lại một Ông Kẹ thật.

Ví dụ về việc áp dụng này có giống như việc thực hành không? Đó là bởi vì thực hành những gì bạn đã học là cực kỳ quan trọng, bất kể bạn học môn nào. Tuy nhiên, với code, điều này có nghĩa là bạn có thể tuân theo các yêu cầu viết code trong câu chuyện người dùng (user story, mô tả yêu cầu tính năng phần mềm của người dùng) để chứng minh những gì bạn đã học được. Ví dụ: giáo trình FreeCodeCamp yêu cầu bạn hoàn thành nhiều bài tập khác nhau như Tribute Page, chương trình tạo báo giá ngẫu nhiên và ứng dụng thời tiết. Để làm được điều này, bạn phải nhớ lại code đã học và hiểu được yêu cầu viết code. Có thể bạn vẫn cần phải "Google" một số đoạn mã của mình. Đó là toàn bộ quá trình thể hiện khả năng áp dụng những gì bạn đã học.

Phân tích

Ở cấp độ này, bạn có thể đưa ra kết luận, kết nối, so sánh và đối chiếu.

Ở cuối Phòng chứa Bí mật (The Chamber of Secrets), Harry đưa ra kết luận và giải thích cho Ron rằng con quái vật trong Phòng chứa Bí mật là một con rắn Tử Xà. Harry kết nối thông tin về Tử Xà do Hermione cung cấp cho cậu với manh mối từ những lần con quái vật gặp các học sinh (họ bị biến thành đá chứ không phải bị giết). Harry cũng suy luận rằng giọng nói mà cậu (và chỉ mình cậu) nghe thấy là tiếng của loài Tử Xà vì chỉ có Harry mới có thể hiểu được tiếng Parseltongue (ngôn ngữ của loài rắn).

Khi Harry đưa ra kết luận, cậu có một khoảnh khắc gần như "Aha". Nó không giống như khoảnh khắc bạn xem xét thông báo lỗi cho code của mình trong Chrome Developer Tools và biết phải làm gì để sửa code hỏng (phân tích và áp dụng). Là một nhà phát triển, bạn cần thường xuyên phân tích code của mình, nhưng việc phân tích chỉ đến sau khi bạn đã thuộc lòng lẫn hiểu rõ và áp dụng được code.

Tử Xà (tiếng Anh basilisk) là loại rắn có cái nhìn và hơi thở chết người trong truyện thần thoại.

Đánh giá

Ở cấp độ này, bạn có thể phê bình, đánh giá, lựa chọn và biện minh.

Trong Harry Potter và Hội Phượng Hoàng (Harry Potter and the Order of the Phonenix), Harry dạy cho một nhóm đồng môn các phép thuật phòng thủ và bùa chú để bảo vệ họ nếu họ gặp phải Tử thần Thực tử. Khi Harry đi quanh nhóm, cậu đánh giá việc sử dụng các phép thuật và đưa ra các gợi ý về cách cải thiện - cậu chỉ cho Neville cách di chuyển cây đũa phép đúng cách và đề nghị anh chàng tập trung vào một điểm cố định. Trong một cảnh, thậm chí Harry còn nâng đũa phép của một số học sinh lên cao hơn để làm phép tốt hơn.

Tất nhiên, bạn sẽ không nhờ Harry đánh giá code của bạn. Thay vào đó, một lập trình viên phải đánh giá code của chính họ và tìm kiếm những chỗ cần tạo các đoạn mã có hiệu năng cao hơn. Việc làm điều này mà không thay đổi kết quả code được gọi là tái cấu trúc mã nguồn (code refractoring). Đôi khi bạn cần đánh giá mã trước khi viết nó. Ví dụ, bạn có thể gặp một tình huống mà bạn có thể sử dụng nhiều hơn một loại hàm: sử dụng câu lệnh if có tốt hơn sử dụng câu lệnh switch không? Hãy cân nhắc các tùy chọn của bạn và chọn tùy chọn thích hợp nhất. Đánh giá là sự mở rộng tự nhiên của phân tích.

Sáng tạo

Ở cấp độ này, bạn có thể phát triển, thiết kế, làm việc và đóng gói (assemble).

Chúng ta chưa bao giờ thực sự hiểu được Giáo sư Snape xuất sắc như thế nào khi nói đến phép thuật cho đến khi tập Harry Potter và Hoàng tử lai (Harry Potter and the Half-blood Prince) xuất bản. Harry tình cờ tìm thấy cuốn sách giáo khoa Độc dược cũ của Giáo sư Snape, và phát hiện ra Snape (lúc này chỉ được biết đến với cái tên Hoàng tử lai) đã ghi thêm ở hai bên lề sách những phép thuật hoàn toàn mới mà trong đó có nhiều lời nguyền, sửa đổi công thức pha chế độc dược hiện có để gia tăng công hiệu. Thật không may, Harry thử lời nguyền "Sectumsempra" lên anh chàng Draco của nhà Sylverin và suýt giết chết cậu này.

Bạn không cần phải tạo ra những lời nguyền độc ác để biết rằng bạn đã đạt được sự thành thạo nào đó trong việc viết code. Thay vào đó, bạn có thể lấy một ý tưởng mới, phác thảo nó, xây dựng nó và khắc phục sự cố. Dù vậy, hãy lưu ý là, để sáng tạo một cách thành công, bạn phải trải qua tất cả các cấp của hệ thống cấp bậc Bloom. Snape sẽ không thể phát triển những lời nguyền mới nếu lúc ban đầu ông không nhớ các nguyên tắc của phép thuật, thấu hiểu công việc làm phép và đánh giá sự tiến bộ của mình.

Tóm lại

Giống như học pháp thuật, học lập trình không hề dễ dàng. Nó đòi hỏi sự chăm chỉ và kiên nhẫn. Bạn phải nhớ rằng Harry không làm được nhiều phép thuật bằng chính sức mình trong tập đầu tiên (Hòn đá phù thủy). Cậu học chưa đủ. Bất chấp điều đó, Harry vẫn trở thành một phù thủy vĩ đại và cuối cùng đánh bại được Chúa tể Hắc ám-ác quỷ Voldemort. Hãy ghi nhớ điều đó trong hành trình trở thành một lập trình viên của bạn. Đó không phải là cuộc hành trình qua đêm. Hãy tập trung vào những trải nghiệm đưa bạn vượt qua hệ thống cấp bậc học tập Bloom.

Harry có một thứ mà tất cả chúng ta đều cần là những người bạn để chia sẻ gánh nặng. Cùng với Ron và Hermione bên cạnh, ba người đã kiên trì vượt qua nhiều thử thách. Hãy tìm "Ron" và "Hermione" của bạn trong cộng đồng lập trình bằng cách tham gia một nhóm học tập, các sự kiện gặp mặt, các nhóm thảo luận trên Facebook, Slack hoặc Stack Overflow...

Hãy kiên nhẫn với mọi người. Bạn không biết họ đang ở đâu trong các cấp độ của hệ thống cấp bậc Bloom.

Linh Trần theo CodeBurst

Chủ đề khác