This course covers techniques relevant to program design and selection of data structures for larger programs. Topics covered include design techniques, effective use of recursion, algorithmic efficiency and O-notation, linked-lists, stacks, queues, trees, hash tables, heaps, graphs and sorting and searching techniques. Extensive programming of a variety of data structures is required.
The quizzes are multiple-choice, online, and open-book. However, you may not ask other people to help you during the quizzes. You will need to study the textbook chapter
before the lecture covering it, and take the quiz before that class.
Each quiz is due 30 min. before class. Each quiz has 5 questions, you have ten minutes to take it, and you can make two attempts. If you take the quiz twice, the higher score counts.