Hiện nay, chương trình học ngành CNTT có một số môn giúp sinh viên làm quen với viết chương trình như “Lập trình C”, “Cấu trúc dữ liệu”, “Kỹ thuật lập trình”. Với các môn trên sinh viên đã được trang bị các kiến thức lập trình cơ bản, đã được học cả lý thuyết lẫn thực hành. Tuy nhiên, thực tế cho thấy nhiều sinh viên viết chương trình còn yếu vì một số lý do sau:
+ Lập trình là một kỹ năng khó, đòi hỏi sinh viên phải có tư duy tốt về thuật toán. Đây là cái mà nhiều sinh viên bị thiếu. Điều này cũng đem lại sự khó khăn cho giáo viên trong quá trình giảng dạy. Việc cải thiện cần phải có thời gian, không thể tiến hành một sớm một chiều.
+ Một số sinh viên cho rằng chỉ cần học trên lớp là đủ mà không rèn luyện thêm ở nhà. Trong khi đó để nắm vững lập trình, sinh viên cần phải làm nhiều bài tập ở nhà để tích lũy kinh nghiệm. Trên lớp giáo viên chỉ có thể truyền đạt những kiến thức cơ bản. Sinh viên phải tự tham khảo tài liệu để học các kiến thức mở rộng.
+ Một số sinh viên tuy siêng năng nhưng do kiến thức tiếng Anh còn yếu, khi viết chương trình gặp lỗi không thể tự mình sửa lỗi nên dễ dẫn đến chán nản.
+ Các môn lập trình chủ yếu được giảng dạy trong năm thứ hai, trong năm thứ nhất sinh viên mới chỉ được học một môn lập trình căn bản.
II. Một vài giải pháp nâng cao kỹ năng lập trình của sinh viên
Với những khó khăn trên tôi xin đề xuất một số giải pháp có thể giúp nâng cao nâng cao chất lượng của việc dạy và học lập trình.
a) Về phía sinh viên:
Sinh viên cần được hướng dẫn để hiểu được tầm quan trọng của kỹ năng lập trình đối với ngành CNTT. Sinh viên phải nỗ lực làm bài tập ở nhà, ngoài bài tập giáo viên cho trên lớp, cần thực hiện các bài tập trong các tài liệu tham khảo khác để tích lũy kiến thức, đồng thời tạo niềm say mê trong học tập.
Đối với giờ thực hành, để đạt hiệu quả cao, sinh viên cần tích cực làm trước bài tập ở nhà, giờ thực hành tại phòng máy dùng để ôn luyện hoặc nhờ giáo viên giúp đỡ trong việc sửa lỗi chương trình hay giải quyết các vấn đề khó.
Hiện nay, trên mạng Internet có rất nhiều nguồn bài tập bao gồm cả lời giải. Các sinh viên có thể sử dụng nguồn tài liệu này để tham khảo, giải quyết các vướng mắc gặp phải trong quá trình lập trình. Tuy nhiên không nên lạm dụng sao chép mã nguồn mà không hiểu nội dung, cách thức hoạt động của mã nguồn đó.
b) Về phía giáo viên
Khi giảng dạy, ngoài những bài tập trong giáo trình, giáo viên có thể cho một số bài tập có ý nghĩa thực tế, chẳng hạn như lập trình game... Việc tự mình thực hiện được cái bài tập có ý nghĩa giúp sinh viên có niềm vui trong học tập, hiểu được ý nghĩa môn học, tạo động lực cho sinh viên trong học tập.
c) Về phía khoa
Chương trình đào tạo cần được thiết kế hợp lý hơn, nên đưa môn học Lập trình C vào học kỳ 1 năm thứ nhất để sinh viên có đủ thời gian làm quen và tích lũy kinh nghiệm lập trình. Cần bổ sung thêm một số môn học như lập trình hướng đối tượng, lập trình Web, lập trình ứng dụng quản lý là những môn mà sinh viên ham thích sử dụng sau này khi làm việc.
Ngoài ra cần đẩy mạnh các hoạt động ngoại khóa liên quan đến lập trình như tổ chức thi Olympic, thi thiết kế trưng bày các phần mềm mà sinh viên thực hiện được. Xây dựng câu lạc bộ Tin học với các nhóm lập trình, lấy sinh viên khá giỏi làm nòng cốt với sự hướng dẫn của giáo viên.
Trần Minh Văn