Any advice for Computer Science Engineering student?

Hello, I am a newly admitted transfer student here and I am majoring in Computer Science Engineering. I would like to know some general information from fellow students who are currently enrolled or was enrolled in the CSE program, such as great places to study in, where to find tutoring services, things to know beforehand, etc. This campus is huge and knowing these things will be awesome before the semester starts. Thank you.

If you are a transfer student, you maybe came in with the equivalent of EECS 183 or ENGR 101? If so, then you need to take EECS 203 and 280 this semester and then EECS 281 next semester, otherwise you will have a hard time finding courses to take later on and fall very behind.

Most if not all of your CS courses will be on north campus. The official library on north campus is the Duderstat building (aka "the Dude). Almost every building will have study spaces for you, including the Dude and Pierpont Commons. In the EECS building, there is a dB cafe with cheaper food than you will find on the university campus (although you can’t really find cheap food on campus) - most students like to go there to get bagels in the morning and pizza at noon. Otherwise, you can expect to find other food places on north campus at Pierpont Commons only (assuming you don’t have a meal plan and won’t be eating at the dining halls).

There are plenty of university buses that can take you between north and central campus. You can access each option from Pierpont Commons, and they will all get to the Central Campus Transit Center (CCTC) at some point. Typically Bursley Baits, Diag to Diag, or Northwood Express will be the most efficient at getting you between the two campuses. Northwood is okay, but Commuter North/South tends to be the slowest.

Since you’re a transfer student, you’ll want to take EECS 280 as soon as possible. If you don’t have transfer credit that covers basic programming for EECS 183/ENGR101 but still have some programming background, then do the following project to place into EECS 280

https://www.eecs.umich.edu/eecs/undergraduate/eecs-280-no-prereq.html

If you get a high enough score on the autograder, then you can get take EECS 280 right away.

Most people take EECS 203 with 280 together.

START PROJECTS early. Go to office hours often and form study groups. Don’t copy code off Google, you will fail the class.

You can view how rigorous each class workload is via

http://www.eecs.umich.edu/eecs/undergraduate/survey/

Pay attention to your graduation requirements. They don’t often waive requirements (and will only if you have signed authorization)
https://www.eecs.umich.edu/eecs/undergraduate/

While not option, try to take EECS 381 and 482 (but please not together). These two are the basis of being a strong Software Engineer in the industry

Yes, @ForeverAlone gave good advice, but:

  • The workload survey describes how much work is given in a class, not how rigorous a class is. Whenever you are considering which EECS classes to take together, add up the average scores for each class you are planning to take together to see how many points you would be taking. The typical recommendation is not to take > 5 points according to this workload survey in one term unless you really don't want to have a life.
  • For his last statement, he means while not mandatory. Most students do agree that 381 and 482 are very useful, but ignore people who say that you are incapable of being a decent programmer if you never take 381. The general advice should be to take 381 if you are genuinely interested, but don't feel pressured to if you are not. 381 is notorious for having the heaviest workload out of all classes at this university, so do plan your schedule accordingly if you plan to take it - every term, many students underestimate the amount of time they need to devote to 381, thus a significant number do drop the course. Also, if you do want to take 381, do not wait until your last semester at this university to take this class, as the professor is known to be very inflexible with his long list of policies and will not talk to you about your grade - you do not want to be so close to graduating, and then suddenly not be able to walk at commencement because you had to drop this class or accept a failing grade.

whoops, I did mean not mandatory, but they are **optional…
A full listing of descriptions for classes are here

http://www.engin.umich.edu/college/academics/bulletin/courses/eecs

Every semester they offer Special Topics 498 sections which can be counted as ULCS or MDE
http://www.eecs.umich.edu/eecs/academics/special_topics.html

Thanks for the responses. Yeah, I do have prior programming experience and my academic advisor told me that I can be placed directly into 280. I am taking that in addition to 203 for this semester. I do have interest in taking 381, but I would like to wait until after I finish both 370 and 281 first before considering it. I also heard from another CS student in his senior year that 381 is very intense. My academic advisor also told me that I should wait until my senior year before I consider taking any MDE courses. My only concern is that if 381 is as intense as you guys say it is, then what options are available for me to take that can be considered “filler” classes to fulfill my full-time requirements? I would like to keep my semester credits as low as possible while staying eligible for full-time financial aid. I’m taking 12 this semester just to adjust to the workload at this university and have enough time outside of class to partake in extracurricular activities and extra breathing room.

Also, I would like to ask if 270 is really worth taking. My academic advisor told me that you need to complete either 270 or 203 to take 370, but 270 isn’t required whereas 203 is. Should 203 be sufficient enough to thoroughly prepare me for 370 or does taking both 203 and 270 really make a big difference?

While you are taking 381, many people would suggest not taking any additional EECS courses, and maybe not even any additional STEM courses at all. You may try to take some of your intellectual breadth and/or general elective courses, but as a transfer student, you may have already had all of those credits taken care of?

I’m sure 270 helps provide some helpful background for 370, but anybody can guarantee you that 203 is absolutely sufficient.

Yeah I will have my intellectual breadth requirements fulfilled after this semester. However, aside from general electives, there are also plenty of technical electives that I need to complete (10 credits if I am not mistaken) in addition to major design courses.

I think I am going to skip 270 since it seems like 203 is significantly more useful. Hopefully I will get a better academic advisor to help me in that regards next week since my last one was, no offense, but not too helpful.

Your advisor is not always right, and they can only make suggestions. In the end, you are the one in full control of what you choose to do. So yeah, you are absolutely required to take 203, regardless. 270 counts as a flex tech, and towards the 18 credits of CS coursework (not counting the core courses). However, this fall, Prof. Bertacco is very good (and yes, I have found ratemyprofessors.com to be mostly reliable).

You can find what qualifies as flex techs here: http://eecs.umich.edu/eecs/undergraduate/computer-science/16_17_cs_eng.pdf. Almost any 300+ level STEM course will work.

Many EECS students probably should only take EECS 381 as a general credit course during senior and fill out the 16 ULCS first with other EECS classes. I’ve known people who even take EECS 482 and found out they fail the day before graduation.

If you have at least a A- among each of 280, 203, 281, 370, and 376, then you have a good indicator that you can handle 381

The thing is, I want to take both 482 AND 381, which are both considered to be “extremely heavy” according to that link you sent me. At the moment, I feel quite limited based on what classes are available to take in terms of technical electives and ULCS classes until I get 281, 370, and 376 out of the way. Somehow, only my academic advisor knows how many general electives that I have taken. It would be helpful to know because it will help planning for future semesters soo much easier. Also feeling limited to taking only 2 EECS classes seems frustrating since I want to get the last 3 courses for my program subjects taken care of. At the same time, I do not want to bite off more than I can chew and jeopardize my GPA, which I must keep as high as possible in order to get into my dream internship.

Students who start as freshmen are always advised early on to carefully spread out their intellectual breadth and general electives, not just use them all up right at the beginning. Because the CS (like any other engineering) program is very structured, with a number of classes having long prerequisite chains, using up your intellectual breadth and general electives too early on in your undergraduate career can cause you to have to be overly stressed by overly overloading yourself, or graduate later.

How many years of college did you complete before transferring? Are you extremely inflexible about having to graduate on time or are you willing to take an extra semester or year?

I graduated with my associates degree three years from my previous institution. It’s equivalent to the first two years at university where you take your general pre-req courses, writing courses, intellectual breadth, etc. I noticed that the typical schedule contains only 2 EECES classes, but at the same time, there are other courses as well such as maths, general electives, and intellectual breadth courses. It does seem like I will have to stay here for an extra year, especially since I’ve heard from others that 381 and 482 are soo hard that you pretty much have to take them without any other courses. If I am to do that, then that means I will have to somehow satisfy my major design and upper level courses requirements all after my second year here.

Since most of the EECS courses are all 4 credit hours, then how doable would it be to take 4 credit foreign language courses like Chinese to satisfy the 12 credit requirement? I’ve always had an interest in learning Chinese, but at the same time, I don’t want the class to kill my GPA.

If you take 203, 280, and a Chinese class this fall, that shouldn’t be that bad.

If you want to take 381 and 482, then next semester, take 281 and 370 together. That will already be quite a lot, so then if you think you can handle more than just the minimum full time load, take stats 250 or 412 (takes care of your stats requirement) along with another easy class. 482 should be doable with 376 (as long as you can avoid Prof. Shi from what everybody says).

I already have my stats requirement fulfilled since I’ve taken stats earlier this summer at my previous institution. I heard 281 is pretty hard, so taking that and 370 in the same semester sounds like quite a task. However, I will see throughout the semester how well I can handle my current course load and see if I can add Chinese to it (a 4 credit class) to fulfill my 12 credit requirement. If not, then I might have to ask financial aid if I can change my plans temporarily to part-time on semesters that will be rough.

I’m not sure if I should next year take 482 and 376 in one semester and then just 381 the next, then finish my last year by completing the rest of the graduation requirements, or if I should just wait until the final year to complete 482 and 381. I know these classes are hard, but I really want to take them because those are the classes that will be most beneficial to my future endeavors.

Well, my father isn’t a fan of the idea of being part time. He wants me to take 12 credits no matter what. He doesn’t care about my GPA, he just wants me to get my B.S. in engineering and be done as soon as possible. So I might not be able to take 482 or 381, sadly. :frowning:

It’s not that you can’t be 482 or 381 without being full time. You may just have to take minimum credits that semester and possibly easy [non-EECS] courses concurrently.

If anything, 482 should be more manageable.

If you can only take 482 or 381, you should take 482 because you may learn contents of 381 in the industry anyways on the job if you go to a top company.

Is 381 offered in the spring/summer semester? I am really thinking about taking that course during the Spring/Summer 2018 semester if it is offered. Forgive me for asking, but could you provide some examples of “easy courses”? Thank you.

Barely any CS courses other than 203, 280, and 281 are almost guaranteed to be offered spring/summer. For spring and summer, 376 was offered once and 270 has been offered before, but I would not really count on those being offered.

EECS 441 is known to be the easiest option for fulfilling your MDE requirement. EECS 493 is on the lighter side.