This was another one of my picks for the blog project. I wanted to write about this before I couldn’t really remember it well.
A part of me wants to write about how a class would affect me on a personal level; like standing on desks and shouting “O Captain! My Captain!”, but that would be disingenuous. I didn’t have a class that hit me like that in college. I had classes that were largely analytical, technical, and mathematical. That didn’t mean I didn’t have liberal arts classes, I did. I know it’s in vogue to promote STEM and besmirch liberal arts, but I think that studying the arts is incredibly important. Personally, I see a dearth of those skills in the STEM fields. It’s not extremely helpful when you know how to solve a problem, but you are unable to communicate your solution, methodology, or perhaps, even the problem itself properly. One needs to not look very far to see these examples in action; SNL has skits about the unintelligible, condescending IT guy or look to the horrific Challenger space launch for the mother of all communication breakdowns. Clearly, this thought train has been derailed. All I’m really trying to say is that I view non-STEM classes with importance, but in the case of this entry, it is an engineering class I will be talking about.
*Steps off soap box*
The most influential class is actually a toss up between ECE 233: Introduction to Microcontrollers and ECE 371: Computer Organization and Architecture. Both are amazingly important classes in my eyes for the computer engineer, but 371 wins out because of just how fundamental it is. Computer architecture, in essence, is how a computer is built. This does not mean buy some parts and build a desktop PC, but more like gate-level logic and building a functioning CPU from scratch (at least scratch from the gate-level, we didn’t have to make our own transistors). This was exactly the class I was thinking was going to be the norm when I started engineering. It took six semesters of laborious work, but the class was as interesting and fun as I thought it would be when I started school.
We were taught how to design and build all the components of a computers, chief among them the CPU. We designed a five-stage pipeline RISC processor that was a MIPS variant, with 32 instructions. The hand drawn schematic for the CPU we built in class is attached above. It even ran programs, albeit very simple programs – think, add these two numbers and then subtract the result by three. The fact of the matter is at some point everything we do in a computer is basically broken down to simple operations like that, which still amazes me today. I say this as I type away at this silver slab and words magically appear on a screen while I listen to music coming out of the same silver slab. Of course it’s not magic. It’s just awesome engineering and science.
It is worth noting that we had a really great T.A. without whom the class would not nearly been as engaging or worthwhile. He spend many hours of his own time, well above what he was paid for, designing labs and instructions to help us accomplish all we did in one semesters time. So, good on you, and thanks!
I tried to take the follow up class, but alas there was not enough interest that semester to justify it. While disheartening it hasn’t deterred me from learning more on my own. It is such a broad and wide ranging topic, and it never ceases to amaze me the crazy solutions people have come up with to optimize things such as adders. Geniuses.
So, last May, I graduated from college. I ended up graduating with the same degree I started with, B.S. Computer Engineering (not engineering technology, engineering). I took a bit of a circuitous route to get there, but I ended up getting there, a little worse for wear.
Here is a small map showing how I got to graduation.
Fall 2006: Started at Purdue University, West Lafayette in exploratory studies because I didn’t get accepted into engineering.
Summer 2007: Due to struggles with Calc 1 I had to take it in the summer. Took Com 114 and English 106 with it as well. Got all A’s. Everything was set.
Fall 2007: Tried to transfer to school of Electrical and Computer Engineering and was accepted. Things are looking up!
Spring 2008: Things are still looking up!
Fall 2008: Acquire mononucleosis. Be really sick for a while. Start slipping into depression. Fail most classes.
Spring 2009: Continue being depressed, don’t attend class, become overwhelmed, and fail all classes. Get kicked out of school. Things are not looking up.
Fall 2009: Sit out semester, because I have to due to school rules before reapplying.
Enroll in community college, but don’t go.
Spring 2010: Reapply to school. Get back in! Time to right the ship! Fuck it up! Have to sit out a year before applying to any other Purdue campus.
Fall 2010: Transfer to Trine University and switch majors to Informatics.
Spring 2011: Realize you are miserable and hate this major and feel like you gave up on your dream. Re-examine everything. Go to seminars and read books to try to get your life in order. Apply to Purdue Calumet for computer engineering.
Fall 2011: Get accepted to Purdue Calumet. Buckle. The. Fuck. Down. Get semester honors.
Spring 2012-Spring 2014: Spend almost all your waking hours studying and doing homework. Graduate!
I know this is going to sound overly dramatic, but it is one of the hardest, if not the hardest things I’ve ever had to do. I couldn’t be happier that I did it as well.
It was a major test of patients and perseverance, but I would do it again, in a heartbeat.
Here is a little synopsis about how I had to change to become successful in school and beyond.
Write down everything: every assignment, every meeting, every class, everything. If you spend anytime around me you will undoubtedly hear me utter the words, “My brain is stupid.” I believe I heard it while reading Getting Things Done, but I may be mistaken. What it means is your brain is terrible at remembering things when it needs to, so don’t rely on it. Write it down. Put it somewhere reliable that you will check. A phone is fine as long as you check it regularly.
Stick to the calendar. I mean it, if the block of time says study, do it, no questions asked. Don’t modify the calendar. This might seem a tad rigid, but that is the point. We are human and will likely make the wrong call in the moment and will end up fucking it all up. Just stick to the schedule.
Study with no distractions. There was a place at the top floor of the union with individual study carrels and an enforced silence policy. It was completely isolating. It was almost never used by anyone and had sea foam green bookshelves that hadn’t been touched since Nixon was in office. I didn’t enjoy being there, but I spent countless early mornings there because it allowed me to focus on specifically what was in front of me. It allowed me to be productive and not worry about anything else.
I ended up picking up a part-time job starting in the summer before my senior year. I was a process control engineer for a company. What little free time I had left was now devoted to that. It couldn’t have been a better decision though. It gave me so much valuable experience. It allowed me to talk confidently about situations in interviews without having to resort to “well, I had a group project in school.” It wasn’t what I wanted to do long term, but don’t let that scare you off. Every employer I talked to since then has taken great interest in stuff I learned during my tenure at that job; not to mention the recommendations I picked up along with it. The concise nugget of wisdom I learned from all this is, don’t hold out for your dream job; gain experience and work towards that dream job. That job may never come without that initial push, and you might stumble into something you never knew you would like.
I had to include this, as it was such a huge part of college for me. This section really deserves its own post, which it might get at a later date. It didn’t occur until I started at Trine University. I started an improv comedy group with my friends called Ad Liberation. I was some of the most fun I had in my entire life and taught me skills I couldn’t pick up in engineering school. It was the ultimate release for what was a very analytical, math and code filled week. It allowed me to engage the other half of my brain, which was oft neglected. I had never done improv before this, nor anything even remotely related to theater. I came into contact with improv through an ex-girlfriend and through her I met some of the closest friends I’ve had, Tim and Mike. (Tim is the same one from the world famous Tim and Matt Play). They had been doing improv for a while at this point. Both did improv in college and as semi-newly minted grads were looking to continue the comedy magic. I expressed interest and we started practicing out of Tim’s garage. Shortly after my best friend, Katie, joined the mix and this was the real start of Ad Liberation. I learned to think on my feet, and to never be nervous talking to anyone. I can public speak with little to no preparation if need be. It remains some of my most cherished memories (luckily, past Matt archived 95% of the shows). We faced an audience that had never heard of us and we did a style of improv, long form, that isn’t the biggest audience pleaser. Still, we ended up doing it, and some of it was damn good. I, sadly, had to leave my final semester as senior design was devouring all my time. I would be lying if I said I didn’t miss it. I miss it like crazy, and I hope to continue it in some fashion soon. My life would have been amazingly uneventful without this, and I thank all the members past and present.
Another conscious decision I had to make was that for about two and half years, while I finished my degree, I was, for all intents and purposes, on a media blackout. I did the math, literally. I added up all the hours and cut out all the time I had for sleeping, school, work, and other obligations. There was no time. My one salvo, to make sure I didn’t come out the other side like Robin Williams in Jumanji, was podcasts. It took me roughly forty minutes to drive to school or work (they were conveniently very close to each other), which left me plenty of time for a bevy of podcasts. Movies, comics, books, TV shows, and video games were all off the table. I’m not going to sit here and tell you it didn’t suck. It sucked badly, but I did get used to it. I just knew I wasn’t going to be the guy to discuss the new hotness with. The video game one hit me the hardest, but I was able to live vicariously through some other people thanks to the aforementioned podcasts. It does free an amazing amount of time up not consuming so much. It’s been over six months since graduating and I’m still not caught up on everything I missed (I’m looking at you DC universe), but for most of it, I don’t need it. It’s non-essential, and I probably will never go back to the way it was before then. I’m not saying this in a “Oh, TV, I don’t own a TV sort of way” I just have other activities I’ve found a little more satisfying on a personal level.
My final paragraph addresses a mindset I’d like to challenge. The idea that if someone is inclined toward one thing or another it’s super easy, or if you are on the losing side, then it’s not attainable at all. Of course I am merely speaking from personal experience. I did not start college in engineering because I was “the math guy” in high school. I loved computers. I was really good at IT (and even that was because I spend hundreds if not thousands of hours with computers growing up). I was bad at math. I barely made it through pre-calculus in high school. I started in Calc 1 in college and I failed miserably. It was overwhelming. Can I calculate a Fourier transform now? Heck yes. You know the difference, six years. Six years, hundred of homework problems, more problems that weren’t homework, and many nerve-wracking, headache-inducing nights. This is not a brag, or humble brag. This is to say this isn’t some natural talent bestowed upon me by a benevolent creator. This was work, and everyone can do it. It’s just a matter of how much you want it. I couldn’t see myself without that degree. I envisioned graduation day in my mind just about every day. If you want something, go for it, and if it’s hard, go for it harder. There is a quote I heard from Scrubs of all things, “nothing in this world worth having comes easy” and while I’m not naïve enough to think that applies to absolutely everything I think the sentiment holds for a whole heck of a lot.
I’m incredibly proud of what I did, but I didn’t do it alone. I want to thank everyone who helped me along the way, providing monetary and/or emotional support. While I would have liked to learn some lessons earlier I wouldn’t change the whole narrative, and would absolutely endure it all over again. I learned an incredible amount. It was even fun sometimes.
I had to post this here because it is the culmination of all my efforts. I will post a full post-mortem on the project sometime, but for now:
I’ve been silent recently about the robot project, because there really wasn’t a lot of showable progress. However, we are now nearing completion, like really, fully complete. We are going to get near or right at what our original goals were which is insane to think about when you realize how much work had to go into it. So, until I put up a final postmortem with all the results, I wanted to post some video showing off some cool stuff so far.
We worked furiously up until the competition, but we knew we’d need a big push to get something not embarrassing to bring to Notre Dame. I knew we’d be in the senior design lab most if not all of the night so I set up a webcam in the corner and capped pictures every 30 seconds. This is the time-lapse of 16 hours compressed to a minute.
Here is a video of the throwing mechanism actually able to throw it to a receiver.
We can modulate the speed of the motors so here is some preliminary tests where we assign a specific speed to each of the buttons of the Xbox 360 controller.
Here is us at the competition. We were super pleased with what we had working and here is a little video showing some throwing tests.
There is a comprehensive video and document forthcoming, with absolutely everything about the project. I want it to be as open and assessable as possible so people can learn from what we did and maybe do it themselves.