Skip to content

A Basic Python Course for Caribbean Students

A free, 4-lesson introduction to Python for 4th, 5th, 6th form and 1st-year university students. No installation required — everything runs in your browser.

Welcome!

This short course is designed for students in the Caribbean (Forms 4–6 and first-year university) who want to learn Python the easy way.

  • No software to install — we use a free web-based Python interpreter.
  • 4 lessons — each takes about 25 minutes.
  • YouTube videos first — short, clear, and free.
  • Hands-on — you will write and run code in every lesson.

How to Set Up (2 minutes)

  1. Open this link in a new tab: Online Python Interpreter
    (It runs Python directly in your browser — no signup, no downloads.)
  2. You will see a big code editor on the left and output on the right.
  3. Type code → click Run → see results instantly.

Tip: Keep the interpreter tab open while watching videos. Pause the video and try the code yourself.

Lesson 1: Hello World, Variables & Basic Maths (25 minutes)

Learning Objectives

By the end of this lesson you will be able to:

  • Print messages to the screen
  • Create and use variables
  • Do simple calculations

Recommended Video (10 minutes)

Learn Python Variables & Comments – Complete Beginners Tutorial

Key Concepts

(copy and run these in the online interpreter)

# 1. Your first program
print("Hello, World!")
print("Welcome to Python from the Caribbean! 🌴")
# 2. Variables (like boxes to store information)
1
2
3
4
5
6
7
name = "Jamal"
age = 16
height = 1.75
is_student = True

print("My name is", name)
print("I am", age, "years old")
# 3. Basic maths
1
2
3
4
5
6
7
8
9
apples = 12
oranges = 8
total_fruit = apples + oranges
print("Total fruit:", total_fruit)

cost = 5.50
tax = 0.15 * cost
final_price = cost + tax
print("Final price:", round(final_price, 2))

Exercises (13 minutes)

  • Change the code to print your own name and the name of your island (e.g. "Trinidad" or "Barbados").
  • Calculate how many days are in 4 weeks (use multiplication).
  • Create variables for the price of a doubles ($8) and a bake ($6). Print the total for buying one of each.

Done? You have completed Lesson 1! 🎉

Lesson 2: User Input & Making Decisions (25 minutes)

Learning Objectives

  • Get input from the user
  • Use if, elif, and else to make decisions

Recommended Video (12 minutes)

Beginner Python Coding: User Input, Variables & Conditional Statements

Key Concepts

Getting input from the user
name = input("What is your name? ")
print("Hello", name, "from the Caribbean!")
Simple decision
1
2
3
4
5
6
7
8
age = int(input("How old are you? "))

if age >= 18:
    print("You can vote in the next election!")
elif age >= 16:
    print("You can get a learner's permit.")
else:
    print("Keep learning — your time will come!")

Exercises (13 minutes)

  • Ask the user for their favourite Caribbean dish (roti, curry, jerk chicken, etc.) and reply with a fun message.
  • Write a program that asks for a temperature in Celsius and tells the user if it is "hot" (above 30), "warm" (20–30) or "cool" (below 20).
  • Make a simple "pass or fail" checker: ask for a CXC score out of 100 and print "Pass" if 50 or above.

Done? Lesson 2 complete! You can now make your programs interactive.

Lesson 3: Loops – Repeating Things (25 minutes)

Learning Objectives

  • Use for loops to repeat a fixed number of times
  • Use while loops to repeat until a condition is met

Recommended Video (10 minutes)

Python While Loops & For Loops | Python tutorial for Beginners

Key Concepts

For loop — great for counting
1
2
3
print("Counting to 5:")
for i in range(1, 6):
    print(i)
While loop — repeats while something is true
1
2
3
4
count = 0
while count < 3:
    print("Caribbean strong!")
    count = count + 1
Looping through a list
1
2
3
islands = ["Jamaica", "Trinidad", "Barbados", "Grenada"]
for island in islands:
    print("I love", island)

