Key points from the mind map
- The graphic is a hand drawn mind map titled Computer Science BASICS, with six branches: Computers, Problem Solving, Programming, Data, Communication and The bigger picture.
- It covers the topics of an introductory computer science course, from CPU components and logic gates to sorting algorithms, binary arithmetic, networks, security and ethics.
- Many ideas come with a worked example, such as converting minus 9 into 8 bit two’s complement and encrypting “hello” with a Caesar cipher.
- A few labels are simplified or slightly off, for example Unicode shown as 16 bit and DNS written as Domain Name Server. These are set out in the notes below.
Computer science basics in text
Title: Computer Science BASICS, drawn in neon colours on black, with white arrows from the centre to each branch and dashed outlines around each group of ideas. The branches and their contents, as written on the map:
Computers
- Software. System software: utilities (defragment, backup, repairing, anti-malware) and translators (assemblers, interpreters, compilers). Operating system: memory management, error handling, file management, and interfaces (CLI, GUI, menu driven, voice). Application software: photo editing, spreadsheets, word processing, database management, audio editing.
- Logic. Boolean algebra; gates AND (A.B), OR (A+B) and NOT; and combinations of gates into a circuit with output Q.
- Storage devices. Optical (CD, DVD, Blu-ray, with pits and lands), magnetic (HDD and magnetic tape, with read/write head, spindle and platters) and solid state (SSD, SD, flash).
- Memory. ROM (PROM, EPROM, EEPROM), RAM as main memory, virtual memory, and cloud computing and storage.
- Hardware. The CPU with its buses (address, data, control) and components (clock, control unit, ALU, registers); a Von Neumann model diagram; input and output devices; Embedded systems (smart wearables, fridges, air conditioners, vehicles); performance factors (clock speed, number of cores, cache size, type of cache); and computational models (parallel, sequential, multi-agent).
Problem Solving
- Abstraction: removing unnecessary details from a problem. Decomposition: breaking down a problem into several sub-problems. Algorithms: an unambiguous series of steps to solve a specific problem in finite time.
- Representation: program code (Python, Java, C#), pseudocode and flowcharts (terminators, decisions, input and output).
- Constructs: sequence, selection and repetition.
- Standard algorithms: bubble sort (passes, swaps), merge sort (divide and conquer, compare, join), binary search (needs ascending order) and linear search.
Programming
- Techniques: variables and constants, comments and indentation, subprograms (functions, procedures and library or built-in routines such as math and random), reading and writing text files, and global and local scope.
- Errors: syntax, logic and runtime (such as infinite loops). Debugging: unit tests, trace tables and test data (normal, boundary, erroneous).
- Data types: Boolean, integer, float and string. Operators: arithmetic and logic (AND, NOT, OR). Data structures: records, 1D arrays and 2D arrays.
Data
- Data representation: text (ASCII, labelled 8-bit; Unicode, labelled 16-bit), images (resolution, bit depth, a colour written as 0,0,255) and sound (sampling, bit rate).
- Number systems: binary 0100 1111, hexadecimal 4F, denary 79 and octal 117, all the same value, with conversions between them. Signed numbers: two’s complement (minus 9 becomes 0000 1001, inverted to 1111 0110, plus 1 gives 1111 0111) and sign and magnitude (1000 1001, with the sign bit as the most significant bit).
- Binary operations: addition, subtraction, division by 2 as a right shift and multiplication by 2 as a left shift.
- Storage and compression: bit, nibble (4 bits) and byte (8 bits); KB and MB (x1000) and KiB (x1024) under the heading IEC units; lossy compression (JPEG, MP3) and lossless compression, including run length encoding.
- Encryption: rail fence, pigpen, Vigenère (spelled Vingenére on the map) and Caesar ciphers, with “hello” shifted by 5 to give “mjqqt”.
Communication
- Networks: a group of devices connected with one another to communicate and share resources. Architectures: client-server and peer-to-peer. Types: LAN, PAN and WAN.
- Wired: faster and reliable, but a tripping hazard. Media: coaxial, twisted pair (UTP and STP) and fibre optic, where light totally internally reflects. Wireless: Bluetooth, WiFi, satellites, microwaves and 3G/4G; easily scalable and portable, but more interference.
- Protocols: the TCP/IP layers (application, transport, network, data link), HTTP(S), and email protocols POP3, SMTP and IMAP. Topologies: ring, mesh, bus and star.
- Internet: IP addressing (IPv4 and IPv6), gateway, DNS, and the World Wide Web (HTML, HTTPS, URLs). Hardware: modem, bridge, repeater, hub, switch, router and wireless access points.
- Security: improving security (audit trails, validation, program design, code reviews, modular testing, authentication, physical security, firewalls), threat identification (penetration testing, ethical hacking, network reviews) and cyber attacks (eavesdropping, unpatched software, and social engineering such as phishing, pharming and shoulder surfing).
The bigger picture
- Ethical (privacy, inclusion, professionalism), society (dependency, loss of jobs through automation, addiction), environment (non-renewable energy, recycling, toxic heavy metals, landfill) and legal (copyright, licensing of free, proprietary, freeware and open source software, intellectual property, patents).
- Emerging trends: quantum computing (qubits, the Bloch sphere, uses in cryptography, searching, simulations and machine learning), DNA computing, and artificial intelligence (neural networks, supervised learning, unsupervised learning, reinforcement learning).
Checking the worked examples
The two’s complement example follows the standard method. To make a negative number you take the binary form of the positive number, invert every bit, then add 1 [7]. So 9 is 0000 1001, inverting gives 1111 0110, and adding 1 gives 1111 0111, as the map shows. Wikipedia also notes that John von Neumann suggested two’s complement in his 1945 First Draft of a Report on the EDVAC [7], the same report that gives the Von Neumann model on the map its name [6].
The Caesar cipher example is correct too. Shifting each letter of “hello” forward by 5 gives “mjqqt”. The cipher is named after Julius Caesar, who according to Suetonius used a shift of three [5].
Notes on this infographic
- ASCII. The map labels ASCII as 8-bit. ASCII has 128 code points, storable as a seven-bit integer; 8-bit versions are extensions [1].
- Unicode. The map labels Unicode as 16-bit. Unicode began as a 16-bit design, but since Unicode 2.0 in 1996 it has not been restricted to 16 bits and can encode more than 1.1 million characters, using encodings such as UTF-8, UTF-16 and UTF-32 [2].
- KB and KiB. The map groups KB (x1000) and KiB (x1024) under IEC units. The IEC binary prefixes are kibi, mebi and so on, where kibi means 1,024 [3]; KB and MB as multiples of 1,000 are the decimal (SI) prefixes.
- DNS. The map writes DNS as Domain Name Server. DNS stands for Domain Name System, a hierarchical and distributed naming service for computers and other resources on the internet [4].
Sources
- Wikipedia, ASCII.
- Wikipedia, Unicode.
- Wikipedia, Binary prefix.
- Wikipedia, Domain Name System.
- Wikipedia, Caesar cipher.
- Wikipedia, Von Neumann architecture.
- Wikipedia, Two’s complement.
- Reddit, r/computerscience, A Map of Computer Science Basics 😉, the earliest posting of this graphic we found, by an account that has since been deleted.
Last reviewed 29 October 2026






