Chuyển đến nội dung chính

Duke MSCS

Giới thiệu chương trình​

Chương trình CS và ECE phân vai khá rõ: CS thiên về nghiên cứu, ECE thiên về kỹ thuật. Tuy vậy, điều này không hoàn toàn đúng, vì nhiều sinh viên MSCS cũng đi làm trong ngành và có được vị trí rất tốt. MSCS cho phép chọn môn rất linh hoạt. Để tốt nghiệp bạn cần 10 môn. Nếu chọn lộ trình dự án hoặc luận văn, bạn chỉ cần 4 môn mang mã CS; nếu chỉ học môn (course-only), bạn cần 6 môn CS. Duke CS còn có hẳn một môn riêng để luyện LeetCode và chuẩn bị phỏng vấn, do người đang làm trong ngành giảng dạy và hướng dẫn giải bài LeetCode. Nếu muốn học thêm các môn liên quan đến tìm việc, bạn có thể xem thêm các môn của ECE.

OS / Network / Algorithm / Web Full Stack / Distributed System / Compiler / Architecture / Security, tất cả các môn cốt lõi đều được mở. Chương trình thường kéo dài 2 năm, khối lượng học phổ biến là 3-3-3-1. Ba học kỳ đầu, học phí như nhau bất kể học bao nhiêu môn; học kỳ cuối tính phí theo từng môn.

Dữ liệu trúng tuyển​

Tỷ lệ trúng tuyển trước đây là 15%, nhưng gần đây chương trình đang mở rộng quy mô. Điểm GPA, GRE và TOEFL được coi trọng. Sinh viên chủ yếu tốt nghiệp đại học ở Mỹ, có cả nền tảng CS lẫn DS.

  1. Cử nhân CS tại SJTU, xếp hạng 2 (GPA 93+), TOEFL 110, GRE 328
  2. Cử nhân CS tại SJTU-UMich (GPA SJTU 3.8, GPA UMich 3.97)
  3. Cử nhân CS tại OSU, GPA 3.98, hai năm kinh nghiệm làm TA
  4. Cử nhân CS tại University of Nottingham Ningbo, GPA 3.97
  5. Cử nhân tại Ấn Độ, GPA 9.28, thực tập SDE tại Google Ấn Độ + một năm làm chính thức tại Google
  6. Cử nhân CS+Math tại Vanderbilt University, GPA 3.922
  7. Cử nhân CS tại Wellesley College, GPA 3.78

Kết quả việc làm và dữ liệu thực tế​

Hướng đi cực kỳ đa dạng. Có người vào Microsoft, Adobe, Salesforce. Cạnh tranh nội bộ trong trường gần như bằng không. Đồng thời, danh tiếng của trường đủ để bạn chạm tới ngưỡng phỏng vấn của FB, Google và hàng loạt công ty công nghệ lớn khác. Sau đó là chuyện của mỗi người: phỏng vấn ở công ty lớn về cơ bản là bật camera, ngồi xuống và giải bài.

Một sinh viên nhập học 22Fall cho biết danh hiệu Duke MSCS là quá đủ. Cuối cùng vẫn phụ thuộc vào việc luyện LeetCode, khả năng kết nối và may mắn của từng người. Phải thừa nhận không khí tìm việc và luyện LeetCode không sôi động bằng UCSD CS75 hay Gatech MSCS và các chương trình lớn ở trường công, nhưng "ở khóa 22Fall, ai chăm chỉ luyện LeetCode, phỏng vấn thử và chủ động xin giới thiệu nội bộ đều nhận được offer. Có một bạn cùng khóa ban đầu định học PhD, đến phút chót mới chuyển sang tìm việc, chỉ có kinh nghiệm nghiên cứu, không có thực tập, mà vẫn vào được Google." Xét về hiệu quả chi phí thì không bằng CS75 và Gatech MSCS, nhưng đã có tiền lệ chuyển sang PhD hoặc quay về đi làm. Nói đến hiệu quả chi phí, phản ứng đầu tiên của mọi người về Duke là quá đắt. Duke cho chọn môn linh hoạt, học phí tuy cao, nhưng bạn có thể học theo kiểu 3+3+4, học kỳ cuối chỉ cần giữ tư cách sinh viên, tổng cộng tối thiểu khoảng $105k (học phí 2026-27 là $34,940/học kỳ, và cần ít nhất 3 học kỳ toàn thời gian). Vị trí TA rất dễ xin, được trả $6,200 mỗi học kỳ. Ngoài ra còn có cơ hội làm thêm (work-study) trong trường ở thư viện, nhà ăn, v.v., khoảng $1,000/tháng.

  1. Cử nhân CS tại UCI, không có thực tập, nhận thực tập Meta SWE
  2. Cử nhân CS tại Ấn Độ, một năm làm chính thức tại Google, nhận BotBuilt Machine Learning Intern
  3. Cử nhân CS+Math tại Vanderbilt University, từng thực tập ngắn hạn ở PwC và Sohu, nhận thực tập Salesforce SWE
  4. Cử nhân CS tại University of Edinburgh, từng thực tập MLE, nhận Syngenta Software Engineer Intern
  5. Cử nhân CS tại Wellesley College, từng thực tập quản lý sản phẩm, nhận Meta SWE
  6. Cử nhân CS tại UCI, thực tập Meta SWE năm 2022, làm SWE chính thức tại IXL Learning từ năm 2023, được thăng lên Senior SWE năm 2026.

