duykhanh471
Member
Đường dẫn bắt đầu: Teach Yourself Computer Science (https://teachyourselfcs.com/)
CẬP NHẬT: Mình thử tìm hiểu thêm thì thấy có khá nhiều vấn đề trong cách định hướng nên quyết định làm thêm mục dưới. Gợi ý của TYCS khá cô đọng, có đôi lúc bị nâng cao quá và ở một số phần mình thấy vẫn chưa cung cấp đủ các phần khác mà có thể bạn cần.
Tham gia cộng đồng tự học trên Discord để cùng trao đổi: Tham gia Máy Chủ Discord Khoa học máy tính! (https://discord.gg/x93EE354PB)
1. Programming
Do bị loạn khi đọc sách nên t đi tìm một hướng tiếp cận khác, là sử dụng lộ trình được một người làm sẵn để học theo, có thể học song song cả bài giảng CS61A lẫn sách (Sẽ được đề cập thêm ở trong tài liệu được để đường dẫn ở đây): Structure and Interpretation of Computer Programs (https://romanbird.github.io/sicp/) (Bao gồm cả Lab với Homework luôn). Lưu ý là sẽ sử dụng Scheme
2. Computer Architecture
Nếu mọi người muốn học thông qua bài giảng trên Youtube thì có một danh sách phát, dưới dạng Recording lại thôi: Computer Systems: A programmer's Perspective (https://www.youtube.com/playlist?list=PLyboo2CCDSWnhzzzzDQ3OBPrRiIjl-aIE)
Một Repository hiếm hoi mà ổn cho cuốn CS:APP: GitHub - Zhenye-Na/CSAPP-Labs:
Computer Systems: A Programmer's Perspective, Lab Assignments Solutions (https://github.com/Zhenye-Na/CSAPP-Labs)
Có một ông trong phần bình luận trên Youtube của bài giảng gợi ý:
For anybody that doesn't want the watch the entire series and have some programming background the most worth while lectures are:
3. Data Structure and Algorithms
Chuyển qua về việc học DSA, cá nhân t thử nhìn qua khóa trên Youtube thì chất lượng khá thấp (Khóa trên Youtube là quay lại bài giảng với sách thì chưa đọc). T tìm cái gì đó dễ tiếp cận với các video được chia bite-sized để dễ tiếp thu thì có bộ video bài giảng của đại học Stanford về môn này, thiên về hướng hiểu thuật toán hơn là sử dụng một ngôn ngữ cụ thể:
Lấy slide bài giảng với các thông tin khác trên repo này: GitHub - AlessandroCorradini/Stanford-University-Algorithms-Design-and-Analysis: Algorithms - Design and Analysis offered by Stanford University (https://github.com/AlessandroCorradini/Stanford-University-Algorithms-Design-and-Analysis)
Luyện tập thì: Solve Algorithms Code Challenges (https://www.hackerrank.com/domains/algorithms) (Hoặc có thể dùng Leetcode nhưng Leetcode có vẻ chuyên cho việc đi phỏng vấn hơn)
4. Toán
Về phần học toán, t đang khá phân vân nên là đây mới là định hướng thôi
Còn một gợi ý khác là học cuốn Math for Computer Science nhưng nó hơi nâng cao so với t nên bỏ qua
5. Cơ sở dữ liệu
Gợi ý của bên trang hướng dẫn là xem bài giảng CS186: CS186Berkeley (https://www.youtube.com/@CS186Berkeley/videos)
Vấn đề là định hướng học từ đâu và học thế nào thì không thấy đề cập trong trang, nên t sẽ bổ sung thêm là:
Còn một số phần khác như Hệ điều hành hay Distributed System thì học sau và sẽ được cập nhật lại
Đi xa hơn nữa, học sâu hơn về các định hướng cụ thể
Ban đầu mình có theo OSSU nhưng nội dung lộ trình khá là nặng, nhưng mình vẫn gợi ý theo Advanced CS của bên họ cho từng mảng mà bạn muốn theo: GitHub - ossu/computer-science:
Path to a free self-taught education in Computer Science! (https://github.com/ossu/computer-science?tab=readme-ov-file#advanced-cs)
CẬP NHẬT: Mình thử tìm hiểu thêm thì thấy có khá nhiều vấn đề trong cách định hướng nên quyết định làm thêm mục dưới. Gợi ý của TYCS khá cô đọng, có đôi lúc bị nâng cao quá và ở một số phần mình thấy vẫn chưa cung cấp đủ các phần khác mà có thể bạn cần.
Tham gia cộng đồng tự học trên Discord để cùng trao đổi: Tham gia Máy Chủ Discord Khoa học máy tính! (https://discord.gg/x93EE354PB)
1. Programming
Do bị loạn khi đọc sách nên t đi tìm một hướng tiếp cận khác, là sử dụng lộ trình được một người làm sẵn để học theo, có thể học song song cả bài giảng CS61A lẫn sách (Sẽ được đề cập thêm ở trong tài liệu được để đường dẫn ở đây): Structure and Interpretation of Computer Programs (https://romanbird.github.io/sicp/) (Bao gồm cả Lab với Homework luôn). Lưu ý là sẽ sử dụng Scheme
2. Computer Architecture
Nếu mọi người muốn học thông qua bài giảng trên Youtube thì có một danh sách phát, dưới dạng Recording lại thôi: Computer Systems: A programmer's Perspective (https://www.youtube.com/playlist?list=PLyboo2CCDSWnhzzzzDQ3OBPrRiIjl-aIE)
Một Repository hiếm hoi mà ổn cho cuốn CS:APP: GitHub - Zhenye-Na/CSAPP-Labs:

Có một ông trong phần bình luận trên Youtube của bài giảng gợi ý:
For anybody that doesn't want the watch the entire series and have some programming background the most worth while lectures are:
- Lecture 10: Program Optimization,
- Lecture 16: System Level IO
- Lecture 20: Dynamic Memory Allocation Advanced Concepts
- Lecture 23: Concurrent Programming
3. Data Structure and Algorithms
Chuyển qua về việc học DSA, cá nhân t thử nhìn qua khóa trên Youtube thì chất lượng khá thấp (Khóa trên Youtube là quay lại bài giảng với sách thì chưa đọc). T tìm cái gì đó dễ tiếp cận với các video được chia bite-sized để dễ tiếp thu thì có bộ video bài giảng của đại học Stanford về môn này, thiên về hướng hiểu thuật toán hơn là sử dụng một ngôn ngữ cụ thể:
Lấy slide bài giảng với các thông tin khác trên repo này: GitHub - AlessandroCorradini/Stanford-University-Algorithms-Design-and-Analysis: Algorithms - Design and Analysis offered by Stanford University (https://github.com/AlessandroCorradini/Stanford-University-Algorithms-Design-and-Analysis)
Luyện tập thì: Solve Algorithms Code Challenges (https://www.hackerrank.com/domains/algorithms) (Hoặc có thể dùng Leetcode nhưng Leetcode có vẻ chuyên cho việc đi phỏng vấn hơn)
4. Toán
Về phần học toán, t đang khá phân vân nên là đây mới là định hướng thôi
- Phần liên quan nhất với CS là toán rời rạc, nên t sẽ bắt đầu trước từ cái này: https://cims.nyu.edu/~regev/teaching/discrete_math_fall_2005/dmbook.pdf
- Chuyển qua học đại số tuyến tính (Linear Algebra): Essence of linear algebra (https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)
Còn một gợi ý khác là học cuốn Math for Computer Science nhưng nó hơi nâng cao so với t nên bỏ qua
5. Cơ sở dữ liệu
Gợi ý của bên trang hướng dẫn là xem bài giảng CS186: CS186Berkeley (https://www.youtube.com/@CS186Berkeley/videos)
Vấn đề là định hướng học từ đâu và học thế nào thì không thấy đề cập trong trang, nên t sẽ bổ sung thêm là:
- Đọc Repo này trên Github để tìm Slide bài giảng các thứ: GitHub - PKUFlyingPig/CS186: Learning materials for UCB CS186: Introduction to Database System (https://github.com/PKUFlyingPig/CS186)
- Tham khảo thêm lộ trình học khóa này (2024): Home (https://cs186berkeley.net/)
- Các dự án trong khóa học: Overview | CS186 Projects (https://cs186.gitbook.io/project)
Còn một số phần khác như Hệ điều hành hay Distributed System thì học sau và sẽ được cập nhật lại
Đi xa hơn nữa, học sâu hơn về các định hướng cụ thể
Ban đầu mình có theo OSSU nhưng nội dung lộ trình khá là nặng, nhưng mình vẫn gợi ý theo Advanced CS của bên họ cho từng mảng mà bạn muốn theo: GitHub - ossu/computer-science:

Last edited: