So, You Want To Do CSE SUGS

Musa Haydar | Mar 31, 2023

This article was originally written to compile and share the advice that was frequently asked from me about the SUGS Program. It is NOT kept up to date. I recommended seeking advice on this program from more current sources instead.


SUGS, or Sequential Undergraduate Graduate Studies, is a program at the University of Michigan wherein you complete a MS (or MSE) as a fifth year after completing your BS (or BSE). The first thing you want to ask yourself is why you want a master's degree in computer science, and if CSE SUGS can provide that for you. Since the program is only a year, you won't have as much time to explore elective courses as in a traditional master's program, and you'll still be required to meet all the breadth requirements within that year (more on this below).

Because of the fast pace of SUGS, the most important advice I can give is to plan out what you hope to get from it. Some people I've met are in SUGS because they want the extra year to participate in research, are seeking a specific industry job which would benefit from the degree, or for no other reason but because a free master's degree (GSIs at UMich have their tuition waived) is pretty cool. The general advice (as stated on the 2023 SUGS course guide) is that students interested in pursuing a PhD in CS should apply directly to those programs instead of SUGS. That being said, I know several people who have applied to PhD programs after doing SUGS, either because they decided to pursue the PhD later on or because they took SUGS as an opportunity to begin or continue participating in research for a year. Furthermore, the program guide also suggests students who want to take it slower should apply to the regular MS program.

This page lists a bunch of advice and resources which I've both given and received regarding Computer Science & Engineering (CSE) SUGS at UMich. It was written during the Winter of 2023, so much of this (particularly the courses and resources) is subject to change. This information is specific to the CSE program, since that's the one I did. There's also an Electrical & Computer Engineering SUGS to look into, as well as similar programs for other engineering majors or colleges at UMich.

Finally, this is all my advice, so take from it what you want keeping in mind that it may not fully apply to your circumstances.

Choosing Courses

(At the time of writing) SUGS students are required to, in addition to meeting all the MS requirements set forth by Rackham, either enroll in 9+ credits for two semesters OR 6+ credits for three semesters as a GSI. There are other restrictions to keep in mind as well, for instance the 6-credit limit on credits from seminars, directed study, or special topics courses. After accounting for your double-counted and transferred courses (look over the program guide first if you're not sure how this works), you'll probably be looking at between 4-6 EECS graduate-level electives to split between your two semesters of SUGS. I personally only ended up doing 4 courses (2 courses per term), reaching the 9+ credit requirement with the addition of research credit each term. Also note that you can only transfer a course if it was not counted towards your bachelor's, so think ahead if you want to take a fifth Upper-Level CS (ULCS) elective during undergrad. Again, check the SUGS program guide for specific details on this process.

The MS course breadth requirements require that you take at least one 500-level course (or two 400-level for software courses) from each of the following fields: software, hardware, artificial intelligence, and theory. My advice here is to think ahead about which electives you're particularly eager to take and schedule around them. You also want to make sure you consider all the options for each requirement and which terms they're offered so you don't end up in your last semester where the college is only offering one course for the theory requirements and it's EECS 586 (cough). (Note: some people actually like EECS 586...for some reason.)

If you're a software person, don't let the hardware requirement freak you out. EECS 583 fulfills that requirement, and is a must-take if you're planning to do any systems research or are interested in compilers and optimization generally. For the artificial intelligence requirement, EECS 592 is pretty chill. EECS 545 seems rather rigorous and intense, which is probably a good thing if you want to focus your work on machine learning. There's a ton of options for the software requirement, but only a handful for the theory requirement, so give the latter some consideration sooner rather than later.

Regarding the difficulty of graduate-level EECS electives: they vary, so take advantage of the information on ATLAS when planning your semesters. The variation is on par with the difficulty and instruction methods of ULCS courses. So, you'll find that a balanced workload of 2-3 graduate level electives will keep you quite busy each term, as you might expect taking 2-3 ULCS in one semester. The one difference I've found is that some courses (e.g. EECS 545, 583, 590) will involve a term project of varying required lengths and a research-paper-like written report due at the end of the term. Research projects are quite different from typical undergraduate course projects since they require a lot of creativity, often in teams, but I've found those projects to be among the most valuable components of this master's program.

Landing a GSI Position

This is usually one of things people ask me most frequently about, whether in the context of SUGS or otherwise, since GSIs have their tuition waived at UMich. Unfortunately, IA/GSI positions in CSE are competitively sought after, so the best advice I can give you is to make yourself known to the hiring staff. This can mean meeting with the professors during office hours, engaging with the class often in person and on Piazza, or even asking for a recommendation from a GSI you know (in this course I taught, IAs/GSIs made a list of people they recommend for the next semester, which might be true for other courses as well).

Advice regarding the actual application process is pretty standard: if you need to record a teaching sample video for the course, choose a topic straightforward enough that you can explain it well in five minutes. Additionally, more hiring is done for the fall semester than the winter, so you might have a harder time finding a position between those semesters, but don't let that discourage you. Finally, don't be afraid to follow up and ask about your application.

Resources

  • CSE SUGS Homepage: this page has most of the information you'll need, including links to:
    • the CSE SUGS program guide
    • the CSE graduate program guide
    • the MS degree courses & requirements spreadsheet
    • the Rackham application
  • The EECS Courses Bulletin: this webpage lists EECS courses with their prerequisites and a blurb about them. This one's a good page to know for EECS undergraduates as well.
  • Stanford's Letters of Rec Guide: I think asking for letters of recommendation (you need three to apply at the time of writing) was the part of the application process I disliked most. A friend sent me this guide at the time, which I found helpful.