URL:http://localking007.bokee.com/1587943.html
Advice for Students Studying or Loving Computer Science
Recently I've posted many threads about computer science majors, but overall they feel rather scattered. Here I'll summarize and express my views. The target audience: students of Computer Science and Technology, and students from other majors who want to switch to computer science or are extremely passionate about computer science.
I. For Students of Computer Science Major
1. First, please love this major. Only then can you find real joy in abstract theories. If you don't love it, or just because it's a popular major, I strongly suggest you give up this major. Because computer science is a double-edged sword. If you learn it well, you'll have a bright future; if not, you'll be extremely miserable after graduation, being neither here nor there, with no development potential, just like English majors going to the US.
2. Don't view this discipline with a utilitarian eye. This is absolutely not a major where you can make money by just clicking the mouse. Don't think about making money by building websites, don't think about increasing ads through click-through rates. This has been outdated for 4 years. If you still think so now, don't even say it out, because I'll think you're old-fashioned. The sense of accomplishment in computer science always comes with physical pain. Shoulder periarthritis, cervical spondylosis, dry eyes, hair loss, lumbar disc herniation, arthritis... No exaggeration. After working for two months, even I, who is so handsome, started losing hair.
3. Understand the meanings of "computer science" and "technology". Making web pages, making pictures, making flash, playing games, surfing the Internet, listening to music, recording MP3, making movie subtitles, installing Windows, modifying the registry, making skins for software... None of these are Computer Science and Technology. If you're a computer student, it's what you should be able to do. If you can't, it's not a big deal. What we need isn't to be called "experts" by others.
4. Clarify your final professional direction: software or hardware. Direction is network? Network isn't a professional direction. Network is the crystallization of the wisdom of the most excellent software engineers, the most excellent hardware engineers, and the most excellent communication engineers. If you're in the software direction, after mastering a set of mathematics, data structures, algorithm design, numerical analysis, assembly language, operating systems, compiler principles, database principles, software engineering and other courses, carefully listen to hardware courses; they are useful to you. Software engineering is by no means a course you can pass by memorizing. Computer theory may be researchable by one person, but software engineering is the crystallization of the failure lessons of tens of thousands of software engineers over decades. Please attend classes seriously. Don't ask me which language you should learn. Computer science majors must have the ability to pick up any language in 1 hour. At least, you should be able to make "hello world" in 10 minutes. If there are two languages you must learn, they are C++ and Java. Learning them isn't learning languages, but learning "Thinking in C++", "Thinking in Java". One is the basic theory of software, the other is the basic theory of object-oriented. No one has ever heard of "Thinking in Basic". If you say C++ is outdated, then never tell others your name, because it's very embarrassing. Teachers in Shandong University of Science and Technology only teach you C, not C++. So don't be deceived by them. Boldly ask them about C++, and if they don't know, just change teachers. For students in the hardware direction, after carefully listening to the above courses, master all courses except politics.
5. Even if you've mastered the above courses, we're still far from being proficient. We've just figured out what to learn, but still don't know what to do. Our course designs are too childish. Don't tell your classmates abroad, otherwise you'll be laughed at. So we should do as many designs as possible. Don't just work alone. Cooperate with two or three people on a project. Computer professionals who can't communicate will definitely be laid off after 30. For topics, try to be some simple low-level development. You can search on foreign university websites. Be confident that you can definitely do it. After all, it's not a difficult problem, but a quality we should have.
6. If you're interested in network, after having certain hands-on ability, learn it from the perspective of protocols or low-level hardware. Otherwise, you're voluntarily degrading from a noble computer professional to a migrant worker doing heavy mechanical physical labor. If you're interested in network security, then one month after learning to use various tools, deeply learn network protocols and operating systems from the programming perspective! Only using tools to attack the vulnerabilities of ignorant people is a masturbatory behavior. If you're addicted to it and shout "hacker" everywhere, then this behavior can be called "masturbation". When the Internet calls for Sino-US and Sino-Japanese hacker wars, hope you study courses with peace of mind, or sleep and rest, or go to exercise and have fun. Don't blacken the motherland.
7. Correctly treat certifications. Most certifications aren't the golden key to high salary, but the IQ level test before you take up a job. If you've passed a certification, don't say this certification is rubbish to others. Please tell others what knowledge you've learned in the study. If you haven't learned knowledge, then you're a paper. The certification isn't rubbish, you are. If you haven't taken a certification and shout it's rubbish everywhere, then please take the exam yourself. If you pass and understand, then you can do whatever you want; if you pass but don't understand, the certification isn't rubbish, you are rubbish; if you don't pass, then everyone reading this post knows what you are. MCSE, CCNA, CIW, etc. all have their existence meanings. As long as you have money, it's worth learning. They are the most formal knowledge sources, products that have been tested by theory, practice, time and market.
II. Some Suggestions for Students of Non-Computer Science Majors
1. Love your original major, especially natural science courses and basic disciplines. Giving them up for computer science is like throwing away a 100-yuan note for ten 1-yuan notes.
2. Computer science has the dual attributes of academic and instrumental. Build a bridge between computer science major and your own major, which contributes to both majors. If you're really excellent, and learn computer science very deeply and well, then you really deserve respect.
3. Remember again that making web pages, making pictures, making flash, playing games, surfing the Internet, listening to music, recording MP3, making movie subtitles, installing Windows, modifying the registry, making skins for software... These aren't computer science majors, and can't make money. Don't let impetuosity and utilitarianism cloud your eyes and ruin your bright future.
That's almost all I want to say. I won't talk about dissatisfaction with the school. After all, it's temporary. Although it's still very bad now, it will gradually get better. While scolding the school, everyone must put forward good suggestions for the school and contribute more to the development of the school. In the future, if anyone achieves great things, don't forget to come back, because our children may still study here, and we can't let them suffer and be wronged again.
Thank you all!
Advice for Students Studying or Loving Computer Science
Recently I've posted many threads about computer science majors, but overall they feel rather scattered. Here I'll summarize and express my views. The target audience: students of Computer Science and Technology, and students from other majors who want to switch to computer science or are extremely passionate about computer science.
I. For Students of Computer Science Major
1. First, please love this major. Only then can you find real joy in abstract theories. If you don't love it, or just because it's a popular major, I strongly suggest you give up this major. Because computer science is a double-edged sword. If you learn it well, you'll have a bright future; if not, you'll be extremely miserable after graduation, being neither here nor there, with no development potential, just like English majors going to the US.
2. Don't view this discipline with a utilitarian eye. This is absolutely not a major where you can make money by just clicking the mouse. Don't think about making money by building websites, don't think about increasing ads through click-through rates. This has been outdated for 4 years. If you still think so now, don't even say it out, because I'll think you're old-fashioned. The sense of accomplishment in computer science always comes with physical pain. Shoulder periarthritis, cervical spondylosis, dry eyes, hair loss, lumbar disc herniation, arthritis... No exaggeration. After working for two months, even I, who is so handsome, started losing hair.
3. Understand the meanings of "computer science" and "technology". Making web pages, making pictures, making flash, playing games, surfing the Internet, listening to music, recording MP3, making movie subtitles, installing Windows, modifying the registry, making skins for software... None of these are Computer Science and Technology. If you're a computer student, it's what you should be able to do. If you can't, it's not a big deal. What we need isn't to be called "experts" by others.
4. Clarify your final professional direction: software or hardware. Direction is network? Network isn't a professional direction. Network is the crystallization of the wisdom of the most excellent software engineers, the most excellent hardware engineers, and the most excellent communication engineers. If you're in the software direction, after mastering a set of mathematics, data structures, algorithm design, numerical analysis, assembly language, operating systems, compiler principles, database principles, software engineering and other courses, carefully listen to hardware courses; they are useful to you. Software engineering is by no means a course you can pass by memorizing. Computer theory may be researchable by one person, but software engineering is the crystallization of the failure lessons of tens of thousands of software engineers over decades. Please attend classes seriously. Don't ask me which language you should learn. Computer science majors must have the ability to pick up any language in 1 hour. At least, you should be able to make "hello world" in 10 minutes. If there are two languages you must learn, they are C++ and Java. Learning them isn't learning languages, but learning "Thinking in C++", "Thinking in Java". One is the basic theory of software, the other is the basic theory of object-oriented. No one has ever heard of "Thinking in Basic". If you say C++ is outdated, then never tell others your name, because it's very embarrassing. Teachers in Shandong University of Science and Technology only teach you C, not C++. So don't be deceived by them. Boldly ask them about C++, and if they don't know, just change teachers. For students in the hardware direction, after carefully listening to the above courses, master all courses except politics.
5. Even if you've mastered the above courses, we're still far from being proficient. We've just figured out what to learn, but still don't know what to do. Our course designs are too childish. Don't tell your classmates abroad, otherwise you'll be laughed at. So we should do as many designs as possible. Don't just work alone. Cooperate with two or three people on a project. Computer professionals who can't communicate will definitely be laid off after 30. For topics, try to be some simple low-level development. You can search on foreign university websites. Be confident that you can definitely do it. After all, it's not a difficult problem, but a quality we should have.
6. If you're interested in network, after having certain hands-on ability, learn it from the perspective of protocols or low-level hardware. Otherwise, you're voluntarily degrading from a noble computer professional to a migrant worker doing heavy mechanical physical labor. If you're interested in network security, then one month after learning to use various tools, deeply learn network protocols and operating systems from the programming perspective! Only using tools to attack the vulnerabilities of ignorant people is a masturbatory behavior. If you're addicted to it and shout "hacker" everywhere, then this behavior can be called "masturbation". When the Internet calls for Sino-US and Sino-Japanese hacker wars, hope you study courses with peace of mind, or sleep and rest, or go to exercise and have fun. Don't blacken the motherland.
7. Correctly treat certifications. Most certifications aren't the golden key to high salary, but the IQ level test before you take up a job. If you've passed a certification, don't say this certification is rubbish to others. Please tell others what knowledge you've learned in the study. If you haven't learned knowledge, then you're a paper. The certification isn't rubbish, you are. If you haven't taken a certification and shout it's rubbish everywhere, then please take the exam yourself. If you pass and understand, then you can do whatever you want; if you pass but don't understand, the certification isn't rubbish, you are rubbish; if you don't pass, then everyone reading this post knows what you are. MCSE, CCNA, CIW, etc. all have their existence meanings. As long as you have money, it's worth learning. They are the most formal knowledge sources, products that have been tested by theory, practice, time and market.
II. Some Suggestions for Students of Non-Computer Science Majors
1. Love your original major, especially natural science courses and basic disciplines. Giving them up for computer science is like throwing away a 100-yuan note for ten 1-yuan notes.
2. Computer science has the dual attributes of academic and instrumental. Build a bridge between computer science major and your own major, which contributes to both majors. If you're really excellent, and learn computer science very deeply and well, then you really deserve respect.
3. Remember again that making web pages, making pictures, making flash, playing games, surfing the Internet, listening to music, recording MP3, making movie subtitles, installing Windows, modifying the registry, making skins for software... These aren't computer science majors, and can't make money. Don't let impetuosity and utilitarianism cloud your eyes and ruin your bright future.
That's almost all I want to say. I won't talk about dissatisfaction with the school. After all, it's temporary. Although it's still very bad now, it will gradually get better. While scolding the school, everyone must put forward good suggestions for the school and contribute more to the development of the school. In the future, if anyone achieves great things, don't forget to come back, because our children may still study here, and we can't let them suffer and be wronged again.
Thank you all!
