The University of Western Ontario
Department of Computer Science

CS 2210 -- Data Structures and Algorithms
Course Outline -- Winter 2011

Course Description

The purpose of this course is to provide the students with solid foundations in the basic concepts of programming: data structures and algorithms. The main objective of the course is to teach the students how to select and design data structures and algorithms that are appropriate for problems that they might encounter. This course is also about showing the correctness of algorithms and studying their computational complexities. This course offers the students a mixture of theoretical knowledge and practical experience.

The study of data structures and algorithms is carried out within an object-oriented framework. When implementations are considered, the Java programming language is used.

Topics covered in this course include:



Yuzhen Xie
Office: MC327
Lectures: Tuesday 1:30-3:30pm, Thursday 2:30-3:30pm at TC201.
Office hours: Tuesday and Thursday from 3:30pm to 6:00pm.

TA Consulting Hours (to be announced)


Data Structures and Algorithms in Java, fourth edition
Michael T. Goodrich and Roberto Tamassia. John Wiley & Sons Inc., 2006.

Supplementary Texts

Data Structures
  • Data Structures and Algorithms with Object Oriented Design Patterns in Java, Bruno R. Preiss, Wiley, 2000.
  • Data Structures, Algorithms, and Applications in Java, Sahni, McGraw Hill, 2000.
  • Data Structures and Algorithm Analysis in Java, Weiss, Addison Wesley, 1999.
  • A Practical Introduction to Data Structures and Algorithm Analysis (Java Edition), Shaffer, Prentice Hall, 1998.

  • The Java Programming Language, Arnold and Gosling, Addison-Wesley, 1996.
  • Java, an Object Oriented Approach, Arnow and Weiss, Addison-Wesley, 1999.
  • Java how to Program, Deitel and Deitel, Prentice Hall, 1999.
  • Javasoft web site:

Course Website

Lecture Notes

Lecture notes will be available on the course web site.

Student Evaluation

Grades will be based on:
  • 2 concept assignments, each worth 3 % of the final mark
  • 3 programming assignments, each worth 10 % of the final mark
  • a midterm exam, worth 29 % of the final mark
  • a final exam, worth 35 % of the final mark

This course is an important prerequisite for CS 2212a/b and most third year Computer Science courses. The following rules are designed to ensure that students progressing in honors programs, and those planning to take further CS courses, meet certain minimum standards:
  • To be eligible to pass the course, a student must receive a weighted average of at least 45% on the midterm and final exams, and a weighted average of at least 45% on the assignments.
  • To be eligible to receive an overall grade of 60% or higher in the course, a student must receive a weighted average of at least 55% on the midterm and final exams, and a weighted average of at least 55% on the assignments.

If for any reason the assignment schedules given below cannot be adhered to,  the assignment  marks will be pro-rated. The assignments are worth 36% of the overall mark for the course. If an assignment has to be cancelled for any reason, the remaining assignment weights will be prorated to add up to 36%.

If for any reason the midterm examination has to be cancelled, the final exam will be worth 64% of the final mark.

Every effort will be made to have assignments marked and handed back within 3 weeks of the hand in date. Midterm exam marks will be available within 2 weeks of the exam.

 Schedule (Tentative, some of these dates might change)

All assignments are due at midnight on the date indicated.

  • Assignment 1 (concept), due on January 20.
  • Assignment 2 (programming), due on February 11.
  • Assignment 3 (concept), due on February 18.
  • Assignment 4 (programming), due on March 18.
  • Assignment 5 (programming), due on April 8.

  • A 110-minute midterm exam is scheduled on Tuesday, March 1st during class.
  • A 3-hour final exam will be at 7:00pm-10:00pm on Saturday, April 16.

Computer-marked multiple-choice tests and/or exams may be subject to submission for similarity review by software that will check for unusual coincidences in answer patterns that may indicate cheating.

There will be no makeup Midterm Exam, except for students requesting a Special Midterm Exam for religious reasons. These students must have notified the course instructor and filed documentation with their Dean's office at least 2 weeks prior to the Midterm Exam.

If you miss the Midterm Exam for any other reason, follow the procedure for Academic Accommodation for Medical Illness given below. If accommodation is approved by your Dean's office, your Final Exam mark will be re-weighted to include the weight of the Midterm Exam.

Concept Assignments

  • Two concept assignments will be assigned in this course. Each assignment consists of a set of exercises related to the material covered in class. The solutions for the exercises should be neatly written or typed.
  • All assignments will be made available on the course web site. The availability of assignments will be announced on class and/or via e-mail. Students are responsible for checking their e-mail on a regular basis.

