Main About Download Documentation Resources

Revision History (Older Versions)

Version 1.11.3 (January 29, 2016) 

  • Added support for the Brazilian dialect of Portuguese - Thanks to Theldo Cruz Franqueira.

Version 1.11.2 (January 17, 2016) 

  • Added the Play, Step, Pause, and Stop buttons to the Console Window. These have the same behavior as the buttons on the main window.
  • Made some internal changes to make the Console Window draw better.
  • I forgot to fix a bug in Lua generated code. It was missing the -1 for descending loops.

Version 1.11.1 (January 15, 2016) 

  • Fixed a bug in JavaScript generated code. The For Loop was not being setup correctly for decreasing values.
  • Fixed a bug in Python Code. A comma was missing for decreasing loops.

Version 1.11 (January 11, 2016) 

  • Added support for Japanese - Thanks to Saito Yutaka
  • Clipboard Popup Menu now follows the current color scheme.
  • Rubén Castiñeiras Lorenzo released new versions of his Spanish (Castilian) and Galician translations.
  • Added a new tab to the About Window. The new tab lists the names of everyone who has helped find bugs and give valuable feedback.
  • Source Code Viewer:
    • To denote the start of the programs "main" code, the source code often contains a comment. Now, the comment will only be added if needed.
    • For Java, the generated class is now called "JavaApplication". This follows the defacto standard used by Java IDEs.
  • Made some internal changes to the Add Shape Popup Menu.
  • Bug fixes (thanks to Mathieu Kourouma):
    • Made some internal changes that prevent the Variable Watch Window from crashing on certain versions of Windows.
    • Fixed a various grammatical and spelling mistakes.

Version 1.10.2 (December 24, 2015) 

  • Added support for French - Thanks to François Capon
  • Fixed a typo in the English translation (thanks again to François Capon)
  • Updated the Change Translation and About windows. The languages/names are now displayed in a ListView control.
  • Made some changes to the Add Shape menu so that it loads quicker and, hopefully, with less flicker.
  • Fixed a small flaw in the Edit Comment window. It was displaying an icon and appearing in the Windows Task Bar. This wasn't consistent with the rest of the edit windows. I doubt anyone noticed.

Version 1.10.1 (December 18, 2015) 

  • Modified the Swift code created by the Source Code Viewer. The intrinsic function Random() now maps to the Swift random() function.
  • Made some internal changes so the program loads faster.
  • Some miscellaneous GUI tweaks.

Version 1.10 (December 17, 2015) 

  • Added the ability to control execution speed. The system now supports: Fast, Medium, and Slow. When set to medium or slow, the user can passively watch each shape execute. It essentially works like the user pressing the "Step" button.
  • The behavior of the Play, Step, Pause, and Stop buttons were improved.
  • Added Apple's Swift to the Source Code Viewer.
  • Added a new color scheme: Vibrant.
  • Made some cosmetic changes to the window headers. Now, each draws a line on the top and bottom. The goal was to prevent color clashes with the window's title bar.
  • When the window is resized, it now makes sure it doesn't size it larger than the screen. Before, it was always defaulting to 800x600.
  • Fixed an error in the Italian translation. It was my fault, not the original translator. When I changed the translation file format, I mistranslated "Assignment". Thanks to Roberto Atzori for letting me know.

Version 1.9.2 (November 17, 2015) 

  • Fixed an error that affected parameters displayed in the Edit Function window. The parameters weren't being translated correctly.

Version 1.9.1 (November 15, 2015) 

  • Fixed a typo.

