BCT 212 DATA STRUCTURES AND ALGORITHMS Revised

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

SCOTT CHRISTIAN UNIVERSITY

BCT 212 DATA STRUCTURES AND ALGORITHMS

COURSE OUTLINE

Academic year-2022/2023 Semester-One


Contact Hours-42hrs Credit Hours-3
Lecturer - Benson M. Ireri E-mail: bnsnmurithi@gmail.com Mobile: 0726656975

Purpose of the Course


To provide techniques for programming with collections of data, and the data structures and
algorithms that are needed to implement these collections.
Expected Learning Outcomes
At the end of this unit of study, the student should be able to:
1. Explain elementary data structures.
2. Describe the principles of an abstract data type (ADT).
3. Use primitive data types, construct commonly used data types and complex data
structures as required in development environments.

Week Topics and Content Learning activities

1 Introduction to the course: Familiarization with Course


outline, term dates and evaluation
The Array as an Abstract Data Type, The mode
Polynomial Abstract Data type- Polynomial
Representation- Polynomial Addition. Brainstorming, group discussion
and Practical session

2 Spares Matrices,Introduction- Sparse Matrix Brainstorming, group discussion


Representation- Transposing a Matrix- and Practical session
Matrix Multiplication, Representation of
Arrays. Q&A

3 STACKS Brainstorming, group discussion


and Practical session
Templates in C++, Template
Functions- Using Templates to Group presentations

1
Represent Container Classes, The
Stack Abstract Data Type
4 The Queue Abstract Data Type

Subtyping and Inheritance in C++, Brainstorming


Evaluation of Expressions, Expression-
Postfix Notation- Infix to Postfix. Practical session

Case study

Simulation

Group discussion

5 CAT1 Sit in CAT-Short structured


Questions
6 LINKED LISTS Brainstorming

Single Linked List and Chains, Practical session


Representing Chains in C++, Defining a
Node in C++- Designing a Chain Class in Case study
C++- Pointer manipulation in C++- Chain
Manipulation Operations, The Template Simulation
Class Chain, Implementing Chains with
Templates- Chain Iterators- Chain Group presentations
Operations- Reusing a Class
Q&A
7 LINKED LISTS … cnt’d Brainstorming

Circular Lists, Available Space Lists, Practical session


Linked Stacks and Queues, Polynomials,
Polynomial Representation- Adding Case study
Polynomials- Circular List
Representation of Polynomials, Simulation
Equivalence Classes, Sparse Matrices, Group discussions
Sparse Matrix Representation- Sparse
Matrix Input Deleting a Sparse Matrix, Illustration
Doubly Linked Lists, Generalized Lists,
Representation of Generalized Lists-
Recursive Algorithms for Lists-
Reference Counts, Shared and Recursive
Lists

2
8 TREES Brainstorming

Introduction, Terminology, Representation of Practical session


Trees, Binary Trees, The Abstract Data Type,
Properties of Binary Tress, Binary Tree Case study
Representations, Binary Tree Traversal and
Tree Iterators, Introduction, Inorder Traversal Simulation
Preorder Traversal, Postorder Traversal,
Thread Binary Trees, Threads, Inorder Demonstrations
Traversal of a Threaded Binary Tree,
Q&A

9 Inserting a Node into a Threaded Binary Brainstorming


Tree, Heaps, Priority Queues, Definition of a
Max Heap, Insertion into a Max Heap, Practical session
Deletion from a Max Heap, Binary Search
Trees, Definition, Searching a Binary Search Case study
Tree, Insertion into a Binary Search Tree,
Deletion from a Binary Search Tree, Height Simulation
of Binary
Search Tree.
10 CAT 2 Take away-Essay Question

11 GRAPHS Brainstorming
The Graph Abstract Data Type,
Introduction, Definition, Graph Practical session
Representation, Elementary Graph
Operation, Depth First Search, Breadth Case study
First Search, Connected Components,
Spanning Simulation
Trees, Biconnected Components,
Minimum Cost Spanning Trees, Kruskal S Group presentations
Algorithm, Prim s Algorithm Sollin’ s Q&A
Algorithm, Shortest Paths and Transitive
Closure, Single Source/All Destination:
Nonnegative Edge Cost, Single
Source/All Destination: General Weights,
All-Pairs Shortest Path, Transitive
Closure.
12 SORTING Group discussions

Insertion Sort, Quick Sort, Merge Sort Case studies


Merging, Iterative Merge Sort, Recursive
Merge Sort, Heap Sort.

3
Simulation

13 REVISION Revision Questions


Group Discussions
14 Exams

Teaching Methodology

Lectures, class/group discussions, case studies and presentations.

Instructional Materials

Whiteboard, overhead projector, LCD projector, computer, textbooks and student hand-outs

Student Assessment

Continuous Assessment Tests 40%

End of Semester Final Examination 60%

Total 100%

Core Course Reading Materials


Adam Drozdek (2004). Data Structures and Algorithms in C++. Thomson Course Technology.
Michael T. Goodrich, Roberto Tamassia (2006). Data Structures and Algorithms in Java (4th ed.)
John Wiley & Sons, Inc..

Recommended Reference Materials


Drozdek, Adam (2004). Data Structures and Algorithms in Java. Thomson Course Technology.
Kruse, R.L (1997). Data Structures and Program Design in C. Prentice Hall.
Weiss, M.A.(1997). Data Structures and Algorithm Analysis in C. Addison Wesley Publishing
Company.

You might also like