Skip to content
AgileLogics
Intermediate 5 min read

Intermediate Projects

Prerequisites: Level 2 — Intermediate

Build these using types, multiple dispatch, matrices, linear algebra, files, modules, and packages from Level 2.

1. Shapes and Dispatch

Define an abstract Shape type with Circle, Rectangle, and Triangle subtypes. Write area, perimeter, and a Base.show method for each, then add an overlaps(a, b) function with methods for different pairs of shapes — multiple dispatch in action.

2. Matrix Toolkit

Solve systems of linear equations with \, fit a straight line to noisy data with least squares, and compute eigenvalues of a small Markov transition matrix to find its steady state.

3. CSV Report Generator

Read a CSV file of sales (by hand with split, then with CSV.jl and DataFrames.jl), group by region and month, compute totals and averages, handle missing values, and write a summary file and a bar chart.

4. A Small Package

Turn one of the projects above into a package with its own module, Project.toml, exported functions, docstrings, and a test/runtests.jl that runs with ] test.