BSCS_CIS 102: Data Structures and Algorithms
About Course
This course focuses on the design and analysis of data structures and
algorithms, essential for efficient problem-solving in computing. Students will learn
about various data structures such as arrays, linked lists, stacks, queues, trees, and graphs, as well as algorithms for sorting, searching, and optimization. The course emphasizes both the theoretical foundations and practical applications of these concepts in real-world scenarios.
By the end of this course, students will be able to:
1. Design and implement basic data structures such as arrays, linked lists, stacks,
queues, trees, and graphs.
2. Analyze the time and space complexity of algorithms using Big-O notation.
3. Apply algorithms for sorting, searching, and optimization to solve computational
problems.
4. Compare and contrast different data structures and algorithms to select the most
appropriate solution for a given problem.
5. Implement algorithms and data structures in a programming language such as Java or
Python.
Course Content
Week 1: Introduction to Data Structures and Algorithms
-
Introduction to Data Structures and Algorithms
00:00 -
LO1: Define fundamental concepts of data structures and algorithms
00:00 -
LO2: Efficient data structures help solve problems faster and manage data effectively
00:00 -
LO3: Algorithms improve computational efficiency by reducing time and resource usage
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 2: Arrays and Linked Lists
-
Arrays and Linked Lists
00:00 -
LO1: Arrays store elements in contiguous memory while linked lists use nodes connected via pointers
00:00 -
LO2: Static structures arrays have fixed size while dynamic structures linked lists grow or shrink
00:00 -
LO3: Arrays and linked lists are implemented to store access and manipulate data efficiently
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 3: Stacks and Queues
-
Stacks and Queues
00:00 -
LO1: Stacks follow LIFO while queues follow FIFO principles
00:00 -
LO2: Stack operations include push pop while queue operations include enqueue dequeue
00:00 -
LO3: Used in applications like recursion stack and scheduling queue
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 4: Trees and Binary Search Trees BSTs
-
Trees and Binaray Search Trees BSTs
00:00 -
LO1: Trees are hierarchical structures while BSTs store data with ordered left right nodes
00:00 -
LO2: Traversals like inorder preorder and postorder visit nodes systematically
00:00 -
LO3: BST operations insert delete search improve data organization and retrieval
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 5: Heaps and Priority Queues
-
Heaps and Priority Queues
00:00 -
LO1: Heaps are complete binary trees satisfying heap property min or max
00:00 -
LO2: Priority queues process elements based on priority not order of insertion
00:00 -
LO3: Implemented using heaps for efficient access to highest or lowest priority elements
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 6: Hashing and Hash Tables
-
Hashing and Hash Tables
00:00 -
LO1: Hashing maps data to indices using hash functions for fast access
00:00 -
LO2: Collisions are handled using chaining or open addressing techniques
00:00 -
LO3: Hash tables enable quick data retrieval with average O 1 time complexity
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 7: Sorting Algorithms
-
Sorting Algorithms
00:00 -
LO1: Sorting algorithms arrange data such as bubble merge quick sort
00:00 -
LO2: Performance varies based on time complexity and dataset size
00:00 -
LO3: Used to organize data for easier searching and processing
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 8: Midterm Test or Assignment
-
Midterm Test
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Short Answer Questions
Week 9: Searching Algorithms
-
Searching Algorithms
00:00 -
LO1: Linear search checks all elements while binary search works on sorted data
00:00 -
LO2: Binary search is more efficient with O log n compared to O n
00:00 -
LO3: Helps quickly locate elements in datasets
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 10: Graphs and Graph Algorithms
-
Graphs and Graph Algorithms
00:00 -
LO1: Graphs consist of vertices and edges representing relationships
00:00 -
LO2: DFS explores depth wise while BFS explores level wise
00:00 -
LO3: Used in networking pathfinding and social media analysis
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 11: Dynamic Programming
-
Dynamic Programming
00:00 -
LO1: Breaks problems into smaller subproblems and stores results
00:00 -
LO2: Uses overlapping subproblems and optimal substructure properties
00:00 -
LO3: Applied in problems like Fibonacci knapsack and shortest path
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 12: Greedy Algorithms
-
Greedy Algorithms
00:00 -
LO1: Greedy algorithms choose the best option at each step
00:00 -
LO2: Decisions are made locally but aim for global optimization
00:00 -
LO3: Used in problems like coin change and minimum spanning tree
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 13: Advanced Data Structures
-
Advanced Data Structures
00:00 -
LO1: AVL and Red Black trees are self balancing binary search trees
00:00 -
LO2: Balancing ensures operations remain efficient O log n
00:00 -
LO3: Used in databases and systems requiring fast access
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 14: Complexity Analysis and Big O Notation
-
Complexity Analysis and Big O Notation
00:00 -
LO1: Big O Theta and Omega measure algorithm performance
00:00 -
LO2: Asymptotic analysis evaluates efficiency as input size grows
00:00 -
LO3: Helps compare algorithms based on time and space usage
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
Week 15: Applications of Data Structures and Algorithms
-
LO1: Used in real world systems like search engines and databases
00:00 -
LO2: Case studies show how algorithms solve practical problems
00:00 -
LO3: Selecting the right structure improves system performance
00:00 -
Multiple-Choice Questions
-
True/False Questions
-
Scenario-Based Multiple-Choice Questions
-
Key Terms & Concepts Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation
-
Applications of Data Structures and Algorithms
00:00
Week 16: Final Test or Project
-
Multiple-Choice QuestionsWhat is time-space trade-off?
-
True/False Questions
-
Final Test or Project
00:00 -
Scenario-Based Multiple-Choice Questions
-
Short Answer Questions
-
Written Assignment
-
Presentation Task
-
Role-Playing Activity
-
Peer Review Task
-
Exercises and Activities Adaptation