Computer Science -- book list

Source: Internet
Author: User

The best way to learn is: Practice + theoretical learning !!

The first book: a deep understanding of computer systems (2nd ")

Here, I gave links to my Douban notes and provided several auxiliary sites.

This book will give you a real understanding of computer and programming. Not comprehensive, but on demand. This book has requirements for C language, but it is not high. Just read the relevant books.

Structure and interpretation of computer programs: It is known as a wizards. Chinese translation is normal and the English version is relatively difficult (maybe my English is too bad ==#). I have been reading it recently ~~ The reason why I recommend this book comes from here and here... This is the first-year student of MIT. In contrast, we are learning the C language. The C language of MIT is self-taught by students.
From this point of view, it is more necessary to take a look... Recently, I began to pay attention to overseas university course settings, which is very necessary !!! Compare our school dlnu...

Compilation Principle: longshu, which is the topic of chapter 7, 9, and 11! In addition, each part of this book is a rare and sophisticated practice of previously learned knowledge, such as discrete mathematics, formal logic, finite state machine, and tree... Programming Language features... Regular Expression. Program Optimization and various algorithms. In short A minor Review of computer science...

Mathematics

Discrete Mathematics and composite Mathematics (5th): the first version of this book was published in 1985 to 5th. The content is far better than Rosen.

Enumerative combintorics: I recently opened the first chapter, which is not very difficult and requires a very solid mathematical foundation !! The author of this book is the leading soldier in today's Integrated Mathematics field.Richard P. Stanley has two books in total. The first and second editions are not yet available.Fu Zi printing, but you can go to the latest ebook. My version is
15. This book can be called a combination of the Bible in the field of mathematics! I like it very much. The author is very good !!


Specific mathematics: Do not say more about the Book of master, but pay great attention to the cultivation of computational ability.

What is mathematics: the concept of basic mathematical knowledge is a great topic, and I have not left it blank... Einstein had a book review ....

In discrete mathematics and its application, Rosen has reached the sixth place. I have read it in detail, and the content is not as wide as it is in depth and thorough reasoning.Discrete Mathematics and composite Mathematics (version 5th)

A good combination of mathematics books. You can watch it together ..

A course in probability theory (Kai Lai Chung): a book on probability theory, written by Zhong kelai ~~~ The pride of Chinese people...

If you understand and internalize these books during college or after work, it can be said that the merits of computer workers have been fulfilled ~~~

The above three books are similar and have their respective focuses. I put mathematics at the top of the list to tell you: if the computer department only opens one course, I will choose discrete mathematics and combinations !! I remember a computer hacker said that algorithms are just a bit of mathematical skills. The following Algorithm Module lists Liu weipeng's three articles, which are full of words and profound, but I think. If you want to learn algorithms well, you can read through the three books above. Then, take the data structure and algorithm analysis to bubble poj .... I hope that you will accept what I have said from a critical point of view. Do not blindly start !!!!

Algorithm: by Liu weipeng (pongba), he knows why (continued) by Liu weipeng (pongba). (3 ): why is the algorithm so difficult?

How to solve it: a new aspect of Mathematical Method

Data Structure and algorithm analysis: the author Mark Allen Weiss is the author of algorithm C implementation.SedgewickThis is the best algorithm book I have ever read. I suggest you buy an English book, which is easy to understand ~~

Algorithm design and analysis: conforms to the algorithm learning methods and ideas given by pongba.

ACM platforms for Colleges and Universities

Introduction to algorithms: rich and rigorous! Worth reading

Algorithm C implementation I ~ IV: AuthorRobert SedgewickThe instructor is knuth.

Algorithm C implementation v

Programming Skills

Google Code style

Hacker's delight this book can be called an operating binary bit and an integer has reached its peak ~~ The book is quite thin and has 300 pages, which is more difficult ~~ Familiar with this book, don't worry about interview questions ~~~

C/C ++:

How do you learn C ++ (andProgramming) (Rev #1)By Liu weipeng (pongba)

Learning C ++: a practitioner's approach (beta1)By Liu weipeng (pongba)

C Programming Language

Deep anatomy of C language: unlocking the secrets of a programmer's test interview

C ++ Programming Language

Principle and Practice of C ++ Program Design

Design and evolution of c ++ Language

Effective C ++: 55 specific practices for improving programs and design: Version 3rd

Linux books:

0.0 well, if you have no passion or knowledge about Unix/Linux, I suggest you read this book to enjoy the best reading of UNIX art and Kaiyuan culture. The content of this book has a certain depth. At least read the first three chapters to give you a clear understanding of UNIX culture.

Unix programming Art: I personally think this book has excellent translation skills and I would like to recommend the English version.

0.1 latest! The most comprehensive! The most authoritative! Linux programming guide!

The Linux programming interface a Linux and UNIX System Programming Handbook: it is definitely a domineering book that covers various topics of Linux application development. Fortunately, the ebook is very exquisite and it is really happy to die ~~

0.2 laruence's Private food mainly serves as an interpretation of Linux at the application layer (namely the shell command layer). This book is the ultimate in Linux Shell applications.

The third edition of laruence's Linux Private food basics: Traditional Chinese students can workNew tongwentang (New tongwentang) Simplified Conversion. You can also buy paper products ~

0.3 you can find some knowledge here ~~ It feels good to read the directory. I'm going to watch it recently. Don't buy a Chinese version. The translation is too bad ~~ You are advised to read the English ebook directly.

The Linux programmer's toolbox

1. kernel books

Because the quality of domestic and foreign translation books and some mechanisms must be deep in the kernel to understand, even if you do not develop the kernel, I suggest you buy a book on the kernel and keep it in the case, put it there even if you don't read it. I believe that you will not see it later. We recommend the following two books:

Linux kernel architecture: http://www.china-pub.com/196739

Linux Kernel: http://www.china-pub.com/36767

2. System Programming

UNIX environment advanced programming: http://www.china-pub.com/28766

Apue is a Bible-level book. You can't help but read it. The content in the book is outdated or discarded, for example, streams ).

Linux programming: http://www.china-pub.com/196711

This book is similar to apue, which is closer to Linux than apue in terms of new version 10, but slightly inferior to apue.

UNIX Network Programming: inter-process communication (unpv2): http://www.china-pub.com/196859

Although it is a 98-year-old book, please believe that I am the best book to explain the inter-process communication between IPC, which is very classic. Part of the content is outdated. Please refer to my blog when you read it.

Beej's Guide to Unix Interprocess Communication: http://beej.us/guide/bgipc/

This book was discovered by accident on Wikipedia. Not yet read, but very new (December ). You can download the home page to the PDF version.

3. Network Programming

UNIX Network Programming: Socket API (unpv1 ):

Unpv1 is the Bible for Linux network programming. The content in the book is extremely classic, but several chapters are outdated. Pay attention to them when you read them.

Tracking Linux TCP/IP code running-Based on 2.6 kernel recent preparations ~~ After reading the previous chapters, I felt very good!

Beew's guide to network programming: you can download the home page to PDF.

4. shell programming 

Linux Command Line and shell script programming book: http://www.china-pub.com/45924

I 've been watching it all the time. Yes, most of the contents overlap with those of laruence.

TCP/IP

Fifth edition of Computer Network: edited by Xie xiren...

I have read: The TCP/IP explanation of Steven s and the TCP/IP interconnectivity of commer are both good, but I think this book is better !!

Design Mode

Big talk Design Model

Design Model: the basis for reusable object-oriented software (Taishan Beidou in the Model)

Head first design model (Chinese Version)

Assembly Language (version 2nd) advanced practices of book programmers [highly recommended !] Program Design practices

Time management

A strange life [only for inspiration]

E-book download site

Http://library.nu/: Recommended pongba ~~~ Very comprehensive. Almost all of my e-books are downloaded here!

Http://www.freebookspot.cc/:!

Http://ishare.iask.sina.com.cn/: Sina share, Chinese site books are quite complete!

Linux OS & utilises

Ubuntu has a handy System for us to write books and learn about Linux. I have used Ubuntu fedora systems. Ubuntu 10.10 is recommended here. Although canonical has little contribution to the open-source community, ubuntu is really easy to use.

Chrome:In my opinion, Chrome is the Best Browser. The simple UI saves a lot of screen for a wide-screen Notebook; synchronization allows your favorites to carry around, especially for users who use both Linux and Windows systems. The best thing is that you can use the bookmakrs bar as follows:

VIM: fast!

Emacs: powerful!

Eclipse: Ide preferred in Linux.

Ailurus:A very good system management software, similar to the Windows optimization master.

Libgooglepinyin has always been a good choice for Linux input methods!

Audacious: My favorite MP3 player software.

Starship:Er... Easy to use. Compared with linggesi, Kingsoft, and youdao dictionary a few days ago, it was concluded that the star translation King was very good !!

Xmind: Think about your mind map.

Blogpongba home page: http://mindhacks.cn/

Tianyi: https://github.com/tianyicui

Linuxeden

Ted

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.