My Journey in Computer Science and Math (Continuously Updating...)

by on under biography
5 minute read

Just as I wrote in About Me, I love the world of CS and math and I taught myself bits of knowledge in these fields and use them to pass the entrance exam of UTokyo and to be hired as a software engineer. This post is about what I did and what I will do in the future.

I got my bachelor’s degree in pharmacy but I decided to quit that in the 4th year of my undergraduate studies. Thus I have no extra time to persue anthor bacholer’s degree in computer science/math/software engineering. With generous seggestions from one of my good friends who is a Google software engineer now, I decided to learn open source computer science courses.


2018.3.1 ~ 2019.3.31

The entrance examination of computational biology department in UTokyo needs calculus, linear algebra, graph theory, data structures, algorithms, probability, statistics and stochastic processes. In order to pass the examination, I spent most of time on math courses.

Calculus

  • Calculus courses in Nankai University
  • Review it by this book

Linear Algebra

Differential Equations

Probability

Statistics

Stochastic Processes

Graph Theory

Data Structures and Algorithms

Some other introduction to cs courses and programming language (python, C++) courses are not listed here. These are what I learned before I went to UTokyo (~2019.3). Following part are what I learned from 2019.4.


2019.4.1 ~ 2021.5.14

Machine Learning

Deep Learning

More Algorithms

  • Algorithm courses from Prof. Hirai in UTokyo.
  • Chapter 1~6 of Algorithm Design.
  • Solved over 1000 problems on various Online Judges such as LeetCode, AtCoder.

Computer System

I also got benefits from some courses without a university backround, like ones from yxc, Gaurav Sen. Computational biology related books and courses are not listed here.


Here is my plan in the future.

2021.5.15 ~

Competitive Programming

  • To solve all problems on Ant book.
    • Currently solved all problems before chapter 3.3. (2021.5.15)
  • Solve another 1000 problems on various online judges
    • I wish to have a rating over 2000 on AtCoder, currently around 1400. (2021.5.15)
      • Because I usually play sports at Saturday night, I didn’t attend much competitions this year, but I never stop practicing. (2021.12.17)
  • I wish to win a T-shirt from GCJ or FHC or TCO. (Made it, yay~)
    • For GCJ, I need to be qualified for GCJ R3, currently qualified for GCJ R2 (2021.5.15). But I didn’t make it this year :(. (2021.12.17)
    • For FHC, I need to be qualified for FHC R2 and solve at lease 1 problem and be ranked in top 2000. I made it, actually 1,278th out of 6,789 :). (2021.12.17)
    • For TCO, I missed the event. It was at the beginning of this year, so it’s ok. (2021.12.17)

Operating System

Computer Networking

  • Stanford CS144
    • Start from 2021.5.12
    • Github, might be set to be private in the future if requested by course owners

Database

  • CMU 15-445
    • Will start it if I finish two above courses I will study computer architecture before this on. (2021.12.17)

Computer Architecture

Compiler

Design Patterns

  • Haven’t decided where to study it (2021.5.15).
  • Learned it from working with excellent colleagues. (2021.12.17)

I am also interested in other criteria such as distributed systems, but most of them need above courses as prerequite. I’ll think about it after I finish the above courses.


By the way, I believe all of the courses above can cover requirements of a bachelor’s degree in computer science engineering, so I call it “yy的补全计划” (YY’s completion plan). If you see this word in some other place, that should be me.

At the very beginning of this plan, I wished to finish it before 2022.9, after changing some contents of it and becoming a fulltime software engineer, I found that most of energy will be taken to do my job and I would like to spend much more time with my dear girlfriend. Thus pushing myself crucially is meaningless. I wanna enjoy my job, enjoy my life, enjoy these courses, and don’t want to be burnt out. My estimation on the date that I finish these courses is 2023.3, a traditional graduation season in Japan. Actually it’s lifetime study, just enjoy it~

頑張ります!

biography, computer science, math, learning plan
comments powered by Disqus