DEV Community

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

Posted on

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 🙏🥰

Top comments (0)