A data-centric introduction to computing
dcic-world.org
dcic-world.org
data is code, code is data
this is a different version of the talk where perhaps this duality becomes clearer at the end
Behavior first, data second.
Data is passive, it cannot process itself.
Algorithms (list of sequential steps) are a very poor way to describe behavior. But, unfortunately, this is how computer science is taught today.
But MSD is still can only describe a very basic behavior. Its only advantage over algorithms is that it’s more visual and adds a notion of a participant/actor.
If we’re talking about notation for describing behavior, then I prefer EventStorming for big picture, and Event Modeling for SW design. BPMN is also interesting, but much more technical and opionated. IMO it’s only useful if you’re already using a BPMN-based orchestration middleware.
Real-life workflows can be very complex, async, unordered, and non-deterministic. Just look at all manual bureaucratic processes that surround our daily life.
Or maybe you mean teaching the actual communication protocols like HTTP,FTP,SMTP,etc.?