Lạm bàn về thiết kế chương trình đào tạo KHMT (2)

2. Các hướng dẫn về thiết kế chương trình đào tạo trong ngành tính toán ở Mỹ

Ở Mỹ, từ những năm đầu thập niên 60, bốn tổ chức ACM, IEEE-CS, AIS, và AITP đã thành lập các nhóm chuyên gia bàn thảo và viết các hướng dẫn (guidelines) về thiết kế chương trình đào tạo trong các ngành liên quan đến tính toán. Gần đây, họ cộng tác với nhau để viết. Bạn có thể đọc thêm phần lịch sử trong bản nháp báo cáo tổng kết năm 2005 (viết tắt là CC2005) của họ để biết thêm chi tiết.

Trước hết, tôi tóm tắt lại vài thuật ngữ chính để tránh nhiểu lầm.

  • Tính toán (computing) dùng để chỉ đến các ngành liên quan đến máy tính, cả khoa học lẫn công nghệ.
  • Một trường đại học ở Mỹ có thể có nhiều chương trình đào tạo (degree programs) thuộc về tính toán.
  • Sinh viên học một chương trình thì sẽ có bằng cử nhân (B.S., B.A., thường là 4 năm) hoặc associate degree (thường là 2 năm, một loại cao đẳng), … về chương trình đó.
  • Một khoa có thể có vài chương trình. Ví dụ: một khoa khoa học và kỹ thuật máy tính (computer science and engineering) ở Mỹ thường có hai chương trình: BS về khoa học máy tính (KHMT – computer science), hoặc BS về kỹ thuật máy tính (KTMT – computer engineering).
  • Khi ngành tính toán phát triển rộng như hiện nay, các trường đại học chào hàng càng lúc càng nhiều các chương trình liên quan đến tính toán. CC2005 gút lại 5 loại chương trình đào tạo chính hiện nay: KHMT, KTMT, hệ thống thông tin (HTTT – information systems technology), kỹ thuật phần mềm (KTPM – software engineering), và công nghệ thông tin (CNTT – information technology). Không phải khoa nào, trường nào cũng có đủ nhân vật lực để chào hàng tất cả các CT này, đó là chưa nói đến các CT khác liên quan đến các hướng phát triển mới của khoa học và công nghệ như tính toán sinh học (bio-computing), công nghệ nano, …

Ý nghĩa của các CT này có thể tóm tắt như sau:

  • KTMT: ngành này liên quan đến thiết kế và xây dựng máy tính, các hệ thống máy tính, và các thiết bị liên quan. Hiểu nôm na là nó coi trọng phần cứng.
  • HTTT: ngành này liên quan đến việc thiết kế các hệ thống thông tin cho các cơ quan, tổ chức. Ngành nhấn mạnh vào phần thông tin của CNTT và thường được các khoa kinh doanh (business) dạy. Các chương trình kiểu hệ thống thông tin quản trị (management information systems hay MIS) là thuộc diện này.
  • KTPM: ngành này đặt trọng tâm ở việc thiết kế, phát triển, bảo trì phần mềm và các chu trình làm việc liên quan đến phần mềm. Có thể hiểu nôm na rằng KTMT tương đương với ngành xây dựng, và KTPM tương đương với ngành kiến trúc.
  • CNTT: trái với HTTT, ngành CNTT chú trọng vào phần công nghệ. Các doanh nghiệp và các tổ chức tư nhân và nhà nước hiện nay đều cần có một phòng hay một ban IT, với các nghiệp vụ liên quan đến cài đặt mạng, bảo trì máy, cập nhật phần mềm chống worms, virus, đặt tường lửa, v.v. Ngành này đang phát triển mạnh vì nhu cầu rất thực tế này.
  • KHMT: đây là ngành rộng nhất của tính toán. Các chủ đề của ngành này có thể nói là bao quát toàn bộ những thứ liên quan đến tính toán, từ cấu trúc máy tính đến các hệ thống thông minh, người máy, đến thuật toán và lý thuyết tính toán. Bốn phạm trù làm việc chính của các nhà khoa học máy tính bao gồm: (a) thiết kết và hiện thực phần mềm, (b) sáng tạo phương thức mới để dùng máy tính (ví dụ sáng tạo WWW, Internet, …), (c) phát triển các phương pháp hiệu quả để giải quyết các bài toán liên quan đến tính toán (giải bài toán quy hoạch tuyến tính, các phương pháp tối ưu, sáng tạo thuật toán tìm đường trên mạng, sắp xếp, v.v.), và (d) sáng tạo các mô hình tính toán mới và các thuật toán cho chúng (tính toán DNA, tính toán lượng tử, …)

