Difficulty: Introductory | Prerequisites: None. This is typically the first topic in a CS 101 course.
Computer science is the discipline that underpins every piece of technology you use, from your phone to the internet to the software running your car. This chapter introduces what the field actually covers, its major subfields, and how it evolved from ancient counting tools to modern programmable machines. You do not need prior computing knowledge. If you are starting the course late, this is the right place to begin: it sets the vocabulary and conceptual map for everything that follows.
Computer science is the study of computation, information, and automation. It spans theoretical work (algorithms, computability) through to applied fields (hardware design, software engineering, AI). The field grew from ancient calculating devices like the abacus, through mechanical calculators in the 1600s, to Charles Babbage's programmable Analytical Engine in the 1830s.
Computer science (information processing system)
The study of computation, information, and automation, spanning both theoretical foundations and applied practice.
In simple terms, it is the discipline concerned with what computers can do, how they do it, and how to build them.
Algorithm (algorithmic program)
A finite, ordered sequence of well-defined instructions for solving a class of problems or performing a computation.
Think of it as a recipe: a step-by-step procedure that, if followed exactly, always produces the correct result.
Data structure
A particular way of organising and storing data in a computer so that it can be accessed and modified efficiently.
In simple terms, it is a container with rules about how data goes in, comes out, and is arranged.
Theory of computation (computability theory)
The branch of CS that uses mathematical models to determine which problems can be solved algorithmically and how efficiently.
Think of it as the study of what is, and is not, possible for a computer to do, regardless of how powerful the machine is.
Artificial intelligence (AI)
The subfield that aims to build systems exhibiting goal-oriented behaviour such as problem-solving, decision-making, learning, and environmental adaptation.
In simple terms, making machines that can do things we would normally consider "smart" when a person does them.
Machine learning
A subset of AI focused on algorithms that improve their performance on a task through exposure to data, without being explicitly programmed for each case.
Think of it as teaching by example rather than by instruction.
Computer architecture
The design and organisation of a computer's hardware components and how they work together.
In simple terms, the blueprint for how a computer is built internally.
Software engineering
The systematic application of engineering principles to the design, development, testing, and maintenance of software.
Think of it as the discipline that stops software projects from turning into unmanageable chaos.
Cryptography
The study and practice of techniques for secure communication in the presence of adversaries.
In simple terms, the science of keeping secrets safe when someone is trying to intercept them.
Human-computer interaction (HCI)
The study of how people interact with computers and the design of interfaces that make that interaction effective.
Think of it as making sure the technology works for the person, not the other way around.
Turing Award
The highest distinction in computer science, often called the "Nobel Prize of computing."
In simple terms, the most prestigious prize a computer scientist can win.
Algorithms and data structures form the backbone of CS. An algorithm is the method; a data structure is the container it operates on. Together they determine how efficiently a problem can be solved.
Theory of computation asks the big question: which problems are solvable by a computer at all, and at what cost? This is where concepts like Turing machines and complexity classes live.
Information theory deals with the quantification, storage, and communication of information. It underpins everything from data compression to error correction.
Computer hardware and software design covers the practical side: building the physical machines and the programs that run on them.
Software engineering applies structured methods to building software. It is the difference between writing code and building a system that works reliably at scale.
Operating systems, networking, and embedded systems deal with the infrastructure that makes computing work in practice: managing hardware resources, connecting machines, and running code on specialised devices.
Cryptography and computer security study secure communication and the prevention of vulnerabilities. This is how your bank transactions stay private.
Computer graphics and computational geometry handle visual data, from rendering images to computing spatial relationships.
Programming language theory examines different ways to describe computation, asking which abstractions make programmers most effective.
Database theory concerns the organised storage and retrieval of data.
Human-computer interaction (HCI) studies how people use computers and how to design interfaces that serve them well.
Computer architecture describes how hardware components are designed and connected.
AI aims to replicate goal-oriented capabilities found in humans and animals: problem-solving, decision-making, adaptation, planning, and learning.
Computer vision focuses on enabling machines to interpret images and video.
Natural language processing (NLP) focuses on enabling machines to understand and generate human language.
Machine learning is the engine behind much of modern AI, allowing systems to learn from data rather than explicit rules.
The fundamental concern of computer science is determining what can and cannot be automated. Every subfield, from theory to AI, feeds into this question in some way.
Devices for mathematical computation, such as the abacus, have existed since antiquity.
Algorithms for performing calculations also predate modern computing by thousands of years.
1623: Wilhelm Schickard designed and built the first working mechanical calculator.
1673: Gottfried Leibniz demonstrated his Stepped Reckoner, a digital mechanical calculator. Leibniz is sometimes considered the first computer scientist and information theorist. He documented the binary number system, though Thomas Harriot had done so decades earlier.
1820: Thomas de Colmar invented the arithmometer, the first calculating machine reliable and robust enough for daily use in an office. This launched the mechanical calculator industry.
1822: Charles Babbage began work on his Difference Engine, a mechanical calculator designed to compute polynomial functions.
1834: Babbage began developing his Analytical Engine. Within two years he had sketched out many features of the modern computer. A critical innovation was adopting a punched card system derived from the Jacquard loom, which made the machine programmable for any task, not just one fixed calculation.
Every time you search the web, stream a video, or unlock your phone with your face, you are using systems built on the subfields described above. Algorithms decide what your social media feed shows you. Cryptography keeps your messages private. NLP is the reason your phone can transcribe your voice. The history matters too: Babbage's insight that a machine could be general-purpose, not fixed to one task, is the same principle behind the device you are reading this on.
Students often think computer science is just programming. It is not. Programming is one tool within CS, the way a microscope is one tool within biology. The field includes theory, hardware, security, AI, and much more.
Students sometimes believe Babbage built a working computer. He did not. The Analytical Engine was designed but never completed in his lifetime. The significance is in the design, not a finished machine.
Students sometimes confuse Leibniz with the inventor of the binary system. Leibniz documented it thoroughly and is often credited, but Thomas Harriot had described it decades earlier.
Students often assume AI is a recent invention. The concept and the term have roots going back to the mid-twentieth century, and the ambitions behind it, building machines that reason, are older still.
⚠️ Know the distinction between theoretical and applied CS. Exam questions often ask you to classify a subfield.
⚠️ Be able to name and briefly describe the major subfields: algorithms, theory of computation, software engineering, AI, HCI, cryptography, computer architecture, databases, NLP, computer vision.
⚠️ The historical timeline (Schickard → Leibniz → de Colmar → Babbage) is commonly tested. Know the dates, the machines, and why each was significant.
⚠️ Understand why the Analytical Engine is considered a landmark: it was the first design for a general-purpose, programmable computer, using punched cards from the Jacquard loom.
⚠️ The Turing Award is the highest honour in computer science. This is a fact that appears on introductory exams.
⚠️ "What can and cannot be automated" is the central question of the discipline. Expect this to appear in short-answer or essay form.
True or False: Computer science is primarily the study of programming.
Answer: False. Programming is one tool within the broader discipline.
Fill in the blank: The fundamental question of computer science is determining what can and cannot be ________.
Answer: Automated.
True or False: Charles Babbage successfully built and operated the Analytical Engine.
Answer: False. It was designed but never completed in his lifetime.
Fill in the blank: The ________ Award is the highest distinction in computer science.
Answer: Turing.
True or False: Leibniz was the first person to describe the binary number system.
Answer: False. Thomas Harriot described it decades earlier, though Leibniz documented it more thoroughly.
Q: Define computer science and name three of its major subfields.
A: Computer science is the study of computation, information, and automation. Major subfields include (any three of): algorithms and data structures, theory of computation, software engineering, artificial intelligence, cryptography, computer architecture, HCI, databases, NLP, computer vision, computer graphics.
Q: Who built the first working mechanical calculator, and in what year?
A: Wilhelm Schickard, in 1623.
Q: What was the significance of Babbage's Analytical Engine?
A: It was the first design for a general-purpose, programmable computing machine. Its use of punched cards (from the Jacquard loom) made it theoretically capable of any computation, not just a fixed set of calculations.
Q: Explain the difference between an algorithm and a data structure.
A: An algorithm is a step-by-step procedure for solving a problem. A data structure is the way data is organised and stored so algorithms can operate on it efficiently. They work together: the choice of data structure affects which algorithms are practical.
Q: What is the central question of computer science?
A: Determining what can and what cannot be automated.
Q: Name two contributions of Gottfried Leibniz to computing.
A: He demonstrated the Stepped Reckoner (a digital mechanical calculator) in 1673, and he documented the binary number system.
This overview connects directly to later CIS 101 topics on hardware (where computer architecture is explored in depth), software development (where software engineering principles are applied), and data management (where database theory becomes practical). The history section sets up any future discussion of modern computing milestones: vacuum tubes, transistors, integrated circuits, and the internet all follow from where Babbage's story leaves off. The AI subfield previews topics you will revisit if the course covers machine learning or data science.
computer science, information processing system, CS 101, CIS 101, algorithm, data structure, theory of computation, computability, artificial intelligence, AI, machine learning, software engineering, computer architecture, cryptography, computer security, HCI, human-computer interaction, NLP, natural language processing, computer vision, database theory, programming language theory, computer graphics, computational geometry, operating systems, networking, embedded systems, Turing Award, abacus, Wilhelm Schickard, Gottfried Leibniz, Stepped Reckoner, binary number system, Thomas de Colmar, arithmometer, Charles Babbage, Difference Engine, Analytical Engine, Jacquard loom, punched cards, history of computing, what is computer science, CS overview, intro to computing