As I approach the end of my undergraduate years at UCLA, I’ve been spending some time reflecting what I’ve learned and the improvements that I have made to my workflows for classes, coding, and general college life.
There are a handful of skills that I have learned and processes I have optimized for myself that I would love to have learned or optimized earlier on in college.
In this post, I will catalog some of these tips in the hope that they will help out students getting started on their journey through college. I have directed some at Computer Science students specifically, and some at UCLA students specifically, but most of them are applicable to students in any major at any school.
Class Advice
Sit In The Front
I’ve found sitting toward the front of class to have some benefits:
- It makes it harder to get distracted on your phone or computer because the professor can clearly tell if you do.
- It makes it easier to hear and understand the professor and to read the blackboard or slides.
- The professor will get to know your face, and will remember that you pay attention and sit in the front when she is grading your exams and papers. I suspect that this can have positive effects on your grades
Sitting in the front is especially advantageous during exams:
- There are almost always a bunch of open seats in the front during exams.
- The professor/TAs won’t wrongfully suspect you of cheating since you can’t see other people’s exams.
- You’ll have way more legroom in classrooms with tightly packed desks.
- You won’t have to squeeze past anyone when you get up to turn in your exam.
Read Your Textbooks
Some people are naturally pretty good at doing this. Personally, I found it difficult to motivate myself to keep up with all the readings for my classes in the beginning of college, but as time went on, I found that doing the assigned readings before the lectures on those readings has a tremendous impact on how much I get out of lectures. The readings give me a good baseline understanding of the material, and then the lecture helps fill in all the gaps and drill in the key points.
Go to Office Hours
This is pretty common advice for college freshman, and it’s something I heard was good to do all the time, but was slow to start doing. As someone who is not naturally inclined to attend office hours, I can tell you that I have never regretted going and have been glad that I chose to go every single time that I have. Even if you don’t have specific questions, office hours are great for listening to other students’ questions that you might not have even thought to ask, and a great time to get to know your professors better. This is important if you go to a big school like UCLA, where you won’t get to know your professors well unless you are intentional about it.
Learn to Take Good Notes
This is something that I struggled with for a long time. I’ve tried a whole bunch of different note taking systems and techniques and never took notes that were truly useful to me until I settled on a system that felt natural for me.
For me, that system involves taking notes on my computer in Markdown in Vim, and then converting them to PDFs and HTML pages using Pandoc. This system works well for me, but would be horrible for most people. Experiment with a variety of systems, including pen-and-paper systems and computer-based systems, until you find out what’s best for you and then stick with it.
You should also experiment with what kind of notes you take. Some people copy down what’s on the professor’s slides word-for-word. (This has always struck me as a strange technique because it makes it hard to pay attention to the lecture and the slides are often posted online anyway.) Others write down every word that the professor says. I know some people that take notes when they do their readings before lecture and then annotate those notes with any new information from the lecture. Find out what feels right for you.
Give Yourself a Light Final Quarter/Semester
I planned my schedule such that my final quarter was the lightest one (as far as number of classes goes) of all my quarters at UCLA. It’s turned out to be a great decision and I recommend that anyone else who is able to should do the same.
Coding Advice
This section has advice for any students who are into programming, even if they are not majoring in Computer Science or a related field.
Learn To Use Common Tools
There specific tools commonly used in software development that are essential for developers to learn about. The sooner you build up some familiarity with these tools, the better. They will make coding homework assignments way easier, they will supercharge your personal projects, and they will be indispensable during any software engineering internships you may have.
Git
This is a version control system that tracks changes you make to your code. There is so much to git that you will never stop learning more about it, but for now all you need to know is that it provides a nice workflow for collaborating on software projects and you can use it as a way to back up changes you make to personal projects and coding homework assignments.
This guide is a good introduction to git’s basic features.
The Unix Command Line
In my opinion, being comfortable with the command line is a must when it comes to writing software. Over time, you will find that common tasks related to programming are considerably faster and more clear when performed from the command line.
(If you’re weird like me, you will even end up liking it so much that you start doing everything from managing your filesystem to checking your email to reading the news to browsing Reddit from the terminal).
Linux
This one isn’t strictly necessary, but for me, using Linux has led me to some cool areas of computing and been my introduction to my favorite and most commonly used software. Many students get by with little more than a basic surface-level familiarity with Linux, but if you find that you enjoy it, it can be really useful. On top of that, the skills that you will inevitably pick up through long-term Linux usage will help you understand a lot of aspects of software development on a deeper level.
Find Something You Enjoy
My friends who have been most successful in CS are those that found a topic within computing that fascinates them and then dove deep into that topic. For some, that topic is Artificial Intelligence and Machine Learning. For others, it’s mobile development. For me, it was Linux and open-source.
Once you find something that you really enjoy, set aside some time every week to learn more about it. (Ideally you would enjoy it enough that you don’t need to be told to do that.) Watch videos, read articles and blog posts, and work on personal projects related to that thing. This is fun and can also make for great conversation topics when interviewing for jobs and internships.
College Life Advice
This section has general college advice that can apply to anyone.
Use A Calendar
Making heavy use of a structured calendar has been a central part of my life over the past four years. I don’t know how I would have gotten through without it. I’ve gone through different phases of calendar use, from OCD-level use where I put every single thing I do on my calendar, from sleep to homework to brushing my teeth, to more relaxed use where I limit what I put on my calendar to the events and tasks that are strictly tied to specific dates and times. Both of those levels worked for me at the times that I was using them, but the constant thing has been some form of a calendar to keep track of what I need to do.
Find The Right Calendar For You
This is becoming a common theme in this post, but to find out what you works best for you, you need to experiment with different calendar systems. For some people that’s a personal planner notebook with a paper calendar inside it, and for others it’s the calendar app on their phone. For me, it’s been Google Calendar. Having a thorough schedule synchronized between my phone and computer is a must for me, and Google Calendar does a great job of that.
Use Shared Calendars
Shared calendars are great and I only started using them heavily this year. They are great for student groups where you need to keep a large number of people up to date on the details of upcoming events, but they are also useful on a smaller scale. For example, my girlfriend and I keep a shared calendar where we add anything that we are going to be doing together. This saves us the work of adding events to both of our calendars and helps us avoid errors where one of us adds an event to the wrong time or date.
Make An “Interesting Classes” Calendar
This is an idea that I started implementing this quarter, but it’s something I wish I had started at the beginning of college. The concept is simple: Make a calendar in whatever calendar app you use that includes the classes in a given quarter or semester that sound interesting to you that you are unlikely to ever actually enroll in. Then, whenever you are on campus and have some free time, you can toggle on this calendar and see if there are any classes coming up that you can go sit in on and listen to the lecture in. (Don’t forget to add the locations of each class to the calendar events so that you don’t have to look them up each time.)
Prioritize Relationships
I’m not just talking about romantic relationships here. You need to prioritize all of the relationships you develop during college. The closer I get to graduating, the more I’ve realized that the most valuable takeaways I’ve gotten from my time here are the relationships I’ve developed with people.
I am in a co-ed entrepreneurship fraternity at UCLA and one of my favorite things about the fraternity is our “interview” system: We require all new members to conduct an “interview” with every existing member which consist of hanging out with them one-on-one for 2 to 3 hours and getting to know them. I love these because it provides a great way to truly get to know people and start to build friendships with them. Having a designated time like this to be intentional about getting to know someone is a unique situation that I wish more people got to experience. Sometimes these friendships don’t go much farther than surface-level, but a surprisingly high percentage of them turn into genuine and deep relationships.
If you are not a part of a student group like this, nothing is stopping you from trying the same thing, but you will have to be more self-directed about it. Take a look at your social circles and start inviting individuals to go to breakfast or lunch or to go for a walk with you. Some people will think this is strange at first, but I am confident that neither of you will regret it afterward.
Sleep
I didn’t take sleep as seriously as I should have until this year. For most of college, I was staying up until sometime between midnight and 3 a.m., and then sleeping in until sometime between 9 a.m. and 11 a.m.. To make matters worse, I would often procrastinate homework assignments and studying for exams until the night before and then stay up late studying or finishing the assignment.
This year, I have started trying to turn myself into more of a morning person and let me tell you, it feels so much better than going to bed late and waking up late.
I’ve taken a bit of an extreme approach to this by most people’s standards and have been trying to get in bed between 9 p.m. and 10 p.m. and then waking up at 5 a.m.. I’ve shifted most of the work that I used to do at night to the mornings and for me, this feels way more productive. Where I was constantly distracted by Facebook, Reddit, and YouTube late at night, I am able to stay focused way more when I do work in the mornings.
When I talk to friends about this, they often ask me about my morning routine and ask for tips on getting up that early. I don’t have a super strict morning routine, but I have found a some practices that to help me get out of bed and stay out of bed in the mornings:
- Don’t use your phone or computer in bed before you go to sleep.
- Have a clear idea of what you are going to do in the morning.
- Drink a glass of water right when you get up.
- Turn the lights on.
- Do some quick push-ups or pull-ups or go for a short jog.
I am not saying that these are necessarily the right tips for everybody, nor am I saying that waking up as early as I do will necessarily make all other people more productive. Every person is different, but those are the tips that work for me.
Thanks for reading! I hope that you found some of this advice useful and applicaple.
Do you agree or disagree with any of these pieces of advice? Do you have any advice that you would give your freshman self? Let me know in the comments below!