(Rpm), a computer cow's experience, it comes to computers and mathematics, it is practical

https://blog.csdn.net/ctrigger/article/details/93218931
Computer Science and Technology Reflections on record

Those of us deeply attracted students of computer science and technology in this science for nearly three years on the computer system, and he did some thinking, I always thought that computer science and technology of this profession, at the undergraduate level impossible to cut into computer science and computer technology, computer science needs because quite a lot of practice, but practice requires technology; everyone (including non-computer professional), simple to master computer technology is very easy (including programming), but computer professional advantage is that we have many other professionals do not "get to the bottom" of things, for example, algorithms, architecture, and so on. Non-computer professional who can easily make a chip, write a program, but they can not make a computer professional can make out large-scale systems. Today I want to talk specifically computer science, with emphasis on the theoretical calculation.

A central problem in computer theory - mathematical talk:

I remember freshman enrollment, six hours of mathematics per week, continue to work every day (that time is six days work system). Some students exclaimed quite wrong door: We read this in the end is what line? Yes, you did wrong door, this is the Department of Computer Science and Technology. Department of Computer Science in our country's traditional culture is doing academic research, particularly theoretical study of people (not necessarily the direction in question, but did not so satisfactory). The theoretical study of the computer, the final analysis, such as network security, graphics and video learning, video and audio processing, which direction to have a great relationship with math, though perhaps non-mainstream orthodox mathematical mathematician's eyes. Here I would like to clarify one of my point of view: We all know that the mathematical theory is abstracted from real life, the real reason why people want to abstract theory, the purpose is to want to go out with abstract theory guiding practice better some researchers like to use some of the mathematical existing theoretical knowledge to derive several pieces of inference, not knowing that one: failure to consider the issue is likely to be a wrong inference, and the second: his reasoning can not find the prototype in real life, can not guide practice. Strictly speaking, I am not an idealist, the political class in school theory with practice has been a beacon to guide me to learn scientific and cultural knowledge (at least I think that engage in computer science and technology should be in line with this direction).

In fact, we learn mathematics optical computer science mathematics is not enough (typical engineering colleges are generally opened higher mathematics), we should learn about the same as the Department of Mathematics, Mathematical Analysis (Tsinghua University Department of Computer Science is like the opening of mathematical analysis), mathematics analysis of this science, computer science people have very mixed feelings about it. That it is biased in favor of the proof-of Mathematics, which develop good analytical skills very helpful to us. My mentor Beigong software engineering Mathematics and Physics of Mr. Wang Yihua once taught us that the Department of Mathematics to students in most of the software companies for software design and analysis, and computer science students to do the majority of programmers, the reason is that mathematics student at analytical reasoning ability, from the point of view of his training is far above us. Then appeared strange phenomenon: high school math foundation of computer science students at the school one of the best (hope I did not offend students of other departments), second only to the number of hours teaching mathematics, but the effect is not satisfactory after completion. Are all students do not work hard, I might not see, also said that is not necessarily the wrong direction, which why, thought-provoking.

My humble opinion is: Students of computer science, mathematics course with the requirements of the Department of Mathematics different, the difference is even greater with physics. Usually non-mathematics of the so-called "higher mathematics", is nothing more than mathematical analysis more difficult by deleting the theoretical part, stressed apply the formula to calculate it. While the Department of Computer Science, the most useful in mathematical analysis is precisely the theoretical part were omitted. To put it bluntly, for computer science students, Suanlaisuanqu pursuit of so-called "engineering mathematics" has been completely into the errors. Remember the formula pile surface integrals, we are able to understand the mathematical calculation? It would be better now with the current investigation, so why bother remember it? Or else directly with Mathematics or Matalab better.

My favorite thing to do in the department is to give music.brothers recommended reference book. Chinese book of mathematical analysis, generally considered to Peking University students build Zhang teacher "Mathematical analysis" for the best. In case your math is really good, then go to 菲赫金哥尔茨 of "Calculus course" Okay - but I think no need, after all, you do not want to go to the Department of Mathematics. Jimmy ** odd "Mathematical Analysis Problem Set" is basically a type of computing stuff. Great fame of the book, not appropriate for us down, then again, it is important mathematical ideas, living in the information society we are seeking efficient, computer calculation this stuff or leave it. But now it seems to be a multi-use "mathematical analysis" Fudan University is also a very good teaching.

