C/C++
1, C programming language introduction recommendation
2. Introduction and recommendation of "C Primer Plus"
3.c and pointer
4. Traps and defects
5. Introduction recommendation of C++Primer
In order to understand the program principle more deeply, it is suggested to study assembly language again.
Modern x86 Assembly Language Programming
Linux operating system
A must-read for background development of advanced programming in UINX environment.
"Bird Brother's Linux Private Kitchen" Linux Operation and Maintenance Recommended Entry Series
Design and Implementation of Linux Kernel
network
TCP/IP Details Volume 1: Protocol
Java language (a computer language, especially for creating websites)
Introduction recommendation of Java programming language
thinking injava
computer programming language
Python core programming (2nd edition), the 3rd edition is more difficult, and the content has changed a lot. Getting started with the 2nd edition is enough.
database
"mysql Technology Insider", at present, the background used by enterprises is mostly linux+mysql, so it is enough to mainly learn mysql.
If you are interested in website development, you can watch php and mysql web development together.
System principle
It is strongly recommended to have a deep understanding of computer systems. If you understand this book, you can basically understand most computer-related works.
principles of computer composition
Coding: language hidden behind computer hardware and software.
Windows programming, it is estimated that you will have a course in Windows programming. It is enough to learn the following two books.
"Windows Programming" Charles Pei zod (attached)
Windows kernel programming
Compilation basis
If you don't know the compilation principle of the dragon book, I recommend the following book, Perspective of Compilation System: Graphical Compilation Principle.
Data structure and algorithm
Data structure and algorithm analysis-C language description, and there is also a C++ language description.
Brief introduction of algorithm
Programming mainly depends on practice, and many computers type codes. It is best to write more code with the goal of developing a certain software. After learning the basic courses, it is recommended to learn the knowledge of server security.
Many of the above books have electronic versions on the Internet, so you can download them first. If you are not sure, you can buy physical books or borrow them from the library.
Other advanced and upgraded books can be visited more in the library.