0% found this document useful (0 votes)
13 views

BIS123 - Data Structures and Algorithms Course Outline

The BIS123 course at the Faculty of Science, Technology, Agriculture and Food Systems focuses on fundamental data structures and algorithms for efficient problem-solving in computer science. Students will learn to implement various data structures, analyze algorithm efficiency, and apply these concepts to real-world problems through coding exercises and projects. Key topics include arrays, linked lists, trees, graphs, sorting and searching algorithms, and advanced data structures.

Uploaded by

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

BIS123 - Data Structures and Algorithms Course Outline

The BIS123 course at the Faculty of Science, Technology, Agriculture and Food Systems focuses on fundamental data structures and algorithms for efficient problem-solving in computer science. Students will learn to implement various data structures, analyze algorithm efficiency, and apply these concepts to real-world problems through coding exercises and projects. Key topics include arrays, linked lists, trees, graphs, sorting and searching algorithms, and advanced data structures.

Uploaded by

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

ZEG U

FACULTY OF SCIENCE, TECHNOLOGY, AGRICULTURE AND FOOD SYSTEMS


DEVELOPMENT

Course Outline

BIS123 - Data Structures and Algorithms

Course Description
This course introduces fundamental data structures and algorithms essential for efficient
problem-solving in computer science. Students will learn how to implement and utilize
various data structures and analyze the efficiency of algorithms.

Course Objectives
By the end of this course, students will be able to:
1. Understand basic data structures and their applications.
2. Analyze the time and space complexity of algorithms.
3. Implement common algorithms for sorting, searching, and graph processing.
4. Apply appropriate data structures to solve real-world problems.
5. Develop problem-solving skills through coding exercises and projects.

Course Topics
Part 1 Introduction to Data Structures
Definition and importance of data structures
Overview of algorithms
Big O notation and complexity analysis
Part 2 Basic Data Structures
Arrays
Static vs. dynamic arrays
Multi-dimensional arrays
Linked Lists
Singly linked lists
Doubly linked lists
Circular linked lists
Part 3 Stacks and Queues
Stack implementation and applications
Queue implementation (linear and circular)
Priority queues and their uses
Part 4 Trees
Introduction to trees
Binary trees and binary search trees (BST)
Tree traversal algorithms (in-order, pre-order, post-order)
Balanced trees (AVL trees, Red-Black trees)
Part 5 Hashing
Hash tables and hash functions
Collision resolution techniques (chaining, open addressing)
Applications of hashing
Part 6 Graphs
Introduction to graphs (directed, undirected)
Graph representations (adjacency matrix, adjacency list)
Graph traversal algorithms (DFS, BFS)
Shortest path algorithms (Dijkstra’s, Bellman-Ford)
Part 7 Sorting Algorithms
Comparison-based sorting (Bubble Sort, Selection Sort, Insertion Sort)
Efficient sorting algorithms (Merge Sort, Quick Sort, Heap Sort)
Non-comparison-based sorting (Counting Sort, Radix Sort)
Part 8 Searching Algorithms
Linear search vs. binary search
Search algorithms in trees and graphs
Advanced searching techniques (hashing)
Part 9 Advanced Data Structures
Heaps and priority queues
Tries and their applications
Disjoint sets (Union-Find)
Part 10 Algorithm Design Techniques
Divide and conquer
Dynamic programming
Greedy algorithms
Part 11 Practical Applications and Problem
Solving
Real-world applications of data structures and algorithms
Coding exercises and projects
Case studies

Resources:
Alfred V. Aho - Data Structures and Algorithms
SAMS – Teach Yourself Data Structures and Algorithms in 24 Hours
Christopher Fox – Concise Notes on Data Structures and Algorithms
Online Resources

You might also like