Datasheets for various devices/components used in this tutorial:
Links of interest:
Tons of good info in the forums as well as application notes (AN series papers) released by Microchip which cover numerous topics ranging from binary arithmetic routines to interfacing with various peripheral devices etc...
An excellent way to get started learning how to program PIC microcontrollers when you are just starting out. Like I said, it's the best $15 you will spend if you really want to learn how the guts of these things operate. Each topic is explained in both the C programming language and assembly.
For those using Linux and have access to (or want to use) the discontinued PICKIT2 programmer, the following is a link to the PK2CMD software which allows you to program the devices via the command line. It wont support chips made since about 2009 or so, but unlike Intel CPUs, 8-bit microprocessor technology doesn't really advance at a breakneck pace and you can do just about anything with the devices made prior to that time. Microchip also continues to produce every MCU they ever released (as far as I know) so its not like they go out of style.
If you want to know why someone might want to use a PICKIT2 instead of the newer PICKIT3 check out this humorous video below:
It went viral enough that it received a humorous response from Microchip themselves:
Fritzing CAD software/schematic editor.
If you've never used a CAD program for electronics design before, Fritzing is about the easiest one to get started with and it's what I used it to create the schematics for this site. Of course you can also use it to layout a PCB and send the gerber/drill files away to have a board of your own produced.