Basic knowledge and bibliography recommendation for programmers

Source: Internet
Author: User

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. The PROLOG is manual.

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 also high.) 15. Database concept. (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 a famous school teaching book.

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)

(5) Experience

1. A real programmer uses C ++ (said by an expert)

2. Compile the program;

3. Brainstorm;

4. Have a good programming style;

5. Read books, read good books, and read original books as much as possible! (I have repeatedly stressed this point. You must have a choice in reading books, insist on reading good books, classic books from famous books, and do not waste your practices on some shoddy books; and insist on Reading mass books)

6. Have your own learning plans;

7. Summarize your own experiences and lessons (prepare a notebook and record errors and experiences)

8. Do not be afraid to learn new things;

9. Have the idea of software engineering;

10. Be good at discovering problems and then look for answers;

11. Ask experts for advice. (open your mind until you become masters)

12. Communicate with peers (not good at communication)

13. Understand the essence of software and do not be confused by the ever-changing appearance;

14. You really need to learn to use programming languages and methods, not libraries, classes, or tools, I think it is far from enough)

15. wiodows programming is mainly used to learn Windows OS and Win32 APIs;

16. have time to learn about embedded development;

17. have time to learn about PDA software development;

18. Learn about the. NET Framework and C # language. Maybe it is your new parent;

19. Be patient and never be impetuous;

20. Add comments to the program and keep your old program;

21. The more you learn, the more you know, the closer you are to experts;

22. If you are free to visit csdn, you will have many confidants;

23. Be confident to become an excellent program;

(6) Recommendation of some good books

1. The C programming language (keinighan & Dennis Ritchie 1988)

2. The C ++ programming League (Bjarne stroustrup 1997)

3. Inside the C ++ Object Model (Lippmans)

4. Objective C ++ (same as above)

5. More effective C ++ (same as above)

6. predictional C ++

7. c ++ efficient Object-Oriented Programming

8. Design Patterns

9. Thinking in C ++

10. The standard C ++ Le (recommended)

11. The art of computer programming

12. Programming windows (Charles Petzold)

13. VC ++ 5.0 technology insider

14. Introduction to MFC

15. software requirements

16. Advanced windows

17. c ++ Primer

18. Win32 programmer Reference Manual

19. Using TCP/IP for Internet connection

20. essence of COM

(7) learning plan

I have decided on this learning plan and shared it with you for your reference. Let's make progress together. 1. Computer composition principles

2. Operating System

3. Data Structure

4. Assembly Language

5. c

6. C ++

7. VC technology insider

8. Programming windows

9. in-depth introduction to MFC

10. Advanced windows

11. Inside the C ++ Object Model

12. Thinking in C ++

13. Objective C ++

14. Database

15. Network

16. Embedded OS and Programming

17. Hardware Microcontroller

18. NET and C #

19. Software Engineering

20. UNIX and Linux

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.