Version 1.9 (November 14, 2015)

  • Added Portuguese - Thanks to Jorge Duque.
  • Chart styles:
    • When selecting a chart style and color scheme, the preview image now shows the proper colors and shapes. This preview is used in the Change Chart Style window, Print window, and Export Image window. The "Color Preview" caption was removed since it is no longer needed.
    • Added a new chart style: Default (Descriptive). It is identical to the "Default" chart style, but uses descriptive text on each shape.
    • Added a new color schemes: "Blueprints" and "Sacramento State". Eventually, the application will allow custom color schemes to be created.
  • The current color scheme is now used in dialog windows. In previous versions, the window header background was always blue. With the change, the background color changes for each scheme.
  • The Add Shape popup menu was modified to handle the new color scheme design. Changes include the hover effect as well as the border of the window.
  • Most dialog windows were increased in size.
  • Added a Copy button to the Console Window.
  • Made some internal changes in preparation for a Macintosh/Linux port.
  • Random number generation was improved. This is an internal change.
  • Bug fixes:
    • Fixed a bug in For Loops. The system was not checking the range before executing the first time.
    • Fixed a bug in QBasic generated code. The dollar suffix was missing on the call to MID$.

Version 1.8.2  (October 5, 2015) - Minor Update

  • Fixed some minor translations issues such as failing to put a tooltip on the Functions Dropdown Menu.
  • Made some improvements to Java generated code. In particular, string comparison was fixed.
  • Made some improvements to QBasic generated code.

Version 1.8.1  (October 3, 2015)

  • Added languages:
    • Spanish (Castilian) - Thanks to Rubén Castiñeiras Lorenzo.
    • Galician - Thanks to Rubén Castiñeiras Lorenzo.
    • Italian - Thanks to Riccardo Scorretti
  • Source Code Viewer:
    • QBasic was added.
    • The Java/C++/C# code was improved. Beforehand, it wasn't using the proper Usual Arithmetic Conversions for the algebraic operators. This resulted in unnecessary casting.
  • The modulus operator is no longer restricted to integers.
  • Some buttons and windows were resized. The changes were made to either better accommodate other translations or to simply make the window look better.
  • Bug fixes: If a function was renamed in the Function Manager, the dropdown list wasn't being updated.

