DEV Community

Cover image for 100 computer science concepts, you should know.
Chrea Chanchhunneng
Chrea Chanchhunneng

Posted on

48 1 1 1 2

100 computer science concepts, you should know.

  1. Turing Machine: The theoretical basis for all computers. Think of it as a hypothetical device that can perform any computation. Image description
  2. CPU (Central Processing Unit): The brain of a computer, responsible for executing instructions. It processes data and controls other components. Connecting Point: The CPU relies on fundamental electronic components. Image description
  3. Transistors: Tiny electronic switches that form the basis of all digital electronics. They can be in an "on" or "off" state, representing binary values. Example: Imagine transistors as light switches – either the light is on (1) or off (0). Image description
  4. Bit: The smallest unit of digital information, representing a binary value (0 or 1). Connecting Point: Eight bits make up a byte. Image description
  5. Byte: A group of 8 bits. It's the basic unit of storage in a computer. Example: A byte can represent a single character, like 'A'. Image description
  6. ASCII Character Encoding: A standard that assigns numerical values to characters. Computers use these values to represent text. Connecting Point: ASCII values are often represented in binary. Image description
  7. Binary: The base-2 number system, using only 0s and 1s. Computers use binary for data representation. Example: The binary representation of 5 is 101. Image description
  8. Hexadecimal: A base-16 number system often used in programming for its compact representation. Connecting Point: Four bits make up a nibble, and two nibbles make up a byte. Image description
  9. Nibble: Half a byte, comprising 4 bits. Example: In binary, 1101 can be divided into a nibble as 1101. Image description
  10. Machine Code: Low-level code directly executable by a computer's CPU. It's in binary and specific to the processor architecture. Connecting Point: Programming languages are used to write machine code. Image description
  11. RAM (Random Access Memory): Temporary storage that the CPU uses actively. It's faster than long-term storage but volatile. Example: Think of RAM as your computer's short-term memory. Image description
  12. Memory Address: A unique identifier for each location in memory, allowing the CPU to access and store data. Connecting Point: I/O operations involve moving data between memory and external devices. Image description
  13. I/O (Input/Output): The process of transferring data between a computer and external devices. Example: Printing a document is an output operation. Image description
  14. Kernel: The core part of an operating system, managing hardware resources and providing essential services. Connecting Point: The shell interacts with the kernel to execute commands. Image description
  15. Shell: A command-line interface allowing users to interact with the operating system by typing commands. Example: "ls" lists files in a directory. Image description
  16. Command Line Interface (CLI): An interface where users interact with the computer by typing commands. Connecting Point: Secure Shell Protocol enables secure communication on the CLI. Image description
  17. Secure Shell Protocol (SSH): A cryptographic network protocol for secure data communication over an unsecured network. Example: SSH allows you to securely connect to a remote server. Image description
  18. Mainframe: A powerful, large-scale computer often used by organizations for critical applications. Connecting Point: Programming languages enable communication with mainframes. Image description
  19. Programming Language: A set of instructions for a computer to perform tasks. Example: Python is a popular programming language. Image description
  20. Abstraction Principle: Hiding complex details while exposing essential functionalities. Connecting Point: Interpreted and compiled languages illustrate different abstraction levels. Image description
  21. Interpreted: Code executed line by line, translating and executing simultaneously. Example: Python is an interpreted language.
  22. Compiled: Code translated entirely before execution, resulting in an executable file. Connecting Point: Executable files contain machine code. Image description
  23. Executable: A file containing machine code that a computer can run. Example: Running an ".exe" file on Windows. Image description
  24. Data Types: Categories that define the kind of data a variable can hold. Connecting Point: Variables store data. Image description
  25. Variable: A named storage location for data in a program. Example: "x = 5" assigns the value 5 to the variable x. Image description
  26. Dynamically Typed: Data types are assigned during runtime. Connecting Point: Statically typed languages define types before runtime. Image description
  27. Statically Typed: Data types are defined before runtime. Example: In Java, you declare variable types explicitly. Image description
  28. Pointer: A variable that stores the memory address of another variable. Connecting Point: Garbage collection manages memory by reclaiming unused space. Image description
  29. Garbage Collection: Automatically reclaiming memory occupied by objects no longer in use. Example: Java has an automatic garbage collector. Image description
  30. Int (Integer): A data type representing whole numbers. Connecting Point: Data types like floating point represent decimal numbers.
  31. Signed: Integers that can be positive or negative. Example: -3 is a signed integer.
  32. Floating Point: A data type representing decimal numbers. Connecting Point: Double provides more precision than float.
  33. Double: A data type with double precision, providing more accuracy than float. Example: 3.14 is a double.
  34. Char (Character): A data type representing a single character. Connecting Point: Strings are sequences of characters.
  35. String: A sequence of characters. Example: "Hello, World!" is a string.
  36. Big Endian: Storing the most significant byte first in memory. Connecting Point: Little Endian stores the least significant byte first.
  37. Little Endian: Storing the least significant byte first in memory. Example: Consider the hexadecimal value 0x1234. Big Endian stores it as 12 34, while Little Endian stores it as 34 12. Image description
  38. Data Structures: Organized formats for storing and manipulating data. Connecting Point: Arrays and linked lists are fundamental data structures. Image description
  39. Array: A collection of elements identified by index or key. Example: arr = [1, 2, 3] is an array. Image description
  40. Linked List: A data structure consisting of nodes linked together. Connecting Point: Stacks and queues are specialized data structures. Image description
  41. Stack: A Last-In-First-Out (LIFO) data structure. Example: Think of a stack of plates – you take the top one. Image description
  42. Queue: A First-In-First-Out (FIFO) data structure. Connecting Point: Hashing involves mapping data to a fixed-size array. Image description
  43. Hash (Triangle is horse): A function that maps data of arbitrary size to a fixed-size value. Example: Hashing a password for secure storage. Image description
  44. Tree: A hierarchical data structure with a root and branches. Connecting Point: Graphs extend the concept of trees. Image description
  45. Graph: A collection of nodes connected by edges. Example: Social networks can be represented as graphs. Image description
  46. Edge: A connection between nodes in a graph. Connecting Point: Algorithms operate on data using various operations. Image description
  47. Algorithm: A step-by-step procedure for solving a problem. Example: Sorting a list using the bubble sort algorithm. Image description
  48. Function: A reusable block of code that performs a specific task. Connecting Point: Functions often involve returning values. Image description
  49. Return: The action of providing a value from a function. Example: "return x" in a function returns the value of x.
  50. Arguments: Values provided to a function for it to operate on. Connecting Point: Operators manipulate data in expressions.
  51. Operators: Symbols representing computations. Example: The "+" operator adds two numbers. Image description
  52. Boolean: A data type with two values, true or false. Connecting Point: Expressions evaluate to either true or false. Image description
  53. Expression: A combination of values and operators that can be evaluated. Example: "2 + 3" is an expression evaluating to 5. Image description
  54. Statement: A complete line of code that performs an action. Connecting Point: Conditional logic guides program flow.
  55. Conditional Logic: Decision-making in code based on conditions. Example: "if a > b:" is a conditional statement.
  56. While Loop: A control flow statement that repeatedly executes a block of code while a condition is true. Connecting Point: Iterables are collections that can be looped through.
  57. Iterable: A collection of items that can be looped through. Example: A list in Python is an iterable.
  58. For Loop: A control flow statement for iterating over a sequence. Connecting Point: Void represents the absence of a return value.
  59. Void: A data type indicating the absence of a value. Example: A function with no return statement.
  60. Recursion: A function calling itself to solve a smaller instance of the same problem. Connecting Point: The call stack manages function calls.
  61. Call Stack: A data structure that stores function call information. Example: Visualize a stack of function calls.
  62. Stack Overflow (E): When the call stack exceeds its capacity, causing a program to crash. Connecting Point: Base condition in recursion prevents infinite loops.
  63. Base Condition: The stopping criterion in recursive functions. Example: "if n == 0" in a factorial function.
  64. Big-O-Notation: Describes the upper bound of an algorithm's time or space complexity. Connecting Point: Time and space complexity measure efficiency.
  65. Time Complexity: How the execution time of an algorithm grows with input size. Example: O(n) signifies linear time complexity.
  66. Space Complexity: How much memory an algorithm uses in relation to input size. Connecting Point: Brute force is a straightforward approach. Image description
  67. Brute Force: Solving a problem by trying every possibility. Example: Searching an unsorted list linearly. Image description
  68. Divide and Conquer: Breaking a problem into smaller sub-problems and solving them. Connecting Point: Dynamic programming optimizes recursive solutions.
  69. Dynamic Programming (Nice): A technique that stores and reuses solutions to sub-problems. Example: The Fibonacci sequence using memoization.
  70. Memoization: Caching and reusing previously computed results to improve performance. Connecting Point: Greedy algorithms make locally optimal choices.
  71. Greedy: Choosing the best option at each step without considering the overall situation. Example: The greedy algorithm for the coin change problem.
  72. Dijkstra's Shortest Path: An algorithm for finding the shortest path between nodes in a graph. Connecting Point: Backtracking explores all possibilities.
  73. Backtracking: A trial-and-error approach to problem-solving. Example: Solving Sudoku puzzles.
  74. Declarative: Describing what should be accomplished without specifying how. Connecting Point: Functional languages emphasize functions.
  75. Functional Languages: Programming languages focusing on functions as first-class citizens. Example: Haskell is a functional language.
  76. Imperative: Describing how a program should accomplish a task. Connecting Point: Procedural languages follow a step-by-step approach.
  77. Procedural Languages: Focused on procedures or routines that perform operations. Example: C is a procedural language.
  78. Multiparadigm Languages: Supporting multiple programming paradigms. Connecting Point: Object-oriented languages use classes.
  79. Object-oriented: Organizing code around objects that encapsulate data and behavior. Example: Java and Python are object-oriented languages.
  80. Class: A blueprint for creating objects with shared attributes and behaviors. Connecting Point: Properties and methods are part of a class.
  81. Property: An attribute of an object in object-oriented programming. Example: In a car class, speed can be a property.
  82. Method: A function associated with an object in object-oriented programming. Connecting Point: Inheritance allows one class to inherit properties and methods from another.
  83. Inheritance: A mechanism for creating a new class that is a modified version of an existing class. Example: A "Car" class inheriting from a "Vehicle" class.
  84. Design Patterns: Reusable solutions to common problems in software design. Connecting Point: Instantiating creates an instance of a class.
  85. Instantiate: Creating an instance of a class. Example: Creating a new object from a class.
  86. Heap: Memory used for dynamic memory allocation during program execution. Connecting Point: Reference points to the memory location of an object.
  87. Reference: A variable that holds the memory address of an object. Example: "obj = MyClass()" assigns the reference to obj.
  88. Threads: Independent sequences of instructions, each running in its own thread. Connecting Point: Parallelism involves multiple threads running concurrently.
  89. Parallelism: Simultaneously executing multiple tasks. Example: Running multiple threads to speed up a computation.
  90. Concurrency: The concept of multiple tasks making progress without necessarily running simultaneously. Connecting Point: Bare Metal refers to programming without an operating system.
  91. Bare Metal: Programming directly for hardware without an operating system. Example: Embedded systems often involve bare-metal programming.
  92. Virtual Machine: An emulation of a computer system, running an operating system within another. Connecting Point: IP address identifies devices on a network.
  93. IP Address: A numerical label assigned to each device on a computer network. Example: 192.168.1.1 is an example of an IP address.
  94. URL (Uniform Resource Locator): A web address specifying the location of a resource on the internet. Connecting Point: DNS resolves domain names to IP addresses.
  95. DNS (Domain Name System): Translates human-readable domain names to IP addresses. Example: Resolving www.example.com to an IP address.
  96. Transmission Control Protocol (TCP): A protocol ensuring reliable, ordered, and error-checked delivery of data. Connecting Point: Packets break data into smaller units for efficient transmission.
  97. Packets: Small units of data transmitted over a network. Example: Sending a large file in smaller, manageable chunks.
  98. Secure Sockets Layer (SSL): A protocol for secure communication over a computer network. Connecting Point: HTTP uses SSL to become HTTPS for secure communication.
  99. HTTP (Hypertext Transfer Protocol): The foundation of data communication on the web. It defines how messages are formatted and transmitted. Connecting Point: APIs often use HTTP to send and receive data.
  100. Application Programming Interface (API): An API allows different software applications to communicate and share data, enabling them to work together. Connecting Point: Understanding APIs is crucial for developing software that interacts with other programs or services.

This article is from youtube and I write the summary for user to easily understand. Please give a like to support 🙏🥰

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay