0% found this document useful (0 votes)
358 views7 pages

CSE373 Algorithms Course Outline

This document provides a course outline for Design and Analysis of Algorithms at North South University. The 3-credit, spring 2024 course will be taught by Nadeem Ahmed and cover topics including asymptotic analysis, divide-and-conquer algorithms, greedy algorithms, dynamic programming, and graph algorithms. The course objectives are to introduce algorithm design techniques, demonstrate algorithm implementation, and analyze time and space complexity. Student assessment will include quizzes, exams, and problem solving to evaluate understanding of algorithm analysis and application of techniques to solve problems.

Uploaded by

Mahbub Kousar
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0% found this document useful (0 votes)
358 views7 pages

CSE373 Algorithms Course Outline

This document provides a course outline for Design and Analysis of Algorithms at North South University. The 3-credit, spring 2024 course will be taught by Nadeem Ahmed and cover topics including asymptotic analysis, divide-and-conquer algorithms, greedy algorithms, dynamic programming, and graph algorithms. The course objectives are to introduce algorithm design techniques, demonstrate algorithm implementation, and analyze time and space complexity. Student assessment will include quizzes, exams, and problem solving to evaluate understanding of algorithm analysis and application of techniques to solve problems.

Uploaded by

Mahbub Kousar
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 7

North South University (NSU)

Department of Computer Science and Engineering (CSE)

Course Outline

Program: Electrical and Computer Engineering (ECE)

Course Title: Design and Analysis of Algorithms

Course Code: CSE373

Semester: Spring-2024

Credit Hour: 3.0

Name & Designation of Teacher: Nadeem Ahmed, Senior Lecturer

Office/Room: Common Teacher’s Room

Class Hours: RA 9:25 AM – 10:40 AM

Consultation Hours:
E-mail: nadeem.ahmed@northsouth.edu

Mobile: +8801912092464

Rationale: Algorithm course is required for the student to be able to design,


develop and analyze algorithm to solve real life problem. This is
a required course and a pre-requisite to Theory of Computation
(CSE 307), Mathematics for Computer Science (CSE 401), and
Artificial Intelligence and Expert Systems (CSE 403) in the CSE
program

Pre-requisite (if any): CSE 225 - Data Structure and Algorithms, MAT 361 -
…………………………………………..Probability and Statistics

Course Synopsis: Introduction: The role of algorithms in computing. Complexity


analysis: Growth of function, asymptotic notations, orders, designing
worst case and average-case. Recurrence relations: Substitution
method, iteration method, master method. Divide and Conquer: Basic
idea, control structure properties of D & C, applications of D & C.
Dynamic Programming: Elements of Dynamic Programming,
Comparison with D & C. Application of Dynamic programming in:
Optimal binary search tree, 0/1 Knapsack problem. Greedy Method:
Elements of greedy method, basic control structure, Application of
Greedy method in: Minimum cost spanning tree, Huffman code, Job
sequencing with deadline. Backtracking: Basic idea behind
backtracking, control structure. Application of backtracking in: graph
coloring problem, n -queens problems. Branch and Bound: Basic idea
and control structure of Branch and Bound. FIFO branch and Bound,
LC Branch and Bound, the l5-puzzle problem. Graph related
algorithms: Breadth First search, Depth First search, Topological sort,
Dijkstra's shortest path algorithm, The Bellman-Ford algorithm for
single source shortest path, The Floyd-War shall algorithm for all pair
shortest path, Johnson's algorithm for sparse graph, Flow networks, the
Ford-Fulkerson method. Number theory algorithms: Factorization
problem, discrete logarithm problem, RSA, ElGamal, Diffie-Hellman.
String Matching: Naïve string matching algorithm, the Rabin-Karp
algorithm. Computational Geometry: Line segment properties,
finding the convex hull. NP-Completeness: Polynomial time,
polynomial time verification, NP-completeness and reducibility, NP-
completeness proofs, NP complete problems. Approximation
Algorithms: Introduction, the vertex-cover problem, the traveling-
salesman problem, the subset-sum problem.

Course Objectives: The objectives of this course are to:


1. Provide a thorough understanding of a variety of algorithms
with real-life applications and the resource requirements.
2. Introduce a number of important algorithm design
techniques as well as basic algorithms that are interesting
both from a theoretical and also practical point of view.
3. Demonstrate the design and implementation of algorithms,
using languages like C, C++, Java, etc.
4. Enable students to analyze time and space complexities of
algorithms.
5. Emphasize on efficient algorithm designing, solving
practical problems through algorithmic techniques and data
structures to be used in the implementations of algorithms.
6. Expose the students to a variety of techniques that have
practical applications, while conducting detailed analysis of
the requirements required by the algorithms.

