Absolutely. I've never done anything like this either. I'm a programmer, but have never tried to build any hardware so I would consider myself in the same boat you are. The first item in the list is the Digikey part number if I have it.
603-1117-ND: 12V DC Blower 60x25 6.7CFM
P22.0KCACT-ND: R1,R2,R10,R13 22kOhm 1/4W 1% resistors
: TR1 RadioShack 10kOhm thermistor
: R3,R4,R5 1kOhm 1/4W resistor
: R14 6.8Ohm 1/4W resistor (I used a 10Ohm)
: R6 10kOhm potentiometer
: R7 390Ohm 1/4W resistor
: R8 680Ohm 1/4W resistor
: R9 2.2kOhm 1/4W resistor
: R11 4.7kOhm 1/4W resistor
1, D2 1N4001 50V 1A diode
:C1 22uF 25V electrolytic capacitor
IRF510PBF-ND:Q2 100V 5.6A power MOSFET
296-1647-5-ND: IC1 74LS164N 8 bit shift register IC
I got some parts from SparkFun as well
Arduino
16x2 5V Parallel LCD
Buttons
And of course the
WiShield 2.0 WiFi
Regarding R6, you can just find the right resistance that makes the contrast on the LCD look right to you by trial and error. I have set mine and never adjusted it. The viewing angle is really good on the LCD.
Bonus!
I was tuning my PID algorithm last night. The first section (before the first yellow bar) used just a PI control and I was getting a lot of overshoot while maintaining the temperature (230F). It would drop to 228/227 then the fan would kick up and the I term would keep the fan running even after it passed the setpoint so it would overshoot from 238-240. Even tuning it down I couldn't stop the overshoot.
The solution, which went in place in the flat area right before the yellow bar, was to use a 30 second moving average as the basis for the derivative component of the PID. Using just the "last input" that most PID controllers doesn't work because the difference between the current and previous value is never more than 1 degree and only exists for 1 tick. After I added the D component, I went to a 4 degree total swing, 229-233, but usually only 2 or 3 degrees per period. Interesting statistic: from low to low is almost always 5.5 minutes.
I'm thinking that now that I have the D component of my PID, the initial overshoot will also be much lower, as the PI-only algorithm will always overshoot in my configuration.