Introduction to Programming & Python
2280 words
11 min read
Visual companion
Python
Type and operator map
Python Week 1: the first filter for runtime behavior
View
Revision summary
What this note is really saying
Short form
# Introduction to Programming & Python > **Why read this?** You probably use software every day — WhatsApp, Google Maps, Instagram — but have you ever wondered how those apps actually work? Programming is how we give step-by-step instructions to a computer to make it do useful things.

Introduction to Programming & Python
Why read this? You probably use software every day — WhatsApp, Google Maps, Instagram — but have you ever wondered how those apps actually work? Programming is how we give step-by-step instructions to a computer to make it do useful things. This chapter is your very first step into that world.
🎯 Learning Objectives
By the end of this topic, you will be able to:
- Explain what a program is and how computers follow instructions
- Set up the Python REPL and write your first line of code
- Use
print()to display text and numbers on the screen - Understand the difference between source code, interpreter, and output
- Recognize syntax errors and fix basic mistakes
📋 Prerequisites
- None. This course assumes ZERO prior programming experience.
- Basic computer skills: opening applications, typing, saving files.
📖 Core Content
1.1 What Is Programming?
Intuition: Imagine you're teaching a friend how to make tea. You'd give them a recipe:
pseudo1. Boil water. 2. Put a tea bag in a cup. 3. Pour hot water into the cup. 4. Wait 3 minutes. 5. Remove the tea bag. 6. Add sugar if desired.
That recipe is a program (a sequence of instructions). The friend is the computer. Programming is just writing recipes that a computer can follow — except computers are extremely literal and need every tiny step spelled out.
Why it matters: Every website you visit, every game you play, every app on your phone is nothing but a very long, very detailed list of instructions written by a programmer. By learning to program, you learn to create instead of just consume.
1.2 Computer Architecture (Simplified)
Diagram
Rendering diagram
- Source code: The text you write in Python (a
.pyfile). - Interpreter: A program that reads your source code and translates it into machine instructions the CPU can understand.
- CPU (Central Processing Unit): The "brain" that actually does the work.
- Memory (RAM): Temporary storage for data while the program runs.
1.3 Your First Python Program
Let's write the simplest possible Python program.
python# runnable print("Hello, world!")
Output:
pseudoHello, world!
Line-by-line breakdown:
print— this is a function (a built-in command in Python). It tells Python "display what's in the parentheses on the screen."(and)— parentheses contain the information you want to print."Hello, world!"— this is a string literal (a piece of text enclosed in quotes). The quotes tell Python "this is text, not code."- The string
"Hello, world!"is called an argument — the input we give to theprintfunction.
Mental model: Think ofprint()as a messenger. You hand the messenger a message (inside the parentheses), and they deliver it to the screen.
1.4 The Python REPL
REPL stands for Read-Eval-Print Loop. It's an interactive environment where you type Python code and see results immediately.
When you open Python's interactive mode (by typing
python in a terminal or using Repl.it), you see >>> — that's the prompt telling you "I'm ready for your next instruction."
Example of a REPL session:python>>> 2 + 3 5 >>> "Hello" + " " + "World" 'Hello World' >>> print("Hi!") Hi!
Why this matters: The REPL is your best friend for learning. You can test small ideas instantly without creating a full program. Experiment fearlessly — you can't break anything.
1.5 Values and Data Types
Every piece of data in Python has a type — a category that tells Python what kind of data it is and what operations are allowed.
| Type Name | What It Stores | Example | Explanation |
|---|---|---|---|
int (integer) | Whole numbers (positive, negative, zero) | 42, -7, 0 | No decimal point |
float (floating point) | Numbers with decimals | 3.14, -0.5, 1.0 | Has a decimal point |
str (string) | Text | "Hello", 'Python' | Enclosed in quotes |
bool (boolean) | True/False values | True, False | Only two possible values |
You can check the type of any value using the
type() function:python# runnable print(type(42)) print(type(3.14)) print(type("Hello")) print(type(True))
Output:
java<class 'int'> <class 'float'> <class 'str'> <class 'bool'>
Common confusion:"42"(in quotes) is a string, not an integer.42(without quotes) is an integer. They look the same on screen but behave differently. For example,42 + 1gives43, but"42" + "1"gives"421"(it concatenates text).
1.6 Literals — Writing Values in Code
A literal is a value written directly into your code.
python# runnable print(5) # integer literal print(3.14159) # float literal print("Python") # string literal (double quotes) print('Python') # string literal (single quotes) print(True) # boolean literal
Output:
pseudo5 3.14159 Python Python True
Note: Both"and'work for strings in Python. Choose one and be consistent. The most common convention is double quotes"...".
1.7 Comments — Writing Notes in Your Code
Comments are text that Python ignores entirely. They're for humans to read.
python# runnable # This is a comment. Python won't run this line. print("This will run") # Comments can go after code too. # Multiple lines of comments # help explain what's happening. # Use them liberally!
Output:
pseudoThis will run
Why comments matter: When you come back to your code a week later (or when someone else reads it), comments explain why you did something. They're like sticky notes on your code.
1.8 How Python Runs Your Code
Diagram
Rendering diagram
Step-by-step:
- You write Python code in a text file (e.g.,
myprogram.py). - You run
python myprogram.pyin the terminal. - The Python interpreter reads every line from top to bottom.
- If any line violates Python's grammar rules (syntax), Python stops immediately and shows an error.
- If everything is correct, Python translates the code to bytecode (a low-level intermediate representation).
- The Python Virtual Machine (PVM) executes the bytecode.
- The result appears on your screen.
1.9 Example 1: Print Multiple Items
python# runnable print("The answer is", 42) print("Pi is approximately", 3.14159)
Output:
pseudoThe answer is 42 Pi is approximately 3.14159
What's happening: The
print() function can take multiple arguments separated by commas. It automatically adds a space between them.1.10 Example 2: Simple Calculations
python# runnable print(15 + 3) print(15 - 3) print(15 * 3) print(15 / 3)
Output:
pseudo18 12 45 5.0
Notice: Division (/) always returns afloat(decimal) result, even when the numbers divide evenly.
1.11 Example 3: Combining Text and Calculations
python# runnable print("15 + 3 =", 15 + 3) print("15 * 3 =", 15 * 3)
Output:
pseudo15 + 3 = 18 15 * 3 = 45
What's happening: The
print() function evaluates 15 + 3 (producing 18), then prints both the string and the number.1.12 Example 4: Using the REPL as a Calculator
python>>> 200 + 37 237 >>> 50 - 12 * 3 # multiplication happens before subtraction 14 >>> (50 - 12) * 3 # parentheses change the order 114 >>> 2 ** 10 # ** means "to the power of" 1024
1.13 Example 5: Your First Error
Let's intentionally make a mistake:
python# runnable print("Hello)
Output (error):
pseudoSyntaxError: EOL while scanning string literal
What happened: We forgot to close the string with a matching quote. Python reached the end of the line (EOL) while still inside the string, and it didn't know what to do.
How to fix: Add the missing closing quote:
print("Hello")📐 Key Concepts Reference
| Concept | Syntax | Purpose | Example |
|---|---|---|---|
| Print function | print(value) | Display output on screen | print("Hi") |
| String literal | "text" or 'text' | Represent text in code | "Hello" |
| Integer literal | 42 | Represent whole numbers | 100 |
| Float literal | 3.14 | Represent decimal numbers | -0.5 |
| Boolean literal | True / False | Represent truth values | True |
| Type check | type(value) | Find the data type | type(42) → int |
| Comments | # text | Add human-readable notes | # this is a comment |
⚠️ Common Pitfalls
Pitfall 1: Unmatched Quotes
The mistake:
print("Hello) or print('Hello") Why it happens: You started with one quote type but ended with another, or forgot to close. The error: SyntaxError: EOL while scanning string literal How to fix: Ensure both opening and closing quotes match: print("Hello") or print('Hello').Pitfall 2: Forgetting Parentheses
The mistake:
print "Hello" (no parentheses) Why it happens: In Python 2, print was a statement. In Python 3 (which we use), print is a function and requires parentheses. The error: SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello")? How to fix: Always use parentheses: print("Hello").Pitfall 3: Confusing Text and Numbers
The mistake:
print(Hello) without quotes around Hello. Why it happens: You think Hello is text that should be displayed directly. The error: NameError: name 'Hello' is not defined How to fix: Text values must be in quotes: print("Hello"). Without quotes, Python thinks Hello is a variable name.Pitfall 4: Mixing Up Quote Types
The mistake:
print('It's a sunny day') Why it happens: The apostrophe in "It's" is the same character as the single quote used to delimit the string. The error: SyntaxError: invalid syntax How to fix: Use double quotes for the string: print("It's a sunny day"), or escape the apostrophe: print('It\'s a sunny day').📝 Practice Questions
Q1: What will the following code output?pythonprint("Hello", "World")Answer:pseudoHello WorldTheprint()function automatically separates multiple arguments with a space. Q2: What is the difference between print(5 + 3) and print("5 + 3")?Answer:
print(5 + 3)evaluates the expression first (5 + 3 = 8) and outputs8.print("5 + 3")prints the literal text5 + 3because it's in quotes (a string).- Output:
8vs5 + 3Q3: What error does this code produce? How would you fix it?pythonprint("Welcome to Python)Answer: Error:SyntaxError: EOL while scanning string literalFix: Add a closing double-quote:print("Welcome to Python")The error happens because the string was started with"but never closed before the end of the line. Q4: Write code to display "My age is 20" using a print statement.Answer:pythonprint("My age is 20")Or using the comma syntax:pythonprint("My age is", 20)Both produce the same output:My age is 20Q5: What does the type() function return for each of these values?pythontype(3.0) type("3") type(3) type(True)Answer:
type(3.0)→<class 'float'>(has a decimal point)type("3")→<class 'str'>(in quotes)type(3)→<class 'int'>(whole number, no quotes)type(True)→<class 'bool'>(boolean literal) Q6: Predict the output:pythonprint(10, 20, 30) print(10 + 20 + 30) print("10 + 20 + 30")Answer:pseudo10 20 30 60 10 + 20 + 30Line 1: prints three numbers separated by spaces. Line 2: evaluates the sum (60) and prints the result. Line 3: prints the string literally. Q7: Which of these variable names are VALID in Python?pseudo1st_place | first_place | first-place | FirstPlace | first placeAnswer:
first_place— Valid (starts with letter, uses underscore)FirstPlace— Valid (starts with letter, case matters though)1st_place— Invalid (starts with a digit)first-place— Invalid (hyphen is not allowed)first place— Invalid (space is not allowed)Variable names must start with a letter or underscore, followed by letters, digits, or underscores. Q8: Fix the errors in this code:pythonprint("Hello) print('How are you?) print(5 + "3")Answer:pythonprint("Hello") # missing closing quote print('How are you?') # missing closing apostrophe print(5 + 3) # can't add int and str; remove quotes from 3Fixed output:pseudoHello How are you? 8Q9: What is the output of this code?pythonprint("Result:", 2 * 5, "and", 2 ** 5)Answer:pseudoResult: 10 and 32
2 * 5evaluates to102 ** 5(2 to the power 5) evaluates to32Q10: Write a program that prints your name, your age, and the result of "50 divided by 7" on three separate lines.Answer:python# runnable print("My name is Rahul") print("My age is 25") print("50 divided by 7 is", 50 / 7)Output:pseudoMy name is Rahul My age is 25 50 divided by 7 is 7.142857142857143
🔗 Cross-References
- Next Topic: Variables, Data Types & Expressions — Learn how to store data in named containers.
- BSCS1001 Computational Thinking: Algorithms are the foundation of programming — see how flowcharts connect to code.
- BSCS2002 PDSA: Later in the degree, you'll explore how programs manage data efficiently.
- Reference: Python for Everybody, Chapter 1 — "Why should you learn to write programs?"
- Video: L1: A quick introduction to variables | Programming in Python Join Discord Next2. Variables & Types