Course Outcomes (CO) and their mapping with Program outcomes (PO) and Teaching-Learning
Assessment methods:

CO CO Statements: Correspond Bloom’s Delivery Assessment


No. Upon successful ing taxonomy methods and Tools
completion of the course, POs domain/leve activities
students should be able to: (Appendix-1) l
(Appendix-2)
CO1 Explain terms related to
important algorithm
1/ Lecture, Quiz,
analysis, design 1
Understand multimedia Written exam
techniques, and basic
algorithms.
CO2 Apply techniques and
appropriate data structures Lecture, Problem solving
to design and implement 3 1/Apply Problem Quiz, Written
algorithms to solve a Solving exam
practical problem.

CO3 Analyze the performance / Lecture,


resource requirements of Problem
4 1/Analyze Problem
various algorithms. Solving exam
Solving

Course Content Outline and mapping with COs

Weeks Topics / Content Course Delivery methods Reading Materials


Outcome and activities
Analyzing Algorithms: Introduction,
1-2 Worst-Case and Best-Case Analysis, Lecture, multimedia
CO1
Asymptotic notation.
The Divide-and-Conquer (DC) CO2-CO3 Cormen-2.3.1, 2.3.2
3 Lecture, multimedia
Approach , Analyzing DC Algorithms. Slides
Sorting(Merge) and Searching
Algorithms(Binary), The Maximum-
Lecture, Problem Cormen-4.1, .4
4-5 Subarray Problem Solving CO2-CO3
Solving Slides
Recurrences

Greedy algorithm ; An Activity-


Selection Problem;
Elements of the Greedy Strategy Cormen: 16.1, 16.2
5-6 CO2-CO3 Lecture, multimedia
Some Legacy Greedy Problems – Coin Slides
change, fractional Knapsack, Job-
sequencing.
Dynamic Programming Basics,
Fibonacci, Tower of Hanoi, The Rod
Cutting Problem (15.1)
Cormen: Ch 15,
7-8 Coin changing problem; Elements of CO2-CO3 Lecture, multimedia
Slides
Dynamic Programming (15.3)
0/1 Knapsack Problem, Longest
Common Subsequence (15.4)
Backtracking: The Knight’s tour
9-10 CO2-CO3 Lecture, multimedia
problem, Rat in maze, N-Queen
Graph Theory. Applications of Graph
Cormen: Ch 22,
10-11 Traversal Algorithms (DFS and BFS) CO2-CO3 Lecture, multimedia
Slides
(22.1, 22.2, 22.3,22.4), Graph coloring
11-12 Disjoint-Set Operations; Disjoint-Set CO2-CO3 Lecture, multimedia Cormen: Ch 21, 23,
Forests (21.1, 21.3) 24,
Minimum Spanning Tree (23.1) Slides
Kruskal’s Algorithm (23.2), Prim’s
Algorithm, Single-Source Shortest
Path Variants, Optimal Substructure
of a Shortest Path, Negative-weight
Edges, Cycles, Relaxation (up-to 24.1
(exclusive))
The Bellman-Ford Algorithm (24.1)
Dijkstra’s Algorithm (24.3)
The Naive String-Matching Algorithm; Cormen: Ch 32,
13 CO2-CO3 Lecture, multimedia
The Rabin-Karp Algorithm(32.1, 32.2) Slides
Polynomial Time; Polynomial-Time
Verification; NP- Completeness and Cormen: Ch 34,
14 CO2-CO3 Lecture, multimedia
Reducibility (34.1, 34.2, 34.3), NP- Slides
Hard, Reducibility
Final Exam

Minimum attendance: 70% class attendance is mandatory for a student in order to appear at the
final examination.

Textbook: T.H. Cormen, C.E.Leiserson, R. L. Rivest, C. Stein:


Introduction to Algorithms, Third Edition, 2009, PHI Learning Pvt. Ltd

