Course Syllabus

CP264: Data Structures II

Physics & Computer Science, Waterloo Campus

Spring 2019

Instructor Information

David Brown | Science Building, N2091
519-884-1970 x2711 |
By Appointment

Lab Instructor Information

David Brown
Rick Magnotta | Science Building, N2091
519-884-1970 x2799 |
By Appointment

Course Information

A continuation of the study of data structures and their applications using C. Linked lists, binary search trees, balanced search trees. Hashing, collision-avoidance strategies. A continuation of basic algorithm analysis.

3 lecture hours, 1 lab hour

Credit: 0.50

Prerequisite: CP164

Exclusion: CP114



Section Information
Section Days Times Room Instructor
Lecture C MW - 2C16 Mr. David Brown
Lab L1 M - BA113 Mr. David Brown

Course Overview and Approach

Course Tools and Learning Materials

Cover of Java Zybook

A ZyBook is an on-line alternative to a traditional textbook. It contains animations, interactive learning questions, and more.

  1. Sign in or create an account at
  2. Enter zyBook code WLUCP264BrownSpring2019
  3. Subscribe

A subscription is $77 and lasts until .

Completing the interactive questions in the ZyBook is worth 10% of your course grade.

You are responsible for storing all your assignment and lab work on your own memory sticks, Laurier network storage, or other media. We strongly suggest that you keep at least two copies of your work at all times, for memory sticks can fail, or be lost.

MyLearningSpace / Brightspace

Laurier Library

Centre for Student Success (writing centre, math centre, academic advising, study skills/supplemental instruction, accessible learning)

Student Evaluation

Assessment Weighting
Assignments 20%
Labs 10%
Midterm 20%
ZyBook 10%
Final Exam 40%

Students must pass the final exam in order to pass the course.

Weekly Schedule

Note: this schedule is subject to change.

Schedule Information
Week Starting Labs Assignments
Friday, 12:30 pm
2 1: Eclipse/CDT 1:
3 2: Command Line Parameters 2:
4 3: String Handling 3:
5 4: Files 4:
6 5: Stacks 5:
7 6: Linked Lists Midterm, Wednesday,
8 7: Queues and BSTs (Cont'd) 6:
9 8: AVLs 7:
10 9: Heaps 8:
11 10: Graphs 9:
12 10:

University and Course Policies

  1. Academic Calendars: Students are encouraged to review the Academic Calendar for information regarding all important dates, deadlines, and services available on campus.

  2. Special Needs: Students with disabilities or special needs are advised to contact Laurier’s Accessible Learning Centre for information regarding its services and resources.

  3. Plagiarism: The University has approved the following wording for inclusion on all course syllabi about the use of the institutionally supported plagiarism software tool. Wilfrid Laurier University uses software that can check for plagiarism. If requested to do so by the instructor, students are required to submit their written work in electronic form and have it checked for plagiarism. (Approved by Senate May 14, 2002) .

  4. Academic Integrity: Laurier is committed to a culture of integrity within and beyond the classroom. This culture values trustworthiness (i.e., honesty, integrity, reliability), fairness, caring, respect, responsibility and citizenship. Together, we have a shared responsibility to uphold this culture in our academic and nonacademic behaviour. The University has a defined policy with respect to academic misconduct. As a Laurier student you are responsible for familiarizing yourself with this policy and the accompanying penalty guidelines, some of which may appear on your transcript if there is a finding of misconduct. The relevant policy can be found at Laurier's academic integrity website along with resources to educate and support you in upholding a culture of integrity. Ignorance is not a defense.

  5. Final Examinations: Students are strongly urged not to make any commitments (i.e., vacation) during the examination period. Students are required to be available for examinations during the examination periods of all terms in which they register.

  6. Foot Patrol, the Wellness Centre, and the Student Food Bank:


  1. The C programming Language
  2. C code style
  3. GNU coding standard
  4. C Programming Tutorial
  5. C Programming Notes
  6. The C Library Reference Guide
  7. The GNU C Library
  8. Compiling C and C++ program
  9. GNU GDB quick tutorial
  10. GNU debugger (GDB) tutorial
  11. GNU GDB command cheat sheet

The educational materials developed for this course, including, but not limited to, lecture notes and slides, handout materials, examinations and assignments, and any materials posted to MyLearningSpace, are the intellectual property of the course instructor. These materials have been developed for student use only and they are not intended for wider dissemination and/or communication outside of a given course. Posting or providing unauthorized audio, video, or textual material of lecture content to third-party websites violates an instructor's intellectual property rights, and the Canadian Copyright Act. Recording lectures in any way is prohibited in this course unless specific permission has been granted by the instructor. Failure to follow these instructions may be in contravention of the university's Code of Student Conduct and/or Code of Academic Conduct, and will result in appropriate penalties. Participation in this course constitutes an agreement by all parties to abide by the relevant University Policies, and to respect the intellectual property of others during and after their association with Wilfrid Laurier University.

© 2019 David Brown. All Rights Reserved.

Last updated: