Bài viết được dịch từ trang web Techcrunch

Cần phải đối mới cách giảng dạy ngành Khoa học Máy tính
Cần phải đối mới cách giảng dạy ngành Khoa học Máy tính

Hầu hết mọi người, đặc biệt những người ở Thung lũng Silicon, đều nhận thức được rằng hiện nay chúng ta không có đủ lượng kỹ sư phần mềm tốt nghiệp từ các trường đại học. Bộ Lao động Mỹ dự đoán rằng, đến năm 2020 sẽ có khoảng 1.4 triệu việc làm trong lĩnh vực Khoa học Máy tính, nhưng số lượng sinh viên tốt nghiệp chỉ đủ đáp ứng 30% lượng công việc đó. Điều thậm chí còn nan giải hơn, nhưng thường bị bỏ qua, đó là các kỹ sư tốt nghiệp ngành này thường không có trình độ kỹ năng thực tế trong Khoa học Máy tính để đáp ứng cho các công việc. Tại sao ư? Lý do đơn giản là việc trở thành một sinh viên Khoa học Máy tính rất khác việc trở thành một kỹ sư phần mềm ngoài đời thực.

Các khóa học hiện nay dành cho sinh viên Khoa học Máy tính dạy những kiến thức thực hành quan trọng về phát triển phần mềm, nhưng vì chúng được thiết kế xoay quanh mô hình đặc trưng lớp học truyền thống, nên có nhiều khía cạnh nghề nghiệp chúng không thể truyền đạt cho sinh viên được. Không giống như trong các lớp học, các dự án phát triển phần mềm ngoài thế giới thực lớn hơn (về cả thời gian lẫn kích thước) so với những gì mà sinh viên gặp phải trong lớp học. Sinh viên cũng cần phải đạt được một hiểu biết về các code base đang tồn tại trong thực tế để có năng suất cao. Hơn nữa, trong thực tế, quản lý dự án và mối quan hệ giữa các cá nhân có thể có nhiều tác động vào thiết kế phần mềm tương đương các vấn đề về kỹ thuật vậy, và kết quả cuối cùng của các hệ thống được đánh giá bởi sự hài lòng của người dùng chứ không phải là giá trị về mặt kỹ thuật.

Giải pháp tốt nhất cho vấn đề này là nên kết hợp các nền tảng giá trị của giáo dục đại học trong Khoa học Máy tính với thực tiễn của công việc ngoài thực tế, bằng cách kết nối các sinh viên tới cộng đồng mã nguồn mở.

Làm việc trên mã nguồn mở đặt các sinh viên Khoa học Máy tính tại trái tim của ngành công nghiệp phần mềm. Mã nguồn mở cho phép mọi người tham gia làm việc trong sự phát triển, tạo ra cơ sở hạ tầng mới và các thiết kế mà không phải bắt đầu từ con số 0. Và không giống như trong trường học, nơi mà một dự án chỉ nằm trên lý thuyết, hoặc chỉ liên quan đến ngữ cảnh của lớp học đó, một đóng góp mã nguồn mở ngay lập tức tác động lên toàn bộ hệ sinh thái liên quan.

Tham khảo các khóa học lập trình online, onlab, và thực tập lập trình tại TechMaster

Việc giúp cho sinh viên dễ dàng hơn trong việc đóng góp tích cực tới cộng đồng mã nguồn mở là chìa khóa để chuẩn bị cho họ kỹ năng chuyên môn và giúp họ sớm nhận ra tác động mà họ có thể tạo ra lên thế giới này.

Cách tốt nhất để kết hợp mã nguồn mở vào lớp học vượt xa hơn việc chỉ khuyến khích sinh viên trau dồi kỹ năng của họ bằng cách tham gia vào cộng đồng theo một cách nào đó. Thay vào đó, nó được chính thức hóa vào chương trình giảng dạy để tập hợp các giáo viên, sinh viên và các lập trình viên dày dạn kinh nghiệm vào duy trì những dự án mã nguồn mở nổi tiếng, chẳng hạn như MongoDB, Mozilla Open Badge, Ruby on Rails, SocketIO, và một số khác. Ngày nay, hướng tiếp cận này đã được thông qua bởi một số trường đại học, và đã được chứng minh là thành công vì mang lại các lợi ích sau đây:

  • Tiếp cận với các chuyên gia: Không có giáo sư Khoa học Máy tính nào có thể là chuyên gia trong mọi dự án mã nguồn mở được. Bởi vậy, việc đưa các chuyên gia làm dự án vào trong quá trình giáo dục đảm bảo cho sinh viên nhận được những hướng dẫn và phản hồi tốt nhất về công việc của họ. Ví dụ, việc sửa lỗi trong các dự án mã nguồn mở là rất khó, vì hầu hết các lỗi "dễ" đã được sửa cả rồi. Làm việc để sửa những lỗi "khó" dưới sự hướng dẫn của một chuyên gia sẽ cung cấp những kinh nghiệm vô giá mà sinh viên đó không thể có được ở trong lớp học.
  • Làm việc theo nhóm: các sinh viên làm việc trên một dự án, như Ruby on Rails, với tư cách là một đội cùng giải quyết các vấn đề được giao bởi các chuyên gia. Hình thức làm việc nhóm này là kinh nghiệm cần thiết thường bị bỏ qua khỏi chương trình giảng dạy đại học, vì nó khó thực hiện với từng cá nhân riêng lẻ trong lớp học.
  • Tạo ra sự khác biệt: phương pháp tiếp cận giáo trình mã nguồn mở cung cấp cho sinh viên những kinh nghiệm làm việc thực tế trong thế giới thực về sửa lỗi và các công việc sáng tạo khác mà thực sự nâng cao độ ổn định của các dự án mã nguồn mở đó.
  • Tập trung: có lẽ khía cạnh quan trọng nhất là cho phép sinh viên tập trung vào một dự án cụ thể để xây dựng một tập kỹ năng có thể áp dụng đối với các dự án thực tế ngày nay. Cũng giống như các sinh viên ngành y cần phải trải qua một giai đoạn thực tập để áp dụng những kiến thức họ đã học được vào trong thực tế trước khi trở thành bác sĩ, các sinh viên ngành Khoa học Máy tính làm việc trên một dự án cụ thể là đang áp dụng những kỹ năng của họ vào thực tế và thu được những kiến thức chuyên môn vô giá.

Ngoài những lợi ích giáo dục trong việc đưa mã nguồn mở vào trong chương trình giảng dạy đại học, có một tinh thần mã nguồn mở mà sinh viên sẽ nhận được là sự say mê nghiên cứu. Chúng ta hợp tác với nhau và mã nguồn mở là sự hợp tác không biên giới, quy mô, và tập trung vào việc thay đổi mọi thứ. Tôi tin rằng tương lai của giáo dục Khoa học Máy tính là một lớp học không có những bức tường ngăn cách để cho phép sinh viên được đào tạo tốt hơn cho công việc ngày mai.