Hi helpmenowsmartpeople,
Those are commendable goals, but know that the process of learning how to develop applications regardless of platform could take quite a while. This is not to discourage you, but to inform you of what you are to expect in this journey, which does not have a definite end.
I want to get started learning how to program my new educational software right away,
To introduce you to programming, know that the way to start is to learn how to program
per se using a language of your choice. There are unending debates regarding which language one should learn first and there is a point to them. However, know that programming is language agnostic--there is no universally "right" or "best" language to learn for beginners. Any language can teach you how to program, and this is what initially matters. As a concrete example, the below will show you how to print an output in several languages:
Java:
System.out.print("Hi!");
C#:
Console.Out.Write("Hi!");
Ruby:
puts "Hi!"
Python:
print ("Hi!")
Although different manners of execution and syntaxes exist as seen above, fundamental concepts remain the same throughout all languages (for this example, it is the existence of a print function). As a broad analogy, think of programming as driving--knowing how to drive will enable you to run any vehicle. Similarly, knowing how to program will allow you to learn any language (in theory).
Does this mean this enterprise is directionless, then? Of course not. There is where your goals play a defining role to shape and contextualize your learning landscape. Hit two birds with one stone e.g. if your aim is to develop web pages and web applications, then learn how to program by beginning with a web programming language.
Given that, start by knowing what kind of applications you want to develop. These are the most common types:
Below are information graphics regarding various kinds of developers and the most popular languages for their fields:
As for learning platforms, consider the following:
Best of luck!