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