look at programming methodology cs 106a 2560982