The objective of this course is to apply concepts and problem-solving techniques that are used in the design and analysis of efficient algorithms. This course will provide students with exposure and practice to more advanced data structures and algorithmic strategies used in software development. Students will identify real world problems and apply a heuristic approach to solve them. After reviewing basic data structures and algorithms, students will apply advanced analysis techniques and algorithms. Particular emphasis will be placed on efficiency and optimization.
1. Hybrid delivery format. 2. This course will be a combination of in-class sessions (15 hours) AND online instruction (30 hours). Classroom sessions will be held on the following Wednesdays at the Burnaby campus: April 10, May 8, May 29 and June 26. All sessions will be from 1730-2030. ***This is not a self-paced course. There will be specific timelines for assignments and exams.*** Course content, kind and quality of assignments and general standards for this course are the same as classroom courses. 3. This is a CST BTech course. CST BTech courses are also open to non-bachelor program students. CST Bachelor program students have up to seven (7) years to complete the Bachelor program starting from the date of their first Technical degree-level course or the date of acceptance to the Bachelor program, WHICHEVER COMES FIRST.
This course offering is in progress. Please check back next term, subscribe to receive email updates or
contact us with your comments or questions.
Upon successful completion of this course, the student will be able to:
Design and analyze data structures (including advanced tree data structures, dictionaries, hash tables, heaps, and priority queues)
Apply a heuristic approach to problem solving.
Apply the most appropriate and optimal solution for problem solving using fundamental algorithms (including greedy, divide-and-conquer, and dynamic programming) and advanced algorithms.
Apply mapping of real-world problems to algorithmic solutions (including graph problems).
Apply advanced techniques to algorithms (including probabilistic and Big O analysis).
Design finite state machines for practical problems.
Effective as of Winter 2020
COMP 8042 is offered as a part of the following programs:
If you have a comment or question about this course, please complete and submit the form below.
Interested in being notified about future offerings of COMP 8042 - Advanced Algorithms and Data Structures Design and Analysis?
If so, fill out the information below and we'll notify you by email when courses for each new term are displayed here.