Version 1.8  (August 15, 2015) - Major Update

  • Beside English, Flowgorithm now supports multiple spoken languages. Please check out the "Change Language" menu item under Tools. Supported languages include:
    • Chinese - Thanks to 苏晓 .
    • Czech - Thanks to Honza Vaněk.
    • German  - Thanks to Andrej Preradovic.
    • Hungarian - Thanks to  Péter Bernát.
    • Spanish - Thanks to Juan Carlos Rosales Larralde.
  • A new intrinsic functions:
    • ToFixed() will convert a real to a string with fixed number of digits after the decimal point. For example: ToFixed(3.14159265, 2) will return the string "3.14".
    • ToCode() will convert a string into a character code. It is the opposite of ToChar().
  • Registry is used to save settings. If the application is started in Administrator Mode, it will save settings to the Local Computer. This will used as the default for any new users (which are saved to the Current User).
  • Source Code Viewer:
    • Perl was added.
    • When stepping through a program, the window will now keep the current statement visible.
    • Line numbers can now be displayed. To save screen space, the feature is unchecked by default.
    • Lua source code was improved. The source now uses a simple helper function for array access. Lua uses 1-indexing while most languages (including Flowgorithm) uses 0-indexing.
    • The C# and Visual Basic .NET code was changed slightly. The helper functions for inputting values were renamed.
    • If a comment contains multiple lines (the user hit manually added a newline), multiple comments were will be produced.
  • Color schemes and styles:
    • Added several color schemes. These include: Paint, Paint (dark background), Cyberspace, and Retro Computer (1980's EGA color).
    • Added a new style: Classic (Trapezoid). This is a variation of the classic flowchart format which uses trapezoids to represent input/output (rather than using a parallelogram for both).
    • Added a new style: Classic (GOST). This is a slight variation of the classic style that is used in Russia and other states in the vicinity.
    • The Add Shape Pop-up Menu now shows the same shapes as the current flowchart style. Beforehand, it always displayed static images based on the "default" style.
    • The Source Code Viewer, Console Window, and Add Shape Pop-up Window now use the current color scheme.
  • Console Window:
    • The prompt text was moved into a Status Strip.
    • Added a small icon to the Enter Button.
    • If the output is displayed in the text-only format, rather than "chat bubbles", it will be displayed in Courier New.
  • The Variable Watch Window was improved. If the window is wide enough, the variables will be displayed in multiple columns. This feature can be disabled by unchecking the Columns button.
  • The Error Window now shows the "Cause" rather than a more generic "Details" field.
  • The mouse scroll wheel now works with the main window, Source Code Viewer and Console Window.
  • Printing was improved. The color scheme's background color is used on the whole page (rather than just the bounding square for the image).
  • The Layout Windows feature was modified slightly. The "Variables" layout sets the Variable Watch Window at 1/4 of the screen rather than half.
  • Added a Stack Overflow Error. If recursion is being taught (or implemented accidently), the system will prevent a run-away recursive call from taking down the application. Instead, an error message will be displayed. The maximum internal stack size can be get in the registry to a larger value if needed (which should never be the case).
  • Bug fixes:
    • Fixed a bug that affected For Loops. If the range was incorrect (i.e. it should never execute the block), it was still executing it once.
    • Fixed a JavaScript code error. The code, for retrieving a character from a string, had the two operands switched.
    • Fixed a rare bug with the clipboard. It was possible to copy "zero" shapes to the clipboard.
    • Fixed a bug in generated Python code. Python uses the same Usual Arithmetic Conversions as C, but the code was not converting operands to floats (if needed).
    • Java and C# were not putting the "static" modifier on user-defined functions.
  • Fixed a typo in the Comment Edit Window.

Version 1.7.4 (February 12, 2015) - Minor Update

  • Fixed a few minor spelling errors.
  • The captions were made more consistent throughout the application.

Version 1.7.3 (February 9, 2015)

  • Fixed a rather careless bug with the contextual menu that appears for highlighted shapes. It should just appears after a single right-click. However, it was requiring two clicks. Fortunately, the Control-X, Control-V and delete buttons were working.

Version 1.7.2 (January 19, 2015)

  • Minor changes to some error windows.

Version 1.7.1 (January 7, 2015)

  • Source Code Viewer:
    • Cleaned up the Delphi/Pascal generated code. The new code will make better use of dynamic arrays and the SetLength() function.
    • Updated some internal logic so the window updates better - in particular, the vertical scroll bar.
  • The system will no longer display a syntax error if the user clicks "OK" on an incomplete shape. The shape will still be displayed in gray.
  • New shapes can be added by just clicking once on a line. Beforehand, the Add Shape window would only appear if the line was double-clicked or right-clicked. To edit a shape, you still need to couple click.
  • Changed some menu labels and tooltip labels.

Version 1.7 (January 2, 2015)

  • Language improvements:
    • Arrays can now be passed into functions. Function parameters were also updated to support this feature.
    • For Loops can now implement increasing and decreasing order. Beforehand, For Loops were restricted to increasing order.
    • Added two more trigonometric functions: arcsin() and arccos().
    • To work with arrays, the size() function was added. It returns the size (number of elements) of an array.
  • Source Code Viewer:
    • Added the Delphi / Pascal programming language.
    • Internal changes were made so blank lines are inserted far more logically than before. Basically, blank lines are inserted before a group of comments or after a group of declarations.
    • Added a button that allows you to disable the vertical padding on each line. Without it, the text is not as cosmetically appealing, but it is more condense.
    • Fixed a cosmetic bug in VBA generated code. Subs were being indented one level too many.
  • The Declare Shape was changed to make it easier to declare arrays. The old format had the user write a very "code-like" statement. The new version uses drop downs and should be more natural.
  • File format was updated to support the new features. The "fprg" file is compatible with older versions of Flowgorithm - although, naturally, the new features will not be present.
  • Made some minor modification to the error window.

Version 1.6.1 (December 14, 2014)

  • Added auto-scrolling. If the user is selecting a region with the mouse, the window will automatically scroll if the mouse is near the edge. This behavior is found in most editors today.
  • The Chart Style window, when opened, will show the current settings. Before, it was always defaulting to "default" in "pastel".
  • Fixed a bug that caused the system to crash if an invalid identifier was entered.
  • Fixed a few minor spelling error: affect vs. effect.

Version 1.6.0 (December 7, 2014)

  • Language improvements:
    • Added a new constant: Pi. You can now used PI in your programs without having to manually declare a variable or use the literal 3.14... in your expressions. In generated code, it will map to the language's official constant.
    • The Equal-To and Not-Equal-To operators can now compare two Boolean values.
    • I added a bunch of identifiers to the "future expansion" list. These will be invalid to use for identifiers.
  • The Export to Image File tool now allows you to specify if there will be a margin (measured in pixels).
  • The Chart Style button, on the main toolbar, lets you select a color scheme and a chart style. The color schemes match the ones found in the Print and Export to Image File windows. This window will be expanded in the future.
  • I also added a "gray scale" color scheme.
  • Double-clicking (or right-clicking) on the flowchart background will no longer open the Program Attributes window. Users found this annoying.
  • I made the Input Shape a tad more blue. It appeared purple on some screens.
  • Bug fixes:
    • If an array element is out of bounds, the error window was not showing the correct upper bound.
    • If a variable name is invalid (predefined), the system was not alerting the programmer or causing an error

Version 1.5.0 (November 22, 2014) 

  • The Variable Watch window now can display arrays.
  • Added a new intrinsic function: ToChar(). It will convert an integer, representing a character code, into a character.
  • Source Code Viewer now supports:
    • Added JavaScript
    • Added Lua
    • Added Ruby
    • Added VBA (Visual Basic for Applications)
  • Bug fixes:
    • Made internal changes designed to eliminate a comma/decimal point error. The "decimal mark", used in real numbers, can either be a comma or period - depending on the culture. Europe, in particular, uses a comma. The software was not handling the difference well. The new code will use a period for all cases.
    • Fixed a minor bug that affected the code generator. It was not clearing the 'current statement' color properly.
  • Removed multi-dimensional arrays. They are not really needed for an introductory programming tool. Also, multi-dimensional arrays are not easily supported by the new generated languages.

Version 1.4.3 (October 18, 2014)

  • Made some changes to avoid the crashing issue that affects some users. I'm pretty sure that the error was resolved.
  • I updated the internal parser tables so that variable identifiers and string literals support Unicode characters. Identifiers can now start with any Unicode "letter" character and can be followed by zero or more Unicode letters or the digits 0..9.
  • The Source Code Viewer now saves text in UTF-8.

Version 1.4.2 (October 17, 2014)

  • Made some minor changes to how stepping works:
    • The logic used to display the current shape was improved.
    • Comments are now skipped.
  • The Layout Windows tool is now displayed with a white background. This is purely cosmetic.

Version 1.4.1 (October 16, 2014)

  • When stepping through the Main function, the system will now wait on the "end" terminal. This is the behavior on all other functions, but I forgot to give this behavior to Main.
  • Fixed a flaw in C++ generated code.
  • The Source Code Viewer now saves text using the carriage-return + line-feed combo to terminate lines.
  • Added a window that will catch any unhandled errors and copy the error information to the clipboard. Hopefully, this will help solve any crashes.

Version 1.4.0 (October 13, 2014)

  • Debugging / Demonstration:
    • Added a new Variable Viewer window. When stepping through a program, this window will show the current variables. Each data type is displayed using a unique color: integers (blue), real numbers (purple), strings (red), Booleans (cyan). Arrays will not be displayed - at least for now.
    • The Layout Windows tool was revamped. Since variables can now be displayed, the number of different screen configurations also increased. The application will now display a window with several preview pictures. You can either select "Layout Windows" from the menu or press Control-L.
    • When stepping through a program, the system will now keep the current statement visible. This means it will automatically change charts and/or move the scrollbars.
    • The system will also jump to a shape if an error occurs.
    • If an error occurs when a function returns a value, the ending terminal will now be highlighted in red.
  • When a program is being loaded/saved, the status bar (at the bottom) lets the user know what is happening. Also, the toolbars are disabled at this time.
  • The 'Export to an Image File' utility now adds the name of the flowchart to the default name.
  • The main window now zooms in and out far more smoothly.
  • The Console Window was improved. The "chat bubbles" maintain better margins with the left and right side.
  • The Flowchart Style dropdown was replaced with an icon. This was done to save space.
  • Added an icon for the Variable Viewer. The Source Code Viewer was changed to match the style.
  • Source Code Viewer:
    • Added C++.
    • Source code was greatly improved. If a feature (such as a random number generator) is not used, then the source code will not contain its declaration.
    • A new dropdown menu was added to the Source Code Viewer. The dropdown displays the "style" of the source code. Beforehand, the language dropdown had text like "Java (hanging brace)" which got too verbose after I added C++. For now, the style dropdown just displays "hanging brace" or "aligned brace" for C++ and Java.
    • If the Copy Button is clicked on the Source Code Generator, it will tell the user if text was copied. Also, if the source is empty, an error will no longer occur.
  • Bug fixes:
    • Fixed a bug with Call Statements. If the program is executed, and the statement is still gray, it caused a runtime error.
    • Also fixed another bug with Call Statements. If the user causes a syntax error, then the error will persist even after it is edited. Basically, it wasn't resetting its "Syntax Status".
    • The step value in For Loops cannot be negative. This is just a limitation by Flowgorithm. If a negative value is used, an error will now occur.

Version 1.3.3 (September 13, 2014)

  • If a shape is edited, while the program is running (i.e. stepped into), the flowchart will now stop and reset.
  • Programs will now only be marked as 'changed' if a shape is changed (rather then cancelled).
  • The error messages for syntax and lexical errors were improved. They were a tad obtuse before.
  • If the Layout Windows feature is used, and a window is maximized, it will be normalized.
  • Source Code Generator:
    • Fixed a minor Visual Basic generation bug. The source contained "end class" rather than "end module".
    • Fixed a Python generation bug. If code is generated, when a Declare Statement is incomplete, the system reports an error. Fortunately, it does not crash.
    • Generated code for C#, Java, and Python now handles backslashes. Flowgorithm doesn't have backslash override codes. So, a backslash is always just a backslash. The generated code will now convert \ to \\.

Version 1.3.2 (August 26, 2014)

  • A bug with copy and paste was fixed. The order of pasted items would sometimes be incorrect.

Version 1.3.1 (August 24, 2014)

  • Fixed an alignment bug for the false branch of If Statements. This was purely cosmetic - and I doubt anyone would have noticed.
  • Python print statements, when incomplete, will show parenthesis. This is cosmetic.
  • Added the Program Attributes window to the Program Menu.

Version 1.3.0 (August 22, 2014)

  • Flowcharts can be saved (one function a time) to image files. You have the same basic features as Print.
  • Python was added to the Source Code Viewer
  • Added a "Check for Updates" feature. It doesn't run automatically. I didn't want it to become an annoying popup window on lab computers.
  • When auto-arranging windows, the system will normalize windows if they were maximized.
  • Fixed a bug in the Source Code Viewer that affected inputting into an array element.

Version 1.2.0 (August 14, 2014)

  • Flowcharts can now be printed. The feature allows users to select one of three different color schemes: the default pastel, black and white outlined (a great non-color option), and black and white solid.
  • Added some links to the Help Menu.
  • Made some internal changes that should help refresh the screen better.

Version 1.1.2 (August 11, 2014)

  • Some minor changes before the semester begins.

Version 1.1.1 (August 10, 2014)

  • Some minor cleanup
  • Input Statements can now read array values (like they should have before)

Version 1.1.0 (August 8, 2014)

  • Comments were added to the flowcharts. Comments do not affect how the program is interpreted or behaves. They are useful for documenting information about the program - for programmers to read.
  • Added zoom buttons to the Console Window.
  • Added zoom buttons to the Source Code Viewer.
  • Gaddis Pseudocode was improved. If there is only one function, Main, the Source Code Viewer will only show the statements rather than a "Module Main" block. This was designed to mimic the examples used in the textbook.

Version 1.0.2  (August 6, 2014)

This was the first release of the program. There was a version 1.0.0 and 1.0.1, but they didn't make it to the site.