Yea, when you click the upload button in the Arduino environment, the following things happen (more or less):
- All the files in your sketch get merged into one (the multiple "tabs" in the environment)
- That file then gets compiled into machine-readable instructions (.hex file) (All the included libraries also get compiled, and get merged into the single .hex file)
- Arduino environment resets the ATMega chip on your board
- Bootloader runs first, recognizes that you want to upload new code
- Arduino environment starts sending out the machine-readable instructions (the single .hex file), and the bootloader receives them, flashing the chip along the way
To do what I want, I would simply do the first couple steps on my computer (compile the sketch into a .hex file), then I would place it onto an SD card and let the "programmer" do it's work.