Dedicated to like-minded programmers and friends

Source: Internet
Author: User


(3) OneProgramBasic knowledge and concepts

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 Language .
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. Familiar with and master the data structure and basics Algorithm .
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)

(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 (Lippman)
4. Objective C ++
5. More Objective C ++ (Lippman)
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 technical insider
14. MFC introduction
15. software requirements
16. Advanced windows
17. c ++ primer
18. Win32 programmer reference manual
19. use TCP/IP for Internet connection
20. com essence

(7) learning plan
--This learning plan is set by myself. I will share it with you for your reference and 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

(8) postscript
Over the past year, I have wasted a lot of time exploring, thinking, and detours. Until now, I still feel that I am a programmer. I have explained some of my experiences and ideas (of course, many of them are not necessarily correct. You are welcome to discuss them with us ), some suggestions and help may be provided to some friends who want to join the ranks of programmers. We hope to help these friends develop their programming skills.
If so, I will be very happy. Welcome Interested friends to send me e_mail (sjpsky@163.net); I have two hobbies, one is to read martial arts novels, the other is to make a hero.
Postscript: In this article, I used the analyster name to log on and post it on "csdn-program life". Many netizens read it and return it. I also received emails from several netizens, I am very grateful for your trust and encouragement.
What I want to explain is my article, which mainly aims to give some suggestions to "some friends who want to be programmers" and help them find a shortcut to self-training, (In fact, there are no shortcuts in the world. I think everything lies in understanding. The teacher leads the door and practices are personal. For example, I do not practice enough.) I do not do much useless work like I do. In addition, it is mainly a basic skill (personal opinion) that a programmer should possess. Some people call it "Internal merit", which I think is quite right. Without solid basic skills, how can we easily write high-quality and high-performance excellent programs?
Let's work together to revitalize our national software industry!

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.