the way it'd probably work is, i'd make a super simple processor design and then see what we can do with it, then explore how we can make richer software by adding in more hardware features
and during that we'd be talking about what decisions we're making and what effect they have
i've taken a digital logic class and an OS class but they didn't approach those topics from first principles like this. it might be helpful
or it might be trash since i have zero education training :^)