About this course
Dynamic typing, lists and dictionaries, classes and JSON persistence - building a CLI to-do app called TaskFlow.
This is a 6-week short course - enough depth to build real projects and a portfolio piece, without a long commitment. It runs online in the August 2026 cohort (starting 1 August 2026) and is taught the EchoLens way: you learn by doing real, gradeable work rather than just watching lectures.
What's included
- Live, instructor-led online sessions across 4 weeks (10 hours total).
- Hands-on coding quests you solve inside the EchoLens browser compiler - nothing to install.
- Gems, stages and a leaderboard that keep you moving instead of grade anxiety.
- A verified certificate with a scannable QR code, ready to share on LinkedIn, when you finish.
- Completely free - no fee, just create an account and start.
What you will learn
Course outline - level by level
10 leveles, each with hands-on quests you clear in the portal.
- Level 1. print() & Program Basics - print() shows text on screen. Python needs no main() and no semicolons - you just write statements top to bottom. Indentation (spaces) defines structure. print("TaskFlow ready") priority = 1 print(f"Priority: {priority}")
- Level 2. Variables, Types & input() - Variables need no type declaration - Python figures it out. input() reads text from the user, but ALWAYS returns a string, so you must convert with int() or float() for numbers. title = input("Task: ") priority = int(input("Priority: ")) print(f"{title} - {priority}")
- Level 3. Operators & Decisions - Arithmetic (+ - * / // %) and comparison (== != < >) operators, combined with if/elif/else, let the program make choices. // is integer division, % is remainder. priority = 7 if priority <= 3: print("Low") elif priority <= 6: print("Medium") else: print("High")
- Level 4. Loops (for, while) - for iterates over a sequence (or range of numbers); while repeats while a condition is true. break exits early, continue skips to the next iteration. running = True while running: cmd = input("> ") if cmd == "exit": running = False
- Level 5. Functions - def creates a function. It can take parameters and return values. Functions keep code organized and reusable - the building blocks of a clean program. def add_task(title, priority=3): return {"title": title, "priority": priority}
- Level 6. Lists - A list is an ordered, resizable collection: my_list = []. Add with append(), access by index from 0, and loop with for. Lists grow and shrink freely. tasks = [] tasks.append("Email client") for i, t in enumerate(tasks): print(i, t)
- Level 7. Dictionaries - A dictionary stores key-value pairs: task = {'title': 'Email', 'done': False}. You access values by key, not index. Perfect for modeling a record with named fields. task = {"title": "Email client", "priority": 2, "done": False, "due": "Friday"} print(task["title"])
- Level 8. Classes (OOP in Python) - A class is a blueprint for objects. __init__ sets up each new object's data, self refers to the object itself, and methods are functions that belong to the class. class Task: def __init__(self, title, priority): self.title = title self.priority = priority self.done = False def mark_done(self): self.done = True
- Level 9. Files & JSON - JSON is a text format for structured data. json.dump() saves your list of task-dictionaries to a file; json.load() reads it back. This is how TaskFlow remembers tasks between runs. import json with open("tasks.json", "w") as f: json.dump(tasks, f) with open("tasks.json") as f: tasks = json.load(f)
- Level 10. Error Handling - try/except catches errors before they crash the program. You 'try' risky code and 'except' handles the failure gracefully - essential for anything reading user input or files. try: n = int(input("Priority: ")) except ValueError: print("Please enter a number.")
How you submit: Coding quests solved in the built-in EchoLens compiler.
Who it's for
CS-104: Fundamentals of Python suits learners at a beginner to intermediate level who want a practical, project-based route into CS-104. You need only a browser and an internet connection - all coding runs inside the EchoLens compiler, so there is nothing to set up.
Certificate
Finish every stage and EchoLens issues a verified certificate carrying a QR code anyone can scan to confirm it on our site. You can add it to your CV or share it to LinkedIn in one click.