This course investigates abstract data types (ADTs), recursion, algorithms for searching and sorting, and basic algorithm analysis. ADTs to be covered include lists, stacks, queues, priority queues, trees, sets, and dictionaries. The emphasis is on the trade-offs associated with implementing alternative data structures for these ADTs. There will be four or five substantial Java programming assignments. (Not for Graduate credit.)

Course prerequisite(s): 

One year of college mathematics. 605.201 Introduction to Programming Using Java or equivalent.

Course note(s): 

Not for graduate credit. A course in data structures is needed for admission to the Computer Science, Cybersecurity, or Data Science program. Students who lack this prerequisite can fulfill admission requirements by completing this course with a grade of B– or better. A course in data structures is conditionally required for admission to the Information Systems Engineering program. Students who lack this prerequisite can satisfy it by completing this course with a grade of B– or better before taking any course that requires it.

Course instructor(s): 
Chlan, Cost, Guven, Kann, Rajasekaran, Resch, Shah

View Course Homepage(s) for this course.