AA

Surviving First Year

August 30, 2025

First year was one of the most transformative periods of my life, and it taught me a lot of things about independence, people, and myself.

I remember when I moved into my dorm at UofT. The first thing I saw were people in the common rooms prestudying for the first MAT102 quiz, which was in a couple of weeks. I was tempted to join them in studying, feeling that I was already behind. I chose not to, mainly because I spent $100+ on my frosh ticket and I was not planning on putting it to waste. After all, frosh activities are designed so that I could meet other students, and I didn’t want to restrict myself to strictly CS friends. Anyways, choosing not to do any studying during frosh/orientation week was a wise decision in hindsight, as I was basically a hermit for the next four months.

This leads me to my first, and possibly controversial tip: don’t prestudy. Being more specific, don’t study for a course you haven’t started yet based on the premise that the course may be hard. There is no point, in my opinion. I promise you that the courses at UofT are designed for you to learn as you go, and the advantage you get from prestudying is rather minimal. You also run the risk of burning yourself out earlier. Enjoy your summer/frosh week. You’ll be fine.

Before continuing, it will probably be good to explain the POSt system to non-UofT readers. POSt stands for Program of Study, and it’s basically the program available to students after their first year. That means that students accepted to UofT are not actually in their program yet, and have to reach certain requirements for their POSt. For CS POSt, my requirements were (Winter 2024):

  1. 80 in MAT102 (Discrete Maths)
  2. 80 in CSC148 (Intro to Computer Science)
  3. A 3.3/4.0 GPA. There were also some courses I just had to take and pass, in addition to a credit requirement. These included Calc 1/2, CSC108 (prerequisite to CSC148), and a compulsory writing course.

The latter of these requirements weren’t much of a problem for me, and I did well on them. As a result, there wouldn’t be much that’s noteworthy to write on, apart from the fact that you don’t need prior coding experience to do well on CSC108. MAT102 and CSC148, however, were a different beast. I’ll start with MAT102.

I remember going through the first week of classes, still rather confident in myself. After all, I was very smart in high school, so that should translate to uni right? Wrong. I remember getting humbled in the first in-person MAT102 quiz, which was supposed to be the easiest. It was rather disheartening hearing my peers brag about how easy it was when I got a score that was frankly shameful by my standards.

I came to my second realization, which will be my next tip. Drop your ego. You’re not too smart to go to class, go to office hours, or get help from other people. Being prideful may be the thing that is hindering you from realizing your potential. Realizing this early allowed me to adopt a growth mindset and become shamelessly inquisitive.

I decided to lock in and grind out questions like my life depended on it. I was so hyperfocused then that I haven’t been able to replicate that drive since, even in my later years. I went to almost every office hour. I was up till 3am most days. MAT102 was one of those courses where building intuition was the way to success in the course. I got to the point that within a couple seconds, I could identify what technique I should use to solve a question.

The funny part about all of this was that I did the same or worse on two out of the three in-person quizzes that followed. Despite this, I did extremely well on the assignments, the midterm, and the exam. This was enough to get me a grade good enough to meet the MAT102 requirement.

MAT102 taught me to trust the process. Looking back at my old quizzes, I didn’t do badly because I didn’t know the content, but because the quizzes were out of a small amount of marks, meaning that you really got punished for small mistakes. I didn’t let the less-than-ideal results faze me, and I looked forward with confidence in my ability to clutch up on the other tests.

Basically everyone that comes to UofT will encounter their ‘Welcome to UofT’ moment, which is pretty much doing badly on a test. It is very important in moments like this to look at the bigger picture. I always operated by looking at my grades from the perspective of how many marks I’ve lost. I then look at the syllabus and decide how I’m going to move forward. Sometimes I have to hunker down and try harder to get the marks I desire in the course. All in all, it is important to zoom out when you get less than ideal results. Why would you freak out if you got 60% on a midterm that’s 10% of your overall grade?

Second semester came, and I encountered CSC148. This was a much more difficult experience for me, not because it was harder than MAT102 per se, but because the stakes became much more real for me. For some context, I’m an International Student, meaning that the cost of a course is $6k+ for me. There was no way I could repeat it, no second chances. It was very much a mental battle for me.

My parents also shared some of the journey with me, with my mom telling me that she was fasting and praying on a regular basis for my success in first year (she looked as worried as me sometimes). My dad was more calm and collected, and he never really seemed fazed when I told him about a bad test result; he seemed to just trust in my abilities to get the job done (he did tell me that if I didn’t get into POSt first try, that would be the end of my journey at UofT). I did keep them updated on my ups and downs throughout first year so they were more than familiar with my struggles.

For CSC148, I focused on doing well in the assignments. That has been a theme with me in CS, even in second year. Assignments are over longer time horizons, meaning you have much more time to work on them and get as close to perfect as you can. You would need to do well, because midterms/exams might drop your grade (it always did in my experience). To be honest, prior knowledge of CS concepts would help a lot with this course, but I still got by fine.

I believe I did well in the course because I religiously solved the worksheets that were given to me during lecture. I would redo the lecture worksheets before every midterm, as well as before the exam. It was a good way of tracking my progress in the course. It was satisfying to see how my solutions became more efficient each time I redid the same worksheet. Past exams are your friend too, as well as Leetcode easies (Leetcode not as important though).

