数据结构代写 | COMP 352 Data Structures and Algorithms
本次加拿大代写主要为数据结构和算法限时测试
COMP 352 Data Structures and Algorithms
 Winter 2021 -Course Outline
1. Course Description
Pre-Requisites: COMP 232 or COEN 231; COMP 249 or BCEE 231.
Topics: Abstract data types: stacks and queues, trees, priority queues, dictionaries. Data structures:
 arrays, linked lists, heaps, hash tables, search trees. Design and analysis of algorithms: asymptotic
 notation, recursive algorithms, searching and sorting, tree traversal, graph algorithms.
 2. Learning Objectives
 • Knowledge base: Demonstrate competence in fundamentals of data structures and
 algorithms.
 • Problem analysis: Analyze and state model limitations and elements of uncertainty.
 Formulate and calculate qualitative and quantitative qualities of the problems’ inputs and
 outputs. Estimate computational complexity. Evaluate and pick the most appropriate approach
 based on relevant criteria.
 • Design:
– Critique/evaluate many possible diverse solutions and use techniques to evaluate different
 solutions with sound arguments related to the problems’ requirements and constraints.
 Demonstrate thinking outside the box to create innovative solutions.
 – Develop a system architecture adapted to the systems application context and its
 requirements and constraints. Development and specification of internal and external
 software interfaces at different modularity levels. Describe a solution that presents
 enough details for implementation.
 – Write code according to design. Validate implemented systems against system
 requirements, specifications and constraints, as well as interface specifications.
 • Use of Engineering tools: Demonstrate appropriate operational use of tools (e.g.,
 algorithms, abstract data types, data structures, asymptotic complexity analysis) for specific
 tasks in a laboratory environment.
 • One credit represents, for an average student, a minimum of 45 hours of workload spread
 across the various academic activities (Source: Article 16.1.2 of the Undergraduate Calendar.)
 For an average student, this suggests a minimum of 135 hours of workload for a 3-credit
 course, including the time spent in lectures, tutorials, laboratories, examinations, and
 personal and team work.
3. Course Materials
Textbook M.T. Goodrich, R. Tamassia, Michael H. Goldwasser. Data Structures and Algorithms
 in Java, 6th edition. John Wiley & Sons, 2014. ISBN 978-1-118-77133-4. (Note: 5th edition is ok.)
 The book is available at the bookstore or can be rented as eTextbook.
 Textbook/eTextbook URL: http://ca.wiley.com/WileyCDA/WileyTitle/productCd-
 EHEP002900.html
 From the textbook we shall study these sections: 3.1 to 3.4, 4.1 to 4.3, 5.1 to 5.6, 6.1 to 6.2, 7.1 to 7.3,
 8.1 to 8.4, 9.1 to 9.4, 10.1 to 10.3, 11.1 to 11.3, 12.1 to 12.4, 14.1 to 14.7, and 15.1 to 15.2. You also need to
 study chapters 1 and 2 that will not be covered in provided lectures.
Web Page Many resources for the course (slides, assignments, example programs, …) will be
 available online through Moodle; (available through the MyConcordia portal
 www.myconcordia.ca), or through the instructor’s website. Your instructor will inform you of the
 exact link to access the materials.
 In specific, depending on your section, the lectures will either take place live over Zoom (where
 coverage of the material will take place during class time), or they will be pre-recorded. Your
 instructor will inform you about the way the class will be conducted. In case the lectures are pre-
 recorded, you will need to view these video lectures before class time. In such case, only discussions
 about the covered materials will take place during class time, where you will be able to get
 clarifications to any questions that you may have.
 All tutorials will be available online over Moodle/Yuja (accessible from Moodle) as video lectures
 prior to tutorial time. You will need to view these videos before tutorial time. While the tutors may
 very well elaborate further on the materials discussed on the videos, you need to view these video
 recordings ahead of tutorial time.