There is no shortage of research opportunities at MIT. Once you begin looking through faculty pages, you’ll start to appreciate the scale and variety of research that goes on all around you—and it’s all accessible to you as an undergraduate!
Physics UROPs are broadly classified into four categories: experimental, theoretical, computational, and observational (usually in astronomy/astrophysics). Of course, these labels are not rigid since many projects can be classified under multiple categories. Still, they are useful because they give you a rough idea of what the day-to-day is like.
If you enjoy doing hands-on work, experiments may be for you. Experiment-based projects are highly accessible to freshmen without any previous experience. You only need persistence and enthusiasm (and maybe a bit of coding experience but this is not strictly necessary).
Most of your time might be spent fiddling with lasers, calibrating instruments, or figuring out why the experiment is not working. You will also be analyzing data.
Observational projects in astronomy or astrophysics are also freshman-friendly. Experience in Python will be helpful but not strictly necessary.
Ironically, observing will take only a small amount of your time. You will mostly be looking at your computer, reducing and analyzing your data.
If you’re fascinated by the intersection of computation and physics, computational projects may be for you. You might need some previous CS experience to qualify for this type of UROP.
Consider taking classes like 6.1010 Fundamentals of Programming (previously 6.009) or 6.3900 Intro to Machine Learning (previously 6.036).
Theoretical projects require significant coursework in physics, math, and sometimes CS. You may need to finish physics courses at least at the 8.05 (Quantum Physics II) level. Still, even if you feel like you are unqualified for a certain project, it would not hurt to talk to the faculty and ask them for advice on how you can acquire the necessary skills.
Most of your time may be spent doing pen-and-paper calculations, using numerical methods, or reading papers.
<aside> 🖥️ Coding & Research
For many theory and computational projects, programming is a must-know. Programming experience will also be tremendously helpful during the data analysis stages of experimental and observational UROPs.
You should try to become comfortable with at least one language. In physics, Python is the most ubiquitous. C++ is also widely used, especially in particle physics. Julia is becoming increasingly popular as well. To build a strong foundation in programming, consider taking 6.1010 (previously 6.009).
More and more physics projects are using machine learning so a class like 6.3900 (previously 6.036) would likely help. Alternatively, you can learn machine learning through tutorials like those on PyTorch. Still, some students have said that you can pick up machine learning on the job so you can get away without taking machine learning classes.
Depending on your project, coding might be the most important technical part but a physics background is still essential for understanding the nature of your project and giving you ideas for how to push it forward.
</aside>
Physics UROPs can also be classified according to their subfields. You can see the full list of subfields in the Department of Physics here. If you are looking for physics projects that are more applied, look for physics-adjacent labs (e.g., electrical engineering or applied physics labs) in the School of Computing or School of Engineering.