Tâm sự chuyện không học kiến thức Đại học kĩ càng


(Lê Bảo Châu) #1

Chào các bạn daynhauhoc! Mình đã đi làm 1 năm rồi, trải qua nhiều chuyện xảy ra trong nghề nghiệp IT thì mình có những vấp ngã đầu nghề. Bây giờ mình lẽ liệt kê những kiến thức mình không để tâm khi còn học Đại học để tìm sự đồng cảm, và hậu quả của mình có khi là bài học cho các bạn khác. Vì đây là góc nhìn bản thân mình nên có thể có đúng có sai, mong các bạn đóng góp :slight_smile:

  1. Kiến thức Toán:
    Ở Việt Nam việc học đại cương luôn có ở các trường Đại học, và đa số tân sinh viên chả ai mặn mà mấy cái này mà chỉ học qua môn để làm chuyên ngành. Thì mình cũng trong số đó, cho đến khi năm 3 học các môn Machine Learning, Deep Learning, AI,… Khi đọc sâu các thuật toán là ra những công thức toán học xác suất, tuyến tính,…:cold_face: Nên cảm thấy học như cưỡi ngựa xem hoa vậy. Nhiều bạn nói AI có thư viện hết rồi, gọi ra xài là được. Mình cũng không muốn làm cái này nhưng nghĩ đã xác định đi sâu AI thì chắc không thể gọi chỉ biết xài là được
    Thực trạng học đại cương: Một phần sinh viên mình không thích đại cương vì chưa thấy tầm quan trọng của nó khi còn sinh viên, cho đến khi hiểu rồi thì đã qua độ tuổi học lại cái đó. Lý do cách dạy đại cương trong giáo dục Việt Nam khá chán và không biết truyền tải. Mình học hệ chất lượng cao, nên được học sách đại cương nước ngoài, ngoài ra thầy cô cũng có bản dịch cho mấy đứa yếu quá không hiểu. Mình quyết định lấy cuốn nước ngoài đọc luôn cho ngầu, và khi đối chiếu cuốn bản dịch của thầy cô thì mới thấy cách dạy tụi nước ngoài khác xa. Sách đại cương bên đó cho dù viết như thế nào chỉ nó vẫn lấy tiêu chuẩn “Sách giành cho beginner”, có nghĩa nó nó sẽ giải thích đúng như thằng beginner suy nghĩ: như phần mở đầu hỏi lý do học, phần kiến thức sẽ viết từng step ,ngoài ra phần ứng dụng cuối cùng sẽ nói ứng dụng kiến thức này làm gì. Ví dụ sau chương tích phân nó sẽ ra bài tập dựa các công thức đó để tìm ra công thức tính thể tích hình trụ, hình cầu,… (rồi nghĩ lại SGK 11 ghi một loạt công thức tích phần rồi làm bài tập) Trong khi sách dịch thầy cô chỉ nói ra công thức giải :face_with_raised_eyebrow: và bài tập. Nên tụi sinh viên hay dùng sách tiếng Việt vì ngoài đọc được thì mỏng hơn 1 nửa. Nhưng cái cuốn sách đại cương người ta dày hơn nhưng nó đúng làm người đọc hiểu từng cái một.

  2. Kiến thức OOP:
    Thực sự mình không mất kiến thức khi còn học. Chuyện xảy ra khi mình còn là sinh viên năm nhất khi chỉ mới học lập trình sơ khai. Nói chung lúc đó mình con trẻ trâu, nghĩ kiến thức đại học chỉ là căn bản sao mà đi làm được. Nhà cũng có điều kiện nên có tiền là mua mấy khoá học online về ngẫm, mà toàn mua mấy khoá cao cao như lập trình frontend, backend, mobile cho nó ''thực chiến". Lúc đó không hiểu rằng những thư viện, framework đều dựa trên OOP. Thế là lúc đó chả hiểu method, override, overload,… là gì. Lúc đó cứ làm theo video dạy rồi chạy là ok, nhưng khi tự suy nghĩ làm cái mới thì bó tay. Lúc đó cảm giác đúng là hoang mang, cứ như mình vô dụng vậy. Đến đầu năm 2 mới học OOP mới nhận ra lỗi lầm của mình.
    Thực trạng hiện nay: mình vẫn thấy có nhiều bạn học đến cuối năm rồi mà kiến thức OOP không nắm rõ. Mặc dù có nhiều mô hình khác nhưng những ngôn ngữ thông dụng hiện này đều theo OOP nên việc học là thiết yếu. Một phần nhiều bạn cũng như mình hồi trước, đâm đầu học công nghệ mà không rõ bản chất, khi những khoá học online share trên các group lập trình vô vàn mà không mô tả việc học lập trình đó cần chuẩn bị kiến thức gì trước. Trước mình còn đọc bình luận là “Mình có thể làm web qua Framework mà không cần học OOP trước”, lúc đó chỉ cười trừ đi ra :crazy_face:

  3. Mạng cơ bản
    Đây là sai lầm nhất trong đời, khi mới học mạng thì mình chỉ nghĩ: mình làm Dev nên học mạng cho qua môn thôi. Hơn nữa trường mình không sâu về IT, nên 2 ông thầy dạy mạng thì ông nào cũng nát, dạy đúng kiểu gây thuốc mê sinh viên thế là 1 kỳ qua đứa nào không tự nghiên cứu xác định mù mạng (giờ mình còn chả biết chia IP). Đến khi vô công ty thực tập mới tá hoả ra :scream: nào là vps, dns, proxy,… phải đi hỏi hết anh này sang anh khác, lúc đó mới ngẫm lại biết vậy học mạng cho kĩ cho rồi :frowning:

