I spend more time than I would like to admit on /r/ECE, the subreddit dedicated to electrical and computer engineering. One of the threads that I see a lot is a high school junior or senior asking some variant of this question:

“What do you need to know going into an electrical engineering degree program? I feel like there is a ton you should know that I’m just not prepared for!”

I see a lot of anxiety buried in that statement, and I can totally empathize with it. Engineering is frequently touted as a difficult major to those who express an interest in studying it. While that’s not totally incorrect, I tend to feel it’s a judgment leveled by people who:

  • have a strong incentive to gently discourage you from trying hard courses in high school. Note that this isn’t a malice or condescension thing: the state of education law in the US has money attached to keeping your grades (and, by extension, your college prospects) good.
  • aren’t fully informed about what an engineering course of study entails. (Sorry, but I’ve never met a high school guidance counselor with an engineering degree.)

To me, I can see why this combination can generate a lot of consternation in the incoming engineering crowd. On the one hand, you’ve got a lot of people telling you that you’re setting yourself up for a hard course of study. On the other hand, those same people also tend to be annoyingly vague on what kinds of things you actually have to do once you enter an EE program. Compounding both of these is the fact that you’re on the cusp of leaving home and stepping into a totally unknown environment, which doesn’t do anything to decrease your overall anxiety level.

This piece is my best attempt to put at least one of your fears at ease, and I’ll do it by answering the question: “What do I need to know entering an electrical engineering program?”

(Note: while I’m speaking mostly from my experience as an electrical engineer, a good portion of what I’ve written here is broadly applicable to other engineering majors as well. You can fill in the details about exact coursework and whatnot with a little help from the almighty Google.)

The Good News

A really common worry I see on /r/ECE is that other incoming EE students have a leg up on them. It’s always something: the other students have taken a raft of AP courses, or they’ve been programming since they were seven, or they’ve been tinkering with electronics and Arduinos for years. I’ll lead with some good news for the particularly frazzled among you: there is nothing you need to know upon entry into an EE program that you haven’t already seen in high school. While some of your classmates might be math geniuses or electronics wunderkinds or hardcore programmers, these are outliers, not the standard. How do I know? For one thing, I’ve done it, and I’ve seen what the incoming skillset looked like. I also know because, well, there’s some truth to what everyone is telling you about engineering: it’s hard, and hard things aren’t that easy to pick up!

Now, you might be mildly dismayed by that last statement, but you have to realize that there’s some good news buried in it. Engineering is a difficult thing to study, it’s true. However, the folks designing the curriculum knew this in advance, and structured your coursework to bring you up to speed quickly. To put this another way: engineering programs are designed to teach to the lowest common denominator. If you take a moment to think about it, it’s perfectly sensible why. Most high schools in the US (or the world, for that matter) just don’t have the money, personnel, or time to offer things like AP Calculus or computer science classes. There may be someone who got a 5 on the AP Calculus exam in your year, but you’ll notice only one real difference between your schedule and hers: she won’t be taking calculus. We’ll go into a little more detail about classes in a minute, but just know that your first year of engineering school isn’t geared towards that guy who knows all about Arduinos. It’s designed towards all the folks like you: ones who are coming from a pretty general high school background. Unless you can demonstrate pretty exceptional ability in an area of study - by getting a 5 in an AP exam, for example - you’ll be in the same chunk of general engineering classes as everyone else coming into the program. Since there aren’t a lot of AP classes really geared towards engineering, it will become clear pretty quickly that everyone is on relatively even footing.

