Computer Fundamentals
🔒 Log in to trackPioneers and programming-language levels
🔒 Log in to track| Person | Known as |
|---|---|
| Charles Babbage | Father of the computer (designed the Analytical Engine, 1837) |
| Ada Lovelace | First programmer (notes on the Analytical Engine) |
| Alan Turing | Father of theoretical computer science & AI (Turing machine, Turing test) |
| John von Neumann | Stored-program architecture |
| Tim Berners-Lee | Inventor of the WWW |
| Grace Hopper | COBOL pioneer, coined 'debugging' (moth in Mark II) |
| Blaise Pascal | Early mechanical adder (Pascaline) |
| Gottfried Leibniz | Stepped reckoner (multiply/divide) |
Language levels:
| Level | Form | Translated by | Examples |
|---|---|---|---|
| 1GL Machine | 0s and 1s | Needs no translator | CPU instructions |
| 2GL Assembly | Mnemonics (ADD, MOV) | Assembler | 8086 assembly |
| 3GL High-level | English-like | Compiler or interpreter | FORTRAN (1957, first major HLL), COBOL (1959), C, Java, Python |
| 4GL | Declarative, close to results | Built into DBMS/tools | SQL, report generators |
| 5GL | Constraint/AI based | Inference engines | Prolog, Lisp (used in AI) |
Compiler converts the whole program to object code in one pass before running (C, C++). Interpreter translates and runs line by line (classic Python, JavaScript). Assembler converts assembly mnemonics to machine code. HTML is a markup language, not a programming language.
The people who built the idea
Exams pair a name with a contribution. Learn the pairs as a table — no stories needed.
| Person | Remembered as / for |
|---|---|
| Charles Babbage | Father of the computer; designed the Analytical Engine (1837) and the Difference Engine (1822) |
| Ada Lovelace | First programmer — wrote notes/programs for the Analytical Engine |
| Alan Turing | Father of theoretical computer science; Turing machine (1936), Turing test (1950) |
| John von Neumann | Stored-program architecture |
| Blaise Pascal | Pascaline (1642), an early mechanical adding machine |
| Gottfried Leibniz | Stepped Reckoner — calculator that could also multiply |
| Joseph Jacquard | Punched cards for his weaving loom (1801) |
| Herman Hollerith | Punched-card tabulating machine for the 1890 US Census; his firm later became IBM |
| Grace Hopper | COBOL pioneer; wrote one of the first compilers |
| Tim Berners-Lee | Invented the World Wide Web (not the Internet) |
| Douglas Engelbart | Invented the computer mouse |
| Seymour Cray | Father of the supercomputer |
Language levels (GL = Generation of Language)
| Level | Name | Looks like | Needs a translator? |
|---|---|---|---|
| 1GL | Machine language | Pure 0s and 1s | No — the CPU reads it directly |
| 2GL | Assembly language | Mnemonics: ADD, MOV | Yes — assembler |
| 3GL | High-level languages | FORTRAN, COBOL, C, Java, Python | Yes — compiler / interpreter |
| 4GL | Very high level | SQL, report generators | Yes |
| 5GL | Constraint/logic based | PROLOG, LISP-style AI work | Yes |
The lower the level, the closer to the machine; the higher, the closer to human language. HTML is a markup language, not a programming language — it only structures a page.
The three translators
| Translator | Input | How it works | Error behaviour |
|---|---|---|---|
| Assembler | Assembly language | Converts mnemonics to machine code | — |
| Compiler | Whole high-level program | Translates all at once, then runs fast | Lists all errors together |
| Interpreter | High-level program | Translates and runs line by line | Stops at the first error |
Memory hook: Compiler = Complete translation first; Interpreter = instant, one line at a time (slower to run).
Famous languages and their use
- FORTRAN (1957) — science and engineering formulas (FORmula TRANslation).
- COBOL (1959) — business and banking data processing (COmmon Business Oriented Language).
- BASIC — beginners' teaching language. C (Dennis Ritchie, 1972) — system programming, built UNIX's world.
- C++ (Bjarne Stroustrup) — object-oriented C. Java (James Gosling) — platform-independent ("write once, run anywhere").
- Python (Guido van Rossum) — simple syntax, data science and AI. SQL — database queries (a 4GL).
Question types you will see
Each type: how to recognise it, the method step by step, and one question to try.
Pioneer ↔ contribution matching
'Who is called the father of the computer?', 'who invented the mouse/WWW/punched cards?', 'the first programmer was' — a name with four contributors as options.
Run the table top to bottom: Babbage (father, Analytical Engine), Ada (first programmer), Turing (theory/AI), von Neumann (stored program), Hopper (COBOL/compiler), Berners-Lee (WWW), Engelbart (mouse), Hollerith (census tabulator).
Classic confusions: Ada vs Hopper (first programmer vs COBOL pioneer); Berners-Lee invented the WWW, not the Internet.
Eliminate options whose person belongs to a different row you already know.
Who invented the punched-card tabulating machine used to process the 1890 United States Census?
Show solutionHide solution
Herman Hollerith — his tabulating machine read punched cards; his company later merged into IBM.
Translator identification (assembler / compiler / interpreter)
A translation behaviour is described — whole program at once, line by line, mnemonics to machine code — and the translator is asked.
Mnemonics (ADD, MOV) → assembler. Whole program translated before running → compiler. Line-by-line translate-and-run → interpreter.
Error clue: 'shows all errors together' = compiler; 'stops at the first error' = interpreter.
Speed clue: compiled programs run faster; interpreted ones are easier to test.
A program is translated all at once, after which it runs fast and reports all errors together. This translator is a —
Show solutionHide solution
Compiler — it converts the complete high-level program into machine code in one pass. Line-by-line translation with a stop at the first error is an interpreter.
Language level (1GL–5GL) and classification
Which level machine/assembly/SQL belongs to, or 'which is not a programming language' (HTML trap).
Levels: 1GL machine (0/1, no translation) → 2GL assembly (assembler) → 3GL FORTRAN/COBOL/C → 4GL SQL → 5GL AI logic languages.
HTML is a markup language — the standard 'odd one out' answer.
Machine language needs no translator; assembly needs an assembler (not a compiler).
Which of the following is a markup language rather than a programming language?
Show solutionHide solution
HTML — HyperText Markup Language only structures and formats a page; it contains no logic, loops or conditions.
Language ↔ purpose pairing
'COBOL is mainly used for…', 'FORTRAN was designed for…', 'SQL is used to…' — a language with four uses as options.
Science/engineering formulas → FORTRAN. Business/banking data processing → COBOL. Beginners → BASIC. Databases → SQL. System programming → C.
Java = platform-independent apps; Python = AI/data science with simple syntax.
Swap-traps pair COBOL with science and FORTRAN with business — remember the initials: COBOL = COmmon Business.
FORTRAN, one of the earliest high-level languages (1957), was designed mainly for —
Show solutionHide solution
Scientific and engineering calculations — the name means FORmula TRANslation. Business data processing belongs to COBOL.
Shortcuts that save time
Compiler = Complete (whole program first, fast execution, shows all errors together); Interpreter = Instant (line by line, stops at first error). C/C++ -> compiler; Python/JS -> interpreter.
A language translated line by line, stopping at the first error, uses?
Show solutionHide solution
An interpreter.
Babbage Built (the idea), Ada Added (first program), Turing Thought (theory), von Neumann Noted (stored program), Berners-Lee Browsed (WWW).
Father of the computer?
Show solutionHide solution
Charles Babbage - the Analytical Engine.
Mistakes to avoid
Where most students lose marks on this subtopic.
Calling HTML a programming language - it only structures/markups content.
Saying machine language needs an assembler - assembly (2GL) does; 1GL needs no translation.
Mixing Ada Lovelace (first programmer) with Grace Hopper (COBOL pioneer).
Quick revision
Read this the night before the exam.
Babbage = father of computer + Analytical Engine; Ada = first programmer; Turing = theory + AI test; von Neumann = stored program.
Pascal 1642 Pascaline; Jacquard punched cards (loom); Hollerith punched-card census tabulator → IBM.
Hopper = COBOL + first compiler; Berners-Lee = WWW; Engelbart = mouse; Cray = supercomputer.
1GL machine → 2GL assembly (assembler) → 3GL FORTRAN/COBOL/C (compiler/interpreter) → 4GL SQL → 5GL AI logic.
Compiler = whole at once + all errors; interpreter = line by line + stops at first error.
HTML = markup, not programming.
Practice: 16 questions
Sets of 10, mixed across the question types above. Every answer has a step-by-step explanation.
Topic test · 10 questions
Suggested time 4 min · wrong answers go to your mistake notebook automatically.