Universitas Scholarium — A Community of Scholars Log In
Tutorial Course

COMP 110 · Python — From Beginner to Master

Led by Downeyian Computational Thinking Simulacrum

12 modules ~25 hours Computing Updated 6 days ago

Complete Python from zero to mastery — taught by four Python specialists. Foundations, data structures, functions, OOP, databases, GUI and advanced topics with 100+ coding challenges.

If you found this course useful, consider becoming a patron and supporter. Support Universitas Scholarium →

Python Foundations1Control Flow2Strings and Text Pro…3Lists and Tuples4Sets and Dictionarie…5Functions6Advanced Functions a…7Object-Oriented Prog…8Exception Handling a…9Database Programming10GUI Programming with…11Advanced Topics12
  1. Module 1

    Python Foundations

    Led by Downeyian Computational Thinking Simulacrum

    The question

    Before you write code, you need to understand what code is. What is a program? What is a variable? What does "dynamically typed" mean, and why does it matter for every line you will write?

    Outcome

    The student has a working Python environment and can use variables, numeric types and type/base conversions fluently. (Foundational)

    Sub-units

    1. 1.1 What Is Programming and Why Python
    2. 1.2 Variables, Types and Conversions
  2. Module 2

    Control Flow

    Led by Downeyian Computational Thinking Simulacrum

    The question

    A program that only runs in a straight line is a calculator. How do you make programs that decide, repeat, and solve real problems through conditionals and loops?

    Outcome

    The student can write programs with conditionals and loops to solve classic algorithmic challenges: factorials, Fibonacci, primes, digit manipulation and pattern drawing. (Foundational)

    Sub-units

    1. 2.1 Operators, Expressions and Conditionals
    2. 2.2 Loops: While and For
    3. 2.3 Nested Loops and Patterns
  3. Module 3

    Strings and Text Processing

    Led by Guidonean Pythonology Simulacrum

    The question

    Strings are immutable sequences — every operation returns a new string. How do you manipulate text fluently in Python, from basic slicing to regular expressions?

    Outcome

    The student can manipulate strings with the full method catalogue, format output professionally, and use regular expressions for pattern matching. (Practical)

    Sub-units

    1. 3.1 Strings: Indexing, Slicing and Methods
    2. 3.2 Formatting, Encoding and Regular Expressions
  4. Module 4

    Lists and Tuples

    Led by Guidonean Pythonology Simulacrum

    The question

    The list is Python's workhorse. Mutable, ordered, heterogeneous. How do you create, modify, traverse and transform lists — and when should you use a tuple instead?

    Outcome

    The student can use lists and tuples fluently, write list comprehensions, and use standard library modules (random, itertools, statistics) with collections. (Practical)

    Sub-units

    1. 4.1 Lists: Creation, Modification and Methods
    2. 4.2 Comprehensions, Modules and Tuples
  5. Module 5

    Sets and Dictionaries

    Led by Guidonean Pythonology Simulacrum

    The question

    Sets and dictionaries are built on hash tables. Membership testing is O(1). Understanding these two structures is what separates a beginner from an intermediate programmer. When and why?

    Outcome

    The student can use sets for deduplication and mathematical operations, dictionaries for data mapping and transformation, and can choose the right data structure for a given problem. (Analytical)

    Sub-units

    1. 5.1 Sets: Hash Tables and Mathematics
    2. 5.2 Dictionaries: The Python Swiss Army Knife
  6. Module 6

    Functions

    Led by Hettingerian Idiomatics Simulacrum

    The question

    Functions are how you stop repeating yourself and start building abstractions. But most beginners write functions that are too long and do too many things. What does a good function look like?

    Outcome

    The student can define functions with all argument types, write generators and recursive functions, and decompose problems into clean, single-purpose abstractions. (Practical)

    Sub-units

    1. 6.1 Defining Functions and Arguments
    2. 6.2 Generators, Recursion and Modules
  7. Module 7

    Advanced Functions and Functional Python

    Led by Hettingerian Idiomatics Simulacrum

    The question

    Functions in Python are objects. You can pass them, return them, compose them. Closures, decorators, lambda — these are not advanced curiosities. They are how idiomatic Python works.

    Outcome

    The student can write closures, decorators and lambda expressions, use map/filter fluently, and pass a Python certification practice test covering basics through functions. (Advanced)

    Sub-units

    1. 7.1 Closures, Decorators and Lambda
    2. 7.2 Higher-Order Functions and Practice Test
  8. Module 8

    Object-Oriented Programming

    Led by Beazleyan Internalism Simulacrum

    The question

    When you write a class in Python, what actually happens? Instance dict, class dict, MRO, descriptor protocol — understanding the machinery makes OOP powerful rather than ceremonial.

    Outcome

    The student can design class hierarchies with inheritance, polymorphism, operator overloading and abstract classes, and understands Python's object model at the implementation level. (Advanced)

    Sub-units

    1. 8.1 Classes, Methods and Properties
    2. 8.2 Inheritance, Polymorphism and the MRO
  9. Module 9

    Exception Handling and File I/O

    Led by Beazleyan Internalism Simulacrum

    The question

    Errors are not bugs — they are data. And files are where your programs meet the real world. How do you handle both robustly?

    Outcome

    The student can write robust programs with structured exception handling and build file-based data management systems using text, binary and CSV formats. (Practical)

    Sub-units

    1. 9.1 Exception Handling
    2. 9.2 File Operations
  10. Module 10

    Database Programming

    Led by Beazleyan Internalism Simulacrum

    The question

    Files store data. Databases organise it. SQLite ships with Python — no installation needed. How do you design schemas, write queries, and build database-backed applications?

    Outcome

    The student can create databases, write SQL queries with JOINs and subqueries, and build complete database applications using both sqlite3 and SQLAlchemy. (Practical)

    Sub-units

    1. 10.1 SQL Fundamentals and SQLite
    2. 10.2 SQLAlchemy and Database Projects
  11. Module 11

    GUI Programming with Tkinter

    Led by Beazleyan Internalism Simulacrum

    The question

    A GUI is where your program meets a human. Tkinter ships with Python and requires nothing else. How do you build complete desktop applications with widgets, events and canvas drawing?

    Outcome

    The student can build complete GUI applications with Tkinter: multiple widgets, layout management, event handling, menus, file dialogs and canvas drawing. (Project)

    Sub-units

    1. 11.1 Widgets, Layout and Events
    2. 11.2 Menus, Dialogs, Canvas and Projects
  12. Module 12

    Advanced Topics

    Led by Beazleyan Internalism Simulacrum

    The question

    Multithreading, specialised data structures, datetime and NumPy. Each deserves its own course — but enough to be productive and know where to go deeper.

    Outcome

    The student can write multithreaded programs, use specialised data structures, manipulate dates, and work with NumPy arrays.

    Sub-units

    1. 12.1 Multithreading and Concurrency
    2. 12.2 Collections, DateTime and NumPy