Programming Assignments

  • The programming assignments require you to write Java programs related to the data structures and algorithms discussed in lectures.
  • To be eligible for full marks, your programming assignments must run on the departmental computing equipment. You may develop assignments on your home computer using an alternative version of Java, but you must allow for the amount of time it will take to get the final product working on Computer Science's machines.
  • All programming assignments must be handed in using electronic submission procedures, to be described in class.
  • All assignments will be made available on the course web site. The availability of assignments will be announced on class and/or via e-mail. Students are responsible for checking their e-mail on a regular basis.

Appeals of Assignment Marks

  • Appeals of assignment marks should be addressed to the T.A. first. If you and the T.A. cannot agree, then the T.A. will discuss the situation with the lecturer.
  • Appeals must occur within 1 week from the first day that the marked assignments were made available to students. After that 1 week period has gone by, no more appeals will be considered.

Late Policy

For each assignment it is indicated above when it is due, and for each assignment we will give details on how to hand in the work.

Concept assignments must be handed in on the due date. No late concept assignments will be accepted.

The late penalty for programming assignments is:
  • 5% for 1 day late
  • 10% for 2 days late
  • 15% for 3 days late
  • 20% for 4 days late
  • You cannot be more than 4 days late.
  • For computing the late penalty, Saturday and Sunday count as one day.

Extensions will be granted only by the course instructor. If you have serious medical or compassionate grounds for an extension, you should take supporting documentation to the office of the Dean of your faculty, who will contact the instructor.

Academic Accommodation for Medical Illness

If you are unable to meet a course requirement due to illness or other serious circumstances, you must provide valid medical or other supporting documentation to your Dean's office as soon as possible and contact your instructor immediately. It is the student's responsibility to make alternative arrangements with their instructor once the accommodation has been approved and the instructor has been informed. In the event of a missed final exam, a "Recommendation of Special Examination" form must be obtained from the Dean's Office immediately. For further information please see:
A student requiring academic accommodation due to illness should use the Student Medical Certificate when visiting an off-campus medical facility or request a Record's Release Form (located in the Dean's Office) for visits to Student Health Services. The form can be found here:

Ethical Conduct

Scholastic offenses are taken seriously and students are directed to read the appropriate policy, specifically, the definition of what constitutes a Scholastic Offense, at the following Web site: Plagiarism: Students must write their essays and assignments in their own words. Whenever students take an idea, or a passage from another author, they must acknowledge their debt both by using quotation marks where appropriate and by proper referencing such as footnotes or citations. Plagiarism is a major academic offense.

All assignments are individual assignments. You may  discuss approaches to problems among yourselves; however, the actual details of the work (assignment coding, answers to concept questions, etc.) must be an individual effort. Assignments that are judged to be the result of academic dishonesty will, for the student's first offense, be given a mark of zero with an additional penalty equal to the weight of the assignment also being applied. You are responsible for reading and respecting the Computer Science Department's policy on  Scholastic Offenses  and Rules of Ethical Conduct.

The University of Western Ontario uses software for plagiarism checking. Students may be required to submit their written work and programs in electronic form for plagiarism checking.

For computer-marked multiple-choice tests and/or exams, use may be made of software to check for unusual coincidences in answer patterns that may indicate cheating.

Email Contact

We will occasionally need to send email messages to the whole class, or to students individually. Email will be sent to the UWO email address assigned to students by Information Technology Services (ITS), i.e. your email address It is each student's responsibility to read this email on a frequent and regular basis, or to have it forwarded to an alternative email address if preferred. See the ITS website for directions on forwarding email.

However, you should note that email at ITS (your UWO account) and other email providers such as or may have quotas or limits on the amount of space they can use. If you let your email accumulate there, your mailbox may fill up and you may lose important email from your instructors.  Losing email that you have forwarded to an alternative email address is not an excuse for not knowing about the information that was sent.

If you send email to instructors from a commercial account, send a carbon copy (cc) to your UWO email address. The instructors will respond to your UWO address.

Computing Facilities

Each student will be given an account on the Computer Science Department senior undergraduate computing facility, GAUL.  In accepting the GAUL account, a student agrees to abide by the department's  Rules of Ethical Conduct.

Note:  After-hours access to certain Computer Science lab rooms is by student card. If a student card is lost,  a replacement card will no longer open these lab rooms and the student must bring the new card to a member of the Systems Group in Middlesex College Room 346.

Accessibility Statement

Please contact the course instructor if you require material in an alternate format or if you require any other arrangements to make this course more accessible to you. You may also wish to contact Services for Students with Disabilities (SSD) at 661-2111 x 82147 for any specific question regarding an accommodation.