Cornell University CS + Engineering Physics 乞求米饭 (将使用英语)

4587
16
Hi! I will be posting in English since it's easier for me.

Campus Life and Lifestyle and Classmates
Even though I am currently a 3rd year, I have only been on campus for 1 and a half years because I was at home my first year. However, first and (new this year) some second years live on North Campus. A lot of North Campus has older buildings, but in the past two years, the university has finished construction of 5 new dorms. Many second years also live on South Campus and West Campus. South Campus has 3 dorm buildings, but they are older and one of them is so far that they get a free bus pass. I have only lived on West Campus. The buildings are relatively new and it's closer to classes than the other dorms. The only con is that to get to classes, there is a very big hill (we call it the slope) that we have to walk through. I got lucky to be on one of the dorms that guarants us to stay on campus housing (but with a special program), but many students are forced to live off campus. The main place people stay is called Collegetown, which is south of campus, and housing is between 1000-2000 USD a month. For contrast, Cornell dorm housing is 9000-10000 USD a year. My dorm on west has a large room with 1 large table, 1 drawer, 1 bookshelf, a walk-in closet, and a twin-XL sized bed. A con is that sometimes the walls are thin, so I can easily hear my neighbors when they are loud. My second year I lived in a suite with 5 other friends in a double and we got along well and are still friends today but there are definitely cases when friend groups are broken up because of living disagrements.

The food at Cornell comes in 2 main forms: dining halls and eateries. First years and students living on west have the same meal plan: unlimited dining hall meals and 400 USD to spend on eateries per semester (I try to only use 100 USD a month). There are 10 dining halls on Campus: 3 on north, 6 on west, and 1 on central campus (where the main classes are). For the 3 on north and the 1 on central, the dining halls are large, especially for the new dining hall on north. However, there is one dining hall on north that is smaller that is for those that are nut and gluten free, but it's only open on weekdays. Thankfully, all the dining halls are friendly for students with food allergies. On the other hand, each of the west dining halls (except 1, which is for kosher and halal students) are in each of the West campus dorms, and are smaller and convenient for those of us living on West. On Wednesday, there are house dinners which are only open for residents in each of the dorms. Compared to the other dining halls, the ones on West are better. As for the dining hall on central, it is not that good, but it is convenient becaus it is closer to classes and also if you are out of eatery money. However, many students opt to go for the eateries instead. Many serve sandwiches and wraps, but there are 2 which students go to a lot which are more like food courts, with burrito, quesadilla, burger, stir fry, noodle, pasta, and gyro stations. The food is a bit overpriced however.

Outside of campus, there are two main areas: Collegetown and the Commons. Collegetown is closer to campus and many students go here for dinner and for the weekends. There are several restaurants that are decent but there are Korean BBQ and hot pot places that are really good, but expensive. On the weekends, there are also many parties hosted by fraternities and house parties too. Roughly 1/3 of all students join some form of greek life at Cornell before graduation, but there isn't much peer pressure to go to parties if you are not a party person. Meanwhile the Commons is more high-end with more expensive restaurants and is farther from campus, so it makes for a good weekend outing. Besides these two, there is also a small mall with a Best Buy, Target, and movie theater to the north and farther to the west, there is a Walmart and Wegmans with some chain restaurants. All of these places are accessible via bus. First year undergrad and all grad students get a free bus pass, while for everyone else, the bus is free on weekends and after 6 PM every night.

Overall, Ithaca is a small city, so it is relatively secure and safe. There is a stronger sense of community compared to other cities that other universities are in. Living in an urban area my whole life, I wanted a more rural environment so I came to Ithaca, but I know this not for everyone. For breaks, many students go to larger cities on the East Coast: New York City (4 hours away), Philadelphia (4 hours away), Washington DC (6 hours away), Boston (8 hours away) via shuttle busses and train from NYC.

My average weekday is to go to classes from 9 AM to 4 PM, but I also am able to skip many of my classes and do work at home and catch up later. A lot of my clubs meet after 4 PM and on weekends. Midterms (which we call prelims) happen on Tuesdays and Thursday nights from 7:30-9 PM, and sometimes on Monday and Wednesdays, I have more classes at this time. On the weekend, I am able to meet with my friends to hang out, but sometimes I can also be studying and catching up. Life can be stressful, but the students are not very competitive but instead are more collaborative. There is definitely a "work hard, play hard" mentality at Cornell.

