home | roadmap | issues | ©2022,2023 by tim menzies |
To present this work as a syllabus, here is a weekly guide (assumes a 14 week semester)
Week | Task | Lecture | Code (to reproduce) | Terms (to understand) |
---|---|---|---|---|
0 | fishing | onFish | - | stakeholder, developer, bias, discrimination, decision space, objective space, |
1 | scripting | onScript | (src::doc::out) do not use CLI or testing library (roll your own) |
version control,test-driven development, red-green-refactor, command-line interfaces, regular expressions,random number seeds |
2 | data | onData | (src::doc::out) do not use PANDAS or the like (roll your own) |
coercion (string to thing), normal(Gaussian), Weibull, ,mean, median, mode, standard deviation, entropy, Welford, Aha, row (example), column (attribute, feature,goal) |
3 | clustering |
onCluster OnOptimise |
(cluster::doc::out) | distance, Euclidean, Aha, LSH, Fastmap, cosine rule, k-means, mini-batch k-means, out-liners, multi-goal, many-goal, bdom(binary domination); cdom(continuous domination, Zitzler) |
4 | requirements engineering | (src::doc::out) | requirements engineering | |
4b | requirements engineering | - | ||
5 | bins and trees | discretization, decision trees | ||
5a | data mining | - | ||
5b | XAI | - | ||
6 | incompetency | anomaly detection | ||
7 | knn, naive bayes | |||
8 | stats | |||
9 | hpo | |||
10 | DL | - | ||
11 | theorem proving | - |
TBD: xai, optimization, theorem proving, commercial AI pipeline
After all that, students can end with a four week project.
To read this code, at first pass, think of it as some cut-down version of Python.
- But for the real deal, read learnlua
All code /src/X.lua has:
- a help file /docs/X.md
- a sample output file /etc/out/X.out.
- and there may also be a support lecture /docs/onX.md.
This code (mostly) follows the conventions described here.
To stop team members running over each other, bust up example files into many smaller files:
- one file per class
- a "lib" file for miscellaneous support stuff
- the test suite
- a main file that loads the rest
- Do this in a separate sub directory for each week.
- and in a sub-sub directory have
etc/out
where you store the outputs when you run (e.g.)python3 week3.py -g all
.
- and in a sub-sub directory have
Watch for small variations in the same class for different weeks.
- Sometimes there are tiny changes in the code that are BIG changes in functionality
- So first thing is to run a
diff
on my code week[i-1], week[i]