Finding where to start without a formal education is the hardest part IMO. The tutorials here are really good: http://www.cplusplus.com/doc/tutorial/. Conservativley I would say two weeks? I have a short attention span and a shorter temper and I know it so guessing how long it would take someone else to learn this is difficult for me. After these basics we would know where you are and can go from there.
No one would write a program that actually controlled a smart house in Java, or C++ or any similar language.
It would be controlled by a PLC (programmable Logic Controller).
There may be one or more PC's displaying various stuff, (user interaction, monitoring etc..) but the real
control will be done by the PLC