• Home
  • University of the People
  • Data Structures (proctored course) CS 3303
  • Data Structures and Algorithms

Data Structures and Algorithms

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