The goal of this project is to get the latest curriculum info on the Computer Science course from USP São Carlos and leverage the Dagster UI to get an optimal learning path based on data lineage.
I was looking forward to build a strong foundation on CS Fundamentals, so I decided to take the USP São Carlos Computer Science Course curriculum as a guideline. But then, the following question arises: how can I find the optimal learning path for a specific subject (say, Computer Networks)?
The original info was presented in a form that is not user-friendly to identify the dependencies between subjects, and so the idea of defining them as Dagster External Assets and using the lineage info to provide a learning path seemed appealing.
In addition, that approach would also allow to have a "single plane of glass" for all disciplines, where I could find all the relevant info such as bibliography, program, and more, in a single location.
-
Run
make
. -
Access the Dagster UI on
localhost:3000
, then go toAssets
and filter for a specific subject (e.g. "Redes de Computadores"): -
After selecting your asset, go to
Lineage
and selectUpstream
andGraph depth = All
. And there you have it: the shortest learning path towards the desired subject! -
Go to
Overview
to access all the relevant metadata from the discipline, such as program and bibliography.