I ended up making POSt first try. When I found out I made the requirement, it was probably one of the greatest feelings in my life. I had never worked harder for something in my life, and I had pushed the limits of what I thought I could do. I was more disciplined than I had ever been. In that eight-month period of my first year, I had encountered more failures than I had ever experienced in my entire life before. I learnt about going through adversity. I learnt about cultivating agency and going out of your way to better your situation. I learnt how to learn. I learnt that I’m not built for 3 hour 7-10pm classes on a Monday evening. I’ll try and share a couple of things I learnt from this period of my life below.

Uni requires much more work than high school, unless you wrote rigorous standardized tests such as the Gaokao, JEE, etc. Your courses demand some sort of respect, and you should act accordingly. Go to lectures. Start your homework on time. Study for your tests at least a week in advance. To be honest, I didn’t do a lot of these things (hindsight is 20/20), but your life will be much, much easier if you just do these things. Honestly, you can get through university just fine just by following the advice in this paragraph alone.

Do not cheat, for the love of whatever higher being you believe in. It is probably the most extreme case of Risk vs Reward you’ll encounter in university. I know a couple of people that did not make POSt because of an academic offense. Read through your syllabus carefully, and make sure you are familiar with what constitutes as cheating (it may differ from course to course). Especially do not cheat in tests that are proctored; do not think you are smarter than the invigilator. If you get caught, the punishments you may receive may leave you wishing you had failed the course. Universities don’t play about cheating, especially UofT. Do the work honestly.

Use AI, but use it smartly. Keep it in the back of your mind that there will be times you won’t have access to ChatGPT (at least if you are taking written tests/exams, which would be most of you reading this post). Use AI to enhance your learning, as there is no prize for the person that worked harder for the same result. Don’t use it as a crutch, especially in CS. It will rob you of your critical thinking abilities. Think of it as an on-demand TA. Also, as a sidenote, try not to get emotionally reliant on chatbots. It is likely you will be using it quite a bit, but remember that most chatbots out right now are designed to be as agreeable as possible, and mirror what you would want to hear. This is a very interesting topic, and I’ll certainly be doing a blog post on it sometime in the future.

Take time for yourself when you can. Indulge in your hobbies, go out with your friends, or just bedrot once in a while. During first year, I regularly went to the gym, played soccer, as well as socialized with my friends. I realized after reflecting later on that these activities, which may seemed like a waste of time in the moment (considering my goals), kept me sane and level headed. Don’t lose yourself for the sake of academic achievement. I promise that you can reach your goals without letting them consume you.

Be very, very careful who you choose to keep as your friends. Don’t be in a rush to join friend groups. Especially at UofT. I’d say a suitable strategy is this: make acquaintances of as many people during the first few weeks of school (frosh is great for this). Hang out with the people you meet, and use your discernment to see if they share values/interests with you. Don’t rush to trust people. Please don’t take my advice lightly. I have seen way too many fake friend groups where people secretly hate each other, and become ‘friends of convenience’. Your friends will make or break your uni experience. The same thing goes for relationships. You’ll already be stressed from trying to make POSt or school in general, and the wrong partner will just make things worse.

Learn to say no. To me, it made no sense to go out when I had an assignment due soon, or a hard midterm to study for. Of course, don’t be a boring person. Partying and going out with your friends are parts of the uni experience everyone should partake in. But consistently saying yes to things that take time off your academics adds up, and may end up causing problems for you down the line. I still went out a bit, but only after I was done with my work for the week. I didn’t want to think about the problem set due the next day while I was out with my friends.

Go to office hours. You don’t lose anything from this. Being on a first name basis with your professors is very important for things like TA applications or applying for research. Also, you get to ask questions one-on-one, and even if you don’t have any questions, other people often ask good questions. There is no reason not to go if an office hour doesn’t conflict with a class.

Don’t do stupid stuff. People don’t easily forget stuff here, and it’s a pretty small world at a lot of unis. The dumb degenerate thing you do in first year will carry over to your later years, and may be what people remember you by.

Be curious. University is by far the best environment to explore topics that you may be interested in. Interested in philosophy? Take a philosophy course. You’re in CS but want to explore finance? Join one of the many finance-related clubs at UofT. Want to gain more perspective? Talk to your friends from different cultures. You will never have as much freedom to do what you want as you do in uni. Take advantage of that fact.

Lastly, it is not the end all be all if you don’t make POSt. There are plenty of opportunities to make up for your mistakes. If you pass but don’t meet the POSt threshold, you can SAC (redo a course which you passed, used to get a better grade to meet program requirements) to get a second chance to get a better grade. Everyone goes at a different pace. You are not dumb if you don’t make it. Some of my most brilliant friends have had to do similar things, or even pivoted from CS to other programs. Don’t worry, you will be just fine.

First year changed me. I grew, stumbled, and learned more than I ever expected. Looking back now as a third year, I’m incredibly proud of how far I’ve come. I achieved what I set out to do, which was make POSt. I stepped out of my comfort zone. I faced failure and adversity and kept going. First year built the foundation of my confidence today: the belief that I can do anything I put my mind to. More than anything, first year proved to me that I could survive, and thrive.