China's so-called advanced algebra, linear algebra is equivalent to add a little polynomial theory. I think this has a good side, because you can let students feel the earlier algebra is a structure rather than a bunch of matrices over and over again. Here we must mention the Nanjing University Lincheng Sen, Sheng Songbo two teachers arranges "Advanced Algebra", I feel very comfortable. This book contains a fairly comprehensive basic primary results for polynomials and linear algebra, while also providing some useful and relatively deep content, such as Sturm sequence, Shermon-Morrison formula, generalized inverse matrix, and so on. It can be said, if they can find out exactly what this book as an undergraduate, you can count master. Domestic better advanced algebra textbook Tsinghua University Department of Computer Science as well as with that of this, Tsinghua University Press, bookstore lot, to see that. From the point of view of view of abstract algebra, advanced algebra in the result but a few examples of the nature of the algebraic system only. Mr. Mo Zong Jian "algebra" in, which had a profound discussion. However, Mr. Mo's book is really very deep, as an undergraduate, I am afraid it difficult to accept, may wish to wait until after its own mature some read.

As discussed above, the computer science students to learn mathematics: know these to know why. The purpose of your learning should be: the abstract theory into practice again, not only to master the problem-solving approach the subject, but also to grasp the problem-solving ideas, learning theorem: It is not a simple application, but to master the proof of that is mastered Theorem origin, training their reasoning skills. The only way to achieve the purpose of learning the science, but also narrowed the gap in thinking between our students and the Department of Mathematics.

Probability theory and mathematical statistics The course is very important, but unfortunately this course will teach little something most institutions. Fewer things look now at least random process. To graduation I have not heard Markov process, which was computer science students shame. No random process, how you analyze networks and distributed systems? How to design randomized algorithms and protocols? Tsinghua University Department of Computer Science is said to open the "random Mathematics", has long been a required course. In addition, discrete probability theory has a special importance for computer science students. And we are talking about national engineering mathematics continuous probability. Now, the United States has opened some schools simply "discrete probability theory" course, simply deleting the continuous probability, the discrete probability speak deep. We do not have to do this, but should be more emphasis on discrete probability is no doubt. I see this work as well or as soon as possible.

Calculation methodology (some schools also called mathematical analytics) is the last one by the Mathematics and Physics courses open to us. Students in this course generally limited degree of attention, that is not helpful. Is not set according to the equation it! In fact, doing graphic images can not do without it, engage in deep cryptography can not do without it. Moreover, the application of computing in many scientific project, are to values-based. This course has two extremes of argument: one is the classic "value analysis" completely speak mathematical principles and algorithms; the other is now increasingly popular "Scientific and Engineering Computing", simply teach students to use programming package. I personally think that computer science students must understand clearly why the students in our computer science to learn this course, I am very biased in favor of computer-implemented after learn the theory, it is best implemented using C or C ++ programming language. Books efforts in this direction or with a lot of, here recommend the Higher Education Press (CHEP) and "calculation method (Computational Methods)" Springer-Verlag (Springer) jointly published by the Department of Mathematics, Huazhong University of Science wrote (now Huazhong University of Science and Technology), China HKUST this regard the work done in the country should be more, and to think this is best, at least the programming aspects involved: the evaluation of any mathematical function, Solving equations, linear equations, numerical interpolation method, numerical integration, differential equation solving field. It is this theory of Li Qingyang too strong, too tight and could not be combined with practical application.

Each school this department will open a discrete mathematics, involving set theory, graph theory, and abstract algebra, mathematical logic. However, so much content to squeeze in a discrete mathematics course in college, whether or not time is too tight point? In addition, the Department of Computer Science students do not understand the combination and number theory, it is a huge flaw. Do theory, number theory, or do not understand the combination may suffer too. From the ideal state of view, it is preferable to separate six courses: a set of logic, graph theory, composition, algebraic number theory. This is certainly unrealistic, because not so many hours. Perhaps in the future we can open three courses: a collection of logic, graph theory and combination of algebra and number theory. (Which we have started school started to do) No matter how open class, students learn to be always the same. The following were to talk about the contents of the above three groups.