For my classmates, they are very diverse in experience background, with some have never coded before coming to Cornell for CS and others who have been coding for many years. There is also a lot of diversity as well in the student population, both in ethnicity and gender (over half of the Engineering college is women). It is definitely easy to find your community and a friend group, but sometimes it can take a while. For my classmates, it's very valuable to learn from them and also exchange knowledge from each other. There is also a mentality of being politically correct among most of the Cornell population too.

Now to talk about mental health. Sometimes classes and peer pressure from your friends doing a lot introduces a lot of stress, and to be honest, the mental health services here are not the best and can definitely be improved. To account for this, there is a strong support network among peers to make up for this and a sense of solidarity, but it would be better if there can be some professional help. Moreover, imposter effect where you feel you don't belong is real, but everyone who is here belongs here.

Academics

As a CS + Engineering Physics Major, I also could have applied to do CS + Physics BA in the College of Arts and Sciences, but I can waive more classes in the Engineering College, so I am doing this instead. Due to my major requirements, I am also able to get a Electrical and Computer Engineering Minor for free. Requirements across majors can double-count between the majors for the technical electives too, and there is a lot of room to take courses that I want to take.

The CS major here is quite good. The department specializes in algorithms/theory and programming language theory, as well as NLP, but the ML here isn't as good but still quite decent, but I know there are many students here who come looking for ML research. For the professors, there are many really good professors but there are some that are not quite as good, but students tell each other which professors to take with or avoid. Our CS major has a 6 course core, but besides that, the rest of the major is very flexible, whch I like as it gives us room to explore. Many of our course materials are available online so we can look ahead and audit as opposed to engineering physics, which does not.

Our engineering physics is also pretty good too, being highly ranked. Many do ask me the difference between engineering physics and regular physics and think it is more applied rather than theoretical. Engineering physics is basically a physics degree but for engineering students. We are required to take 2 labs, a circuits lab and an advanced lab, but the rest of the requirements are the same as regular physics, except that our classes are smaller due to having a smaller major, and they are still as theoretical. I have heard that physics courses are more advanced, but I have compared both and I think that both are comparable. Compared to regular physics, I think the engineering physics teaching is better, and their quality is more consistent, but they are not as good as the best CS teachers here. For many of the higher electives for engineering physics students take Physics or Astronomy if they want to do more physics.

As for double majoring, you can only double major within the same college, but for minoring, you can minor with fields from almost any college, as a result, if one wants a particular double major, one has to be in the correct college. For example, two very popular double major combinations here are CS + math and CS + ECE. Even though CS is in both the Arts and Sciences College and the Engineering College, only Arts&Sciences students can do CS+math because math is in arts and sciences, while only engineering students can do CS+ECE because ECE is in the engineering college.

My coursework so far:
I want to discuss a little bit about what my schedule looks like for my double major + minor and what I think about the classes here that I have taken. However this is only my journey and the course selections for many will be different.

Waived:
MATH 1910: Single Var Calc (AP Calc BC credit) (Engineering Core)
MATH 1920: Multivar Calc (Community College credit) (Engineering Core)
8 units AP Bio Credit (Advisor Approved Elective)
PHYS 1112: Newtonian Mechanics (AP Physics C Mech Credit) (Engineering Core)
PHYS 2213: E/M (Placement test) (Engineering Core): I found the placement test not too bad, it taught introductory E/M with circuits and some material on waves
CS 1110: Intro Python (Placement test) (Engineering core): This tested basic Python, with control flow (loops, if/while), recursion, testing, classes, and 2D arrays/lists
1 Freshman Writing Class (AP Lang)
4 Liberal Studies (AP Lit, AP Econ: Microeconomics+Macroeconomics, AP Psychology)

