./yuma.sh

first year university

after 5 exams, i am finally done with my first year of university. i spent a lot of time this past year thinking about how to optimise my study workflow. it’s been a hard journey finding something that works for me, and there were many times during the year where i felt hopelessly stupid. no one tells you how hard it is to improve at something with no linear progression.

i’m a lot better now though, and the trial and error process this past year has made me come to a number of interesting observations about how to effectively learn.

learning is painfully slow

this was something i came to realise from the maths modules this year. formal logic, linear algebra and statistics all took me countless hours each to get used to and reason with, despite them being basic, fundamental concepts in computer science. i would spend days simply thinking about problems to myself and pondering why my intuition couldn’t accept some concepts, and why it could easily accept others. it would especially hurt when it seemed like my peers around me were able to understand these concepts instantly, while i would have to sit and run through countless simulations in my head before it would start to make sense.

because of this, at the start of university i spent a lot of time watching videos on youtube about “the proper way to study”, thinking there was something wrong with me. these videos helped a little bit, but i ended up spending more time consuming productivity content rather than actually putting in the time to get better. once i stopped caring about the people around me and spent time doing the learning, i eventually started to see progress. it was slow progress, i wasn’t able to actually see improvements until a month or so into trying, but i eventually saw progress.

i feel as though you need this persistent sense of delusion that you will eventually become better, for you to actually become better.

feeling stupid is good

algorithms was a real kick in my confidence this year. what i thought was going to be a unit dedicated to fun leetcode-esque problem solving was really just more maths. formal definitions of o-notation, proofs of loop invariants, recurrence relations, it all felt like learning a completely new language.

i managed to get through this unit thanks to these weekly drop-in sessions that were hosted by 2 phd students. though, from the first session the last, these sessions felt like a personal humiliation ritual. each week i would stand in front of these two very smart individuals and repeatedly ask one dumb question after another. they were always very nice and willing to help, but i couldn’t shake the feeling in my mind that i was being a burden.

with time though, i slowly developed a habit of thinking deeply about exactly what part of a concept i didn’t understand, and asking very precise questions to home in on developing understanding on that specific part. eventually i became able to communicate my problems more fluidly, which was very helpful to learn as efficiently as possible from the sessions.

i wouldn’t have ever reached this point without going through the “pain” of feeling stupid.

you need to write code

the most mentally taxing part of my degree this year came from having to learn haskell. having never touched a functional programming language before coming to university, it was torture having to learn from zero. i understood nothing from the lectures, i understood nothing from the problem sheets, i understood nothing from the ta’s. there were multiple problem classes where i found myself unable to answer a single problem. for most of the unit it made me write off haskell and functional programming as a whole as something i would never get.

one thing i liked about haskell though was the ghci shell. being able to write a function and immediately start interacting with it as a scripting language was very cool to me. because of this, i started using haskell and ghci as a calculator during my maths problem classes. i used a lot of list comprehensions for set theory, i wrote my own recursive binomial coefficient function, i got comfortable with functors implementing vector operations, etc. i realised later that this experience was able to teach me more about haskell than any of the lectures or the problem classes ever did.

i’ve come to believe that programming languages simply cannot be taught academically. you need to code on your own. do i think that the lectures and problem classes were useless? not at all. but you need to understand why a programming language is designed a certain way, what problems it was designed to solve. otherwise you have no motivation to learn anything the language has to offer. realising this, my study tactic for haskell was to simply write programs that used all of the taught concepts, which served me well in the exam.

embracing change

at the start of university, i was very pessimistic about ai. i didn’t think it had any place in academia, so much so that i refused to use it at all during my first term. i did reasonably well without it, but i could see the advancements in the technology growing rapidly, particularly with the rise of agentic workflows in industry. because of this, before the start of the second term i made the decision to be less stubborn about ai, and see how much it would be able to help me in my studies.

by the end of the term, i found that it was indeed quite useful. i treated it as a teaching assistant for my modules, only using it if i was stuck on a problem, or something about a topic didn’t make sense. while there were occasional hallucinations (which i could catch from taught content/textbooks), it was fascinating to see how consistently it could clear up misunderstandings and give detailed explanations of concepts to aid my learning.

a part of me finds this technology deeply fascinating and exciting, but another part of me is deeply saddened. i remember during my algorithms exam, i was staring at a problem i was stuck on and thinking ‘an ai could do this entire paper better than i ever will’. it was very dehumanising. now, with anthropic forming project glasswing and openai disproving the unit distance conjecture, i don’t know how to feel. i’ve definitely become more optimistic about the ‘usefulness’ of ai, but more pessimistic about the future of technology.

all in all, i’ve come to try and be more accepting of new things, especially when they seem to have the potential to shape the future.

motivation

during my gap years before coming to university, i spent most of my time either working in various customer service jobs or interacting in gaming communities online. through both of these groups i met a plethora of interesting people, mostly young adults who were in university or had recently graduated.

one thing i noticed was that the number of people who were in careers related to their university degree was small. i met quite a few people who wished they had spent their time in university differently, or wished they took a different subject entirely. they also couldn’t go back due to the student debt.

these interactions taught me that university is a once-in-a-lifetime privileged opportunity that you shouldn’t take for granted. the seeds planted here will cause a butterfly effect that flutters through your lifetime. you should make full use of the facilities and services provided to you while you’re still there, and get the most out of it to benefit you. there are people who would kill to be in your current position.

i used this mindset as my main source of motivation this year, which was pretty effective for me. i ended up treating university like a full-time job, where i would try to do at least 40 hours of work per week. there were numerous times where i felt utterly incompetent at what i was doing, but i still forced myself to push through and try my best. i had to, it was my job.

this might be a little toxic of a mindset to have, and i’m curious to see how it will treat me in the upcoming years, but this past year it has served me well.

next year

my main goal for this upcoming academic year is to be more creative. i believe my main flaw as of now is that i’m too passive, i tunnel vision so much on academic achievements that my interests never go any further than the taught curriculumn. i want to create things that are fun, useful, meaningful. anything with purpose.

hopefully that means more writing and more projects to display here soon.