1. Learn how to program.
2. Learn a programming language.
3. Learn the API's provided by your implementation.

Once you've done that, you then
- write a specification (basically a list of "what" you want your program to do).
- write a design (basically, that is "how" you're going to turn your specification into code).