Data Structures
CIS*2520 (S08)


Course Outline

General Information

Regular classes: May 8, 2008 to August 1, 2008
Final Exam: August 14, 2008 (location: TBA) 1900--2100

Instructor : David McCaughan (REYN 210 - x56467)
e-mail: dbm@uoguelph.ca
Office hours: by appointment (or see me after class)
Teaching Assistant : El Sayed Mahmoud
e-mail: ta2520@cis.uoguelph.ca
Office hours: see advising schedule
Lectures : TTh 1130-1250 MACK 311
Labs : F 1330--1520 THRN 1313
Discussion Forum : CIS Moodle Server
Web Page : http://www.usrlocal.ca/~dbm/teaching/CIS2520/


Overview

This course provides a review of procedural abstraction and introduces students to the concepts of data abstraction, module definition and re-use. Also covered are more advanced programming concepts such as recursion and dynamic data structures (e.g. lists, tables, graphs, etc.), and their associated algorithms such as traversal, sorting and searching. There will be an emphasis on the language-independent design and analysis of abstract data types, as well as the practical issues related to their implementation in a particular programming language (C). Assignments are engineered to illustrate and reinforce the effectiveness of this approach to software development.

Students entering this course are expected to have a good grasp of basic procedural programming and introductory experience programming in C. This knowledge will serve as a base upon which we will build more sophisticated methods of algorithm and data structure design and implementation. Although explored within the context of a specific programming language, the goal of this course is to gain familiarity with techniques for general problem solving and the production of more robust systems.

See calendar discription for additional information (including prerequisites).


Evaluation

NOTE:
Required Text

Thomas A. Standish. Data Structures, Algorithms & Software Principles in C. Addison-Wesley, 1995.


Academic Misconduct in Computing

It is the policy of this department to treat cases of academic misconduct seriously. This statement is intended to clarify our policies with regard to academic misconduct in courses taken in the Department of Computing and Information Science, and to clarify penalties for offenses as outlined in the document, Penalties for Academic Misconduct: Dean's Guidelines, dated February 13, 1996 (all factual information and quoted material herein is based on this document; students are free to review these guidelines by contacting the Dean's Office). It is policy that all suspected cases of academic misconduct are referred to the Chair of the department for consideration and referral to the Dean of the college.

The Dean's Guidelines identify four offenses: plagiarism, misrepresentation, examination cheating and impersonation. The most common forms of misconduct exhibited in Computing are misrepresentation, and to a lesser extend plagiarism.

Plagiarism: is the "verbatim copying or close paraphrasing of another person's work without full and formal acknowledgement". Specificially, this involves material from a book, research paper or other source being used without acceptable referencing of the source material. This includes the use of segment of code or non-standard algorithms that were obtained by a student from a third party source, and used without permission and/or proper references. Penalties for plagiarism range from 0 on the assignment in question for minor first offenses to debarment and expulsion for subsequent offenses.

Misrepresentation: refers to the submission of material created by someone other than the student. This includes the copying of another students' source code, in part or in whole, or submitting assignments from previous offerings of the course. The Dean's Guidelines make it clear that "A student producing work in the knowledge that it will be submitted by another student as that student's work is also subject to penalty". Misrepresentation is a very serious offense, with penalties ranging from 0 for the course "...if a student submits material created by someone other than the student, whether purchased or not, the intent being to pass off that work as one's own", to expulsion for subsequent offenses.

Examination Cheating and Impersonation are less common, however carry similarly serious penalties.

Note that we encourage students to collectively discuss design issues or strategies for problem solving related to assignments. What is expected however is that the written work and implementations resulting from these discussions be independently produced by each student. Note that both the student who gives their work to another student, or leaves work where others may find it, and the student who uses the work are implicated to varying degrees. Please take care not to leave your work around, or leave a workstation without logging off. It is ultimately your responsibility to protect the integrity of your own work.


Last Modified: 2008 / 04 / 07