design n analysis of algo coursera 1