PS: Đây là 1 số sai lầm mình khi còn học Đại học, còn nhiều thứ lắm nên mình liệt kê mấy cái đầu. Nếu có thể mình viết tiếp phần 2. Cảm ơn các bạn đọc mấy cái xàm xí vừa rồi :yum:


(realphongle) #2

chào a Châu, e đang là sv và e xin góp ý a 1 chút như sau :smile:

  • về kiến thức toán thì nếu học và sau đi làm Dev bình thường thì toán chỉ cần căn bản là được, còn nếu như a đang làm về ML, AI, DL… như a nêu thì bắt buộc a phải giỏi toán chứ không phải học để qua môn,
  • về OOP thì chắc chắc là 1 lập trình viên thì sẽ phải chắc chắn phải học thật chắc nó, nói thật thì em chưa bao giờ học được gì từ lâp trình trên trường cả toàn là e tự học qua mạng cả nếu như không nói là e tự học 100% qua mạng =)), nên cái này phải tự túc hết a ạ

(Hung) #3

Yêu nữa, tình yêu sinh viên không vụ lợi, quy ra tiền như lúc đi làm :kissing_heart:


(Trần Hoàn) #4

“Dev bình thường”…

Mình là dev game, hàng ngày mình vẫn ngồi cùng game designer, suốt ngày tính toán xác xuất và logarit.
Dev nào cũng phải nắm được toán thôi, trừ khi suốt đời làm phần mềm cho sinh viên hoặc mấy cái blog cho các sự kiện ít người truy cập.


(Trinity) #5

dev web thì có dùng toán xác suất đâu nhỉ …


(Văn Dương) #6

Ngày xưa mình cũng lười học toán với giải thuật nên giờ thấy khổ vc. Muốn học hay triển khai thuật toán cũng khó.

Một phần do lười học.
Một phần lớn do các đào tạo không nói lên tầm quan trọng và ứng dụng của kiến thức, nhiều khi còn sai thời điểm đào tạo nên sẽ gặp trường hợp bỏ qua không học hoặc khi sử dụng thì đã quên.

Lập trình thì có mức :

  1. Có sẵn rồi, ốp vào là ăn, chạy được là được -> không cần đại cương.
  2. Làm những cái chưa ai làm được, làm để cho mức 1 ăn thì phải cần.

