Skip to content

Data Structures – CS 3303

This course introduces the fundamental concepts of data structures and the algorithms that proceed from them. Although this course has a greater focus on theory than application the assignments, examples, and cases introduced throughout the course help to bridge the gap between theoretical concepts and real world problem solving. We will be using a software tool that will enhance our understanding of the operation and function of the data structures and algorithms explored throughout the course by visually animating examples of data structures and algorithms so that we can understand their operation. Key topics within this course will include recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, tress, and graphs), and the basics of algorithmic analysis.

Learning Objectives and Outcomes:

By the end of this course students will be able to:

  1. Implement basic data structures and algorithms using the Java language.
  2. Select the appropriate data structure or algorithm to solve a problem.
  3. Apply methods of performance evaluation including asymptotic analysis, to assess data structures and associated algorithms.
  4. Develop an understanding of standard data structures, including lists, stacks, queues, binary search trees, and hash tables and be able to articulate the characteristics and operation of each.

Course Schedule and Topics

This course will cover the following topics in eight learning sessions, with one Unit per week. The Final Exam will take place during Week/Unit 9 (UoPeople time).

Week 1: Unit 1– Introduction to Data Structures and Algorithms

Week 2: Unit 2- Algorithm Analysis

Week 3: Unit 3– Lists, Stacks, Queues, and Dictionaries

Week 4: Unit 4– Binary trees

Week 5: Unit 5 – Non-binary Trees

Week 6: Unit 6- Internal Sorting techniques and algorithms

Week 7: Unit 7- File Processing and external sorting

Week 8: Unit 8- Searching and indexing techniques and algorithms

Week 9: Unit 9-  Review Final Exam

Learning Guide

The following is an outline of how this course will be conducted, with suggested best practices for students.

Unit 1: Introduction to Data Structures and Algorithms
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Make entries to the Learning Journal
  • Take the Self-Quiz
Unit 2: Algorithm Analysis
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Make entries to the Learning Journal
  • Take the Self-Quiz
  • Optionally watch the online video lectures on Asymptotic Analysis presented at MIT
Unit 3: Lists, Stacks, Queues, and Dictionaries
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Programming Assignment
  • Make entries to the Learning Journal
  • Take the Self-Quiz
Unit 4: Binary Trees
  • Peer assess the Unit 3 assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Programming Assignment
  • Make entries to the Learning Journal
  • Take the Self-Quiz
Unit 5: Non-Binary Trees
  • Peer assess the Unit 4 assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Make entries to the Learning Journal
  • Take the Self-Quiz
  • Take the Graded Quiz
Unit 6: Internal Sorting techniques and algorithms
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Complete and submit the Programming Assignment
  • Make entries to the Learning Journal
  • Take the Self-Quiz
Unit 7: File processing and external sorting
  • Peer assess the Unit 6 assignment
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Make entries to the Learning Journal
  • Take the Self-Quiz
Unit 8: Searching and Indexing Techniques and Algorithms
  • Read the Learning Guide and Reading Assignments
  • Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
  • Make entries to the Learning Journal
  • Take the Self-Quiz
  • Read the Unit 9 Learning Guide carefully for instructions on the Final Exam
  • Take the Review Quiz
Unit 9: Course Review and Final Exam
  • Read the Learning Guide and take the Review Quiz, if you haven’t already done so
  • Prepare for, take, and submit the Final Exam
  • The Final Exam will take place during the Thursday and Sunday of Week/Unit 9 (UoPeople time); exact dates, times, and other details will be provided accordingly by your instruction.

Data Structures – CS 3303

9 Weeks
BCS, ACS,
3 Credits
Prerequisites - CS 1103
Graphics shape Left
Graphics Shape Right

Looking for a bright new future?
It starts here

shape mobile
mobile shape