Computer Science and Technology Study Attraction (Repost)

xiaoxiao2021-03-05  25

This science of computer science and technology has deeply attracted our students. It has been in the computer system for nearly three years, and I have made some thinking.

Originally, regardless of domestic or foreign countries, I like to divide this system into computer software theory, computer system, computer technology and application. Later, it turned together to become a current computer science and technology. I have always believed that this major of computer science and technology is impossible to cut into 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 the original Major self-righteous programming), but computer professional advantages are: we have something that many other majors do not "deep", for example, algorithm, architecture, etc. . 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. Today I want to talk about computer science and will focus on calculation theory.

1 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 department is to cultivate people who do academic research, especially theoretical research (the direction is not necessarily there, but doing so much "). Theoretical research, in the case, such as network safety, graphics, video audio processing, which direction has a lot of relationship with mathematics, although it is perhaps 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 math is only in good quality (typical engineering institutions generally open higher mathematics), we should learn mathematics analysis like the mathematics department (the Tsinghua computer is like a mathematical analysis, we The school computer college is also open, but the teacher said that it is still in accordance with higher mathematics), mathematics analysis of this science, our people have a complicated feelings about it. It is a mathematical course that is biased towards the certificate, which is very helpful for our cultivation of good analytical capabilities and reasoning skills. 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 training above our average. 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. Usually, the higher mathematics of the non-autologous professional, is nothing more than deleting more difficult theories in mathematical analysis, emphasizing the set of formulas. 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 Mathematica or Matlab. After tens of thousands of steps, even if I am learning higher mathematics, I think everyone will see Mr. Hua Lugeng is much better than the general textbook. Hua Luogeng doesn't have to say more in mathematics, but he is the most important thing for us, the most important thing to say: First, it is the Chinese Academy of Science Research Institute, this is our country Computer science cradle. In addition, he gave a lot of higher math theory to the technical staff of industrial production, promoting the progress of the Chinese industry. The third is that he has written a lot of books in his life, but the value of teachers and students in colleges is that he wrote "higher mathematics introduction" during the hospital and his fantasy king dollar during the disease (Wang Yuan and it is him. " The love is not as good as his colleague. It is the older generation of student of the Chinese Academy of Sciences. The whole world is only in the world. This book is actually found in our library, to tell the truth, then that The book is already a bug, others will come to it, but I am particularly interest, I have seen it over and over, my biggest harvest is not the theoretical elaboration but is his theory complete instantiation. , Go to the model in life. This is why I prefer the reason for specific mathematics, as I mentioned above, the theory is out of practice, I lost its meaning. It is because theory is abstract from practice, so the theoretical research can better guide practice, and the theory that does not guide practice can be said to be worthless. The most loved thing in the line is to recommend reference books for the schoolmates. There is no other idea, just want them to walk less. Chinese mathematical analysis, generally believe that the "New Speaking of Mathematical Analysis" is the best. Zhang Zhaosheng wrote a lot of books, but as long as every one written is a masterpiece in the field, this is certainly more prominent. This kind of old book seems not only to teach you knowledge, but let you experience the scientific method and the understanding of things. In case, your mathematics is very good, then go to "Phi Helgorz's solution" is good - but I think there is nothing necessary, after all, you don't want to go to mathematics. Jimmydovich's "mathematical analysis problem set" is also basically a computational book. 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. But now it seems to be the "mathematical analysis" of Fudan University, and the higher education publishing house 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 be eaten, it is a master. 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.

[2] Computational mathematical basic probability theory and mathematical statistics This class is very important, but unfortunately, most colleges will have less things. 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 know why our computer department is studying this lesson. I am very biased to learn theory after learning, it is best to use the 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. Mr. Li Qingyang's principle is too strong, and it is not too tight to combine with practical applications. It may be more suitable for pure theory. . 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, ttp://www.cas.ac.cn/html/dir/2001/11/06/3391.htm you go 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 science is too strong, and there is a unique approach to almost every problem. But this is also its charm: as long as you have creativity, it can give you a sense of accomplishment. My mentor said that I can write something in the picture. Everyone can experience the content of the content! In the domestic chart book, Wang Shuhe teacher's "chart" and its algorithm "were very successful (by the way, Mr. Wang's" Mathematics Idea History ", individual thinking to understand the scientific history will play a lot of learning and research effect). 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. Absolutely 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, learn this level, or read the original version (To tell the truth, mainly to experience the shortcomings of the translation version, this everyone can experience itself). 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 a discussion. Don't say anything else, at least. Quot; follow the theoretical knowledge of the times. "

The original discrete mathematics and data structures were collected together into discrete mathematics. Later, due to the content of the data structure, it was out of date, but recently, there were certain universities to merge them together, and the truth is certainly not used, maybe consider crossing The part is more. I have seen "Discrete Mathematical Structures", Tsinghua University Press has a photocopy.

[4] Renewing other calculation mathematics combined mathematics, I see the first book, I donated to our college, a foreign book. It feels not too suitable for domestic books. Or read the classic "specific mathematics" of Graham and Knuth, etc., Xi'an University of Electronic Science and Technology Press has a translated version.

"Combined Mathematics", "Space Analysis Geometry" also has the "Topology". It is extremely cost-effective when it looks at these three books. The reason is a few, the first is that these three books have no exception. Writing, the second is that the book is really too dirty. I look at the library's seat. The students are far away from me. I am very unnatural, I don't want to affect my classmates, but the school will not let the school borrow this book (huh, it is very interesting, others don't look at this book, only I am watching, the teacher is specially paying attention to me. Later, I told him the value of these books. He actually regarded them as a treasure of the shock, but the teacher is not allowed to borrow, but then they look like I really like it, just borrow the book to me, of course It is the name of the curator to borrow.) But the harvest is very big, and then many things in the computer theory are often used. Of course, if you haven't seen these books absolutely understand that level. Take the Tuology, our school seems to be the United States to open this course, but the importance of this course is obvious. I didn't expect that there are some reading notes in many pages of the book, and that notes Authors and some attainments, some ideas can be used in modern network design. Abstract algebra, domestic classic is Mr. Mo Zongjian's "Mathematics". This book is heard that the Textbook of Peking University School 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 the fact that there is a classic and difficult to say the frozen    摹  摹 摹 摹 邸? (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. What is deep is TAOCP known as common sense. That is, "The Art of Computer Programming" 3 volumes can be seen in the world, and Gates once said. "If you can understand the things above, please send me your resume. A "My Chief Secretary, Nan Xiong, once again bought this book from the American Trustee, not to mention, it can be seen in our computer science and technology system.

Let me talk about the form language and automaton. I have seen the textbook of Bei Post, it should be clear. There is a good book, and MIT's "Introduction To Heory of Computation". 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 The calculation mathematics entry, that is, at least you can use mathematics to use where computer science is used.

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 me to say anything) I opened a new course 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 as long as it can be hung hooks with us.

2, theory and actual combination - The science and technology research of computer science and technology is mainly 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, 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, 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 is a "application cryptography" worth recommending to see the episode of the annual meeting. It feels that this material is relatively practical and will increase soon.

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 there is a theoretical result because of fruit or shortly .... For example, the deadlock does not have a practical method can be perfectly dealive. 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 been thinking that four years is not enough to learn the basic knowledge of the computer, because the face is too wide, if you are learning, I think that at least 8 years will make you have certain scientific literacy ...

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. Scientific Press, "Calculation Science Introduction" (Mr. Zhao Zhizhu) can be said to have a lot of attempts in college computer education reform, which is also a book in this area.

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.

[1] Specially talking about computer systems learning 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. Our school now has a school brother to specialize in the design of the CPU. It usually communicates a lot. It is found that he can apply the software design idea to the chip design. I am really good, I am afraid that I am afraid to be strong than those who are daunting. The discipline of the analog circuit, not only the computer system is indefinite, 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 to see "Digital Logic" written by Professor Liu Yinchen, Beijing University of Technology. The results of the performance have said 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. [2] Some other professional course operating systems can use "Operating System's Nuclear Design and Implementation" and "Modern Operating System" Book. 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. It can be said that the theory is related to the complex, which is his experimental guide, the operation system, the same discipline is the same as the program design, not to try something, I am afraid it is difficult to do. Also recommend a "Windows Operating System Principles" Machinery Press, this book is for my country's operating system experts for half a year in Microsoft zero, writing a year, and the top professor of teaching operating system has been in addition to Tsinghua University. (The Director of the Senior TECD) has participated in many experts. 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. Introduce.

If you first learn the form, you will see the front end of the compilation principle. I only 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. At least some basic concepts and description methods have a deep understanding, such as data dictionary, E-R. 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, http://www.ietf.org/rfc.html can be downloaded to 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. For the establishment of algorithms, I think everyone should pay attention to the following: When encountering an algorithm problem, we must first know that he has had this problem. If you have seen it, then you will generally be successfully made; if you haven't seen After that, 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 is below? (Establish a data structure, modify the data structure, traversal, find, sort ...) 3. Mathematical properties of the algorithm required to prepare the problem. Is there a recursive feature? Recursive programming, as long as the reasonable parameter table is designed, it is basically unified.) 4. Continue to analyze the mathematical essence of the problem. According to your previous programming experience, imagine a possible solution, and Prove the correctness of this solution. If the topic has the time-space requirements of the algorithm, you have proved that your idea meets its requirements. General, time efficiency and spatial efficiency are difficult to comply. Save time to save time by establishing auxiliary storage .

5. Through a period of analysis, you have some ideas for solving this problem. Or you can use the natural language to briefly describe your algorithm. Continue to verify its correctness, try to discover the mistakes and Find a solution. When necessary (discovers the contradiction that cannot be solved), overthrow your idea, start thinking from the beginning.

6. Confirm that your ideas are feasible, start writing programs. During writing code, do various issues should be considered in detail and carefully. The program should have a good structure and are included in a critical place. 7. To give an example, then perform your program with a pen on the paper, further verify its correctness. When you encounter a situation with your ideas, the cause of the analysis problem is the programming of programming or the algorithm ideology. 8. If the program is verified by the above correctness, then further optimize or simplify it. 9. Write ideas, comments. 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, using the machine automatically generates code) ). To have a wealth of imagination, when a road is not going, 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 TO EXPERT 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 programming foundation, knowledge expression method: knowledge and thinking, generating rules, language network, first-order word logic problem solving method: Search strategy, inspiration Search, search algorithm, problem protocol method, predicate calculation: Candarings Rising straight lines, neural networks may be the only way to solve artificial intelligence. About the neural network school, now a lot of development phases. 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. In general, the research of information security is still very deepest, which is relatively deep in the process of using the .NET platform developed in the nearest Microsoft Cup Processing Competition in the MY E-Business Fairy.NET.

