💡Though the tips and processes described in this post are general and can be used for any undergraduate/graduate degree combination for any major and university, I tailor the content to my experience as a computer science student at Rice University.
💡With clever planning and a little bit of luck, it’s often possible to do an undergraduate + graduate degree in 4 or 5 years. The combination is definitely easier to achieve if you are completing both degrees at the same school and come in with AP credit.
I never really made a 4-year plan and instead focused on taking as many classes as I could handle, while also keeping track of prerequisites and distribution requirements. I was hoping to finish degree requirements early so I could open up other possibilities like the Master's degree in later years.
At the end of sophomore year, I applied to the Abraham-Broad Exchange Program to study business/management (the program is amazing and I'd encourage anyone interested to definitely apply). Because I would have to be away for an entire year, I was thinking about dropping from the Bachelor of Science (BS) to the Bachelor of Arts (BA) which required fewer credits. There’s definitely a tradeoff here but I’ll save the discussion for some other blog post.
Instead, I’ll say that most people agree that industry doesn’t really differentiate between the BA and BS, so, for the most part, your opportunities are the same if you’re looking to work right after graduating.
I didn't end up winning the scholarship, so I started considering other options:
The main difference between the MCS and the MS is that the latter requires research and an original thesis.
It really depends on what you want to do after graduation. If you want to join a company and do research (think Microsoft Research/Facebook AI Research/Google Brain/etc.), you should probably do the Thesis Master's because it'll give you research experience. Similarly, if you want to get a PhD, a Thesis Master's is probably better — keep in mind, often you can get a Master's while getting a PhD (after you take enough classes), so instead of getting a Master's at one university and then getting a PhD, you can just go to one place for all your graduate study.
If you want to go into industry, the short answer is it doesn't matter — a master's degree is a master's degree. The long answer is check the jobs you're interested in and see if they have a preference.
I've never really been into research, so I chose to pursue the Professional Master's.
If you want to do the Thesis Master's, in addition to everything in this guide, you would also have to find time in your schedule to join a professor/lab and do research. Before graduating, you would need to 'defend' your thesis in front of a committee.
A detailed list of requirements can be found here. I'll give a brief overview below:
👉 I got lucky in that I had basically finished all CS requirements by junior spring because I took all the 400+ level required courses like Compilers and Operating Systems (OS) early. You should definitely plan ahead so you don't get stuck. This also goes for studying-abroad as Rice doesn't really give credit for classes like OS (Fun Fact: Dave Johnson told me he has given transfer credit approval for OS only 1-2 times in the history of the class).
👉 Because I hadn't planned ahead and decided to pursue the Master's at the end of my junior year, I hadn't completed all the university requirements. So, I had to take 2 non-CS classes in the fall of my senior year before I could graduate with a BA to fulfill some tricky requirements I cover in the section of this post titled “Requirements I Wish I Had Known About” as mentioned above. This is why I had to do 3.5 years of BA and 1 semester of Master's rather than 3 years of BA and 1 year of Master's.