Lý thuyết hay thực hành quan trọng hơn?
Gần đây, mình có thấy một cuộc tranh cãi, lộn,… tranh luận khá thú vị giữa các bạn sinh viên về chuyện “Lý thuyết hay thực hành quan trọng hơn?”. Có bạn bảo “Phải vững lý thuyết thì mới giỏi được”, có bạn đáp lại “Code nhiều là giỏi chứ cần vẹo gì ...
Gần đây, mình có thấy một cuộc tranh cãi, lộn,… tranh luận khá thú vị giữa các bạn sinh viên về chuyện “Lý thuyết hay thực hành quan trọng hơn?”.
Có bạn bảo “Phải vững lý thuyết thì mới giỏi được”, có bạn đáp lại “Code nhiều là giỏi chứ cần vẹo gì lý thuyết”, có người quăng gạch “anh tự học code, tự làm theo tutorial chứ có cần học lý thuyết gì đâu, vẫn có lương nghìn đô!!”.
Vì nhiều bạn cũng email cho mình hỏi vấn đề tương tự, mình viết bài này để chia sẻ cái nhìn của bản thân. Rốt cuộc lý thuyết hay thực hành quan trọng hơn?? Đọc hết bài sẽ biết!
Nền giáo dục trọng lý thuyết
Có một sự thật đáng buồn là: Nền giáo dục Việt Nam rất coi trọng lý thuyết. Từ cấp 1 đến cấp 3, chúng ta được tống vào đầu một mớ kiến thức. Lên Đại Học, mọi chuyện cũng cũng chẳng khá hơn là mấy.
Đa phần các lý thuyết này khá trừu tượng, khô khan nên sinh viên rất khó tiếp thu. Do học mà không biết cách áp dụng, các lý thuyết này rơi rụng dần. Nhiều bạn sinh viên cảm thấy hoang mang vì không biết “mình học cái này để làm gì!”.
Xét cho cùng, các trường làm vậy là có lý do của họ. Lý thuyết dễ dạy, dễ đọc chép, đỡ tốn công sức của giảng viên. Nắm rõ lý thuyết, hiểu rõ bản chất vấn đề, bạn có thể áp dụng trong nhiều hoàn cảnh. Tuy nhiên, vốn sinh viên đã không hiểu, không thích lý thuyết thì làm sao có thể đem ra mà áp dụng cho được?
Sinh viên phải đau khổ mà học lý thuyết thế nàyVậy thì ta đi… thực hành!
Có một câu nói vui thế này:
1 2 3 4 |
Trên lý thuyết, lý thuyết rất gần với thực tế. Còn trên thực tế, lý thuyết khác xa thực tế. |
Thực hành chính là cách áp dụng lý thuyết vào thực tế. Lý thuyết vốn trừu tượng khó hiểu, nhưng thực hành thì rất rõ ràng cụ thể, giúp ta nắm vũng lý thuyết hơn.
Cách học code nhanh nhất chính là… bắt tay vào code. Ngày xưa, khi muốn học Spring, mình mất 2 tuần ngồi đọc cuốn “Spring in Action” mà chả thu được gì. Bây giờ, do đã có kinh nghiệm, khi mình muốn học Android, thay vì ngồi đọc từ đầu đến cuối một cuốn sách Android để nắm rõ “lý thuyết”, mình sẽ code theo demo, sau đó nghịch ngợm sửa code để mở rộng thêm.
Trong ngành lập trình, thực hành là người bạn tốt của lập trình viên. Ta thấy được code chạy như thế nào, gửi nhận dữ liệu ra sao, thấy được chương trình làm những gì. Ta có thể tạo ra được sản phẩm để khoe bạn bè, cảm thấy hứng khởi hơn đống lý thuyết khô khan nhiều.
Hãy là những người đầu tiên đăng ký vé Early Bird từ 01/04 – 15/04 với giá ưu đãi chỉ còn 150kHiện tại, một số trường cao đẳng, trường nghề dạy lập trình có lượt bớt lý thuyết và tập trung vào thực hành hơn. Cách làm này tỏ ra khá hiệu quả, bằng chứng với là nhiều bạn có khả năng code, ra trường vẫn có thể tìm được việc làm, không cần bằng đại học.
Nhưng thực hành không phải là tất cả…
Quá chăm chăm vào thực hành mà bỏ dở lý thuyết sẽ biến bạn thành thợ code, chỉ làm mà không hiểu. Đó cũng là lý do đôi khi các bạn tự học lập trình thường gặp khó khăn hơn các bạn tốt nghiệp một chút, vì có thể họ bị hổng một số kiến thức, lý thuyết cơ bản.
Ngoài ra, có những lúc bắt buộc phải nắm rõ lý thuyết. Muốn học cao, tìm hiểu những vấn đề phức tạp, bạn phải có lý thuyết và nền tảng tốt. Giả sử bạn học Machine Learning mà không có lý thuyết về toán rời rạc, xác xuất thông kê xem, vỡ mồm ngay.
Các thầy cô nói cũng có phần đúng: Vững lý thuyết thì thực hành rất dễ. Ví mình đã rành lý thuyết về RestAPI, giờ mình có thể viết Rest API bằng C#, Java, Python, và gọi RestAPI từ web, mobile, win app. Mình đã rành lý thuyết về OOP thì có thể code OOP trong Java, C++, C#, JavaScript.
Học như thế nào cho đúng
Hãy học lý thuyết song song với thực hành. Học một ít lý thuyết để hiểu sơ nó. Nếu chưa hiểu thì cứ để đấy, thực hành xong quay lại. Ví dụ như với AJAX, trước đây mình đọc lý thuyết mà ko hiểu gì. Sau khi code với nó nhiều mình đã hiểu dần, xem lại lý thuyết để bổ sung lỗ hổng là đủ.
Thực hành là bạn bè của lý thuyết, nâng đỡ cho lý thuyết. Áp dụng lý thuyết vào thực hành. Vừa code vừa ngẫm nghĩ nguyên lý hoạt động, xem lý thuyết đấy áp dụng vào chỗ nào chỗ nào.
Phải vững lý thuyết mới giỏi được, điều này không sai! Nhưng nếu cứ cắm đầu vào học lý thuyết thì trước sau gì bạn cũng sẽ quên mất. Cần dành thời gian cho thực hành, sau đó mới quay lại lý thuyết để kiểm nghiệm.
Tất nhiên, sau khi đã vững lý thuyết, ta cần thực hành nhiều để tích lũy kinh nghiệm. Có những thứ không bao giờ có trong lý thuyết, chỉ có trải qua thời gian dài tích lũy thì ta mới nắm được.
Kết
Hi vọng qua bài viết này, các bạn sinh viên hiểu rõ hơn về tầm quan trọng của lý thuyết và thực hành, đồng thời biết cách cân bằng cả hai.
Còn các bạn thì sao? Các bạn thích lý thuyết hay thực hành hơn. Hãy chia sẻ trong phần comment nhé!
Techtalk via toidicodedao