[3] Chatting Software Project About Computer Science Some Edge Science I want to talk about software engineering technology, for a company, launch software is not a few programmers sit together, you write a program, I write 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 "Software Development" and "Software Enterprise Management and Culture" (research software companies "can of course study Microsoft's successful experience!) After the above book, combine some team projects you have, some of my deeper experiences: 1. How Important A Plan Is for a Project Development.2. How to Communicate With your team members in a More effective Way.3. How To Solve Unexpected Situations.4. The importance of unification.5. The Importance of Doing What You Should DO.6. The Importance of Designing Before Programming.7. The importance of management.8. The importance of thinking what your teammates think.

We should have the following capabilities during software development: 1.like it is you would like to do it.we believe That your attitude toward your work will definitely makess Great Effect ON the project.2.the spirit of group working.take myself AS An Example. I am Just A Part of The Team, Just A Little Part. You. Mounce A Little That You Are Just A Member of The Team, But Your Effort Will Change Your Project A Lot.3.Passionwith PASSION, You CAN do your job in a more effective way.4.The ability of solving unexpected problems.5.Learning New things in a very short timeIt is the basic requirement for we computer major to learn new technology.6.CreativityThe tools are changing. As for us, what's more important is to use these new tools and technology to enable people and businesses throughout the world to realize their full potential.7.The ability to do your work independently.Every member has his own business. In a team, your work Cannot Be Replaced by Others' So You Must Do Your Business Well in Order To Assure The Project Developments .

Some specific team spirit in development should have: <1> Success and Failure is not one person's effect.Your team's success is not the contribution of a single person Success contributes to the whole team If your project failed, it also is not.. just because of one person's poor work. It is also your failure. <2> Learn from each other.Every person has his own specialty. Even Bill Gates can not know all the things about software development. We often learn from each other and gains a lot The old saying goes like this:. There must be one out of three who can be your teacher In our team we say:. Every person is your teacher <3> Help those who have problems Use the group working spirit to overcome.. all the difficulties.There is no need to explain it As the old saying:.. Two heads are better than one We always find it difficult to solve all the problems just by oneself <4> Praise them who have got some improvement.In. Our Team, I Always Praise The Members by Solved ONE PROBLEM, AND THINY THIN K That IS INTERESTING AND GAINS A LOT. BECAUSE THE CAN See Their Efforts. <5> Say Something If Needed. This is an experience in the software contest, and everyone is also communicating, but it can not be said, software engineering said The book in this 2000 page is not much, I am too shallow, no longer doing too much discussion.

[4] Talk about the problem of learning attitudes About computer technology, I think it is true: Any one of the school opened has its lag, don't always think that some of the technology you have mastered is already in the world. Although there are many java, vb, c, c, c, c, how can be guaranteed to not be eliminated, I think the birth of the .NET platform and the beginning of the X # language, I can 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 or is to grasp the level of the computer. 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. Computer science is profound, I am just an initiator. 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 found out the post of Nanjing University netizen sir "Hu Wei (theory) computer learning", this post has a vital role in studying my university, and later, some exchanges, write this The material also references a lot of views and has obtained SIR support. Another is that every time and this department of Situ Yanyan, you can learn a lot from middle school, and there are many embodied in this material. This material is that I originally changed my learning in the experimental college to make a big change in the recommendation of the textbook. 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. Still, computer science is profound, I am just an initiator, I hope that everyone will criticize.

转载请注明原文地址:https://www.9cbs.com/read-35104.html

New Post(0)