CC2005 chỉ là một bản giới thiệu tổng quan. Các hướng dẫn cụ thể về thiết kế chương trình đào tạo cho từng ngành thì được viết thành các bản báo cáo riêng: CS2001 cho KHMT, IS2002 cho HTTT, SE2004 cho KTPM, CE2004 cho KTMT, và IT2005 cho CNTT. Các báo cáo này được cập nhật liên tục sau khi được góp ý của giới chuyên môn, cho nên thời điểm của các báo cáo có thể khác nhau (2001, 2002, 2004, 2005) tùy theo tình trạng hiện hành.

Trong 5 phân ngành này, thì KHMT vẫn là ngành phổ biến nhất và sinh viên ngành này có khả năng đáp ứng cao nhất cho thị trường việc, nên tôi sẽ đi sâu vào báo cáo CS2001 thay vì lướt qua tất cả các báo cáo. CS2001 là một tài liệu gần 250 trang được đúc kết bở rất nhiều các chuyên gia trong ngành. Tôi chỉ xin trích vài điểm liên quan đến ý tưởng chính của bài viết này.

CS2001 có một bảng liệt kê rất cụ thể các môn học trong ngành mà chúng ta rất cần để thiết kết CT của mình. Trước hết, CS2001 liệt kê toàn bộ các vùng kiến thức (areas of knowledge) của KHMT. Mỗi vùng kiến thức lại có nhiều đơn vị (units) khác nhau. Và mỗi đơn vị có nhiều đề tài (topics) khác nhau. Mỗi một đề tài thường là cần vài lớp: giới thiệu, chuyển tiếp, và vài lớp cấp cao (advanced).

Tôi liệt kê các vùng kiến thức cơ bản và vài ví dụ về các đơn vị trong chúng. Các bạn tham khảo CS2001 để biết chi tiết.

  1. Các cấu trúc rời rạc (discrete structures): có 6 đơn vị như “hàm số, tập hợp, và quan hệ”, “căn bản logic”, “đồ thị và cây”, “xác suất rời rạc”, …
  2. Cơ bản về lập trình (programming fundamentals): có 5 đơn vị như “các cấu trúc trong lập trình”, “cơ bản cấu trúc dữ liệu”, …
  3. Giải thuật và độ phức tạp (algorithms and complexity): có 11 đơn vị như “căn bản về phân tích thuật toán”, “thuật toán phân bố”, “căn bản lý thuyết tính toán”, “lý thuyết automata”, …
  4. Cấu trúc và tổ chức máy tính (architecture and organization): có 9 đơn vị như “logic và các hệ thống số”, “cấu trúc máy tính”, …
  5. Hệ điều hành (operating systems): có 12 đơn vị như “tổng quan về OS”, “nguyên tắc OS”, …
  6. Tính toán trên mạng (net-centric computing): có 9 đơn vị như “truyền thông và mạng”, “bảo mật mạng”, …
  7. Các ngôn ngữ lập trình (programming languages): có 11 đơn vị như “tổng quan về ngôn ngữ lập trình”, “máy ảo”, …
  8. Tương tác người-máy (human-computer interaction): có 8 đơn vị như “xây dựng giao diện người dùng”, “xây dựng phần mềm hướng đến người dùng”, …
  9. Đồ họa và tính toán thị giác (graphics and visual computing): có 11 đơn vị như “cơ bản đồ họa”, “hệ thống đồ họa”, “hoạt hình máy tính”, …
  10. Các hệ thống thông minh (intelligent systems): có 10 đơn vị như “các vấn đề cơ bản”, “tìm kiếm”, “xử lý ngô ngữ tự nhiên”, …
  11. Quản trị thông tin (information management): có 14 đơn vị như “các hệ thống cơ sở dữ liệu”, “thiết kế CSDL quan hệ”, …
  12. Các vấn đề xã hội và nghề nghiệp (social and professional issues): có 10 đơn vị như “lịch sử ngành tính toán”, “các ngữ cảnh xã hội của tính toán”, “sở hữu trí tuệ”, …
  13. Kỹ thuật phần mềm (software engineering): có 12 đơn vị như “thiết kết phần mềm”, “dùng APIs”, “các chu trình phần mềm”, …
  14. Các khoa học tính toán và phương pháp số (computational science and numerical methods): có 4 đơn vị như “phân tích số”, “vận trù học”, …

Với khối kiến thức khổng lồ như thế, chọn lựa và thiết kết một CT đào tạo hiển nhiên không phải dễ dàng. Lần tới tôi sẽ viết tiếp về bộ khung của một CT trong KHMT và các cách tiếp cận hiện nay.

Chủ đề : Giáo dụcBookmark the permalink. Trackbacks are closed, but you can post a comment.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>