Objectives 

        

Schedule     Course Outline    Assignment Policy      Grading Scheme     
    

The primary objective of this course is to provide the student with an advanced treatment of computer programming with an emphasis on design and implementation of abstract data structures. The coding language is C++. At the completion of the course, students will be capable of writing complex applications using structured programming methods.

 

 

Main Text

        Mark Weiss  (2000)  Data Structures and Algorithms using C++ (Second 

        Edition)  Addison Wesley Longman.

 
Recommended Text

        Bruno R. Preiss (2002) Data Structures and Algorithms With Object 

        Oriented-Design Patterns in C++; John Wiley & Sons, Inc.

 

        Deitel & Deitel  (2003)  C++: How to Program  (Fourth Edition); Prentice Hall


        Main & Savitch (2001) Data Structures and Other Objects Using C++ 

        (Second Edition); Addison Wesley Longman.

 
        Cay Horstmann (2003) Computing Concepts With C++ Essentials (Third 

        Edition); John Wiley & Sons, Inc.

 

Dates to Bear in Mind:
                    ·  Tuesday June 22           :  Class Test 1
                    ·  Monday June 28           :  Programming Assignment 1 due date
                    ·  Tuesday July 13            :  Class Test 2
                    ·  Friday July 16               :  Programming Assignment 2 due date
               

    

 SCHEDULE

Lecture 

Tutorial/Labs

Day

Time

Room

Day

Time

Room

 

Monday

 

7 - 9

LR2

     

 

Tuesday

 

7 - 9

LR4

Wednesday

 5 - 7

ML1

Thursday

4 - 6

LR2

 

 

 

 

 

 

 

 

Course Outline

 

Review of C++ Programming Concepts

Program Structure 

Functions  

Variable Data Types  

struct, enum, union  

Pointers  

Vectors 

Template  

Classes and Data Abstraction  

Function Overloading 

 

:Abstract Data Types

Lists (Singly and Doubly Linked)

Queues

Stacks

Deques

Priority Queues

Binary Heaps

Dictionaries

BST 

AVL Trees 

Splay Trees 

B-Trees 

Sets

Disjoint Sets 

Forest 

Path Compression 

Weighted Unions 

Trees

Binary Trees, 

Binary Search Trees, 

Tree Traversal Algorithms.

 

Indices

Hash tables

Hash functions

Collision resolution

 

 Sorting

Internal sorting techniques.

Shell sort

Quicksort 

Heap sort

 

Graphs

Search techniques e.g. sequential, binary.

Scatter storage techniques 

Collision resolution 

 

       

Grading, Final Paper And Course Work

    

Area of Testing Percent of Grade
   
Final Paper 60

Two Class Tests:

                                 Class Test #1

                                 Class Test #2

 

10

10

Two Programming Assignments:

                                   Program #1 

                                   Program #2 

 

10

10

 

    Programming Assignment Marking Scheme

 

Area of Testing Percent of Score
   
Use of Structures 30
Functional Decomposition 30
 Documentation 20
 Effective use of White Spaces 5
 Execution 15

 

 

 Assignment Policy:

All assignments will be due by 9 p.m. on the given day. All work must be done by the  individual student unless otherwise indicated. At NO time and under NO circumstances will late submissions be accepted.