![]() |
Bài học khi tôi rớt môn PRF192 là gì? |
PRF192 là môn cơ sở lập trình, môn học nhập môn đầu tiên với sinh viên IT tại FPT. Môn này dạy về cách giải quyết vấn đề bằng máy tính, tư duy lập trình hướng thủ tục và cách viết chương trình bằng ngôn ngữ C. Nghe thì có vẻ hoành tráng, nhưng với tôi...PRF192 là cái hố sâu đầu tiên tôi… ngã gục.
Tôi đã rớt PRF192 trong lần đầu học. Và shock hơn là, đó là môn duy nhất tôi từng rớt cho đến thời điểm hiện tại. Nhưng PRF192 không làm tôi ghét lập trình, mà chính nó là lý do khiến tôi học được cách kiên nhẫn, tư duy, và trưởng thành hơn trong cách tiếp cận mọi thứ.
Đây là góc nhìn của một sinh viên từng thất bại ngay từ vạch xuất phát, nhưng lại tìm thấy chính mình qua những dòng code. Kể lại trên blog TruongDevs, để nếu bạn cũng từng rớt môn, từng cảm thấy mông lung, thì yên tâm, bạn không cô đơn đâu!
PRF192 là gì mà khiến tôi choáng tới vậy?
PRF192 viết đầy đủ là Programming Fundamentals, hay còn gọi là Cơ sở lập trình. Môn học này không dạy bạn cách hack NASA, cũng không hướng dẫn build app như trên mạng. Nó dạy những cái căn bản nhất:
- Hiểu cách máy tính làm việc
- Biết cách phân tích bài toán thực tế thành lời giải cho máy hiểu
- Biết cách viết, test, và debug chương trình bằng ngôn ngữ C
Nghe thì có vẻ dễ, nhưng với một sinh viên “chỉ biết mở Word” như tôi hồi đó, thì mọi thứ như tiếng ngoài hành tinh.
Tôi rớt môn đầu tiên trong đời: cảm giác... lạ lắm!
![]() |
Kết quả NOT PASS môn PRF192 quá shock |
Tôi nhớ rõ lúc đó là kỳ đầu tiên, môn đầu tiên. Tôi đã cố gắng lắm, đi học đầy đủ, code cũng chép theo thầy, làm bài tập nhóm nữa. Nhưng đến khi thi thực hành, tôi cứ rối tung mọi thứ lên. Quên khai báo biến, thiếu dấu chấm phẩy, logic thì sai từ vòng lặp đầu tiên.
Đến lúc nhận điểm, cái cảm giác thấy chữ NOT PASS to tướng trong hệ thống FAP nó… thú vị lắm. Căng như dây đàn nhưng rồi cũng bật cười vì nghĩ: “Ủa, vậy là rớt thật hả?”
Lỗi sai của tôi không nằm ở C, mà nằm ở tư duy
Tôi nhận ra rằng vấn đề không phải ở ngôn ngữ C. Mà là tôi chưa có tư duy lập trình.
Tôi học theo kiểu chép bài, nhớ cú pháp, làm cho xong. Trong khi môn này cần mình hiểu được bài toán, phân tích đầu vào đầu ra, chia nhỏ thành các bước rồi mới viết code.
Tư duy đó được gọi là function-oriented design, tức là chia chương trình thành các hàm nhỏ, có tính tái sử dụng, và dễ kiểm thử.
Mà tôi thì… không hiểu gì luôn. Không biết chia hàm sao, biến toàn đặt tên kiểu a
, b
, x
, y
, code toàn 1 file gần 200 dòng. Bảo sao không rớt mới lạ!
Tôi đã học lại như thế nào?
![]() |
Nghiên cứu, học lại môn PRF192 |
Không có gì ngầu ở đây cả. Tôi học lại bằng cách chấp nhận mình dở, và bắt đầu từ những thứ đơn giản nhất:
- Mỗi ngày viết lại 1 bài tập cũ
- Tập đặt tên biến có nghĩa
- Đọc kỹ từng dòng lỗi khi debug
- Hỏi thầy và bạn bè khi không hiểu
- Xem thêm video C cơ bản trên YouTube mỗi tối
Tôi cũng học cách chia nhỏ chương trình thành các hàm, thứ mà hồi đó tôi cứ né. Khi hiểu được cách dùng void
, return
, parameter
, tôi bắt đầu thấy code “mượt” hơn rất nhiều.
Khoảnh khắc đầu tiên chương trình chạy đúng: khó tả
Lần đầu tôi viết một đoạn code tính tổng các số nguyên tố nhỏ hơn n chạy đúng ngay lần đầu, tôi đã hét lên "Ôi trời ơi" giữa phòng học. Mấy bạn kế bên tưởng tôi bị lag.
Cảm giác code chạy đúng sau bao lần lỗi nó sướng hơn được 10 điểm luôn đó. Từ đó tôi nghiện cái cảm giác tự debug, tự sửa code, tự tin dần lên từng ngày.
Qua PRF192, tôi học được nhiều thứ hơn cả lập trình
PRF192 dạy tôi:
- Kiên nhẫn với lỗi
- Biết chấp nhận thất bại và học lại
- Hiểu được sức mạnh của teamwork trong chia sẻ bug
- Và quan trọng nhất: biết cách học một thứ mới từ con số 0
Nếu không rớt môn, tôi có thể vẫn là kiểu sinh viên “học cho qua”. Nhưng cú rớt này khiến tôi phải học để hiểu, học để biết mình đang làm gì, và sau đó tôi không rớt thêm môn nào nữa luôn!
Lời nhắn gửi tới những bạn đang chật vật với môn lập trình đầu tiên
![]() |
Rớt môn thì học lại, miễn không bỏ cuộc là được |
Nếu bạn đang học PRF192, hay bất kỳ môn lập trình nào, và cảm thấy như đi lạc trong rừng cú pháp, đừng nản!
Ai cũng từng bắt đầu từ việc không biết gì cả. Lập trình không phải để khoe ai code hay hơn, mà là để thấy mình hôm nay hiểu hơn hôm qua.
Kết luận
PRF192 từng là "nỗi ám ảnh" đầu tiên trong đời sinh viên của tôi. Nhưng giờ nhìn lại, tôi thấy biết ơn môn này cực kỳ. Không có nó, có lẽ tôi đã không nghiêm túc theo ngành lập trình như bây giờ.
Còn bạn thì sao? Bạn đã từng rớt môn nào chưa? Nếu có, hãy để lại bình luận nhé – vì blog này là TruongDevs, nơi mình chia sẻ tất cả những vấp ngã, bài học, và cả niềm vui nhỏ nhỏ trong hành trình làm Dev của một sinh viên FPT!