Some students who taught themselves C # asked me, "When I learned my computer, I should first learn ADO. NET database development, winform, Asp.net development, and other application-layer things should we first learn data structures and algorithms? ".
It is recommended that you first familiarize yourself with the application layer and then learn the data structure and algorithms. For example, you have been using the linklist class for dynamic data storage, when you learn the data structure, you will understand the functions of the linked list, and then you can directly learn the Internal principles of the linked list. With a perceptual understanding, you can learn the Principles again, it is better to learn the concept of linked lists than those that do not even know the application of linked lists in practice. For example, if you are familiar with databases, you will ask "Why can databases locate data so quickly with so much data ", then, when you learn the hash algorithm, B + tree, and index knowledge points, you will be enlightened when you study with questions, and the learning effect will be the best.
A junior (non-computer Major) insisted that he would leave school to join my office in February. net excellent job class ", also thought," If I had a good job in the past three months, I would not go to school and go to work directly. ", I was discouraged, I told him, "No! It's not that I can't do it in terms of knowledge, but that I can't do it! Education is not omnipotent, but it is absolutely impossible to have no education. When you go to college, you feel that you have no university degree, but after work, you will find that although you do not feel like you have a degree, if you do not have a degree, you will be discriminated against everywhere. Others have noses, and you have none. But if you have no noses, everyone will discriminate against you ". However, he finally settled his parents and school and asked me to take part in my second class in February for the summer vacation. I agreed. However, the advice I gave him was: "In those three months, you should first learn the actual development technology, and then you must go back to study computer networks, operating systems, data structures, and other computer courses, you do not have to be proficient, but you must understand it ".
I hope that university education will turn to practice first and then theoretical studies. In this way, I will first have a practical and perceptual understanding of networks, databases, operating systems, and so on, and then learn theories. Of course, practice first and then theory also have risks, that is, it is easy to cause inertia psychology, that is, after learning practice, I think that I can do anything, so I will not go to theory, for example, after learning about database development, you can also develop a good program. You just want to "this is the case for databases. It's not just about adding, deleting, modifying, and querying databases. It's not about theory ". However, when dealing with scenarios such as massive data processing and database optimization, basic skills in data structures, database principles, and operating system principles are required, without the guidance of these theories, we will encounter development bottlenecks. First application, then theory, then application, application verification theory, theoretical guidance application, spiral development.
Author: Yang zhongke