0% found this document useful (0 votes)
21 views4 pages

CSC301 D&AoA Syllabus Spring2024

Uploaded by

Rameen Jamshed
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)
21 views4 pages

CSC301 D&AoA Syllabus Spring2024

Uploaded by

Rameen Jamshed
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/ 4

COMSATS University Islamabad

Department of Computer Science


Course Syllabus
Course Information
Course Code: CSC301 Course Title: Design and Analysis of Algorithms
Credit Hours: 3(3,0) Lecture Hours/Week: 3
Lab Hours/Week: 0 Pre-Requisites: CSC211 Data Structures and Algorithms
Instructor Information
Full Name: Dr. Iftikhar Azim Niaz
Email: [email protected];
Contact Number 051-9049-5311
Office: Room 131 (First Floor), Faculty Block I,
Office Hours & Location
Office Hours: 1430 – 1600 (Thursday)
Catalogue Description:
This course is designed to provide knowledge of the principles and techniques used in the design and
analysis of algorithms. Topics cover: Overview of Algorithm; Designing Techniques: Brute Force,
Decrease and Conquer, Divide and Conquer, Transform and Conquer Technique, Dynamic
Programming, Greedy Approach, Correctness of Algorithms, Analyzing Time Complexity of Iterative
and Recursive Algorithms; and Computability.
Reading Material:
Textbook:
1. Introduction to the Design and Analysis of Algorithms, Levitin, A., 3rd Edition, Pearson, 2012.
Reference Books:
1. Introduction to Algorithms, Cormen, T. H., Leiserson, C.E., Rivest, R.L. & Stein, C., 4th
Edition, MIT Press, 2022.
Week wise Plan:
Lecture CDF Reference
Topics Covered
# Unit # Material
The concept: What are Algorithms, Why Do You Need to Study
Algorithms, What Kinds of Problems are Solved by Algorithms,
CLRS: Ch1
1 1 Algorithms as a Technology, How to Represent an Algorithm;
Levitin: Ch1
Properties of Algorithms: Input, Output, Precision, Finiteness,
Definiteness, Correctness, and Generality
Fundamentals of Algorithmic Problem Solving: The STAIR Steps
2 1 for Solving Problems, and Major Factors in Designing an Levitin: Ch1
Algorithm
Iterative Algorithm Design Issues, Top-Down Design, Design
3 1 using Recursion.
Levitin: Ch2
Analysis Framework: Measuring an Input’s size, Units for
CLRS: Ch3
4 9 Measuring Running Time, Orders of Growth, Worst, Best
Levitin: Ch2
&Average Case Behavior of Algorithms.
Asymptotic Notations & Basic Complexity Classes: Informal
Introduction, Asymptotic Notations: Big O Notation, Sigma
Notation, and Theta Notation, Useful Properties involving the CLRS: Ch3
5 9 Asymptotic Notations, Using Limits for Comparing Order of Levitin: Ch2
Growth; Basic Complexity Classes i.e., Constant, Linear,
Quadratic.

CSC301 D&AoA – Spring2024 Page 1


Mathematical Analysis of Iterative Algorithms: Examples, and CLRS: Ch3
6 9 Worst, Best &Average Case Behavior of Algorithms. Levitin: Ch2
Analysis of Recursive Algorithms: Deriving Recurrence Relation
7 9 from recursive algorithm; Solving Recurrences: Substitution Levitin: Ch2
Method.
Solving Recurrences: Master Theorem for Solving Recurrences, CLRS: Ch3
8 9 Recurrence Tree Method. Levitin: Ch2
Brute Force Algorithms: Designing Algorithms for Sorting CLRS: Ch3
9 2 problem, Pattern Matching Algorithm. Levitin: Ch3
10 2 Brute Force Algorithms: Closest-Pair & Convex-Hull Problems. Levitin: Ch3
Decrease (by One) and Conquer: Designing Algorithm for Sorting CLRS: Ch22
11 3 Problem, Algorithms for Generating Combinatorial Objects Levitin: Ch4
Decrease (by One) and Conquer: Graph Traversal, Topological
12 3 Sorting.
Levitin: Ch4
Decrease (by constant factor) and Conquer: Designing Algorithm
CLRS: Ch9
13 3 for Searching; Decrease (by variable) and Conquer: Median and
Levitin: Ch4
Selection problem.
Divide and Conquer (DnC): Strategy, Designing Algorithms for CLRS: Ch7
14 4 Sorting Problem. Levitin: Ch5
Divide and Conquer (DnC): Designing Algorithms for Closest-
15 4 Pair, Convex-Hull Problem.
Levitin: Ch5
Divide and Conquer (DnC): Designing Algorithms for Matrix CLRS: Ch4
16 4 Multiplication Problem. Levitin: Ch5
17
Mid Term Exam
18
Transform and Conquer: Transformation to more convenient
19 5 instance, Transformation to different representation: Designing Levitin: Ch6
Algorithm for Sorting Problem
20 5 Designing Algorithm for Sorting Problem and its Analysis Levitin: Ch6
Dynamic Programming: Comparison of DP, Divide & Conquer, CLRS: Ch14
21 6 and Elements of Dynamic Programming. Levitin: Ch8
Dynamic Programming (Matrix Chain Multiplication): Problem
22 6 Analysis, Notations, Designing DP Algorithm for MCM, and CLRS: Ch14
Applications of MCM.
Dynamic Programming (Edit Distance Problem): Edit, Edit
23 6 Distance Designing DP Algorithm for Edit Distance Problem & its CLRS: Ch14
Time Complexity, and Applications Analysis of DP Edit Distance.
Designing DP Algorithm for Longest Common Subsequence& its
24 6 Time Complexity, and Applications
CLRS: Ch14
Designing DP Algorithm for 0/1 Knapsack Problem, Analysis and CLRS: Ch14
25 6 Applications of 0/1 Knapsack Problem. Levitin: Ch8
Greedy Algorithms: Elements of the greedy strategy, Designing CLRS: Ch15
26 7 Algorithm for Data Compression (Huffman Tree and code). Levitin: Ch9
Greedy Algorithms: Designing Algorithm for activity-selection
27 7 problem and its Time Complexity, and Applications
CLRS: Ch15
Correctness of Iterative Algorithm: Pre-condition, Post-condition,
28 8 Loop Invariants.
Thomas Ch1,Ch4
Correctness of Iterative Algorithm: Quick Review of Mathematical
29 8 Induction; Initialization, Maintenance, and Termination, and Thomas Ch1,Ch4
Illustrative Examples.
Correctness of Recursive Algorithm:, Proving Correctness of
30 8 Recursive Algorithm using Induction, and Illustrative Examples.
Thomas Ch5

