EC 330 Applied Algorithms and Data Structures for Engineers