A Four-Year College Retrospective
In September 2014, almost by accident, I came to the School of Computer Science at Beihang University. I did not expect that once I stepped through that door, there would be no going back. I went from a fresh-faced kid who had never touched code to a future engineer. Those four years were an important stage in the growth of both my technical ability and my worldview. In a sense, college shaped who I became afterward. Some parts are worth affirming, while others are flaws I now very much want to discard.
Beihang’s curriculum is known for its solid foundation. The core Computer Science courses, Computer Organization, Operating Systems, Compilers, and Computer Networks, are spread across four semesters in sophomore and junior year. Each semester, these foundational courses are heavy courses that demand a lot of effort. Looking back now, the emphasis on these fundamentals was absolutely right. In senior year, after going through many internship interviews and internships, I deeply felt how important these foundations are in interviews and real work. The problem was that most students at the time lacked motivation and could not understand the school’s good intentions. I considered myself near the top of the school academically, and I collected plenty of scholarships and certificates. But when it comes to these CS fundamentals, I still would not dare claim that I truly understood them. More often I humbly tell myself that there is still a lot to make up for. The debts you incur when you are young eventually have to be repaid. Over these four years, it looked as if I learned a lot, but in reality I learned very little. The best way to study would have been to use the school’s courses as a framework, then actively learn beyond them: read the extended materials for every topic instead of letting the teacher put links in the PPT while I did not even bother downloading them, search for more information online, and spend more time in the library.
Although I often complained with friends that the curriculum was unreasonable, I have to admit that many undergraduate courses in the School of Computer Science were extremely well designed and forward-looking, especially compared with curricula at other universities. Beihang’s third-place national ranking in Computer Science was not unearned. For example, the freshman course Introduction to Computer Science taught Python. Even more striking, almost all majors had to take it, not only Computer Science, but also humanities, economics, mathematics, and aerospace. Only after writing more code later did I realize that knowing Python really is necessary, especially after machine learning became wildly popular after 2015. Python is an essential language for machine learning. As far as I know, no other university had made Python a required university-wide course as early as 2014.
In freshman year, we had to take many courses. Most were math courses, and each semester only had one or two programming classes. Every math course was also a heavy course that required a lot of effort. They included foundational courses such as Mathematical Analysis, Advanced Algebra, Probability and Statistics, as well as computer-related math courses such as Discrete Mathematics, Set Theory, and Graph Theory. At the time everyone joked that we had picked the wrong major and had actually entered the math department. Students with prior programming experience found this especially hard to understand, because they had chosen Computer Science expecting more practical courses and more opportunities to write code. Looking back now, the emphasis on mathematics was not excessive at all. We were just too young, too naive, and unable to understand the teachers’ good intentions. It really was like what our freshman-year class advisor told us: among foundational math courses, usefulness is Probability and Statistics > Linear Algebra > Calculus. Only after encountering machine learning did I realize how damn important math is. When you are young, you always think you are amazing, that you know what you need and what you do not need; you think the school is stupid and the teachers are rigid. In reality, the truly stupid one was yourself.
Should college students participate in all kinds of competitions? I think there is no need at all, unless you have a strong interest in that competition, or the experience and award can bring you sufficient returns.
Looking back now, my competition experience did not bring enough returns; instead, it consumed some of my time and energy.
During college I joined many kinds of competitions, mainly academic competitions and programming contests. The first was mathematical modeling, which many college students probably get a chance to join. I once participated in the 2016 MCM/ICM and the Chinese national mathematical modeling competition with two classmates. Looking back, it was rather ridiculous. We had no prior mathematical foundation in modeling and no writing training. We tried to coast to an award, and of course ended up with nothing. To be fair, many students also stayed up for several nights and coasted to a second prize, but how much value did that award really have? MCM/ICM is almost entirely filled with Chinese participants, and everyone knows the awards do not necessarily prove ability. When I took Mathematical Analysis in freshman year, Teacher Yang Xiaoyuan said that when she recruited graduate students in the School of Mathematics, she found that many applicants had MCM/ICM awards, but once she asked questions in interviews, their weak math and modeling ability immediately showed. Winning awards was often more about leaning on strong teammates and the contest’s own inflation.
So I think that in many cases, awards are merely icing on the cake. What matters more is the ability and growth you gain while preparing for and participating in the competition.
In sophomore year, I also joined the College Student Mathematics Competition, non-math category. During the training period, the materials were so hard that I finished less than one third of many of them. Even so, I unexpectedly won a national third prize. But honestly, this award did not help me much, though it was useful for scholarship evaluation. And because I did not go all out while preparing, the ability and growth I gained were limited.
During college, I never really figured out what I wanted to do afterward. Without a clear goal, there is no detailed plan. Many opportunities were missed in exactly this way. Opportunities are always reserved for those who are prepared. I cannot say that time was wasted, but it was not used efficiently. Freshman, sophomore, and junior years were all spent taking classes. Because the shadow of my disappointing Gaokao result still hung over me, I continued studying very seriously after entering college, afraid of falling behind. Only in junior year, when it was time to decide my path, did I realize that a small number of classmates around me had long been preparing to study abroad, secure graduate admission, or find jobs, and they were now in the final sprint before harvest. Like most people, I had rushed through the first few years of college without much planning. Because my grades were decent, teachers encouraged me to pursue graduate recommendation.
It was like the class system in many games. After a player reaches a certain level, they can choose different classes, specialize in that class’s skills, and buy that class’s equipment. Experienced players prepare for this step very early, maybe deciding their future class at level 0, then training toward it so that not a single skill point or coin is wasted. I was like a newbie player. Early on, because the promotion path was obvious and fixed, I leveled up by fighting monsters all the way, and because my talent was not bad, I did fairly well. But when it came time to choose a class, I was stunned. After comparing several options, I still chose the class with the most people. I thought that if many people chose it, there must be a reason. After entering the class, because I had not accumulated enough specialized preparation, it was no surprise that I lagged behind experienced players and even got beaten badly.
In senior year, I spent a year interning outside school and met many seniors in industry, from people born after 1975 to people born after 1980, plus quite a few born after 1990. Comparing that with my life in the lab, I found that I was more suited to and more fond of working. I am introverted by nature and interested in mathematics and theory. After encountering programming in college, I was also genuinely interested. Compared with many classmates who were lukewarm toward programming or even resisted it, I could say that I loved programming. In sophomore year, I spent a whole year tinkering: teaching myself Linux and Git, building a personal blog and website. These experiments later brought me rich returns, especially Linux and Git, both of which I used heavily in later work and study. My strength in mathematics also gave me access to algorithm roles. But because I had made no preparation at all, I could not give up graduate school and switch directly to work at the time. Because programmers were in short supply, it would not have been hard for me to find a seemingly decent job after graduating with a bachelor’s degree. But I could not have found a top-tier job. There are also many kinds of programmers: frontend, backend, architecture, algorithms. I did not understand the differences clearly, so rushing into work blindly would have been dangerous. Therefore I decided to continue to graduate school. While I still had student status, I planned to take more internships: first, to experience different kinds of work and find what suited me; second, to train my ability, enrich my resume, and prepare for job hunting in the next year or two.
That is my retrospective on four years of college. It mainly focuses on studying and life planning, because I think these are the questions college students most need to think about.
My college life absolutely cannot be called successful. On the contrary, compared with the excellent people around me, it can be considered a failure. So this article is more about lessons than experience. I hope I can take warning from it in the future.
Time Is a Butcher’s Knife
Time is a butcher’s knife: some people are cut to pieces by it, while others become invulnerable.

