0% found this document useful (0 votes)
9 views

Algo Outline

The document outlines a course on algorithms design and analysis. It provides information on the instructor, course description, learning outcomes, schedule, textbook, and policies. The course covers algorithm design techniques like divide and conquer, dynamic programming, and greedy algorithms. It will evaluate various sorting and graph algorithms.

Uploaded by

Rana Jawad RJ
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)
9 views

Algo Outline

The document outlines a course on algorithms design and analysis. It provides information on the instructor, course description, learning outcomes, schedule, textbook, and policies. The course covers algorithm design techniques like divide and conquer, dynamic programming, and greedy algorithms. It will evaluate various sorting and graph algorithms.

Uploaded by

Rana Jawad RJ
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/ 2

NATIONAL UNIVERSITY

of Computer & Emerging Sciences, Lahore

Department of Computer Science


CS302 – Design and Analysis of Algorithms
Spring 2024
Instructor Name: M Usama Hassan Alvi
Email address: [email protected]
Office Location/Number: New CS building (NB-F-065)
Office Hours: Mon/Wed 2:00 PM till 4:00 PM

Course Information
Program: BS (CS, SE) Credit Hours: 3 Type: Core
Pre-requisites: Data Structures
Class Meeting Time: BCS-4G Monday, Wednesday 11:30 AM to 12:50 PM
Class Venue: BCS-4G NB - 208
Class Meeting Time: BCS-4H Monday, Wednesday 1:00 PM to 2:20 PM
Class Venue: BCS-4H NB - 208
Class Meeting Time: BSE-6A Tuesday, Thursday 2:30 PM to 3:50 PM
Class Venue: BSE-6A NB - 209

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, Shortest Path Algorithms (Dijkstra's Algorithm, 24
13 Bellman-Ford and Floyd Warshall Algorithm)
Week 14 Approximation Algorithms/ NP Hard Problems
Final Exam Comprehensive

Tentative Grading Criteria


1. Quizzes and Assignments (20-25%)
2. Midterm Exams (30%)
3. Final Exam (45-50%)
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