Current location - Training Enrollment Network - Mathematics courses - Want to learn software development? Self-study Help me recommend books! (Recommended books for beginners of software engineering)
Want to learn software development? Self-study Help me recommend books! (Recommended books for beginners of software engineering)
The following suggestions are more detailed. I asked others before, and others sorted it out for more than an hour. I recommend it to you. You can see what you need in moderation. I learned it from java. Thingkinginjava is a very good book. I have read the book Game Programming Journey written by Feng Yun. The experience of predecessors is to learn first and then learn systematically. Thingkinginjava is a good system research. Of course, the foundation is very important, such as data structure and algorithm.

In fact, you have mastered the following, and the foundation is really powerful. Learn a language well and you are an expert!

(1) data structure:

Data Structure (C language version), published in May 2005-1, Yan Weimin, Tsinghua University. -Recommended!

Data structure practice and analysis (C language version), Li Chunbao. -simpler and easier to understand than Yan Lao.

Data Structure (described by object-oriented method and C language), 1999, Yin Renkun, Tsinghua University Publishing House, published in July.

(2) Algorithm:

Algorithm Design and Analysis (College Computer Textbook), Zheng, Tsinghua University Publishing House.

Introduction to Algorithms (Photocopy Edition) (Second Edition)

Thomas. Charles Coleman. Higher Education Press.

TheArtofProgrammingLanguage, Tsinghua University Publishing House.

Introduction to Algorithm Design and Analysis (USA) Ananylevitin, translated by Pan Yan, Tsinghua University Publishing House.

(3) Database

Introduction to Database System, 1983, Susan Wang, Sashixuan, published by Higher Education Press.

Principles and Methods of Database, 1983, Wang Hongwu, Zheng Ruozhong, published by Hunan Science and Technology Press.

Principles of Database System, 1988, Yu, Shen Jinfa, Tsinghua University Publishing House.

(4) operating system principle

Modern Operating System. Trans. Sun Zhongxiu, etc. Higher Education Press.

Principles of Operating System, Xie, People's Posts and Telecommunications Publishing House.

Course of Operating System Principles, edited by Zhang Yaoxue, published by Tsinghua University Publishing House.

(5) Computer architecture

Computer Architecture, Zhang Chenxi et al., Higher Education Press.

Computer System Structure, published by Zheng Weimin and Tang Zhizhong, Tsinghua University Publishing House.

Computer Composition and Structure, Wang Aiying, Tsinghua University Publishing House.

(6) Computer network

Computer Network (2nd Edition), Feng Boqin, Higher Education Press.

Zhang Yaoxue, Tsinghua University Publishing House.

Computer network, Cai et al. , machinery industry press.

(7) Discrete Mathematics

Discrete Mathematics, Sun Jigui and Yang Fengjie, Higher Education Press.

A Course in Discrete Mathematics, Geng Suyun, Qu Wanling and Wang Hanpin, Peking University Publishing House.

Discrete mathematics and its application (4th edition) (4th edition, author:-Kenneth. Rosen), translated by Yuan Chongyi, Qu Wanling, Wang Hanpin and Liu Tian, Machinery Industry Press.

Basically, the first book in each category can already represent the mainstream of books used in china university teaching today. So from a basic point of view, it is enough, but from an engineering point of view, I suggest that you can learn data structures directionally according to a certain language, such as Java or C#. After all, after object-oriented, data structure processing is not as troublesome as C, and we use the English textbook "Excellent Foreign Information Technology Series Teaching Books" for architecture, operating system and network, which is more practical than Chinese. Good English can be referred to, including Computer Organization and Structure, Practical Operating System Concept and Computer Network (there seems to be a translated version now).

The art of computer programming was strongly recommended by our teacher at that time, but it's a pity that I haven't had time to read two thick books. ThinkinC(ThinkinJava) is a very good book on language. Just do a search on the Internet, Bruce. In addition, if you want to learn software, you must master both. Web or J2EE, otherwise the road ahead will be difficult. In this regard, I suggest you check the information online more, because the information is updated quickly, and many of those books are plagiarized, which is nothing new. CSDN website should know it, just look at the posts inside.