TKUC LogoTHE KING'S UNIVERSITY

COURSE NUMBER: CMPT 276
COURSE TITLE: Data Structures
NAME OF INSTRUCTOR: Instructor: Dr. Robert MacDonald
CREDIT WEIGHT AND WEEKLY TIME DISTRIBUTION: credits 3(hrs lect 3 - hrs sem 0 - hrs lab 3)
COURSE DESCRIPTION: The objective of this course is to introduce the basic concepts of programming data structures, including how to select and design data structures that are appropriate for particular applications. Topics include stacks, queues, lists, trees, search trees, graphs, and sets. This course provides a mixture of theoretical knowledge and practical experience. The study of data structures and algorithms is carried out within an objectoriented framework and programming language.
Prerequisites: CMPT 275
REQUIRED MATERIALS:
  • Michael Main & Walter Savitch Data Structures and Other Objects Using C++, 4th edition. Addison-Wesley (2011).
  • Access to Moodle: http://moodle.kingsu.ca
MARK DISTRIBUTION IN PERCENT:
Laboratory 30% Must pass the lab to pass the course.
Online Quizzes 20% Approximately one per topic.
Midterm Exam 20% In class (see Lecture Schedule)
Final Exam 20% Cumulative.
Date & place to be announced.
100%  
COURSE OBJECTIVES: The course is designed primarily to teach students how to use, design, and develop data structures using the C++ language. Secondarily the course teaches students how to use object oriented design (OOD) to solve a particular problem. Students will get hands-on experience designing and implementing data structures such as arrays, linked lists, stacks, queues, and binary trees. Students will also gain experience with the data structures provided by C++'s Standard Template Library (STL) to be familiar with professionally written code. However, the emphasis is on teaching students how to develop their own data structures and developing an appreciation for standardized data structure code such as that provided by STL.
COURSE OUTLINE:
ReadingTopic
January
Chapter 1Introduction; software development
Chapter 2Classes and Abstract Data Types
Chapter 3Container classes; array-based lists
Chapter 4Pointers and dynamic arrays
February
Chapter 5Linked lists
Chapter 6Templates and the Standard Template Library
March
Midterm exam: Wednesday 4 March, 2020 (in class)
Chapter 7Stacks
Chapter 8Queues
Chapter 9Recursion
April
Chapter 10Binary trees

Midterm Exam will be held in class on the date shown.
Final Exam date to be announced.
Note that the lectures on this schedule are very approximate.
Some topics may be finished slightly earlier or later than the dates shown.

LAB OUTLINE:
LabTopic
Lab 1Classes and Overloading
Lab 2Container classes
Lab 3Dynamic arrays
Lab 4Linked Lists
Lab 5Recursion
Lab 6Postfix Notation


Required texts, assignments, and grade distributions may vary from one offering of this course to the next. Please consult the course instructor for up to date details.

© The King's University
Maintained By Institutional Research