Exercises (15 minutes)

  • Use a for loop to print the numbers from 1 to 10.
  • Use a while loop to keep asking the user for a number until they enter 0.
  • Create a list of 5 Caribbean countries. Print each one with "is beautiful!" after it.

Done? You now know how to make code repeat — very useful for games and calculations!

Lesson 4: Functions & A Mini Project (25 minutes)

Learning Objectives

  • Create your own reusable functions
  • Put everything together in a small program

Recommended Video (12 minutes)

Functions in Python | Python for Beginners

Key Concepts

simple function
1
2
3
4
5
def greet(name):
    print("Good morning,", name, "from the Caribbean!")

greet("Aisha")
greet("Kofi")
Function with calculation
1
2
3
4
def calculate_area(length, width):
    return length * width

print("Area of a rectangle:", calculate_area(8, 5))

Mini Project (15 minutes)

Create a 'Caribbean Quiz' program using everything you have learned:
def ask_question(question, answer):
    user_answer = input(question + " ")
    if user_answer.lower() == answer.lower():
        print("Correct! 🌟")
        return 1
    else:
        print("Sorry, the answer was", answer)
        return 0

score = 0
score += ask_question("What is the capital of Jamaica?", "Kingston")
score += ask_question("Which island is known as the 'Land of Many Waters'?", "Guyana")
score += ask_question("What does 'doubles' mean in Trinidad?", "food")

print("Your final score:", score, "out of 3")

Copy the code above into the interpreter and run it. Then add two more questions of your own!

Congratulations!

You have completed the Basic Python Course.

What you can do next:

  • Try more free YouTube courses (search "Python for beginners 2026")
  • Explore Google Colab for bigger projects
  • Join free communities like < > on Discord or local coding clubs

Share your code — take a screenshot of your quiz program and post it with #PythonCaribbean

Keep coding — the Caribbean needs more Python developers! 🇯🇲🇹🇹🇧🇧🇬🇩

Bonus Lesson: Lists & Dictionaries in Python (25 minutes)

Learning Objectives

By the end of this 25-minute lesson you will be able to:

  • Create and use lists
  • Create and use dictionaries
  • Understand when to use a list vs. a dictionary
  • Access, modify and loop through both structures

Quick Comparison Table

Feature List Dictionary
Syntax ["mango", "guava", "pineapple"] {"name": "Kiana", "age": 16, "island": "Trinidad"}
Ordered? Yes (items keep their position) Yes (since Python 3.7 – insertion order preserved)
How to access items By index (number starting at 0) By key (usually a string)
Example access fruits[0] → "mango" student["name"] → "Kiana"
Can have duplicates? Yes (you can have "mango" twice) No – keys must be unique
What it’s good for Ordered sequence of similar items Looking things up by name/description
Mutable? Yes (can add, remove, change items) Yes (can add, remove, change key-value pairs)
Typical Caribbean use List of Carnival bands in performance order Student name → CXC grade for each subject
Allows duplicate values? Yes Yes (values can be the same, only keys unique)
Common loop style for item in my_list: for key, value in my_dict.items():

Lists – Ordered collections

Creating a list
fruits = ["mango", "soursop", "guava", "pineapple", "pawpaw"]
Accessing items (index starts at 0)
2
3
4
print(fruits[0])          # mango
print(fruits[2])          # guava
print(fruits[-1])         # last item → pawpaw
Changing an item
fruits[1] = "sugar apple"
print(fruits)
Adding items
7
8
9
fruits.append("golden apple")     # adds to the end
fruits.insert(0, "coconut")       # adds at position 0
print("After adding:", fruits)
Length of list
print("We have", len(fruits), "fruits!")
Looping through a list (very common)
print("\nMy favourite fruits:")
for fruit in fruits:
    print("→", fruit.title())

Quick Task (4 min)

