Series Phản Phác Quy Chân – 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ì 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
Sinh viên phải đau khổ mà học lý thuyết thế này

Vậy thì ta đi… thực hành!

Có một câu nói vui thế này:

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.

nhandienidol
Bạn thử dùng kiến thức để viết cái app nhận diện JAV Idol xem, vui phết

Hiệ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.

12

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.

hackathon-hackerrank-720x402

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é!

Advertisements

9 thoughts on “Series Phản Phác Quy Chân – Lý thuyết hay thực hành quan trọng hơn?”

  1. Em chào anh ạ. Em là một người học lập trình. Em có quen biết một vài người bạn. Chúng em học một ngành không chuyên hẳn về công nghệ thông tin. Nhưng cả lại lũ định hướng học lập trình web. Rồi xảy ra một tình trạng như này ạ. Bọn theo học .NET nhưng trong quá trinh học lập trình em thấy tầm quan trọng của kiến thức nền tảng nên dành thời gian lập trình lại ngôn ngữ C/C++, lập trình hướng đối tượng, kỹ thuật lập trình, cấu trúc dữ liệu, giải thuật. Còn các bạn em chuyên tâm học .NET và làm những dự án thực tế về .NET. Bây giờ thì em thấy khả năng .NET của các bạn. Các bạn thì toàn chê em chỉ học lý thuyết. Anh có nhận xét gì về tình huống của em không ạ!!

    Like

  2. Không có cách học tốt nhất, chỉ có cách học phù hợp nhất. Mình thì trí nhớ khá kém nên cứ code đến đâu thì đọc lý thuyết đến đấy. Nhiều khi chả thèm coi documents gì, không rõ cái gì thì lên google hỏi thôi.

    Like

    1. Cách học phù hợp là cách học tốt nhất đấy thôi. Viết chi lòng vòng. Hoàng đã phân tích quá đủ rồi

      Like

      1. Theo bạn thì phân tích này đủ nhưng không phải tất cả mọi người đều nghĩ vậy. Còn nói lòng vòng hay không là quyền của người ta, bạn làm vậy mai mốt ai dám bàn bạc, đóng góp trên đây nữa.
        Cùng 1 vấn đề nhưng mỗi người có 1 trình độ và phương pháp làm việc khác nhau, nên việc học lý thuyết và thực hành thì tùy trường hợp mà tính. Thông thường học kỹ – hiểu sâu ít thực hành vẫn làm được, không hiểu vấn đề làm tới mùa mít cũng không xong. Muốn giỏi thì tùy cơ ứng biến và đừng bị dắt mũi.

        Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s