programming and architecture fundamentals 470816