Skip to content
-
Subscribe to our newsletter & never miss our best posts. Subscribe Now!
  • https://www.facebook.com/
  • https://twitter.com/
  • https://t.me/
  • https://www.instagram.com/
  • https://youtube.com/
ICT BYTE Logo ICT BYTE

Nepal's #1 Tech Blog

ICT BYTE Logo ICT BYTE

Nepal's #1 Tech Blog

  • HOME
  • GADGETS
    • MOBILE
    • LAPTOPS
    • SMARTWATCH
    • TABLETS
  • EVENTS
  • NEPAL
    • Banking
    • B.Sc. CSIT
    • BCA
  • MCS
    • 1st Sem
      • Managerial Communication
      • Object Oriented Programming
      • Open Source Technology
      • Design and Analysis of Algorithm
    • 2nd Sem
    • 3rd Sem
    • 4th Sem
  • Hult Prize
  • Utility Tools
    • .np Cover Letter Generator
    • Image Size Reducer
  • HOME
  • GADGETS
    • MOBILE
    • LAPTOPS
    • SMARTWATCH
    • TABLETS
  • EVENTS
  • NEPAL
    • Banking
    • B.Sc. CSIT
    • BCA
  • MCS
    • 1st Sem
      • Managerial Communication
      • Object Oriented Programming
      • Open Source Technology
      • Design and Analysis of Algorithm
    • 2nd Sem
    • 3rd Sem
    • 4th Sem
  • Hult Prize
  • Utility Tools
    • .np Cover Letter Generator
    • Image Size Reducer
Subscribe
Close

Search

Trending Now:
nepal budget latest tech updates trends
M.Sc. CSIT Syllabus

Algorithms and Complexity

By Prince Pudasaini
May 9, 2021 2 Min Read
0

Last Updated on 5 years ago by ICT Byte

Course Title: Algorithms and Complexity
Full Marks: 45+30
Course No: C.Sc. 540
Pass Marks: 22.5+15
Credit Hours = 3
Nature of the course: Theory +Lab

Highlights:
  • Course Description :
  • Prerequisites:
  • Course Contents:
    • Unit 1: Advance Algorithm Analysis and Design Techniques 10 hr
      • 1.1.Advanced Algorithm Analysis Techniques:
      • 1.2.Advance Algorithm Design Techniques:
    • Unit 2: Computational Complexity Theory 10 hr
      • 2.1 Basic Concepts: Complexity Theory, Complexity Classes:
      • 2.2 Problem Reduction:
      • 2.3 NP-Hard Code Generation Problems:
      • 2.4 Coping with NP-Completeness:
    • Unit 3: Online and PRAM Algorithms 12 hr
      • 3.1 Online Algorithms:
      • 3.2 PRAM Algorithms:
    • Unit 4: Mesh and Hypercube algorithms 13hr
      • 4.1 Mesh Algorithms:
      • 4.2 Hypercube Algorithms:
  • Textbook:
  • Reference Books:

Course Description :

The course can be viewed as a continuation of Design and Analysis of Algorithms, and its goal is to cover basic algorithmic techniques that are not covered in the subject. In particular, we will discuss NP Completeness in detail, approximation algorithms for NP-hard problems, Randomized Algorithms, online algorithms, PRAM algorithms, Mesh Algorithms and Hypercube Algorithms. Course Objectives The purpose of this course is to present depth in optimization paradigms, Some advance algorithm design techniques and moderate level understanding in computational complexity theory.

Prerequisites:

Linear Algebra, Data Structure and algorithm, Basic Course in Algorithm design, Programming language.

Course Contents:

Unit 1: Advance Algorithm Analysis and Design Techniques 10 hr

1.1.Advanced Algorithm Analysis Techniques:

Amortized Analysis(Aggregate Analysis, Accounting Method, Potential method), Probabilistic Analysis, Las Vegas and Monte Carlo Algorithms.

1.2.Advance Algorithm Design Techniques:

Greedy Algorithms (Tree Vertex Splitting, Job Sequencing with deadlines), Dynamic Programming(Greedy vs Dynamic, String Editing, Optimal BST), backtracking(Sum of Subsets, Knapsack Problem), Randomized Algorithms(Identifying the repeated elements, Primality Testing, Karger’s algorithm)

Unit 2: Computational Complexity Theory 10 hr

2.1 Basic Concepts: Complexity Theory, Complexity Classes:

P, NP, NP-Hard and NP-Complete, Decision Problems and Language Recognition Problems

2.2 Problem Reduction:

Reduction, Polynomial time reduction, Cooks Theorem, Proving NP-Completeness: Formula Satisfiablity, 3SAT, CLIQUE, Vertex Cover, Hamiltonian Cycle, TSP, Subset Sum.

2.3 NP-Hard Code Generation Problems:

Code Generation with Common Sub expression, Implementing Parallel Assignment Instructions

2.4 Coping with NP-Completeness:

Performance ratios for approximation algorithms, Approximated Algorithms: Vertex Cover, TSP, Set Covering, Subset Sum

Unit 3: Online and PRAM Algorithms 12 hr

3.1 Online Algorithms:

Introduction, Ski Problem, Load Balancing, Paging and Caching:Last-in First-out (LIFO), Longest Forward Distance (LFD), Least Recently Used (LRU)

3.2 PRAM Algorithms:

Introduction, Computational Model, Fundamental techniques and Algorithms (Prefix Computation, List Ranking), Selection (Maximal Selection with n2 Processors, Finding Maximum Using n Processors), Merging (A Logarithmic Time Algorithm, Odd-Even Merge), Sorting(Odd-Even Merge Sort, Preparata’s Algorithm).

Unit 4: Mesh and Hypercube algorithms 13hr

4.1 Mesh Algorithms:

Computational Model, Packet Routing (Packet Routing on a Linear Array, A Greedy Algorithm for PPR on a Mesh), Fundamental Algorithms (Broadcasting, Prefix Computation, Data Concentration), Selection (Randomized Algorithm for n=p, Randomized Selection for n>p), Sorting (Sorting on a Linear Array, Sorting on a Mesh)

4.2 Hypercube Algorithms:

Computational Model (Hypercube, Butterfly Network,Embedding of other Networks, PPR Routing (Greedy algorithm, Randomized Algorithm), Fundamental Algorithms (Broadcasting, Prefix Computation, Data Concentration), Selection (Randomized Algorithm for n=p, Randomized Selection for n>p), Sorting(Odd-Even Merge Sort, Bitonic Sort)

Textbook:

  1. Ellis Horowitz, Sartaj Sahni,Sanguthevar Rajasekaran, Computer Algorithms/C++, 2ndEdition, Universities Press, 2007

Reference Books:

  1. H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, Introduction to Algorithms, 2ndEdition, MIT Press, 2001
  2. G. Brassard and P. Bratley, Fundamentals of Algorithmics, Prentice-Hall, 1996
    Outcomes and Assessment:
    Student should implement Algorithms described in class and should perform their Empirical Evaluation.
Author

Prince Pudasaini

Follow Me
Other Articles
Previous

Advance Computer architecture

Next

Parallel and Distributed Computing

Copyright 2026 — ICT BYTE. All rights reserved. Blogsy WordPress Theme