Can I program the Arduino without having an actual board with the able to emulate a COM connection to the computer?
You could use the Simulator in Atmel Studio or something like Virtual Breadboard which looks good

The Atmel Studio simulator might take a bit of work to simulate your devices but if you have 2 months then maybe that's okay :) If you want to use the simulator in Atmel Studio then you might also find the Arduino plugin for Atmel Studio useful.

I think there are quite a few other solutions if you search google.