If you have the patience to study computer, I can assure you that this is definitely a kind of achievement.
Master reminder: computer majors do not learn programming, but understand how computers work, as well as computer-related disciplines and technologies. A master does not have to understand programming. coder is the bottom-layer character. The most important thing is thinking and problem-solving ideas. For computer students, English and mathematics are also the most important. Programming is not used in reality. It is best to make it fancy and meaningless. For beginners, they should know more about why principles, rather than how. That is what happens after work. Every computer scholar should have his own ideas. Don't follow others, don't watch others use new technologies to make things, and you will be tempted, I also want to learn this technology. They have their own learning ideas and their own learning directions. 1. Do not program for programming. 2. Learn computer principles and core components. 3. Use Image Thinking to learn and pursue the essence. 4. Computer-related industries.
For a beginner, the technical trend in the IT industry cannot catch up with each other and cannot catch up with each other. I often see my ddmm throwing away textbooks and selling expensive big numbers such as C # and VB. NET, which makes me very sad. However, I think it is funny to have a lot of discussions about the usage of pointers in C. C # Just like ASP in the past, "suddenly like a spring breeze, a thousand trees and a thousand trees bloom". As a result, the information colleges of many schools have become "web colleges ". Many college students at the 9th and 97 levels are engaged in the web. Of course, I have no awareness of discrimination against a certain industry. I just think that if they spend more time catching up with these trendy technologies on basic courses, they can go further. Several misunderstandings beginners catch up with the C # trend is actually only one of the several misunderstandings that are often encountered during the learning process. I will use some practical examples to illustrate these phenomena. You can step by step to see if you belong to one or more of them: Think That computer technology is equal to programming technology: some people have this impulse in their subconscious even if they do not have this idea. It is strange to me that many students in the Information School also think like this. I think that computer majors are programming majors, and they do not care about programming or irrelevant courses. Extreme students will not read it if there is no "programming" in the book. In fact, programming is only a kind of labor with the lowest complexity in the application of computer technology. That is why the people at the bottom of the IT industry are coder ). Computer technology includes multimedia, computer networks, artificial intelligence, pattern recognition, and management information systems.
It is only the process of expressing algorithms in the Process of theoretical research or engineering practice of these specific technologies. Programmers do not necessarily know much about computer technology. An interesting phenomenon is that many masters of computer technology researchers do not understand programming. The hype on the Internet and the good working conditions in the real world make programming the work mysterious. In fact, every programmer understands that they are not difficult to learn these things than other majors, so naturally they will not go anywhere. Kong Yiji: I have met a girl's "Computer Network Principle" textbook. This girl is full of books and full of notes, just like a primary school student, the printed materials must be thicker than the teaching materials. What I don't understand is that it is necessary to take notes for courses like computer network principles? Our exam-oriented education has indeed affected many students. During the course "principles", many students recite their memories as if they had learned the principle of the column. This is the most stupid behavior I have ever seen. The so-called principle is the need to know why it is doing this, learn why, rather than how ). The maximum length of the Ethernet network cable, the length of the data frame, the meaning of each field, and the format of the IP header are ignored, I forgot the purpose of the TCP/IP protocol design. In short, many people spend a lot of time learning their books. This is also true for these students when learning programming. They exactly remember the details of the C # syntax. After reading the C # tutorial, read thinking in C # (indeed a good book), inside C #, C # reference, this C #, thatc #......, Then I learned a lot about C # syntaxes on the Internet, and found that I forgot some C # syntaxes. Finally, I went back and went on to make up for it ....... A younger brother told me, "C # is too difficult. I forgot to learn it here, and I forgot to inherit the template ." I replied, "It's easy if you don't study ". I didn't tell him how to break it down. I just told him that the syntax of dead C # is just as meaningless as there are several methods of writing the word "shen" that Kong has already showed off. You don't need to worry too much about the C # syntax at all. It's just a matter of hands-on programming. If you don't remember something, check msdn immediately. I have concluded that the understanding of program syntax in the actual development process is the most insignificant. This is why I spent only half an hour reading the syntax when I wrote a small program for my classmates using basic (I have never learned it before, then I completed the program in half an hour, and an hour later I completely forgot all the keywords of basic. Blindly catch up with the fashionable technology despite the foundation: the topic finally comes up.
Most people want their stuff to run right away and turn into money. This idea is reasonable for a programmer or project manager who has already entered the professional field, and IT technology advances so fast. If it is not followed up, it means unemployment. However, this idea is confusing for beginners (especially those with ample time. The biggest capital for a beginner who has not entered the competition in the industry is that he has enough time to learn basic things and learn why instead of how. Fashionable technologies are often easy to master and more easy to master. This is driven by commercial interests, in order to maximize the cost of software development. But the reality in the IT field is that the more things that are easy to grasp, the more people learn, and the faster the elimination. Every time new technology comes out, many beginners follow up. These beginners spend a lot of time in the follow-up process because they lack the necessary foundation, this technology is almost eliminated. Basic courses, such as data structures and operating system principles, cannot immediately implement a Linux (this is why many people laugh at the useless theoretical courses ), however, they can significantly reduce the learning curve slope when you are learning new technologies. Moreover, many key technologies (such as Win32 SDK program design and DDK programming) are even indispensable. A living example is that one of my colleagues and I can't find the power-on button when I was a freshman. He has already written some simple assembler programs. I spent all my time on the course of assembly, computer architecture, data structure, operating system principles, and so on. He started to learn HTML and VB, and catch up with ASP. In my junior year, I started to learn about the operating system principles of windows and how to program using sdks. It took a long time to develop visual applications with VC. Once upon graduation, I was annoyed that my program was able to run and I was still learning how to create a dialog box. The company I negotiated with offered more than twice his salary. The following is an inappropriate example:
It takes four months to learn vbprogramming, and one year to learn basic courses and VC programming. So if you want to learn VB first and then learn the latter, the time will not be reduced, or one year. In turn, if you want to learn the latter first, you can learn VB again, maybe you only need one week to learn very well. Several important basic courses if you are a student or if you have enough time. I suggest you carefully master the following knowledge. My advice is for beginners who want to achieve something in IT technology. At the same time, I also listed some bibliography which should be available in the bookstore. To be honest, my biggest wish when reading other people's articles is to ask the author to list a book order. College English-don't be funny. I strongly recommend this course because it is unimaginable to have no professional document reading skills. Chinese translation is often made in the Year of the Monkey, Ma Yue, and many publishers now simply print e files. The learning method is to force yourself to read the original teaching materials. At first, you will not be able to understand them. It is definitely a quality that any industry needs. Computer Architecture and assembly language-books on the architecture are everywhere and similar, but there is a very good book for compilation. 80x86 Assembly Language Programming Tutorial (Tsinghua University Press, black cover, Yang Ji Wen ). You need to focus on the programming of the 386 post protection mode. Otherwise, when you learn something at the bottom of the modern operating system, you will think that you are reading tianshu. Computer Operating System Principle-our development is always performed on a specific operating system. If not, there is only one possibility: You can implement an operating system on your own. In any case, the operating system principle must be read. This is like we need to know the basic operating sequence of a chip when making a peripheral device for a chip. There are also many such books, and I have not found any outstanding book. I just think that if I have read these books, I should read "Inside Windows 2000" (Microsoft press, I am reading the E version, the Chinese name must be the inside story of Windows 2000 ).
Data structures and algorithms-this course determines the level of a person's program design and is a core course. I prefer the Tsinghua edition (Zhu zhanli, Liu Tianshi ). Many people like to buy C #, but I don't think it is necessary. The C # syntax makes the algorithm implementation process much more complicated, and many teachers prefer to use the module to make the algorithm more complex. It is best to browse the C # version after learning the C version. Software Engineering-the more important this course will become, the more important it will be, although it was just like watching Ma Zhe at the beginning to become a cloud expert. My suggestion is to read "Practical Software Engineering" (yellow, Tsinghua ). Don't take too much time to record the rules. If you don't understand them, you can jump over. Every time I finish a software design task (whether it's a practice or a job), I will review it and review it again. Windows Programming-by Petzold, Peking University Press. I suggest anyone who tries to design a Windows program finish learning it carefully before learning VC. In addition, it is best to put the previous "Inside Windows 2000" in the back of this book. In this book, there is no C ++, no GUI, and no controls. Some are how to use the original C language to complete the windows program design. After learning it, you will find that VC is easy to learn. Never study VC before you finish reading this book. Many famous schools I know even use it as teaching materials. It is important. I think the above courses are essential (if you want to be a Windows programmer ). There is a simple option for other courses: if you are in the computer department, please learn all your basic courses. If not, refer to the curriculum of the computer system. If you find that you cannot read a book, go to the end of the book, read its references, find them, learn them, and then look back at the book. If the title of a book contains the word "principle", you must not remember its details. You should master the essentials at least 50 pages a day. Practice a theory or algorithm on a computer as much as possible. You can also read many book reviews on csdn. These book reviews help you decide what kind of books to read. The three provinces of Japan have read too many books every day, making people easy to lose their way. You must think about what you have learned, what you need to learn, what you are most interested in, and how long it takes to write a book. At the same time, you should also think about the most likely application in the future, so that you can not catch up with the technology trend, but lead the technology trend. At the same time, we strive to use the technologies and theories we have mastered to create new things. Sticking to this will make you truly a software "Developer", not just a coder. Spending the most time on learning is the last piece of advice for beginners. It is best to reduce the time spent on SC or CS every week without playing them. At the same time, if your ASP technology has been able to make money, or even some companies invite you to work part-time, this proves that your work in tianfen can guarantee you can achieve better benefits after hard work, you should do more complex things. Long term, which is applicable to anyone. I believe you can decide whether to learn C # or when to learn it.
Computer Science Advice 1. Give it to students majoring in computer science
1. First of all, please love this major. Only in this way can you find real happiness from the abstract theory. If you don't love her, or you just want to give up on this major because the computer is a double-edged sword, if you do not study well, you will suffer a lot after graduation. If you do not succeed, you will have no development potential, just as if you were an English major in the United States.
2. Do not treat this subject with a utilitarian eye. This is definitely not a professional that can earn money with just a few clicks. Don't think about making money on a website. Don't think about * adding advertisements to the click rate. This is outdated four years ago. If you still think so, don't say it, because I will think you are very good. Computing-level professional sense of accomplishment is always accompanied by physical pain, shoulder inflammation, cervical spondylosis, dry eyes, hair loss, lumbar disc herniation, arthritis, no exaggeration, after two months of work, I found my hair began to drop.
3. I only know what I learned, but I still don't know what to do. Our curriculum design is too child, don't say it to your classmates outside of China, otherwise it will be laughed at, so we should do as much design as possible, and don't have a human head to do it, two or three people work together on a project. Computer workers who do not communicate with each other will be laid off after the age of 30. As far as possible, the question is some simple underlying development. You can search for it on a foreign university website and be confident that you can do it. After all, it is not a problem, but a quality that we should possess.
[Switch] computer science is not programming