COMP 352 Data Structures and Algorithms Winter 2021 -Course Outline
Instructors
E-Lecture:
Tutorials & POD Schedule:
Please see your instructor website for full details. Tutorials and POD hours start the second week of the term.
Important Note: Due to the COVID-19 pandemic, this course is offered remotely for all sections.
1.
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.
You must have all equipment, tools, software, etc. that are needed for a remotely delivered course, in order to take this course.
All students are expected to do non proctored online, timed exams
o Midterm will be through Moodle/Cole depending on your section.
o Final exam will be through Concordia Online Exam (COLE). Students are encouraged
to visit practice exam site to become familiar with the system.
o Course instructor reserves the right to conduct an individual oral examination to verify
students response to online exam questions
Course Description
Pre-Requisites: COMP 232 or COEN 231; COMP 249 or BCEE 231.
Design:
Comp 352 Winter 2021 Course Outline Page 1
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 instructors 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.
Comp 352 Winter 2021 Course Outline Page 2
4. Grading
Assignments Midterm Final
30% (7.5% x 4) 20%
50%
To pass the course, you must at least pass the assignments and the final exam. Usually, a score of 50% is required. There are no make-ups/alternates for missed exams or assignments.
There is no a priori fixed relationship between your total percentage scored and the final letter grade assigned.
Assignments: There will be 4 assignments, all of which will be available online. These assignments play a major role in your learning of the various topics covered in this course. To pass the course, you must pass the assignments component. Assignments must be submitted by the due date. No assignment will be accepted after the due date. More detailed information on assignments is provided with each assignment. Please read them carefully!
Midterm and Final exams: We will have a midterm and a final exam in this course. Both exams are online non proctored exams.
Midterm will be through Moodle/Cole depending on your section.
The final exam will be identical for both sections S and X through Concordia Online
Exam (COLE).
Additionally, you may be called for a follow-up oral exam afterwards. The formats of these two exams will be similar, and may include multiple choice questions, questions with detailed answers including problem solving question, and True/False questions requiring a short justification. The final exam will be identical for both sections.
While exams are online, where you will be able to consult any materials, class notes, textbook, etc., you are NOT allowed to contact anyone during the exam (whether offline or online). Violating this in any way or form will result (100%) in you being reported to the University, which may result in severe consequences.
In the event of extraordinary circumstances beyond the Universitys control, the content and/or evaluation scheme in this course is subject to change.
5. Schedule
Please note that the following is a tentative schedule.
Book Chapter
Topic
Introduction
4
Algorithm Analysis (4.1 to 4.3)
5 + 15
Recursion (5.1 to 5.6, 15.1 to 15.2)
6
Stacks and Queues (6.1 to 6.2)
Comp 352 Winter 2021 Course Outline Page 3
3 +7
Vectors, Lists, Iterators and Sequences (3.1 to 3.4, 7.1 to 7.3)
8
Trees (8.1 to 8.4)
9
Priority Queues and Heaps (9.1 to 9.4)
10
Maps, Dictionaries and Hash Tables (10.1 to 10.3)
11
Search Trees (11.1 to 11.3)
12
Sorting (12.1 to 12.4)
14
Graphs (14.1 to 14.7)
Important dates
6. Behavior
All individuals participating in courses are expected to be professional and constructive throughout the course, including in their communications. Concordia students are subject to the Code of Rights and Responsibilities which applies both when students are physically and virtually engaged in any University activity, including classes, seminars, meetings, etc. Students engaged in University activities must respect this Code when engaging with any members of the Concordia community, including faculty, staff, and students, whether such interactions are verbal or in writing, face to face or online/virtual. Failing to comply with the Code may result in charges and sanctions, as outlined in the Code.
7. IP
Content belonging to the instructor or the TAs shared in online courses, including, but not limited to, online lectures, course notes, and video recordings of classes remain the intellectual property of the faculty member and the TAs. It may not be distributed, published or broadcast, in whole or in part, without the express permission of the faculty member. Students are also forbidden to use their own means of recording any elements of an online class or lecture without express permission of the instructor. Any unauthorized sharing of course content may constitute a breach of the Academic Code of Conduct and/or the Code of Rights and Responsibilities. As specified in the Policy on Intellectual Property, the University does not claim any ownership of or interest in any student IP. All university members retain copyright over their work.
Event
A#1
A#2
Midterm1
A#3
A#4
Final
date
Feb 5
Feb 26
March 8 (Section S) March 11 (Section X)
Mar 26
Apr 16
*2
1 Check your section whether the exam will run on Moodle/COLE 2 Schedule during final exams period by the exam office, on COLE
Comp 352 Winter 2021 Course Outline Page 4
8. Ethical Behavior
Plagiarism The most common offense under the Academic Code of Conduct is plagiarism which the Code defines as the presentation of the work of another person as ones own or without proper acknowledgement.
This could be:
material copied word for word from books, journals, internet sites, professors course notes, etc.
material that is paraphrased but closely resembles the original source.
the work of a fellow student, for example, an answer on a quiz, data for a lab report, a paper or
assignment completed by another student.
a solution or Java code purchased through one of the many available sources.
Plagiarism does not refer to words alone; it can also refer to copying images, graphs, tables, and ideas. Presentation is not limited to written work. It also includes oral presentations, computer assignments and artistic works. Finally, if you translate the work of another person into French or English and do not cite the source, this is also plagiarism.
In Simple Words: Do not copy, paraphrase or translate anything from anywhere without saying where you obtained it!
Source The Academic Integrity Website: http://www.concordia.ca/conduct/academic- integrity.html
9. Graduate Attributes
As part of either the Computer Science or Software Engineering program curriculum, the content of this course includes material and exercises related to the teaching and evaluation of graduate attributes. Graduate attributes are skills that have been identified by the Canadian Engineering Accreditation Board (CEAB) and the Canadian Information Processing Society (CIPS) as being central to the formation of engineers, computer scientists and information technology professionals. As such, the accreditation criteria for the Software Engineering and Computer Science programs dictate that graduate attributes are taught and evaluated as part of the courses. The following is the list of graduate attributes covered in this course, along with a description of how these attributes are incorporated in the course:
A knowledge base for engineering: Demonstrated competence in university level mathematics, natural sciences, engineering fundamentals, and specialized engineering knowledge appropriate to the program. Knowledge of 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.
Problem analysis: Ability to use appropriate knowledge and skills to identify, analyze, and solve complex engineering problems in order to reach substantiated conclusions. Analyze problems and determine their constraints in order to make a choice as to what data structures and algorithms to use for their implementation.
Design: Ability to design solutions for complex, open-ended engineering problems and to design systems, components or processes that meet specified needs with appropriate attention to health and safety risks, applicable standards, and economic, environmental, cultural and societal considerations. Use and compose appropriate data structures and algorithms to solve a variety of problems.
Comp 352 Winter 2021 Course Outline Page 5
Use of engineering tools: Ability to create, select, apply, adapt, and extend appropriate techniques, resources, and modern engineering tools to a range of engineering activities, from simple to complex, with an understanding of the associated limitations. Make educated choices as to what data structures and algorithms to use to solve problems following their respective strengths and constraints.
10. Accessibility and student services
Accessibility The instructor will strive to make learning experience as accessible and inclusive as possible. If you have accessibility needs that require academic accommodations, please meet with an advisor from the Access Centre for Students with Disabilities (ACSD) as soon as possible to set up an accommodation plan. http://www.concordia.ca/students/accessibility.
List of student services
1. Access Centre for Students with Disabilities
2. Student Success Centre
3. Counselling and Psychological Services
4. Concordia Library Citation and Style Guides
5. Health Services
6. Financial Aid and Awards
7. Academic Integrity
8. Dean of Students Office
9. International Students office
10. Student Hub
11. Sexual Assault Resource Centre
12. Aboriginal Student Resource Centre
Comp 352 Winter 2021 Course Outline Page 6
Reviews
There are no reviews yet.