Knowledge and technology required by the Computer Major

Source: Internet
Author: User

In my personal summary, computer professionals, especially engineers, need to master the following knowledge and technology:

 

1. More and Better mathematical skills

Undoubtedly, the foundation of logical thinking may be a natural fit for some people, but after a long period of mathematical thinking training, logical thinking must be a good foundation!

Degree of requirement: the first stage is sufficient, and the next step is the richer the better!

How to Train: Do not deliberately read books or re-learn mathematics textbooks. How can this problem be solved?AlgorithmThe driver is to look at the corresponding mathematical knowledge when the algorithm is needed.

 

2. Professional English Reading Skills

Professional English reading is very important when you need to study foreign chip data manuals or related documents or standards. Needless to say!

Degree of requirement: the first stage is sufficient. Of course, the more the requirements, the better!

How to Train: Watch more and listen more, read more English websites, English documents, and watch more movies. This is simple.

 

3. Computer Related Principles

There are many aspects, such as the Computer computing model, the relationship between CPU, memory, hard disk, the relationship between machine commands, assembly, and advanced languages, the principle of function calling, and the C ++ object structure, process Scheduling Principle, memory paging principle, memory management, Compiler Principle, virtual machine principle,ProgramLoading principle, interpreter principle, object-oriented principle, hardware driving principle, terminology understanding, function library principle, compilation connection principle, Gui principle, visualization tool principle...

Degree of requirement: the width to be known in the first stage, and then the specialization!

How to Train: Accumulate and learn more!

 

4. Familiar with a compilation language

It is better to speak C language directly. We don't have to do anything with C to learn C. Instead, by understanding all aspects of C, we can have a general grasp of the compiling language. What is the basic type, function process, header file inclusion, library function implementation, operating system calling, basic programming skills...

Degree of requirement: the more familiar the better!

How to Train: Read more books about C, write more utilities, and read moreSource code!

 

5. Familiar with an explanatory language

Scripts are efficient, fast, and simple. They are incomparable to compiling languages, rich libraries, free features, numerous tools, and inherently cross-platform nature, let you see the running effect on your phone. By familiarizing yourself with interpretation languages, fully understanding the implementation and extension methods of dynamic languages, and comparing compilation languages, you can naturally understand the many features provided by languages!

There are many options: Bash, Python, Perl, and Ruby are all good, And python is very good. Bash has the most applications in Linux.

Required procedures: the more skilled, the better!

How to Train: read more books, write more programs, and read moreCode!

 

6. algorithms (data structure)

Algorithms are based on mathematics, but even if they do not have a mathematical skills, it is okay to deal with non-algorithm work. You only need to have a certain algorithm Foundation. However, we must understand algorithms and motivations for sustainable consideration. Understand the content behind the algorithm.

Degree of requirement: the more the better, the deeper the better!

How to Train: Do more questions, think more, learn mathematics, and accumulate for a long time!

 

7. Design Mode

The design pattern mentioned here can be broadly not the design pattern of the book we are talking about, but the design pattern of all normative and paradigm-oriented programming methods. There is no way to read the book and you need to practice it.

Degree of requirement: the more the better!

How to Train: read more, write more programs, and practice more!

 

8. Organize and fully understand large systems

Be sure to have a complete understanding of a software system, including all aspects. We recommend that you be familiar with four types of systems:

(1) The single-chip microcomputer has no operating system, as long as it is simple and infinite loop control of the application of a simple interface, Master how to program hardware, how to light and so on.

(2) single-chip microcomputer multi-task operating system, understanding of the concept of multi-task and programming features, of course, the implementation of the operating system, framework, mechanism, startup mode, and so on.

(3) It is very important to understand the principles and implementations of Modern Operating Systems in Linux.

(4) The Android operating system understands the Android system and most of the computer knowledge that needs to be learned!

 

9. Write it here by yourself

(1) write code every day-> Read the required syntax

(2) view algorithms on a daily basis-> view required mathematics

(3) write your own operating system-> simple, dirty

(4) Write a compiler by yourself-> simple, usable

(5) Write a GUI by yourself-> simple. You can view images and files.

(6) write your own interpreter-> simple syntax.

 

10. Read more, write more, and think more.

Write more code, debug more, think more about why, read more open source code, read more, set goals, and persevere!

 

This article is complete.

Related Article

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.