Algorithms Course Outline

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

NATIONAL UNIVERSITY

of Computer & Emerging Sciences, Lahore

Department of Computer Science


CS302 – Design and Analysis of Algorithms
FALL 2023
Instructor Name: M Usama Hassan Alvi
Email address: [email protected]
Office Location/Number: Exam hall-129
Office Hours: Mon to Friday: 2:00 PM till 4:00 PM

Course Information
Program: BS (CS, DS, Robotics) Credit Hours: 3 Type: Core
Pre-requisites: Data Structures
Class Meeting Time: BCS-5E Tuesday, Thursday 10:00 AM to 11:20 AM
Class Venue: BCS-5E E&M - 16
Class Meeting Time: BDS-5C Monday, Wednesday 11:30 AM to 1:00 PM
Class Venue: BDS-5C CS - 11
Class Meeting Time: BSR-5A Monday, Wednesday 10:00 AM to 11:20 AM
Class Venue: BSR-5A CS - 11

Course Description:
The objective of this course is not to fill your brains with every algorithm that you would ever need.
One of the aims of this course is to teach you to reason about algorithms and describe them. In
addition, many known algorithms to solve known problems will be taught. At the end of the course,
you should be able to choose an appropriate algorithm from a set of algorithms for a given problem.

Course Learning Outcomes (CLOs):


1. Design algorithms using different algorithms design techniques
i.e., Brute Force, Divide and Conquer, Dynamic Programming, Greedy
Algorithms and apply them to solve problems in the domain of the
program
2. Analyze the time and space complexity of different algorithms by
using standard asymptotic notations for recursive and non-recursive
algorithms
3. Evaluate the correctness of algorithms by using theorem proving
or executing test cases

Course Textbook
 Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein, 3rd Ed., MIT Press, 2001.

Additional references and books related to the course:

 Jon Kleinberg, Éva Tardos, Algorithm Design, Pearson/Addison-Wesley


 Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, Algorithms, McGraw-Hill Education
 Algorithms in C++ by Robert Sedgewick, Addison-Wesley, 1992.
 Data Structures and Algorithms by Aho, Hopcroft, and Ullman.

Weekly Schedule

Lectures Description Chapters of Text

Week -1 The role of algorithms in computers, Asymptotic 1, 2, 3


functions and notations (Big-oh, big-omega, big-
theta) best and worst case time complexity
Week – 2, 3, 4 Divide and Conquer (maximum subarray sum, 2, 3, 6
counting inversions, quicksort, merge sort)
+ Solving recurrences
Week – 5 Lower bound for comparison based sorting, Sorting 8
in linear time: Count Sort, radix sort
Midterm – I
Week – 6,7 Dynamic Programming ( maximum subarray, rod 15
cutting, longest common subsequence, binary
knapsack)
Week – 8, 9 Greedy Algorithms (Activity selection, fractional 16
knapsack and Huffman codes)
Week – 10 Introduction to graphs (revision of BFS, DFS) and 22
their application (topological sort, strongly
connected components)
Midterm – II
Week – 11 Minimum Spanning Trees (MST)(Prim's Algorithm 23
and Kruskal's Algorithm)
Week – 12, 13 Shortest Path Algorithms (Dijkstra's Algorithm, 24
Bellman-Ford and Floyd Warshall Algorithm
Week 14 Approximation Algorithms/ NP Hard Problems
Final Exam Comprehensive

Grading Criteria
1. Quizzes and Assignments (25%)
2. Midterm Exams (30%)
3. Final Exam (45%)
Grading Policy
Absolute Grading

Course Policies
1. Quizzes will be announced. (There might be surprise quizzes)
2. No makeup for missed quizzes and assignments.

Academic Integrity: All work MUST be done individually. Any copying of work from other person(s)
or source(s) (e.g., the Internet) will automatically result in at least an F grade in the course. It does
not matter whether the copying is done in an assignment, quiz, midterm exam, or final exam, it will
be considered equally significant.

You might also like