What is Computer Science?
The study of data, data structures, and algorithms—and how to process them efficiently and reliably on computers.
- Data: numbers, text, images, signals—all represented as bits.
- Data structures: ways to organize data (arrays, lists, stacks, queues, trees, graphs, hash tables).
- Algorithms: step-by-step methods to solve problems (searching, sorting, pathfinding, optimization).
5 Stages of Development (Problem-Solving Cycle)
- Identifying the problem: clarify inputs, outputs, constraints, and success criteria.
- Analyzing potential solutions: compare approaches, time/space costs, edge cases, risks.
- Designing the solution of choice: choose data structures, outline steps (pseudocode/flowcharts), plan tests.
- Implementing the solution: write code, modularize, document, and unit test.
- Evaluating the solution: test thoroughly, profile performance, collect feedback, iterate.
Programming
Programming is a way of thinking: decompose problems, abstract details, and build reusable modules.
Algorithm
- How a computer “thinks”: a finite series of abstract steps to achieve a goal.
Program
- A concrete implementation of an algorithm in a programming language the machine can execute.