Bản Chất Dạy Học Phát Triển Tư Duy Điện Toán Trong Dạy Học Lập Trình Cho Sinh Viên


c- Thiết kế thuật toán:

Đây là quá trình xây dựng một lược đồ gồm các bước theo trình tự có thể giải quyết được tất cả các vấn đề. Qua đó, giúp giải quyết vấn đề theo từng bước rõ ràng, không mập mờ và phải có kết thúc. Hình dung được đang ở đâu trong quá trình giải quyết vấn đề, đã đến lúc đủ dữ kiện để quyết định phương án hay chưa, tránh việc quyết định vội vàng.

d- Trừu tượng hóa và tổng quát hóa

Trừu tượng hóa một vấn đề thành một khái niệm hoặc nguyên tắc. Tức là quá trình loại bỏ các chi tiết vật lý, không gian, thời gian hoặc các thuộc tính riêng lẻ của đối tượng hoặc hệ thống, giữ lại các đặc điểm chung để hướng đến việc miêu tả một cách khái quát.

Tổng quát hóa (là quá trình điều chỉnh các giải pháp hoặc thuật toán đã xây dựng thành các trạng thái vấn đề khác nhau, ngay cả khi các biến là khác nhau. Tổng quát hóa một số tham số để mở rộng phạm vi áp dụng (giấu đi các chi tiết phức tạp).

Hình 1 2 Các yếu tố cấu thành tư duy điện toán Qua đó sẽ giúp hiểu được 1

Hình 1.2. Các yếu tố cấu thành tư duy điện toán


Qua đó, sẽ giúp hiểu được ý nghĩa khái quát của một giải pháp, từ đó có thể áp dụng trong nhiều trường hợp cụ thể. Đưa vấn đề hoặc giải pháp lên một mức khái quát, có thể truyền đạt được đến nhiều đối tượng, truyền tải nhiều ý nghĩa.

Có thể bạn quan tâm!

Xem toàn bộ 235 trang tài liệu này.

Hình 1 3 Quá trình tư duy điện toán Các yếu tố cấu thành tư duy điện toán 2

Hình 1.3. Quá trình tư duy điện toán

Các yếu tố cấu thành tư duy điện toán chính là các quá trình có mối quan hệ với nhau được tổ hợp lại nhằm giải quyết vấn đề một cách hiệu quả, và vận dụng tương tự theo cách làm của máy tính. Nói một cách cụ thể, quá trình giải quyết với một vấn đề nào đó như máy tính thực hiện có thể thông qua các hoạt động như là (Hình 1.3):

- Phân rã vấn đề: chia nhỏ bài toán.

- Nhận dạng mẫu: phân tích và phân loại vấn đề thành nhóm, áp dụng các phương pháp phù hợp cho từng nhóm.

- Thiết kế thuật toán: xây dựng lời giải bằng máy tính.

- Trừu tượng hóa và tổng quát hóa: tạo ra lời giải chung cho nhiều vấn đề tương tự nhau.


Với quá trình chung này, khi thực hiện vào thực hiện thì tùy vào từng vấn đề, nội dung cần giải quyết thì có thể lược qua một số hoạt động ở trên nếu không thực sự cần thiết.

Quá trình tư duy điện toán sẽ khiến người học vận dụng linh hoạt các kỹ năng và phát triển mạnh mẽ khả năng nhận thức tình huống để giải quyết theo hướng tối ưu. Và hơn hết, tư duy điện toán chính là đỉnh cao của việc giải quyết vấn đề.

1.3.3 Bản chất dạy học phát triển tư duy điện toán trong dạy học lập trình cho sinh viên

Có thể thấy rằng, dạy học phát triển tư duy nói chung và dạy học phát triển tư duy điện toán cho sinh viên nói riêng chính là giúp sinh viên phát triển tư duy thông qua rèn luyện các thao tác tư duy. Cơ sở dạy học phát triển tư duy được dựa vào Lý thuyết vùng phát triển gần nhất của Vưgotski, trong đó, vùng phát triển gần nhất có sự phát triển cao hơn vùng phát triển hiện tại. Người học có thể thực hiện được kĩ năng mới hay phát triển tư duy lên mức cao hơn với sự giúp đỡ của người dạy. Trong khuôn khổ luận án này, dạy học phát triển tu duy thông qua các thao tác tư duy dựa vào sơ đồ của Platonov (hình 1.1) cũng như việc tổ chức dạy học, thiết kế các nội dung dạy học cụ thể sẽ nhằm vào phát triển các giai đoạn của quá trình tư duy.

Chẳng hạn sinh viên cần thực hiện các thao tác phân tích và tổng hợp trong quá trình tư duy, giảng viên cần thiết kế nội dung dạy học và tổ chức dạy học môn Kĩ thuật lập trình bằng cách cho sinh viên phân rã đối tượng thành những bộ phân, thuộc tính, những mối liên hệ, quan hệ giữa các thành phần để nhận thức đối tượng sâu sắc hơn.

Song song với đó, từ đầu thế kỷ này, “4C của Thế kỷ 21″ bao gồm các kỹ năng: Tư duy phê phán, phản biện (Critical Thinking), Sáng tạo


(Creativity), Cộng tác (Collaboration) và Giao tiếp, truyền thông (Communication) – đã được công nhận ngày càng quan trọng và là những thành phần thiết yếu trong chương trình giảng dạy của nhiều trường. Sự thay đổi này đã thúc đẩy sự tiếp thu trong các phương pháp sư phạm và các khuôn khổ như học tập dựa trên dự án, học hỏi, và học hỏi sâu hơn trên tất cả các cấp độ của K-12 nhấn mạnh tư duy bậc cao hơn là học thuộc lòng. Do đó, một chữ C khác gắn liền với Tư duy điện toán (Computational Thinking) là một kỹ năng cốt lõi khác – hoặc “5th C – Chữ C thứ 5” của các kỹ năng thế kỷ 21 — cần được dạy cho tất cả HS – SV.

Máy tính và các thiết bị thông minh đã trở thành sản phẩm thiết yếu trong cuộc sống của con người. Máy tính và các thiết bị điều khiển bằng máy tính được sử dụng trong tất cả các ngành từ y học đến kĩ thuật và sản xuất dệt may. Một lĩnh vực mà máy tính chắc chắn đã lan rộng là giáo dục và một điều kiện tiên quyết để kiểm soát máy tính, hoặc tăng mức độ và hiệu quả kiểm soát của chúng ta đối với chúng, là làm cho tương tác giữa người và máy tính hiệu quả nhất có thể. Quá trình sử dụng máy tính có hiệu quả này, được gọi là “Tư duy giống như máy tính” hoặc “Tư duy điện toán”, được coi là một lĩnh vực có tiềm năng hỗ trợ sự phát triển của cá nhân và xã hội trong thế giới đang phát triển nhanh chóng của chúng ta và mang lại những lợi ích kinh tế đáng kể.

Quan điểm của Jeannette Wing về việc dạy tư duy điện toán như một kỹ năng hình thành ngang bằng với đọc, viết và số học, xếp khoa học máy tính vào loại kiến thức cơ bản. Cũng giống như việc thành thạo các môn ngữ văn cơ bản giúp con người nói hiệu quả và toán học cơ bản giúp con người định lượng thành công, thì việc thành thạo tư duy điện toán giúp con người xử lý thông tin và nhiệm vụ một cách có hệ thống và hiệu quả. Nhưng trong khi việc dạy mọi người tư duy điện toán là một mục tiêu cao cả, thì có những


thách thức về mặt sư phạm. Có lẽ vấn đề khó hiểu nhất là vai trò của lập trình, và liệu chúng ta có thể tách nó ra khỏi việc giảng dạy khoa học máy tính cơ bản hay không. Nếu có thì cần phải biết về lập trình mức độ nào để thành thạo về tư duy điện toán?

Các điểm chính của tư duy điện toán là 1) đó là cách giải quyết vấn đề và thiết kế hệ thống dựa trên các khái niệm cơ bản của khoa học máy tính; 2) nó có nghĩa là tạo ra và sử dụng các mức độ trừu tượng khác nhau, để hiểu và giải quyết vấn đề hiệu quả hơn; 3) nó có nghĩa là tư duy theo thuật toán và khả năng áp dụng các khái niệm toán học để phát triển các giải pháp hiệu quả, công bằng và an toàn hơn; và 4) nó có nghĩa là hiểu được hậu quả của quy mô, không chỉ vì lý do hiệu quả mà còn vì lý do kinh tế và xã hội. Tư duy điện toán không phải là khiến con người suy nghĩ như máy tính, mà là phát triển đầy đủ các công cụ tư duy cần thiết để sử dụng hiệu quả máy tính nhằm giải quyết các vấn đề phức tạp của con người.

