Designed for Beginners
Chat Style Console
The classic method to interact with the computer is to use the "Console". Using this approach, the program displays output on a text-only screen and the user inputs data using the keyboard. Sometimes the
console allows the text to change colors, but, for the most part, it is white text on a black background.
The Console works, but its simple interface can make it difficult to differentiate user input and program output. So, rather than using the text-only screen, Flowgorithm attempts to make it look like a
typical instant messenger window. From the
student's point of view, it looks like they are texting with the computer.
The "chat bubbles" are color coded to match the Input and Output shapes used in the flowchart. In the screenshot to the right, the user's input is display in blue while the program's output is displayed
in green.
If you don't want to use the chat bubbles, you can also toggle between them and classical plain text.
Graphical Variable Watch
The variable watch window is used to keep track of how your variables are changing as your program executes. So, if you are stepping through your program, the window will show each variable and its
current value. This is not limited to just basic variables. Arrays will be displayed as well.
Each variable is color coded based on its data type. At a glace, you can tell exactly what type of data is being stored - and catch where you may want to use a different data type.
- Integers are displayed in blue.
- Real numbers (doubles) are displayed in purple.
- String variables are a displayed in red.
- Boolean variables are displayed in teal.
Simple Semantics
Flowgorithm is a graphical programming language and, as a
result, doesn't have a specific syntax (except for
expressions). However, the semantics of a programming
language is very important for beginner students. Many
programming languages, like C, have "gotcha" moments where
the code doesn't do what the student expects. The classic
example is the simple expression: 1 / 2.
The student, having studied mathematics since grade-school
would assume it would be equal to 0.5.
But, in C, it will be 0.
So, Flowgorithm uses semantics with the least chance of
"gotcha" moments. Students, advancing onto a full
programming language, can learn them then. The following is
a partial list:
-
Division uses floating point.
This will be regardless of the operand data types.
The Visual Basic programming language uses this
behavior.
-
Explicit variable declaration.
Flowcharts generally use implicit declaration (given
they are quite minimalistic). However, beginner
programmers may use inconsistent variable names
(e.g. cost vs
costs) or
may make simple misspellings. This is incredibly
common for undisciplined programmers. While this is
a problem in implicit variable declaration, it
causes an error in
explicit
programming languages.
The student will know the mistake immediately.
-
Safe recursion.
Flowgorithm maintains an internal stack (rather than the system stack). If the student accidentally creates an runaway recursive call, the
application will not crash. Instead, they will receive an
error message.
-
No operator ambiguity
Many
programming languages uses the same operator for
separate, unrelated, operations. For example, the
Java Programming Language uses the
+ operator for both
addition and concatenation. This can lead to
confusion for beginner programmers - "Are strings
being added?". Flowgorithm, instead, uses the
& operator for
concatenation.
Useful Features
Turtle Graphics
Flowgorithm
supports turtle graphics. The idea comes from the
classic programming language LOGO which was developed in 1967. It allows images to be created by the simple actions of the "turtle" - The goal was to teach programming concepts through the sequential steps required to create an image. Flowgorithm has
4 flowchart shapes that implement the features of LOGO:
- Turn - changes the angle by rotating the Turtle either left or right.
- Forward - moves the Turtle the specified distance. It can move with or without leaving a line.
- Home - returns the turtle to the start position and sets the angle at 90 degrees.
- Clear - the background screen is cleared.
- Pen - Change the color of the line.
The introduction of turtle graphics will give instructors one additional tool to teach programming. For example, instructors could ask the students to draw a rectangle - first through a sequence of steps, then later,
using iteration.
Basic File Support
Flowgorithm supports for basic text-based file input/output.
This will allow students to generate output files or open input files
so they can perform
calculations on a large data set.
Conditional Breaks
Conditional
Breaks can be added anywhere to a program. These are
useful to pause execution as a certain point - often to
show the current values stored in variables. Each
Breakpoint can either pause if a Boolean expression is
true or, alternatively, break in all cases.
Flowgorithm can also execute a program in "Ignore
Breakpoints" mode. This means, you can add as many
breakpoints, that you want, and be able to run the
program normally. In addition, if you want to simply
delete all of them, Flowgorithm has that option.
Pathway to Major Programming Languages
Interactively Generate Real Code
The Source Code Viewer can convert your flowchart to several
major programming languages. If you planning to learn a high-level language, then this feature should help you along the way.
The code is highlighted using the same color used by the flowchart's matching shapes. This allows you see visually see the correlation between the code and flowchart. Also, if you highlight shapes in the flowchart,
or you step through your program, the source code will be highlighted to match.
Supported Programming Languages
- Ada 95
- AppleScript
- AutoHotKey
- Bash
- C#
- C++
- Fortran 2003
- Groovy
- Java
- JavaScript
|
- Kotlin
- Lua
- MATLAB
- Nim
- Pascal
- Perl
- PHP
- Powershell
- Python
- QBasic
|
- Ruby
- Scala
- Smalltalk
- Swift
- Transact-SQL
- TypeScript
- Visual Basic for Applications
- Excel (VBA)
- Visual Basic .NET
|
Supported Pseudocodes
If your programming language and/or pseudocode is not listed, Flowgorithm supports customizable program templates. These are simple text files that can be written with any text editor. Once loaded, your flowchart can
be automatically converted to the target syntax. Please check out the online documentation.
Redundant Operators
Since Flowgorithm strives to be a pathway to multiple
programming languages, it supports operators
from multiple programming languages. This includes the C family, BASIC family, and the mathematical symbols themselves
(Unicode). For example, Flowgorithm
expressions can use &&,
and, and ∧ for Boolean-And.
These are all equivalent and are
equally valid.
You can use any of operators - depending on the high-level language you want to learn later.
Application Features
Multilingual support
Flowgorithm supports multiple spoken
languages. If your language isn't currently supported, and you
would like to help create a translation, please contact me
at: Flowgorithm DevinCook.com. No
programming is required. You just need to translate a
simple text file. Your help will be greatly appreciated!!
|
- Afrikaans
- Arabic
- Catalan
- Chinese (Simplified)
- Chinese (Traditional)
- Croatian
- Czech
- Dutch
- English - U.S. & British
- Farsi
- French
- Galician
|
- German
- Hebrew
- Hungarian
- Indonesian
- Italian
- Japanese
- Korean
- Latvian
- Malay
- Mongolian
- Polish
- Portuguese (Portugal)
|
- Portuguese (Brazil)
- Romanian
- Russian
- Slovenian
- Spanish (Castilian)
- Spanish (Mexican)
- Swedish
- Tamil
- Thai
- Turkish
- Ukrainian
|
 |
Customizable Color Schemes
Flowgorithm supports a wide-variable of color schemes. These will allow you to work, or export the flowchart to an image file, in a number of different styles and appearances. The application comes with a
selection of built-in schemes.
You can also download over 100 additional schemes from this website. The application, itself, can download them automatically.
If you want an appearance that is not currently supported, Flowgorithm has a Color Scheme Editor where you can create your own.
|
 |
 |
 |
Color Skins
Color schemes can also be applied to the entire application. So, Flowgorithm can have a dark theme, light theme, or any color - for that matter. The picture below shows Cyberspace color theme applied to all
windows..
Other Features
- Several flowcharting styles are supported. This includes: classic, IBM, SDL, and more...
-
Flowcharts can be exported to both PNG (bitmap) and SVG (vector) in any of the color schemes.
- The Editor has a feature called "Layout Windows". It is designed to help instructors show the all the needed content on the screen without having to manually resize each window (which can be monotonous).
- Programs are saved using XML.
|