This science of computer science and technology has deeply attracted our students. It has been in the computer system for nearly three years. I have done some thinking. I have always believed that the major of computer science and technology, in the undergraduate phase It is impossible to divide into computer science and computer technology, because computer science requires considerable practice, and practice needs technology; each person (including non-computer professional), master simple computer technology is easy (including programming), but The advantage of computer majors is that we have something that many other majors do not "deep", for example, algorithms, architecture, and so on. Non-computer professional people can easily make a chip, write a program, but they can't do a large system that the computer can make. (Talk to Situ Yanyan) Today I want to talk about computer science and will focus on calculation.
A core problem of computer theory - talking from mathematics:
I remember that I entered the school at the same year, and I have a higher mathematics every Saturday class, and I am constantly working on the day of operation (at that time it is a working system). Some students exclaimed the wrong door: What is the system of this? Yes, you didn't go wrong, this is the computer science and technology department. The tradition in my country's computer science system is to cultivate people who do academic research, especially theoretical research (direction is not necessarily problem, but doing so much). Theoretical research on the computer, said in the end, such as cyber security, graphic image, video audio processing, which direction has a big relationship with mathematics, although it is a non-mainstream mathematics in the eyes of orthodox mathematicians. Here I also want to clarify my point of view: We all know that mathematics is the theory of abstract in the actual life, people to abstract theory into theory, the purpose is to use abstract theory to better guidance practice Some mathematics research workers like to use some existing theoretical knowledge to derive several festivals. I don't know that one: I don't know how to consider it. Second: His Inference can't find prototypes in real life, it is not guided practice. Strictly said that I am not an idealist, the theoretical connection between the political class, I have always guided the navigation mark I learned about scientific and cultural knowledge (at least I think computer science and technology should be in this direction).
In fact, our computer system is not enough (typical engineering institutions generally open higher mathematics), we should learn mathematics analysis like mathematics (Tsinghua Computer is similar to mathematics), mathematics Analysis of this science, we have a complicated feelings for people who learn to work. It is in that it is a proven math course, which is very helpful for us to cultivate good analytical capabilities. Mr. Wang Yihua, the Northern School of My Software Engineering Master, has taught us that the students of the mathematics go to the software enterprises to make software design and analysis work, and the computer system is a programmer, the reason is that mathematics Students analyze reasoning skills, from the perspective of being trained. The strange phenomenon of the year is: the high school mathematics foundation of the computer system is a number of all-calios (I hope that the classmates who have not charged the other series), the number of teaching courses is only secondary to mathematics, but the effect after learning is not satisfactory. Is it a student who is not working hard, I have not seen it, the direction is wrong, it is not necessarily, why is there anything I am thinking.
My personal is: the student of the computer system, the requirements for mathematics are different from mathematics, and the difference in physical classes is greater. The so-called "higher mathematics" of the Number of Number Schools is not unrestricted to delete more difficult theories in mathematical analysis, emphasizing the set formula calculation. For the computer system, the biggest use of mathematical analysis is the theoretical part of being deleted. It is difficult to listen to it. For the computer system, the so-called "engineering mathematics" of the pursuit of calculation will have completely entered the misunderstanding. Remember the formula of a pile of spectacles, can you understand mathematics? That is better than the current check, why bother? Otherwise it is good to use Mathematics or Matalab. The most loved thing in the line is to recommend reference books for the schoolmates. Chinese mathematical analysis, generally believe that the "New Speaking of Mathematical Analysis" is the best. In case, your mathematics is so good, then see Philikan's "Subcommittees" "" " Jimmydovich's "mathematical analysis problem set" is basically a calculated stuff. The name of the book is very good, and it is not suitable for us. It is important that the establishment of mathematics thought, life we seek is efficient in the information society, calculate this stuff or leave it to the computer. However, now it seems to be a "mathematical analysis" of Fudan University is also a good textbook.
China's so-called higher algebra, is equal to linear algebra, plus a point of polynomial theory. I thought this is a good side, because you can make students feel that the algebra is a structure, not a bunch of matrices. Here, the "higher algebra", the two teachers of Lin Chengsen and Sheng Songpi, and Sheng Songbai, and feel quite comfortable. This book comprehensively contains the basic primary results of the polynomial and linear algebra, and also provides some useful and deep content, such as Sturm sequences, Shermon-Morrison formulas, generalized inverse matrices, and the like. It can be said that as undergraduates can eat this book, they can be masters. Good domestic high album materials also have the Tsinghua Computer System, Tsinghua Publishing House published, a lot of bookstores, I will know. From the viewpoint of abstract algebra, the results in the higher algebra are just some examples of algebraic system properties. Mr. Mo Zongjian's "Mathematics" is a deep discussion. However, Mr. Mo's book is very much very well. As undergraduate, I am afraid that it is difficult to accept, but I will wait until I have matured some readings.
As discussed above, the computer system has studied higher mathematics: I know that it is better to know. The purpose of your learning should be: Apply an abstract theory to practice, not only to master the questions of the problem, but also master the spiritual ideas, but to theorem: Not a simple application, but master the proof process, master theorem The origin, train your own reasoning ability. Only in this way achieved the purpose of learning this science, it also narrowed the gap between our thinking between our classmates.
Probability Theory and Mathematical Statistics This class is very important, but unfortunately, most colleges will talk less. Less things now look at at least a random process. I haven't heard of the Markov process in graduation, which is the shame of the computer system. No random process, how do you analyze networks and distributed systems? How to design a randomized algorithm and agreement? It is said that the Tsinghua Computer Department has "random mathematics" and it is a compulsory course. In addition, discrete probability has special importance to computer system students. And our country's engineering mathematics is a continuous probability. Now, the United States has already opened a simple "discrete probability" course, simply delete continuous probability, and put discrete probability. We don't have to do this, but it should be more emphasis on discrete probability. I still do it as soon as I do.
Calculation method (some schools also known as mathematical analysis) is the last class that is opened by the college. General students have limited extent to this class, thinking is nothing. Isn't it the formula! In fact, it is inseparable from the graphic image, and the password is deeply inseparable from it. Moreover, the application calculation in many scientific projects is dominated by values. This class has two extreme talks: one is classical "numerical analysis", completely speaking mathematics principles and algorithms; the other is now increasingly popular "scientific and engineering calculations", simply teaching students with software package programming. I personally think that the computer system must understand why our computer department is studying this lesson. I am very biased to learn theory and use a computer, it is best to use C language or C programming. Books that work hard to this direction is quite a lot, here is recommended by the Higher Education Press (CHEP) and Springer Publishing House (Computational Methods) ", and the Mathematics of Huazhong University of Technology (CING China University of Science and Technology), the work of Huacai University should work more in China, and individuals believe that at least the program is related to the evaluation of any mathematical function, equation, linear Equation group solution, interpolation method, numerical integral, field differential equation value is solved. Li Qingyang's principal is too strong, and it is not too tight to combine with practical applications. Every school will open a discrete mathematics, involving the collection, chart, and abstract algebra, the number of logic. However, so many contents are squeezed in a class of discrete mathematics, is it too tight? In addition, the computer system does not understand the combination and number theory, and it is also a huge defect. To do theory, you don't understand the combination or the number of dollars, it is too big. From the ideal state, it is best to separate six lessons: collection, logic, chart, combination, algebra, number. This is of course not realistic because there is not so many lessons. Perhaps you can open three lessons in the future: collection and logic, chart theory and combination, algebraic and numbers. (This, our school has already started to do it) No matter how the class is open, the students always want to learn. The above three sets of content is told below. Classical aggregation theory, Beijing Normal University, a "basic set theory" is good.
Mathematical logic, Professor Zhong Zhongwan, Chinese Academy of Sciences, is not bad for computer science. You can now find Professor Lu Zhong Wan 's lectures, http://www.cas.ac.cn/html/dir/2001/11/06/3391.htm I have to see it. Overall, learning the collection / logic starting is not difficult, and the ordinary high school students can understand. But the more you feel deeply.
After you have finished learning, if you still have a relaxation, you can try "Introduction to Axiomatic Set Theory" and "A Course of Mathematical Logic" in the GTM family. These two have an introduction version of World Book Publishing House. If you can get these two books, you can say that you really get into the door in logic, you don't have to waste time to listen to me.
It is said that there is only 30 people in China to understand the picture. This words are inevitable. This is the East, the skill is too strong, and almost every problem has a unique way to make a headache. But this is also its charm: as long as you have creativity, it can give you a sense of accomplishment. My mentor said that there is a piece of thing in the picture to write a paper. Everyone can experience the content of the content! In the domestic chart book, Wang Shuhe teacher's "chart theory and its algorithm" were very successful. On the one hand, its content is very comprehensive in domestic textbooks. On the other hand, its emphasis on the algorithm is very suitable for the computer system (originally the BRIC computer system textbook). With this book, refer to a few translations, such as Bondy & Murty's "chart" and its application "," chart theory and circuit network "such as the People's Posts and Telecommunications Publishing House, etc. enough. Further, the world book introduces "Modern Graph THEORY" with the GTM series. This book is indeed a classic! There is also a translated version of the country. However, learning this level or reading the original version. Get this book and marks the picture to the door. Discrete mathematics, our Beijing University of Technology has a world-class expert, called Shao Xuecai, Fudan University probability, teaching higher mathematics, linear algebra, probability, final turn to discrete mathematics, publication book countless, the discussion Singapore has one Ben, it is a classic, everyone wants to learn the true meaning of discrete mathematics, let's find it. This teacher's class I have been able to listen, very classic. However, you have to explore the essence from his inadvertent words. I deeply discovered a question with his conversation. Although Sham Mr. Shao wrote countless, it is almost the same, and I really feel surprised. He said that it is mainly the outline limit, and it is inconvenient to write. This is no wonder, very little I heard that foreign writing must be based on any outline (even if there is, the content is also broad), the more I don't dare to smash the pool, this is not the same. The foreign version is good, and the latest scientific and technological achievements have been discussed. Don't say anything else, at least "keep up with the theoretical knowledge of the times."
Combination feels not too suitable domestic book. Or read the classic "specific mathematics" of Graham and Knuth, etc., Xi'an University of Electronic Science and Technology Press has a translated version.
Abstract algebra, domestic classic is Mr. Mo Zongjian's "Mathematics". This book is a teaching material of Peking University Mathematics and is deeply praised. However, for undergraduates, this book is too deep. You can learn some other textbooks first, and then look back to see "Mathematics". The international classics can be more, and there is a lot of pile in the GTM series. It is recommended to talk about classics, but the simplest, easier to learn: http://www.math.miami.edu/~ec/book/ This "Introduction to linear and Abstract Algebra" is very easy to understand And combine the abstract algebra and linear algebra, which is ideal for beginners, and our school has a collection of cows.
In terms of data, there is a classic "primary diameter" in China (Pan's brothers, Peking University). Take another point, there are more classics (can be world-class) and more difficult "number of bodies" (Mr. Hua Geng's masterpiece, scientific version, nine bookstore's reprinting, "Traditional seems may be difficult). Take a basic chapter to get a probably, enough for undergraduates. But this is just the primary aumentation. After graduating from undergraduate, you must learn a number of words, you must read English, such as Bach's "Introduction to Algorithmic Number The".
The fundamental of computer science theory is the algorithm. Nowadays, there are many systems to open algorithms design and analysis, which is indeed very correct. Way to Western world, there is approximately no three-flow computer system does not use the algorithm as a compulsory. The algorithm textbook is currently recognized as the "Introduction To Algorithms" waiting in Corman. This is enough for entry, it is already enough to refer to other books. Let me talk about the form language and automaton. I have seen the textbook of Bei Post, it should be clear. However, there is a little to emphasize: the role of form language and automators is mainly used as a computational model, not to be compiled. In fact, the front end of compilation is already the field of death. No Open Problems, Dr. Ban Xiaojuan, Northern University, has also said that compiled technology is quite mature. If this is, we don't have to go to school in the form of language - what is used in Yacc. The North Post is still better in China, but in the depth, there is a big limit in conjunctive links, and modern sense is not enough. Therefore, it is recommended that you have interested classmates to read English books, but there seems to be in this regard. You can go to the interactive publishing online to see. After getting started, the model language defined in the form of the automaton is more interesting with the model defined by the recursive function in the automaton, and can be said to be very interesting. I only know now, what is "the beauty of the palace, the rich" rich "!
Computer science and mathematics have a bit strange. Two-30 years ago, computer science basically or a branch of mathematics. Now, computer science has a wide range of research and many researchers, in many ways to promote mathematical development, from a sense to say that children are growing higher than mothers. But no matter what, this child always flows through the blood of the mother. This blood is the Mathematical Underpinning of Computer Science (Mathematical Basis of Computer Science), which is the theoretical computer science. It turned out that in the Oriental University City Library, I have seen a translation in the 1970s (the book skin is gone, but I love to pay attention to this book), probably call "computer mathematics". If the book is placed at the time, it is a good book, but now it seems that the scope covered is wide, the depth is a lot, but the recommended a big student can take a look, at least make you Calculation mathematics entry.
What is the word most common and theoretical computer science? A: Discrete mathematics. The relationship between the two is so close, so that they become synonyms in many cases. (This is also reflected in the previous book) traditionally, mathematics is analyzed centered. The classmates of mathematics must learn the mathematical analysis of the three or four semesters, then the retrieval function, the real change function, the function, and so on. Realism and functional letters are considered to be a modern mathematics. In physics, chemistry, engineering applications, also analyzed.
With the emergence of computer science, some mathematics branches that have not been attached to the past are suddenly important. It is found that the mathematical objects of these branches have obvious differences from traditional analysis: the problem solution for analysis and research is continuous, and thus differentials, points become basic operations; and the objects of these branches are discrete, thus very few Have the opportunity to conduct such calculations. It is thus called these branches to "Discrete Mathematics". The name of "Discrete Mathematics" is getting loud and losing, and finally, the traditional mathematical branch of analysis-centric mathematics is relatively referred to as "continuous mathematics."
After decades of development, discrete mathematics is basically stabilized. It is generally believed that discrete mathematics contains the following disciplines: 1) Collection, Mathematical Logic and Yuan Math. This is the basis of the entire mathematics, and it is also the foundation of computer science.
2) Figure theory, algorithm chart; combined mathematics, combined algorithm. The core of computer science, especially theoretical computer science is algorithm, and a large number of algorithms are based on graphs and combinations. 3) Abstract algebra. The algebra is inexpensive, which is very important in mathematics. In computer science, people surprised that modern numbers have more applications.
However, the theoretical computer science is just that the top of "discrete" hats is simple in mathematics? It has been finally a master that I finally told us that one year ago. D. E.knuth (he has more great, I don't want to use me nonsense) Opened a new courses in Stanford. Concrete Mathematics. CONCRETE The word has two meanings here:
First: For Abstract. Knuth believes that the object of traditional mathematical research is too abstract, causing not enough attention to specific problems. He complained that the mathematics he needs in research often does not exist, so he can only create some mathematics. In order to directly facilitate application, he should advocate "specific" mathematics. Here I am doing a simple explanation. For example, in the collection, mathematician care is the most fundamental problem - the various properties of the axiom system. And some of the specific collection of nature, all common collections, relationships, and mapping are what mathematics feel that it is not important. However, in computer science, it is precisely these specific things. Knuth can first see this, it is worthy of the first person of the world. Second, Concrete is Continuous plus Discrete (discrete). Regardless of continuous mathematics or discrete mathematics, it is useful mathematics!
Theory and Real Combination - Category of Computer Science Research
The front is mainly seen from the perspective of mathematics. From a computer perspective, theoretical computer science currently the main research field includes: calculated theory, algorithm design and complexity analysis, cryptography and information security, distributed calculation theory, parallel calculation theory, network theory, biological information calculation, Calculate geometry, program language theory, etc. These areas are crossing each other, and new topics are constantly being put forward, so it is difficult to figure out a clue. I want to engage in this work, I recommend watching a series of books of the Chinese Computer Society, at least the authority of my country. Let's give some examples.
Due to the promotion of application requirements, cryptography is now a hot spot study. Cryptography is based on numerical (especially calculating numbers), algebra, information theory, probability theory, and random processes, sometimes also used in the chart and composition. Many people think that cryptography is encrypted and decrypt, and encryption is to disrupted the data with a function. Such an understanding is too light.
Modern cryptography includes at least the following levels:
First, the basis of cryptography. For example, is it really difficult to break down a large number? Can there be a general tool certificate agreement?
Second, the basic topics of cryptography. For example, better one-way functions, signature protocols, etc.
Third, high-level issues of cryptography. For example, the length, secret sharing of zero knowledge certificates.
Fourth, new application of cryptography. For example, digital cash, traitor tracking, etc.
There are also many important theoretical issues in a distributed system. For example, synchronization between processes, mutex protocols. A classic result is: When the communication channel is unreliable, there is no determination algorithm to achieve the same process. Therefore, it is almost meaningful to improve TCP three handshakes. For example, timing problems. One of the common sequences is due to fruit, but because of the ordered result, there is a theoretical result .... For example, there is no practical approach to the deadlock to perfectly. For example, ... operating system research, you will go! If the computer only has theory, it is just a branch of mathematics, not a separate science. In fact, in addition to theory, computer science has a broader sky.
I have always thought that four years is not enough to learn the basic knowledge of the computer, because the face is too wide, 8 years should be almost ...
In this respect, I want to talk about the "computer foundation" that we are universal in all schools. The "Computer Basic Course" in colleges and universities is the requirements of various professional compulsory courses stipulated in my country's Higher Education Division. The main content is to enable students to initially master the history of computer development, learn to simply use operating systems, text processing, table handling functions, and initial network application functions. However, the goal of teaching this course in the Computer Science Department will never be consistent with this. In the computer system, the target should be: let the students understand the development of computer disciplines, clearly grasp the direction of computer discipline research, the frontier of the development of each course is in the entire discipline system. Take the learning purpose, learning content, and application fields of each subject. Make students have a whole understanding of the whole discipline in the early days of the discipline, in order to learn what to learn in the future, how to learn. The location of the computer basic application skills should be placed in the second or more, as this should have this exploration ability for students in this department. this point is very important. It is recommended to give a book: New perspective of computer science, "New perspective of computer science" It is computer science.
An excellent student of a first-class computer system should not be just a programming master, but he must first be a programming master. When I go to college, the first professional class is a C language program design, and people who read a computer from a certain point of view, a considerable number of people are based on the writing program. In our Beijing Institute of Technology Experimental Academy, there has always been such a debate (there is also 9CBS today), which is the first program design language. I personally think that in which language belongs to the end, the key is to develop a good program habit. When the teacher said to us, after the foundation, I learned a new language only a week. Now I don't think it all the week at all, the premise is to put the foundation. Don't hesitate, learn to say, wait for you to choose it, others will have a few languages.
The assembly language and microcomputer principles are two-person lesson. Your mathematics / theoretical foundation is better, and it is not cheap. The order between the two classes is also better than having a chicken or the first egg. No matter which door you will learn, it will involve another class. So, I can only calm down slowly. This is a typical engineering class, there is no need to smart and epidemic, but it takes the step of water drop stone wear. It is not difficult to find in the computer bookstore. Get a few newest, look at it. The principles of the composition "Computer Components and Structure" were written by Professor Wang Aiying, Tsinghua University. Assembly language, you will take 8086/8088 into a door, and you must learn 80x86 assembly language. Practical value, no backward, structure and good, write high-efficiency viruses, high-grade language in the high-level language, the underlying development, always inseparable from him, recommend the "IBM-PC assembly language program design" of Tsinghua University Shen Mingming. Some people say that they don't want to understand the computer architecture, nor do they want to make a computer, so there is no need to learn, such as computer principles, assembly language, and interfaces. Is this reasonable? Obviously unreasonable, these things have to be mastered late sooner, they are sure to contact, and this is a few advantages compared to other professional students. When you do a project, you can understand that these are very important. It is impossible to say that just for technology, people who do only know the technology can do the most coding workers, but will never fully understand the design of the entire system, and the coding workers are more I don't pay much money. Regarding the composition of the composition, there is a question. When I learned this course, I broke the CPU work originally known as a micro-program design. The reason is that our country engages in CPU technology. It is not as good as other countries. Time is not easy to have a dragon core than the Intel's more than 100,000 miles, so we recommend that we don't want to learn. I see this, I am not seeing in each school! If he said, the Chinese computer science can stop, hardware and software, application, there are several wearables, but I can't do it, then we are sitting here? The concept of teaching needs to be transformed. The simulation circuit is East East, but now not only the computer system is could not engage in the computer system, but also the electronic student is more scared. If you really want the hardware and software to eat, then I suggest you look at Qiu Guanyuan's "circuit principle", and maybe it will look at the analog circuit in the analog circuit. Textbook: "Electronic Technology Basics" (Higher Education Publishing House) of Kanghuaguang is not bad (our school is used). Interested, you can also refer to Tong Poetry.
Digital circuits should be much better than the analog circuit. It is recommended that everyone will take a look at the "digital logic" performance written by Professor our Northern Engineering Liu Yingzhan, saying that this book has a reference value (mechanical industry publishing house). The reason is very clear, the practical value is high, and it is a feeling of "enjoying science". The book of Tsinghua University is also a good textbook. Unfortunately, the integrated circuit is less. I am really interested, take a look at the large-scale digital system design (more than the use of North Airlines).
How to teach the computer system structure, it is still arguing internationally. The better textbooks that can be found in China are Stallings' "Computer Organization and Architecture: Designing for Performance". The most popular world is "Computer Architecture: Aquant Approach", by Patterson & Hennessy.
The operating system can use the "Operating System's Nuclear Design and Implementation" and "Modern Operating System" two books. Both of these are classic, the only disadvantage is theoretical is not strict. However, this area belongs to Hardcore System, so it is also the same as the theoretical manual. If you want to see the theory, you will recommend Tsinghua University Press "Operating System". Zhang Xi, Director of the Higher Education Department, and the textbooks used. Also recommend a "Windows Operating System Principles" Machinery Press, this book is a Chinese operating system expert in Microsoft's zero-distance, writing a year, and the expert of teaching operating system has been prepared for more than a year. Almost everyone participated in the Director of the Supreme School. Bill Gates personally write. It is not only combined with Windows2000, XP details the kernel of the operating system, and there are some Windows programming foundations, there is a taste of the external book, and some of the above content can be said that there are only one book at home and abroad to have a micro-core. Introduction, if you learn the formal language first, the front end in the compilation principle I see as long as I learn four algorithms: the most easily achieved recursive decline; the best auto-down algorithm LL (K); the best bottom up Algorithm LR (K); LR (1) simplified SLR (perhaps another simplified LALR). The backend is completely engineering nature, nature is Another Story.
Recommended Textbook: Kenneth C.louden writes "Compiler Construction Principles and Practice" is "Compilation Principle and Practice" (Mechanical Industry Press Translation)
The learning database should remind everyone that it will use VFP, VB, Power Builder, not equal to the database. (This world has thought of too many people who understand the database!) Database design is both scientific and art, and database implementation is a typical project. So in a sense, the database is the most typical computer course - the combination of science and engineering, penetrates each other. Also recommend everyone to finish the software engineering and turn over and see database technology, it will be a new feeling. Recommended Textbook: Abraham SilberSchatz Waiting "Database System Concepts". As the integrity of knowledge, we also recommend everyone to see the "Data Warehouse" translation of the Machinery Industry Press.
Computer network standard textbooks are still from TANENBAUM (COMPUTER NETWORKS "(Tsinghua University has a translation). There is also a recommendation of Xie Heren's "Computer Network Tutorial" (People's Posts and Telecommunications Publishing House). However, the network is also Hardcore System, so light reading is not enough. It is recommended to read the RFC multi-read, http: //www.ietf.org/rfc.htm can download the RFC document as number. Read from IP. Waiting to master 10 kinds of common agreements, there are no few people who dare to look at you. I did another job I saw it in the network design.
The importance of the data structure is not allowed. After learning the data structure, you will have a revolutionary baptism for your programming ideas, which will have a clear understanding of how to establish a reasonable and efficient algorithm. I think everyone should pay attention to the following points for the establishment of the algorithm:
When you encounter an algorithm problem, you must first know that you have had this problem before you have handled this. If you have seen it, then you will usually make it smoothly; if you haven't seen it, consider the following questions:
1. Is the problem be built on a known familiar data structure (for example, a binary tree)? If not, you should design the data structure yourself.
2. The algorithm required by the question belongs to which type of algorithm belongs to? (Establish a data structure, modify the data structure, travers, find, sort ...)
3. Analyze the mathematical properties of the algorithms required by the problem. Is there a recursive feature? (For recursive programming, as long as the reasonable parameter table and the conditions of recursive, basically summon it.)
4. Continue to analyze the mathematical essence of the problem. According to your previous programming experience, an idea to be a possible solution, and prove the correctness of this solution. If the title has a time-space request, you have proved your ideas Meet the requirements. General, time efficiency and spatial efficiency are difficult to comply. Sometimes they must save time by establishing a secondary storage method .5. Through a period of analysis, you have some ideas for solving this problem. Or Said that you can use the natural language to briefly describe your algorithm. Continue to verify its correctness, try to find the mistakes and find a solution. When necessary (discovered the contradiction that cannot be solved), overthrow your idea Since the beginning of the head.
6. Confirm that your ideas are feasible, start writing programs. In the process of writing code, try to take detailed, careful, and careful. The program should have a good structure and is commented in key places.
7. Hold an example, then perform your program with a pen on the paper, further verify its correctness. When encountering the case that does not match your ideas, the reason for analyzing the problem is the programming problem or algorithm ideology. problem.
8. If the program is verified by the above correctness, then further optimize or simplify it.
9. Write ideas, annotations.
For specific algorithm ideas, you can only rely on yourself through your own knowledge and experience, there is no specific law (otherwise the programmer can be laid off, you can use the machine to generate the code). You must have a rich imagination Force, when a road does not pass, don't drill the horn pointed, you must dare to overthrow your idea. I am just a beginner, say some of the experiences, for everyone's reference and discussion.
Regarding artificial intelligence, I think it is also very worth studying. Although it is impossible to have just a discipline, it is absolutely very developing a discipline. One of my country's artificial intelligence founders, Professor, Beijing University of Science and Technology (this old gentleman is my mentor Li Xiaoyun's mentor) to artificial intelligence: artificial intelligence is imitating, extensioning and expanding the intelligent technology science of people and nature. Education in the United States artificial intelligence official website made the following definition of artificial intelligence:. Artificial Intelligence, or AI for short, is a combination of computer science, physiology, and philosophy AI is a broad topic, consisting of different fields, from machine vision THE ELEMENT SYSTEMS. The Element That The Fields of Ai Have In Common Is The Creation of Machines That Can "Think". The problem of this study is probably:
(1) Symbolism: Symbol calculation and program design foundation, knowledge expression method: knowledge and thinking, generating rules, language network, first-order word logic problem solving method: search strategy, heuristic search, search algorithm, problem statute method, Predicate calculation: Candidation principle, the analysis of the expert system: the method and tools for establishing an expert system
(2) Connectionism (Neural Network School): 1988 US authority pointed out: database, network development has risen straight, and neural networks may be the only way to solve artificial intelligence.
I want to learn about artificial intelligence, you must do not learn to analyze the problem, it is best to learn to analyze the problem, it is best to use the program design to achieve, here is the best Dr. Award winner, Dr. Xiaoyuan Works "Artificial Life Method of Artificial Fish - Computer Animation" (Tsinghua University Press). Classmates who engage in artificial life will not know the internationally renowned father. The book about artificial intelligence is the first choice "Artificial Intelligence A New Synthesis" NILS J. Nilsson. Nasal ancestors!
About network security, I also want to say two sentences here. With the development of computer technology, the information level of the entire society has leap forward, and the computer network technology has changed, and the network has become an indispensable part of the field of society. As long as there is a network Network security issues are a problem that must solve it. Learning network security is not a simple collection of some hacker tools black and black, but to learn his mathematics principle, achieve principles, to engage in the underlying working mechanism, so Can solve most of the existing problems and new security issues. About Computer Science Some Edge Science I would like to talk about software engineering technology, for a company, launch software is not a few programmers sit together, you write a program, I wrote a program? Obviously not. Software engineering is a comprehensive synthesis of typical computer science and mathematics, management science, psychology, sociology. It enables us to engage in theory and technology into a society. What you have to consider is not just the advantages and disadvantage of the program, but should consider the difference between the program and software, the difference between software and software products, how to make a better communication between software software products. I am still in the study stage. I will write the article in this regard. I recommend it to everyone. Books: "Moon Moon Myth" in 20 years (Tsinghua University Chinese version, China Electric Press Capital Edition), " Software Engineering - Method of Practitioner Research "(Mechanical Industry Press Machinery)," Human Parts "(It is said that each Microsoft department manager has read this book, recommended the old and the classmates who want to be the boss to see," Learn about what people in software companies) and Microsoft's "Science and Art" of Software Development "and" Software Enterprise Management and Culture "(research software enterprises have greatly study Microsoft's successful experience!)
About computer technology, I think it is: Any one of the schools has its lag, don't always think that a certain technology you have mastered is already invincible in the world, although now Java, VB, C, C There are a lot of use, how can I guarantee that there is no downtown day, I think the birth of the .NET platform and the beginning of the X # language can completely explain the problem. In other words, in our mastery of new technologies, there is an updated technology, as a contemporary college student should have the quality of the scientific development. For example, like some classmates always say, I like to write HTML directly, don't be willing to use FrontPage, Dreamweaver. It is very good to write a web page, but have an efficient means why do you not make it? Just to show your own level, unique? I think the truth level is the person who can accept new things at the fastest speed. The development of advanced programming languages has changed their day. The future program design is like people talking, I think everyone should experience it from XML. Do we really write anything to use compilation to show your level, it is better to write directly to the machine language. Conversely, it is necessary to accept and use the new technological key at the fastest speed.
Computer technology involves more widespread, one, I am afraid that there is no one, and I can't say clearly. I just want to remind everyone that the saying, technology and science cannot be homed, learn to engage in technology at the same time, this is the upper policy. It's like English, the original exchange of people must be translated, and now people in the road will speak English. Even the champion of the 21st Century English Speech Competition is not a student of the English Department. The computer is also the same, and one of the reality we must face is: the computer is just a tool. If there is no other literacy, the computer system is not able to say that it can't find a job, but there is always one day in other professional talents. Mastering computer technology is much better than us. The reason is that most of the computer solution is actual problem, and the knowledge of actual problems is less. Single computer technology is not based. I want to point out: Before studying every course, you must first learn the purpose of this course. The application area of this discipline. According to the learning status of the same age classmates and the low-grade classmates yourself: "There are very few people who know a discipline, and the final exam is not known to learn this department. This lost the meaning of reading computer science. Of course, this doesn't say a little relationship with existing educational thoughts.
Overall I think the key issue is that domestic colleges and universities are difficult to break through the status quo, and the frame box limits how to develop. Although we recognize the superiority of foreign education, why can't you take action? Even if you take a little bit of crowd. We need to change. From our point of view, most people have neither learned the academic level of computer science, nor to learn computer technology. At my big time, my computer science introductors, Professor Wang Aiping, Huaibei Coal Teachers College, has said such a word to me: "When you choose a computer, it means that you embark on it. Return to the road, it means that you have to fight for it ... your back is a cliff, only to go forward, you can't retreat back. "
Some students say that there are too many things in this study. Some have not seen it. I want to play an image: the people learned from the school are a sphere, and the knowledge of all aspects should be available. However, there is very little place in society, but it is needed to be bricks and tiles, that is, those who are proficient in a certain line. However, for the same volume of object, it is the most convenient and most organic to use the sphere. There are many students' students. In order to enable more students to adapt to this society, the school must not build all students into a sphere, and then let the society processes these students and become a talent that is really useful. Even if you are very clear about your future, and very determined to take your own way, this step must go, the world is constantly changing, you can't predict the future. I want to know, try to do it!
This "Hu Wei" must be ended, and then it is not my strength. In fact, there are still many basic courses that are worth it. How can I have limited efforts, I don't dare to make the laughter. Finally, statement: These are only for learning in the undergraduate phase. Even if these are all, the front road is still long, computer science requires us to fight ... Learn computer science requires toughness, more innovation, need passion. A deep learning of theoretical knowledge, courage to accept new technologies, this is the quality of our generation should have. Finally, I will send you a sentence "Wake Up Every Day with a felease of passion for the Difference Technology Will Make In People's Life!".
In my big time, I accidentally found the post of Nanjing University netizen sir "Hu Wei (theory) computer learning", this post has a vital role in studying my university, and it is also quoted when writing this material. Less view. Another time, every time and the Situ Yanyan, you can learn a lot from the middle school, and there is a lot of reflection in this material. And each classmate since the release technology is sincere. This material is one of the speeches of my experimental school for new students' s education. I have improved the theory I think that I don't think is not appropriate, and I have amended some views. I have a better understanding of the teaching materials. Change. It is worth mentioning that the content of some computer theory is added, and the content of computer technology combines my country's teaching situation and the actual situation of our study. The work made here is only to write the students and students' learning experience and what I think when I think about computer science, it is very immature. The aim is to hope that students who have just entered school or learning computer science have not yet gotten out some suggestions. It is possible to play a lot of role in failure, but it will help the students' learning computer science and technology. I hope everyone criticizes the correct. Binders: Seafrog May 13, 2003 12:06:00
Well, learn computer theory, and have a profound experience.
Comment: Chu Yun May 13, 2003 12:09:00
The landlord, I decided to put your post to other places, 嘿嘿 ...
Comment: Zolo May 13, 2003 12:10:00
Still learning theory, don't worry, when you are eliminated, who dares to say that the high is going out?
Binders: JPAddle May 13, 2003 12:15:00
If you don't do a certain height, you can't find a job.
Binders: Zengyi820 May 13, 2003 12:16:00
According to this major in the undergraduate phase, it is impossible to cut into computer science and computer technology. The learning technology does not contact theory. My student tells me that I can only do coding workers, our learning theory can't learn technology, This point is also right, but it is not possible for us to do higher, the theory is not touching. The difference between master's degree and master's degree is here. There are too many connotations accommodated by computer science, and work is also a five-flowers, just see where you are and which work, computer typography is also computer workers, Gates is also, just want to see what you want.
Binders: ZENGYI820 May 13, 2003 12:17:00
Write such a sentence on every bag of Microsoft: Creating the future of human calculations! The Microsoft's development team can do what we can do. The employees of the general enterprise must not be. Cause: very simple, everyone is here without .Net, how to use it. A simple question who wrote the source code of this function, how to achieve it is the most efficient, one is a design compilation environment, one is to use the platform, the latter can only follow the front of the butt, why is the Chinese software industry can only Everyone should always have some ideas in the third level level! In a word, we should struggle in the Knowledge Reserve Stage, but this does not mean that only theory theory, the article said at the beginning, the theory will lose the meaning of the existence, the theory should guide the practice, The reason theory is to better implement technology. Let us work together to create the future of China's computer business.
Comment: Nefu May 13, 2003 12:18:00
Your "Computer Science and Technology Record (Full Version)" I also read. I am a student who is about to graduate this year, but also learning computer. The method of learning computer in your text is really good, but it is not suitable for everyone, you can say that it is not suitable for most people. The reference book you are listed, every book is heavy (I have a fortune to read some), so many books, I want a person to finish alone, too well, too hard to be too difficult . If you really do this, I can only say that you are extremely high. It is not goodbye to see these books. If you are willing to spend 8 years to fully study the basic knowledge, I dare to say that after 8 years, you don't necessarily be an academic Thai in China's computer world (I said that you don't want to be angry, no malicious). Comment: Nefu May 13, 2003 12:18:00
Why did foreign computers walk in our front, foreign learning methods and us very different, Mr. Yang Zhenning has said that foreign students can reach the forefront of a research field in a very short time, but their foundation may not Solid, however, they will come back to make up. Chinese computer development, people who need to engage in research, but they can't cultivate people who engage in research.
Binders: Nefu May 13, 2003 12:19:00
To a large extent, it is necessary to cultivate a large number of people who can achieve theory. The genius is only so much. If everyone will cultivate the genius method, they can only destroy science. If the best programmers in the world, if he makes him to do the research, I don't think there is anything. And let the best scholars write a program, may not be as a intermediate programmer. However, if the best programmers plus the best scholars, China's computer science can have great progress. The above is some of my personal opinions. I hope to communicate with you :)
Comment: Zengyi820 May 13, 2003 12:20:00
Hello there! First of all, I think I must say: Thank you for your busy schedule to read the article I wrote, and have made a lot of thinking, some of the views in your letter I fully agree. In fact, my original intention to write this article is not to let people engage in computer, first I want to be consistent with your ideas: there is no need. Any 龉 疾 恍 阊 缒 闼 闼 闼 学 学 学 学 学 时间 学 学 学 知 知 知 知 知 知 知 知 术 术 术 知 知 知 知 知 术 术 知 知 术 术Thai! I am fully agreeable.
Comment: Zengyi820 May 13, 2003 12:21:00
In fact, this article is one of the documents that I have sorted out when we have a new students in our school. Every year, every year, I will use 2 豢 袢 袢 ? 0 to the 80s our university education is elite education, and enter In the 1990s, university education can only be considered a popular education. The reason is very simple: expansion. Now the graduate education and undergraduate education have a significant difference to: the problem of notifying. Learn what u really nesed. I often say this for my schoolmates, but it is tight of a very real problem: What do you really ned? They don't know.
Binders: Zengyi820 May 13, 2003 12:22:00
Just like many mathematics students, when they enrolled or never wanted to engage in computer at the moment, they were sitting in various world famous enterprises. Most of the software designers have mathematical background, and the students of the computer system are large. It is necessary to be affected by their leadership. Dr. Li Kaifu, Microsoft Group, I think you should be very familiar. His granaming in Microsoft is the problem of speech recognition with probability and statistical principles. Many of the computer system have many opportunities in the company in the company, they can get praises from the boss, don't tell you, I also have. But as far as the people I have come, the question is that they can do very well, but they can do how high, this is a problem. Binders: Zengyi820 May 13, 2003 12:22:00
The biggest difference between special education and undergraduate education is also here. Professor Wang Yihua, a very famous mathematics computer software engineering expert, said: "If you want to be a senior programmer, there is no need to read undergraduate, and the specialist is" what is specialist: answer, specialize. What is the key: answer, professionalization. They all made a position: Learn What u really need. But this is the most different undergraduate place. Bachelor's curriculum settings are very unreasonable, one sentence: useless. But just like you have a lot of knowledge in junior high school, this is a process of thinking training. The reason why students of mathematics is doing is because they are at least they have rigorous thinking and have strict reasoning ideas.
Comment: Zengyi820 May 13, 2003 12:23:00
Considering the problem will think more than us. These we don't do it, but we emphasize to learn what you need. Never I want to think about what you need. What do you really need? I think there is only a specific work or occupation you have this ability. Just like my netizen, I also saw this article later. He is the Lenovo Group IT R & D Department. I asked him that you now think what is the most useful course in the college stage: answer, not well said, why, A: The difference between the career needs too far. Even if the profession is the same, what needs in different work is sometimes very different.
Comment: Zengyi820 May 13, 2003 12:24:00
I asked him how he thinks it is to learn what you are interested in. Because students around me are often escaped to learn what they call themselves. His answer is: ok, then what do you do to do? I thought I was very good, you feel useful! Is the national high-tech company is not as good as you? God! (Oh, I am often so embarrassed.) In order to give you an example: In the network security field, the green alliance should be a household name, and their main staff is a water high school student. The monthly salary is not much lower than Levono and Microsoft, but they can only use ready-made technology, and they can really engage in network security solutions or undergraduate: why: abstract ability is different, the thinking angle is different.
Comment: Zengyi820 May 13, 2003 12:24:00
I am not said that the ability of college students and the high-quality skills. It is said that the direction of education is different. The purpose of different education is to have different people. Different people are engaged in different occupations. The problem is now very clear. I think you may have worked, or like my classmates, many times, I have learned what I think useful. If an undergraduate is decided to do a normal programmer, OK, then another thing. It is not easy to do programmers! Our school has taken a company project. This project is white, it is a MIS system, but the bid is no one in one year, why? The reason is that many of the principles of artificial neural networks are used inside. General companies can't do it. Later, our school was taken, and it was completed as scheduled. Who is this? Don't marry you, the mathematical model of mathematics. We are implemented in accordance with abstract models. Binders: Zengyi820 May 13, 2003 12:25:00
The reason why I said that I have learned the basic knowledge for 8 years is because some experts and college teachers don't really do this. Just telling you that we should do things, because we know too little. Just want to be a young classmate who is impetuous like me. I will never deny your point of view: I need to cultivate a large number of people who can achieve theory. The reason why science, or science is to apply theory to practice in practice. I am very agreed in this point. Today, I am afraid that there are too few people who can make tips in the future, and there is no. This article is telling the truth, not writing to everyone, just wants to be academic atmosphere. Drug everyone is doing things.
Comment: Zengyi820 May 13, 2003 12:26:00
My article is called "Computer Science and Technology Record", there is a saying: "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " It will only focus on computer science. As you said, many computer technology issues will have a comprehensive discussion among my other articles. The reason is not in this article is: I am Just a beginner. Some problems are now still in understanding, thinking. I am still a student, but also needs constant learning. Hey, I think I have the ability to watch computer technology, I will explore you first and you.
Comment: Zengyi820 May 13, 2003 12:26:00
In the letter, the discussion of the problem, there is no other meaning, and the deferses are impressed. I hope we can become good friends. In addition, I want to put our conversation to the forum. I don't know if you agree. There is also where you are seeing my post, because my post is posted, I don't know if I have. I hope that you can pointed to me in the future, or that sentence I am Just A Beginner. I have too little thing. Finally, if you are a student, I wish you learn something! If you are a brother that has already worked, I wish you a smooth job!
Binders: Noah May 13, 2003, 12:29:00
Personally think that mathematics affecting computers is an aspect. More important is a decisive impact on the development of computer science. Although the development of computers for a long time seems to be the mutual coordination of hardware and software, but the idea of program storage computers is proposed by mathematicians. The question is whether there will be better computer design ideas, which may depend on mathematical progress and mathematician efforts. Computers have highly dependent on mathematics workers and computer workers to work together from technology to scientific. So if the computer's development is seen from the scientific height, the role of mathematics is obvious.
Binders: Zengyi820 May 13, 2003 12:32:00
The above is to reprint some of the students of each school in 9CBS, streamline some post, as a supplement to the article.
Comment: Zengyi820 May 13, 2003 12:54:00
The above is the article that is reproduced in the 9CBS. Some comments from each university, streamline some posts, is supplemented to the article, I hope everyone will discuss, express their opinions. Comment: Gucheng May 15, 2003 22:17:00
Classic, classic .....
Binders: Pengtao82711 May 29, 2003 1:16:00
Zengyi820, Hello, an accidental opportunity, I saw this "computer science and technology to learn anti-thinking", and they have a deep touch. Thank you, sincere gratitude. I am now studying in the second grade of the Chinese People's Liberation Army Logistics Engineering, the second grade of the computer system, will graduate next year. I used to learn a few technologies to find a job, but now I have a deeper intention, just like Professor Wang Aiping has said: "When you choose a computer, it means With you, you can't return it. It means that you have to fight for it ... you are a cliff, just go forward, you can't retreat back. "Although there is still a year, you graduated, but a lifetime The time is still very long, I will embark on this not return, and struggle for it. Thank you.
Binders: Pengtao82711 May 29, 2003 1:31:00
Thank you again, I am going to send your article to all my computer class, although we are a specialist, but if we all give up, who will save us? However, at least I have saved myself, I should say that I am awake, I have never been very skinless about the computer, I have had a lot of funny practices you mentioned in the article, I am sorry for this. I am sorry for this. But I will not have any more in the future, never have any more. The field of computer science and technology is too wide. The students of each computer system do should first learn the computer theory and make a solid foundation. I hope that everyone will publish this article to more people after reading this article. For China's computer industry, in order to progress across the computer, I hope everyone can work hard, and hope that all computer areas or will be stepped into the computer. Friends in the field can achieve great success in the computer field.
Binders: Pengtao82711 May 29, 2003 1:37:00
ZENGYI820, when I first saw your article, I thought you were the old seniors in the computer field, I didn't expect. . . . . . Are you also born 82? I am very glad to meet you, my name is Peng Tao, Chongqing, and now I am studying in the Logistics Engineering College. I admire you, I have such a high accomplishment, I hope to make friends with you. My QQ number: 39672630, email: pengtao82711@163.com. I hope you can reply as soon as possible.
Binders: Zengyi820 May 29, 2003 3:12:00
Hey, thank you very brother to praise, but I have to say a fact that computer science is profound, now there is a classmate and seniority of the flying network to get into the door, I am also charged to be a beginner. Also folded my life, let my seniors have seen it Hurt.
Comment: YoungWoo June 1, 2003 22:34:00
After reading it, I will inspire a lot
Comment: UI June 5, 2003 16:13:00
UIU
Comser: Ximen Blowing on June 5, 2003 16:17:00
I have broken here, I found a lot of people in the Northern Workers' Dragon, this younger brother, so young, but the understanding of computer science is very profound. However, the article's point of view, I also think that it is just some of the students, suitable for talents who are interested in basic theory. Computer science and technology are profound and profound, people's energy time is limited, it is difficult to master all basic theories. Most people still go to learn some of the theories needed for their skills. Comment: June 19, 2003 15:38:00
Theoretical contact is actually learning!
Comment: Microsoft-Lee June 21, 2003 15:47:00
It is not the same! So it is still powerful! Go back to think about it! Thanks!
Commerce: yangyang303 June 23, 2003 12:59:00
The younger brother is also the 02-level telecommunications. Read the school, the tide is ignorant. During the "SARS" period, students' learning life had greatly changed. The most prominent is the change in the form of teaching. For leaving school students, an anti-traditional face-to-face teaching is mainly to understand the teaching content and teaching requirements through the network. Because of more autonomy, most students should be able to have a planned to learn, and some students learn "crazy", and some students play "crazy". And through this exciting text, positive reflection on his own professional and positioning, undoubtedly the university and leader of this period. Ocean sprinkles into one, this is a heart, leader. It is worth our new classmates. During this time, there is no such creative result, but I also insist on what books, compare, I am still very far!