Think like a Programmer Environment