This is Prof. James C. Hoe’s personal and unofficial recommendation to an ECE undergrad who is 1) interested in computer architecture AND 2) considering going on to graduate study.  I will continue to expand this page as time goes on. This does not reflect the opinion of anyone else, and there is no guarantee of suitability. I believe every word I said, but that doesn’t mean you should too.

 

Topic: Don’t Overload!!

 

“BS in ECE: requires a minimum of 360 units.  This means that (assuming you have no AP credit), you should average approximately 45 units each semester for 8 semesters.”

 

My interpretation of that statement: Most of you have AP units, so this means you could actually take less than 45 units per semester, or take 45 units per semester that included other more “well-rounded’ courses beyond the 360 needed to graduate.

 

“ECE Overload Policy:       If you achieve at least a 3.50 QPA, either overall or in the semester prior to the one you’re registering for, then you may Overload, which means you may carry up to 66 units (67 for the Fall of your Sophomore year).  This includes any courses taken as Pass/Fail, or which you are auditing.”

 

My interpretation of that statement: If you go beyond 4 courses, you are overloading, and the quality of learning suffers.  (There is a reason you see the prefix “over” in the word “overloading”. It is a warning that you are operating beyond the intended range.)  Ask yourself, are you here to learn as well as you can or as fast as you can?  What most students do not realize is that there is typically more than a factor 2 difference (to be conservative) between the absolute performance of the best “A” student and the lowest “A” student in a course.  Just because you got an A, you should still ask yourself, did you get a much as you can out of that course?  If you are taking 66 units, you don’t have time to get as much as you can out of your courses.

 

You might be tempted to think by overloading you are getting more “units” per dollar (of tuition) out of CMU.  Don’t confuse that with how much learning and retention you are getting for your dollars.  Overloading is not worth it.

 

Topic: How to do well in school

 

I assume all of you have the mental “horsepower” if you are at CMU in the first place.  It is easy to do well if 1) you enjoy what you are studying AND 2) you apply good study “mechanics”.  If the former is false, you have a big problem. But, the latter just takes discipline.  I was going to write about study mechanics, but then I found this.  This link isn’t presented from quite the right context, but it has got the basic study mechanics well covered.  Now you have an actual recipe for success written down in front of you, do you have the discipline to follow through? 

 

Studying correctly will make learning more pleasant and productive---all the while taking LESS (not more) time.  Nothing is more frustrating (and a big waste of time) than showing up to a lecture and not understanding what the professor is talking about. (Did you do the reading assignment beforehand?)  Nothing is more frustrating (and a big waste of time) than struggling on a homework assignment that you fundamentally have no clue about. (Did you wait until the night before the deadline so you cannot get help in office hours?  Did you skip the relevant lecture in the first place? Did you do the reading assignment?)  These unpleasant scenarios and others like it can be avoided if you had the discipline and mechanics to do the right thing in the first place; trying to make up afterwards is a forever up-hill battle.  Every topic you don’t understand well now will make it that much harder to understand the next topic that depends on it---don’t let it snowball.

 

I often get asked by students (even seniors) the question “do I need to know X for the exam.”  This is a sure sign that this student is still under the high-school’ish mentality of studying for grades rather than studying to learn. Ask instead the question “do I need to know X if I want to have a career in Y.”  Similarly, when you receive a low grade in a course, worry less about how it impacts your GPA; worry more about what the grade is telling you---you didn’t learn the material as well as you should.

 

Topic: What courses to take

 

There are so many different courses you could take as an ECE undergrad at CMU. This can get really confusing. The suggestions below are simply a representation of what “I” would have taken had I been an undergrad in ECE today.

 

ECE Core:

18-100          Introduction to ECE                                                                         12 units

18-220          Fundamentals of ECE: Electronic Devices & Circuits2                      12

18-240          Fundamentals of ECE: Digital Logic & Computers3                          12      

(18-290         Fundamentals of ECE: Signal Transmission and Processing              12) 

18-200          Emerging Trends in ECE (Sophomore Seminar)                              1

 

ECE Breadth:

15-213          Introduction to Computer Systems                                                   12

18-322          Analysis and Design of Digital Circuits                                             12

18-341          Logic Design Using Simulation, Synthesis, and Verification              12

 

ECE Depth

18-447          Introduction to Computer Architecture                                              12

 

ECE Coverage

15-410          Operating System Design and Implementation                                12

 

Capstone Design              

18-545          Advanced Digital Design Project                                                      12

 

There are still 50 units of Free Electives. They should not all be technical, but it does give me the time to take a few more courses (without overloading).  Here are examples of some courses I would consider choosing from.

 

18-340          Digital Computation                                                                        

15-411          Compiler Design

18-441          Verification of Computer Hardware Systems

18-525          Integrated Circuit Design Project                                          

18-540          Rapid Prototyping of Computer Systems                                         

18-741          Advanced Computer Architecture                                                    

 

I would make it a point to take a few fun, non-ECE courses (freshman-level intro courses are just fine). 

 

I would also include a senior project.  If I were interested in going to graduate school, I would start my senior project the summer before the senior year.  I would not try to do undergraduate “research” during the semester with a full course load.  Lastly, I would do a technical internship in the industry the summer before my junior year.

 

Again, this simply reflects what I would have done as an undergrad. If you don’t like what you see here, don’t be shy about asking another professor closer to your area to tell you what he/she would do.

 

Topic: Undergraduate Research Opportunities

 

It is very good to do undergraduate research, especially if you are planning to go on to graduate school.  It will give you a taste of “research”, and it will give your advisor something concrete to write about in the recommendation letter (if you do a good job that is).

 

I do work with undergraduates on research.  Almost without exceptions, the following are true.

1. The student is planning to go to graduate school.

2. The student is interested in computer architecture and hardware.

3. The student has taken 18-447 (and done well).

4. The student has substantial experience with C (or some other programming language) AND Verilog (or some other HDL).

5. The student is available for full-time research (for pay) in the summer before the fall of graduate school application.

 

I only have resources to work with 1 or 2 students each year.  So I prioritize heavily for those who fit the above criteria.  I have stopped working with undergraduate students during the academic semesters, except 1. someone continuing from a summer project, or 2. someone who just needs a “consulting” mentor for his/her honors senior project of his/her own design.  I am generally very willing to talk to you (CMU undergrads) especially if you come to my posted office hours.

 

Topic: Going to Graduate School

 

You should be able to find me giving this talk at one of the IEEE student meetings each Fall.

 

Topic: Asking for graduate school and fellowship recommendation letters

 

Rule #1: Unless the professor knows you by name without prompting (and for good reasons), don’t bother asking him/her for a letter.  Rule #2: If a professor appears reluctant to write you a letter, it is little use to try to persuade him/her.  An impersonal, lukewarm “form” letter will not help and may actually hurt your case. If you know you are going to need recommendation letters in the future, start building relationships early.

 

For formal letters, make sure you ask your letter writers at least one if not two months ahead of the deadline.  Be sure to provide very clear instructions to your letter writers.  Provide pre-addressed and stamped envelopes if appropriate.  Remind you letter writers again a couple of weeks before the deadline.  If possible, take it upon yourself to verify the letters have been received by the destination.

 

Topic: Asking for job application references

 

Much of the above still applies, but references for industry jobs are much less formal.  Be sure to ask for permission before you list someone as your reference.  It is customary to just say “Reference available upon request” on your resume.  Usually companies won’t even bother to ask you for your list of references until after you have gone through an interview and done well. 

 

Topic: Do you have the knack?

 

College is all about finding your knack.

 

 

 

Didn’t find the answers you were looking for? Try emailing me the question directly. (How to contact me.)