Learning Objec ves and Outcomes:
By the end of this course students will be able to:
Implement basic data structures and algorithms using the Java language.
Select the appropriate data structure or algorithm to solve a problem.
Apply methods of performance evalua on including asympto c analysis, to assess data structures and associated algorithms.
Develop an understanding of standard data structures, including lists, stacks, queues, binary search trees, and hash tables and be able to ar culate the characteris cs and opera on of each.
Week 1: Unit 1-- Introduc on to Data Structures and Algorithms
Week 2: Unit 2- Algorithm Analysis
Week 3: Unit 3-- Lists, Stacks, Queues, and Dic onaries
Week 4: Unit 4-- Binary trees
Week 5: Unit 5-- Non-binary Trees
Week 6: Unit 6- Internal Sor ng techniques and algorithms
Week 7: Unit 7- File Processing and external sor ng
Week 8: Unit 8- Searching and indexing techniques and algorithms
Week 9: Unit 9- Review Final Exam
Week 1: Unit 1- Introduc on to Data Structures and Algorithms
Topics:
Philosophy of data structures
Design pa erns
The role of algorithms in problem solving
Mathema cal founda ons
Sets and Rela ons
Logarithms
Recursion
Proofs
Learning Objec ves:
Understand the need for data structures and recognize the cost / resource tradeo s that exist and must be considered in the design and implementa on of data structures and algorithms.
Understand basic data structures concepts including:
ADT (Abstract Data Type)
Aggregate and composite types
Data types and Data structures
Physical and logical forms of ADT's
Understand basic design pa erns for problem solving including: yweight, visitor, composite, and strategy
Recognize and understand the role of algorithms in problem solving and understand the characteris cs of an algorithm
Understand and be able to apply fundamental set and rela ons concepts and nota on
Understand and be able to apply mathema cal concepts including logarithms, summa ons and recurrences
Understand the concept of recursion and how it is implemented in algorithms
Understand and be able to use mathema cal proof techniques including:
Direct Proof
Proof by Contradic on
Proof by mathema cal induc on