Classical set theory, the Beijing Normal University had a "set theory" Yes. Mathematical logic, professor CAS software Zhong Lu million for "mathematical logic for computer science" pretty good. You can now find Professor Lu Zhong million for lectures video, http: //www.cas.ac.cn/html/Dir/2001/11/06/3391.htm go and see. Overall, the study set / logic hands is not difficult, ordinary high school students can understand. But the more backward the more unfathomable feeling.

After completion of the above study book, if you have the energy to go into further interest, you can try GTM series "Introduction to Axiomatic Set Theory" and "A Course of Mathematical Logic". This has two World Publishing's introduction of version. If you can get two of this, it can be said in terms of the real logic into the door, you will not have to waste my time listening to the Xiakan.

It is said that the whole of China only a maximum of thirty people understand graph theory. This remark is true. This graph theory stuff, tricky too, almost every problem has a unique approach to headache. But this is precisely its charm: As long as you have the creativity, it can give you a sense of accomplishment. My mentor said, pulling a random graph theory there something you can write papers. We can appreciate the breadth and depth of content inside of it! Domestic graph theory book, teacher Wang Wo "graph theory and algorithms" very successful. On the one hand, the content of textbooks in the country in the count very comprehensive. On the other hand, it is ideal for computer-based (originally HKUST Department of Computer Science textbooks) to emphasize the algorithm. With this book mainly, referring several books of translations, such as Bondy & Murty of "Graph Theory and Its Applications", Posts & Telecom Press translation of "graph theory and circuit network," and so on so-so, for undergraduate students enough. Still further, there is the introduction of the World Book GTM series of "Modern Graph Theory". This book is really classic! Domestic as if there is a published translation edition. However, this level learn, or read a good original. Get this book, also marks the graph theory into the door.

Discrete mathematics we Beijing Experimental Polytechnic University has a world-class expert, called Shao Xuecai, Fudan University probability theory graduate, teaching advanced math, linear algebra, probability theory, and finally turned to discrete mathematics, published works numerous papers Singapore has a this, classic, we want to learn the true meaning of discrete mathematics might get a look. This is dedicated to my teacher's class heard, very classic. But you want him to go casual, then tap the essence. In his conversations with them I found a profound problem, although Shiu numerous writing a book, but according to his own account per copy are similar, I really feel surprised, he said that the main outline is limited, the inconvenience and writing. It is no wonder, and rarely heard but also abroad to write a book based on what the outline (even if there is, the content is broader and more), dare not deviate, this is not to see who are the same. Good external version of the book is like here, which has discussed the latest scientific and technological achievements, they will not speak anything else, at least "theoretical knowledge keeping with the times."

Feeling not too suitable combination of domestic book. Or read Graham and Knuth, who co-authored the classic "concrete mathematics" it, Xi'an University of Electronic Science and Technology Publishing House has translated version. Abstract algebra, domestic classic Mr. Mo Zong Jian "algebra." This book is Beijing University Department of Mathematics textbooks, won praise. But for undergraduates, the book is a bit too deep. Can first learn some other materials, and then come back and look "algebra." Classic international but much, GTM series where there are a lot. Recommended not to mention a classic, but the most simple
single most easy to learn: http: //www.math.miami.edu/~ec/book/ this "Introduction to Linear and Abstract Algebra" is very popular Easy understand, and abstract algebra and linear algebra together, ideal for beginners, our school students have more cattle collection.

