Few thoughts (December 2018)

Author Avatar
Jimmy Zhang Dec 07, 2018
  • Read this article on other devices


Dive from the highest layer of Abstraction into the deepest level of Implementation.

I have always wondered how to learn things effectively yet systematically. Recently I came across an article on ZhiHu (link), and it enlightened me a lot.

The article made discussions on how CS (Computer Science) Lectures should be organized. The author briefly introduced how CS Lectures are conducted in UC Berkley. There, students start from the highest layer of Abstraction, such as OOP and FP. Then, they dive down. First, they get to know about how to write programs effectively by taking courses on Data Structure, Discrete Mathematics, and Probability Theory. Afterward, they dive even further and investigate how everything gets implemented in the lower layer by learning Machine Structure. Finally, they can freely choose among Operating System, Compiler Principles, Computer Graphics or Machine Learning. Such an order would give them a systematic view on the subject of Computer Science.

When we start exploring something new, we get confused easily. There are so much to learn, and it troubles us when we found ourselves failing to understand connections between each component. But now, I find it charming to start from Abstraction and dive deep down into Implementation. The Abstraction is easy to understand, and it helps you to adapt your thinking and embark on this new subject. It also retains your curiosity and passion so that you could naturally dive down deeper, down to the core Implementation to get all your questions answered. This whole studying process seems so natural, and it makes me feel like this is how studying should have always been.


Life is about placing dots while not knowing how those dots connect each other.

Life is about placing dots while not knowing how those dots connect each other.

One of my friends recommended me to watch Steve Jobs’ 2005 Stanford Commencement Address. I’m glad I did because that video inspired me in a probably profound way.

Jobs told us three stories, and the first of which is about connecting the dots. Every day we make decisions, or say, we place different dots. We can never foresee how those dots will get connected as we put those dots into places. The connection only reveals itself when we are looking backward after we have done everything. Seems depressing, huh? However, Jobs said we should always have confidence that the dots would somehow connect down the road and be bold enough to make decisions.

Those words strike me. There are numerous fields that I want to explore freely on my own, yet our current educational system is preventing me from doing so. It is time to decide, for I know I can never have the energy or time to make everything perfect.

I really regret my high school life. I was too naive by then, hastily trying to jump out of those exam-oriented lectures and find comfort by participating in various activities, such as debating and OI (Olympiad in Informatics). I have heard that I have to abandon classes for a while to get great results in OI, but somehow I hesitated. Reality strikes me as I encountered major failure in OI, and I got completely lost. Days are spent in confusion, and I missed my only opportunity of being admitted into top universities. I failed to realize that under our current educational system, being excellent in exam-oriented education is a ticket towards high-quality educational resources.

At first, I thought it wasn’t that big a deal. However, soon I found myself completely wrong. The lack of proper educational resources is blocking me away from my dream of being a computer scientist. In blindness, I decided to resume my dream in OI by participating in ICPC. After a year of devotion, now I start to question myself: Am I in the right direction of becoming a Computer Scientist? Competitive Programming is just a minor part of Computer Science. It is not everything. I fear that I will miss something critical and positively fascinating. Meanwhile, I am sick of how courses are conducted in our school. I start to think it pointless to attend lectures.

Jobs encouraged me to focus on what really matters. Jobs proposes to assume that this is the last day of my life to avoid the trap of thinking I have something to lose. This is priceless. I decide to worry less about things like exams, GPA, and even career. I can’t wait to dive freely into all those fields I have longed to explore for so long.

This blog is under a CC BY-NC-SA 4.0 Unported License.
Link to this article: https://blog.codgician.pw/2018/12/07/few-thoughts-december-2018/