Computer science is the best major. Period. Some people may tell you it’s not a real science, but that's just because they’re jealous of the power computer science holds. My girlfriend calls computer science varying versions of a ’beep boop’ major, but really I think she just does that because she’s jealous she doesn’t know the inner workings of computer operation.
Now that we have established the best major, I'm going to give you a little insight into what a week looks like for me, a computer science major taking introductory classes in CS (what the cool kids call computer science). Last semester, I took Intro to Computer Science with Professor Cynthia Taylor, and I thoroughly loved the class. This semester, I am taking Data Structures with Professor Bob Geitz, and I’m only a week in and already loving it.
The way CS classes work here at Oberlin (at least at the lower levels) is we have lectures with a professor three times a week. For me, those lectures have always been on Monday, Wednesday and Friday, but as you get higher up the classes tend to meet less frequently. This is where a lot of the theoretical knowledge of computer science comes from, plus some textbook reading. Both lecturers I have had tend to make the lectures fun (or as fun as possible), making us laugh every once in a while with funny examples to help us understand better.
The other part of computer science classes is having labs. This is where you go into the lab room once a week (and probably a few more times over the week on your own), and you work through a bunch of problems that have been set for you by your professor. In the intro class, these were all done in Python and were really fun to complete. We made things like a Mastermind Game, drew a bunch of pictures and manipulated the pixels of existing pictures. In Data Structures, each week we create a new type of data structure (like a dictionary or ArrayList for those that are not familiar) in Java, and then test it and do a bunch of cool stuff with it, like making a search engine. It sounds really hard and complicated, and while it’s a lot of work (8-10 hours a week in the lab), it really is a lot of fun.
Oberlin also has lab helpers they pay to sit in on official lab times to come and help students with the labs they are working on. It’s really nice to have a second set of eyes to look over the code if you have no clue where to go, cause they can sometimes see a logic error you’ve made or a glaring coding error you just can't see.
It’s also possible to set it up so you can work on your own laptop, which means you don’t have to go into the lab except for your actual lab time. I really don’t like the lab environment, both the computer environment and the physical people. The noise of people asking the lab helpers questions means I struggle to focus, so I like to be able to work on my own outside.
The computer science department also has a bunch of different events, like sending teams to coding contests and having various computer sciencee talks and meet and greets with other people in the major. The faculty are all really nice, and I am so glad this is the department I chose to spend my time in. They also have a great relationship with the math department, so it’s good that I am considering a math minor as well!