Antonius
Mai là mùng một
Chưa hoàn chỉnh, đây mới chỉ là ý tưởng và sẽ còn được cập nhật
Cộng đồng, chưa có nhiều người nên còn ít hoạt động, nhưng chủ kênh (là tui) sẽ vào check ít nhất 1 lần mỗi ngày để trả lời câu hỏi của mn
Nếu bạn muốn cùng học trên Discord thì có thể truy cập: Cộng đồng - Khu học mở (https://daihocmo.github.io/cong-dong/)
Sẽ có kênh "Khoa học máy tính"!
Tự học Khoa học Máy Tính
Trang này về cơ bản là bản Tiếng Việt của TYCS, được đổi các sách giáo trình từ Tiếng Anh về Tiếng Việt.
Tự nhiên nghĩ ra ý tưởng này nên ngồi thử tổng hợp chơi.
Về cơ bản chương trình này sẽ là: Các môn học chính của TYCS và sử dụng các giáo trình/video bài giảng Tiếng Việt.
Có thể bạn sẽ cảm thấy là bạn nên học bằng Tiếng Anh, tùy bạn, bạn có thể đọc giáo trình Teach Yourself Computer Science (https://teachyourselfcs.com/) và học. Cá nhân mình thích học bằng Tiếng Việt cho một số môn như thế này. Mình sẽ cập nhật tiếp các danh sách video bài giảng sau.
Một series khởi đầu cho việc học mà mình gợi ý là Khoa Học Máy Tính - Tri Thức Nhân Loại
Lập trình
Hầu hết các chương trình đại học cho ngành KHMT đều bắt đầu với phần “giới thiệu” về lập trình máy tính. Các khóa học tốt nhất cho chủ đề này không chỉ giúp cho người mới học, mà còn rất tốt chho những người đã bỏ lỡ các khái niệm và mô hình lập trình khi họ mới học viết mã.
Nếu bạn chưa biết một cái gì về lập trình, hãy thử bắt đầu bằng khóa CS50 Vietsub trên Youtube.
Dù vậy, nếu có thể, mình gợi ý cuốn Cấu trúc và diễn giải các chương trình máy tính (SICP). Nó được cung cấp trực tuyến miễn phí dưới dạng sách điện tử + bài giảng SICP của Brian Harvey (cho khóa học 61A tại Berkeley). Các bài giảng này được trau chuốt hơn và hướng đến đối tượng là sinh viên mới tốt hơn so với các bài giảng của MIT. Bạn nên học qua ít nhất ba chương đầu tiên của SICP và làm các bài tập. Để thực hành thêm, hãy thử giải quyết một loạt các bài tập về lập trình nhỏ trên exercism.io.
Kiến trúc máy tính
Khó kiếm được cuốn nào ổn v, nên để tạm đây cuốn BÀI GIẢNG KIẾN TRÚC MÁY TÍNH
Không thì chiến CS:APP nha
Thuật toán và cấu trúc dữ liệu
Có hàng trăm cuốn sách ngoài kia, nhưng cuốn sách mà mình gợi ý là cuốn Lập trình và giải thuật của thầy Lê Minh Hoàng.
Để thực hành, bạn có thể giải các bài toán trên Leetcode. Chúng là những vấn đề thú vị với các giải pháp và thảo luận đi kèm. Họ cũng giúp bạn kiểm tra sự tiến bộ so với các câu hỏi thường được sử dụng trong các cuộc phỏng vấn kỹ thuật tại các công ty phần mềm cạnh nổi tiếng. Chúng tôi khuyên bạn nên giải quyết khoảng 100 bài toán leetcode ngẫu nhiên như một phần của việc nghiên cứu và học tập.
Toán học cho Khoa học Máy tính
Theo một cách nào đó, khoa học máy tính là một nhánh của toán học ứng dụng đã phát triển quá nhanh. Mặc dù nhiều kỹ sư phần mềm cố gắng bỏ qua chủ đề này ở các mức độ khác nhau, chúng tôi khuyến khích bạn nắm bắt nó bằng cách nghiên cứu trực tiếp. Nếu học được thành công sẽ mang lại cho bạn một lợi thế cạnh tranh to lớn so với những người không học.
Lĩnh vực toán học có liên quan nhất đối với KHMT được gọi rộng rãi là “toán học rời rạc”, trong đó “rời rạc” đối lập với “liên tục” và là một tập hợp các chủ đề toán học ứng dụng thú vị ngoài giải tích. Với định nghĩa mơ hồ như vậy, sẽ không có nhiều ý nghĩa nếu cố gắng học mọi thứ về “toán học rời rạc. Một mục tiêu thực tế hơn là xây dựng sự hiểu biết về logic, tổ hợp và xác suất, lý thuyết tập hợp, lý thuyết đồ thị, và một chút lý thuyết số thông báo về mã hoá. Đại số tuyến tính là một lĩnh vực đáng nghiên cứu bổ sung, do tầm quan trọng của nó trong đồ họa máy tính và học máy.
Điểm bắt đầu mà mình gợi ý cho toán học rời rạc là cuốn Giáo trình toán rời rạc - Tổ hợp và đồ thị của Nguyễn Hoàng Thạch. Bạn có thể học cuốn của Nguyễn Hoàng Thạch trước, rồi sau đó đọc quyển GIÁO TRÌNH TOÁN RỜI RẠC của NGUYỄN ĐỨC NGHĨA và NGUYỄN TÔ THÀNH. Về video bài giảng thì mình gợi ý danh sách phát Toán rời rạc của TITV
Đối với đại số tuyến tính, bạn có thể xem danh sách phát Đại số tuyến tính của Giang Le hoặc đọc cuốn Giáo trình đại số Tuyến tính của Bùi Xuân Diệu.
Nâng cao, học hết ba học phần Toán cao cấp thông qua 3 cuốn Giáo trình toán cao cấp tập 1, 2, 3 bởi Nguyễn Đình Trí, Tạ Văn Đĩnh và Nguyễn Hồ Quỳnh.
Hệ điều hành
Bạn có thể học cuốn GIÁO TRÌNH HỆ ĐIỀU HÀNH (OPERATING SYSTEM) được biên soạn bởi Ninh Xuân Hải và Huỳnh Trọng Thưa hoặc xem bài giảng của TITV
Mạng máy tính
Thực tế hiện nay có rất nhiều kỹ thuật phần mềm nằm trên máy chủ web và máy khách, nên một trong những lĩnh vực có giá trị tức thì của khoa học máy tính là mạng máy tính. Các sinh viên tự học của chúng tôi, những người nghiên cứu mạng máy tính một cách có phương pháp thấy rằng cuối cùng họ cũng hiểu các thuật ngữ, khái niệm và giao thức mà họ đã nhìn thấy trong trong nhiều năm.
Cuốn sách yêu thích của chúng tôi về chủ đề này là BÀI GIẢNG MẠNG MÁY TÍNH được biên soạn bởi ThS. Nguyễn Xuân Anh.
Bạn cũng có thể học Khóa học Giới thiệu về Mạng Máy tính đã được cung cấp trên nền tảng MOOC Lagunita của trường Stanford.
Cơ sở dữ liệu
Học Bài giảng cơ sở dữ liệu của TORI và tải tài liệu các thứ trên trang Bài giảng cơ sở dữ liệu
Gợi ý người tự học nói chung tránh sách giáo khoa và bắt đầu với các video CS 186, đây là khóa học cơ sở dữ liệu của Joe Hellerstein tại Berkeley, sau đó mới tiến sang đọc giáo trình hay tài liệu khác.
Một tài liệu cụ thể rất đáng đề cập đối với sinh viên mới l Kiến trúc của một hệ thống cơ sở dữ liệu. Tài liệu này cung cấp một cái nhìn độc đáo nhằm bao quát về cách hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) hoạt động. Nó sẽ là một nền tảng có ích để các bạn nghiên cứu thêm.
Ngôn ngữ và Trình biên dịch
Hầu hết các lập trình viên học ngôn ngữ, trong khi hầu hết các nhà khoa học máy tính học về ngôn ngữ. Điều này mang lại cho nhà khoa học máy tính một lợi thế khác biệt so với lập trình viên, ngay cả trong lĩnh vực lập trình! Kiến thức của họ khái quát; họ có thể hiểu hoạt động của một ngôn ngữ mới sâu hơn và nhanh hơn so với những người chỉ đơn thuần học một ngôn ngữ cụ thể.
Gợi ý: giáo trình Crafting Interpreters của Bob Nystrom. Nó được tổ chức tốt, mang tính thư giãn cao và rất phù hợp với những người có mục tiêu chính là hiểu rõ hơn về ngôn ngữ và công cụ cho ngôn ngữ của họ. Chúng tôi khuyên bạn nên dành thời gian để giải quyết toàn bộ vấn đề, thử bất kỳ "thách thức" nào mà bạn quan tâm.
Hệ thống phân tán
Bạn có thể đọc Tìm hiểu cơ bản về hệ phân tán
Cuốn sách gợi ý là của Martin Kleppmann Thiết kế các ứng dụng chuyên sâu về dữ liệu. Cuốn sách này tốt hơn nhiều so với một cuốn sách giáo trình truyền thống, rất dễ đọc, và được thiết kế cho những người thực hành, tránh được việc tìm hiểu quá sâu và học thuật.
Học chay cs r cũng quên, đi làm jun đến sen thì éo ai cần.
bác nên thêm số năm exp/level/impact to org để mà đánh vào các thứ cần tìm hiểu phù hợp, tránh tự thẩm du kiến thức mà éo đc đem đi va chạm
Cộng đồng, chưa có nhiều người nên còn ít hoạt động, nhưng chủ kênh (là tui) sẽ vào check ít nhất 1 lần mỗi ngày để trả lời câu hỏi của mn

Nếu bạn muốn cùng học trên Discord thì có thể truy cập: Cộng đồng - Khu học mở (https://daihocmo.github.io/cong-dong/)
Sẽ có kênh "Khoa học máy tính"!
Tự học Khoa học Máy Tính
Trang này về cơ bản là bản Tiếng Việt của TYCS, được đổi các sách giáo trình từ Tiếng Anh về Tiếng Việt.
Tự nhiên nghĩ ra ý tưởng này nên ngồi thử tổng hợp chơi.
Về cơ bản chương trình này sẽ là: Các môn học chính của TYCS và sử dụng các giáo trình/video bài giảng Tiếng Việt.
Có thể bạn sẽ cảm thấy là bạn nên học bằng Tiếng Anh, tùy bạn, bạn có thể đọc giáo trình Teach Yourself Computer Science (https://teachyourselfcs.com/) và học. Cá nhân mình thích học bằng Tiếng Việt cho một số môn như thế này. Mình sẽ cập nhật tiếp các danh sách video bài giảng sau.
Một series khởi đầu cho việc học mà mình gợi ý là Khoa Học Máy Tính - Tri Thức Nhân Loại
Lập trình
Hầu hết các chương trình đại học cho ngành KHMT đều bắt đầu với phần “giới thiệu” về lập trình máy tính. Các khóa học tốt nhất cho chủ đề này không chỉ giúp cho người mới học, mà còn rất tốt chho những người đã bỏ lỡ các khái niệm và mô hình lập trình khi họ mới học viết mã.
Nếu bạn chưa biết một cái gì về lập trình, hãy thử bắt đầu bằng khóa CS50 Vietsub trên Youtube.
Dù vậy, nếu có thể, mình gợi ý cuốn Cấu trúc và diễn giải các chương trình máy tính (SICP). Nó được cung cấp trực tuyến miễn phí dưới dạng sách điện tử + bài giảng SICP của Brian Harvey (cho khóa học 61A tại Berkeley). Các bài giảng này được trau chuốt hơn và hướng đến đối tượng là sinh viên mới tốt hơn so với các bài giảng của MIT. Bạn nên học qua ít nhất ba chương đầu tiên của SICP và làm các bài tập. Để thực hành thêm, hãy thử giải quyết một loạt các bài tập về lập trình nhỏ trên exercism.io.
Kiến trúc máy tính
Khó kiếm được cuốn nào ổn v, nên để tạm đây cuốn BÀI GIẢNG KIẾN TRÚC MÁY TÍNH
Không thì chiến CS:APP nha
Thuật toán và cấu trúc dữ liệu
Có hàng trăm cuốn sách ngoài kia, nhưng cuốn sách mà mình gợi ý là cuốn Lập trình và giải thuật của thầy Lê Minh Hoàng.
Để thực hành, bạn có thể giải các bài toán trên Leetcode. Chúng là những vấn đề thú vị với các giải pháp và thảo luận đi kèm. Họ cũng giúp bạn kiểm tra sự tiến bộ so với các câu hỏi thường được sử dụng trong các cuộc phỏng vấn kỹ thuật tại các công ty phần mềm cạnh nổi tiếng. Chúng tôi khuyên bạn nên giải quyết khoảng 100 bài toán leetcode ngẫu nhiên như một phần của việc nghiên cứu và học tập.
Toán học cho Khoa học Máy tính
Theo một cách nào đó, khoa học máy tính là một nhánh của toán học ứng dụng đã phát triển quá nhanh. Mặc dù nhiều kỹ sư phần mềm cố gắng bỏ qua chủ đề này ở các mức độ khác nhau, chúng tôi khuyến khích bạn nắm bắt nó bằng cách nghiên cứu trực tiếp. Nếu học được thành công sẽ mang lại cho bạn một lợi thế cạnh tranh to lớn so với những người không học.
Lĩnh vực toán học có liên quan nhất đối với KHMT được gọi rộng rãi là “toán học rời rạc”, trong đó “rời rạc” đối lập với “liên tục” và là một tập hợp các chủ đề toán học ứng dụng thú vị ngoài giải tích. Với định nghĩa mơ hồ như vậy, sẽ không có nhiều ý nghĩa nếu cố gắng học mọi thứ về “toán học rời rạc. Một mục tiêu thực tế hơn là xây dựng sự hiểu biết về logic, tổ hợp và xác suất, lý thuyết tập hợp, lý thuyết đồ thị, và một chút lý thuyết số thông báo về mã hoá. Đại số tuyến tính là một lĩnh vực đáng nghiên cứu bổ sung, do tầm quan trọng của nó trong đồ họa máy tính và học máy.
Điểm bắt đầu mà mình gợi ý cho toán học rời rạc là cuốn Giáo trình toán rời rạc - Tổ hợp và đồ thị của Nguyễn Hoàng Thạch. Bạn có thể học cuốn của Nguyễn Hoàng Thạch trước, rồi sau đó đọc quyển GIÁO TRÌNH TOÁN RỜI RẠC của NGUYỄN ĐỨC NGHĨA và NGUYỄN TÔ THÀNH. Về video bài giảng thì mình gợi ý danh sách phát Toán rời rạc của TITV
Đối với đại số tuyến tính, bạn có thể xem danh sách phát Đại số tuyến tính của Giang Le hoặc đọc cuốn Giáo trình đại số Tuyến tính của Bùi Xuân Diệu.
Nâng cao, học hết ba học phần Toán cao cấp thông qua 3 cuốn Giáo trình toán cao cấp tập 1, 2, 3 bởi Nguyễn Đình Trí, Tạ Văn Đĩnh và Nguyễn Hồ Quỳnh.
Hệ điều hành
Bạn có thể học cuốn GIÁO TRÌNH HỆ ĐIỀU HÀNH (OPERATING SYSTEM) được biên soạn bởi Ninh Xuân Hải và Huỳnh Trọng Thưa hoặc xem bài giảng của TITV
Mạng máy tính
Thực tế hiện nay có rất nhiều kỹ thuật phần mềm nằm trên máy chủ web và máy khách, nên một trong những lĩnh vực có giá trị tức thì của khoa học máy tính là mạng máy tính. Các sinh viên tự học của chúng tôi, những người nghiên cứu mạng máy tính một cách có phương pháp thấy rằng cuối cùng họ cũng hiểu các thuật ngữ, khái niệm và giao thức mà họ đã nhìn thấy trong trong nhiều năm.
Cuốn sách yêu thích của chúng tôi về chủ đề này là BÀI GIẢNG MẠNG MÁY TÍNH được biên soạn bởi ThS. Nguyễn Xuân Anh.
Bạn cũng có thể học Khóa học Giới thiệu về Mạng Máy tính đã được cung cấp trên nền tảng MOOC Lagunita của trường Stanford.
Cơ sở dữ liệu
Học Bài giảng cơ sở dữ liệu của TORI và tải tài liệu các thứ trên trang Bài giảng cơ sở dữ liệu
Gợi ý người tự học nói chung tránh sách giáo khoa và bắt đầu với các video CS 186, đây là khóa học cơ sở dữ liệu của Joe Hellerstein tại Berkeley, sau đó mới tiến sang đọc giáo trình hay tài liệu khác.
Một tài liệu cụ thể rất đáng đề cập đối với sinh viên mới l Kiến trúc của một hệ thống cơ sở dữ liệu. Tài liệu này cung cấp một cái nhìn độc đáo nhằm bao quát về cách hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) hoạt động. Nó sẽ là một nền tảng có ích để các bạn nghiên cứu thêm.
Ngôn ngữ và Trình biên dịch
Hầu hết các lập trình viên học ngôn ngữ, trong khi hầu hết các nhà khoa học máy tính học về ngôn ngữ. Điều này mang lại cho nhà khoa học máy tính một lợi thế khác biệt so với lập trình viên, ngay cả trong lĩnh vực lập trình! Kiến thức của họ khái quát; họ có thể hiểu hoạt động của một ngôn ngữ mới sâu hơn và nhanh hơn so với những người chỉ đơn thuần học một ngôn ngữ cụ thể.
Gợi ý: giáo trình Crafting Interpreters của Bob Nystrom. Nó được tổ chức tốt, mang tính thư giãn cao và rất phù hợp với những người có mục tiêu chính là hiểu rõ hơn về ngôn ngữ và công cụ cho ngôn ngữ của họ. Chúng tôi khuyên bạn nên dành thời gian để giải quyết toàn bộ vấn đề, thử bất kỳ "thách thức" nào mà bạn quan tâm.
Hệ thống phân tán
Bạn có thể đọc Tìm hiểu cơ bản về hệ phân tán
Cuốn sách gợi ý là của Martin Kleppmann Thiết kế các ứng dụng chuyên sâu về dữ liệu. Cuốn sách này tốt hơn nhiều so với một cuốn sách giáo trình truyền thống, rất dễ đọc, và được thiết kế cho những người thực hành, tránh được việc tìm hiểu quá sâu và học thuật.

bác nên thêm số năm exp/level/impact to org để mà đánh vào các thứ cần tìm hiểu phù hợp, tránh tự thẩm du kiến thức mà éo đc đem đi va chạm
