0% found this document useful (0 votes)
5 views11 pages

Algorithm Analysis and Design Course Guide

The document outlines a course on Algorithm Analysis and Design, emphasizing the importance of analyzing algorithm efficiency and its real-world applications. It covers core topics such as algorithm analysis basics, recurrences, sorting and searching algorithms, design techniques, and graph algorithms, with specific deliverables for student presentations. Prerequisites include Object-Oriented Programming in Java, and students are expected to demonstrate their understanding through Java examples.

Uploaded by

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

Algorithm Analysis and Design Course Guide

The document outlines a course on Algorithm Analysis and Design, emphasizing the importance of analyzing algorithm efficiency and its real-world applications. It covers core topics such as algorithm analysis basics, recurrences, sorting and searching algorithms, design techniques, and graph algorithms, with specific deliverables for student presentations. Prerequisites include Object-Oriented Programming in Java, and students are expected to demonstrate their understanding through Java examples.

Uploaded by

tayeworktasewu83
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Algorithm Analysis &

Design
Course Overview

• Purpose of the course


• Importance of analyzing algorithm efficiency
• Real-world applications
• Prerequisite: Object-Oriented Programming in Java
Core Topic 1: Algorithm Analysis Basics

• Running time and measuring performance


• Asymptotic notations (Big-O, Ω, Θ)
• Worst-case vs average-case
• Time–space trade-offs
Core Topic 2 & 3: Recurrences + Sorting & Searching

Recurrences

• Mathematical expressions of algorithm behavior


• Master Method for divide-and-conquer analysis

Sorting & Searching Algorithms

• Simple algorithms (linear search, bubble, insertion, selection)


• Advanced structures (trees, heaps, hash tables)
• Performance comparison
Core Topic 4: Algorithm Design Techniques

• Brute force
• Divide-and-conquer
• Dynamic programming
• Greedy algorithms
• Backtracking, branch and bound
• Amortized analysis
Core Topic 5 + Prerequisite Reminder

• Graph Algorithms
• DFS (depth first search), connected components
• Topological sorting
• Shortest path algorithms
• Prerequisite Reminder
• Students must use Java OOP knowledge when studying or presenting
• Required skills: recursion, arrays, lists, classes/objects, data structures
Presentations should include small Java examples where relevant.
No. Student Name Group Chapter 1: Algorithm Analysis Basics
Expected Deliverables
1. Dawit Sheleme Terefe
• Explain why algorithm analysis is
2. Iyob Zarihun Kenea necessary
• Present Big-O, Big-Ω, Big-Θ (with
3. Rohobot Kolaso Koyra 1
examples)
4. Yonas Gezahegn Tulu • Compare worst-case and average-case
Lukas Mengistu Mamo • Explain time vs space trade-offs
5.
• Provide one simple Java example showing
6. Gediyon Shewa Shema time complexity (e.g., loop → O(n))
7. Bereket Asmare Fentahun
No. Student Name Group Chapter 2: Recurrences & Master Method
Expected Deliverables
• Define recurrences and why they appear in
1. Fetiya Abdela Adem
algorithms
• Show at least two recurrence examples (e.g.,
2. Girum Lemma Gole binary search, merge sort)
2
• Explain the 3 cases of the Master Method
3. Biniyam Zerihun Zana • Solve at least one recurrence using the Master
Method
• Provide a Java recursive example related to
4. Abdi Melaku Alehegn divide-and-conquer

5. Beredin Aguda Esale

6. Tefera Tesfa Asrie

7. Samuel Dagne Kassie


No. Student Name Group Group 3 — Chapter 3: Sorting and Searching
Algorithms
Expected Deliverables
1. Tayework Tasewu Debebe • Explain simple algorithms: linear search,
binary search, bubble, insertion, selection
• Analyze their time complexity
2. Kalkidan Zewdu Mengesha 3 • Present advanced topics: heaps, hash tables,
trees (overview only)
• Compare performance of simple vs advanced
3. Abubeker Abduljelil Taha
algorithms
• Provide Java demos for at least one searching
4. Firaol Tibebu Seifu and one sorting algorithm

5. Dawit Diyau Kunuz

6. Mikiyas Abebe Asefa


No. Student Name Group
Group 4 — Chapter 4: Algorithm Design
Techniques
1. Sofoniyas Fentie Mossie Expected Deliverables
• Explain brute force & divide-and-conquer
• Present dynamic programming (with
2. Tilku Baharu Mamo 4 example)
• Present greedy strategy (with example)
• Explain backtracking & branch and bound
3. Eyasu Nigussie Tafese • Show the idea of amortized analysis
• Provide one small Java example for any two
techniques
4. Gemechis Boru Oljira

5. Habtamu Gizachew Seyifu

6. Kaleab Mengesha Fetahi


No. Student Name Group
Group 5 — Chapter 5: Algorithms for Graph
Problems
1. Tadesse Demsew Solomon Expected Deliverables

• Define graphs and common representations


5 • Explain DFS and identify connected
2. Biniyam Tekalign Wondimu
components
• Explain topological sort and when it is used
• Overview of shortest path algorithms (BFS,
3. Barnabas Dufera Ambisa Dijkstra)
• Provide a small Java implementation of DFS or
BFS
4. Dawit Demeke Tamene

5. Paulos Wondiye Yilma

6. Merid Markos Meja

You might also like