thảo luận Nhật ký học lập trình của - Ngày Được Tự Do

Cái topic của bác HoanqDanq khá hay và đã truyền cho mình cảm hứng để lập topic này. Mình sẽ viết nhật ký học code của mình ở đây cho đến lúc mình xin được việc làm, được đi làm ở công ty cùng các kỹ sư IT giỏi.

Mình chưa có lộ trình học cụ thể gì cả. Nên thời gian đầu mình sẽ học các môn cơ sở của IT là Cấu trúc dữ liệu và giải thuật trên C++

Night 1: vừa đi làm về, có ý tưởng lập luôn topic này chưa có kế hoạch, chắc mình sẽ code bài tập thuật toán dễ trước.

Night 2: Học về lý thuyết đồ thị , chép lại các từ định nghĩa về các loại đồ thị, tính chất của đồ thị. Tìm từ tiếng Anh của nó chép lại để sau google cho dễ. Mình học hơi chậm chắc mỗi ngày học 1 ít thui

Night 3: Vẫn tiếp tục nghiên cứu về đồ thị.

Night 4: Vẫn tiếp tục nghiên cứu về đồ thị.

Night 5: Vẫn tiếp tục nghiên cứu về đồ thị.

Night 6: Tìm hiểu về kiểu cấu trúc dữ liệu heap.

Night 7: Làm bài tập về Heap

Night 8: Tìm hiểu về Segment Tree

Night 9: Tìm hiểu OOP

Night 10: đi làm về buồn ngủ quá nên đi ngủ

Night 11: Tìm hiểu thuật toán Dijkstra

Nigh 12: Làm bài tập về Dijkstra

Night 13: Tìm hiểu thuật toán Bellman Ford và Floyd Warshall

Night 14: Python OOP

Night 15: Luyện tập mấy bài thuật toán đơn giản

Night 16: Học Minimum Spanning Tree, đang học tiếp đến Kruskal thì phải search đọc Union-Find Disjoint Sets @@

Night 17: Nay có mở sách nhưng bài tập khó quá không học được mấy, rồi lướt mạng, dạo này chểnh mảng quá

Night 18: Nay học lại Union-Find Disjoint Sets @@

Night 19: Làm bài tập thuật toán tổng hợp (random problems).

Night 20: Nay có việc bận lên lại phải nghỉ

Night 21: Học toán

Night 22: Tìm hiểu thuật toán LCA, RMQ

Night 23: Làm bài tập

Night 24: Làm bài tập

Night 25: Làm bài tập

Night 26: Làm bài tập

Night 27: Thuật toán Krusal

Night 28: Hết chương 3 PythonOOP, hết chương 1 thực hành Django cơ bản
Mọi người có gì vào trợ giúp mình nhé.

Night 29: Hết chương 5 thực hành Django cơ bản, học được tạo page Login, Logout, Signup (do Django hỗ trợ hết nên tạo cần ít code há)

Night 30: Nhậu

Night 31: Ăn tất niên 29 tết

Night 32: Ăn tết (30 tết)

Night 33: Ăn tết (01 tết)

Night 34: Ăn tết (02 tết)

Night 35: Học xong quyển Django cơ bản

