Computer Science (COMP) 272
Data Structures and Algorithms (Revision 7)
View previous revision
Delivery Mode: Individualized study online
Area of Study: Science
Prerequisite: COMP 268 or COMP 206. Familiarity with the fundamentals of Java and/or C++ is a prerequisite to this course. Candidates with considerable programming skills in Java, C, C++, or other languages may be admitted upon approval from the course professor. Knowledge of high school mathematics (MATH 30 level) is assumed.
Faculty: Faculty of Science and Technology
COMP 272 has a Challenge for Credit option.
**Note: Students who are concerned about not meeting the prerequisites for this course are encouraged to contact the course coordinator before registering
COMP 272 covers analysis and design of fundamental data structures and engages learners to use data structures as tools to algorithmically design efficient computer programs that will cope with the complexity of actual applications.
The course focuses on basic and essential topics in data structures, including array-based lists, linked lists, skiplists, hash tables, recursion, binary trees, scapegoat trees, red–black trees, heaps, sorting algorithms, graphs, and binary trie.
- Unit 0: Orientation
- Unit 1: Introduction
- Unit 2: Array-Based Lists
- Unit 3: Linked Lists
- Unit 4: Skiplists
- Unit 5: Hash Tables
- Unit 6: Recursion
- Unit 7: Binary Trees
- Unit 8: Scapegoat Trees
- Unit 9: Red–Black Trees
- Unit 10: Heaps
- Unit 11:Sorting Algorithms
- Unit 12: Graphs
- Unit 13: Binary Trie
Upon successful completion of this course, you should be able to
- explain the systematic methods of efficiently organizing and accessing data in data structures and algorithms.
- identify the properties and structural patterns in data structures.
- apply abstract data types to the design of data structures.
- analyze algorithms using a mathematical notation and experimental studies.
- perform comparative analysis of the typical data structures and algorithms.
- design and analyze recursive algorithms in data structures.
- write code in pseudocode and high-level programming languages for the implementation of various data structures and algorithms.
To receive credit for COMP 272, you must achieve a course composite grade of at least D (50 percent) and a grade of at least 50 percent on the final examination. The weighting of the composite grade is as follows:
|Assignment 1 (Unit 1-4)||20%|
|Assignment 2 (Unit 5-8)||20%|
|Assignment 3 (Unit 9-13)||20%|
The final examination for this course must be taken online with an AU-approved exam invigilator at an approved invigilation centre. It is your responsibility to ensure your chosen invigilation centre can accommodate online exams. For a list of invigilators who can accommodate online exams, visit the Exam Invigilation Network.
To learn more about assignments and examinations, please refer to Athabasca University's online Calendar.
The main text for this course is Pat Morin’s online book titled Open Data Structures. You can choose to complete this course using either Java or using C++, or both. The main text can be accessed at http://www.aupress.ca/index.php/books/120226. You may choose Java edition, C++ edition, or pseudo-code edition for the textbook at http:/opendatastructures.org/ as well.
- Units 0 through 13 of the study guide
- descriptions of the requirements for the individual assignments
- sample exam
Additional supporting materials of interest to students may occasionally be made available electronically.
Special Course Features
Computer science courses at Athabasca University require that students use computer-mediated communications. We expect students to have access to computer equipment with certain requirements.
Students are required to have access to the Internet.
The course work in COMP 272 requires students to have an appropriate programming environment or tool for Java or C++ programming in their local computer(s). More information about programming environment and tools needed to implement any assignment are detailed in the course package.
Challenge for Credit Overview
The Challenge for Credit process allows you to demonstrate that you have acquired a command of the general subject matter, knowledge, intellectual and/or other skills that would normally be found in a university-level course.
Full information about Challenge for Credit can be found in the Undergraduate Calendar.
To receive credit for the COMP 272 challenge registration, you must achieve a grade of at least 75 per cent on the assignment and B (75 percent) on the final examination. The weighting of the composite grade is as follows:
Undergraduate Challenge for Credit Course Registration Form
Athabasca University reserves the right to amend course outlines occasionally and without notice. Courses offered by other delivery methods may vary from their individualized-study counterparts.
Revision 7, May 22, 2014.
View previous revision