Recommended References: 1. Doanld E. Knuth : Fundamental Algorithms (vol-1 (The Art of


Computer Programming), 3rd edition, 1997, Addison-Wesley
Professional
2. Ellis Horowitz & Sartaj Sahni: Fundamental of Computer Algorithms,
First Edition, 1983, Springer
3. https://www.geeksforgeeks.org/fundamentals-of-algorithms/

Grading System: As per the approved grading scale of North South University (Appendix-
3).

Special Instructions: Late attendance: Students who will enter the class after the attendance
call will be marked as absent.
Assignment: Assignment will be given throughout the semester. Copied
assignments will be graded as zero. Late submission will result a 50%
deduction in score.

Class Test: There will be no make-up quizzes.


Student’s responsibilities: Students must come to the class prepared for the course material covered
in the previous class (es).
They must submit their assignments on time.

Online Etiquettes: Prepare yourself for the class. Remember that it is a classroom setting,
consisting of all learners' classmates and teachers. Students need to
follow all the etiquettes they would in a regular classroom.

Make sure your device is ready at least 10 minutes before the class starts.

Make sure all required study materials such as pen, paper, books, etc. are
in your reach during the class.

Try to be alone and pay full attention to your teachers. Nobody should be
around you while the class is in progress (if not possible, take extra care
to keep your microphone in mute state to avoid extra noise during the
class).

Follow the timetable of the class very strictly.


Keep your microphone in mute state and video in on state. If you need to
communicate with your teacher raise your hands and seek permission.

Do not do anything which may disturb the class (such as passing


irrelevant and negative comments etc.); you will be monitored
and disciplinary actions will be taken.

Prepared by Checked by Approved by


(Course Teacher) (Chairman, PSAC committee) (Head of the Department)

Tanjina Helaly
Fahad Ahmed PSAC committee
Appendix-1:
Washington Accord Program Outcomes (PO) for engineering programs:

No. PO Differentiating Characteristic


1 Engineering Knowledge Breadth and depth of education and type of knowledge,
both theoretical and practical
2 Problem Analysis Complexity of analysis
3 Design/ development of solutions Breadth and uniqueness of engineering problems i.e. the
extent to which problems are original and to which
solutions have previously been identified or codified
4 Investigation Breadth and depth of investigation and experimentation

5 Modern Tool Usage Level of understanding of the appropriateness of the tool

6 The Engineer and Society Level of knowledge and responsibility

7 Environment and Sustainability Type of solutions.


8 Ethics Understanding and level of practice

9 Individual and Team work Role in and diversity of team

10 Communication Level of communication according to type of activities


performed
11 Project Management and Finance Level of management required
for differing types of activity
12 Lifelong learning Preparation for and depth of Continuing learning.

Generic Skills (Detailed):


1. Engineering Knowledge (T) -Apply knowledge of mathematics, sciences, engineering
fundamentals and manufacturing engineering to the solution of complex engineering problems;
2. Problem Analysis (T) – Identify, formulate, research relevant literature and analyze complex
engineering problems, and reaching substantiated conclusions using first principles of
mathematics, natural sciences and engineering sciences;
3. Design/Development of Solutions (A) –Design solutions, exhibiting innovativeness, for
complex engineering problems and design systems, components or processes that meet specified
needs with appropriate consideration for public health and safety, cultural, societal, economical,
ethical, environmental and sustainability issues.
4. Investigation (D) Conduct investigation into complex problems, displaying creativeness, using
research-based knowledge, and research methods including design of experiments, analysis and
interpretation of data, and synthesis of information to provide valid conclusions;
5. Modern Tool Usage (A & D) -Create, select and apply appropriate techniques, resources, and
modern engineering and IT tools, including prediction and modelling, to complex engineering
activities, with an understanding of the limitations;
6. The Engineer and Society (ESSE) -Apply reasoning based on contextual knowledge to assess
societal, health, safety, legal, cultural, contemporary issues, and the consequent responsibilities
relevant to professional engineering practices.
7. Environment and Sustainability (ESSE) -Understand the impact of professional engineering
solutions in societal, global, and environmental contexts and demonstrate knowledge of and need
for sustainable development;
8. Ethics (ESSE) –Apply professional ethics with Islamic values and commit to responsibilities and
norms of professional engineering code of practices.
9. Communication (S) -Communicate effectively on complex engineering activities with the
engineering community and with society at large, such as being able to comprehend and write
effective reports and design documentation, make effective presentations, and give and receive
clear instructions;
10. Individual and Team Work (S) -Function effectively as an individual, and as a member or
leader in diverse teams and in multi-disciplinary settings.
11. Life Long Learning (S) -Recognize the need for, and have the preparation and ability to engage
in independent and life-long learning in the broadest context of technological change.
12. Project Management and Finance (S) -Demonstrate knowledge and understanding of
engineering management and financial principles and apply these to one’s own work, as a
member and/or leader in a team, to manage projects in multidisciplinary settings, and identify
opportunities of entrepreneurship.

Appendix-2

Appendix-3
NSU Grading Policy:

Numeric Grade Letter Grade Grade Point


80% and above A+ 4.00
75% to less than 80% A 3.75
70% to less than 75% A- 3.50
65% to less than 70% B+ 3.25
60% to less than 65% B 3.00
55% to less than 60% B- 2.75
50% to less than 55% C+ 2.50
45% to less than 50% C 2.25
40% to less than 45% D 2.00
Less than 40% F 0.00

You might also like