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.
Detailed notes
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).
Quick revision
- 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.
Types of questions asked
Every way this subtopic shows up in exams — how to recognise it, the formula or logic to use, and a solved example.
Type 1: Pioneer ↔ contribution matchingvery common4 practice Q
'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.
Example: Who invented the punched-card tabulating machine used to process the 1890 United States Census?
Herman Hollerith — his tabulating machine read punched cards; his company later merged into IBM.
Type 2: Translator identification (assembler / compiler / interpreter)very common4 practice Q
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.
Example: A program is translated all at once, after which it runs fast and reports all errors together. This translator is a —
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.
Type 3: Language level (1GL–5GL) and classificationcommon3 practice Q
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).
Example: Which of the following is a markup language rather than a programming language?
HTML — HyperText Markup Language only structures and formats a page; it contains no logic, loops or conditions.
Type 4: Language ↔ purpose pairingcommon2 practice Q
'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.
Example: FORTRAN, one of the earliest high-level languages (1957), was designed mainly for —
Scientific and engineering calculations — the name means FORmula TRANslation. Business data processing belongs to COBOL.
Shortcut tricks
⚡ Compiler vs Interpreter
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.
Example: A language translated line by line, stopping at the first error, uses?
An interpreter.
⚡ Who-does-what chain
Babbage Built (the idea), Ada Added (first program), Turing Thought (theory), von Neumann Noted (stored program), Berners-Lee Browsed (WWW).
Example: Father of the computer?
Charles Babbage - the Analytical Engine.
Where students lose marks
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).
Practice sets — 16 questions
Sets of 10, mixed across the question types above. Each answer comes with a step-by-step explanation.
Topic test · 10 questions
Suggested time 4 min · wrong answers go to your mistake notebook automatically.