CS101

Introduction to Programming

Write your first programs in Python. Variables, control flow, functions, and the core data types every programmer uses daily.

10 modules · 50 lessons · Practice after every lesson

Syllabus

  1. Module 1

    Programs and the Python Execution Model

    • What Programs Compute
    • Source Code, Interpreters, and Execution
    • Expressions and Evaluation Order
    • Names, Objects, and Assignment
    • Types, Values, and Runtime Errors
  2. Module 2

    Numbers, Text, and Representation

    • Integer Arithmetic and Operator Precedence
    • Floating-Point Representation and Rounding
    • Strings, Characters, and Unicode
    • Conversions, Parsing, and Formatting
    • Boolean Values and Truthiness
  3. Module 3

    Conditional Control Flow

    • Comparisons and Boolean Algebra
    • If, Elif, and Else
    • Nested Decisions and Guard Clauses
    • Conditional Expressions and Short-Circuiting
    • Designing Complete Decision Logic
  4. Module 4

    Iteration and State

    • While Loops as State Transitions
    • For Loops and Iterable Objects
    • Ranges, Indices, and Enumeration
    • Loop Invariants and Termination
    • Nested Loops and Structured Iteration
  5. Module 5

    Functions and Abstraction

    • Defining and Calling Functions
    • Parameters, Arguments, and Return Values
    • Local Scope and Call Frames
    • Contracts, Preconditions, and Postconditions
    • Functional Decomposition and Cohesion
  6. Module 6

    Collections and Data Modeling

    • Lists and Dynamic Sequences
    • Tuples and Immutable Records
    • Dictionaries and Key–Value Models
    • Sets and Membership
    • Nested Collections and Data Shape
  7. Module 7

    Mutation, Identity, and Program State

    • Mutability and Immutability
    • Aliasing and Shared References
    • Equality, Identity, and Hashability
    • Shallow and Deep Copying
    • Side Effects and State Management
  8. Module 8

    Input, Files, and Structured Data

    • Console Input and Output
    • Text Files and Context Managers
    • Paths and Filesystem Operations
    • CSV Data and Tabular Records
    • JSON and Nested Structured Data
  9. Module 9

    Errors, Debugging, and Testing

    • Exceptions and Error Propagation
    • Designing Useful Error Handling
    • Debugging with Traces and Breakpoints
    • Assertions and Defensive Programming
    • Unit Tests, Boundaries, and Test Design
  10. Module 10

    Modules, Objects, Recursion, and Scale

    • Modules, Imports, and Packages
    • Classes, Instances, and Encapsulation
    • Methods and Representation Invariants
    • Recursion and the Call Stack
    • Introductory Runtime and Space Growth

Start Introduction to Programming.

No setup, nothing to install. Try the first lessons before you sign up.