Scratch (http://scratch.mit.edu/) is a good way to learn the basics of putting programs together. It's done visually and it may feel like just a toy, but you can do some pretty cool things, it has a very shallow learning curve, and it can intuitively guide you to learning some important concepts which then have applicability to traditional programming.