Việc nghiên cứu về bộ môn Khoa học máy tính (Computer Science) sớm hay muộn cũng cần phải có kiến thức về lập trình, và chính nhờ Khoa học máy tính mà các khái niệm cốt lõi của tư duy điện toán đã được phát triển. Tư duy điện toán là một cách nhìn nhận vấn đề, bài toán để máy tính có thể giúp con người giải quyết chúng. Khi lập trình, tư duy điện toán bao gồm những việc giải quyết vấn đề chúng ta phải làm trước khi bắt đầu viết mã (Hình 1.4). Xây dựng các bước và các quy tắc tuân theo, tìm hiểu các trạng thái và hành động được thể hiện và suy nghĩ về cách chương trình sẽ tương tác với người dùng hoặc các hệ thống khác như thế nào. Đó đều là một phần của tư duy điện toán.


Bài toán

/Vấn đề

Tư duy

điện toán

Thuật

toán

Viết

chương trình

Chương

trình


Hình 1.4. Mô phỏng giai đoạn hình thành một chương trình (trên máy tính) từ một bài toán

Việc nghiên cứu về bộ môn Khoa học máy tính (Computer Science) sớm hay muộn cũng cần phải có kiến thức về lập trình, và chính nhờ Khoa học máy tính mà các khái niệm cốt lõi của tư duy điện toán đã được phát triển. Tư duy điện toán là một cách nhìn nhận vấn đề, bài toán để máy tính có thể giúp chúng ta giải quyết chúng. Khi lập trình, tư duy điện toán bao gồm những việc giải quyết vấn đề chúng ta phải làm trước khi bắt đầu viết mã. Xây dựng các bước và các quy tắc tuân theo, tìm hiểu các trạng thái và hành động được thể hiện và suy nghĩ về cách chương trình sẽ tương tác với người dùng hoặc các hệ thống khác như thế nào. Đó đều là một phần của tư duy điện toán.