(Note #1: the guys who know all about Arduinos and programming are generally the ones who end up struggling in math, because they’re really used to having computers do it for them. My point being: even the ones who seem like they’re miles ahead in one area will eventually find something to struggle against.)

(Note #2: Looking at you here, James. :D)

The Best Skill To Have

Let me pull back the curtain for a moment on what your first year of EE coursework will look like. I’ve taken some time to look at a few ECE websites, including my alma mater’s, and they all appear to have some variation of the following course schedule, with the associated time commitment:

  • One year of calculus - 4 hours of class per week
  • One year of physics - 4 hours of class per week
  • One semester of Introduction to EE - 2-4 hours of class per week (This seems to be a big source of variance between schools. MIT has a 4 credit intro to EE class. Montana State University, where I went, has a 2 credit intro to EE class.)
  • One semester of Introduction to Computer Science - 4 hours of class per week
  • One semester of chemistry - 4 hours of class per week
  • One to three elective classes - 3-4 hours of class per week

The more astute of you may have noticed that these sum up to about 16 to 18 hours of class per week. You’ll need to add in homework and reading on top of this as well, and I’ve always thought that it was my freshman English teacher who had the best guideline for this: “Expect one to three hours of reading and homework for every hour of class.” Crunch the numbers, and it’ll come out to about 40 to 80 hours a week of work. Whoa! Right about now, you, like any sane person, are probably asking yourself, “How in the hell am I gonna get through all that?!”

That brings us to the best skill I can think of for incoming EE students: time management. Chances are good that college will expose you to a much less regimented system of learning than you were used to in high school. Some days, you’ll have a whole bunch of classes, while others, you might have none at all. Classes might get interspersed with breaks of an hour, or several hours. On top of this shotgun blast of coursework, you’ll be managing a whole slew of things you’ll never have had to deal with before. Dorm life, food, exercise, extracurriculars, laundry, parties, drinking - these are things that you’ve either never seen, or had taken care of for you before you got to college. How are you supposed to manage all of that coursework and all of those other awesome opportunities? Simple: by realizing there are only so many hours in a day! The week I started engineering school, my mom gave me one of the best gifts I’ve ever gotten: a day planner. After week one of receiving course syllabuses (syllabi? Never can figure out the right plural there), I realized I was screwed if I wasn’t writing it all down and getting a good idea of my deadlines. Though I’ve largely gone electronic with my timekeeping now, I still do it obsessively, and I still think it’s one of the most crucial skills I’ve ever learned.

Let me be perfectly clear in what I’m saying here: I am not saying you shouldn’t make friends, join a collegiate club, or go out to a house party on a Tuesday night. I did all three of those things in college, and it would be a damn shame if you didn’t either. What I am saying is that between coursework and everything else, you will be busy. The sooner you get a system to block out time to get everything done, the sooner you will realize that you actually have time to get everything done. Do it right, and I imagine you’ll find that you have even more time than you first realized. I did, and ended up having enough time to learn an instrument and start a band!

If You Want To Know, Ask

I’ve made passing mention of this fact a few times, but I’ll go ahead and say it again: engineering school is hard. The good news is that you don’t have to do it alone. In fact, nobody expects you to. Part of the reason you’re paying top dollar to go to a university is that it’s full of experts who have done what you’re studying their whole lives. That money buys you the privilege to ask them questions - even dumb questions! What’s more, nearly all schools require professors to have office hours, which is where you can exercise that privilege of asking questions.

It’s one of the most ad nauseum pieces of college advice, but introducing yourself to your professors is one of the best things you could ever do on the first day of class. They are your most powerful allies in your academic career; don’t make the mistake of not enlisting their help!

Math - Not Even Once

I really had to make that joke in the title. Sorry. OK, sorry I’m not sorry. But anyway, math. It’s one of those things that people like to get really worked up about on /r/ECE. So I’ll do my best to give you some decent guidance on what you need to know.

Let me clear up one thing up front, if I haven’t done so already: you do not need to know calculus upon entering an engineering program. You do need to have some comfort in algebra, however. Trigonometry is also exceedingly useful; though you won’t need to know calculus going in, there are a ton of trig identities that are really, really useful in solving brutal calculus problems. There are a ton of good hits on Google if you search for “trigonometric identities cheat sheet” or “trigonometric identities flash cards” - it’s worth your time to grab one if you need to brush up.

What happens if you get to university and find out that you aren’t as up to speed in math as you thought? That’s generally not a problem - you just need to take a semester to catch up. Nearly all colleges offer a calculus prep math class that will get you ready to roll on calc. It might cost you a semester, but it’s worth it to make sure you know you’ll succeed. If you’re still worried about whether or not you can hack it, get in touch with the university’s math department. Most offer placement exams that can clear up your math strength in a hurry.

Hello, World!

Programming knowledge (or lack thereof) is another source of stress for many of my fellow redditors at /r/ECE. It shouldn’t be. While our culture loves to talk about the child prodigies who write and sell millions of apps before they’re eighteen, you need to realize that these people are the exception, not the rule. Most people have no idea about how computers work, or how to talk to them, and that’s the expectation most university engineering programs teach to. It’s not a terribly unrealistic expectation either, if you think about it. The era of cheap, widely available computing platforms is a very, very recent phenomenon. According to the US Census Bureau, as of 2013, one in four didn’t have an Internet connection. One in five households didn’t even own a computer! Even with all the recent trumpeting of “teach everyone to code”, it’s a difficult goal to reach when 20% of the population has no access to the tools you need to do so.

Suppose you want to try your hand at programming before you enter school. That’s totally doable! If you have a computer and internet connection, I highly recommend trying out the Python programming language. There’s a handy beginner’s guide that will guide you through the software installation, as well as writing your first program. (In fact, if you’re reading this on a Mac, or a Linux machine, you might already have it installed!) Don’t have a computer? For about $50, you can buy a Raspberry Pi, an open source computer that comes with Python installed. All you need is a TV with a coaxial or HDMI input and a keyboard to start writing programs!

If you want a more rigorous course of study on Python, I’d recommend Zed Shaw’s Learn Python The Hard Way, which is a free ebook with over 50 lessons to show you how to write great Python code. Zed’s a sharp and entertaining guy, and I’ve used his courses myself several times. It’s worth a shot if you’re looking for a more structured introduction to programming!

Wrapping Up

A lot of the anxiety I see online about studying engineering is perfectly understandable. The transition to college, and the associated pressure of figuring out what you want to do with your life, isn’t easy. On that front, I have more good news: you don’t have to have anything figured out about your life now, or any time soon. At the time of this writing, I’m 26, an electrical engineering graduate, and thoroughly employed, and I have zero concept of what I really want to do with my life. There’s no reason for me to hold anyone else to a similar expectation.

I really enjoyed my time as an engineering student. It was challenging, and helped me understand how a lot of things work that I never would have figured out on my own. Plus, even if you don’t use it, an engineering degree is a great path to a job in lots of fields. It’s like a badge that shows you can start and finish something hard. Employers love that.

Any questions? Any anxieties I wasn’t able to chase away? Shoot me a line on Twitter and I’m happy to talk about it one on one.

All the best of luck in your studies, engineering or otherwise!

⤧  Next post Why You Should Complete Your Engineering Degree In Five Years ⤧  Previous post Flashing Freescale MCUs Without Kinetis Design Suite