iFlow: Making Computational Thinking Visible

iFlow is a cloud-based 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 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. To illustrate the point, let's compare JavaScript and iFlow for making a simulation of random walk as follows.

JavaScript: Line-by-line structure based on interpretable code

let i = 0
let r
while (i < 5000) {
  r = Math.random()
  if (r < 1/6) {
    x = x + 1
  } else if (r < 2/6) {
    x = x - 1
  } else if (r < 3/6) {
    y = y + 1
  } else if (r < 4/6) {
    y = y - 1
  } else if (r < 5/6) {
    z = z + 1
  } else { 
    z = z - 1
  }
  drawPointAt(x, y, z)
  i++
}

iFlow: Graph 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.