Dawson, you are in for a bit of fun with microcontrollers. I thought it might be useful to mention that, while the PIC series is the most popular and the obvious first choice for many, you might also consider its competitor, the Atmel AVR series.
I fell into this stuff through the AVR series partly because I had a bit of exposure to the development environment. When you are doing your first project, the programmer hardware might be a lot more expensive than the rest of the project, so you might want an inexpensive solution. I started a few years ago with the Atmel STK500 progammer which costs around US$92 at Digikey, but then found that you can get by with something less like the ISP2 (ATAVRISP2 at Digikey) which is US$41. Then I had to give those to someone else and so built my own scratch made programmer interface using my computer's parallel port. That cost almost nothing and worked fine.
With these chips, you program them "in circuit". In other words, you build your application circuit with the chip, but include a 6 wire programming connector in the design (easy to figure out how). Progamming is as simple as plugging in your development-PC interface (the programmer hardware) to this connector, and then you turn on the power to your application circuit and begin a program download. It is all automatic from there. You can do this process over and over thousands of times without wearing anything out. So programming, and debug too, is "in circuit", that is in your application circuit.
I'm no programmer and have no C training, so I started with a Basic language system called BASCOM-AVR from a company in Germany. It is free and works well in my simple projects, and works with my home-made hardware interface. Heres a link to BASCOM. Most people use C however.
Home - MCS Electronics