Our policy around here is to NOT do your homework for you. When you have code questions, post what you have first. We love helping you learn, but we won't do it for you.
So... What have you found so far?? Think about it -- why would it be nice to be able to control something remotely? Are there potential hazards?? Why might it be nice to have something programmable instead of something hardwired?? When might it be better to have something hardwired?? Advantages/Disadvantages of each??