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
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
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
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
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
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
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
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
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
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
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.