Http://news.csdn.net/news/newstopic/28/28079.shtml
From: programmer
(3) Basic knowledge and concepts that a programmer should possess
1. What is a computer, what is a CPU, and how it works. (I won't tell you the answer to these and the concepts to be mentioned below. You can read the corresponding teaching materials. I will detail the teaching materials in the next section and remember to understand them !)
2. Concepts of machine language and micro-instruction set.
3. program concept.
4. The Assembly Language is a low-level language, but not a machine language.
5. What are the main advanced languages? (C, C ++, basic, Pascal, Fortran, C #, Java, etc.; if you are a hero in the Chinese software industry, you should also write a language, preferably not in English) 6. Compile the program and explain the concept and principle of the program. (Compilers are prepared by experts and experts)
7. html and XML are distinguished languages.
8. Prolog is an artificial intelligence language.
9. Concepts and Principles of operating system OS. (Windows 98, windows, Windows NT, UNIX, Linux, and so on are all operating systems. There are also some real-time operating systems that are embedded into the OS. These are definitely experts)
10. In Windows programming, Windows API is called. (Many programmers in China only compile Windows programs and use VB. I suggest that at most these programmers are low-level coders. I call them coder)
11. VC ++, VB, BC, BCB, Delphi, and VF are only programming tools and environments, not programming languages.
12. Structure-oriented design concepts.
13. object-oriented concepts. (It's important, bro)
14. Concepts and Principles of software engineering. (If you want to be a boss, you need to study it well. The system analyst is a higher level than the coders, and the salary is high)
15. Concepts of databases. (Be familiar with the names of some famous database systems and languages, such as orcle, SQL, DB2, and dybase)
16. Understand network concepts.
17. Understand multimedia concepts.
18. be familiar with and master the data structure and basic algorithms.
19. Is the requirement too high? Don't worry about it and make progress without knowing it. (Once you start learning, you will have a basic concept in a month. After two months, you will feel that you have a comprehensive basic knowledge; when you know how the program is going, it means you are getting started. There are also many people who have compiled the program for many years and haven't gotten started yet. You don't want to follow the steps on your own. Be confident and patient. How can it become a major event ?!)
(4) Recommended teaching materials
--The recommended teaching materials are mainly for concepts. It is best to choose teaching books from famous schools.
1. Computer composition principle (familiar)
2. Data Structure (master)
3. Operating System (understanding-> familiarity)
4. The C Language)
5. compilation principles (understanding Principles)
6. Assembly Language (understanding)
7. Computer Network (understanding)
8. Software Engineering (understanding)
9. Relational Database (familiar)
10. The C ++ Languege (master)
11. Object-oriented Design (master; combined with C ++ learning)