Nên cần hay không là do bạn xác định bạn muốn ở mức nào.


(realphongle) #7

cái anh chủ thớt ở đây là học toán chuyên sâu để phục vụ cho ML, AI… còn ngành dev có rất nhiều nhánh và mình nói ở đây là mặt bằng chung thì chỉ cần toán căn bản thôi là đủ, không cần phải chuyên sâu toán làm gì


(Lê Bảo Châu) #8
  • Về toán học thì không phải lĩnh vực nào trong IT đều áp dụng. Chỉ có thuật toán thì mình thấy ai giỏi được thì càng tốt vì nó giúp ta tối ưu chương trình hơn, hoặc để hiểu vì sao phải dùng thư viện này để nhanh hơn :rofl:

  • Còn về OOP: nó chung khả năng tự học của mỗi người đều hên xui theo hoàn cảnh. Có thể bạn may mắn học OOP lần đầu kĩ được. Còn mình lúc đầu học các Framework luôn nên đây là sai lầm điên nhất trong đời, mà môn OOP ở trường thực ra thầy cũng giới thiệu qua chơ từ khi biết OOP mình gạt hết các khóa học kia để tập trung tự học OOP luôn. Thực trạng thì nhiều bạn năm đầu đã khoe mình biết code Node.js, React.js,… nhưng hỏi class hay super là gì cũng không rõ. Đây là lỗi nghiêm trọng khi biến ngọn mà không rõ gốc


(Dương Quốc Vương) #9

Cảm ơn những chia sẻ của anh , em năm thi lại ĐH ngành KHMT cũng muốn đi theo hướng đi của anh :grinning:.Hi vọng anh chia sẻ thêm về những sai lầm khi học ĐH của mình để em có thể học hỏi kinh nghiệm :smile:


(Bùi Trung Thông) #10

Ngoài ra mình bổ sung 1 số thứ coi là kiến thức cũng đc, điểm chung của các cty đều cần : ENGLISH, pet project, open source contribute, SOLID principle, logic mindset, Linux OS, thuật toán (geeksforgeeks, hackkerank), design mindset, certificate, join vào big project, …
Về hardskill thì ra trường hay đi làm thì cũng nên luyện tập thường xuyên các điều trên.


(Luu Hoang Vu) #11

Ở góc nhìn bản thân mình.

  • Những kiến thức ở trường hầu hết chỉ là căn bản và " cũ ".
  • Đa phần thầy cô ko thể nào đủ thời gian cầm tay chỉ việc cho bạn được, đa số phải tự tìm tòi là chính.

(realphongle) #13

hiện trạng này không phải chỉ mình anh mà còn nhiều người lắm ạ, những môn như CTDL & GT, OOP thì các sinh viên thường rất ngán và thường thì để thi qua môn, chỉ tập trung chủ yếu vào học làm web và sản phẩm và cắm đầu vào framework =))


(Phương) #14

A ơi cho e hỏi a học trường nào vậy ? E cứ tưởng ML,DL là thạc sĩ mới học chuyên sau chứ a ?


(Phạm Vinh) #15

Đúng vậy bạn, nhưng ML và DL đã bắt đầu được dạy như là học phần bắt buộc (ít nhất là ở KHTN) ở các trường Đại Học rồi. Cá nhân mình chưa học các học phần đó nhưng mình có biết chút ít về ML/DL và mình rút ra được một điều là:

  • ML/DL hay nói rộng hơn là AI thì nó là sự kết hợp giữa các môn như Đại số tuyến tính, Xác suất thống kê, Phương pháp tối ưu và Giải tích. Ngay cả những thuật toán cơ bản nhất cũng phải dùng đến các lý thuyết từ những môn này.

Vậy nên để hiểu và áp dụng mức độ cao các thuật toán AI thì bạn phải có nền toán vững ngay từ ban đầu.


(Phương) #16

