study patterns's programming