Tại các lớp học lập trình, việc quan tâm đến các yếu tố của tư duy điện toán là rất hữu ích. Chẳng hạn, lý luận logic khuyến khích sinh viên đưa ra dự đoán và đưa ra lời giải thích cho dù họ có làm việc với máy tính hay không. Phân rã giúp sinh viên chia nhỏ các vấn đề lớn thành các phần nhỏ hơn cho dù họ làm việc một mình hay là một phần của nhóm. Khái quát hóa giúp sinh viên tìm kiếm các mô hình hoặc suy nghĩ về các vấn đề tương tự. Các thuật toán, chìa khóa cho tư duy điện toán đang hoạt động có hệ thống, những bước hoặc quy tắc nào cần phải tuân theo. Và trừu tượng hóa, những gì mà mức độ chi tiết phù hợp cho bài toán, những thông tin nào quan trọng và những gì không liên quan, ít nhất là trong thời điểm hiện tại.

Sinh viên cần tập trung vào việc hiểu (và có thể thực hiện thủ công) các quy trình điện toán, chứ không phải vào các biểu hiện của chúng trong


các ngôn ngữ lập trình cụ thể. Làm quen với các khái niệm thuật toán như luồng điều khiển cơ bản là quan trọng. Ngoài ra, trọng tâm là phát triển các kỹ năng trừu tượng hóa và biểu diễn thông tin, và đánh giá các thuộc tính của các quy trình.