z theo a nghỉ việc học AI cần thiết không trong khi các job về AI không nhiều, mặc dù lương cao nhưng vẫn phải đặt thành tưu nhất định có cơ hội được ứng tuyển ?


(Phạm Vinh) #17

Theo xu hướng phát triển thì AI đang được lấy làm trọng tâm chiến lược của các quốc gia, công ty, trường học. Nên với xu hướng chuyển dịch bây giờ thì công việc dành cho AI sẽ bùng nổ trong tương lai. Một phần lý do vì sao công việc AI nước mình hiện nay lại ít thì do ta chưa kịp đào tạo ra nhân lực để cung cấp cho ngành này. Nhưng với các khóa học và các tổ chức dạy AI mọc lên như nấm gần đây cùng với sự quan tâm của các trường đại học thì khoảng 3-4 năm nữa thị trường lao động sẽ khác.


(Nguyễn Hữu Trung) #18

cám ơn bạn rất nhiều , hy vọng sẽ đọc duoc phần 2 , để cho những thằng aptech như mình biết và học cái nó thiếu


(Phương) #19

opp ! AI thì tự học chứ a, e chia sẽ thật nếu có đam mê thì hãy học AI vì AI là job cực kì khó và dành cho các senior hoăc có bằng MASTER là CHÍNH thôi sinh viên đừng NUÔI MỌNG AI làm gì cứ học cái THỊ TRƯỜNG CẦN chứ ĐÚ theo AI thì cạp đất mà ăn nha


(Hung) #20

Ai muốn học AI thì cứ học thôi, học được hay không tuỳ kiến thức, kiên trì, một chút năng khiếu, hay chỉ học vì thấy AI đang là hot trend, hay cảm giác thích nhất thời cũng được. Mình hay người khác không có quyền cấm các bạn trẻ phải nghe lời của mình. Sự học là do các bạn ấy quyết định, lời của tụi mình chỉ có tính tham khảo.

Tuỳ vào thời gian đầu tư cho học tập hay thời gian nghiên cứu, mức độ sâu thế nào. Người mới nhập môn thì có thể hướng dẫn cho người chưa biết gì. Người đã học xong cơ bản có thể hướng dẫn lại cho các bạn nhập môn. Người có các công trình nghiên cứu thì có thể hướng dẫn lại cho các bạn học xong cơ bản. Không cần nhất thiết đã học AI là phải học đến mức Senior hay bắt buộc có bằng Master làm gì cả. Bạn nào ở mức senior gặp nhiều câu hỏi cơ bản hay trả lời nhiều rồi, thì có khi các bạn senior ấy lại lười chỉ lại các bạn muốn học từ con số 0. Mỗi người đều có công đóng góp xây dựng những viên gạch trong ngành AI cả.

Không chỉ AI mà các môn khác, ngành nghề khác cũng vậy.


(Phạm Vinh) #21

Như @hungsteve nói thì mọi ý kiến ở đây chỉ có tính chất tham khảo thôi. Tụi mình giúp các bạn giải đáp thắc mắc dựa trên kinh nghiệm của bọn mình là chính. AI rất khó và cần nhiều đầu tư chứ không phải chỉ cần gọi mấy cái hàm là xong xuôi cả.

Tuy nhiên thì như mình đã nói thì trường mình (KHTN) đã bắt đầu yêu cầu mọi sinh viên CNTT hoàn thành học phần Học Máy bắt đầu từ khoá sau nên sinh viên không muốn cũng bị bắt học :slight_smile:. Mà dù sao thì câu hỏi học AI có phải là đú không và AI dành cho ai thì sẽ câu trả lời sẽ rất dài. Mà mai mình phải thi và mình vẫn chưa có chữ nào trong đầu. :sob:

Mình mong bạn nào có kinh nghiệm về vấn đề này có thể trả lời giùm mình.

p/s: Sao chúng ta không lập một topic riêng để thảo luận về vấn đề này nhỉ? Có vẻ là ý tưởng tốt đấy


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?