Course Information
This course covers the design and implementation of fundamental data structures which allow one to store collections of data with fast updates and queries. Course work involves both written exams and Java programming assignments.
Prerequisites
$C+$ or better in
EN.600.120
OREN.601.220
OREN.600.107
OREN.601.107
OREN.500.112
OR (EN.500.113
ANDEN.500.132
) OR (EN.500.114
ANDEN.500.132
) or by permission of instructor.
Upon successful completion of this course, you should be able to:
- Understand the operation of common data structures and algorithms.
- Use analysis techniques to choose the data structure/implementation appropriate for a given problem.
- Write advanced object-oriented solutions in Java to significant problems, by implementing appropriate data structures and algorithms
- Evaluate and compare the time complexity of functions using mathematical techniques.
- Design an algorithm that produces the correct results according to specified inputs and time or space complexity constraints.
This course will address the following Computer Science BS Program Student Outcomes:
- Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions. [SO1]
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. [SO2]
- Apply computer science theory and software development fundamentals to produce computing-based solutions. [SO6]