Create a list called islands with at least 6 Caribbean islands Print the second and the last island Add "Dominica" to the end Print how many islands are in your list

Dictionaries – Key-Value pairs

Creating a dictionary
1
2
3
4
5
6
7
student = {
    "name": "Kiana Ramkissoon",
    "form": 5,
    "school": "Holy Name Convent",
    "subjects": ["Math", "English A", "Physics", "POA"],
    "grades": {"Math": "I", "English A": "II"}
}
Accessing values using keys
print("Student name:", student["name"])
print("Form:", student["form"])
Adding / changing values
student["island"] = "Trinidad"
student["form"] = 6
print("Updated:", student["island"], student["form"])
Getting all keys and values
print("\nKeys:", list(student.keys()))
print("Values:", list(student.values()))
Looping through a dictionary
print("\nStudent information:")
for key, value in student.items():
    print(key.capitalize() + ":", value)

Quick Task (5 min)

Create a dictionary called recipe for making doubles with at least 6 key-value pairs. Example keys:

  • main_ingredient
  • price
  • needs_channa
  • best_sauce
  • vendors (a list of 3 popular vendors)
  • calories_per_serving

Print two pieces of information from your dictionary.

Lists vs Dictionaries – Side-by-side example

Using a LIST when order & repetition matter
playlist = ["Machel Monday", "Kes", "Voice", "Machel Monday", "Nadia Batson"]
print("Third song:", playlist[2])
Using a DICTIONARY when you want to look up by name/description
song_info = {
    "title": "Ministry of the Road",
    "artist": "Machel Montano",
    "year": 2025,
    "bpm": 135,
    "genre": "Soca"
}

print("Artist:", song_info["artist"])
print("BPM:", song_info["bpm"])

When to choose which?

Situation Better Choice Reason / Example
List of 10 popular soca songs in order List Order matters, duplicates possible
Looking up capital city by country name Dictionary Fast lookup: capitals["Barbados"] → "Bridgetown"
Names of people in a doubles line (first come first) List Position = who arrived first
Your CXC timetable (subject → room number) Dictionary Quick lookup by subject name
Shopping list (you might buy 3 packs of channa) List Allows duplicates ("channa", "channa", "channa")
Festival food stalls and their prices Dictionary "Doubles": 10, "Bake & Shark": 15

Final Mini Project (8–10 minutes)

Caribbean Festival Planner

Combine lists and dictionaries
1
2
3
4
5
6
7
8
festival = {
    "name": "Trinidad Panorama 2026",
    "date": "February 14",
    "location": "Queen's Park Savannah",
    "bands": ["Desperadoes", "Renegades", "All Stars", "Phase II"],
    "ticket_prices": {"VIP": 350, "General": 150, "Child": 75},
    "food_stalls": ["Doubles", "Bake & Shark", "Jerk Chicken", "Pelau"]
}
Print nice summary
print("Welcome to", festival["name"], "!")
print("Date:", festival["date"], "at", festival["location"])
print("\nFeatured steelbands:")
for band in festival["bands"]:
    print("•", band)

print("\nCome hungry! Food available:")
for food in festival["food_stalls"]:
    print("→", food)

print("\nTicket prices:")
for category, price in festival["ticket_prices"].items():
    print(category, "– TT$", price)

Challenge (if you have 2–3 extra minutes):

  • Add a new key "best_viewing_spots" that contains a list of 4 good places to stand/watch Panorama. Then print them nicely.

Well done!

You have learned two of the most powerful and commonly used data structures in Python.

Next steps (when you have more time):

  • Learn how to sort lists: fruits.sort()
  • Loop with index: for i, fruit in enumerate(fruits):
  • Nested structures: list of dictionaries, dictionary of lists

Keep practising — lists and dictionaries appear in almost every real Python program!

🇹🇹🇯🇲🇧🇧 Keep coding, Caribbean! 🌴🌴

Course created using only free resources — February 2026