0% found this document useful (0 votes)
17 views3 pages

SCS2212 Courseoutline 2022

The course SCS2212 at the National University of Science and Technology focuses on the design and analysis of algorithms, covering topics such as algorithm complexity, design patterns, and major algorithms for searching, sorting, and optimization. The course aims to equip students with the ability to analyze and apply various algorithmic techniques and understand their limitations. Teaching methods include online lectures, seminars, problem-based learning, and practical exercises, with assessments comprising assignments and a final exam.

Uploaded by

n0236685b
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views3 pages

SCS2212 Courseoutline 2022

The course SCS2212 at the National University of Science and Technology focuses on the design and analysis of algorithms, covering topics such as algorithm complexity, design patterns, and major algorithms for searching, sorting, and optimization. The course aims to equip students with the ability to analyze and apply various algorithmic techniques and understand their limitations. Teaching methods include online lectures, seminars, problem-based learning, and practical exercises, with assessments comprising assignments and a final exam.

Uploaded by

n0236685b
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

NATIONAL UNIVERSITY OF SCIENCE AND TECHNOLOGY

FACULTY OF APPLIED SCIENCES

Course Outline

Course Name: Design and Analysis of Algorithms Course Code: SCS2212


Re-produced: 2018 Revised: 2024
Lecturer: Ms N. Ncube Office: AG
Contact: [email protected] Venue: Part 2 Lab

Weighting Full Course


Hours/Week 4

Pre-requisites
Data Structures, a knowledge of Mathematics, a knowledge of Programming

Synopsis
Introduction to the design and analysis of computer algorithms. Topics will include concepts
of algorithm complexity, and various algorithmic design patterns like divide and conquer,
dynamic programming and greedy algorithms. Course will also cover major algorithms and
data structures for searching and sorting, graphs, and some optimization techniques.

Description of the Course


This course introduces basic elements of the design and analysis of computer algorithms.
Topics include asymptotic notations and analysis, divide and conquer strategy, greedy
methods, dynamic programming, basic graph algorithms, NP-completeness, and
approximation algorithms.

Aim of the Course


To understand the design and analysis of computing algorithms.

OBJECTIVES
 To understand and apply the algorithm analysis techniques.
 To critically analyze the efficiency of alternative algorithmic solutions for the same
problem
 To understand different algorithm design techniques.
 To understand the limitations of Algorithmic power.

TEACHING AND LEARNING STRATEGIES

 Online Lecture method as a default delivery mechanism.


 Seminars will be used to extend the theoretical material problem solving exercises
with students leading and making them truly interactive session.
 Problem based learning which forces the students to gather, organise and evaluate
information hence use it creatively in the formulation of solutions to problems.
 Individual/group exercises and assignments.
 Individual or group presentations on researched material as will be assigned.
 Co-operative learning: Collaborative or peer learning
 Supervised tests

CONTENT TOPICS
TOPICS WEEK HOURS
Basics of Algorithms - Introduction
- Analysis of Algorithms 1 4
- Methodology of Analysis
- Asymptotic Notations & Apriori
Analysis
- Space Complexities

Design Strategies - Divide & Conquer


- Max-Min Problem 1 6
- Merge Sort
- Binary Search
- Strassen’s Matrix Multiplication
- Greedy Method
- Fractional Knapsack
- Job Sequencing with Deadline
- Optimal Merge Pattern
- Dynamic Programming
- 0-1 Knapsack
- Longest Common Subsequence

Graph Theory - Spanning Tree


- Shortest Paths 1&2 8
- Multistage Graph
- Travelling Salesman Problem
- Optimal Cost Binary Search
Trees
Heap Algorithms - Binary Heap
- Insert Method 2&3 10
- Heapify Method
- Extract Method

Sorting Methods - Bubble Sort


- Insertion Sort 4 4
- Selection Sort
- Quick Sort
- Radix Sort

Complexity Theory - Deterministic vs.


Nondeterministic Computations
- Max Cliques 4&5 12
- Vertex Cover
- P and NP Class
- Cook’s Theorem
- NP Hard & NP-Complete
Classes
- Hill Climbing Algorithm

Practicals and
Tutorials
5 4
TOTAL HOURS 48

RECOMMENDED SOURCES

 Anany Levitin, ―Introduction to the Design and Analysis of Algorithms‖, Third


Edition, Pearson Education, 2012.
 Ellis Horowitz, Sartaj Sahni and Sanguthevar Rajasekaran, Computer Algorithms/
C++, Second Edition, Universities Press, 2007.
 Thomas H.Cormen, Charles E.Leiserson, Ronald L. Rivest and Clifford Stein,
―Introduction to Algorithms‖, Third Edition, PHI Learning Private Limited,
2012.
 Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, ―Data Structures and
Algorithms‖, Pearson Education, Reprint 2006.
 Harsh Bhasin, ―Algorithms Design and Analysis, Oxford university press, 2015.

FORMS AND DATE OF ASSESSMENT

Activity Points Due date


Assignment1 100 TBA
Test 100 TBA
Assignment 2 25 TBA
Final exam 100

You might also like