Overview

I graduated with a Bachelor of Science from Harvey Mudd College in May 2015 with a double major in Computer Science and Enginerring and a 3.7 GPA.

Why Double Major?

In the fall of our sophomore year, Sean Messenger and I started discussing what we wanted to major in. We had both come into Mudd expecting to be engineers, but Mudd’s intro computer science course convinced us that CS was something we were very interested in. Taking the next course in the computer science sequence only increased that interest. We were officially hooked. This dual interest in engineering and CS made it difficult to decide which major to pursue.

In the end, it was our focus on robotics that enabled us to make our decision. Sean had come into Mudd already interested in robotics (and with a hefty FIRST Robotics background). Meanwhile, I became involved with robotics with Autonomous Vehicles (E11) during my freshman year. Both of us had been involved in robotics since (taking a number of courses in the subject, working in a robotics research lab, and pursuing robotics-related side projects). So we knew that whatever major we decided on, our coursework had to prepare us for a career in robotics.

To that end, we decided to figure out what courses would most benefit us, then revisit the major decision. Given that robotics draws heavily from both CS and engineering, we knew that we were going to end up taking a large number of courses from both departments. In order to figure out which courses in each major would be most relevant, we started talking to professors and other students. After many hours of meetings with professors (and discussions with older students), we realized that we were going to end up taking all but one or two courses in either major, regardless of which choice we selected.

Being us, we decided to take on those two extra courses and become full-fledged Engineering and Computer Science majors.

We’ve found our double major to be highly beneficial. There have been many occasions where our engineering background has allowed us to solve problems which were stumping our CS compatriots, and vice versa. Moreover, we’ve both found ourselves more at home on the Computer Science side of things. Given that we were only really considering Engineering or both, and how the Computer Science degree has been essential, the double has worked out well for us.

Despite the extra workload, we also remained on top of our studies and did extremely well in both majors. Most people (okay, everyone) said we were crazy for pursuing both degrees. But we learned more than we would have otherwise and loved what we were doing. If that’s crazy, then that’s fine by us.

That all said, the double major is not something we would recommend. If you’re in the same boat, take all the courses in each that interest you, then make a decision.

Commendations

Course Scheule

Below is a listing of the courses I took during my time at Mudd.

I ended up with 153 Credits at graduation (20% more than the required 128).

Freshman

First Semester (17 Credits)

  • Chemistry: Energetics (CHEM 23E)
  • Chemistry: Structure (CHEM 23S)
  • Chemistry Laboratory (CHEM 24)
  • Introduction to Computer Science (CS5 Gold)
  • Autonomous Vehicles (E11)
  • Calculus (MATH 30 Gold)
  • Probability and Statistics (MATH 35)
  • Swim Conditioning (PE 15)
  • Special Relativity (PHYS 23)
  • Introduction to Academic Writing (WRIT 1)

Second Semester (18.5 Credits)

  • Introduction to Biology (BIO 52)
  • Chemistry: Dynamics (CHEM 23D)
  • Introduction to Engineering Design and Manufacturing (E4)
  • Critical Inquiry: Technology & American Society (HSA 10)
  • Introduction to Linear Algebra (MATH 40)
  • Introduction to Differential Equations (MATH 45)
  • Physics Laboratory (PHYS 22)
  • Mechanics and Wave Motion (PHYS 24)

Sophomore

First Semester (18 Credits)

  • Choice Lab: What Makes Things Tick? (CL 57)
  • Principles of Computer Science (CS 60)
  • Financial Economics (ECON 104)
  • Introduction to Engineering Systems (E59)
  • Advanced Problems in Engineering (E191)
  • Multivariable Calculus (MATH 60)
  • Differential Equations and Linear Algebra II (MATH 65)
  • Electromagnetic Theory and Optics (PHYS 51)

Second Semester (17.5 Credits)

  • Data Structures and Program Development (CS 70)
  • Principles of Macroeconomics (ECON 53)
  • Engineering Mathematics (E72)
  • Experimental Engineering (E80)
  • Digital Electronics and Computer Engineering (E85)
  • Autonomous Robot Navigation (E190Q)
  • Advanced Problems in Engineering (E191)

Summer (6 Credits Plus Research)

  • Research in the LAIR with Professor Clark
  • Public Speaking (ENVS 055)
  • Brain and Behavior (PSYC101)

Junior

First Semester (19 Credits)

  • Computer Science Colloquium (CS 195)
  • Continuum Mechanics (ENGR 083)
  • Electronic and Magnetic Circuits and Devices (ENGR 084)
  • Advanced Systems Engineering I (ENGR 101)
  • Engineering Clinic (ENGR 111)
  • Engineering Seminar (ENGR 121)
  • Microprocessor-Based Systems: Design and Applications (ENGR 155)
  • SCUBA (PE 039)
  • Classical Philosophy (PHIL100A)

Second Semester (19 Credits)

  • Computer Systems (CS 105)
  • Software Development (CS 121)
  • Computer Science Colloquium (CS 195)
  • Advanced Systems Engineering II (E102)
  • Engineering Seminar (E122)
  • Discrete Mathematics (MATH 55)
  • Organizational Behavior (ORST135)
  • Stoics, Skeptics, and Epicureans (PHIL101D)

Senior

First Semester (16 Credits)

  • Chemical and Thermal Engineering(E82)
  • Engineering Seminar (E123)
  • Computability and Logic (CS 81)
  • Algorithms (CS 140)
  • Computer Science Clinic I (CS 183)
  • Computer Science Colloquium (CS 195)
  • Ethics - Ancient and Modern (PHIL 122)

Second Semester (16 Credits)

  • Materials Engineering (E106)
  • Engineering Seminar (E124)
  • Programming Languages (CS131)
  • Computer Science Clinic II (CS184)
  • Computer Science Colloquium (CS195)
  • Ethical Issues in Science/Engineering (PHIL 125)
  • Classical Chinese Philosophy (PHIL 125)