Number theory, domestic classics and with difficulty known "elementary number theory" (the Pan Brothers, North edition). And then a little retrospective, as well as more classic (can be considered a world-class) and more difficult "number theory guide" (Mr. Hua's masterpiece, Science, reprinted nine chapters bookstore, traditional look can be difficult). The chapters of the foundation to get a general, in terms of undergraduate enough. But this is only on the number of elementary. After college to learn computational number theory, you have to look at the book in English, such as Bach's "Introduction to Algorithmic Number Theory".

Fundamental theory of computer science, that algorithm. Now many department open to undergraduate algorithm design and analysis, indeed quite right. Looking around the Western world, no more than about a third-rate computer system without the algorithm as compulsory. Textbooks currently accepted algorithm to Corman waiting for the "Introduction to Algorithms" is the best. For starters, it is sufficient that this, do not need to refer to other books.

Let me say Formal Languages ​​and Automata. I've seen BUPT materials, should also speak and write clearly. However, one thing to emphasize: the role of formal languages ​​and automata mainly as a computational model, rather than to do the compilation. In fact, the compiler front-end is already dead areas, no open problems, Dr. Xiao-Juan NTUT class also once said, compiler technology has been quite mature. If for this, we absolutely no need to learn the formal language - with what would be finished with yacc. BUPT that this is still relatively good in the country, but in depth, on the Contact computability have greater limitations, modern inadequate. It is recommended that interested students to read books in English, but the country did not seem to introduce materials in this regard. You can go online to see interactive publishing. After entry, the recursive function definitions defined in formal language and automata model, using logic and mathematical model comparing some, can be very interesting. Now I know, what is "rich beauty of the palace, the King's"!

Strange relationship between computer science and mathematics. Two or three decades ago, computer science is basically a branch of mathematics. Now, computer science has a wide range of research fields and many researchers, in many ways, in turn, promote the development of mathematics, in a sense can be said that children grow higher than a mother. But anyway, this child who has always been the mother's blood stream. This blood is the mathematical underpinning of computer science (mathematical foundations of computer science), that is, theoretical computer science. In the original Oriental University City Library I have seen a translation of the seventies (book cover is gone, but I love this attention book), probably called "computer math." If that book was placed in terms of decision is a good book, but now it seems, covering fairly broad, the depth is a lot of difference, but recommended freshman students can look down, at least you can make Getting into mathematical calculations.

What are the most common and theoretical computer science put together a word? A: Discrete Mathematics. Relationship between the two is so close that they become synonymous in many occasions. (This is also reflected in the front of that book) Traditionally, the mathematical analysis is centered. Department of Mathematics students to learn three or four semesters of mathematical analysis, then the complex function, the real variable function, the pan function and so on. Consolidation and functional by many people think is the entry of modern mathematics. Applications on physics, chemistry, engineering, and to analyze the main.

With the advent of computer science, some of the attention before the branch of mathematics is not suddenly important. It found that these branches deal of mathematical objects with the traditional analysis of a clear distinction: the problem analysis solution is continuous, and thus differentiation, integration become basic computing; and the object of study of these branches are discrete, and thus little We have the opportunity to make such calculations. So people call these branches as a "discrete mathematics." "Discrete Mathematics" name louder and louder, and finally lead to the analysis center of the traditional branches of mathematics are relatively known as "continuous mathematics."

Discrete Mathematics After decades of development, essentially stabilized. Generally believed that discrete mathematics includes the following disciplines:

  1. Set theory, mathematical logic and metamathematics. This is the basis of mathematics and the foundations of computer science.
  2. Graph theory, algorithms, graph theory; combinatorial mathematics, combinatorial algorithm. Computer science, especially in theoretical computer science is the core
    algorithm, and a large number of algorithms based on a combination of maps and on.
  3. Abstract algebra. Algebra is ubiquitous, have been very important in mathematics. In computer science, it is surprising to find that the algebraic yet there are so many applications.

However, theoretical computer science is just above in mathematics with "discrete" hat so simple? Until about a decade ago, finally has a master tell us: no. DEKnuth (how great he was, I do not think I nonsense) in the Stanford opened a new course Concrete Mathematics. Concrete word has two meanings here:
First: abstract terms. Knuth believes that traditional mathematics study objects too abstract, leading to the specific issues of concern not enough. He complained that he needed mathematics often does not exist in the study, so he had to create himself some math. To directly facing the needs of the application, he wants to promote "specific" in mathematics. Here, I do a bit of simple explanation. For example, in set theory, mathematicians are concerned about the most fundamental problem - the various properties of class axiom system. And some of the specific nature of the collection, a collection of various common, relationship, mapping is what mathematicians think is not important. However, the application of computer science, exactly what these specific things. Knuth can first see it, it deserves to be the first person when the computer world. Second, Concrete is Continuous (continuous) plus discrete (discrete). Whether continuous or discrete mathematics mathematics, mathematics is useful!

The combination of theory and practice - computer science category

The main front is from a mathematical point of view. From the computer point of view, the main areas of research in theoretical computer science include: computability theory, algorithm design and complexity analysis, cryptography and information security, distributed computing theory, parallel computing theory, network theory, bioinformatics computing, computational geometry, programming language theory and so on. These cross-cutting areas, and new issues continually raised, it is difficult to sort out a clue. Want to get engaged in this work, it is recommended to see the China Computer Federation series of books, at least on behalf of the authority of our country. Here just a few examples.

Due to promote the application requirements, cryptography is now a hot research. Cryptography based on number theory (in particular, computational number theory), basic algebra, information theory, probability theory and stochastic processes based on graph theory and is sometimes used in combination of science. Many people think that cryptography is encryption and decryption, and encryption is to use a function to data upset. Such understanding is too simple and obvious.

Modern cryptography at least the following levels of content:
First, cryptography foundation. For example, the decomposition of a large number really difficult? Whether there is general agreement tools prove correct?
Second, the basic issue of cryptography. For example, one-way function better than before, signing agreements.
Third, advanced cryptography issues. For example, the length of zero-knowledge proof, secret sharing method.
Fourth, new applications of cryptography. For example, digital cash, traitor tracing.
In a distributed system, there are many important theoretical issues. For example, synchronization, mutual exclusion protocol between processes. A classical result: when the communication channel is not reliable, the algorithm can not determine the type of interprocess synergistic. Therefore, to improve the TCP three-way handshake is almost meaningless. Such as timing problems. Sequence is commonly used as a causal sequence, but the causal sequence until recently only a theoretical result ... for example, there is no practical way deadlock can perfectly cope. For example, ... OS studied on their own to move it!

If your computer has only theoretical, but it is a branch of mathematics, and not become an independent science. In fact, in addition to theory, computer science, there is a wider sky.

I always think that four years is not enough to learn the basics of the computer, because the surface is too wide ...

This regard, I would like to talk about our common schools opened in the department "Computer Basics." The creation of "basic computer courses" in colleges and universities is the professional compulsory course requirements enshrined in the Division of Higher Education. The main content is to enable students to master the initial development of computer history, learn to use a simple operating system, word processing, forms processing and initial network applications. But Professor Department of Computer Science at the goal this course must not consistent with this. In computer science courses should aim to: allow students a more comprehensive understanding of the development of computer science, computer science clearly grasp the direction of research, development of frontier that is, each course fits into the overall disciplinary system status. Find out the purpose of learning various subjects, learning content, applications. So that students learn early on discipline have an overall understanding of the whole subject, to learn to do what is clearly the future of learning, how to learn. Location basic computer application skills should be placed or further back in second place, because this is for the students of this department should have the ability to explore. this point is very important. Recommend to you a book: Machinery Industry Press "computer culture" (New Perspective of Computer Science), read this book before I deeply appreciate he is still a beginner in computer science, only more thorough understanding of what computer science. Also a lot of ZHAO Zhi cut in the classical theory of Xiamen University teacher book "Introduction to Computational Science," which are in the same books hard to find. He may look at you will understand a fundamental question: Why computer science called computational science is more accurate. This book can also be a boutique level of work in the world.

Outstanding students a first-class computer science should never just a programming expert, but he must first be a programming expert. When I was in college, the first professional courses is a C language programming, computer read people some ways considerable number of people by writing a program to eat. In our experiments Department of Computer Science School of Beijing University of Technology has been in such a debate (on CSDN Today there), the first programming language on which the use. Personally, I think, in what language belongs to the margins, the key to develop good programming habits. The teacher then said to us, to lay the foundation after learning a new language as long as a week. Now I feel there is no need for a week, the premise is to first lay a solid foundation. Do not hesitate, learn to say, and so you choose well, others will have several of the language.

Assembly language and computer theories are two special classes annoying. Your math / theoretical basis for better, they accounted for less than what is cheap. Order between the two courses are also like the chicken or the egg, no matter which door you first learn, in the course will involve another thing. Therefore, the only calm down slowly pondering. This is a typical engineering course, does not require much intelligence and insight, it takes constant effort brings the gradual enlightenment. These two books about the course, the computer is not difficult to find bookstores. Get a few of the latest, on the shining look. Recommended composition principle "computer composition and structure," Tsinghua University professor Wang Aiying written. 8086/8088 assembly language we get into the door, then you must learn 80x86 assembly language. Great practical value, not backward, good structure, writing efficient virus, a little compilation of high-level language embedded, low-level development, the total can not do without him, SHEN Mei-ming Tsinghua University, recommended the "IBM-PC assembly language programming." Some people say do not want to understand computer architecture, but also do not want to build computers, so computers such as the principle, assembly language, interfaces like feel no need to learn the lesson, this reasonable? Clearly unreasonable, sooner or later you have to master these things, certainly have contact with, and this is rare in computer science several advantages compared with other majors. Doing the project, it is important to understand these, it is impossible to say, just for technology and technology, technical people only know how to do up to a code of workers, while never fully understand the design of the system, the more workers are encoded older the more worthless. There is a question about the teaching of composition principle, when the teacher taught when I studied this course the CPU works reputation micro programming this one slightly off on the grounds that in our country engage in CPU technology was inferior to other countries, to engage in such a long time finally out of a worse than Intel Godson a galaxy, it is recommended that we do not learn. I think it also might not be a problem at school now! Indeed, if, as he said, that China's computer science which direction can be stopped, software and hardware, applications, several had made the United States, but others will engage in engage in, and then we sit here doing? The need to change the concept of teaching.

Analog circuit this stuff, and now not only computer science students working, electronic student also probably scared. If you really want to take-all software and hardware, then I suggest you take a look at "circuit theory" Qiu Guanyuan, perhaps emboldened after which analog circuits will be enough to look at something. Book: Kang Huaguang's "Electronic Technology" (Higher Education Press) or good (my school using the electronic system). Interested children can also refer to a book of poetry white.

Digital circuit than the analog circuit is better know more. We recommend you take a look at Professor Beigong Liu Yingxian book, "Digital Logic" performance people say this book is a good reference (Machinery Industry Press). The reason is very clear, high practical value, to listen to her lecture courses but there is a "scientific enjoy" feeling. Tsinghua University, Yan Shi of the book can be considered a good material, unfortunately, is a little less of integrated circuit speak. Really interested, take a look at large-scale digital system design it (Beihang that this use is also more).

Computer Architecture how to teach, still arguing internationally. Better materials available in the country for Stallings of "Computer Organization and Architectureesigning for Performance" ( Tsinghua photocopy
this). The most popular is the "Computer architecture: aquantitative approach", by Patterson & Hennessy.
One can easily choose the operating system "kernel design and implementation of the operating system" and "modern operating system," two books. These two can be considered a classic, the only drawback is theoretically not strict enough. But this belongs to the field Hardcore System, so in theory a bit sloppy justifiable. Want to see the theoretical aspects to recommend Tsinghua University Press "operating system" right, Higher Education Secretary Zhang Yao learn to write, we use materials that are present. Also recommended a "Windows Operating System" Machinery Industry Press, this book is a study of the operating system Zero experts at Microsoft six months, which lasted more than a year of writing, written, taught in addition to the operating system expert Zhang Yao Tsinghua University's ( now Higher Education Division) almost everyone took part. Bill Gates personally write sequence. Which not only combine windows2000, xp detailed in the operating system kernel, but later told some windows-based programming, it taste foreign edition of the book, and some of the contents of the above can be said to have at home and only book on the windows kernel nuanced introduction,
if the first form of linguistics well, the front-end compiler theory in school as long as I see four algorithms: the easiest to implement recursive descent; the best top-down algorithm LL (k); the best bottom-up algorithm LR (k); LR (1 ) simplified SLR (and perhaps another simplified LALR). Entirely back-end engineering nature, nature is another story.
Recommended textbooks: Kenneth C.Louden wrote "Compiler Construction Principles and Practice" that is "compiler theory and practice" (translation Machinery Industry Press)

School database to remind everyone that will use VFP, VB, Power builder is not equal to understand database. (Think this world too many people understand the database!) Database design is both a science and an art, database implementation is a typical project. So in a sense, the database is the most typical of a computer course - Polytechnic combination of mutual penetration. In addition we recommend completion of software engineering and then turn it over to see database technology, will be some new feeling. Recommended materials:. Abraham Silberschatz waiting for the "Database System Concepts" as the integrity of knowledge, but also recommend you take a look Machinery Industry Press "data warehouse" translation.

Standard textbooks computer network or from the Tanenbaum "Computer Networks" (Tsinghua University have translation). There is a recommended Xie Xiren "Computer Network Guide" (Posts and Telecom Press) issues stood out clearly, reference is also more authoritative. However, the network also belongs Hardcore System, it is not enough light to read. We recommend to read RFC, http: //www.ietf.org/rfc.htm where you can download the RFC documents by number. From IP to read. Wait until able to grasp about 10 kinds of commonly used protocols, few people dare to look down on you. Do the work I do on the network design will be much better.

The importance of the data structure of the self-evident, completion of the data structure you will have on your programming ideas for some revolutionary baptism, how would establish a reasonable and efficient algorithm to have a clear understanding. For the establishment of the algorithm I think we should note the following:
When faced with a problem algorithm, we must first know that they previously had not dealt with this issue if met, then you will generally do it smoothly; if not seen. too, consider the following questions:

  1. Whether the problem is based on some known familiar data structures (for example, binary tree)? If not, will have to design their own data structures.

  2. Issue the required algorithm is written Which type? (Build data structures, modify the data structure, traverse, search, sort ...)

  3. The analysis of the problem called for the preparation of the mathematical properties of the algorithm. Whether they have the recursive feature? (For recursive programming, as long as a reasonable design parameters and conditions recursive end of the table, then basically you're done.)

  4. Continue the nature of mathematical analysis of the problem, according to your previous programming experience, imagine a viable solution might be, and to prove the correctness of such a solution. If the subject of the request for temporal and spatial aspects of the algorithm, prove your vision to meet their requirements. in general, time efficiency and space efficiency is difficult to have both. sometimes you must save time by establishing an auxiliary method of storage.

  5. By analyzing the period of time, you already have some of their own ideas to solve this problem. Or, you can already use natural language to describe your algorithm is simple. Continue to verify its correctness, trying to find the mistake and find out solution. when necessary (found in insoluble contradictions), to overthrow their own ideas, the idea of ​​starting from scratch.

  6. Make sure your idea feasible, he began writing programs in the process of writing code, as far as possible the various issues considered too detailed, thorough application should have a good structure, and with a comment in key areas.

  7. As an example, a pen and then execute your program on paper, to further verify its correctness. When faced with the situation inconsistent with your vision, analyze causes of the problem is a matter of programming or algorithms thought itself a problem.

  8. If the program has passed through the correctness verification, then it is further optimized or simplified.

  9. Writing ideas analysis, annotation.

For specific algorithm thinking, we can only rely on yourself to them through their own knowledge and experience gained, what specific laws do not (or can all be laid off programmer, automatically generate code with the machine on it). Have a rich imagination force, that is to say when a road leads nowhere, not a dead end, should have the courage to overthrow their own ideas. I have just a beginner, say some experience above, only for reference and discussion.

Artificial intelligence, I think is very worthy of careful study of all, may not be a nascent discipline, but it is definitely a very promising one discipline. One of the founders of Artificial Intelligence, University of Science and Technology Beijing TU Xu Yan professor (This old man was my mentor mentor Dr. Li Xiaojian) so that the definition of AI: Artificial Intelligence is an imitation, extension and expansion of human and technical intelligence of natural science. 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".

Questions about this subject, said the study are:

(1) symbolism: Symbolic Computation and program design, knowledge representation: knowledge science, production rules, semantic networks, the first-order predicate logic problem solving methods: search strategies, heuristic search, search algorithms, the statute method, predicate calculus: resolution principle, attributed to the process of expert systems: methods and tools to create expert system
(2) connectionism (neural networks School): 1988, US authorities said: database, network development has skyrocketed, the neural network can be solved manually the only way to intelligence.

I would like to study artificial intelligence, we must not be like like mathematics and some ready-made conclusions, we must learn to analyze problems, it is best to take advantage of program design and implementation, recommend to everyone here the best ACM Doctoral Dissertation Award winner Tu Xiaoyuan Bo disabilities book "artificial fish - artificial life for computer animation" (Tsinghua University Press). Engage in artificial life students would not know it internationally famous painted Hos. Book on artificial intelligence course, preferred "Artificial Intelligence A New Synthesis" Nils J.Nilsson. Originator Well!

On cybersecurity and I would like to say a few words, with the development of computer technology, the level of information society as a whole by leaps and bounds, ever-changing computer network technology, the network became immediately in all areas of social work an integral part, as long as there is network , network security issues must be addressed is a good question, learning network security is not simple to collect some hacking tools black and one black someone else's site, but to learn from his mathematical principles, implementation principles, to find out the underlying mechanism, such most of the problems can be resolved existing and emerging security issues.

Released six original articles · won praise 2 · Views 7994

Guess you like

Origin blog.csdn.net/ztx01001/article/details/104237219