I’m done with academia, and I’m in the process of a fairly major transition in my life. In this post, I’d like to reflect on my time at Cornell University, and some of the experiences I’ve had over the last few years. In a follow-up post (find it here), I’ll announce what will be keeping me busy next.
This post is extremely long, and I’ll probably come back to make edits to it as I think of more things to include.
It feels like just yesterday that I was moving into my freshman-year dorm on Cornell’s North Campus. It’s hard to believe that five years (four years for undergrad and one for masters) have flown by so quickly. Two months ago, I graduated from Cornell University with a masters degree in Electrical and Computer Engineering, after receiving a B.S. in the same field a year prior. In this blog post, I want to make sure I write down my own thoughts on my college experience; I want to contemplate the good and the bad parts of the last five years, and use these memories as an opportunity to consider what the future might bring. I’ll try to sprinkle in some words of wisdom for students getting ready to start on their college journey – some advice will appeal to all college students, some only to engineers, and some only to those who will be attending Cornell University. Read on!
Lessons Learned and Advice for Freshmen
There is one thing that I tell to all college freshman who I meet: “Learn to live by the law of diminishing returns.” For those not familiar with it, the law of diminishing returns is a principle often applied to economics. It states that in a productive process, adding more of one factor of production, while holding all others constant, will at some point yield lower per-unit returns. This same theory can be applied to coursework. Consider this example: It may take you 10 hours of studying per week to obtain a B+, or 40 hours of studying per week to increase that to an A. Does it make sense to add an extra 30 hours of studying to increase your grade by just that little amount? In my opinion, no. That extra is much better spent meeting new people, pursuing your own projects, and taking advantage of what your college has to offer you, both inside and outside of your major. I knew plenty of people who practically lived in the library, and had really high GPAs. But, those same people frequently had no external activities, minimal social lives, and little experience tackling real world engineering problems.
Take classes and meet people outside your major. Nearly every university or college has a range of majors. One of the reasons I chose to attend Cornell was because there are 7 undergraduate colleges, ranging from hotel administration to agriculture and life sciences. I took at least one class outside of engineering every semester: economics, sociology, music, history, infoscience, and communications to name a few. Not only does diversifying your course load help to keep you sane, but it may help you to discover new things you had never given thought to. For example, I created the SudoSynth while taking a music class as a way to incorporate my electrical engineering knowledge. It’s also important to make friends outside of your major. I personally didn’t have many friends outside of engineering until my Junior year, but by the time I graduated, the majority of my friends were outside of engineering. It’s amazing what you can learn from people who are approaching their education from a completely different perspective. While I loved spending time with all my engineering friends, I wish I had made more friends in other majors earlier in my college career.
If something is missing, create it! You have to be the change you wish to see. If there is something that you are passionate about, then it is your responsibility to make it a reality. At most colleges, creating a club is a very easy process. I wanted to create an interdisciplinary sustainable design-build team, so I did. I wanted a co-working hackerspace, so I made one. Obviously, I didn’t accomplish any of this on my own; it takes teamwork – That’s why I said you should make lots of friends outside your major.
On that note, working together is a key skill, especially in engineering. There are obviously lots of perspectives on this idea. Steve Wozniak, who I admire greatly, is frequently quoted as saying, “Work alone… Not on a committee. Not on a team.” Maybe that works for the Woz, but in my experience this couldn’t be further from what I’ve found to be succesful. There are obviously limits – you don’t need a team of 10 electrical engineers to design a simple circuit board any more than you need 10 authors to write a book. Too many cooks in the kitchen is equally as bad as working alone. I’ve found that small, focused teams are ideal for accomplishing projects. It’s important to identify people with different skill sets, so that everybody can bring something to the table. Both college, and “the real world” should not be about competition – you’re certain to make much more progress when you work together and pool resources to accomplish a common goal (hence why I’m such a big supporter of the open source movement). At school, this meant that I virtually never did an assignment alone. Every problem set that I tackled since my freshman year was done with a group of my peers. We taught each other, checked each other’s work, and occasionally poked fun when one of us would do something really dumb like screw up Ohm’s Law. For whatever the reason, Cornell (and most engineering schools) have a reputation for being extremely competitive. I did not find this to be the case at all, and really enjoyed the collaborative nature of my education.
Go to office hours! I can’t stress this enough. I almost never went to office hours with my TA’s or professors until my senior year. If you are struggling with a class, I guarantee going to office hours will help, and greatly reduce your stress. If you can’t make it to office hours, you should at least form a study group and work on assignments with friends – there’s strength in numbers!
When Things go Wrong
Unfortunately, it’s not all sunshine and roses. Before I talk about all the awesome stuff I got to do during my studies, I have to talk about all the crappy parts…
You will have to take classes that you don’t like. Sometimes, disliking a class will even be compounded by having a horrible professor. It’s unfortunate, but true that you are bound to take at least a few classes where you dislike the material, and/or the professor. I won’t name specifics here, but I definitely had a few classes like this. With some of them, I went into them knowing I wouldn’t like them; with others, the class simply turned out to be way worse than I thought it would be. There are a few ways to deal with this…
- Make older friends in your major and ask them about which courses are good, and which are bad. Be sure to check on the professors they had too, because sometimes professors for each class will change (especially for introduction courses).
- Start thinking about which semesters you will take each of your required classes, in advance. For example, maybe you need to take a signal processing class that is offered in the spring and fall, but the fall professor is much better. You should ensure you complete your prerequisites in time to take it with the better professor.
- If a course is truly terrible, talk to your advisor about dropping the class and trying again the following semester or year. I had to do this once due to a bad professor (along with about 40% of the class). I ended up really enjoying the class when I took it with another professor the following year.
- Suck it up. Sometimes, you just have to power through. Find a study group, go to office hours, and fight through till the end!
I over-committed myself… a lot. If any of my professors read this, I’m sure that they will agree. Particularly during my sophomore year, I was working on so many different things at once, it was a miracle that I got any sleep at all. The issue was that I was excited about so many things that I never wanted to say “no” to doing any of them. As a result, I ended up taking 5 courses at a time, doing scientific research, building a solar-powered house, starting a new project team, working on my own projects/videos, and trying to maintain a social life all during the same semester. Do I regret it? No, but it was stupid in retrospect. There are a lot of opportunities available to you in college, and you unfortunately have to say no to some of them, even if they seem really cool. This is actually something I still struggle with a lot (the randomness of my tweets is a partial indication), but I’ve been getting better at saying no during the past few years. Just remember to pace yourself, and prioritize. Socializing, sleeping, exercising, and eating are important – they should not be superseded by other things.
As a student, it’s usually easier to ask for forgiveness than permission (sorry to any college administrators who are reading this). Since Cornell is so large, navigating through the administration is a bureaucratic nightmare. From speaking with peers at other large institutions, this seems to be the case at most of them. If you’re trying to develop a new group on campus, promote an initiative, or even have a bake sale, it’s really important to weigh the pros and cons of using “official channels.” On more than one occasion, if I needed to get something done, I would just do it and explain myself later if the administration got pissed off. This is a BAD idea for some things, and has gotten me into trouble. Filling out paper work can be a pain, but you should absolutely follow all appropriate channels when doing anything that might involve student safety, the exchange of money, etc. You don’t want to irritate the University’s risk management office, or they will never let you do anything again. Use your judgement and always think ahead; if you ask yourself, “Will doing this potentially create a bad situation for me down the line?”, and the answer is yes, then you probably should think twice before doing it.
Why I stayed at Cornell for my Masters
Deciding to stay at Cornell for a fifth year to do my masters was not a decision I took lightly. I had many options for what I would do after finishing my bachelor’s degree. I considered entering a PhD program, I considered starting a company (which I ended up doing anyways), I received several offers for employment at both large and small companies, and I considered taking time off to travel. After lots of thought, I decided to stay at Cornell for an additional year. Here’s why:
- I wanted to continue doing research in the Creative Machines Lab.
- CUSD was awarded a grant to develop new hybrid daylighting technologies, and I wanted to work on them (this eventually spun out into my current startup).
- Cornell recently won NYC’s bid to construct a Tech Campus in Manhattan, and I had the opportunity to help with some of those developments (especially as they relate to entrepreneurship and sustainability).
- I co-founded the PopShop co-working space during my undergrad and wanted to ensure it was fully developed by the time I left for good.
- There were more technical concepts I wanted to learn in order to be the best electrical engineer I could possibly be.
- I wanted an advanced degree, and I had enough momentum to do so with relative ease.
- I hadn’t met every person on campus yet, been in every building, or visited all the natural sites that Ithaca had to offer (I’ll never actually accomplish all these things, but I got pretty close).
Those are the reasons that I stayed, but here are some of the unexpected things that came about as a result of me sticking around in academia for another year:
- I started a company, ran it through the Cornell startup accelerator, and am presently the CTO. We have an office in New York City, and I have five awesome undergraduate interns from Cornell working for me.
- Wiley offered me a publishing contract and I wrote a book.
- I connected my master’s graduation cap to the internet.
- I was flown to India to present my research from the Creative Machines Lab.
- I was flown to SXSW in Austin, TX to present my startup and to mingle with other student entrepreneurs.
- I organized and participated in an epic cross-country bus tour.
- I attended the 2012 Open Hardware Summit and World Maker Faire.
- I made even more great friends, and had the opportunity to work with some amazing professors.
A Chronicle of my Cornell Experiences
This section is primarily for my benefit, so I don’t forget this. But, I suspect lots of this information will prove useful to prospective college students, especially those attending Cornell Engineering. I’d like to run through each semester and summer/winter, explaining which classes I took and what additional projects I worked on. This should shed some light on why I’m so damn busy, and why I can’t release videos as frequently as I might like.
Freshman First Semester – Fall 2008
My first semester was a whirlwind. Between trying to make to new friends, figuring out what I wanted to accomplish at Cornell, and starting coursework, there wasn’t time for much else! I entered my freshman year thinking I would major in mechanical engineering.
- Courses Taken
- MATH 1910 – Calculus I for Engineers | My very first Cornell exam was in this class. I got a 32% and freaked out. Then, I found out that the average was also a 32%, and that they would be curving it. I breathed a sigh of relief, and prepared myself for significantly harder tests than what I was used to in high school. Later, I discovered that tests for intro engineering classes tend to be harder to weed out the students who aren’t really committed.
- CHEM 2090 – Chemistry for Engineers | In all four years, this was my worst grade at Cornell (I got a C+). I have never been good at chemistry – I’m horrible at memorizing all the exceptions to the rules.
- ENGRI 1170 – Intro to Mechanical Engineering | This was a fun class, and I learned a ton, but it also made me realize that mechanical engineering wasn’t for me. I switched to electrical the following semester.
- ENGRG 1050 – Engineering Seminar | Every engineer at Cornell has to take this class to get acquainted with other students, learn about project teams, etc. In later years, I frequently visited these courses to talk to Freshman about the projects I was involved in.
- ENGRG 1091 – Cooperative Workshop for Calc 1 | This was basically an additional discussion section for Calc 1 where we got additional practice problems. Some people benefited greatly from these workshops, but I didn’t love them.
- HIST 1108 – Science and the Entwined History of Gender and Race | All Cornell freshman must take two writing seminars. This is the first one I took. It was not my first choice, but it made my list because it had “science” in the title. Some of the readings were interesting, but the topic didn’t really end up interesting me.
- PE 1640 – Rock Climbing | Cornell has the largest indoor natural rock climbing wall in North America. How could I not take advantage of that!?
- Other Activities
- Solar Decathlon (CUSD) – My priority at Cornell was to engage in hands on learning. Cornell has a number of project teams that allow you to do this, from a team that builds autonomous underwater vehicles, to a team that builds racecars. While lots of these teams seemed intriguing, the solar decathlon team stood out to me because its members we’re designing renewable energy technologies that weren’t just being applied to a competition – they had the potential to benefit the world. The solar decathlon is an international competition between 20 universities to build the best solar-powered home. All the teams display their homes on the National Mall in Washington, DC for two weeks, where they are judged on everything from energy efficiency to architectural design. I joined the controls engineering subteam right away and began development of the home’s automation and electrical load monitoring system. Little did I know, CUSD would later define my entire Cornell experience…
- Rawlings Cornell Presidential Research Scholars – I had done extensive research in high school in the field of prosthetics, and knew that I wanted to continue being involved in research when I got to Cornell. Conveniently, some folks in the Cornell admissions office felt similarly when they read my application. Shortly after being notified of my acceptance to Cornell, they contacted me to inform me that I had been accepted into the research scholars program, a support network for undergraduate researchers. The program came with grant money that allowed me to pursue research, pay for expenses while doing a summer of research, and contibuted to the wages I earned from working in my lab (I chose to receive pay for my research instead of credit hours, since I was already going to graduate with about 30 more credits than I actually needed). During the first semester, the program gave me the guidance I needed to identify the labs and professors with whom I would later be working.
- UltimateComputers.net – During my first semester, I spent a large about of time maintaining UltimateComputers.net, a computer enthusiast community that I had developed with a friend in highschool. The website grew to several thousand members, with hundreds of thousands of posts.
- TechBits Video Series – For a while, I managed to pump out a new TechBits video almost every week. I really enjoyed making them, but they were a surprising amount of work. As school work piled up, it became harder and to produce them on a regular basis. I managed to do it fairly consistently for a couple of months.
Freshman Second Semester – Spring 2009
My second semester was when I became certain that I was destined for Electrical Engineering. I had the opportunity to participate in some awesome projects, and I could relax a bit knowing that I would never have to take a chemistry course ever again.
- Courses Taken
- MATH 1920 – Multivariable Calculus for Engineers | I enjoyed multivariable calculus, though the tests were just a difficult as my first calculus class the previous semester. This was one of the “meh” classes that every engineer has to take.
- CS 1130 – Transition to Object Oriented Programming | When I entered Cornell, every engineer was required to take two programming courses. You could either take a 4 credit MATLAB class and a 1 credit self-paced Java class, or you could take a 4 credit Java class, and 1 credit self-paced MATLAB class (this has since changed). Knowing that I wanted to do electrical engineering, I knew MATLAB would be much more useful, so I took this self-paced Java course. I already knew Java from high school, so this was exceedingly boring and tedious. Cornell has since revised the Engineering programming requirement and you can take Python instead of the two CS courses. I battled through and completed this course my freshman year, but many of my friends signed up for this Java course and dropped it every semester until their last semester. It was a graduation requirement, but was totally useless.
- EAS 1400 – Environmental Perspectives | This was my second freshman writing seminar, which I actually really enjoyed. This is when I first started to realize that I could apply engineering to solve environmental problems, something that I’ve been doing ever since via CUSD.
- CS1114 – Honors Matlab with Robotics | This was easily one of the best courses I took at Cornell. My professor, Noah Snavely, was a computer science rock star (He created the technology behind Microsoft Photosynth). His expertise was in computer vision, so the class focused on using MATLAB as a tool to perform complex image matrix manipulations and analysis. This class is a well hidden secret at Cornell. It fulfills the intro MATLAB requirement that I mentioned earlier, but is orders of magnitude more useful and interesting than the normal MATLAB class (CS1112). I still frequently use code that I first wrote in this class, and I still reference my notes from it whenever I’m working on computer vision projects. This was the class in which Jason Wright and I developed the Nerf Sentry Gun for our final project. It is still one of my most viewed youtube videos. I highly recommend taking this class or one of Professor Snavely’s higher-level CS courses.
- PHYS 1112 – Physics I: Mechanics | This was another one of the engineering requirements. Having already taken physics in high school, I breezed through mechanics. One highlight was that my professor used a tank of compressed air while sitting on a wheelie chair to propel herself across the front of the lecture hall. I think the demo had something to do with the Ideal Gas Law…
- PE1410 – Introduction to Massage | How could I resist… Every Monday I spent an hour receiving a massage, followed by an hour giving a massage, all while learning several techniques for giving great massages. I’d be lying if I said I haven’t benefited from what I learned in this class…
- Other Activities
- Solar Decathlon (CUSD) – The previous controls subteam leader, an electrical engineering grad student, left after my first semester. Despite being a freshman, I was made the subteam leader, having displayed the most knowledge of the systems we were developing. This was a bit awkward at first since most of the team was much older than me, but it was very exciting nonetheless. I used the team as an opportunity to simultaneously conduct research through my research scholars program, while also contributing to the overall objectives of the team. Bruce Land, my eventual undergraduate academic advisor (and an awesome professor), oversaw my research development of an electrical load monitoring system for the Silo House (our solar home). I began to get more heavily involved in the teams administration as well, and I took over development of the team’s website, along with a fellow team member. By the time summer rolled around, I had been made one of the team leaders, and was helping to oversee more aspects of the home’s electrical, automation, entertainment, and HVAC systems.
- UltimateComputers.net – I continued to spend a ton of time developing UltimateComputers.net, and completed the development of a user project submission portal. I kept producing more computer videos as well to add content to the site.
Following my freshman year, I spent the summer working at “Electrical Science” a small electrical engineering consulting firm near my home. During this time I completed projects based on cellular transmission, water usage tracking, linux server development, VOIP applications, and more. I also completed my web-controlled RoboClaw project, visited Cornell to install the controls system that I had developed for the Silo House, and I produced some computer building tutorials.
Sophomore First Semester – Fall 2009
Sophomore year was when everything exploded. …In a good way. I started real ECE courses, I re-founded CUSD in to Cornell University Sustainable Design (previously Solar Decathlon), and started doing research in the Creative Machines Lab.
- Courses Taken
- MATH 2930 – Differential Equations for Engineers | This class turned out to be more useful than I originally expected. I later had to rely on differential equations in several of my electrical engineering courses. Thankfully, MATLAB has lots of built in tools for solving differential equations. If you’re studying to be an engineer, and you haven’t yet learned to use MATLAB, you should check it out – it’s extremely useful.
- PHYS 2213 – Physics II: Electricity and Magnetism | This was, in my opinion, the most challenging physics course that I took; both Physics I and III were easier for me. But, the fundamentals of this course (Maxwell’s Equations) are like the bible of electrical engineering. I’ve used them in every following ECE course.
- ECON1110 – Microeconomics | Being an engineer in this class was a joke. In retrospect, I wish I had taken a higher-level economics course because this one wouldn’t even use basic calculus, even when it was necessitated by the problem (finding the derivative of a curve for example). Because calculus wasn’t a prerequisite, they did ridiculous things like approximating slopes of quadratic functions, when taking a derivative would have been much faster and easier. Despite this, some of the concepts were interesting. I especially liked learning about diminishing returns, which I touched on earlier in this post.
- AEP2640 – Computerized Instrumentation Design | This is pretty great class because it simultaneously fulfilled my technical writing requirement, and my general engineering course requirement. The content was interesting – we mostly used C, LabView, and some data acquisition devices to do things like measure stochastic processes, analyze fluid flow, build robotics control systems, etc. Most classes in applied engineering physics (AEP) are notoriously difficult, but I found this class to be pretty fair.
- ECE2300 – Digital Logic Design | My first real ECE class! I really enjoyed this class. Most of the class was based around using Quartus and Verilog (a hardware description language) paired with FPGAs to design gate-level electronics. By the end of the course, I had built an operational Arithmetic Logic Unit (ALU), as well as a simple, functioning, 8-bit CPU.
- Other Activities
- Solar Decathlon & Sustainable Design (CUSD) – This is the semester where the magic happened. By the end of August, we had finished constructing the Silo House, Cornell’s entry into the 2009 Solar Decathlon competition. For the first 10 weeks of the semester, I spent every single weekend off campus for CUSD. First, we were displaying the house at the New York state fair in Syracuse, NY (just an hour north of Cornell). I traveled to Syracuse every weekend to put the finishing touches on the controls system before bringing it down to Washington, DC. At the end of October, we trucked the house from Syracuse down to DC, where it was on display for two weeks. I made two 12 hour round-trips down to DC to display the house, give tours, and keep the controls system running properly. After placing 7th in the competition, I took charge of starting to plan for the 2011 competition. We began to write the proposal, then realized that would could be doing so much more than simply building a solar powered house. Using the combined knowledge of our interdisciplinary team would impact more industries, change more lives, and make serious contribution to sustainable building technology. With that in mind, I re-founded CUSD (along with fellow Solar Decathlon alumni) into Cornell University Sustainable Design. It’s been running strong ever since, and now includes hundreds of Cornell students and dozens of professors. We spent the remainder of the semester starting to draft our plans for what the new organization would entail.
- Creative Machines Lab, Machine Metabolism Research – In October (following the craziness of the Solar Decathlon competition), I started work in the Cornell’s Creative Machines Lab on the “Machine Metabolism” project. Along with a grad student I worked to develop the control electronics and software for a robot capable of traversing and manipulating a complex 3D-printed truss structure. This research has since been published by IEEE.
- UltimateComputers.net – I continued to spend a ton of time developing UltimateComputers.net, and completed a massive migration to a dedicated server to deal with increased traffic. I used the move as an opportunity to teach myself about linux and general server administration. This knowledge served to be extremely useful as more and more of my projects began to involve using linux-based systems.
Sophomore Second Semester – Spring 2010
This semester was crazy busy. I was in meetings almost daily as we developed new projects for Cornell University Sustainable Design, I was working non-stop in the Creative Machines Lab to get the Machine Metabolism bot running, and I was developing the SudoGlove control system (which is now one of my most popular projects).
- Courses Taken
- MATH 2940 – Linear Algebra for Engineers | This class is so useful for electrical engineers, it’s almost crazy that they don’t teach it sooner. There is a lot of content in this class, but the first 2 weeks worth of material has been the most useful to me. In short, learning how to solve a large systems of linear equations using matrices makes lots of EE calculations much faster. Furthermore, matrix manipulations are exceptionally useful in computer vision. I had already learned many of those concepts in in CS1114.
- PHYS 2214 – Physics III: Oscillations, Waves, and Quantum Mechanics | Most of the content of this course hasn’t been exceptionally useful to me, but it was certainly the most interesting physics course I took at Cornell. I particularly enjoyed learning about things like quantum tunneling, and wave-particle duality. I highly recommend taking at least one course that focuses on quantum mechanics – it’s a fascinating topic.
- ECE 2100 – Intro to Circuits | It goes without saying that this class was absolutely critical. Everything I learned in this class was used repeatedly in my following classes, and I find myself using material from this course almost every day. I had Professor Al Molnar for this class and he was awesome.
- INFO 4320 – Prototyping and Physical Computing | One of the best courses I took. Period. It was in this class that I developed the SudoGlove control system, along with dozens of other projects. This class inspired me to create my Arduino tutorial series after I had the opportunity to work with them for the first time. Professor Guimbretière developed and teaches this class – When I took this class it was the first time it was taught. This class was a lot of work, but it was worth it.
- Other Activities
- Sustainable Design (CUSD) – Having decided to create Cornell University Sustianable Design the previous semester, a group including 10 other students and I developed 3 25-page comprehensive proposals for projects we could pursue as an organization. We presented this proposals to college administrators, professors, professionals, and students to decide what would make the most sense. Two of those proposals eventually turned into Schoolhouse: South Africa, and the Sustainability Research Facility. The third proposal eventually turned into our Farm Pond development project.
- Creative Machines Lab, Machine Metabolism Research – I continued work on the “Machine Metabolism” project. By the end of the semester, we had a working machine that could traverse structures and disassemble them. We started to author a Journal paper on the research that was later accepted into IEEE Robotics and Automation Magazine.
- UltimateComputers.net – Believe it or not, I kept administering UltimateComputers.net.
- More Youtubing – Using INFO4320 as a jumping-off point, I started to make a habit of posting more EE related videos on youtube, and I started a second channel to host smaller, quick videos.
I spent the summer after my sophomore year working at DEKA Research and Development. DEKA is best known for its founder, Dean Kamen, inventor of the Seqway. I was fortunate enough to spend my internship developing electronics for the LUKE 3rd Generation Prosthetic arm. This was right up my alley, considering my previous prosthetics research. The Rawlings Cornell Presidential Research Scholars program paid for my housing and travel, and DEKA paid me a salary. As an engineer, you should never have to take an unpaid technical internship.
Junior First Semester – Fall 2010
This was the only semester where I took only two engineering courses. I intentionally lightened my load because this was CUSD’s first semester as a real organization, and I predicted that I would be working like crazy to keep it running smoothly. I was right.
- Courses Taken
- ECE 3030 – Electromagnetic Fields & Waves | Another tough engineering class, but interesting. The entirety of this class was based on derivations of Maxwell’s equations, which I found to be surprisingly elegant.
- ECE 3100 – Probability and Inference | I’ve always struggled with probability and statistics. I enjoyed that this class put them in the context of Electrical Engineering, and it helped me to gain a greater appreciation for their importance.
- COMM 2200 – Media Communications | This was an easy class. The content was potentially very interesting, but a lot of it felt like common sense to me. I suspect this is not the case in higher level communications courses, but in this intro course, I didn’t feel particularly challenged.
- SOC 1101 – Intro Sociology | I enjoyed sociology; the readings were compelling, and the lectures were surprisingly educational for an introductory course. It probably helped that I didn’t even fully understand what sociology was before taking this class…
- Other Activities
- Sustainable Design (CUSD) – This was CUSD’s first semester as a “real” organization. I took over leadership of our long-term project, the Sustainability Research Facility. By the end of the first semester we already had about a dozen faculty advisors, and scores of undergraduates and graduates contributing to our goal to build a interdisciplinary research building on Cornell’s campus. Simultaneously, we launched Schoolhouse: South Africa, and quickly managed to integrate it into Cornell’s architecture curriculum.
- Creative Machines Lab, Programmable Matter – During my Junior year, I shifted my research interests to focus on smaller forms of biologically inspired robotics, namely a project called Programmable Matter. I assisted in the design and programming of tiny autonomous cubes capable of stochastically assembling themselves into a desired shape.
- Ignite Ithaca – In October 2010, I gave an Ignite talk titled, “Building an Engineer.” After giving this talk, I got some media attention which eventually led to element14 sponsoring the production of many of YouTube tutorial videos.
- UltimateComputers.net – This was my last semester administering Ultimate Computers. I shut it down in January, as I became more busy with other activities.
- Getting online – I re-did my website for the first time, and started to get serious about developing an online presence. As I continued to roll out more videos, it became clear to me that I could leverage the web as a means for educating more people about electrical engineering.
Junior Second Semester – Spring 2011
The second semester of my Junior year was when things really began to accelerate. CUSD ramped up, I got involved heavily in entrepreneurship on Cornell’s campus, and I got serious about having an online presence. Oh, and I took more classes.
- Courses Taken
- ECE 2200 – Signals and System | This was the course that I had dropped the previous year, due to a “less-than-ideal” professor. The second time around, I really enjoyed the course, and learned a ton about signal processing.
- ECE 3140 – Computer Organization | This was an extremely work-intensive, but educational class. It primarily utilized the TI MSP430 microprocessor, and taught concepts in parallel computing, real-time systems, and microprocessor architecture design. I built a wireless weather station as the final project for this course.
- ECE 3150 – Intro to Microelectronics | I had already taken the introductory electrical engineering course, but this was my first foray into true analog design, and transistor physics. This class was a ton of work (and math), but was very interesting and relevant to my deeper understanding of electrical design principles.
- MUSIC 2421 – Performing with Computers | I have literally ZERO musical talent. But, I do enjoy music, and figured I’d give it another shot. After all, the course title included “computers.” I ended up loving the class and actually learned a ton. I revisited the SudoGlove project from my sophomore year and transformed it into SudoSynth, a performance tool that I used for several of the projects in this class.
- NBA 6860 – Startup Learning Series | During my junior year, I was accepted into the Kessler Fellows program (explained more below). Being a Kessler Fellow included taking this excellent course in the business school where successful entrepreneurs came to give a talk each week about their experiences. I learned a tremendous amount about entrepreneurship and the caveats that go with it.
- Other Activities
- Sustainable Design (CUSD) – CUSD continued to experience significant growth. Our School House: South Africa project took over an Architecture studio, and completed all the designs that would be necessary before a construction phase in the summer. The Sustainability Research Facility team took root within the engineering school, and over a hundred students had the opportunity to engage in exciting, hands-on research.
- Creative Machines Lab, Programmable Matter – I continued to developed the programmable matter cubes that I had started to work on the previous semester.
- Kessler Fellowship – As one of ten Kessler Fellows, I was awarded the unique opportunity to work at a startup during the coming summer, with a salary paid by Cornell. During the spring semester, I took the above-mentioned seminar course, and did a lot of soul-searching to find the right startup for me. Frequent readers of my blog probably know that I ended up at MakerBot Industries.
- Quill and Dagger – At the end of my Junior Fall semester, I was tapped to join Quill and Dagger, Cornell’s esteemed secret society (note: activities and practices are secret, but membership is published in the school newspaper each year. It’s too hard to conceal membership). Quill and Dagger silently contributes to the improvement of Cornell University for all students. Many of my best friends from Cornell were peers who were inducted into Quill and Dagger with me.
- Arduino Tutorial Series – In January 2011 I launched my Arduino Tutorial Series sponsored by element14. It became more popular than I ever would have predicted, and continues to be the primary driver of traffic to my website.
Before starting work for the summer, I decided that I was overdue for a vacation. For three weeks I traveled around Europe with friends. We visited Madrid, Paris, Amsterdam, Copenhagen, and London before returning to New York City, where I spent the remainder of my summer.
Through my Kessler Fellowship, I joined MakerBot Industries. When I joined, MakerBot was a small operation of about 20 people. I sat about a foot away from each of the three co-founders, and was given the opportunity to redesign the entire electronics system for the MakerBot Replicator. I also contributed heavily to many business tasks that are critical to any startup. By the time I stopped consulting for MakerBot about two years later, they had well over 200 hundred employees. Just a few weeks ago, they were purchased by Stratasys in a $403M deal. It was exciting to work with such a successful company from such an early stage in their development.
Senior First Semester – Fall 2011
During my senior year I focused heavily on … doing whatever I wanted to. I dedicated more time to my own projects, I contributed heavily to promotion for the Cornell Tech Campus Bid (which we won), I spent an insane amount of time building CUSD, and I went crazy with my web presence. I launched a complete redesign of my website and created of my digital portfolio (mostly for my Grad School application).
- Courses Taken
- CS 1710 – Intro to Cognitive Science | This was an easy intro course, but served as a relevant connection between my computer science background, and my interest in human perception.
- ECE 3250 – Mathematics of Signal and System Analysis | This was a mathematically intensive, but fascinating class that taught the theoretical concepts behind cryptography, signal processing, and more. Professor David Delchamps taught this class – he is spectacular teacher.
- ECE 4320 – Microelectromechanical Systems | This was my first exposure to mechanical engineering concepts used in design and stress analysis, albeit at a micro level. The class was very challenging, but it was interesting to learn about the manufacturing process that goes into building MEMs.
- ECE 4530 – Analog Integrated Circuit Design | This class was really hard. I struggled frequently, but managed to make it through. I designed an instrumentation amplifier for my final project; it was designed provide ideal characteristics for amplifying biological signals.
- PE 1640 – Rock Climbing | I took rock climbing for a second time. It’s good exercise!
- Other Activities
- Sustainable Design (CUSD) – Our Research facility was featured in the Cornell Newspaper, CUSD turned its efforts towards promoting the sustainable applications of the proposed Cornell Tech Campus, we organized a summit that brought together students and entrepreneurs from around the country, and we taught sustainable engineering concepts to hundreds of children at the Brooklyn Children’s museum.
- Creative Machines Lab, [email protected] – In the Creative Machine Lab, I shifted my attention from Programmable Matter to personal 3D printing, a topic that I had become very familiar with after working at MakerBot. I led the development of new safety electronics for the open-source Fab@Home printer so it could be safely deployed in primary schools.
- Assorted Exploits – Cornell featured my exploits in a newspaper science spread and I was named to the annual list of Cornell’s “Most Mysterious Seniors.”
- Open Source Promotion & Making – As I mentioned above, I got pretty serious about contributing to the “Maker Community” during my senior year. I attended the Open Hardware Summit and MakerFaire, the folks at ZombieTech wrote a song about me, I gave a TEDx talk titled “Open Source Society,” I was named the 2012 “New Face of Electrical Engineering” by IEEE, and I equipped my house with sound-triggered lights.
- MakerBot – I continued to consult for MakerBot through the semester, in preparation for the release of the Replicator in January.
Senior Second Semester – Spring 2012
I went into this final semester thinking it would be my last at Cornell. So, again, I did A LOT OF THINGS. By April 2012, I had decided I would stay at Cornell for an additional year to get my Masters degree.
- Courses Taken
- AMST 2001 – The First American University | If you go to Cornell University, you MUST take this course. Taught by Corey Earle, possibly the biggest Cornell history buff that has ever lived, this course will teach you everything you ever wanted to know about Cornell’s history.
- ECE 4450 – Computer Networks and Telecommunication | This excellent course taught by Professor Wicker teaches everything you could want to know about how the internet, cell phones, and all networked devices worked. I expecially enjoyed learning about how the BitTorrent protocol works.
- ECE 4520 – Optimal Operation of the Power Grid | It took this course to learn about how renewable energy sources impact the electrical grid. That part of the class was really enlightening. However, most of the class focuses on mathetmatical optimization problems, something that I didn’t find to be up my alley.
- ECE 4760 – Digital System Design with Microcontrollers | Taught by my advisor, Bruce Land, this course was one of the reasons I came to Cornell. Bruce is one of the best professors I’ve ever had, and I learned an enormous amount from this class. Bruce really cares about sharing knowledge, and this is one of the few courses at Cornell where all the course materials are available to anybody online. My final project for this course was the HelioWatcher.
- INFO 2921 – Inventing and Information Society | I’m fascinated by the historical evolution of technology. This course did a great job of explaining it.
- Other Activities
- Sustainable Design (CUSD) – Immediately after Cornell won the NYC Tech Campus Bid, CUSD jumped into action to join the development efforts. We expanded the team, brought on more advisors, and are now the only student group advising on the construction of a 30-year multi-million dollar project to build a revolutionary tech campus on Roosevelt Island in New York City. We also released renders for our proposed research facility on Cornell’s campus. In march, I led a workshop at the Intrepid museum in NYC where we taught concepts ranging from chemistry to electricity to kids. CUSD raised significant funds, including winning a $10,000 grant to perform geothremal research, and a $15,000 grant from the EPA to research hybrid fiber optic lighting technologies (which later turned into my masters thesis research). I was presented with the annual Cornell Leadership award for my work building and leading CUSD. The entire CUSD organization was given the “Outstanding Activist Organization” award. Both of these award plaques are permanently on display Cornell.
- Creative Machines Lab, [email protected], Aracna, and Machine Metabolism – I continued electronics development for [email protected], built electronics and software for the Aracna learning robot, and launched a press release on my Machine Metabolism work. The local news featured me a story about 3D printing.
- [email protected] – I helped launch the first Cornell Startup Career Fair to get students interested in working for small companies. In April, I co-founded the PopShop, a first-of-it’s-kind co-working space to promote entrepreneurial activity at Cornell. The PopShop is still going strong, and has spun out dozens of student startups, including two of my own.
- LibeTech – I designed a novel hotel check-in system that made it to the finals of the very competitive Cornell Hospitality Business Plan competition. We considered building it into a business, but decided against it. I’ve since released the project via an open source license and people around the world have utilized it in their homes and offices. The system won awards from both GE and Verizon.
- I was featured in a video from the American Institute of Physics (reporting on my SudoGlove).
- I spoke at the White House Young America Speaker Series in Syracuse.
- We turned a desk into a control panel using image recognition in 24 hours, and won a hack-a-thon.
- For graduation, I donned an array of multicolor LEDs on my Mortar Board.
The summer between my undergraduate and graduate careers was a whirlwind. I produced Arduino and Eagle Tutorials, I taught for the BlueStamp Engineering NYC Program in the mornings, and I worked at MakerBot in the afternoons (I was designing the prototype electronics and firmware for the Digitizer 3D scanner that was announced the following April at SXSW). For the Facebook Summer Hack-a-thon, Jason Wright and I put Facebook in an actual book. In August, Wiley publishing contacted me to recruit me to write an Arduino book. I agreed, and the book was released the following summer after a year of work.
Masters First Semester – Fall 2012
I had a very unique opportunity not given to most students – I got a fifth year of college. I made the most of it. Knowing that I would be missing 3 weeks of school for a cross-country bus trip, I took fewer classes, and primarily engaged in independent studies.
- Courses Taken
- CHEME 6660 – Sustainable Energy Systems | Taught by Jeff Tester, one of the first advisors I brought on to help with CUSD, this course offers both technical and high-level views of most forms of renewable energy generation. I struggled with some thermodynamics concepts, but learned an enormous amount.
- ECE 5010 – Professional Seminar | This was a required course for everybody in the ECE M.Eng. program. The goal of the class is to teach you how to conduct yourself in interviews, how to write a Resume, etc. This class is potentially useful if you are going down the traditional job route and are seeking something in the corporate or finance world (the majority of students in my class). I was seeking more “non-traditional” opportunities following my graduation, so I didn’t pay much attention in this class. I crafted a non-traditional Resume, and employers came to me.
- ECE 5470 – Computer Vision | The concepts taught in this class were fascinating and I learned a lot. However, we used proprietary software developed by the professor to do all the projects, which makes it hard to transfer the knowledge to future projects.
- Other Activities
- Sustainable Design (CUSD) – At the start of my Masters year, I handed over the leadership of CUSD to a new executive board, and returned to doing some of the technical work that I enjoyed so much. I joined the CUSD team that was working with an EPA grant to build fiber optic lighting technologies. This also ended up encompassing my primary masters research, and it eventually turned into SUNN, my present startup. I also helped orchestrate a cross-country bus trip from Ithaca to San Francisco to attend the annual GreenBuild conference. We taught sustainability concepts to kids along the way.
- Creative Machines Lab, Multi-material printing and Aracna – I continued to do some work on Aracna (and demoed it at the 2012 Open Hardware Summit), but my main focus shifted to designing 3D printers that could print all the necessary components for a robot – motors, batteries, electronics, etc.
- [email protected] – I continued to manage the PopShop and my startup, SUNN, was accepted into the Cornell startup accelerator.
Masters Second Semester – Spring 2013
For my final semester at Cornell I continued to do a lot of traveling, and shifted a lot of my focus to ramping up SUNN. Again, I did a lot of independent studies instead of taking traditional courses.
- Courses Taken
- ECE5760 – Advanced Microcontroller Design | Also taught by Bruce Land, this course is a follow-up to the microcontroller course that I had taken the previous year; but this course utilized FPGAs and emphasized hardware description languages (we used Verilog). As always, Bruce was a rockstar professor who taught us all an incredible amount. For our final project, we built an AI that could play Super Mario by analyzing the video signal from an original NES.
- ECE 5180 – Autonomous Mobile Robots | I took this course because I wanted to learn about controlling robots. I certainly accomplished that goal, but this course was an enormous amount of work – probably more than any other course I ever took at Cornell.
- Other Activities
- Sustainable Design, SUNN, and Masters Research – I continued to develop our fiber optic lighting technologies, and I demoed them successfully in Washington, DC at the National Sustainable Design Expo. My Masters research focused on designing the electronics, my CUSD time focused on developing the overall system, and my time in the Cornell startup accelerator was used to find ways to leverage the knowledge I had gained building this system to build a successful lighting company.
- Creative Machines Lab, Multi-material printing – For my final system in the Creative Machines Lab, I focused entirely on building a printer that could extrude metal to create coils for motors. It was working by the time I graduated.
- SXSW – Thanks to Interact ATX, I managed to attend the annual SXSW interactive festival in Austin, TX. I demoed SUNN, saw the announcement of the MakerBot Digitizer, and much more.
- Techkriti ’13 – I was invited to present some of my research at the annual Techkriti Festival in Kanpur, India. They flew me out, and I had a great time.
- Control-my-Cap – Looking to one-up my project from the previous year, I connected my graduation cap to the internet.
- Exploring Arduino – I wrote a book, had it published, and released it to the world!
I’m done with academia, and I’m currently living in New York City, working full-time on SUNN (and marketing my book). But, I have some extremely exciting news regarding what I’ll be doing next. Follow my RSS feed or subscribe for email updates to be notified when I release Part 2 of this two-part blog post.
UPDATE: Find Part 2 Here.
Is the Arduino widely used at Cornell University? I feel I have an excellent understanding of the hardware and software but when I attened the Detroit Maker Faire. I was informed that many Universities and Employers dont view Arduino programming as true programming because much of the code is hidden in libraries and burned onto the bootloaded. This does sound logical but if you can make an ATMEGA 2560 do the “job” then why do “they” care. When appling to University did you have knowledge of any other Arduino alternitives like the LaunchPad Developer Board from Texas Instruments?
I wouldn’t worry about this too much; you’re light years ahead of where I was when I started at Cornell back in 2008. I never even touched an Arduino until my sophomore year at Cornell. I used the Arduino in several classes at Cornell, but in the more technical ones I was expected to do all my embedded development in C, Assembly, or Verilog depending on the situation.
Great points made. Thanks for the post.
I looked in to arduino because it was inside the makebot and I was curious about what is that. That is when my search came with your name and how you were involve, when I saw you were a EE I start to fallow you. I really never work as EE because many things but my passion was always EE.
I am glad you wrote a book, you did your master and now you work for Goggle…
Jeremy I wish you the best at Goggle and maybe like my sister says you are the next Steve jobs
Great article, you inspire me.
Well written, and well presented. I graduated in 1984 (B.Eng) and again in 1986 (M.Eng) in EE from McGill University and endorse everything you are saying.
I lived through the early days of personal computing which was a massive distraction going through university. Computer Engineering was in it’s infancy. There were so many things to discover and so many things to explore.
And if you have the opportunity to go to grad school to get a Master’s degree or better, do it. You will never regret it.
Good luck in your career.
thank you…. thank you Jeremy….. you are just an inspiration to me…..
In the height of my dead week panic, I started googling ‘chem 2090 final curve’ in hopes of finding out exactly just how much I needed to study for my final later this week. I stumbled across your article instead, and as a fellow Cornell Engineer (and RCPRS Scholar) I must say your article has made me incredibly excited for my future. Thank you for sharing such a complete run down of your time at Cornell, I can only hope mine is nearly as exciting!
I know I must be extremely late, but I LOVE LOVE LOVE this post, Jeremy!!!!
Miss you a bunch and hope all is well!!!!!
Hey Jeremy ! May I know what was your concentration in electrical engineering ? btw it was a great post about your academic experience :)
I didn’t have a formal concentration, but these are the things that I spent most of my time on:
-Mechatronics & Robotics
-Embedded System Design
-Networking and Automation
-LEDs and Lighting
Other than Arduino, what are the other microcontrollers you would suggest to use (with embedded C)..?
Thank you for sharing your blog which enhances our knowledge and students career sector. I want to aware you towards our Free Online Course on Analytics Storytelling for Impact by Microsoft Start Date: August 29, 2017
You will also learn how to deliver greater impact with analytics by integrating the art and science of data storytelling into your work.
Kindly go through the given link: https://www.freeeducator.com/free-online-course-on-analytics-storytelling-for-impact-by-microsoft/
Lovely post. Thanks man
Nice one, memories really are golden.