Skip to main content

Practice Exercises

Hands-on programming exercises to master each skill. Each exercise includes problem descriptions, templates, test cases, and solutions.

Exercise 1: Basic Function Design (Pyret)

4 skills

Practice designing functions with proper type annotations, docstrings, and test cases. Covers temperature conversion, string manipulation, and arithmetic operations.

Skills covered:
Type annotationsDocstringsTest casesBasic function design

Exercise 2: Construct & Transform Tables (Pyret)

4 skills

Work with tables: creating them, filtering rows, building columns, and transforming data. Practice with student grades and restaurant data.

Skills covered:
Table creationfilter-withbuild-columntransform-column

Exercise 3: Iteration: Lists (Pyret)

3 skills

Practice list iteration using for-each loops and mutable variables. Build functions that process lists element by element.

Skills covered:
for each loopsMutable variablesList processing

Exercise 4: Structured & Conditional Data (Pyret)

3 skills

Define and use data types with multiple variants. Practice with cases expressions and conditional logic.

Skills covered:
data definitionscases expressionsConditional data

Exercise 5: Recursion: Lists (Pyret)

3 skills

Implement recursive functions over lists. Master the base case and recursive case pattern.

Skills covered:
Recursive functionsList structureBase and recursive cases

Exercise 6: Recursion: Trees (Pyret)

3 skills

Work with tree structures and implement recursive tree traversal algorithms.

Skills covered:
Tree structuresRecursive traversalTree algorithms

Exercise 7: Variable Scope (Pyret & Python)

3 skills

Understand Python's variable scoping rules, global vs local variables, and the global keyword.

Skills covered:
Variable scopeGlobal keywordFunction variables

Exercise 8: Design Basic Functions (Python)

4 skills

Design Python functions with type hints, docstrings, and proper testing practices.

Skills covered:
Python functionsType hintsDocstringsTesting

Exercise 9: Iteration: Lists (Python)

3 skills

Master Python's for loops, list comprehensions, and iteration patterns.

Skills covered:
Python loopsList comprehensionsIteration patterns

Exercise 10: Aliasing & Mutation (Python)

4 skills

Understand Python's object references, aliasing effects, and how mutation works with shared data.

Skills covered:
Object referencesAliasingMutationShared data