Computer Science Is The Science of How To Treat
Computer Science Is The Science of How To Treat
Some of the areas consider problems in a more abstract way. Some areas need special machines, called computers. A person who works with computers will often need mathematics, science, and logic in order to make and use computers. Common tasks for a computer scientist Asking questions This is so that they can find new and easier ways to do things, and the way to approach problems with this information. Asking the right question Computers can do some things easily (for example: simple math, or sorting out a list of names from A to !". Computers cannot do some things, though. Computers cannot answer #uestions when there is not enough information, or when there is no real answer. Also, computers may take too much time to finish long tasks. $or example, it may take too long to find the shortest way through all of the towns in the %SA so instead a computer will try to make a close guess. A computer will answer these simpler #uestions much faster. Answering the question Algorithms are steps of instructions describing how to complete a task, such as sol&ing a problem. Think about playing cards, for example. A computer scientist wants to sort the cards. $irst he wants to sort them out by color. Then he wants to order them by number (', (, ), *, +, ,, -, ., /0, 1ack, 2ueen, 3ing, and Ace". The computer scientist may see different ways to sort the playing cards. 4e must now think about of how he will do it. 5hen he decides, he has created an algorithm. After making the algorithm, the scientist needs to test whether the algorithm always does what it should. Then, the scientist can see how well his program sorts the cards. A simple but &ery slow algorithm could be: drop the cards, pick them up, and check whether they are sorted. 6f they are not, do it again. This method will work, but it will often take a &ery long time. The name of this sorting algorithm is 7ogosort. A person may do this better by looking through all the cards, finding the first card (' of diamonds", and putting it at the start. After this, he looks for the second card, and so on. This works much faster, and does not need much space. The name of this sorting algorithm is selection sort. Computer science began during 5orld 5ar 66 and separated from the other sciences during the /.+08s and /.,08s. 9ow, computer science uses special methods of doing things, and has its own special words. 6t is related to electrical engineering, mathematics, and language science. Computer science looks at the theoretical parts of computers. Computer engineering looks at the physical parts of computers (the parts that a person can touch", and software engineering looks at the use of computer programs and how to make them. Parts of computer science
Central math
7oolean algebra(when something can only be true or false" Computer numbering formats(how computers count" :iscrete mathematics(math with numbers a person can count" Symbolic logic(clear ways of talking about math"
How an ideal computer works Algorithmic information theory(how easily a computer can answer a #uestion;" Complexity theory(how much time and memory does a computer need to answer a #uestion;" Computability theory(can a computer do something;" 6nformation theory(math that looks at data and how to process data" Theory of computation(how to answer #uestions on a computer using algorithms" <raph theory(math that looks for directions from one point to another" Type theory(what kinds of data should computers work with;" :enotational semantics(math for computer languages" Algorithms(looks at how to answer a #uestion" Compilers(turning words into computer programs" =exical analysis(how to turn words into data" >icroprogramming(how to control the most important part of a computer" ?perating systems(big computer programs to run the computer and control different kinds of other programs in computer systems (like =inux, >icrosoft 5indows, >ac ?S"" Cryptography(hiding data"
Computer science at work Artificial intelligence(making computers learn and talk, similar to people" Computer algebra(using computers for >athematical problems" Computer architecture(building a computer" Computer graphics(making pictures with computers, as in C<" Computer networks(@oining computers to other computers" Computer program(how to tell a computer to do something" Computer programming(writing, or making, computer programs" Computer security(making computers and their data safe" :atabases(a way to sort and keep data" :ata structure(how to build or group data" :istributed computing(using more than one computer to sol&e a difficult problem" 6nformation retrie&al(getting data back from a computer" Arogramming languages(languages that a programmer uses to make computer programs" Arogram specification(what a program is supposed to do" Arogram &erification(making sure a computer program does what it should do, see debugging" Bobots(using computers to control machines"
What computer science does 7enchmark(testing a computer8s power or speed" Computer &ision(how computers can see and understand images" Collision detection(how computers help robots walk without hitting something" :ata compression(making data smaller" :ata structures(how computers group and sort data" :ata ac#uisition(putting data into computers" :esign patterns(answers to common software engineering problems" :igital signal processing(cleaning and ClookingC at data" $ile formats(how computers keep data in a file" 4uman computer interaction(how humans use computers" 6nformation security(keeping data safe from other people" 6nternet(a large network that @oins almost all computers" 5eb applications(computer programs on the 6nternet" ?ptimiDation(making computer programs work faster" Software metrics(ways to measure computer programs, such as counting lines of code or number of operations" E=S6 design(the making of a &ery large and complex computer system"