RA và chuyển sang PhD​

Chỉ cần tìm được giáo sư chịu nhận bạn vào nhóm là cơ hội rất cao. Phần lớn giáo sư khoa CS mỗi năm đều tuyển thành viên mới từ chương trình MSCS. Khi giáo sư đồng ý, bạn có thể chuyển sang chương trình PhD. Xung quanh có khá nhiều sinh viên đã chuyển sang Duke CS PhD.

Duke MSCS vốn là chương trình thiên về nghiên cứu. Nhờ quy mô nhỏ và tuyển chọn kỹ, chương trình có cơ hội vào nhóm nghiên cứu tốt hơn và thuận lợi cho việc chuyển sang PhD hơn so với UCSD CS75, Gatech MSCS và các chương trình lớn ở trường công. (Theo một sinh viên 22Fall đã chuyển sang PhD thành công, khi đó bạn ấy còn có offer của Gatech MSCS và Cornell CS MEng ở cơ sở chính. Bạn gái của bạn ấy học CS75 và kể rằng ở đó đông người, cạnh tranh gay gắt, phần lớn sinh viên muốn theo PhD đều bỏ cuộc.) Ngoài ra, hai năm học Duke MSCS có thể được tính rõ ràng vào thời gian PhD, nên tổng cộng MS-PhD trong 4-5 năm là rất có lợi.

Đánh giá môn học​

  1. CPS 510 Operating System Giáo sư: Matthew Lentz (trình độ sau đại học, trừu tượng hơn) / Danyang Zhuo (OS bậc đại học, giảng dễ hiểu hơn) Nội dung: Theo UW CSE 451, dạy OSTEP (x86), bài tập theo MIT 6.828 (xv6 RISC-V). Giữa hai phần có khoảng cách, phải tự học để lấp. Bài tập: Mỗi lần đều có script chấm điểm; chỉ cần pass hết trước khi nộp là được điểm tối đa. Đề tài dự án tự chọn, độ khó tùy đề. Thi: Được mang cheatsheet A4 (hai mặt), chủ yếu là câu hỏi ngắn, không viết code. Nhận xét chung: Nếu chưa học OS ở đại học thì khá khó theo kịp, phải tự học thêm nhiều. Chăm chỉ trọn một học kỳ sẽ thu được rất nhiều.

  2. CPS 514 Advanced Computer Networks (ECE 558) Giáo sư: Bruce Maggs / Xiaowei Yang Nội dung: Nửa đầu học mạng truyền thống, nửa sau liên quan đến hệ thống phân tán. Rất nhiều kiến thức. Bài tập: Có thể đến OH hỏi thật nhiều. Bruce sẽ cho đáp án trực tiếp, giúp tỷ lệ làm đúng khi thi tăng đáng kể. Thi: Trắc nghiệm, chấm +2/-2, sai bị trừ gấp đôi nên phải rất cẩn thận. Nội dung đề khó đoán. Dự án: Có sẵn nhiều dự án từ các năm trước, muốn làm gì cũng được. Lượng code trong học kỳ không nhiều, chủ yếu là tự học. Nhận xét chung: Giáo sư rất uyên bác nhưng giảng khá tùy hứng. Kiến thức nhiều, khối lượng ôn tập lớn, áp lực thi cao.

  3. CPS 590 Advanced Web App Development (Dennis Quan) Giáo sư: Dennis Quan (rất nên học, nhiều kinh nghiệm thực tế trong ngành) Nội dung: TypeScript Các khái niệm cốt lõi của JS (closure, scoping, promise) Vue + Express + MongoDB + Socket.io Kiểm thử tự động (Playwright) Cân bằng tải (nginx), CI/CD (GitLab), Docker, TLS Xác thực (authentication), phân quyền (authorization), Cookie, Session Bài tập: 5 bài, độ khó tăng dần. Thi: Quiz hằng tuần, về sau không dễ, cần theo sát. Dự án: Hướng đi của dự án cuối kỳ rõ ràng, có 4 loại để chọn, kết nối toàn bộ kiến thức đã học trong môn. Nhận xét chung: Logic rõ ràng, sát với thực tế trong ngành. Dennis giảng cực hay, rất đáng học.

  4. CPS 512 Distributed Systems Giáo sư: Danyang Zhuo Nội dung: Mỗi buổi phải đọc một bài báo và viết phản hồi; nội dung buổi học gắn với các bài báo. Dự án: Phải tự triển khai một hệ thống phân tán. Nhận xét chung: Thiên về nghiên cứu, phù hợp với sinh viên muốn tìm hiểu sâu về hệ thống phân tán.