Is there a good software program to learn electronics?

cr0sh:
Make sure one of things you purchase is a multimeter.

I'd advise making sure it measures current (Amps, milliAmps)- some of the cheaper ones don't. That can be really useful eg when say a servo isn't moving and resetting the Arduino: pop the ammeter into the circuit and realise it's drawing too much current.

Also good on a meter is a "beep" for continuity to save you having to watch the screen all the time, and if it can measure diodes and capacitance that's cool too.

(I'm expecting a bequest from my late Dad's estate soon and I'm going to treat myself to an oscilloscope.....)

I agree on the starter kit- assuming you want to stay with Arduino, and then get other stuff as you go. Say a starter kit has one small servo, that's cool while you learn how to use it. Then only buy more (and bigger, stronger) if you need them for a specific project.

I'd recommend a power supply too: I hacked an ATX from a computer so I have 3, 5 and 12V on tap at the bench. I got the power supply free through a pal- a huge 650W which wasn't enough for a gamer who levelled up to a kW or so.

Tools too btw: you don't really need more than a couple of small screwdrivers (+ and -), pointy pliers and side-cutters.

Get loads of wire: pre-cut breadboard jumpers, male-male longer ones with good connections, and a pile of ones with tiny springloaded hooks on the end. Invaluable.

I downloaded ExpressSCH free to do schematics. Dead simple to use and easy to make custom components. Companion product ExpressPCB. Also look at Eagle.

Really try to go for the real thing not a sim, far more fun and really not that expensive.