0% found this document useful (0 votes)
96 views4 pages

DSA Course Outline

Uploaded by

seyramcollins54
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views4 pages

DSA Course Outline

Uploaded by

seyramcollins54
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Course Outline: Data Structures and Algorithms 1

Lecturer
Name Email Phone
Agblewornu Veronica [email protected] 0243039054

Office Hours: Thursdays 3:00 pm - 5:00pm


Fridays 3: 00 pm - 5:00pm

Course Code: CSSD 201

Course Title: Data Structures1

Course Objective:
Equip students with skills to analyze and design fundamental data structures, enabling them to
use these structures as tools to algorithmically create efficient computer programs that address
complex, real-world problems.

Learning Outcomes

By the end of the course, students should be able to:

 Understand and differentiate between data types, data structures, and algorithms.
 Define abstract data types (ADTs) and their implementation.
 Design and implement basic data structures such as arrays, linked lists, stacks, queues,
trees, and graphs.
 Use data structures to solve problems efficiently.
 Analyze the time and space complexity of algorithms.
 Apply appropriate searching and sorting algorithms in practical scenarios.

Course Content

Week 1: Introduction to Data Structures

 Topic: Overview of data structures and algorithms


o Definitions: Data type, data structure, algorithm
o Role of data structures in programming
o Understanding abstraction and abstract data types (ADTs)
o Mathematical models of data (sets, lists, graphs)
o Difference between ADTs and their implementations

Week 2: Arrays

 Topic: Introduction to Arrays


o Definition and characteristics
o Memory representation and access
o Operations: Insert, delete, access, and traverse
o Multidimensional arrays

Week 3: Linked Lists

 Topic: Introduction to Linked Lists


o Singly linked lists, doubly linked lists, and circular linked lists
o Operations: Insert, delete, search, and traverse
o Memory management and dynamic allocation

Week 4: Stacks and Queues

 Topic: Introduction to Stacks and Queues


o Stack data structure and applications (e.g., expression evaluation, recursion)
o Queue data structure and applications (e.g., scheduling, buffering)
o Circular queues and double-ended queues (Deque)
o Implementation using arrays and linked lists

Week 5: Priority Queues and Heaps

 Topic: Priority Queues and Heaps


o Introduction to priority queues and their applications
o Implementing priority queues with heaps (min-heap, max-heap)
o Heapsort algorithm
o Heap operations (insert, extract min/max)

Week 6: Hash Tables

 Topic: Hashing and Hash Tables


o Introduction to hash functions and collision resolution
o Hashing techniques: Separate chaining, open addressing
o Hash table operations: Insert, delete, search
o Applications of hash tables

Week 7: Trees

 Topic: Binary Trees and Binary Search Trees (BST)


o Definition and properties of trees
o Binary trees and their traversal methods (in-order, pre-order, post-order)
o Introduction to binary search trees (BST) and their properties
o Operations on BST: Insert, delete, search

Week 8: Advanced Tree Structures

 Topic: AVL Trees and Red-Black Trees


o Balanced trees and self-balancing BSTs
o AVL tree rotations and balancing
o Red-black trees and their properties

Week 9: Graphs
 Topic: Introduction to Graphs
o Representation of graphs (adjacency matrix, adjacency list)
o Types of graphs: Directed, undirected, weighted, unweighted
o Graph traversal algorithms: BFS (Breadth-First Search), DFS (Depth-First
Search)
o Applications of graphs (shortest path, connectivity)

Week 10: Searching Algorithms

 Topic: Searching Techniques


o Linear search
o Binary search (iterative and recursive)
o Time complexity analysis of search algorithms
o Applications of search algorithms in real-world problems

Week 11: Sorting Algorithms

 Topic: Sorting Techniques


o Introduction to sorting algorithms: Bubble Sort, Selection Sort, Insertion Sort
o Efficient sorting algorithms: Merge Sort, Quick Sort, Heap Sort
o Time and space complexity of sorting algorithms
o Comparison of sorting algorithms

o Apply different sorting techniques based on data structure needs.

Week 12: Applications and Real-World Use Cases & Course Review and Project

 Topics 1:
o Real-world applications of various data structures and algorithms
o Selection of appropriate data structures based on application requirements

 Topics 2:
o Comprehensive review of all data structures covered
o Final Project: Design a program utilizing multiple data structures for a practical
problem

Recommended Resources:

 Books:
o "Data Structures and Algorithm Analysis in C++" by Mark Allen Weiss.
o "C++ Primer" by Stanley B. Lippman.
o “Data_Structure_and_Algorithmic_Thinking_with_Python_Data_Structure.pdf”
by Narasimha Karumanchi.
o Karumanchi, N. (2016), Data Structures and Algorithms Made Easy: Data
Structures and Algorithmic Puzzles (5th ed.), CareerMonk Publications, ISBN-
10: 819324527X, ISBN-13: 978-8193245279
o Cormen, T. H., Leiserson C. E. and Rivest R. (2009), Introduction to Algorithms
(MIT Press) (3rd ed.), The MIT Press, ISBN-10: 0262033844, ISBN-13: 978-
0262033848
o Goodric, M. T. (2011), Data Structures and Algorithms in C++ (2nd ed.),
WileyISBN-10: 0470383275, ISBN-13: 978-0470383278
o Horowitz, E. et. al. (2007), Fundamentals of Data Structures in C (2nd ed.),
Silicon Prn ISBN-10: 0929306406, ISBN-13: 978-0929306407

 Online Platforms:
o LeetCode (for solving data structure-related problems).
o GDB Online (https://www.onlinegdb.com/)

Assessment Methods:

 Weekly coding assignments…………………… 20%


 Final project presentation (Mid Sem Exam)…… 20%
 Final Examination ………………………………60%

You might also like