- International Fees
International fees are typically 3.12 times the domestic tuition. Exact cost will be calculated upon completion of registration.
Course Overview
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.
- Not offered this term
- This course is not offered this term. Please check back next term or subscribe to receive notifications of future course offerings and other opportunities to learn more about this course and related programs.
Learning Outcomes
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.
- Develop (design and implement) optimized software applications using the most appropriate data structures and algorithmic strategies
Effective as of Winter 2020
Related Programs
Advanced Algorithms and Data Structures Design and Analysis (COMP 8042) is offered as a part of the following programs:
- Indicates programs accepting international students.
- Indicates programs with a co-op option.
School of Computing and Academic Studies
- Applied Computer Science (Database Option)
Bachelor of Science Full-time/Part-time
- Applied Computer Science (Games Development Option)
Bachelor of Science Full-time
- Applied Computer Science (Human Computer Interface Option)
Bachelor of Science Part-time
- Applied Computer Science (Network Security Administration Option)
Bachelor of Science Part-time
- Applied Computer Science (Network Security Applications Development Option)
Bachelor of Science Full-time/Part-time
- Applied Computer Science (Wireless and Mobile Applications Development Option)
Bachelor of Science Part-time
Programs and courses are subject to change without notice.