“Where did you learn about functional programming outside of 3.019?” a professor asked me after a lecture one day.
“Your [3.010] poster says you’re in the EECS department – is that true?” another asked during office hours just a few weeks later.
They were both under the guise that I’m a course 3 (materials science and engineering) major. Rightfully so, too – I’m taking 3.010 (structure of materials) and 3.019 (symbolic and mathematical computing) this semester, and I blow glass in MIT’s glass lab. The truth is, I’m actually majoring in 6-2 (electrical engineering and computer science).
So why am I taking (and planning to take) so many course 3 classes, when almost everyone outside the department stops after taking the chemistry GIR? To answer that question, let me tell you the story of how I ended up in 6-2.
I entered MIT last fall knowing I’d major in 6-9 (computation and cognition). I’d done my fair share of computer programming in high school, and I knew the next logical step would be to invest all my energy into understanding the “artificial intelligence” everyone was raving about. Yes, I didn’t want to study neuroscience (6-4 wasn’t around yet), and AI wasn’t much more than a buzzword to me, but still, I was dead set on the major.
Around then, I also heard several stories about people planning to major in one field, only to declare something completely unrelated a year later. That felt like a strange concept at the time, and I was sure I wouldn’t be like that. How dramatically could my interests change in such a short period anyway? (Plus, I’d already made a Courseroad for 6-9.)
I became a stereotypical CS student. I coded websites and Discord bots for fun and would include C++ when asked about languages I knew. I never built things that didn’t require a keyboard and mouse. I even found myself a software engineering summer internship – more on that later.
I was living the dream, studying CS at the top CS school in the world. And yet, when I took 6.1010 (fundamentals of programming, previously called 6.009) in the spring, I couldn’t feel the passion I’d previously had for the subject. It was partly due to my disliking the class structure, but it also made me want to do something more hands-on. Something involving building things from the ground up. Something I could only learn at MIT…
While all this was happening, I discovered my interests in course 3.
Before coming to MIT, I’d never particularly enjoyed physics or chemistry, much less considered pursuing them at college. I also never quite understood what “materials science” meant because almost everything can be a material. That all changed after I asked a fellow MITWE clarinettist (a materials science grad student) what exactly people study in the department.
“Materials science is super broad, but more specifically, we study the properties of things and how to engineer new materials with the desired properties,” he replied.
“Things and properties such as?”
“Such as that clarinet you’re holding right now – why are its metal keys shiny, and why does its wooden body make it sound so different from a saxophone?”
That last question made me think. I’d never contemplated those things before (and I’d always assumed that saxophones were metal to look pretty), yet they seem fundamental to everything around us. Why exactly is metal shiny? I’d always instinctively associated shininess with conductors and transparency with insulators, but I’d never known exactly why this was so.
These questions eventually led me to learn about solid-state physics through the 3.033 (electrical, optical, and magnetic properties of materials) OCW course. Before I even clicked into it, I could sense something special about it – the course banner was Schrodinger’s equation inside a comic-book exclamation bubble. (It turned out that the previous professor teaching it (Prof. Polina Anikeeva) is a big comic book fan and uses that passion in her teaching; true to form, every pset was in the form of a superhero comic!)
Although I didn’t understand much of the content, reading through those comics gave me a sense of what solid-state physics was capable of beyond old, dusty textbooks. 5.111 had made me fear quantum mechanics, but 3.033 taught me to value it as a tool from which all material properties would emerge.
This class alone wasn’t enough to convince me to pursue course 3, but then I attended the spring Wulff lecture, which was, by some stroke of luck, given by Prof. Anikeeva. It started with her describing how she got into materials science and her journey into neuroscience later in her career. Her story was particularly inspiring because I felt like I was going through the same process, albeit in the opposite direction.
She then talked about her work, which spanned everything from quantum dots to magnetic nanoparticles that stimulated the brain. She even brought several hands-on demos for the audience (including a sheep’s brain from her lab)!
I was amazed by how fundamental yet practical materials science could be. It was everything I loved about computer science, but more physical. That lecture was the final push I needed to convince myself to major in course 3.
And yet, I didn’t declare course 3.
I still declared 6-9 as soon as I could. Remember that internship I mentioned earlier? Here’s where it comes into play.
I’m currently on an F-1 visa – a non-immigrant visa for a temporary stay. Per federal regulations, if I want to work off-campus, I need work authorization – specifically Curricular Practical Traning (CPT). Obtaining this authorization at MIT may sound straightforward in theory, but there were many hurdles I had to clear along the way; see the appendix for a more detailed account. The TL;DR is that I needed a major directly related to software engineering while also granting first-year students CPT. At the time, I only knew two majors that did that, and 6-9 was one of them.
Not declaring course 3 didn’t bother me because of how easy it is to switch majors at MIT, and I’m grateful that course 9 allowed me to do the internship when the summer eventually rolled around. Sadly, that summer was the last time the department would grant CPT, but I digress…
Surprisingly, working as a software engineer made me even more excited to study materials science. Not that I dislike software engineering now; on the contrary, I loved it and will try to pursue it as a career. Instead, I realized that studying something more fundamental with a high barrier to entry (in my case, solid-state physics) would be more interesting and also useful for understanding how computers worked. Speaking with other engineers at my company further reinforced this idea. A few expressed regret about not exploring more in college, while others told me about the importance of having a diverse range of backgrounds on a team.
There were a handful of other benefits of being too:
- CPT is built into the major since there’s the option to substitute two summer internships in place of the undergraduate thesis. Course 3 even pays summer tuition to pursue said internships.
- It’s a tiny major, so it’s very tight-knit and wholesome (or at least more so than course 6).
- It’s exceptionally well-funded too, so there are plenty of opportunities to use state-of-the-art equipment. (In 3.010, we got to perform x-ray diffraction a few weeks ago.)
I felt like I had my whole MIT plan figured out then! I’d switch to course 3 and learn all about nanoelectronics and conduct groundbreaking research about magnetic materials and…
And then reality hit me.
I still wanted to work in software engineering, but federal regulations would forbid that – both before and after graduation – if I didn’t major in something directly related to computer science. Careers related to nanoelectronics also have prohibitively high barriers to entry (which was, ironically, one of the things I admired about materials science), and I wasn’t comfortable with the risk associated with switching to that either.
I felt so disoriented. How could I do all the exciting course 3 things while still being a course 6? After much contemplation, knocking on doors at 1 am, and speaking with friends, I finally settled on switching from 6-9 to 6-2 with a minor in materials science.
Believe it or not, this was an incredibly good outcome for me because 6-2 is a happy medium between software engineering and solid-state physics. Taking 6.004 (computational structures) and 6.046 (design and analysis of algorithms) this semester has breathed life back into my passion for computer science. Course 6 also has a great MEng programme (which Shuli discussed in this recent post) with the option to concentrate on materials, devices, and nanotechnology. I’m learning about nanoelectronics through an electrical engineering UROP, and I even managed to petition 3.033 to count toward my degree!
Of course, this isn’t to say that the major doesn’t have its drawbacks. For example, I still need to have taken fewer than a certain number of total units by the end of my junior year01 More specifically, at most 180 units beyond GIRs. This restriction isn’t too bad for me if I plan properly, but many people overshoot the limit through ASEs or too many classes in one semester. Plus, students on an F-1 visa must take at least 36 units per semester, so it’s quite difficult to rectify past mistakes. to do an internship that summer. Nevertheless, I feel like 6-2 is a neat, happy ending to this story (although I will always be a course 3 in spirit).
As strange as it may sound, I’m rather happy that I went through this turbulent journey to converge on my major. It taught me resiliency and flexibility when things don’t go according to plan. By exploring all these different areas of study, I gained insight into how they relate. Figuring out how CPT works along the way was also a big plus.
Was it painful? A little. But as the saying goes, better to have loved and lost than never to have loved at all.
Appendix – F-1 Student CPT Work Authorization
I realized that most MIT students aren’t aware of the policies governing where and when students with an F-1 visa can work, so here’s a short (and by no means comprehensive) guide.
Work authorization before graduation almost always manifests as CPT. It’s meant to be “off-campus employment authorization that is an integral part of an established curriculum and is directly related to the student’s major field of study” (quoted from the International Student Office website). You can read more about it on this ISO page.
In practice, this means getting a departmental letter of support before being granted CPT from the ISO. A few implications of this are as follows:
- Each department has its own CPT policies. For example, course 6 doesn’t grant it for one’s first-year summer, while course 9 no longer offers it at all.
- I can only work in a field directly related to my major. For example, I can’t work as a software engineer while studying materials science.
- I can only get CPT after I have a major, and first-year major declarations at MIT only take effect in mid-June.
- There are fixed periods in the year when CPT is allowed to take effect at MIT. Because of this and the previous point, I had to shorten my summer internship by about a month.
- I have to register for a summer “internship” course to do a summer internship. Summer registration was rather difficult as a rising sophomore without a first-year or faculty advisor to approve the registration. Plus, I had to pay $620 in summer tuition.
After graduation, we can then use Optional Practical Training. OPT involves an application process that I still don’t quite understand, but you can read about it here if you’re interested.
Luckily, these restrictions don’t apply to on-campus work. (There’s just one restriction of not being allowed to work more than 20 hours per week during the semester, but I don’t work enough hours for that to be a problem anyway.)
- More specifically, at most 180 units beyond GIRs. This restriction isn’t too bad for me if I plan properly, but many people overshoot the limit through ASEs or too many classes in one semester. Plus, students on an F-1 visa must take at least 36 units per semester, so it’s quite difficult to rectify past mistakes. back to text ↑