Skip to content

Computer Science Glossary

The Computer Science Glossary collects foundational computer science concepts that come up often in Python work but aren’t unique to Python. These are the language-agnostic ideas that sit beneath the code you write, the kind of vocabulary that connects everyday Python work to the broader field.

It’s a quick reference for beginners shoring up the fundamentals and for experienced developers who want a precise definition, or just a proper name for something they’ve used for years.

For Python’s own vocabulary, like decorators and comprehensions, see the Python Glossary. For the process and teamwork terms that surround the code, like continuous integration and technical debt, see the Software Engineering Glossary.

  • static code analysis An examination of source code without executing it, used to detect bugs, security vulnerabilities, style violations, and other source-visible properties.
  • static typing A form of type checking in which the types of a program’s expressions and variables are verified before execution, usually at compile time.
  • stderr An output stream that programs use for diagnostic and error messages, separate from normal output so the two can be redirected and processed independently.
  • stdin A process’s default input stream, conventionally connected to the keyboard or a redirected source.
  • stdout A byte stream that a process uses to write its conventional output, separate from diagnostic messages and input.
  • subtyping A relation between data types where any value of the subtype can be used wherever a value of the related supertype is expected.
  • syntactic sugar Programming language syntax designed to improve readability or convenience without changing what the language can compute.
  • test case A specification of inputs, preconditions, and expected results used to verify a software requirement or exercise a particular code path.
  • test fixture A fixed initial state of data, objects, or environment that a software test relies on to produce repeatable results.
  • test runner A tool that discovers, executes, and reports on automated tests within a codebase.