Analysis of alogrithms programming assignments TIM roughgardern