Thảo luận:Một số điều nên và không nên trong giảng dạy toán/12

Từ VLOS
Bước tới: chuyển hướng, tìm kiếm

on July 26, 2009 at 2:49 pm Ngô Quang Hưng, Ngô Quang Hưng wrote:[sửa]

Thân chào bác Dũng,

Chuỗi bài này bác viết rất hay, biên tập lại cẩn thận có thể viết thành sách được.

Tôi hoàn toàn đồng ý với tinh thần của bài viết. Chỉ xin góp ý một ý nhỏ về kiến thức (data) và suy luận (program). Thật ra, để đại diện cho “suy luận”, tôi nghĩ dùng từ “thuật toán” thì đúng hơn “chương trình”.

Trong Khoa Học Máy Tính hiện nay, ranh giới giữa data và algorithm càng lúc càng bị xóa nhòa, nếu không nói là hoàn toàn không có ranh giới gì. Có cơ sở lý thuyết cho điều này (xem, ví dụ, bài này của Bernard Chazelle có giới thiệu phổ cập đại chúng về sự hòa trộn của data và chương trình). Trong Toán thì recursion theory, lambda calculus là minh họa lý thuyết cho ý này. Về mặt lập trình thì các programming paradigms như lập trình hướng đối tượng và lập trình hàm (funcional programming) cũng mang tư tưởng xóa ranh giới giữa data và programs.

Đến một trình độ tư duy nhất định thì ranh giới giữa kiến thức và suy luận hầu như không còn nữa. Nói đúng hơn là phần kiến thức càng lúc càng bị “tan” vào trong phần suy luận. Cuối cùng chỉ còn lại một thuật toán. Tôi để ý rằng những thứ mà tôi thật sự hiểu sâu sắc thì tôi lại không “nhớ” gì mấy, có cảm giác như data ít cần, nhưng cái thuật toán trong đầu có thể tự tạo ra một logical flow cho tư duy. Khi cần nói về đề tài đã hiểu sâu thì chỉ cần một điểm khởi đầu (data point) nào đó là đã có thể “xổ nho” rất dài.

Như vậy, trong não, tôi tin là, có cơ chế tạo một mô hình sinh (generative model) cho những đề tài mà chúng ta hiểu sâu. Nhiệm vụ của người thầy là thiết kế một chương trình giảng dạy để học trò tự phát triển cái generative model này.

on July 26, 2009 at 11:34 pm admin, admin wrote:[sửa]

Thanks Hưng

Cái bài của Chazelle dài quá, mà có vẻ là bài “vulgarization” cho “dummies” :-)

Tất nhiên việc phân loại các bits ra “data” và “algorithm” là một qui ước “đơn giản hóa” thôi, chứ trong algorithms có thể chứa data và trong data có thể chứa algorithms.

Nhưng chắc là về sau người ta vẫn sẽ nói “data processing” chứ không nói “algorithm processing” (đã ở thế “thụ động”, bị lôi ra “xử lý” thì là data, bao giờ “chủ động” thì “không còn là data” ?).

Cái “chương trình” (hay thuật toán) ghi trong não ứng với khả năng suy nghĩ sâu, cần được hiểu không phải là “một chương trình riêng lẻ”, mà là một hệ tổng hợp của nhiều “chương trình con”. Các algorithms này, như Hưng nói, thường có tính generative (and genetic ?)