Overview
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 tries.
Learning outcomes
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.
Evaluation
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:
Activity | Weight |
Assignment 1 (Unit 1-4) | 20% |
Assignment 2 (Unit 5-8) | 20% |
Assignment 3 (Unit 9-13) | 20% |
Final Exam | 40% |
Total | 100% |
The final examination for this course must be requested in advance and written under the supervision of an AU-approved exam invigilator. Invigilators include either ProctorU or an approved in-person invigilation centre that can accommodate online exams. Students are responsible for payment of any invigilation fees. Information on exam request deadlines, invigilators, and other exam-related questions, can be found at the Exams and grades section of the Calendar.
To learn more about assignments and examinations, please refer to Athabasca University’s online Calendar.
Materials
This course either does not have a course package or the textbooks are open-source material and available to students at no cost. This course has a Course Administration and Technology Fee, but students are not charged the Course Materials Fee.
Digital course materials
Links to the following course materials will be made available in the course:
Morin, P. (2013, August). Open data structures: An introduction. AU Press.
Special Course Features
You can choose to complete this course using Java, C++, or both.
The course work in COMP 272 requires students to have an appropriate programming environment or tool on their local computer for Java or C++ programming.
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.
Evaluation
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:
Activity | Weight |
Assignment | 50% |
Final Examination | 50% |
Total | 100% |
Challenge for credit course registration form