CSC301 D&AoA – Spring2024 Page 2


Introduction to Complexity Classes & Computability: Polynomial CLRS: Ch34
31 10 time Levitin: Ch11
CLRS: Ch34
32 10 Polynomial-time verification
Levitin: Ch11
Final Term Exam

Student Outcomes (SOs)


S.# Description
Apply knowledge of computing fundamentals, knowledge of a computing specialization, and
1 mathematics, science, and domain knowledge appropriate for the computing specialization to the
abstraction and conceptualization of computing models from defined problems and requirements
Identify, formulate, research literature, and solve complex computing problems reaching
2 substantiated conclusions using fundamental principles of mathematics, computing sciences, and
relevant domain disciplines
Design and evaluate solutions for complex computing problems, and design and evaluate systems,
3 components, or processes that meet specified needs with appropriate consideration for public health
and safety, cultural, societal, and environmental considerations

Course Learning Outcomes (CLOs)


Blooms
Unit
Sr.# Course Learning Outcomes Taxonomy SO
#
Learning Level
CLO-1 1-2 Demonstrate an algorithmic approach to a given problem. Understanding 1
Design new algorithms for different computational 2,3
CLO-2 3-7 Creating
problems.
Prove correctness of an algorithm using loop invariant and 1,2
CLO-3 8 Applying
induction.
Analyze best, average, and worst-case behaviors of an 2
CLO-4 9 Analyzing
algorithm.
Explain the concept of various complexity classes with 1
CLO-5 10 Understanding
examples.
CLO Assessment Mechanism

Assessment
CLO-1 CLO-2 CLO-3 CLO-4 CLO-5
Tools

Quizzes Quiz 1 Quiz 2 Quiz 3 Quiz 4

Assignments Assignments 1 & 2 Assignment 3 Assignment 4

Mid Term
Mid Term Exam Mid Term Exam
Exam
Final Term Exam Final Term Exam

CSC301 D&AoA – Spring2024 Page 3


Policy & Procedures

 Attendance Policy: Every student must attend 80% of the lectures delivered in this course and
80% of the practical/laboratory work prescribed for the respective courses. The students falling
short of required percentage of attendance of lectures/seminars/practical/laboratory work, etc.,
shall not be allowed to appear in the terminal examination of this course and shall be treated as
having failed this course.
 Course Assessment:

Quizzes Assignments Mid Term Exam Terminal Exam Total


Theory(T) 15 10 25 50 100
Lab(L) - - - -
Final Marks (T+L) (T/100)*100

 Grading Policy: The minimum passing marks for each course shall be 50% (In case of LAB; in
addition to theory, student is also required to obtain 50% marks in the lab to pass the course).
Students obtaining less than 50% marks in any course shall be deemed to have failed in that
course. The correspondence between letter grades, credit points, and percentage marks at CUI is
as follows:

Grade A A- B+ B B- C+ C C- D+ D F
Marks >= 85 80 - 84 75 - 79 71 - 74 68 - 70 64 - 67 61 - 63 58 - 60 54 - 57 50-53 < 50
Cr. 3.67- 3.34- 3.01- 2.67- 2.34- 2.01- 1.67- 1.31- 1.01- 0.10-
4.00 3.66 3.33 3.00 2.66 2.33 2.00 1.66 1.30 1.00 0.00
Point

 Missing Exam: No makeup exam will be given for final exam under any circumstance. When a
student misses the mid-term exam for a legitimate reason (such as medical emergencies), his
grade for this exam will be determined based on the Department policy. Further, the student must
provide an official excuse within one week of the missed exam.

 Academic Integrity: All CUI policies regarding ethics apply to this course. The students are
advised to discuss their grievances/problems with their counsellors or course instructor in a
respectful manner.

 Plagiarism Policy: Plagiarism, copying and any other dishonest behaviour is prohibited by the
rules and regulations of CUI. Violators will face serious consequences.

CSC301 D&AoA – Spring2024 Page 4

You might also like