The following courses are important courses that must be studied:
[Computer Architecture and Assembly Language]-Books about architecture are everywhere, and they are similar, but one is very well compiled. 80×86 Assembly Language Programming Course (Tsinghua University Press, black cover, by Yang Jiwen). Need to focus on learning the programming of post-386 protection mode. Otherwise, you will feel that you are reading a gobbledygook when you study the bottom of the modern operating system.
[Principle of Computer Operating System]-Development is always carried out on a specific operating system. If not, there is only one possibility: implement an operating system yourself. In any case, operating system principles are required reading. This is like knowing the basic working sequence of a chip when making a peripheral device for it. There are many books of this kind, and none of them is excellent. I just think that if I have time after reading these books, I should look inside Windows 2000 (Microsoft Press).
[Data Structure and Algorithm]-This course can determine a person's programming level and is the core course. The first choice is the Tsinghua version (Zhu and Liu). Many people like to buy the C++ version, but they don't think it is necessary. The syntax of C++ makes the algorithm implementation process much more complicated, and many teachers like to use modules to make the algorithm more complicated. After learning the C version, you'd better browse the C++ version.
[Software Engineering]-The later this course is, the more important it is, although it is as unintelligible as looking at philosophy at the beginning. Recommended reading practical software engineering (Huang, Tsinghua). Don't spend too much time remembering the rules and regulations. If you don't understand them, just jump over. Every time you complete a software design task (whether it is an internship or a job), you will look back and look back, and you will gain something every time.
[Windows Programming]-Peking University Publishing House, Petzold suggests that anyone who tries to design a Windows program should finish it carefully before learning VC. Moreover, the books in Windows 2000 in front are better at the back of this book. In this book, there is no C++, no GUI and no controls. Some are how to use the original C language to complete Windows programming. After learning, you will find that VC is actually very studious. Never learn VC without reading this book. Better not touch it. Many famous schools even use it as a teaching material. Obviously, it is very important.