Systems engineering is widely perceived as an empirical discipline, with a need for theoretical foundations that can facilitate reasoning about practice. This is an attempt to help build such foundations by systems‐theoretic inquiry into the nature of the relationship between knowledge and engineering. We conceptualize this relationship in terms of four worlds: the real world, the world of systems models, a world of aspect knowledge, and a world of wholes knowledge: knowledge that indicates how aspects come together and also how wholes relate to each other. This leads us to a generative understanding of systems engineering: synthesizing aspects to develop blocks; and generating the network of blocks that form a system, through recursive performance of three activities: decomposition, dependency closure and refinement. The problem of systems engineering practice involves augmenting this core with the concerns of problem formulation, design of the supporting ecosystem, and the need for closing gaps between the model world and real world. We derive some initial confidence in the validity and value of this strawman model by examining its ability to explain some aspects of current systems engineering practice, and the insights it provides into how we can integrate system modeling across knowledge domains.
The importance of algorithms and data structures in computer science curricula has been amply recognized. For many students, however, gaining a good understanding of algorithms remains a challenge.Because of the automated nature of sequential algorithms there is an inherent tension in directly applying the 'learning by doing' approach. This partly explains the limitations of efforts like algorithm animation and code tracing.Algodynamics, the approach we propose and advocate, situates algorithms within the framework of transition systems and their dynamics and offers an attractive approach for teaching algorithms. Algodynamics starts with the premise that the key ideas underlying an algorithm can be identified and packaged into interactive transition systems. The algorithm when 'opened up', reveals a transition system, shorn of most control aspects, enriched instead with interaction. The design of an algorithm can be carried out by constructing a series of interactive systems, progressively trading interactivity with automation. These transition systems constitute a family of notional machines.We illustrate the algodynamics approach by considering Bubblesort. A sequence of five interactive transition systems culminate in the classic Bubblesort algorithm. The exercise of constructing the individual systems also pays off when coding Bubblesort: a highly modular implementation whose primitives are borrowed from the transition systems. The transition systems used for Bubblesort have been implemented as interactive experiments. These web based implementations are easy to build. The simplicity and flexibility afforded by the algodynamics framework makes it an attractive option to teach algorithms in an interactive way.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.