Teach Myself CS

How do I learn Computer Science

Why I write the blog

Hello, This is Sitao Tong, I’m writing this post to briefly summarize how I learn computer science in the past 5 year during my college life.

TL;DR:

I have summarize the nine major course I have learn as an undergraduate, along with the textbook and course project I have done.

  • C/C++ programming
  • Java programming
  • Python programming
  • Data Structure
  • Algorithm
  • Computer Architecture
  • Web Development
  • OS
  • Computer Network
  • Database
  • Compiler
  • Distributed System
  • Math

C/C++ programming

C is my introductory Language, I first learn the language with TCPL in SU18 at home, and finish the sample exercise like:

  • Anti-polish Expression(scanner/stack)
  • calendar(pointer/2-dimension array)

I learn C++ at SU19 following the open course on Coursera by Peking University

And I learn these course in ZJUT AU18/AU19 and use C++ build a singer contest system(git) with self-made linked list as the final project.

Java programming

I learn java in AU19 at ZJUT and read the head first java. The final project is the local search Engine with Lucene: DocFetcher(git).

I learn Java again in AU20 at OSU in CSE 2221/2231, final projects include a calculator designed with MVC and a BugsWorld compiler.

Python programming

I follow CS61A Ch1-10 exercise/lab in SU20.

Data Structure

Firstly learn in AU19 at home following DSA mooc by ZJU

Algorithm

SP20 in ZJUT

Computer Architecture

In SU19, I follow the CSAPP and course and finished first 8 chapter, along with the first 3 labs.

Web Development

In Sp20, learn HTML/CSS/Java native web development

In Sp21, learn JavaEE and Hibernate, build projects with SSH/SSM

In Au22, build CSE 3901 project with Ruby

OS

First learn it in ZJUT AU20, build Pintos as the final project.

learning OS in CSE 2431 at OSU.

Computer Network

First learn in ZJUT SP20, with textbook 计算机网络

Database

Learn SQL(sql server) in ZJUT SP20; Learn non-relational database(mongoDB/node4j) in SP21

Compiler

Learn in ZJUT AU20, ended with grade 96/100.

CSE 3341 in OSU

Distributed System

Learn in ZJUT SP21, learn Hadoop following lab in Big data Tech-大数据技术

Math

Calculus 1-2-3 - ZJUT 18-19 textbook by TongJi University

Linear Algebra - ZJUT 19SP textbook by TongJi University

Intro to Statistic and probability - STAT3470

Discrete Mathematic- read the Discrete Mathematics and Its Applications Seventh Edition

Charlie Tong
Charlie Tong
Undergraduate at the Ohio State University

My research interests include distributed robotics, mobile computing and programmable matter.