Night 36: Làm bài tập thuật toán ( nay học đc có 2h, mất động lực quá :( )

Night 37: học xử lý array https://ideone.com/0oBkKJ

Night 38: Nay mình không học :(, lỗi của mình
Wz51zuD.png

Night 39: Giải được mỗi 1 bài đồ thị
ZBtnCkk.png
 

Attachments

  • 1611948511557.png
    1611948511557.png
    270.6 KB · Views: 185
Last edited:
Em cũng trái ngành như bác. Từ kinh nghiệm của em thì như thế này, bác học theo khoá nào cũng được , trên youtube rất nhiều. Học đủ làm 1 project nhỏ, có backend( express, nestjs) front end( react, angular). Mất tầm 3 tháng. Rồi vào công ty xin thực tập intern. 3 tháng nữa. 6 tháng. Bác có cái sờ được, cầm được. Thuật toán bác học sau cũng được. Mình đi sau, lại đi chậm, thì tận dụng tối đa các cơ hội có thể có.
 
Night 2: Học về lý thuyết đồ thị , chép lại các từ định nghĩa về các loại đồ thị, tính chất của đồ thị. Tìm từ tiếng Anh của nó chép lại để sau google cho dễ. Mình học hơi chậm chắc mỗi ngày học 1 ít thui
 
Mình cũng tự học, khuyên bác đừng học toán trước làm gì cả.
Đi thẳng vào ngôn ngữ C luôn, làm mấy bài dễ trước như tính tổng, xác định số nguyên tố, UCLN, BCLN... cho quen cách sử dụng các lệnh rẽ nhánh và vòng lặp. Những thứ như con trỏ, tham chiếu, cấp phát động tĩnh, stack,heap chưa hiểu sâu cũng dc. Làm bước này để lấy cảm hứng học tập đã.
Sau đó đi vào kiến trúc máy tính, tìm hiểu qua qua về cpu, ram hoạt động ntn. Xem cách biểu diễn số nguyên ntn, có thể xem thêm về dấu chấm động, xem bản chất của kiểu dữ liệu string là gì và cách nó đc biểu diễn. Có thể cân nhắc xem qua về ngôn ngữ assembly, cách mà câu lệnh rẽ nhánh, vòng lặp làm việc, cách hàm truyền tham số hay trả về kết quả ntn...
Tiếp là quay lại C đọc các tài liệu nâng cao , có thể vào mấy trang luyện thuật toán như hackerrank làm mấy bài easy. Bước này là phải hiểu rõ con trỏ, tham chiếu, cấp phát bộ nhớ, truyền tham số bằng giá trị, bằng con trỏ, bằng tham chiếu. Hiểu dc bước này là chuyển sang các ngôn ngữ bậc cao như c# java python javascript... dễ như không, học thêm về hướng đối tượng nữa thôi.
Giờ có thể xem qua về mạng máy tính và hệ điều hành. Mạng máy tính thì trọng tâm là TCP, UDP và IP. Cách VPN, DNS, NAT, DHCP làm việc. Đọc thêm về http protocol, nếu vững phần ngôn ngữ lập trình có thể tìm hiểu qua lập trình socket và làm thử 1 cái http server đơn giản. Hệ điều hành thì tìm hiểu về quản lý tiến trình, I/O , bộ nhớ.
Tiếp thì đọc về CSDL, cứ đọc tạm về sql đã.
Tiếp thì mới luyện về cấu trúc dữ liệu và thuật toán, trong bước này thì mới kết hợp thêm toán.
Giờ là lúc để chọn hướng đi, chọn ngôn ngữ chính, chọn framework, tìm hiểu các công nghệ nâng cao .Mỗi ngày lên letcode, hackerrank làm 1 bài medium là ổn.
 
Trường hợp học trái ngành, chuyển ngành em thấy nên đầu tư ngôn ngữ nhiều hơn là thuật toán.
Chú trọng vào OOP. Sau khi quen với ngôn ngữ và kỹ thuật lập trình rồi bác có thể bắt đầu ôn thuật toán, cách đơn giản nhất là vào các site như codesignal, leetcode để luyện.
Tiên quyết vẫn là phải học được về cơ bản ít nhất một ngôn ngữ lập trình: C++, Java (OOP) em thấy 2 cái này là best choice
 
rồi lại như hoangdang 35t thôi

via theNEXTvoz for iPhone
Tôi tìm lại k thấy thread của bác đó. Xóa rồi hay sao ấy? À thấy rồi, vẫn còn.
Lời khuyên nhỏ cho bạn chủ thread: Học chầm chậm thôi. Kiểu học mỗi ngày một đống nd như bác kia không bền đâu. Học phải kiên trì, lâu dài mới có thành quả. Tôi tự học gần 2 năm rồi và vẫn đang học tiếp.
 
Back
Top