1st year Fall
CS 2112: Honors Data Structures/Object Orientated Design (CS Core + Engineering Distribution): One of my favorite courses here, expects knowledge of Java/programming coming in. Although there is a section of the course that teaches data structures and asks you to implement them, the bulk of the course is more about software development, culminating in a large 10000+ line project with a GUI, simulation, and also parsers and interpreters. Formerly this project also required a HTTP server too, which was an intensely high workload)
ECE 2300: Digital Logic/Computer Organization (1/2 of EP Circuits Requirement + 1/2 of a CS core requirement + ECE Minor Course): A course on digital boolean logic covering combinational and sequential logic, with finite state machines in the first half, and covering processors and memory systems in the second half. The professor was good, with the notes being very helpful (and also openly available online), but the Verilog assignments are a big pain to debug. This can replace half of the Engineering Physics Circuits requirement which is normally AEP 3630, which is very quick and covers all of digital and analog circuits and requires 6 hours of lab a week. This also replaces half of the CS computer organization requirement which is CS 3410 and covers this content, but also has C as well.
MATH 2930/2940: Engineering Differential Equations/Linear Algebra (Engineering Core): Just math courses that we are required to take, nothing too special about them, but the linear algebra professor was good and was a good explainer, while the differential equations lecture was dry. As a difference from other colleges, our differential equations course also covers partial differential equations too.
CS 2802: Honors Discrete Math (CS Core): One of the hardest courses I've ever had to take, just a lot of homework and many proofs, but professor was also really good at explaining things.
Freshman Writing Class: I had to write 5 papers for this class and do around 100 pages of reading a week with a 1-2 paragraph reflection before each class, it was a high workload, but other ones are a lot easier. The offerings for these change every semester so it is hard to predict how much work one will be before enrolling in one, you just have to hope you get lucky.
ENGRG 1050: Engineering First Year Advising Seminar: Just general advising where you are with a small group of people from your major or similar majors.

1st year Spring
ECE 3140/CS 3420: Embedded Systems (1/2 of a CS Core requirement + ECE Minor Course): Asynchronous course on C and assembly and concurrency to be used on a microprocessor. Course was disorganized with bad material presentation and curved downward, but was easy.
AEP 2550: Quantum Information Hardware (Engineering Distribution): My favorite physics course I've taken so far. First introduced me to quantum systems and also the hardware behind them. The content was very interesting and got me more into quantum computation.
PHYS 2218: Honors Waves + Thermo (Engineering Core): Smallest class I've taken here. The name is a misnomer because we spend 95% of our time studying waves with only the last 1-3 lectures covering thermo. We also have an honors mechanics/e&m sequence but I skipped them because many of them conflicted too much with my CS courses, so I felt like I wasn't as prepared for how a physics major course should be, but I adapted in the next semester
AEP 3200: Intro Mathematical Physics (EP Core): Taught about basic complex analysis and applied differential geometry needed for physics, I found it useful
CS/INFO 1998 * 3: Intro to Backend/Web Dev/Data Science: 3 mini courses that teaches introductory backend development in Python with Flask and SQLite and SQLAlchemy, full stack web development in Typescript with React, Express, Firebase, and Node/Yarn, and data science with Numpy, Pandas, Matplotlib, Seaborn, and ScikitLearn. All of these helped my resume with end of course projects applying what you have learned so far.
CS 4820: Introduction to Algorithms (CS Core): A pivotal part of my CS career, taught me how to come up with solutions to different problems, and how to reason about our algorithms/programs. It has helped me a lot with my internship search and made Leetcode grinding easier. It is also the hardest in the CS Core due to not only requiring proof knowledge, also requiring programming knowledge too. but also on the bright side, it has consistently good professors. I am TA'ing for this course right now and I have witnessed many friendships being made because of this course.

