Inspired by Professor Hoe’s Advice, I wanted to share and reflect on my journey through college at CMU so far.
Before CMU: I took IB math, physics, English Chinese, econ and chem. I also had a solid competition math background (nothing crazy, just local competitions/AMC 12/ AIME). My programming experience was limited to failed attempts to learn python on codeacademy, so no real coding experience.
Major: I came in restricted undeclared engineering and had really no idea what I wanted to do. At first I wanted to do Materials Science and Engineering, but decided it wasn’t for me after the intro course. In the end, I thought the upper level ECE courses looked the most interesting, so I applied at the end of freshmen year, and luckily, they let everyone who apply transfer to ECE that year.
Goals: My goals changed a lot through my first 3 years at CMU. I’ve gone from wanting to do MatSci research to working as a software engineer, to working as a hardware design engineer. Now, my interest has shifted to ML, especially deep learning. My goal is just to find work that inspires me.
☆: courses that really stood out to me and, in my opinion, are genuinely worth taking.
General Advice
-
Take courses you’re interested in, even if they’re notoriously difficult - college is a unique opportunity to learn from renown experts in a structured environment. Take advantage of this by taking classes you’re genuinely interested in, and don’t be afraid if it lowers your GPA, in the long run it won’t matter that much. If you see a course you like but don’t quite meet the prerequisites, reach out to the professor, there’s still a chance they’ll let you in! You’ll enjoy your courses a lot more if you’re mostly taking courses that interest you.
-
Don’t be afraid to ask for help - Knowing when to ask for help will save you a ton of time on assignments. I used to waste so much time staring at the same debug statements and rereading the handout. Don’t do this, bounce ideas off the TAs and friends, go to OH and ask them to explain things again. You’ll find that you’ll not only understand the material better, but also understand the mistake you made. I’m not saying be reliant on the TAs and others, definitely try and do things on your own, but if you get lost or helplessly stuck, don’t be afraid to get help.
-
Take less classes - There’s a lot of really interesting classes, and it’s going to be tempting to register for a ton of them every semester. As hard as it is try not to overdo it. Having time for research and clubs and relaxing is equally important to the college experience. Plus in my experience, the more classes I tooko the less time I had to dedicate to learning the material deeply.
-
Others’ successes are their own, don’t compare yourself to others - There’s a ton of really smart people out there. Inevitably, it’s gonna feel like everyone around you is landing interviews or getting offers from crazy companies or research labs. If you’re not one of these people don’t get discouraged, and definitely don’t tie your self-worth to the kind of internships you land or the publications you have. It’s definitely something I still struggle with, but remember, what others achieve isn’t a reflection of you. Keep pursuing your passion, don’t let anyone tell you what to do.
-
Read this - if there’s things that resonate with you, write it down somewhere.
Fall 2017
- 21-122: Integration and Approximation
- Standard Calc II material, I hadn’t seen taylor series and limit convergence before so that was cool.
- Pretty good if you’re not confident in integration skills, made me more confident when I took integration heavy courses like 21-259 and every signals course.
- ☆ 33-141: Physics I for Engineering Students
- Very good intro class. Anderson genuinely cares about his students, it’s a nice way to ease into college type classes.
- Mechanics is taught very well, and he also pushes a change of reference frame approach to collisions, which is unfamiliar to most.
- 27-100: Engineering Materials of the Future
- The MatSci intro course, learned a lot of crystal structures, wasn’t really my thing.
- Virtually no work, homework answers were given in recitation, and you do get to make a ring in the last lab.
- ☆ 79-104: Global Histories -The Rise and Fall of the British Empire
- Genuinely surprised by how interesting the material was, Roszman was a great lecturer
- Britiish Imperialism from 17th century to 20th century sounds boring, but this was probably the first time I enjoyed listening to someone talk about history.
Workload: 43 units - light
Reflection: I had credit for both 21-122 and 33-141, but I wasn’t confident IB was sufficient preparation. In hindsight, I should’ve skipped both of these classes, and tried for the honors freshman math track of 21-242 and 21-269 instead. Oh well, the free time was nice and I got to enjoy a nice gentle transition to CMU and college life. Also, take C@CM during the summer.
Spring 2018
- ☆ 15-112: Fundamentals of Programming and Computer Science
- This course will make you a good programmer even if you had 0 experience like me.
- Assignments definitely took time to write and debug but if you put the time in you will come out a much better programmer.
- Final project is a great experience building something cool and creative from scratch.
- 18-100: Intro to Electrical and Computer Engineering
- Required for future ECE majors. Lectures were super confusing, a lot of material was thrown at us but none of it was explained very well.
- Go to SI and/or sign up for EXCEL. It will save your life. This and the 50% of marks lost back for doing exam corrections.
- Labs were brutal. Go early so you can finish early. Nothing is worse than finishing at 11pm
- 21-259: Calculus in 3 Dimensions
- Computational approach to multivariable calculus
- Back half of the course felt pretty rushed like Stokes’ and Divergence theorem
- Should have taken 21-268 or waited to take 21-269, I didn’t enjoy the emphasis on computation.
- 76-101: Interpretation and Argument - Something to do with fake news
- Wodzak was a good professor, not much reading and not much writing
- Fake news also seemed like one of the more interesting interp topics.
- 21-101: Freshman Math Seminar - Fractals and Chaos (mini)
- I took this because it sounded interesting.
- Ended up being a bunch of analysis topics taught by Flaherty like open/closed sets, metric spaces, Hausdorff metric. Scary, but interesting
- Take home final meant I started spring break by finishing this exam
- 21-126: Intro to Mathematical Software
- “learned” a bunch of software like MATLAB, LaTex, Mathematica, Maple. I don’t remember much from this course if I’m honest.
- 99-251: Seminar in Supplemental Instruction
- 2 hour seminar to prepare you to teach for Academic Development.
Workload: 52.5 units - moderate, majority of the work came from 112 and 18-100 labs.
Reflection: 21-126 really wasn’t worth taking in my opinion. I should’ve held off taking 21-259 and tried to take one of the more theory heavy versions, I think I would’ve enjoyed that more. I originally was going to take 21-127 (concepts) instead of 21-259, but was talked out of it becasue 21-127 has a reputation for being difficult. In hindsight I should’ve taken concepts. On the bright side, since the workload wasn’t too bad it meant my first carnival was a lot of fun!
Summer 2018
- Relax and Recover
- I recruited a bit at the TOC and on handshake, but didn’t land any internships. I stayed in Pittsburgh for a month after school ended in an attempt to do research, but didn’t really get anywhere.
- I went home sometime in July to catch up with friends and spend time with my family.
Fall 2018
- EXCEL: 21-259: Calculus in Three Dimensions
- I had 3 separate sessions of 9 students, but I only had to prepare material once a week
- The 3 leaders held their own exam reviews, but we really should’ve combined into 1 large one
- TAA: 33-141 Physics I for Engineering Students
- Basically show up to recitation twice a week and answer questions
- 15-122: Principles of Imperative Computation
- Felt more like an intro to real CS, you learn search, sorts, and data structures all in fake C and real C at the end.
- Coding with contracts, invariants, will be a lifesaver in future systems courses
- ☆ 18-240: Structure and Design of Digital Systems
- Nace is a great lecturer and the material was interesting. I liked how the course builds in complexity, from combinational logic to sequential logic, and finally hardware threads.
- Labs were tedious and time consuming and homeworks were frustratingly vague and the time pressure in exams was brutal
- Finishing lab 5 was probably the happiest I’d been in a long time.
- 33-142: Physics II for Engineering Students
- Lectures were pretty confusing, so reading the textbook saved my life.
- Content moves pretty quick and there’s not much overlap between units
- Midterms and final is pretty much your entire grade.
- 21-127: Concepts of Mathematics
- A very good first class in proof based math, like proof methods, sets, functions, number theory. Take notes and review proofs covered in class later.
- Pretty much review for anyone that’s done competition math before, but can be tough if you’ve never seen these ideas before.
- 82-191: Elementary Russian I
- Chill class, Russian is a super cool language to learn.
- When else are you going to get a chance to learn a new language in a structured manner!
- 18-200: ECE Sophomore Seminar
- You just sit and listen to a random talk about ECE for an hour and write a reflection each week.
Workload: 57 units - heavy, lots of assignments.
Reflection: The sheer number of assignments was pretty rough. I’ve seen most of the 21-127 material before so that helped a lot. 18-240 was definitely my favourite course, the labs were tough but super rewarding. It was also interesting to see the difference in writing software and hardware. The computer architecture part of this course was my favourite, it really demystified what a CPU is. EXCEL was a lot of fun, and I really fell in love with teaching, but it did mean I my Sundays and Monday nights were spent teaching so I had less time to finish my assignments.
Spring 2019
- EXCEL: 33-142 Physics II for Engineering Students
- I had 3 sessions again, but it was definitely easier preparing this time round
- All the leaders held 1 exam review for each exam so I didn’t need to prep as hard we just reused old handouts. There were 5 exam reviews in total, felt like one every 3 weeks.
- ☆ 15-213 - Introduction to Computer Systems
- Great course that really goes in depth into the memory stack and other elements to computer systems.
- Lectures are relevant for exams but textbook helped more for labs.
- Labs are pretty time consuming if it’s all new to you but you’ll learn to write and debug code much better than you had to in 122/112.
- Exams are terrifying, you get your grade as soon as you press submit. Double and triple check your answers.
- ☆ 18-290 - Signals and Systems
- Sankaranarayanan is a great lecturer and made a lot of the scary ideas in signals pretty intuitive. He made me want to take an advanced signals course.
- You can get by learning Fourier/Laplace transforms as mathematical ideas, but it helps more to understand fundamentally what they represent.
- 18-202: Mathematical Foundations of ECE
- This course really needs to be reworked. The first quarter is review from 21-127, and the next 3/4s are complex numbers, differential equations and linear algebra.
- Way too many disjoint topics are crammed into this course so nothing is taught well. If you want to learn diffeq, take 21-260, if you want to learn linear algebra, take 21-241, this course will not teach it well.
- At least this course can be used as prereqs for any course requiring 21-241 (linear algebra) and 21-260 (differential equations)
- 33-211: Physics III: Modern Essentials
- I took this because it was a prereq for 33-234 (Quantum Physics), but it turned out to be ok.
- I did a bit of special relativity in high school so I thought it’d be review, but this really goes in depth into the transformations and using the invariants. The stuff about general relativity, time dilation, and the skim of QM was also interesting
- The 8:30 recitation was a little too early and I’m really glad those quizzes didn’t destroy my grade
Workload: 46 units - moderate, but heavier during the back half of 213 assignments
Reflection: I wanted to take it a little easier after the fall semester, so I decided not to overload. I also wanted to bang out a bunch of my ECE requirements early, so I wouldn’t have to worry since I wanted to study abroad next spring. I cannot stress enough how great 15-213 is as a class, you really learn how to design code and methodically debug. It’s also a class you should try and work alone as much as possible, there’s tons of students who get caught cheating every semester.
Summer 2019
- TA: 15-213/15-513/18-613 Introduction to Computer Systems
- I recruited a bit but didn’t get any offers, so I decided to be a TA for the summer session.
- Teaching and answering questions really helps reinforce the material, and I definitely felt I had a better grasp of some of the concepts after the summer
- Reading and understanding others’ code really improves your code tracing abilities. You also see some ‘interesting’ approaches when grading/debugging.
- Style grading was tedious, especially when there were 40 of them to do. It also took way longer than I thought.
Fall 2019
- SI: 33-141: Physics I For Engineering Students
- Biweekly sessions meant I had to prepare material twice a week, which got tough as my assignments piled up.
- Solo hosting exam reviews for 100+ students is super scary. The room is hard to control and you kind of just have to let them do whatever.
- ☆ 18-341: Logic Design and Verification
- Lectures were interesting, but the real meat of the class were the projects
- Projects were essentially designing and debugging large hardware threads
- Staff will not debug anything for you. Hardware isn’t like software. It either works or doesn’t, there’s no in between. You will become very good at thinking in hardware
- The waveform viewer will save your life. There are no ‘x’s in real hardware, it’ll just be 0s. Remember this if you have a synthesis bug.
- ☆ 18-349: Introduction to Embedded Systems
- Rowe is not a great lecturer, lectures only matter for exams really.
- The code you write interfaces almost directly with hardware and MM/IO devices so writing the drivers for those was pretty cool.
- Reading pages and pages of information sheets about the hardware was most definitely not cool.
- Lab 4 was exciting, easily the most complex and well thought out piece of code I’ve written.
- ☆ 21-325: Probability Theory
- A proof-based treatment of probability and statistics. A more rigorous treatment than the traditional 36-225 route for engineers
- If you like proofs you’ll enjoy this course, there were little computation problems and there are several proofs of results presented in class.
- Poisson processes and Queuing theory is difficult. I still don’t really understand it.
- 18-220: Electronic Devices and Analog Circuits
- This class does not live up to its reputation as the easiest ECE core, it was deceptively hard.
- Content moved super fast and the homeworks were not trivial. You had to have known what you’re doing.
- Labs were brutal again, I’m glad they told us what circuits to build. My labmates that helped with the oscilloscope and the TAs were life savers.
- 76-245: Shakespeare Tragedies & Histories
- Minimal work, lectures were pretty much listening to context about the plays as well as breakdowns of important scenes and symbols.
- It was definitely nice to practice analytical writing again. I had started to miss writing essays and analyses.
Workload: 54 units - death.
Reflection: 18-341 and 18-349 is a pretty tough combination. Make sure you have a good partner for 18-349. Material in both these classes was great if you like hardware/systems. I really enjoyed 21-325, I really like the abstract math part, and it was definitely fun to think in a write-proof kind of way, which is surprisingly different from writing code. I had to petition the department so I could count it for my probability/stat requirement, but it was definitely worth it, and I suggest others do it too if you liked 21-127. Being an SI leader was a lot more work than being an EXCEL leader, but I definitely started looking forward to the sessions.
Spring 2020
I studied abroad this semester at UCL. I applied early in the fall, and they notify you around November - December. I applied for Electrical and Electronics Engineering.
- ELEC0024: Digital Signal Processing and Systems
- The second half of the course on digital filter design was interesting, I wish they went more in depth into adative filtering, though.
- I also wish they broadened the scope a bit instead of focusing on determining which digital components make up this bode plot.
- ELEC0029: Electronic Devices and Nanotechnology
- First half focused on MOSFET fabrication processes. Found out that wasn’t my thing.
- The quantum physics half of the course was weird. They hand-waved a lot of the mathy ideas like quantum tunnelling.
- To be honest I still don’t really know how a MOSFET works but I can tell you how they’re made!
- PSYC0016: Developmental Psychology
- Lectures were super fast paced and there was a ton of material. Was hard to keep up
- MSIN0059: Managerial Accounting for Decision Making
- Surprisingly interesting, even if it didn’t go into details about bookkeeping.
- I didn’t like how seemingly open ended questions required you to touch upon specific points in order to get any points.
Workload: Virtually None. UK universities have finals worth 70-100% of the final grade.
Reflection: Studying abroad was a lot of fun, before coronavirus of course. It was nice to take a break from CMU and the environment, and have an opportunity to explore a new city. I had a lot of fun playing competitive hockey again, until, unfortunately, our season was cut short. Coronavirus pushed a lot of my exams/essays back and Developmental Psych cut their final, Accounting changed their exam to a written assignment, and the 2 ELEC classes had online exams. No homework throughout the semester was a plus at the time, but I found myself cramming for exams, so I probably retained less. I did have time before exams to informally take 10-701, so that was a huge win for me as I’ve been wanting to learn ML for a while.
Summer 2020
- Credit Suisse: Technology Analyst Intern
- I was super bummed when it got moved online, I knew a good number of people who were supposed to intern in NY with me.
- I didn’t work out of the US, so the 12 hour time difference meant I had to work 9pm - 5am. Was rough.
- Work was generally interesting, it ended up being a lot of data cleaning and prep which felt super tedious, and I wanted more time to develop a better NLP model.
- I did meet a ton of cool people and learned a lot about capital markets and what banks actually do.
- Fintech is surprisingly different from traditional SWE. The focus in fintech is on how it impacts the business, which is interesting to see how scope affects the software you build.
Fall 2020
- TA: 18-349 - Introduction to Embedded Systems
- There wasn’t much course logistics and things that needed to be changed so workload was from office hours + small groups
- I’ve talked about TAing above but it is a good way to stay connected to the material and improve debugging skills
- I still hate grading
- SI/EXCEL: Supervisor
- I had a supervisor role, but I didn’t really do much as I was busy with classes/research/TAing
- 10-701: Introduction to Machine Learning (PhD)
- Pretty rigorous math-wise, and covers mathier stuff in boosting (Adaboost), EM, and inference and training of HMMs than the master’s/undergrad intro class
- Project is a good opportunity to simulate real research and explore a cool data set or algorithm
- 39-500: CIT Honors Research Project
- Project was focused on robotic controls which I knew nothing about so I spent the semester learning and trying to understand the baseline
- 21-355: Principles of Real Analysis I
- Problem sets took me a good 1-2 days to finish and was pretty difficult but I’m just not great at math
- I thought the exams were a little unfair since they featured 2-3 homework level problems in a 3 hour window and the homework problems usually take me a good 2-3 hours to do 1.
- ☆ 17-200: Ethics and Policy Issues in Computing
- This class is interesting and gets you to think about tech from a different perspective
- It was a pretty big slap in the face to see some of the ethical greyness a lot of governments and big tech companies operate under
- There was a ton of writing every week, though which sucked. ~1 page 12pt font single space every week
- In hindsight one of the classes that had the most impact on me at CMU
- 70-321: Negotiation and Conflict Resolution
- This class was a lot of busy work. Negotiations were fun but weird to do virtually
- Did not like how the negotiation scenarios came out Thursday afternoon and was due Friday morning that was bad
Workload: 54 units - Moderate. Heavy towards the end (but probably because I was lazy)
Reflection: I didn’t do great in analysis, but I had a great time. The level of thinking is quite stimulating. I got pretty into my 10-701 project and it made me want to do ML research in the future. 17-200 and 70-321 had a lot of busy work every week, which I wasn’t used to since my gen-eds typically had like 0 work aside from assignments. TAing was quite a bit of work. Professor Kesden made us have small groups to relieve some pressure on OH and it worked for the most part, but it made the TAs feel pressured to be available to the students 24/7. I know it’s supposed to be a 12-20 hour job a week but every week was pretty packed and some of the bugs were quite nasty.
Spring 2021
- TA: 10-701 - Introduction to Machine Learning (PhD)
- I bagged the in person office hours, which meant almost nobody showed up
- Almost every homework and exam was written from scratch by the TAs so between writing, testing, revising, and grading it was a lot of work
- ☆ 18-447: Introduction to Computer Architecture
- Demystified a lot of details with CPUs. It was cool to see how smart some of the solutions are to make CPUs run faster
- Labs were manageable but a decent amount of creativity goes into the last lab which was graded based on relative performance to the class
- Exams were difficult and unfair IMO, they were 11 problems in 55 minutes and you couldn’t go backwards so some problems Hoe gave were just mean
- Lectures were mainly separate from the labs but I learned a lot from both. Honestly one of the classes I’ve learned the most from at CMU
- 18-500: ECE Design Experience
- Basically this was a semester long project with a bunch of presentations
- The pace of the course was awful. Over half the semester was presentations about constraints and requirements and not dedicated to working on the project. Even though it’s supposed to be a semester in reality we only had a few months
- The budget was nowhere near enough and most teams I know used expensive tech they already owned. If you need something fancy you’re better of buying or borrowing from a friend
- We ended up winning second place which was pretty cool, but was it worth the late nights in lab the last few weeks? Definitely.
- 33-234: Quantum Physics
- The course covered more than I expected. It wasn’t just time-independent Schrodinger’s, but raising and lowering operators in harmonic oscillator, and QM in 3D where we rigorously defined and calculated the 3 quantum numbers. Pretty cool stuff.
- Homeworks were graded super leniently and the exams were not bad either once the Professor changed it to 24 hour time limits
- 80-405: Game Theory
- In all honesty I learned next to nothing in this class. There were no exams only homeworks and lectures weren’t recorded so I learned enough to do the homeworks and that’s about it
- All things considered, pretty easy gen-ed, only 5 homeworks. Although there was a lot of panic whenever I opened the homework and had no idea what it was talking about.
- 84-200: Acceleration: A Global Security War Game in the Age of Pandemic
- This was a 4 day long simulation where we made decisions on behalf of governments in a simulated political environoment.
- You get as much as you put into it, so if you really get into the role, and read all the information and try and get involved with discussions it can be a lot of fun.
- The whole simulation was ran by Valens Global, which was a company that consulted with the US government on things like Al-Qaeda, so that was pretty neat.
Other: This ends my undergraduate career. I laughed, I cried, but it was an experience I wouldn’t change for the world.
Workload: 45 units - Light/Moderate. Moderate when Comp Arch labs were due
Reflection: 18-447 labs sucked up majority of my time and my partners weren’t the greatest and were busy with other things. That being said they ended up being really rewarding and I think I understood some of the material better because of it. It’s always nice to bridge the gap between idea and implementation. 33-234 was also enjoyable and I learned a lot. The first half of the course was easy, but it got pretty hairy towards the end especially with QM in 3D. 18-500 is pretty annoying, especially with all the report and presentations they made us do which was a waste of time IMO. My advice would be to start and learn all the requisite technologies early so you can breeze during the semester. To be honest I didn’t do much work this semester, I mostly hung around and enjoyed my last semester as an undergraduate with friends in a typical college student manner :).
Summer 2021
- Unplanned rest and relax
- I had an offer to work at Apple, but silly me didn’t fill out the work authorization form for OPT properly and submitted to late and by the time the I realized that I messed up it was too late. Luckily my recruiter and manager were nice enough to work with me to push it to the fall semester, but that still meant I had nothing to do during the summer.
- I ended up living in New York and hanging out with friends until they started work. Tried doing research again but the project ended up not being super interesting and I lost motivation pretty quickly.
Fall 2021
- Apple co-op: GPU Verif Intern
- I worked on the GPU memory verification team from September until December. My work mainly focused on testing parts of the graphics interconnect blocks
- I also worked on some coverage code for some of the cover groups in the interconnect block. Our goal was to use Xcelium ML tool to try and hit coverage points that aren’t hit with current stimulus. Ended up being kind of successful was able to pick up 10% of unhit cover points afterr 5 iterations, and hitting these 2 points 3 times in 10 iterations.
- It was a little hard working remotely in the east coast because that means my workday ends at 8pm but at least I didn’t have to get up early.
- Working remotely is a double-edged sword. It’s pretty laid back, but it’s hard to motivate yourself to work. Some days i had to go to campus just to get in the mindset
- Presentation was also very different. Instead of presenting to business folk like I did last summer I was presenting to my team manager who knew exactly what was going on and was asking a lot of questions.
- TA: 18-100 - Introduction to Electrical and Computer Engineering
- The course was revamped from spring 2018 so a lot of the content was new and taught in a different way
- Unfortunately there’s still an emphasis on the analog and even more unfortunately I still barely know how a transistor works
- Small groups was fun for the most part but was kind of hard to demo the labs when I hadn’t done them…oops.
- Grading was painful as ever. These freshman were submitting blurry photos of their work, illegible handwriting, and answers written in the margins of the question paper. Guys, write your answers on a separate piece of paper neatly. The person grading will normally be nicer if it’s easy to grade.
Reflection: I made the decision to take a semester off from school and delay my masters before I got the offer from Apple. It was a tough decision at the time since my recruiter was adamant that an offer was not guaranteed, but I had to think about trying to recruit full time without 2 summers of experience and that would be tough. I was also considering doing a PhD and applications would start in the fall before I had any research experience. This way I have spring and summer for research before the application cycle next fall. Having worked 2 summers in industry, I’m heavily considering a PhD. It’s not that the work isn’t hard or interesting, it just doesn’t feel exciting to me. I was talking to a friend about his project on graph signal processing and graph-CNNs and it really made me want to be on the cutting edge. Hopefully research goes well in the next semester goes will so I can confidently apply for a CS PhD.
Spring 2022
- TA: 18-100: Introduction to Electrical and Computer Engineering
- Course didn’t change much from the previous semester. A lot easier this time around since I was already familiar with most of the labs.
- A lot more TAs meant less grading which was nice, but similar levels of student interaction, which was double nice.
- 18-743: Neuromorphic Computer Architecture and Processor Design
- Pretty disorganized in general but the concepts covered were pretty cool. Neuromorphic computing is a pretty new area of research so our project involved a lot of failure
- Pretty light. Only 2 assignments which weren’t too bad and a project that explored an area of neuromorphic design, which was pretty cool. If only things worked properly.
- 10-707: Advanced Deep Learning
- Lectures were pretty dense but super interesting and covered a lot of details about some cutting edge stuff, from CNNs to generative methods (VAE, GANs), and seq2seq models, Boltzmann machines, and flavours of more advanced stuff
- Homeworks were light in general but project took up a lot of time. Really depends how much effort you put into it though.
- ☆ 15-750: Algorithms in the Real World
- Really enjoyed this class, Anupam is a great lecturer and the class covered a lot of cool algorithms and a bit of complexity stuff and spectral graph theory.
- Homeworks took a decent amount of time, but it’s always super satisfying when you figure out the answer. Exams were tough. Really liked the lost key problem on the final though :)
- It made me want to take more algorithms courses, or at least wish I had taken them in the past.
Workload: 36 Units. Light-ish, but moderate once projects started picking up.
Reflection: 10-707 was one of the most interesting classes that I’ve ever taken. The content was genuinely interesting and it’s one of the only classes that I’d want to rewatch lectures I missed or even if I had free time. 15-750 was also a lot of fun and I really like the problem solving aspect of the homeworks. 18-743 was interesting in theory but the courser was pretty disorganized and unfocused making it hard for me to want to work on it. Overall a pretty decent semester; I had time to chill, have fun, and grind a little too.
Summer 2022
- Research with Paul Liang, MultiComp Lab CMU
- Worked on the HighMMT project over the summer. I was home making it kind of difficult to find time to make meetings and balance the time between working and spending time with family.
- The hardest part was just getting things working since HighMMT is a multimodal multitask model I needed to download a ton of datasets and getting everything imported properly so that it runs
- This was the first project that really balanced me having the skills and knowledge to contribute with the project being interesting to me, so I was able to make a lot of progress during the summer and into the fall semester.
Fall 2022
- TA: 18-100: Introduction to Electrical and Computer Engineering
- Even more TAs than last time which meant even less work for me.
- Research: Paul & Minji
- Finished up HighMMT work with Paul in October and started a graph learning project
- Slowed down towards the end because there were more assignments
- ☆ 10-703: Deep Reinforcement Learning and Control
- Really cool class that introduced a lot of state of the art algorithms and papers, where some were published during the semester
- Beginning of the class was great, lectures and concepts linked together and built off one another. Latter half felt more like a potpourri of different algorithms and papers, which became harder to keep up
- Would’ve liked a final project instead of exams but the content was super cool.
- 18-650: Policies of Wireless Systems
- Thought this would’ve been chill, but after failing the midterm I started paying attention and found it to be pretty interesting actually
- Covered a lot of spectrum policy stuff that I wasn’t super interested in, became kinda interesting to see how certain court decisions and laws affect the industry
- 18-898: Graph Signal Processing and Geometric Learning
- This class was basically going through GSP theory that was built up by one PhD student and Jose Moura
- While the theory was interesting the course itself was a trainwreck. They arbitrarily added homeworks, had a midterm over thanksgiving break and planned to have a homework, final project presentation and final project paper due during finals week.
- GSP is a pretty new field and there’s a lot of potential there so it was pretty exciting to learn about it.
- 24-694: Creativity and Its Practice
- Not much to say this class was supposed to teach and promote creative practices
- Class was pretty light in general and the professor is pretty amazing and a super nice dude.
Workload: 48 Units - Moderate. There was always something that needed to be done.
Reflection: Research took up a lot of my time early in the semester before work started picking up so I was pretty busy throughout. 10-703 ended up being a really fun class and I got to read a lot of cool papers. I wish I took that class earlier and did some RL research. 18-898 was stressful because it was just so poorly run and they increased the frequency of assignments while also adding a final project towards the end. A busy last semester but I’m glad I didn’t overdo it or take it too easy. A little bittersweet to be done with school, but I’m definitely less sad this time around and more excited for the chapter ahead!