iFlow: Making Computational Thinking Visible
iFlow is a conceptual programming environment for graphically constructing computational solutions to math, science, and engineering problems in a no-code fashion. It allows users to focus on thinking about the computational and disciplinary nature of the problems in hand without having to use any specific programming language. Like flowcharts, iFlow models a program as a directed graph depicting the logic structure of a computational system and the interactions among the constituents. Unlike flowcharts, nodes and arcs in iFlow are actually functional for generating the computational results.
iFlow: A graph-based structure based on actionable nodes and arcs
With iFlow, users can create a computational solution, observe its execution, and see the result without writing a single line of code. Computational tasks such as physics simulations, biological evolution, and machine learning can be encapsulated into system-provided or user-defined blocks with input and output ports, making the use of them as simple as configuring them with graphical user interfaces and connecting them with other building blocks. This philosophy of iFlow echoes the no-code movement to empower people to develop apps without coding, thus unlocking their creative potential and inviting more to join the software workforce — irrespective of their programming experience.
Control flow vs. data flow
This project is supported by the National Science Foundation (NSF) under grant number #2131097. Any opinions, findings, and conclusions or recommendations expressed in this material, however, are those of the authors and do not necessarily reflect the views of NSF.