College Observations: Freshman, Quarter 1
First published: December 29, 2013
Last updated: September 14, 2015
I’ve just finished my first quarter of college at UW. Overall, I think it went fairly well – the coursework was fairly straightforward, and I didn’t have too much difficulty adjusting to campus life. I thought it might be nice to create a writeup every quarter reflecting on how things went, and what college is life. If anything, it’ll serve as a nice time capsule several years into the future.
I took the following classes:
- Art 381a (art after WWII) – 5 credits
- Math 124 (calculus) – 5 credits
- CSE 143x (introductory computer science) – 5 credits
- CSE honors discussion – 1 credit
- Important Documents in History (freshman seminar) – 1 credit
Out of all the classes I took, this one, surprisingly enough, ended up being my favorite. The class covered the development and various phases of modern art starting roughly around WWII up until the early 2000s, and covered a wide range of artistic movements from Abstract Expressionism to Fluxus to Installation art.
The part I enjoyed most about this class was that it finally provided the context and history I was missing that prevented me from previously understanding why anybody should care about modern art. It’s sort of a cliche, but it’s true – I previously thought that modern art was sort of pretentious and devoid of actual artistic talent, but this class completely changed my opinion regarding modern art.
I can’t claim that I understand every aspect of modern art (it was only a single semester, after all!), but it provided the missing historical backdrop I needed to make sense of what I see in art galleries and museums.
This is basically a calculus class – it covered mostly derivatives. I took this class mostly because it’s a prerequisite in order to apply to be a CS major. The class covered material I had learned mostly in 10th grade, and so turned out to be mostly review.
The only main observation I had was that my classmates seemed to always be constantly complaining.
Normally, UW has two introductory programming classes – CSE 142 and CSE 143. This class takes the two classes, and combines and mushes them into a single quarter.
The first half of the class, mapping to the content covered in CSE 142, covered mostly Java syntax and basic coding. The second half focused more on basic algorithms and data structures.
Overall, I would say that the content covered in the class was well-designed and covered an acceptably wide range of material. I have a (probably irrational) bias against Java, so I wasn’t particularly happy with that aspect of the course, but there’s really not much I could do about that.
One key observation from this class was that I need to focus on reading instructions better. The homework assignments tend to mix learning material and instructions, so I tended to skim them, and therefore lost points in a few cases.
This was a mainly discussion-based class which covered a random assortment of topics. We nominally focused on whether technology and the internet were good or bad influences on society, but often went off into wild tangents.
Documents after WWII
This was a “freshmen seminar”, a program introduced by UW where a small group of 15 to 20 students have a weekly seminar with a member of faculty. The over-arching goal is to provide a contrast to the 300 students lecture-style introductory classes most students take, and to provide an opportunity for students to interact with a professor who actually knows them by name.
Out of all my classes, the professor leading this one most closely matched what I imagined a college professor to be like – he was quirky, very smart, and was able to draw on a seemingly-endlessarray of experience and knowledge to drive the discussion.
Hunting for internships
Besides classes, the majority of my free-time was taken up doing interviews. On a whim, I attended a career fair, talked to recruiters, and passed around resumes. I ended up interviewing with 5-6 companies, and received offers from 3. Some observations:
At the career fair
- Always include a link to your Github account on your resume. Recruiters love that sort of thing, and almost always circled it.
- If you can, bring a phone or tablet to demo one of your projects. I was able to demo my project from my second internship at Microsoft to various recruiters, and it helped to legitimize me
- One common coding question people asked me was to find the largest or smallest
knumbers from a list of
nelements. The answer is trivial if
k == 1, and can be solved in
O(n)time. However, when
kis larger, the optimal answer is to use a heap of some sort (or a priority queue, etc), which will run in
O(n log k)time.
- Also, interviewers almost invariably expect that you know the big-O performance of key algorithms by heart. They also tend to expect that you can analyze arbitrary algorithms to determine the big-O performance. I’ve found the big-O cheatsheet to be a useful refresher. Of the data structures and algorithms listed, I’ve found the most useful ones to know are the average-time cases of the following:
- Data structures
- Linked lists
- Hash tables
- Trees (in general)
- Data structures
- Hash tables, sets, and heaps are awesome. Seriously. You can almost always find a more optimal solution to a problem by contriving to find a way to use one of those three.
- There’s a lot more religious/political people at UW, passing out pamphlets and such. This is in stark contrast to high school, where religion and politics (religion, especially) were almost taboo and were confined mostly to the Christian/debate clubs and a few discussions in history classes.
- Similarly, people are much more frank about sex and sexuality, and seem to take it as a fact of life.
- There always seems to be at least one lost person on campus, usually located by Red Square, around the bridge to the Ave. This lost person always seems to be an older Asian grandparent, who speaks minimal English. Adding a map of the campus to that location might be helpful to any on-campus visitors.