2nd year Fall
AEP 3330: Mechanics (EP Core + Engineering Distribution): Taught about Classical mechanics, including Newtonian, Lagrangian, and Hamiltonian mechanics, the course is a meme in the EP major due to how long the problem sets are that they are similar to English homework and the professor's phrasing on things.
AEP 3610: Quantum 1 (EP Core): Introductory Quantum, teaching about Schrodinger Equation, formalism, and the hydrogen atom. Nothing really notable about this course.
AEP 4200: Intermediate Mathematical Physics (EP Core): One of the courses that I have used a lot in my other physics courses, it covers Laplace/Fourier transforms, advanced differential equations with Green's Functions and Special functions, and advanced complex analysis. This was taught by the author of the textbook which was quite neat. There used to be an advanced mathematical physics course that covered integral equations, tensor analysis and algebra and group theory but that has been canceled.
CS 4812/AEP 4812/PHYS 4481/PHYS 7681: Quantum Information Processing: Honestly my least favorite course here, prof was disorganized and it just wasn't very good, but thankfully I am still interested enough in the topic to do research in it.
CS 3110: Functional Programming and Data Structures (CS Core): My 3rd most favorite CS course here, taught in OCaml, which is a fun language to write in. The professor was also very funny and approachable. Definitely changes how I thought about programming and sparked an interest in programming languages/compilers. This is a polarizing course, where many people either really like it or hate it.
Rock Climbing (PE Requirement): Helped me overcome a fear of heights, just something cool I wanted to learn how to do.

2nd year Spring
AEP 3620: Quantum 2 (EP Advanced Choices: For context, we have to choose between 2 of quantum 2, electrodynamics, and fluids, but I hear EP electrodynamics is taught badly, so I chose quantum 2 and fluids): My first flipped classroom, where lectures were online and in class we did worksheets, so I was forced to come to classes. This was the payoff to my quantum courses where the content was applicable to real systems and a lot of the course was on appoximation methods and real phenomena.
AEP 3550: Electromagnetism (EP Core): Just saw this as a review of the E/M I've taken in the past, nothing too special here.
CS 4780: Machine Learning: Came in expecting to learn about modern systems and neural networks, but that was only the last part of the class. Focused more on general topics and supervised learning with a lot of math and long, brutal exams, at least the professor was engaging.
CS 4410: Operating Systems (CS Core + ECE Minor): A repeat of CS 3420. I just taught this course was boring. Most of the exams and homeworks were true/false so not a lot of partial credit. This course fills up really really quickly.
CS 4120/4121: Compilers (CS Practicum + ECE Minor): My 2nd favorite CS course, also the largest project I've done here. Learned how to compile a language down to x86-64 assembly with no starter code. It taught me how to work on major projects, how to work on a team and good programming practices as well. This is now my go-to project for behaviorals and has allowed me to land many compiler internships in the past. This course is definitely not for the faint of heart, teaching me how to pull an all-nighter.

3rd year Fall (currently)
CS 4740: Natural Language Processing: Not sure why I am taking this, just because all my friends are. It could be a worse class though. Just not interesting for me.
AEP 4230: Statistical Thermodynamics (EP Core): The course in the engineering physics major that combines everything from prior courses, teaches about how gases/particles behave. However just am a bit confused right now.
PHYS 6561: Classical Electrodynamics: The infamous Jackson course, the hardest course I've ever taken, with complex math and physics concepts and hard problems.
PHYS 6572: Grad Quantum 1: Mostly a review of undergrad quantum but more rigorous, mainly taking this so I can take grad quantum 2 if it is ever offered again.
CS 4420/ECE 4750: Computer Architecture (ECE Minor): The single most favorite course here. Professor teaches so well with good examples, the material is interesting on how processors, memorys, and networks work and how modern devices use these and an intensive programming component in Verilog that complements the lectures well.

3rd year Spring
HADM 4300: Introduction to Wines (Liberal Studies): A course that is famous here because you get the chance to do wine tasting in class. However, requires a lot of memorization.
CS/ENGRC 3152: Game Design (Engineering Communications): You get to create a game and also write a lot as well. I would have a team coming in and as it's also a competitive course to get into, also having a good number of CS experience before taking the course too.
ECE 3100: ECE Probability (Probability Requirement + ECE Minor): your classic probability course I guess
ECE 5745: Complex ASIC Design (ECE Minor): Sequel to CS 4420 by the same professor, now take the concepts learned in that course and now apply it to accelerators.
ECE 2100: Circuits (1/2 of EP Circuits Lab): I hear this course has a lot of lab work and a lot of tedious work, but we'll see where this goes.
Another PE course

