ACM@UIUC TIL logo ACM@UIUC TIL

Creating the perfect class schedule can be a challenge. First, you need to ensure you are taking all of the necessary classes. Then, you need to find sections that fit together without overlapping, finally, you can try to make it more perfect by tweaking the time you start/end class each day, what days of the week you have classes, and how long of a lunch you have (to name a few tweaks). For your first semester, one suggestion I would give is to take CS 125 (intro to CS) and CS 173 (discrete math) together. Even coming in with no computer science experience, both of these classes give you a good ramp up. However, that being said, it is important to also consider what other classes are being taken with that. Therefore, in regards to choosing classes, I highly recommend speaking with a couple different upperclassmen to hear their perspectives. A class isn’t always what it seems to be on the syllabus, and many upperclassmen will know which professors are more conducive to what kinds of learning.

Some ECE and CS students have created an unofficial guide on the wiki called Dr. Everitt’s Neighborhood. CS specific pages can found here: CS Classes. They have some helpful information about course pairings that (don’t) work well, course reviews, and details about the best time to take various courses. Keep in mind, this is all unofficial (the information came from student contributions and surveys), and you should always double check any information you are uncertain of. However, it’s a great way to get a students perspective on a course. There’s also more in-depth (although not completely up to date) requirement information here: Undergrad CS Curriculum Undergrad ECE Curriculum. Lastly, remember you can always sit into a class even if you aren’t enrolled in it to get a feel for the class (or if you are trying to get in).