This course introduces students to the design and analysis of algorithms. The topic covered will include Basics of Java Programming, Introduction to Data Structures and Algorithms, Analysis of Algorithm Efficiency, Brute Force Sorting and Searching, Brute Force String Matching and Exhaustive Search, Decrease-and-Conquer, Divide-and-Conquer, Transform-and-Conquer, Balanced Search Trees, Space and Time Trade-Offs, Dynamic Programming and Greedy Technique.
Upon the successful completion of this course, students should be able to:
|Class Participation||10 Marks||10%|
|Final Examination||60 Marks||60%|