Computer science is the study of theories, experiments, and engineering that form the basis for the design and use of computers. It is a scientific and practical approach to calculation and application and systematic study of the feasibility, structure, expression, and mechanization of methodical procedures (or algorithms) underlying acquisition, representation, processing, storage, communication and access. for information. A more concise and concise definition of computer science is the study of automating a scalable algorithmic process. A computer scientist specializes in computational theory and computational system design. See computer science glossary.
The fields can be divided into various theoretical and practical disciplines. Some fields, such as computational theory of complexity (which explore the basic properties of computational and stubborn problems), are very abstract, while areas such as computer graphics emphasize real-world visual applications. Other areas still focus on the challenges of applying computing. For example, the theory of programming languages ââconsiders various approaches to computational descriptions, whereas computer programming studies themselves investigate various aspects of the use of complex programming languages ââand systems. Human-computer interaction considers the challenge of making computing and computers usable, usable, and universally accessible to humans.
Video Computer science
History
The earliest foundation of what would become computer science preceded the invention of modern digital computers. The machine for calculating numerical tasks remains like an abacus has existed since antiquity, assisting in calculations such as multiplication and division. Furthermore, the algorithm for performing the calculations has existed since antiquity, even before the development of advanced computing equipment.
Wilhelm Schickard designed and built the first mechanical calculator that worked in 1623. In 1673, Gottfried Leibniz demonstrated a mechanical digital calculator, called Stepped Reckoner. He may be considered the first computer scientist and information theorist, since, among other reasons, documenting binary number systems. In 1820, Thomas de Colmar launched the mechanical calculator industry when he released his simplified arithmometer, which was the first powerful calculator and powerful enough to be used every day in an office environment. Charles Babbage started the first automatic mechanical calculator design, Differential Engine, in 1822, which finally gave him the idea of ââthe first programmable mechanical calculator, Analytical Engine. He began developing this machine in 1834, and "in less than two years, he has sketched many prominent features of modern computers". "An important step is the application of a compressive card system derived from Jacquard looms" making it programmable indefinitely. In 1843, during the translation of a French article on Analytical Engine, Ada Lovelace wrote, in one of the many notes he entered, an algorithm for calculating the numbers of Bernoulli, considered the first computer program. Around 1885, Herman Hollerith invented the tabulator, which used perforated cards to process statistical information; eventually his company became part of IBM. In 1937, a hundred years after Babbage's impossible dream, Howard Aiken convinced IBM, which made all kinds of hollow card equipment and also in the business of calculators to develop programmable giant calculators, ASCC/Harvard Mark I, based on Babbage's Analytical Engine, which uses card and central computing unit. When the machine was finished, some referred to it as "Babbage's dream come true".
During the 1940s, when new and more powerful computing machines were developed, the term computer came to refer to machines rather than their human predecessors. When it became clear that computers could be used for more than just mathematical calculations, the field of computer science was expanded to study computing in general. Computer science began to be established as a distinct academic discipline in the 1950s and early 1960s. The first computer science degree program in the world, Cambridge Diploma in Computer Science, began at the University of Cambridge Computer Laboratory in 1953. The first computer science degree program in the United States was formed at Purdue University in 1962. Since practical computers became available, many computing applications have into a different field of study in their own right.
Although at first many people believed that it could not be the computer itself could really be a field of scientific study, by the late fifties slowly becoming accepted among the larger academic population. This is a well-known brand of IBM that is part of the computer science revolution so far. IBM (short for International Business Machines) released the IBM 704 and later IBM 709 computers, which were widely used during the exploration period of the device. "However, working with IBM [computers] frustrates [...] if you mistakenly put as many letters in one instruction, the program will crash, and you should start the whole process again". During the late 1950s, computer science disciplines were very much in their developmental stages, and such issues were commonplace.
Time has seen significant improvements in the usability and effectiveness of computing technology. Modern society has seen significant changes in computer technology users, from use only by experts and professionals, to an almost ubiquitous user base. Initially, computers were quite expensive, and some level of human assistance needed for efficient use - some of the professional computer operators. As computer adoption becomes more widespread and affordable, less human assistance is needed for general use.
Contribution
Despite its brief history as a formal academic discipline, computer science has made a number of fundamental contributions to science and society - in fact, along with electronics, it is a science founded from the current age of human history called the Information Age and the information revolution driver, seen as a leap the third major advancement in human technology after the Industrial Revolution (1750-1850 AD) and the Agricultural Revolution (8000-5000 BC).
These contributions include:
- The beginning of the "Digital Revolution", which includes the current Information Age and the Internet.
- The formal definition of computation and computability, and evidence that there are computational problems that can not be solved and are difficult to solve.
- The concept of programming language, a tool for expression of appropriate methodological information at different levels of abstraction.
- In cryptography, deciphering the Enigma code was an important factor contributing to the Allied victory in World War II.
- Scientific computing enables practical evaluation of processes and situations with great complexity, as well as full experimentation by software. It also allows further study of the mind, and mapping the human genome becomes possible with the Human Genome Project. Distributed computing projects like Folding @ home explores protein folding.
- The trading algorithm has improved the efficiency and liquidity of financial markets by using artificial intelligence, machine learning, and other statistical and numerical techniques on a large scale. High-frequency algorithmic trading may also exacerbate volatility.
- Computer-generated graphics and computer-generated imagery have become modern entertainment, especially in television, cinema, advertising, animation, and video games. Even films that do not feature explicit CGI are usually "filmed" now on a digital camera, or edited or after being processed using a digital video editor.
- Simulation of various processes, including the dynamics of computational, physical, electrical, and electronic systems and circuits, as well as societies and social situations (especially war games) along with their habitats, among many others. Modern computers allow for optimization of designs such as a complete aircraft. Leading in electrical and electronic circuit design is SPICE, as well as software for the physical realization of new (or modified) designs. The latter includes important design software for integrated circuits.
- Artificial intelligence is becoming increasingly important as it is more efficient and complex. There are many AI applications, some of which can be viewed at home, such as robotic vacuum cleaners. It's also present in video games and on modern battlefields in drones, anti-missile systems, and squad support robots.
- Human-computer interactions combine new algorithms with design strategies that enable fast human performance, low error rates, ease of learning, and high satisfaction. Researchers used ethnographic observations and automated data collection to understand the needs of users, then perform usability tests to refine the design. Key innovations include direct manipulation, web links to choose from, touch screen design, mobile apps, and virtual reality.
Maps Computer science
Etymology
Although first proposed in 1956, the term "computer science" appears in a 1959 article on ACM Communication, in which Louis Fein argues for the creation of the Computer Science Graduate in Computer Sciences. > analogous to the creation of Harvard Business School in 1921, confirms the name by stating that, like management science, the subject is applied and is interdisciplinary, while having distinctive characteristics of academic disciplines. His efforts, and others like numerical analyst George Forsythe, were rewarded: the university proceeded to make those programs, starting with Purdue in 1962. Despite its name, a large number of computer science does not involve the study of the computer itself. Therefore, several alternative names have been proposed. Certain departments in major universities prefer the term computational science to precisely emphasize the difference. The Danish scientist Peter Naur suggests the term datalogy to reflect the fact that scientific disciplines revolve around data and data processing, while not necessarily involving computers. The first scientific institution to use the term was the Department of Datalogi at the University of Copenhagen, founded in 1969, with Peter Naur becoming the first professor in datalogi. This term is used primarily in Scandinavian countries. The alternative term, also proposed by Naur, is the science of data; this is now used for different data analysis fields, including statistics and databases.
Also, in the early days of computing, a number of terms for computational practitioners are suggested in ACM Communications - turingineer , turf , flow -chart-man , applied meta-mathematics , and applied epistemologist . Three months later in the same journal, comptologist is suggested, followed next year by hypophysician . The term computics has also been suggested. In Europe, terms derived from the contractual translation of "auto-information" expressions (eg "informazione automatica" in Italian) or "information and math" are often used, eg. informatique (French), Informatics (German), informatica (Italian, Dutch), informÃÆ'ática (language Spanish, Portuguese), informatics (Slavic and Hungarian languages) or pliroforiki ( ??????????? , which means informatics) in Greek. Similar words have also been adopted in England (as in the Edinburgh University's Faculty of Informatics ). "But in the US, informatics is related to applied computing, or computing in the context of other domains."
A folkloric quote, often associated with - but almost certainly not formulated first by - Edsger Dijkstra, states that "computer science is nothing more than a computer than astronomy is about a telescope." The design and deployment of computers and computer systems is generally regarded as a province of disciplines other than computer science. For example, the study of computer hardware is usually regarded as part of computer engineering, while the study of commercial computer systems and its dissemination is often called information technology or information systems. However, there are many ideas that cross each other across various computer-related disciplines. Computer science research also often cuts other fields, such as philosophy, cognitive science, linguistics, mathematics, physics, biology, statistics, and logic.
Computer science is considered by some to have a much closer relationship with mathematics than many disciplines, with some observers saying that computing is the science of mathematics. Early computer science was heavily influenced by the work of mathematicians such as Kurt GÃÆ'ödel, Alan Turing, RÃÆ'ózsa PÃÆ'à © ter and Alonzo Church and there continued to be a useful exchange of ideas between two fields in fields such as mathematical logic, category theory , domain theory, and algebra.
The relationship between computer science and software engineering is a contentious issue, increasingly fouled by disagreements over what the terms "software engineering" means, and how computer science is defined. David Parnas, taking a cue from the relationship between other techniques and disciplines, has claimed that the main focus of computer science is to study the nature of computing in general, while the main focus of software engineering is the design of special calculations to achieve practicality. goal, creating two separate but complementary disciplines.
The academic, political, and funding aspects of computer science tend to depend on whether a department is formed with mathematical emphasis or with engineering emphasis. The department of computer science with mathematical emphasis and with numerical orientation considers alignment with computational science. Both types of departments tend to make efforts to bridge the field of education if not in all studies.
Philosophy
A number of computer scientists contend to distinguish three separate paradigms in computer science. Peter Wegner argues that the paradigm is science, technology, and mathematics. The working group Peter Denning argues that they are theory, abstraction (modeling), and design. Amnon H. Eden described them as a "rationalist paradigm" (which treats computer science as a branch of mathematics, which is prevalent in theoretical computer science, and primarily uses deductive reasoning), the "technocratic paradigm" (which may be found in engineering approaches, software engineering), and the "scientific paradigm" (which approximates computer-related artifacts from an empirical perspective of natural science, can be identified in several branches of artificial intelligence).
Computer science area
As a discipline, computer science covers a wide range of topics from theoretical studies of algorithms and limits of calculation to practical problems of application of computing systems in hardware and software. CSAB, formerly known as the Computing Sciences Accreditation Board - comprising representatives from the Association for Computing Machinery (ACM), and the IEEE Computer Society (IEEE CS) - identified four areas that it deemed important for the computer science discipline. : computational theory , algorithms and data structures , programming and language methodologies , and computer elements and architecture . In addition to these four areas, CSAB also identifies areas such as software engineering, artificial intelligence, network and computer communications, database systems, parallel computing, distributed computing, human-computer interaction, computer graphics, operating systems, and numerical and symbolic calculations as being important areas of computer science.
Theoretical computer science
Theoretical Computer Science is a mathematical and abstract in spirit, but it gets its motivation from practical and daily calculations. The goal is to understand the nature of calculations and, as a consequence of this understanding, provide a more efficient methodology. All research related to mathematics, logic and formal concepts and methods can be regarded as theoretical computer science, provided that motivation is clearly taken from the computational field.
Data structures and algorithms â ⬠<â â¬
Data structures and algorithms are studies of commonly used computational methods and their computational efficiency.
Computing theory
According to Peter Denning, the fundamental question that underlies computer science is, "What can (efficiently) automate?" Computational theory is focused on answering fundamental questions about what can be calculated and how many resources are needed to perform the calculations. In an attempt to answer the first question, computability theory examines the computational problems that can be solved on various theoretical computational models. The second question is discussed by the theory of computational complexity, which studies the time and cost of space associated with different approaches to solve many computational problems.
P = Famous NP? problem, one of the Millennium Gift Issues, is an open matter in computational theory.
Information theory and encoding
Information theory is related to quantification of information. It was developed by Claude Shannon to find fundamental limits on signal processing operations such as compressing data and storing and communicating data reliably. The coding theory is the study of the nature of the code (the system for changing information from one form to another) and its suitability for a particular application. Codes are used for data compression, cryptography, error detection and correction, and more recently for network encoding. The code was studied for the purpose of designing an efficient and reliable data transmission method.
Programming language theory
Programming language theory is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages ââand their respective features. These are included in the computer science disciplines, both dependent on and affecting mathematics, software engineering, and linguistics. This is an active research area, with many dedicated academic journals.
Formal methods
The formal method is a special type of mathematically based technique for the specification, development and verification of software and hardware systems. The use of formal methods for the design of software and hardware is motivated by the expectation that, as in other engineering disciplines, performing appropriate mathematical analysis can contribute to the reliability and resilience of a design. They form an important theoretical foundation for software engineering, especially where safety or security is involved. Formal methods are useful additions to software testing as they help avoid errors and can also provide a framework for testing. For industrial use, tool support is required. However, the high cost of using formal methods means that they are usually only used in the development of high integrity systems and critical lives, where safety or security is of the utmost importance. The formal method is best described as an application of a wide variety of basic theoretical computer sciences, especially calculi logic, formal language, automata theory, and semantics of programs, but also system types and algebraic data types for problems in software and hardware specifications and verification.
Computer system
Computer architecture and computer engineering
Computer architecture, or digital computer organization, is the conceptual design and fundamental operational structure of computer systems. This mostly focuses on the way a central processing unit performs internally and accesses addresses in memory. This field often involves the disciplines of computer engineering and electrical engineering, selecting and connecting hardware components to create computers that meet functional, performance, and cost objectives.
Analysis of computer performance
Computer performance analysis is the study of work that flows through computers with the general purpose of increasing throughput, controlling response times, using resources efficiently, removing barriers, and predicting performance under anticipated peak loads.
Concurrent, parallel, and distributed systems
Concurrency is a system property in which multiple computations are run simultaneously, and potentially interact with each other. A number of mathematical models have been developed for general concurrent computing including Petri nets, process calculus and Parallel Random Access Machine models. Distributed systems expand the idea of ââconcurrency to many computers connected through the network. Computers in the same distributed system have their own personal memory, and information is often exchanged among themselves to achieve common goals.
Computer network
This branch of computer science aims to manage networks between computers around the world.
Computer security and cryptography
Computer security is a branch of computer technology, whose purpose includes information protection from unauthorized access, disruption, or modification while maintaining accessibility and usability of the system to the intended user. Cryptography is the practice and study of hiding (encryption) and therefore interpret (decryption) information. Modern cryptography is largely related to computer science, as many encryption and decryption algorithms are based on computational complexity.
Database
The database is intended to organize, store, and retrieve large amounts of data easily. Digital databases are managed using database management systems to store, create, maintain, and search data, through database models and query languages.
Computer application
Computer graphics and graphics
Computer graphics is the study of digital visual content, and involves the synthesis and manipulation of image data. The study is linked to many other fields in computer science, including computer vision, image processing, and computational geometry, and is highly applied in the field of special effects and video games.
Human-computer interaction
The research developed theories, principles, and guidelines for user interface designers, so they can create a satisfying user experience with desktops, laptops, and mobile devices.
Scientific computing
Scientific computing (or computational science) is a field of study related to building mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific problems. In practical use, computer applications are usually simulations and other forms of calculation for problems in various disciplines.
Artificial Intelligence
Artificial intelligence (AI) aims to or is needed to synthesize goal-oriented processes such as problem solving, decision making, environmental adaptation, learning and communication found in humans and animals. From its origins in cybernetics and in the Dartmouth Conference (1956), the research of artificial intelligence has certainly crossed the discipline, drawing on areas of expertise such as applied mathematics, symbolic logic, semiotics, electrical engineering, philosophy of mind, neurophysiology, and social intelligence. AI is associated in popular minds with the development of robotics, but the main areas of practical application has become an embedded component in the field of software development, which requires a computational understanding. The starting point in the late 1940s was Alan Turing's question "Can computers think?", And the question remains unanswered effectively even though the Turing test is still used to assess computer output on the scale of human intelligence. But the automation of evaluative and predictive tasks has been increasingly successful as a substitute for human monitoring and intervention in the domain of computer applications involving complex real-world data.
Software engineering
Software engineering is the study of designing, implementing and modifying software to ensure it is high quality, affordable, easy to maintain, and quick to create. This is a systematic approach to software design, which involves applying engineering practices to software. Software engineering deals with organizing and analyzing software - not just dealing with the creation or creation of new software, but its internal maintenance and regulation. Both computer software application engineers and computer system software engineers are projected to be one of the fastest growing jobs from 2008 to 2018.
Great insights computer science
Philosophers of computation Bill Rapaport recorded three Great Insights of Computer Science:
Academics
Conferences are important events for computer science research. During this conference, researchers from the public and private sectors presented their latest work and met. Unlike in most other academic fields, in computer science, the prestige of conference papers is greater than journal publications. One explanation put forward for this is the rapid development of this relatively new field requiring quick review and distribution of results, tasks better handled by conferences than by journals.
Education
Since computer science is a relatively new field, it is not widely taught in schools and universities as other academic subjects. For example, by 2014, Code.org estimates that only 10 percent of secondary schools in the United States offer computer science education. A 2010 report by the Association for Computing Machines (ACM) and the Association of Computer Science Teachers (CSTA) revealed that only 14 of the 50 countries have adopted significant educational standards for secondary school computer science. However, computer science education continues to grow. Some countries, such as Israel, New Zealand and South Korea, have incorporated computer science into their respective national secondary education curricula. Several countries followed suit.
In most countries, there is a significant gender gap in computer science education. For example, in the US about 20% of the degree of computer science in 2012 is given to women. This gender gap also exists in other Western countries. However, in some parts of the world, the gap is small or nonexistent. In 2011, about half of all computer science degrees in Malaysia are awarded to women. In 2001, women accounted for 54.5% of computer science graduates in Guyana.
See also
Note
References
Further reading
External links
- Computer science on Curlie (based on DMOZ)
- Scientific Society in Computer Science
- What is Computer Science?
- Best Paper Award in Computer Science since 1996
- Photographs of computer scientists by Bertrand Meyer
- EECS.berkeley.edu
- Bibliography and academic search engine
- CiteSeer x (article): search engine, digital library and repository for scientific and academic papers with a focus on computers and information science.
- DBLP Computer Science Bibliography (article): library of computer science websites hosted at Università © Trier, in Germany.
- Collection of Bibliographic Computer Science (articles)
- Professional organizations
- Association for Computing Machines
- IEEE Computer Society
- European Informatics
- AAAI
- AAAS Computer Science
- Misc
- Computer Science - Pile Exchange: a community-managed question-and-answer site for computer science
- What is computer science
- What is computer science?
- Computer Science (Software) Should Be Considered as an Independent Discipline.
Source of the article : Wikipedia