Is this your app? Claim this page to add your own description, links and contact info. It's free. →

Coding Tutor

Coding Tutor at Mac App Store analyse

John Kountz
2,256 ratings · Power index: 100
Version 1.12
Size 1.56 Mb
Updated 1 year ago
Released 28 Jul 2024

How do you feel about this app?

Description

I created Coding Tutor to help anyone learn to about coding. The best description of this App might be that it works like an interactive book where you can both read and try. You will learn by doing. One of the great joys of writing code is watching it execute and being able to interactively engage with the program as it executes. No currently available coding app on iOS offers the ability to execute (interpret) code and run interactively on the device. Instead they submit the code to a remote server. To use these you MUST be connected to the internet. Not so here. All code is executed on your device. For example, when read(expression, expression, …) is running, you are prompted to enter responses for the variables interactively. Learning by doing is fun. I chose Pascal as the language because it is easy to read and understand. Pascal is a well structured procedural language with simple structure. Today there are many beautiful object oriented (OO) programming languages. In my experience, object oriented languages (Java, Swift, C#, Python, Kotlin, TypeScript, etc.) are significantly harder to grasp. Pascal is simple and provides a solid foundation for the novice learning to code. I have implemented a tiny Pascal compiler, interpreter and runtime environment where you can safely learn and play in a sandbox which will not crash or otherwise wreak havoc on your device. Keep in mind my goal here was not to create a complete Pascal compiler supporting every aspect of the language and runtime. This is a tiny app designed for teaching. Once you have the basic concepts, I would encourage you to investigate Free Pascal or any number of complete Pascal compilers that are freely available. Here’s a brief summary of what is supported. Variable data types: - Integer - Real - String - FileHandle - Arrays of Integer, Real, or String. - Records This represents enough to begin learning. I have not implemented user defined types aside from Records. File writes are restricted to a limit of 8,192 writes per FileHandle. Array length is similarly limited to 8,192 elements. Enough to learn but not blow-up your devices. Runtime library: - Console write, writeln, read - File (sandboxed) read, write, assign, append, reset, rewrite, close, seek (begin, or end), and delete. - Array length (ArrayLen) - String manipulation including StrLen, SubString (a.k.a. Copy), StrSplit, Upper/LowerCase - Type conversions ToReal, ToInteger - IsFinite to test for finite Real values - Exit to end currently executing program Control flow: - if expression then else - while expression do - repeat statements until expression - for var := expression {to,downto} do Operator support is similarly a subset of the full Pascal language. The App explains these concepts in detail and provides complete working code that can be modified, and executed interactively to help teach the concepts. Finally, programming is a trade that can be learned by anyone with the aptitude. I created this app to help others discover the joys of writing code. I am happy to answer questions, review programs you have written for which you have questions. In the Forward section of the doc’s you will find an email where you can send questions. I am personally grateful to all of the giants that have gone before me and provided beautiful programming languages. Specifically I want to thank Anders Hejlsberg, a giant that helped me along the way. Hopefully this tiny app will similarly inspire future programmers. Cheers- jkountz

Estimates

Monthly Downloads > 2.2k
Est. Revenue ~ $900

Availability

Devices

iPhone5s iPadAir iPadAirCellular iPadMiniRetina iPadMiniRetinaCellular iPhone6 iPhone6Plus iPadAir2 iPadAir2Cellular iPadMini3 iPadMini3Cellular iPodTouchSixthGen iPhone6s iPhone6sPlus iPadMini4 iPadMini4Cellular iPadPro iPadProCellular iPadPro97 iPadPro97Cellular iPhoneSE iPhone7 iPhone7Plus iPad611 iPad612 iPad71 iPad72 iPad73 iPad74 iPhone8 iPhone8Plus iPhoneX iPad75 iPad76 iPhoneXS iPhoneXSMax iPhoneXR iPad812 iPad834 iPad856 iPad878 iPadMini5 iPadMini5Cellular iPadAir3 iPadAir3Cellular iPodTouchSeventhGen iPhone11 iPhone11Pro iPadSeventhGen iPadSeventhGenCellular iPhone11ProMax iPhoneSESecondGen iPadProSecondGen iPadProSecondGenCellular iPadProFourthGen iPadProFourthGenCellular

Pricing by country

Country Price
Canada 0.99 CAD
China 8 CNY
France 0.99 EUR
Germany 0.99 EUR
Italy 0.99 EUR
Netherlands 0.99 EUR
Portugal 0.99 EUR
Spain 0.99 EUR
UK 0.99 GBP
India 99 INR
Japan 150 JPY
Korea, Republic Of 1100 KRW
Poland 4.99 PLN
Russia 99 RUB
Turkey 39.99 TRY
USA 0.99 USD
Ukraine 0.99 USD