Also known as computation science or computing science, computer science refers to the study of processes that interact with data in the form of programs. A computer scientist studies the practice of designing software systems.
Computer science is not the study of computers, and it's not about learning to use the various computer applications. Rather, computer science deals with the theory of computation and the practice of software design. As a science, computer science is dynamic rather than static, in that it is forever changing. For example, the development of a digital application, such as a word processing program, is an aspect of computer science, but learning to use a word processing program is not. The development of a new computer graphics game involves computer science, but learning to master the game once it has been developed does not.
As a scientific discipline, computer science began even before the invention of the digital computer. In fact, the theories that led to the design and eventual construction of the computer involved the use of computer science.
Gottfried Leibniz designed a digital mechanical calculator, known as the Stepped Reckoner, in the 1670s. He might be considered the first computer scientist as, in his creation, he documented the binary number system. In the 1820s and 1830s, Charles Babbage designed the Difference Engine, which led to the first programmable mechanical calculator, the Analytical Engine, demonstrating many of the features of today's computers. Other early computer scientists included Thomas de Colmar, Ada Lovelace, Herman Hollerith, and Howard Aiken.
However, those who first thought of the concept of a programming language, and those who designed and developed the various operating systems that have been used throughout the years, as well as those who have designed the computer applications and graphics programs that have become so much a part of our lives today, these folks were also computer scientists.
As a scientific discipline, computer science covers a wide range of topics, from the study of algorithms, the limits of computation, and the practical aspects of implementing computing systems in hardware and software, data structures, programming methodology, and languages, and the elements of computer elements and architecture.
The Computing Sciences Accreditation Board also identifies the fields of artificial intelligence, computer graphics, computer networking and communication, database systems, distributed computation, human-computer interaction, numerical and symbolic computation, operating systems, parallel computation, and software engineering as being elements of computer science.
Many of these elements are categorized separately here, for the purpose of categorization. Unless there a more specific category has been created for these elements, topics related to computer science and the elements of computer science are the focus of this category.
 
 
Recommended Resources
Association for Computing Machinery
Founded in 1947, ACM is an international society for computing. The non-profit membership group serves as an umbrella organization for academic and scholarly interest in computer science. Membership options and benefits are defined, including member discounts and special offers. Its special interest groups and chapters, publications, educational programs, and ACM Awards, which recognize excellence in the field of computer science for technical and professional achievements.
https://www.acm.org/
Designed to bring computer science teaching resources for the KS3, GCSE, and A-Level curriculums, covering students from age eleven to eighteen, the program offers annual memberships which allows members to access a wide variety of computer science teaching resources for teachers, including those for programming, HTML, hardware, data representation, and networking, as well as complete sets of lesson resources covering all aspects of the discipline.
https://computerscienceuk.com/
The MIT Computer Science & Artificial Intelligence Lab focuses on the development of new technologies, conducting basic research that furthers the field of computing, through more than sixty research groups working on hundreds of projects. Made up of two MIT departments, the Laboratory for Computer Science and the Artificial Intelligence Laboratory, founded in 1963 and 1959 respectively, CSAIL employs more than nine hundred researchers. Its projects, people, and events are highlighted.
http://csail.mit.edu/
The Palo Alto, California non-profit research corporation promotes the development of nanotechnology and other emerging technologies, sponsoring conferences on molecular nanotechnology, and awarding annual prizes for developments in the field. The institute, its team, and advisors are acknowledged, and an overview of its technology research projects, prizes, fellowships, and a calendar of events are published to the site, along with contacts.
https://foresight.org/
Free On-Line Dictionary of Computing
FOLDOC is a computing dictionary that includes definitions of acronyms, jargon, programming languages, operating systems, tools, architecture, networking, theory, standards, mathematics, telecommunications, electronics, institutions, companies, projects, and history, as well as pretty much anything that might be found in a computer dictionary. Its contents may be browsed by subject area, alphabetically, or by headings. Additionally, a full-text search and random entries are available.
http://foldoc.org/
Featuring a complete GCSE computer science revision package, Revise Computer Science is a significant resource for students studying the OCR, AQA, EdExcel, or Eduqas computer science GCSE courses, including video lessons, interactive presentations, revision notes, embedded and printable flashcards, online MCQ quizzes, trackable progress, and progress reporting. Premium student and teacher signups are available, along with a number of free resources.
https://revisecomputerscience.com/
A philanthropic program of Microsoft, the primary purpose of TEALS is to help high schools to establish and expand computer science programs through partnerships between teachers and volunteers from the tech industries, delivering CS education to students who would not otherwise have that exposure. Following the TEALS program, over a period of two years, the classroom teacher gradually takes over the responsibilities of teaching the course, no longer in need of volunteer support.
https://www.tealsk12.org