BSC 2304 DATA STRUCTURES AND ALGORITHMS
Contact Hours 39
Purpose To provide fundamental knowledge in data structures and algorithms to solve business
problems
Objectives By the end of the course unit, the learner will be able to;
Have gained knowledge and skills in organizing and manipulating business data in the
computer storage.
Discuss the analysis of computer algorithms extensively
Understand business data structures and the design and analysis of computer
algorithms
Course Content Dynamic linked structures - compiler drivers - static linking objectives - symbols
resolutions - Resolution executable object files - Loading executable files.
Dynamic linking with shared libraries form applications - Loading and linking shared
libraries from applications - Position independent code (PIC) - Tools for manipulating
object files
Sets, dictionaries, stacks, queues, lists and trees and graphs
Abstract data types
Recursion, sorting and searching
Greedy algorithms
Divide and conquer
Extensive analysis of computer algorithms
Amortized Analysis
Topics
Week 1 Introductions
Mathematics review
Exponents
Logarithms
Series
Modular arithmetics
Week 2 Algorithms Analysis
Mathematical background
Model
What to analyze in algorithms
Week 3 Running Time Calculations
Example
General rules
Lists, Stacks, and Queues
Abstract Data Types (ADTs)
Week 4 The list ADT
Simple Array Implementation of lists
Linked lists
Programming details
Week 5-9 The Queue ADT
Queue model
Array implementation of Queues
Applications of queues
Binary Trees
Implementation
Expression Trees
The search Tree
Week 10-14 Sorting
Quick sort
Analysis of quick sort
Heap sort
Merge sort
Analysis of merge sort
Algorithm Design Techniques
The greedy Algorithm
A scheduling problem
Divide and Conquer
Running time of divide and conquer algorithms
Closest-point problem
Theoretical improvements for arithmetic problems
Teaching Methodology Lecture
Tutorials
Laboratory exercise
Instructional Material/ Audio visual aids in lecture rooms computers in computer laboratory.
Equipment
Assessment A learner is assessed through ;
Continuous Assessment Tests (CATs) (30%)
End of semester examination (70%)
Required Text Books Salamis S, Data structures, Algorithms and application in Java, McGraw Hill
Banachowski I et al
Text Books for Further Analysis of algorithms and Data structures, Addison Wiley
MKlaus W, Algorithms, Data structures, programs, New Delhi, MCGraw Hill
Reading
Other Support Various application manuals and journals
Material Variety of electronic resources as prescribed by the lecturer.