There are all sorts of way to prepare for starting to begin to get ready to learn how to program.
1. Learn to play a musical instrument, sight-reading from sheet music, and to convert music learned "by ear" into sheet music.
2. Learn to cook and prepare recipes for others to use.
3. Figure out how to repair or mod something, and how to make instructions (like on instructables.com) for others to follow.
4. Learn math well enough to prove to somebody else that the pencil-and-paper method for long division actually works.
etc.
All of these are programming-like activities. But, you don't really learn to program until you start programming. You don't need advanced math to start programming. Most computing is done with just addition, subtraction, multiplication and division (with remainder) of whole numbers. Of course, you'll need extra math if your application is mathematical in nature. Or music if your application is musical, or accounting if you are writing yet another general ledger application, etc.
You do need to know how to use a computer and an editor, but since you posted the question, you're good there.
To actually get started, taking a class is best, if you can. If you need to do it on your own, then pick a language and get a book. I know there are websites, but these tend to be a string of unconnected lessons, rather than a cohesive plan to learn the language basics.
For the language, either Java or Python might be a good choice. I'd suggest Java because there is more material to choose from, both printed and online, for the beginner. I didn't learn Java as a beginner (it didn't exist back then), but some books that look good either of the two "For Dummies" books (both by Barry Burd) or the more comprehensive "Java: A Beginner's Guide" by Herbert Schildt.
Don't spend too much (Amazon is cheaper than Barnes&Noble, used on Craig's is cheaper than Amazon, but new where you can make your own markups is worth something), until you know that you're going to want to do this.
Make a point, in each section or chapter, to learn the vocabulary and to type in each example and get it running. It may not seem like it, but you learn more from typing it in than from reading it. Customize or tweak the samples after you get them working. If your tweak breaks an example, try to figure out why.
Try to find things that you can do with what you've learned. It will take some time before you can build a usable application. Focus on how to get data items inside a computer to represent and model things that are outside of the computer. That's an important part of doing something useful with a computer.