Basic knowledge and concepts that a programmer should possess

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. 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 ?!)

Recommended teaching materials-Recommended teaching materials mainly refer to 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)

Experience and 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;

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

Learning plan-this learning plan is set by myself and shared with you for reference. Let's make progress together.

1. Computer composition principle 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, powerful C ++ 14, database 15, network 16, embedded OS and programming 17, hardware Single Chip Microcomputer 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.