if you click on the title of this post, you'll get directed to the instructions page of a cool little circuit simulator program. while i doubt that this this is nearly as in depth or accurate as something like the SPICE-based programs out there, it's a fun little program that runs on JAVA, and it can definitely help the learning process along. not too mention, it is much easier to learn. there are a number of circuits that have already been put together that you can easily adjust and add to as much as you like, or of course you can start from scratch. i had a lot of fun messing around with a gain stage that i have been trying out as of late, seeing how the output changes with component values. it's a lot of fun, and is a great learning experience as well.