4th year Fall
I will be doing a co-op this semester. It is relatively easy to get co-ops here and there are a good number of students who study abroad as well during their third or 4th year.

4th year Spring (Final Semester)
AEP 4340: Fluids (EP Advanced Choices): I don't know much about this course
PHYS 4410: Senior Lab (EP Advanced Lab): Required for all engineering physics major, this lab is open only to seniors and requires a lot of writing and experimental work. A true capstone of the major.
Another liberal studies course
Maybe some CS/ECE courses?

Research
I have been a part of 3 research groups in my time here at Cornell. For reference, my main interest here is in quantum computing, so most of my research is in this area. The first research group I was in worked on quantum algorithms. This group is very big, with 70 undergraduate students working in the lab at the time, but I didn't really vibe with this lab, so I quit the lab. For the summer after my first year, I did remote research in CNN acceleration on FPGAs and High Level Synthesis which was paid research. I have not had the chance to get any publications yet. I now joined the research group of a professor who started this semester in quantum information science and quantum ML and hopefully I will get a publication here. Most of the research here is not paid and will not end up in a publication, but many students will do this for experience. There is a group here called CUAI (Cornell University Artificial Intelligence) which is a highly competitive and selective research group that has a high density of publications in theoretical ML and this group is sponsored with Facebook AI Research too. For underclassmen, there is a somewhat high bar to join research, with many professors preferring students who have taken upper-division classes, but there are professors that do take underclassmen, but these are larger research groups. Research is definitely a high time commitment and I have been slacking a little bit on my research but I think it is very rewarding. For CS, a good proportion of the students do research (roughly 30%) while for Engineering Physics, almost all students engage in research, but physics professors require students take some classes for background knowledge more so compared to Computer Science professors.

Other Extracurriculars
There are over a thousand clubs here at Cornell, with almost every interest represented. Many from the mainland are members of CSSA and are part of their main chat. If there is something you can think of, there is most likely a club that has to do with it. For me, I am a member of Bread Club (learning how to bake, I'm not too good at baking haha), cubing club (just got into solving Rubik's cubes recently), and 2 clubs organizing events on campus, one organizing our college hackathon and the other organizing an invitational Science Olympiad competition hosted at the university. Many clubs are open to all, but some types of clubs are more selective and require applications/auditions and interviews, like debate clubs, business/finance/quant clubs, and dance/acapella clubs. However, for us STEM students, the main example of this are the Project Teams. Many of them are based off of building something autonomous or mechanical for competitions which we often do well in and takes in members of Electrical engineering, mechanical engineering, computer science, physics, and so on, but there are some coding/programming related ones that do ML, app/website development, and competitive programming/ICPC, although the last one is not as active but we still do have some competitive programmers. All project teams have a central application, and then have team-specific applications which have essays and resume submissions. For software teams and subteams, there are interviews, much like internship interviews with both behavioral and technical questions, some of which is leetcode, others of which are system-design/open-ended, and some do take-home assessments which test ability to research a topic and explain it. It is easier for first years to get in, but upperclassmen do also get accepted and many of these take in 1-4 people per subteam every semester out of over 50-200 applicants (with the ICPC team being the main exception, where general meetings/trainings are open to all).

Recruitment
I will be mainly talking about CS internship recruitment because this is what I am more involved in. Many students start looking for internships, either starting first year or second year. It is a lot harder to find internships in the first year, but almost everyone gets an internship in the second year who looks for one. However, it is in the third year that students are mainly serious about recruitment. I would say that compared to other institutions such as Stanford, MIT, CMU, and Berkeley, we are not in that level of target school, but Cornell is immediately below that, so we are a target school still for many companies, but just not on the same level as the aforementioned. Due to its location and distance from larger cities such as NYC, fewer recruiters come, but there are still many events and recruiting sessions, both in person and virtually via zoom. Many students end up at MMANGA and quant/finance companies as well as other California companies, so a lot of us end up in Silicon Valley/Bay Area or New York City.

Overall it's been a pleasure to share my experiences here and feel free to add comments if you have any questions!