Tổng quan ngành khoa học máy tính - Đại học Bách Khoa Hà Nội
Chào các bạn,hôm nay dựa trên hiểu biết sơ bộ của một sinh viên cuối năm 3, mình xin phép viết một bài review qua về ngành khoa học máy tính nói chung và ngành khoa học máy tính ở trường đại học bách khoa hà nội nói riêng.
Bài viết mang tính chất giới thiệu là chính, sẽ không mang tính học thuật, phù hợp với những bạn đang có ý định thi tuyển vào ngành,hình dung xem mình sẽ được học gì, hoặc một số bạn năm nhất, năm hai của ngành có thêm định hướng cho tương lai sắp tới. Về phần chi tiết môn học, tài liệu đã có blog viết riêng, các bạn search trong trang nhé.
Tổng quan chương trình đào tạo
Sau đây là hình minh họa cho các khối kiến thức lớn mà bạn phải học( bao gồm B1: cơ bản B2: sâu hơn vào ngành). Trong đó TC- tín chỉ là đơn vị tính gần như tương đương với thời gian(số tiết, số giờ tự học) để hoàn thiện môn học.
Khối kiến thức cơ bản
Tin học đại cương |
dậy bạn biết viết “hello world” về lập trình C |
Toán rời rạc |
thuật toán tìm đường đi ngắn nhất, đồ thị, tư duy logic. |
Giải tích I,II,III |
cung cấp kiến thức cơ bản về đạo hàm, tích phân, gradient,.. |
Đại số |
cung cấp kiến thức về ma trận, sau này dùng nhiều trong tính toán deep learning. |
Xác suất thống kê |
phân phối gauss, xác suất có điều kiện. |
Nhập môn các phương pháp tối ưu |
tìm nghiệm tối ưu của một hệ các ràng buộc. trước kia bạn học bất phương trình 2 ẩn 2 phương trình thì giờ nó phức tạp hơn, mở rộng hơn |
Vật lý đại cương I.II |
ý nghĩa của entropy, kiểu cách đo độ biến động của một hệ. |
Lý luận chính trị |
Giáo dục thể chất |
Giáo dục Quốc phòng - An ninh |
Tiếng Anh (khi đầu vào tiếng anh gà mờ ) |
Pháp luật đại cương |
Lý luận TDTT |
Đường lối quân sự |
Tiếng Anh 1 |
Tư tưởng HCM |
Bơi lội |
Công tác quốc phòng-An ninh |
Tiếng Anh 2 |
Những NLCB của CNML I |
3 môn tự chọn nào đó(bóng bàn, bóng rổ, chạy, nhảy , cầu lông, bóng đá...) |
QS chung và KCT bắn súng AK |
|
Những NLCB của CNML II |
|||
Đường lối CM của ĐCSVN |
Đi vào cốt lõi ngành
Cũng như phân trước, mình sẽ đưa ra một số nhận định của mình về những môn mình đã học:
Nhập môn CNTT và TT |
bản nâng cấp của tin đại cương với một phần tìm hiểu về ngành công nghệ thông tin |
Technical Writing and Presentation |
dạy bạn cách viết report, mail |
Cấu trúc dữ liệu và thuật toán |
không phải ngẫu nhiên mà môn học này được dạy từ khá sớm. mình nhấn mạnh tầm quan trọng của nó. môn học cung cấp kiến thức về cấu trúc dữ liệu (hàng đợi, ngăn xếp, cây, danh sách liên kết ), thuật toán đệ quy, duyệt cây, các thuật toán sắp xếp đi cùng với đó là độ phức tạp thuật toán . môn học cho bạn nền tảng cơ bản về lập trình cho bạn . |
Kiến trúc máy tính |
dậy bạn thực sự cpu nó làm gì ? tại sao dùng cache lại nhanh ? và lí do tại sao bạn phải lắp 2 thanh ram giống nhau |
Kỹ thuật lập trình |
kỹ thuật viết code sao cho không bị mắng, khi gặp lỗi thì tìm cách debug ra sao ? test một chương trình thế nào để biết nó đúng |
Nguyên lý hệ điều hành |
cách mà máy tính có thể hoạt động một cách trơn tru khi bạn bắt nó làm cả tá thứ sẽ được một phần trả lời trong câu hỏi này. bên cạnh đó cũng sẽ giúp bạn backup nghề cài win dạo. |
Mạng máy tính |
cách mà dữ liệu có thể truyền đi lại trong mạng, cơ chế làm sao mà nó có thể chịu lỗi khi mất dữ liệu, cách bảo mật tin khi truyền đi |
Cơ sở dữ liệu |
dậy bạn truy vấn sql |
Lập trình hướng đối tượng |
mình cảm thấy môn này và cấu trúc dữ liệu là 2 môn khó và rất quan trọng. trả lời cho câu hỏi gần như chắc chắn bạn phải trả lời khi phỏng vấn job liên quan java: hãy trình bày 4 tính chất của lập trình hướng đối tượng. mà dù trong môn này không được học, nhưng mình đề xuất khi học môn này nên đọc thêm về design pattern, sẽ cực kì thực tế và cho bạn một nguồn cảm hứng học lập trình . |
Phân tích và thiết kế hệ thống |
để cho chuẩn thì công việc trước khi code của một coder thì phải viết tay sơ đồ luồng thực thi, đoạn code này xử lí gì, nó mang trách nhiệm gì, nso chuyển data tới những đâu,... tất cả sẽ được thiết kế trong một bản thiết kế riêng mà chưa cần thiết phải code. |
Nhập môn Trí tuệ nhân tạo |
kiến thức nền tảng cho học máy và học sâu, nói qua về thuật toán “thông minh” hơn mấy thuật toán trong cấu trúc dữ liệu và giải thuật |
Project I,II,III |
hên xui |
Thuật toán ứng dụng |
môn học của tư duy, còn đối với mình là một phần may mắn nữa. |
Nhập môn công nghệ phần mềm |
là sự kết hợp Lập trình hướng đối tượng, Phân tích và thiết kế hệ thống. nơi mà bạn hoàn thành cho mình được một project hoàn chỉnh đầu tiên. |
Nhập môn Học máy và khai phá dữ liệu |
Nhập môn Trí tuệ nhân tạo nhưng ở một lĩnh vực sâu hơn. |
Nhập môn an toàn thông tin |
cho bạn cái nhìn bao quát nhất về an toàn thông tin. trả lời cho câu hỏi : bạn là ai trong không gian mạng |
Quản trị dự án CNTT |
môn học cho các quản trị dự án tương lai, dạy về cách đàm phán với khách hàng, hợp đồng, lập lịch cho nhân viên. có rủi ro thì phải làm thế nào . |
Làm việc nhóm và kỹ năng giao tiếp |
kỹ năng trong giao tiếp ứng xử trong nhóm |
Tự chọn theo modun
bạn có thể đi theo các hướng như : xử lí dữ liệu lớn (kiểu đề xuất quảng cáo), học sâu(mấy cái nguy hiểm như xử lí ngôn ngữ tự nhiên ), hoặc code web. thôi bài đã dài. mình xin phép hẹn buổi sau :v
Tổng kết
lời khuyên cho các bạn nếu muốn học ngành này mà không nản thì nên đăng ký học sớm các môn code nhiều như Cấu trúc dữ liệu và thuật toán,Lập trình hướng đối tượng, Kỹ thuật lập trình, Thuật toán ứng dụng.
sẽ có một số môn liên quan tới nhau, nếu thật sự tryhard thì nên học cùng một kì, áp lực sẽ giúp bạn phải học một cách thật chăm chỉ để đáp ứng yêu cầu môn học. nếu làm được điều này, bạn sẽ ít rơi vào tình trạng: “? học cái này để làm gì ”
trong quá trình học khối kiến thức cơ bản, thường là 1-2 năm đầu, mình có một vài lời khuyên cho các bạn về một số hướng bổ trợ để đỡ nản cũng như giải trí quá nhiều :v
- Một là, bạn có thể đăng ký trước môn học kỳ sau, những môn chính trị, thể chất gối vào những kì sau. ưu điểm là sẽ định hướng được mình hóc j, còn nhược điểm là thường các bạn sẽ coi thường những môn phụ.
- Hai là, bạn xác định cho mình một hướng học trước mà không cần quá nhiều kiến thức chuyên ngành, mình nghĩ là học web, hoắc là học học máy( liên quan nhiều tới toán cơ bản, sẽ có hứng thú hơn khi biết kiến thức toán mà mình học được dùng cho việc gì )
- Ba là, có thế học tiếng anh, nó rất cần thiết cho việc học sau này của bạn, không chỉ những có thể thăng tiến mà nó cũng giúp bạn tiếp xúc với nguồn tài liệu chất lượng bằng tiếng anh.
Good Luck,
longpt