Robotics, Statistics Minor, 8 Semesters
Hi, I'm currently a first-semester Senior (CE '25) also pursuing a Statistics minor. I'm focused on software, robotics, autonomy, and controls. Originally, I had planned to use one semester as a co-op but decided to take more technical electives instead. My schedule is definitely on the heavy side but it allows you to spend most of Junior and Senior year taking tech electives that you're interested in, while never having to double up on the big 4 ECE classes.
Features of this Schedule
- Can be easily modified to 7 semesters (or less)
- No summer or winter classes, so internship options every summer
- Covers most of the required classes for MEng in Robotics and Autonomy in undergrad
- Statistics minor + James Scholar
Schedule
AP Credits and Proficiency Tests
Course Name | Credit Hours |
---|---|
CHEM102 - General Chemistry I | 3 |
CHEM104 - General Chemistry II | 3 |
CS101 - Intro Computing: Engrg & Sci | 3 |
ECON102 - Microeconomic Principles | 3 |
ECON103 - Macroeconomic Principles | 3 |
HIST1-- | 3 |
HIST1-- | 3 |
IB150 - Organismal & Evolutionary Biol | 4 |
MATH220 - Calculus | 5 |
MATH231 - Calculus II | 3 |
MCB150 - Molec & Cellular Basis of Life | 4 |
PHYS2-- | 4 |
PHYS211 - University Physics: Mechanics | 4 |
PS101 - Intro to US Gov & Pol | 3 |
RHET105 - Writing and Research | 4 |
Total | 52 |
Note: The courses/credits marked with X-- mean they don't count for a particular course, but count as credit hours towards the 128 credit hour requirement for the degree.
I had a lot of AP credit coming in which was useful for getting through intro requirements. The most useful AP credits for progressing in ECE are Calculus BC and Physics C. I used RHET105 credit, ECON102/103, and PS101 to get out of gen ed requirements. Chem and Bio are not required for CE, and CS101 is essentially useless credit for ECE. I also took Calc 3 and Linear Algebra in high school but was not offered community college credit, so I had to retake them freshman year.
1st Semester, Freshman Year, Fall 2021
Course Name | Credit Hours |
---|---|
ECE120 - Introduction to Computing (Honors) | 4 |
ENG100 - Engineering Orientation | 0 |
MATH241 - Calculus III | 4 |
ME199 - Automotive Design Projects-SAE | 1 |
PHYS212 - University Physics: Elec & Mag | 4 |
REL110 - World Religions | 3 |
TE200 - Introduction to Innovation | 1 |
Total | 17 |
I had already taken Calc 3 and AP Physics C: E&M so MATH241 and PHYS212 were mostly review. I also took PLTW DE in high school which covered a lot of ECE120 material so much of that was review as well. Since I had extra hours, I decided to take REL110 for the Non-Western requirement + 3 Humanities and Arts hours. TE200 is a required class for Innovation LLC residents, and ME199 is an optional (essentially free credit) class for students involved with project team RSOs.
I took the extra time I had this semester to join Illini Formula Electric (now Illini Electric Motorsports) which helped me with securing an internship and learning a lot of ECE skills. The ECE120 Honors lab was also a great opportunity that I highly recommend to anyone in ECE, it also allowed me to apply for James Scholar the following semester.
Tips:
- Don't overload yourself, save time to have fun.
- Join lots of RSOs, it's okay if you drop them later.
- Applying for internships is tough with no experience, but project teams + high school experience can help a lot and getting an internship early helps a lot later on. Even if you don't get an offer, the interview practice will give you a leg up on others later.
2nd Semester, Freshman Year, Spring 2022
Course Name | Credit Hours |
---|---|
ECE110 - Introduction to Electronics (Honors) | 3 |
ECE220 - Computer Systems & Programming | 4 |
KIN103 - Badminton | 1 |
MATH213 - Basic Discrete Mathematics | 3 |
MATH257 - Linear Algebra with Computational Applications | 3 |
ME199 - Undergraduate Open Seminar | 1 |
RST230 - Diversity in RST | 3 |
Total | 18 |
This semester was harder, mostly due to ECE220 and MATH213. I would recommend taking CS173 if possible, but I missed the test time for the CS124 proficiency test so I couldn't take it this semester. I took MATH213 instead, which is a fine class, but definitely more difficult and math focused instead of CS focused.
The programming in ECE220 is not bad if you have prior experience, but the computer architecture, memory, and other parts were all new to me. It is also crucial that you fully understand C++ in order to take CS225, so definitely pay attention at the end of ECE220.
ECE110 is a pretty easy class if you've taken PHYS212 or equivalent and/or had previous circuit experience. MATH257 was also review for me, and RST230 is a fully asynchronous class that fulfills the US Minority requirement. I took ME199 again for IFE (now IEM), and KIN103 was badminton.
Tips:
- Taking ECE220 and MATH213/CS173 this semester lets you take CS225 in the fall, which is very helpful for SWE interviews.
- Taking MATH285 instead of MATH257 here is fine, but I recommend taking the path that your friends are taking.
3rd Semester, Sophomore Year, Fall 2022
This semester was quite difficult, as ECE210 is widely considered the hardest of the 4 intro ECE courses. It is both conceptually challenging (introducing brand-new topics such as phasors, Fourier series/transform, and Laplace transforms) and a lot of work. There are a lot of resources to help you learn the material, take advantage of them.
I also took CS225 at the same time, which is less about the new concepts (especially if you have programming experience) and more about doing the work - there is an MP due every other week, as well as labs, 6 exams, and a final project. The structure of CS225 has changed a fair bit, but since there is up to 100 points (10%) extra credit available, getting a good grade is still not too difficult.
MATH285 was about the same difficulty as MATH257, if not easier if you have a solid calculus background. Taking ECE210 with MATH285 was also nice because a lot of the topics are covered in both classes. PHYS213 and214 are both 8-week courses, where you take PHYS214 first and PHYS213 second. 214 was more conceptual, with pretty basic math (mostly algebra with a couple of integrals). 213 is heavily math based, with many formulas and methods to memorize. If you enjoyed PHYS212, you will do fine in these courses.
In order to do a minor as my James Scholar contract, I started taking statistics courses. I skipped STAT100/200 to take STAT400 so I could take STAT410 instead of ECE313 quicker.
Tips:
- ECE210 is probably the first seriously difficult class you will take. Find a professor who you learn from well and attend all the lectures.
- CS225 is more challenging for CEs than CS majors, since we come from ECE220 instead of CS128. You'll probably struggle with C++ on the first MP, but after learning C++ the rest of it will be about the same for CE and CS.
- Find people taking the same courses as you, you'll probably see them in later courses too. Having friends to work with as the classes get harder is very useful.
- Getting an internship after sophomore year is a great springboard into a later internship or full time job. While/after taking ECE210 and CS225, you are able to contribute meaningfully to a company in both software and hardware. Refine your resume, practice your technical skills, and apply to as many positions as possible.
4th Semester, Sophomore Year, Spring 2023
Course Name | Credit Hours |
---|---|
ECE200 - Seminar | 0 |
ECE333 - Green Electric Energy | 3 |
ECE385 - Digital Systems Laboratory | 3 |
ECE470 - Introduction to Robotics | 4 |
STAT207 - Data Science Exploration | 2 |
STAT410 - Statistics and Probability II | 3 |
Total | 17 |
ECE385 is a great class, especially if you enjoyed ECE120. However, it is definitely underrated for 3 credit hours of work, since there is a lab due every week. Lab 2 (breadboard based) was the most time-consuming but all of the labs are well explained by Professor Cheng. I would highly recommend getting a strong partner as well as starting early and going to office hours if you get stuck. Since there are no exams (only demo quizzes) it's mostly just staying on top of the labs.
ECE470 with Professor Driggs-Campbell was a great class, and the labs were very useful for learning ROS. Overall, not too difficult but you should have a decent grasp of NumPy and Linear Algebra. ECE333 with Professor Mironenko was a great survey class on green energy, but it's not a super technical course, fairly easy once you've taken 210.
STAT410 is a big step up in difficulty from 400 but Professor Stepanov is a great lecturer (he is not for everyone though). STAT207 was easy: just a Python notebook lab and homework each week and took around 2 hours a week total. I took ECE200 to fulfill my obligation for James Scholar.
Tips:
- After taking ECE210 and CS225, you can start to take upper-level electives in both CS and ECE. Use this opportunity to find out what you're most interested in.
- If you have an internship offer secured for the summer by the beginning of the semester, try to take classes related to the internship to prepare. For example, I had a robotics software internship so I took ECE470 to learn more about robotics.
5th Semester, Junior Year, Fall 2023
Course Name | Credit Hours |
---|---|
CLCV115 - Mythology of Greece and Rome | 3 |
CS498GC - Mobile Robotics for CS | 3 |
ECE391 - Computer Systems Engineering | 4 |
ECE448 - Artificial Intelligence | 3 |
STAT107 - Data Science Discovery | 4 |
Total | 17 |
ECE391 has the reputation as the most difficult class in the ECE department (possibly the university) and for good reason. This class is more lab/MP work than ECE385 and also has exams with ECE210-like averages. Despite this, it is very interesting and taught well. There are many CAs available in-person and online to help you with the MPs, although to succeed in this course you need to understand how to debug on your own very well. Find a well-balanced group for MP3, otherwise it'll be very difficult to finish all the checkpoints. The exams are mostly short-answer questions and fill-in-the-blank code and are written on paper. They do not have the time crunch of ECE210, but there are a lot more possible topics. While this class is difficult, I enjoyed it so much that I became a CA.
ECE448/CS440 is designed as an introductory AI course and does this fairly well. I took it with Professor Fleck, and the MPs were very good and I learned a lot. The quizzes were more difficult and focused on memorizing content from the notes, so they are the more difficult part of the class.
CS498GC is not a tech elective, but since I worked with robotics I decided to take it. Definitely recommend to anyone interested in mobile robotics, but take it with friends since a lot of people who take it are MS/MCS/MEng students.
CLCV115 fulfills the Western culture requirement and 3 hours of Humanities and Arts. STAT107 is one of the last classes I have to take for my statistics minor, after 400 + 410 + 207 it was very easy.
Tips:
- Start early for ECE391. Get help from CAs and Discord.
- You will probably spend a lot of time in the lab because of ECE391. Don't forget to eat and shower.
- Junior fall is also the most important internship recruiting season. Although you'll be spending a lot of time with 391, make sure to also study for interviews and apply everywhere.
6th Semester, Junior Year, Spring 2024
Course Name | Credit Hours |
---|---|
CS445 - Computational Photography | 3 |
ECE200 - Seminar | 0 |
ECE428 - Distributed Systems | 4 |
ECE438 - Communication Networks | 3 |
ENG377 - Pedagogy & Mentoring for ELAs | 1 |
PHYS446 - Modern Computational Physics | 3 |
STAT420 - Methods of Applied Statistics | 3 |
Total | 17 |
This is kind of a running theme, but this semester was probably the hardest yet. 5 technical classes is not something I'd recommend to most people since it eats into a lot of your RSO/social time. If I were to redo this, I would probably not take CS445 since it was not very interesting/useful for me.
ECE428 is my 2nd favorite class I've taken (besides ECE391) and was truly one of the first classes where I felt like an engineer. Most lower-level CS/ECE courses are more "fill-in-the-blank", where a framework is given to you and you're simply filling in the methods or classes. ECE428 is more open-ended, where you're given a problem and you have to architect, implement, and test a solution yourself. If you enjoy it, I would also take ECE438, which covers more of the lower-level networking that ECE428 abstracts away. Both classes had difficult exams, but the MPs were very fun and interesting.
PHYS446 is one of the most conceptually difficult classes I've taken, since it's a mix of physics, math, and programming. I skipped PHYS225 and PHYS246 to take this class, and I would say that neither of them are strictly required as long as you're willing to put in some extra work outside of class. Prof Clark does a great job of teaching enough to make you understand the concepts without handholding you too much.
STAT420 was mostly the same as STAT107/207, but in R instead of Python. I took ENG377 to become an ELA in the fall and ECE200 to fulfill my James Scholar contract.
Tips:
- Get a good partner for ECE428 and ECE438, bonus points if they're the same person.
- If you're interested in computational physics or scientific computation in general, PHYS446 is a great class. If you're not, it's probably not worth the time.
- There's usually no good reason to take 5 technical classes at the same time, if you plan ahead a bit more you can spread them out better.
7th Semester, Senior Year, Fall 2024
Course Name | Credit Hours |
---|---|
ECE200 - Seminar | 0 |
ECE374A - Introduction to Algorithms & Models of Computation | 4 |
ECE445 - Senior Design Project Lab | 4 |
ECE486 - Control Systems | 4 |
ME487 - MEMS-NEMS Theory & Fabrication | 4 |
Total | 16 |
Teaching ENG100.
8th Semester, Senior Year, Spring 2025
Course Name | Credit Hours |
---|---|
ECE422 - Computer Security I | 4 |
ECE484 - Principles of Safe Autonomy | 4 |
ECE489 - Robot Dyanmics and Control | 4 |
Total | 12 |