Một vấn đề phải đối mặt trong ngành khoa học máy tính là làm thế nào mà một ngành học hữu ích như vậy lại có thể gặp khó khăn trong việc thu hút sinh viên, bất chấp sự phát triển không ngừng của ngành KTĐT-VT. Trong suốt nhiều năm, mặc dù những người làm trong ngành khoa học máy tính đã nỗ lực hết sức để khẳng định rằng khoa học máy tính không chỉ là “lập trình”, nhưng quan niệm sai lầm rằng cả hai là tương đương nhau vẫn còn. Lập trình không nên là điều cần thiết trong việc giảng dạy tư duy điện toán, cũng như kiến thức về lập trình không cần thiết để chứng tỏ khả năng đọc viết trong khoa học máy tính cơ bản. Lập trình chỉ nên bắt đầu cho tất cả sinh viên sau khi sinh viên đã thực hành đáng kể tư duy điện toán. Cách tiếp cận sư phạm này tương tự như việc dạy số học cơ bản và đọc và viết sơ cấp với ngôn ngữ học và nghị luận. Cần có sự chuẩn bị đáng kể về tư duy điện toán trước khi sinh viên tham gia học lập trình.

Các cơ sở trên khắp Mỹ, Anh và một số quốc gia khác đang xem lại chương trình giảng dạy đại học về bộ môn khoa học máy tính. Nhiều trường đang thay đổi chương trình cho khóa học đầu tiên về khoa học máy tính bao hàm các nguyên lý và khái niệm cơ bản chứ không phải chỉ lập trình. Ví dụ, tại Carnegie Mellon [86], đã sửa lại các chương trình giảng dạy năm thứ nhất để thúc đẩy tư duy điện toán cho các môn học không chính thức.

Tổ chức College Board với sự hỗ trợ của NSF đã thiết kế một khóa học nâng cao (Advanced Placement - AP) bao gồm các khái niệm cơ bản về tính toán và tư duy điện toán (http://csprinciples.org). Năm trường đại học đã thí điểm các phiên bản của khóa học này trong năm 2010: Đại học Bắc Carolina-


Charlotte, UC Berkeley, Đại học Metropolitan Sate của Denver, UC San Diego và Đại học Washington [86].

Khoa Khoa học Máy tính tại Virginia Tech đã cải tạo các vấn đề đầu vào chương trình đại học, tập trung đặc biệt mối quan tâm khoa học máy tính. Họ tổ chức khóa học “Tư duy điện toán” đầu tiên đặt tên là CT4CS (A Computational Thinking course for Computer Science students) [61]. Họ quan niệm khóa học này dựa trên tư duy điện toán để khuyến khích cho lối tư duy phản biện sâu hơn về tính toán. Kết quả muốn đạt được bao gồm tái cấu trúc chuỗi các khóa học lập trình, giới thiệu phương pháp tính toán phương tiện tùy chọn đầu tiên và bổ sung thêm một khóa học phi lập trình tiên quyết trong giải quyết vấn đề.

Đối với sinh viên theo học các khóa học khoa học máy tính nâng cao hơn, bắt đầu với lập trình, thách thức sẽ không còn là học cách suy nghĩ tính toán nữa, mà là học các sắc thái của ngôn ngữ mới, cách mô tả chính thức các phép tính bằng các ngôn ngữ này và trong các khóa học tiếp theo về cách các mô tả như vậy được thực thi trên máy Von Neumann. Đối với những sinh viên không theo đuổi khoa học máy tính cao hơn nữa, nền tảng về tư duy điện toán của họ sẽ mang lại lợi ích đáng kể trong công việc chuyên môn và trong cuộc sống hàng ngày của chính họ. Thật vậy, trong thời đại thông tin này, điều quan trọng là phải có hiểu biết vững chắc về các công dụng và hạn chế của tư duy điện toán.

Trong chương trình đào tạo ngành KTĐT, VT, học phần Kĩ thuật lập trình là một trong những học phần cơ bản dành cho sinh viên (Hình 1.5). Cấu trúc dữ liệu và Thuật toán được xem như là hai yếu tố quan trọng nhất trong lập trình, đúng như câu nói của nói nổi tiếng của ông Niklaus Wirth: “Programs = Data Structures + Algorithms” (Chương trình = Cấu trúc dữ liệu

+ Thuật toán). Việc nắm vững các cấu trúc dữ liệu và các thuật toán là cơ sở để sinh viên tiếp cận với việc thiết kế và xây dựng phần mềm cũng như sử dụng các công cụ lập trình hiện đại [14].

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 02/09/2022