Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
15 views

BCSC 1204 - Data Structures & Algorithms - Course Outline

The document outlines the course structure for 'Data Structures & Algorithms' offered by the School of Computing & Information Technology for the January to April 2024 semester. It details the course purpose, learning outcomes, weekly topics, teaching methodology, evaluation criteria, and recommended textbooks. The course aims to equip students with foundational knowledge in data structures and algorithm techniques, culminating in practical programming skills.

Uploaded by

kamaureagan24
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

BCSC 1204 - Data Structures & Algorithms - Course Outline

The document outlines the course structure for 'Data Structures & Algorithms' offered by the School of Computing & Information Technology for the January to April 2024 semester. It details the course purpose, learning outcomes, weekly topics, teaching methodology, evaluation criteria, and recommended textbooks. The course aims to equip students with foundational knowledge in data structures and algorithm techniques, culminating in practical programming skills.

Uploaded by

kamaureagan24
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

January 2024 – April 2024 Semester

SCHOOL OF COMPUTING & INFORMATION TECHNOLOGY

COURSE OUTLINE

DEPARTMENT: COMPUTING & INFORMATION TECHNOLOGY

PROGRAMME: BACHELOR OF SCIENCE IN INFORMATION TECHNOLOGY


SEMESTER: 1

UNIT CODE: BCSC 1204 UNIT TITLE: DATA STRUCTURES & ALGORITHMS

LECTURE HOURS: 45 PRE-REQUISITES: None

LECTURER: Michael Ndege

LECTURER CONTACTS: mkinyua@cuk.ac.ke

1.0 COURSE PURPOSE


The goal of this course is to enable students:-
 Develop knowledge and understanding of the underlying principles of foundational data
structures.
 Build up capacity to evaluate different algorithm techniques.
 Develop competence in analysing data structures.
 Build up capacity to write programmes for developing simple applications.

2.0 LEARNING OUTCOMES


Upon successful completion of this course, the student should be able to:
 To understand the basic concepts such as Abstract Data Types, Linear and Non-Linear Data structures.
 To understand the notations used to analyze the Performance of algorithms.
 To understand the behavior of data structures such as stacks, queues, trees, hash tables, search trees,
Graphs and their representations.
 To choose the appropriate data structures for a specified application
 To write programs in C or C++ to solve problems using data structures such as arrays, linked lists,
stacks, queues, trees, graphs, hash tables, search trees.
3.0 COURSE OUTLINE

Week Topic Sub-topic Remarks


1. Introduction to DSA - Data Types
- Data Structures
- Abstract Data Types (ADTs)
- Algorithm
- Analysis of Algorithms
- Running Time Analysis
- How to Compare Algorithms
- Rate of Growth
2. Linked Lists - Linked List
- Linked Lists ADT
- Why Linked Lists?
- Arrays Overview
January 2024 – April 2024 Semester

- Comparison (Arrays & Dynamic


Arrays)
- Singly Linked Lists
- Doubly Linked Lists
- Circular Linked Lists
3. & 4. Stacks - What is a Stack?
- How Stacks are used
- Stack ADT
- Applications
- Implementation
- Comparison of Implementations
- Stacks: Problems & Solutions
5 CAT I - CAT I
6. Queues - What is a Queue?
- How are Queues Used?
- Queue ADT
- Exceptions
- Applications
- Implementation
- Queues: Problems & Solutions
7. & 8. Trees - What is a Tree?
- Binary Trees
- Types of Binary Trees
- Properties of Binary Trees
- Binary Tree Traversals
- Generic Trees (N-ary Trees)
- Binary Tree Traversals
- Binary Search Trees (BSTs)
- Balanced Binary Search Trees
9. Priority Queues and - What is a Priority Queue?
Heaps - Priority Queue ADT
- Priority Queue Applications
- Priority Queue Implementations
- Heaps and Binary Heaps
- Binary Heaps
- Heapsort
- Priority Queues [Heaps]:
Problems & Solutions
10. CAT 2 - CAT 2
11.. Sorting - What is Sorting?
- Classification of Sorting
Algorithms
- Bubble Sort
- Selection Sort
- Insertion Sort
- Shell Sort
- Merge Sort
- Comparison of Sorting
Algorithms
- Sorting: Problems & Solutions
12 Searching - What is Searching?
January 2024 – April 2024 Semester

- Types of Searching
- Unordered Linear Search
- Sorted/Ordered Linear Search
- Binary Search
- Comparing Basic Searching
Algorithms
- Searching: Problems & Solutions
13.. Classification - Greedy Algorithms
- Divide and Conquer Algorithms
- Dynamic Programming
13 Review -
14. Exams -

4.0 TEACHING METHODOLOGY


Lectures, assignment, practical and tutorial sessions in Computer Laboratory, individual and group
assignments, exercises and project work.

5.0 INSTRUCTIONAL MATERIALS


Overhead projector and computer, handouts, white boards, Textbooks.

COURSE EVALUATION
CAT 1 = 10%
CAT 2 = 10%
OTHER ASSESSMENTS = 10%
Examination = 70%
Total = 100%
Pass mark: 40%

7.0 COURSE TEXTBOOKS


1. Data Structures using C++, Special Edition‐MRCET, Tata McGraw‐Hill Publishers 2017.

2. Data structures, Algorithms and Applications in C++, S.Sahni, University Press (India) Pvt.Ltd, 2nd
edition, Universities Press Orient Longman Pvt. Ltd.

8.0 REFERENCE TEXTBOOKS


1. Data structures and Algorithms in C++, Michael T.Goodrich, R.Tamassia and .Mount, Wiley student
edition, John Wiley and Sons.
2. Data structures and Algorithm Analysis in C++, Mark Allen Weiss, Pearson Education. Ltd., Second
Edition.
3. Data structures and algorithms in C++, 3rd Edition, Adam Drozdek, Thomson
4. Data structures using C and C++, Langsam, Augenstein and Tanenbaum, PHI.
5. Problem solving with C++, The OOP, Fourth edition, W.Savitch, Pearson education.

9.0 COURSE JOURNALS

10.0 REFERENCE JOURNALS

You might also like