Computing Science Course Outlines

Course Outline - CMPT 225 - Data Structures and Programming

Information

Subject

Catalog Number

Section

Semester

Title

Instructor(s)

Campus

CMPT

225

D200

2009 Spring (1091)

Data Structures and Programming

John Edgar   

Surrey Campus

Calendar Objective/Description

Introduction to a variety of practical and important data structures and methods for implementation and for experimental and analytical evaluation. Topics include: stacks, queues and lists; search trees; hash tables and algorithms; efficient sorting; object-oriented programming; time and space efficiency analysis; and experimental evaluation.

Instructor's Objectives

This course will explore ideas of data and program organization that allow complex tasks to be solved in simple and elegant ways. In order to manage the complexity of programs, we will consider abstract data types and object-oriented programming, including their concepts and implementations in the Java and/or C++ programming languages.

Prerequisites

MACM 101 and one of CMPT 125, 126 or 128; or CMPT 128 and approval as a Biomedical Engineering Major. Quantitative.

Topics

  • Abstract data types: modularization, encapsulation, information hiding.
  • Data structures: strings, sets, stacks, queues, lists, hash tables, trees, graphs (if time).
  • Algorithms: searching and sorting, time and space efficiency analysis.
  • Programming: Object-oriented design & programming in support of extensible systems and software reuse; recursion.

Grading

4 or 5 Assignments and 4 - 8 lab activities 30%, Midterm exam 25%, Final exam 45%.

Required Books

  • Data Abstraction & Problem Solving with C++ - Walls and Mirrors, F. M. Carrano, Addison Wesley, 2005, 0-321-24725-6

Reference Books

  • Data Structures & Prog Design in C++, Robert Kruse & A.J. Ryba, Prentice Hall, most recent edition

Recommended Books

  • Data Abstraction & Problem Solving with Java - Walls and Mirrors, F. M. Carrano & J. J. Prichard, Addison Wesley, 2004, 0-321-19717-8, Updated Edition

Academic Honesty Statement

Academic Honesty plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that ALL acts of intellectual dishonesty are subject to disciplinary action by the School; serious infractions are dealt with in accordance with the Code of Academic Honesty (T10.02) ( http://www.sfu.ca/policies/teaching/t10-02.htm ). Students are encouraged to read the School's policy information ( http://www.cs.sfu.ca/undergrad/Policies/ ).

Data Last Updated: