CMU ECE
Program Overview
The program takes a minimum of 1.5 years and a maximum of 2 years, with no extensions allowed. Each semester requires a minimum of 36 units and allows a maximum of 48 units. A full-semester course is 12 units, and a mini course (half-semester) is 6 units. Graduation requires 96 units, of which 60 must be core courses and 36 are electives.
The ECE track itself leans toward lower-level/hardware topics, but since CMU is a major hub for career changers to CS, ECE also offers many CS-heavy course options. If you want to transition into software, the course selection is absolutely feasible -- you can even build a schedule that's more pure-CS than an actual CS Master's. But that also means you should be mentally prepared for CMU's notoriously brutal coursework. Although there is an SCS credit limit, you can still take purely CS courses. Many ECE courses are cross-listed with the CS department, such as 18613 and 15513 (CSAPP), 18741 (Computer Networks), ACC, Storage Systems, etc. -- all of which don't count against your SCS credit limit. The ECE department offers a very large number of courses -- roughly three times what INI offers -- about one-third systems courses, one-third ML courses, and one-third hardware courses. So I don't think ECE course selection is more restrictive than INI. Worth noting is that software engineering courses are somewhat lacking -- currently I've only found Intro to SE and Full Stack. Also, CMU's workload is very heavy. I had a solid CS foundation from undergrad and still regularly pulled all-nighters on labs. Career changers to CS may find it quite challenging.
Not much different from INI next door. In fact, having "computer" in the program name actually makes it look more like CS. (But nobody really cares -- both departments have high job landing rates and plenty of CS course options to choose from, which is great.)
The courses are excellent, but life is truly exhausting. Writing labs and projects takes a huge amount of time during the semester, so LeetCode grinding may also be affected.
Admission Threshold & Data Points
CS/EE/ECE/DS/ME undergrads can all apply. GPA 3.7+. With some luck, there have been data points of 3.5 GPA admissions in previous years. 24 Fall saw significant enrollment cuts, with spots going almost entirely to current students.
- HUST (Huazhong University of Science and Technology) Automation major, GPA 3.9, three RA experiences
- Purdue University CE undergrad, GPA 3.99, six months of RA experience
- Penn State University Math+CS undergrad, GPA 3.67, ByteDance product manager internship
- UT Austin ECE undergrad, GPA 3.94
- UCSD EE undergrad, GPA 3.83, nine months of RA experience
- CMU ECE undergrad, GPA 3.6
Job Outcomes
Job hunting data for 24 Fall -- landing rates were average, but quite a few still got offers, mostly from Amazon.
Amazon is full of alumni, and Meta has a good number too.
- UIUC CE undergrad, landed NVIDIA internship
- UBC undergrad, had small company internship, landed Apple internship
- Penn State University Math+CS undergrad, ByteDance + small company internships, landed Amazon intern
- UT Austin ECE undergrad, GPA 3.94, had Meta hardware internship, landed Microsoft internship and returned
- CMU ECE undergrad, landed Amazon intern
- Seoul National University, no internship, landed Meta
- Indian student with one year of full-time work experience, landed Apple intern and converted to full-time
- CMU ECE undergrad, landed Microsoft internship, ultimately went to a Bay Area startup
- Indian student with one year of full-time work experience, landed Bay Area startup intern and converted to full-time
Academic Pressure
CMU's course pace is much more intense than undergrad in China. The first semester really feels like you can never finish all the assignments, with deadlines filling up the calendar. CMU is not a place where "hard work easily gets you an A," but as long as you study diligently, B or above is still achievable.
My study schedule was roughly "10-2-7" -- 10 AM to 2 AM, 7 days a week. Although some people manage to maintain a healthy schedule, the reality is: daytime is classes + job hunting + homework, with very little leisure time. If you're efficient, you might get to sleep before midnight, but overall it's not really "staying up late" -- it's "the homework literally never ends."
The biggest difference between grad school and undergrad is that you need to start looking for internships/jobs as soon as you enroll -- academics and job hunting must run in parallel. I had a serious procrastination problem and paid for it dearly in the first semester. I'd advise incoming students to plan early and not wait until academics are stable before taking action.
Transferring to PhD
For those interested in pursuing a PhD, I think ECE is an excellent choice. Many CS department professors are cross-listed with the ECE department (which also makes internal PhD transfers possible -- ECE master's students who meet the requirements can theoretically transfer to PhD status. Two friends I know are currently pursuing this path, but you can only transfer to a professor who is cross-listed with ECE. For example, if you've been doing research under an RI professor who is also cross-listed with ECE, and that professor agrees and you meet the requirements, you can transfer to an ECE PhD and work in the same lab as RI students). The program also allows replacing two courses per semester with research credits. Overall, I think it's a great option for those interested in research.