The science of computer science and technology has deeply attracted our students. On the computer system, there have been nearly three years. I have done some thinking, zero star, today I first finish, everyone Do you use it, I think that the major of computer science and technology is not possible to divide computer science and computer technology in the undergraduate phase, because computer science requires considerable practice, and practice needs technology; Each person (including non-computer professional), mastering simple computer technology is easy (including programming), but the professional advantage of computer is, we have something that many other majors do not "deep", for example , Algorithm, architecture, and so on. Non-computer majors can easily make a chip, write a program, but they can't do a large-scale system that computer majors can make. Today I want to talk about computer science and will focus on calculation theory. Remember that the next year, just on the undergraduate, higher mathematics every Saturday class, every day operations (at the time of the six-day work). 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 our department is to cultivate people who do academic research, especially theoretical research. And calculate the theoretical research of the machine, saying that it is mathematics, although it is a non-mainstream mathematics in the eyes of orthodox mathematicians. In fact, our computer system math optics is not enough. We should want to learn mathematics in the school system. Mathematics analysis of this stuff, our people have a complicated feelings of it. It is that it is biased to prove the math courses, which is very helpful for us to cultivate good analytical capabilities. The strange phenomenon of the year is: the computer system is a high school mathematics foundation in the full arrament (I hope that the classmates who have not charged other systems), the number of teaching hours is only second to the mathematics, but the effect after learning is almost the last one. Where is the reason, what is thought-minded? I personally see: Students in computer classes, the requirements for mathematics are different from mathematics, and they are even greater. The so-called "higher mathematics" of the Number of Number Schools is not unrestricted to delete the more difficult theories in mathematical analysis, emphasizing the set formula calculation. For the computer system, the most used in mathematical analysis is the theoretical part of being deleted. It is difficult to listen, and the so-called "Engineering Mathematics", which is the so-called "Engineering Mathematics" that is pursuing for the student. Remember the formula of a pile of curved scores, can you understand mathematical analysis? Chinese mathematical analysis, generally believe that the "mathematical analysis of mathematics analysis" is the best. In case, your mathematics is too good, then see Fife Golden Corz's "Subcommittees" is good - but I think there is nothing necessary, after all, you don't want to go to mathematics. Jimmydovich's "mathematical analysis and learning set" is basically a calculated stuff. If you plan to test the "Engineering Mathematics", you can do it. Otherwise, don't do it. China's so-called higher algebra, it is equal to linear algebra, plus a point of polynomial theory. I thought this is a good side, because the students can feel that the algebra is a structure earlier, not a bunch of matrices. Nanjing University Lin Chengsen, Sheng Song's two teachers edited the "higher algebra", it feels quite comfortable. This book comprehensively contains basic primary results of polynomial and linear algebra, and also provides some useful relatively deep content, such as Sturm sequences, Shermon-Mrison formulas, generalized inverse matrices. It can be said that as undergraduates can eat this book, they can be masters.
Domestic more than good higher algebra materials also have the Tsinghua Computer System, Tsinghua Publishing House published, and there are a lot of bookstores, and I will know how to look at it. From the viewpoint of abstract algebra, the results in the higher algebra are just some examples of algebraic system properties. Mr. Zongjian's "Mathematics" is a deep discussion. However, Mr. Mo's book is very deep. As a book, Kosheng is impossible to accept it, may wish to wait until you have matured some readings. As discussed above, the computer system student learning 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 idea of solving the problem. For the learning of theorem: not a simple application, but a certificate The process is the origin of the theorem, and trained self- Probability Theory and Mathematical Statistics This class is very important, but unfortunately there are few things. Less things are randomous. 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 network 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, the discrete probability has special importance to the computer system. Now, the United States has opened a simple "discrete probability" course in some schools, and simply delete continuous probability, and put discrete probability. We don't have to do this, but it should be more emphasis on discrete probability. The calculation method is the last class to give us a class by mathematics. General students have limited extent to this class, and it is not used. In fact, doing graphic images can be inseparable from it. Moreover, in many scientific projects, the application calculations are mainly based on the value. This class has two extreme talks: one is classical "numerical analysis", fully speaking mathematics principle and algorithm; the other is now increasingly popular "scientific and engineering calculations", simply teaching students with software package programming. I personally believe that the student of the computer system must understand why our computer department has to learn this lesson. I am very embarrassing to use a computer after learning theory. It is best to use C language or C programming. achieve. . However, so many contents are squeezed in a class of discrete mathematics, is it too tight? In addition, the computer system is not understanding the combination and number theory, and it is also a huge flaw. 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 not realistic because there is not so many lessons. Maybe you can open three lessons in the future: collection and logic, chart theory and combination, algebraic and numerical. Regardless of how the class is open, students will always learn. The above three sets of content is told below. classical set theory, North Normal University has a "basic set theory". Mathematical logic, Nanjing University Lu Zhong Wan teacher "Mathematical Logic for Computer Science" is good. In general, learning collection / logic starts, but then, the more it feels deeply unspeakable. After learning the above books, if you still have a serious interest, you can try "Iduction to Axiomatic Set Theory" in the GTM series and "a course of mathematical logic". These two have the introduction of the world book.
If you can get these two books, you can say that you really enter the door in logic, or you don't have to wait again. 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, almost every question is a unique method, and people have a headache. But this is also its charm: as long as you have creativity, it can give you a sense of accomplishment. So there is no good to say, carefully analyze the questions. In the picture book book, Wang Shuhe's teacher's "chart" and its algorithm "are 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 a comprehensive textbook for BRIC). With this book, refer to the "chart theory and its application", "chart theory and its application", the translation of the postal and telecommunications, etc., Undergraduates are sufficient. Further, the world book introduces "modern graph the ty" in the GTM series. This book is indeed a classic! There is also a translated version of the country. However, learning this level, or read the original version. Get this book, also marked the picture to the door, huh, huh. Discrete mathematics, our Beijing University of Technology has a world-class expert, called Shao Xuecai, and the probability of Fudan University, called higher mathematics, linear algebra, probability, and finally turned to discrete mathematics, publishing countless, The episode of the paper has a book, which is a classic. Everyone wants to learn the true meaning of discrete mathematics. The teacher's class is specially going to hear, very classic. However, you have to explore the essence from his inadvertent words. The combination feels not too suitable. Or read the classic "specific mathematics" in Graham and Knuth, etc., there is a translation version, west electricity. 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, 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 classic, but it is the most simple, the easiest to learn: http://www.math.miami.edu/~ec/book/ this "Introductionto Lin pear and Abstract Algebra is very easy to understand, and combines abstract algebra and linear algebra, it is ideal for beginners. But please pay attention to the copyright issue, don't violate the law. In terms of the number, 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 to guide "Mr. Hua Lugeng, Science version, nine chapter bookstore). Take a basic chapter to get a probably, enough for undergraduates. But this is just the primary altogenation. After graduating from undergraduate, you must learn to calculate, you must read English, such as Bach's "Introduction to Algorit ]HMIC Number theory. The root of theory computer is the algorithm. It is indeed very correct to open an algorithm design and analysis to undergraduate students. around Western world, about 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 for Corman. This is sufficient for entry, this is enough, no need to refer to other books. The final form language and automaton are said in the form.
I have seen the textbook of Bei Post, it should be clear. However, there is a little stronger: the role of form language and automators is mainly used as a computational model, not to be compiled. In fact, before compilation, the end is already a dead field, and there is no open problems. If this is for this, we don't have to go to school in the form of language. "It is finished with Yacc. Then, in the depth, there is a largest bureau in the depth, and the modern sense is not enough. Therefore, it is recommended that you interested students to read English books, but there are not many English books, and the country does not seem to introduce the textbooks in this area. After getting started, the model defined by the form language and the automaton is more interesting in the model, and the number of models defined in the recursive function. It can be said that it is very interesting. I only know now, what is "the beauty of the palace, the 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 more than mothers. But no matter how, this child always flows through the mother's blood. This blood is the Mathematical UnderpiNning of Computer Science (Mathematical Foundation of Computer Science), and is the theoretical computer science. Another cross for modern computer science and mathematics is to calculate mathematics / numerical analysis / scientific calculations, which are traditionally not included in computer science. Therefore, this paper is ignored to the computational mathematics. What is the word most common and theoretical computer science? A: Discrete mathematics. The relationship between the two is so secret, so that they become synonyms in many cases. Traditionally, mathematics is analyzed centered. The mathematics department has the same math analysis of the three or four semesters, then the retrieval function, the real change function, the function, and the like. Real transformation and functional entries are considered to be modern mathematics by many people. 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 has been found that this branch has a significant difference between the mathematical objects and the traditional analysis: the problem of analyzing research is continuous, and the differential, points become basic operations; and the objects of these branches are discrete And there is little opportunity to perform this type of calculation. It is thus called these branches to "Discrete Mathematics". The name of "Discrete Mathematics" is getting loud and loud, and the traditional mathematical branch of analysis-centered mathematics is relatively called "continuous mathematics". The discrete mathematics has been developed for decades, basically stabilized. It is generally believed that discrete mathematics contains the following disciplines: 1) set theory, mathematical logic and metamodology. This is the basis of the entire mathematics, and it is also the foundation of computer science. Figure theory, algorithm chart; combined mathematics, combined algorithm. The core of computer science, especially theoretical computer science is to establish a large number of algorithms based on the graphs and combinations. 3) Abstract algebra. The algebra is inexpensive, which is very important in mathematics. In computer science, people are surprised to have a lot of application. However, the theoretical computer science is just that the top of "discrete" hats is simple in mathematics? It has been until the big about ten years ago, one master finally told us: not. D. e.knuth (he has more great, I don't want me to talk nonsense), in Stanford, I opened a new course concrete Mathematics.
The word Concrete has two levels here: First, for Abstract. Knuth believes that the object of traditional mathematical research is too abstract, resulting in a specific problem. He complained that the mathematics he needs in the study often did not exist, so he could 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. Some of the nature of the specific collection, all common collections, relationships, mapping, mathematicians 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 world's first computer. Second, Concrete is Continuous plus discrete (discrete). Regardless of continuous mathematics or discrete mathematics, it is useful mathematics! The front is mainly from mathematical perspectives. From a computer perspective, theoretical computer science currently main research fields include: calculated theory, algorithm design and complexity analysis, cryptography and information security, distributed calculation theory, and calculation theory, network theory , Biological information calculation, calculation of geometry, program language theory, etc. These areas are crossing each other, and new topics are constantly being continuously proposed, so it is difficult to draw a short clue. The following will mention some examples. Due to the promotion of application needs, cryptography is now the hotspots of research. Cryptography is based on numerical (especially), algebra, information theory, probability theory and random processes, sometimes also used in the chart and composition. Many people think that cryptography is encrypted and decryption, and encryption is to disrupted the data in a function. This is a big mistake. Modern cryptography includes at least the following levels: the first, cryptographic basis. 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, the 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. In distributed systems, there are many important theoretical issues. For example, synchronization between processes, mutex protocols. The result of a classified version is that when the communication channel is unreliable, there is no determination algorithm to achieve the same process. Therefore, it is almost meaningless to improve the TCP three . For example, timing problems. One of the commonly used sequences is due to fruit, but because of the sequence until shortly, there is a theoretical result .... For example, there is no practical approach to the deadlock to perfectly. For example, ... you will go! If the computer is only 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 believed that four years is not enough to learn the basic knowledge of the computer, because the face is too wide ... this area I want to talk about the "computer foundation" we are universal in all schools. Opening a "Computer Base" in colleges and universities is a compulsory course requirement for the various professional compulsory courses stipulated in my country's Higher Education Division. The main content is to enable students to initially understand the development history of the machine, learn to simply use the operating system, text processing, form processing functions, and initial network application skills. 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: allowing students to understand the development of computer disciplines, clearly grasp the direction of computer discipline research, and the frontier of each course is in the entire discipline system. Take the learning purpose, learning content of each subject, and the application area. Make students have a whole understanding of the entire 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 second. this point is very important. Recommended to everyone: "Computer Culture" of Machinery Industry Press, I saw this book, you are learning what it is, 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 the computer are quite a considerable approach to a certain angle. The previous year has a debate in the computer system of our Beijing University of Technology Experimental College, which is the use of the first program design language. I personally think that in which language belongs to the end, the key is to develop good program habits. When the teacher said to us, after the foundation, I learned a new language only a week. Now I think it is basically a week - premise is to put the foundation. The assembly language and microcomputer principle are two-person lesson. Your mathematics / theoretical foundation is better, and it is not cheap. This order is also the order between the two classes. If you have a chicken, you will have an egg, no matter which door you learn, you will also involve another class. So, I can only calm down slowly. This is a typical engineering class, there is no need to smart and epidemmon, but it is necessary to have a water drip stone wear. It is not difficult to find in the computer bookstore. Get a few newest, the control is looking at it. The principle of the composition "Computer Composition Principle" Tsinghua University. Assembly language, you will take 8086/8088 into the door. After that, you must learn 80x86 assembly language practical value, no backward, structure and good, write efficient viruses, high-level language in the high-level language, underground development, total Also inseparable from him, recommend the "IBM-PC Compilation Language" of Shen Mingming in Tsinghua University. Some people say that they don't want to understand the computer architecture, nor do they want to make a computer, so such as computer principles, assembly language, interface classes don't have to learn, so reasonable? It is obviously unreasonable, these things will be paid to the palm, and 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 only for technology, people who only understand the techniques are mostly coding workers, but will never fully understand the design of the entire system. The more I encodes workers are more and more worthless. analog circuit This East East, not only the computer system students can be made, but most of the electronic students are more scared. If you really want soft hardware, then I suggest you look at Qiu Guanyuan's "circuit principle", maybe it will look at the analog circuit in the air. Textbook: "Electronic Technology Basics" (Higher Education Press) (Higher Education Press) of Kang Wahous "is not bad. Interested can also refer to the book of Tong poetry. The digital circuit is much better than the analog circuit. It is recommended that everyone will see "Digital Logic", "Digital Logic", written by Professor of our Northern Engineering, said that this book has a reference value (mechanical industry publishing house). 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. How to teach in computer system structure, internationally arguing.
The better textbooks that can be found in the country are Stallings' "compuctual Organization and Architecture: Designing for Performance" (Tsinghua Photos). The most popular international is "Computer Architecture: Aquant Approach", by pa_tterson & hennessy. The operating system can use Tanenbaum's "Operating System 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. I want to see the theory, I recommend Tsinghua University Press "Operating System", Mr. Migratory Director Zhang Xi said, and our textbooks are that. If you first learn the form of form, the front end of the compilation principle I see as long as I learn four algorithms: the most easily achieved recursive declined; the best self-turning algorithm LL (K); the best self The 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: Aho et al. The famous Dragon Book: "Compilers: Principles, Techniques and Tools". Or Appel "Modern Compiler Implementation In C". The first meaning of the database is to tell you, will Use VFP, VB, POWER Builder, etc., etc. is not equal to understanding the database. (This world is too much to understand the database, too much!) Database design is both scientific and art, and the database implementation is a typical work. So in a sense, the database is the most typical computer class - the combination of science and engineering, penetrates each other. In addition, I recommend that you have finished learning software engineering and then turn over and see database technology, it will be a new feeling. Recommendations Textbooks: SilberSchatz, et al., "Database System Concepts". As the integrity of knowledge, it is also recommended to see the "Data Warehouse" of the Machinery Press. Computer network standard textbooks are still from TANENBAUM "Computer Networks". However, the network also belongs to the Hardcore System, so light reading is not enough. It is recommended to read the RFC multi-read, read from IP. Wait until 10 kinds of left right-use agreements, there are no few people who dare to see you. About artificial intelligence, I think it is also worth studying. Although it is not a discipline that has just been promoted, it is absolutely very developing a discipline. One of the founders of my country's artificial intelligence, Professor, Beijing University of Science and Technology (this old gentleman is my tutor Li Xiaoyun's mentor) for artificial intelligence: artificial intelligence is imitation, extension and expand people and nature Intelligent technical science.
In the US artificial intelligence, the artificial intelligence is defined as follows: Artificial Intelligence, OR AI for short, is a combination of comp - machine science, physiology, and philosophy. Ai is a Broad Topic, consistic, consisting of d (1) Symbolism: Symbol computing and program design foundation, knowledge expression method: knowledge and thinking, generating rules, 语 语 网, first-order word logic problem solving method: search strategy, heuristic search, search algorithm, problem statute liter, neural network may be the only way to solve artificial intelligence. I also want to say two sentences here, with the development of computer technology, the information about the entire society is outline, the computer network technology has different new months, and the network has become an indispensable composition of all work in society. Part, As long as there is a network, network security issues are a problem that must solve it. Learning network security is not simple to collect some hacker tools black and black, but to learn his mathematics principle. The principle of realization, engage in the bottom of the work mechanism, so that most of the existing issues and new security issues can be solved. About Computer Science Some Edge Science I would like to talk about software engineering technology, for a company, launching software Is it a few programmers, you write a program, I wrote a program? Obviously not. Software Engineering is a comprehensive computer science and mathematics, management science, psychology, sociology, etc. He is our theory and technology people entered a society. I am still in the study stage. I will write a post in this regard. I will recommend it to everyone. Books: "Moon Moon Myth" in 20 years (Tsinghua University Chinese version, China Power Press, China Electric Press Co., Ltd. Edition), "Method of Software Engineering - Practitioners" (Mechanical Industry Press), "People" and Microsoft's Science and Art "and" Software Enterprise Management and Culture "(Research The Win of the Software Enterprise is to study Microsoft's successful experience!) This subject should be used in the field. According to the learning status of the same age classmates and the low-grade classmates, they are very little known to the study of a discipline. The end of the exam is not known to learn this department. This loses the meaning of the computer science. Overall, I think the course arrangement of the domestic school is not very reasonable. Most people have neither learned the academic level of computer science, and there is no learning of computer technology.