Monday, August 11, 2014

Inspiration Basic



Welcome to the world of programming!
The Inspiration Basic App is available on the app store.

Creator: Timothy Swan
Consultant: Elijah Kohrt

Download here.






What it is:
Inspiration Basic is a state of the art coding environment.
Menu-based parse tree editing technology optimizes learning for beginner to intermediate programmers. Mathematicians may use this as an algorithm design tool.
Construct simple programs such as sorting algorithms in minutes.
Learn boolean logic, control statements, arrays and loops.

- Free to use
- Online tutorials
- Learn by doing
- Code on the go
- No syntax errors
- Menu based editing
- Design at your own pace
- Never compile your code
- Practice simple algorithms
- No need to memorize a language
- Code is always instantly runnable

How to use it:
Please download and enjoy the application. Do not worry about finding extensive tutorials or trying to memorize the grammar before you play. This app is intended to be a fun, sandbox environment for leisure or for you to test small programming ideas. If you are new to computer science and curious, then this app is designed just for you. It is meant for small, non-recursive looped programs like the included Prime Number Generator and the Insertion Sort programs that come installed with the App.

Chinese Fibonacci Tutorial Video


Selection Sort Tutorial Video


Fibonacci Sequence Tutorial Video


Armstrong Sequence Tutorial Video


Square Exponent Tutorial Video




How it works:
It is simply a parse tree editing system for a basic programming language called Inspiration Basic.
You can create a new program and add statements to it. When the program is ran, you can watch it's output and interrupt its execution. You can design and save multiple different programs on your iPhone.

The grammar works like this:

Statements:
  • Program: Statements
  • Statement: While, If Then, If Then Else, Int Assignment, Bool Assignment, Int Array Element Assignment, Bool Array Element Assignment, Print Integer, Print Boolean
  • While: (while) BoolExpression, (looping) Statements
  • If Then: (if) BoolExpression, (then) Statements
  • If Then Else: (if) BoolExpression, (then) Statements, (else) Statements
  • Int Assignment: Variable, Int Expression
  • Bool Assignment: Variable, Bool Expression
  • Int Array Element Assignment: Variable, Index Expression, Int Expression
  • Bool Array Element Assignment: Variable, Index Expression, Bool Expression
  • Print Int: Int Expression
  • Print Boolean: Boolean Expression
Expressions:
  • Int Expression (Index Expression): Variable, Int Array Element, Hard Coded Integer
  • Bool Expression: Variable, Bool Array Element, Hard Coded Boolean Value
  • Int Array Element: Variable, Index Expression
  • Bool Array Element: Variable, Index Expression
  • Random Integer: {0, 1, 2, 3, ..., Int Expression - 1}
Literals:
  • Variable: a, b, c, chicken, popsicle, star wars, g&r64TPL ...
  • Hard Coded Integer: 4, 78, -92 ...
  • Hard Coded Boolean: true false
  • RandomBoolean: {true, false}
x = 1
while x < 100:
   test = true
   t = 2
   while t < x:
      if x % t = 0 then:
         test = false
      t = t + 1
   if test then
         print x
   x = x + 1

Insertion Sort: (Note: Logic operators use short circuiting)
length = 12
max = 100
i = 0
while i < length:
   a[i] = randomInt(max)
   print a[i]
   i = i + 1
print false
i = 1
while i < length:
   t = a[i]
   j = i - 1
   while j >= 0 and a[j] > t:
      a[j + 1] = a[j]
      j = j-1
   a[j + 1] = t
   i = i + 1
i = 0
while i < length:
   print a[i]
   i = i + 1

Prerelease Videos:
Prerelease Short
Insertion Sort - Superfast
Prime Number Generator - Superfast

Legal:
Inspiration Basic App is open source.
License is updated to the MIT license permanently.
Source code is available here.

Some copyrighted third party code was used under MIT license:
Copyright (C) 2012 Fabian Canas fcanas@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE LICENSE

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Privacy Policy:
The creators of Inspiration Basic do not collect any information from the Inspiration Basic app software or database storage of saved programs. All information provided to your application may be saved as Inspiration Basic programs, an object grammar defining a code parse tree. This information is local to a database on your phone and normally accessible only by iOS operating system. For questions about iOS privacy policy, contact Apple Inc. The only information we collect from Inspiration Basic app users is from sources not involving the software such as emails, mail, blog posts, phone calls, and in person suggestions or complaints. Any information posted on the blog, emailed, mailed, phoned, or transferred in person may be used for the purposes of debugging, development, research, and the intellectual development of the application or other applications. We may use any provided contact information provided through any means outside of the software to directly contact you for questions or suggestions.