Table of contents
Open Table of contents
1 Programming Basics
1.1 Starts From C & C++
-
C
-
谭浩强《C语言程序设计》
-
-
C++
-
《C++ primer plus》
-
Tan’s Book is under doubts, but I still used that as my C programming language beginner guide. This book is quite easy to learn and for setting out to write your first program, as for the basic concept mistakes, you can correct it throughout the procedure reading C++ primer plus or any other book.
After you knowing the programming grammar for a certain language, you can try out O_nline Judge platform(OJ)_, such as Leetcode.
1.2 Programming environment setups
- Compiler
- Use IDE(such as Visual Studio)
- (Advanced) Use simple compiler and add it to your computer environment to compile your code, and use any text editor(such as VSCode) to write code.
To figure out what they are and what they do, you can search some other installation guide like ‘How to install Python?’ or ‘How to install Java?‘. There are some common steps in the tutorial, like adding executable compiler file to your computer enviroment path, which allows you and any other program to directly find&call the compiler from anywhere.
Besides, knowing the procedure how the computer read, understand and execute code is another important topic throught your career as an software engineer, regarding Computer System Structure(计算机基础结构与设计), which will be mentioned at part 2.
2 Computer Science Basics
💡 Part 2 and Part 3 can be run in parallel.
To know how computer works, I recommend you to read books and blogs online regarding the following topics.
- Computer System or Computer Architecture
- Computer Network
- Design Patterns
- Compiler Principles
3 Application Level
Computer Science have broad employment orientation, to acquire some basic skill will be very helpful, and they will be a stepping stone to a true CS world.
- Front-end Techs
- Back-end Techs
- Algorithm
To acquire knowledges for 1 and 2, I suggest you to build a project including an Frontend(normally it’s a website, or you can choose to write a Wechat miniprogram or even an Android or IOS app), and Backend(you need a server to deploy your backend project, it can be write in Java or Python, any other language that support a http framework). You can choose a theme like building your own blog or building an online store similar to Taobao.
Some websites & tools will be very helpful:
-
Github
An open source platform, you can find people from all over the world sharing their code and project covering any topic you can imagine. My account is @Chaoszh.
-
Git - Source Control Tool
Helps to manage your code iterations and publishment
To acquire knowledges for 3, I suggest you to follow courses “吴恩达机器学习”, you can find videos on Bilibili, or go to coursera to register as a online student.