Chapter 135 min read

Introduction to Computer Systems: From Data to Programming Languages

CC102: Computer Programming 1 — St. Cecilia's College–Cebu, Inc.

Released2025–2026
Core MottoDoing ordinary things extraordinarily well
CreatorsMichael John Bustamante

1. What is Data & How Does it Differ from Information?

Before understanding computers, software, or programming, we must first understand the fundamental raw material of computing: Data.
Everyday Analogy: The Kitchen Chef
Think of raw data like unwashed, raw ingredients bought at a Minglanilla carenderia market. Raw meat and vegetables cannot be served as-is. The kitchen helper (computer) processes and cooks them according to a recipe (program) to produce a delicious meal (Information)!

Defining Data vs. Information

Data:Raw, unorganized facts, numbers, symbols, or observations (e.g., '102', 'John', '98.5', 'True'). On its own, raw data lacks context and meaning.
Information:Data that has been processed, organized, formatted, and structured so that it becomes meaningful, useful, and actionable (e.g., 'Student John scored 98.5% in CC102').

Why Data is Important in Creating Systems (Especially in IT)

In Information Technology, systems exist entirely to gather, store, transform, and communicate data securely. Databases, mobile apps, enterprise software, and cloud platforms are designed around data. Without understanding data structures and data flow, we cannot build functional IT systems.

2. The IPO Cycle & Von Neumann Architecture

Once data is understood, we look at how computers process it through the Input-Process-Output (IPO) cycle on the Von Neumann hardware model.
Key Principle: Stored-Program Concept
Proposed by mathematician John von Neumann in 1945, this design introduced storing BOTH program instructions and data inside the same shared memory bank. Before this, computers had to be physically rewired to perform different tasks!

The Input-Process-Output (IPO) Model

Input Unit:How raw data enters the computer (e.g., keyboard, mouse, or touchscreen).
Processing Unit (CPU):The 'brain' that processes data according to instructions.
Output Unit:How the computer presents processed information to users (e.g., monitor screen, speaker, or printer).

1. Central Processing Unit (CPU)

Control Unit (CU):The conductor/manager. It fetches instructions from memory, decodes what they mean, and directs data traffic.
Arithmetic Logic Unit (ALU):The mathematician. It performs math calculations (+, -, *, /) and logical decisions (AND, OR, NOT, comparisons).
Registers:Super-fast, microscopic storage cells located inside the CPU to hold tiny pieces of data needed right this millisecond.

2. Main Memory & Bus System

Shared Memory Unit:Holds both program code and active data side-by-side.
System Buses:High-speed electrical pathways that transport signals:
Control Bus:Transmits signals from the CU.
Address Bus:Carries memory addresses pointing where data should go.
Data Bus:Transfers the actual data bytes back and forth.

3. The Fetch-Decode-Execute Cycle

The fundamental engine loop running billions of times per second inside your processor:
1.
Fetch:Get the next instruction/data from RAM into the CPU.
2.
Decode:The Control Unit figures out what action is requested.
3.
Execute:The ALU or CU carries out the command on the data.
4.
Store:Save results back into registers or RAM.
Classroom Discussion Starter
Why is the 'Von Neumann Bottleneck' a challenge in modern computer architecture?
Takeaway Goal: Because CPU computing speeds grow faster than RAM transfer rates, the single shared data bus becomes a traffic bottleneck while the CPU waits for data to arrive.

3. How Data is Held: Memory & Storage Hierarchy

Understanding where data is temporarily treated while executing versus how files are saved permanently.

Primary Memory (Volatile vs. Non-Volatile)

RAM (Random Access Memory):Extremely fast workspace memory where active C variables and data reside during program execution. It is volatile, meaning everything disappears when power turns off!
ROM (Read-Only Memory):Non-volatile memory containing permanent boot scripts (like the BIOS) installed by hardware manufacturers.

Secondary Storage (Permanent)

What it is:Non-volatile, high-capacity storage like SSDs, HDDs, and USB flash drives.
Why we need it:Holds operating systems, compiled `.exe` files, and documents permanently even when powered off. Much slower than RAM, but far cheaper per gigabyte.

The Speed vs. Capacity Spectrum

1.
Registers (Fastest, Smallest, Highest Cost per byte)
2.
CPU Cache (L1, L2, L3)
3.
Primary RAM (Fast, Medium Capacity)
4.
Secondary Storage / SSD (Slower, High Capacity, Lowest Cost)

4. Timeline: From Low-Level Bits to High-Level Code

How computer languages evolved to make giving data instructions easier for humans.

1. Machine Language (Low-Level)

What it is:The native language of the CPU made entirely of 1s and 0s (binary code representing electrical voltages).
Pros/Cons:The computer understands it instantly, but it is extremely difficult for humans to write, read, or fix errors.
bash
10110000 01100001

2. Assembly Language (Mid-Level)

What it is:Uses short word codes called mnemonics (like ADD, MOV, SUB) instead of raw 1s and 0s.
Pros/Cons:Easier than machine language, but still requires deep knowledge of computer hardware.
bash
MOV AL, 61h

3. High-Level Language (Human-Friendly)

What it is:Uses English-like words and math signs (like printf, if, +, -).
Examples:C, C++, Java, Python.
Pros:Very easy to learn, easy to fix errors, and works across different computers without hardware rewiring.
c
printf("Hello World");

5. Understanding Programming Languages & Syntax

Humans use languages like Cebuano or English to talk to each other; we use programming languages to give precise instructions to computers.

What is Syntax?

Syntax means the grammar rules of a programming language. Just like in English where a sentence must end with a period, in C, code lines often end with a semicolon (;). If you break a syntax rule, the computer gets confused and shows a Syntax Error.

Key Qualities of a Good Programming Language

Readability:Easy for humans to read and understand.
Portability:Able to run on different types of computers (Windows, Mac, Linux).
Efficiency:Runs fast without using too much computer memory.
Good Tools:Includes an Integrated Development Environment (IDE) to write, test, and fix code in one place.