0% found this document useful (0 votes)
87 views5 pages

NOP Syllabus

Uploaded by

akshatswamiisro
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)
87 views5 pages

NOP Syllabus

Uploaded by

akshatswamiisro
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/ 5

and model.

(CPU information)
5. Write a program to report behaviour of Linux kernel including information on 19
configured memory, amount of free and used memory. (Memory information)
6. Write a program to copy files using system calls.
7. Write a program to implement FCFS scheduling algorithm.
8. Write a program to implement SJF scheduling algorithm.
9. Write a program to implement non-preemptive priority based scheduling algorithm.
10. Write a program to implement SRTF scheduling algorithm.
11. Write a program to calculate sum of n numbers using Pthreads. A list of n numbers is
divided into two smaller list of equal size, two separate threads are used to sum the

T
sublists.
12. Write a program to implement first-fit, best-fit and worst-fit allocation strategies.
AF DSC 09: Numerical Optimization

Course Objective

The course aims to provide students an experience of mathematically formulating a large variety
of optimization/decision problems emerging out of various fields like data science, machine
R
learning, business and finance. The course focuses on learning techniques to optimize the
problems in order to obtain the best possible solution.

Course Learning Outcomes


D

At the end of the course, students will be able to:


1. Mathematically formulate the optimization problems using the required number of
independent variables.
2. Define constraint functions on a problem.
3. Check the feasibility and optimality of a solution.
4. Apply conjugate gradient method to solve the problem.

Syllabus
Unit 1 Introduction: Mathematical Formulation using example, Continuous versus Discrete
Optimization, Constrained and Unconstrained Optimization, Global and Local Optimization,
Stochastic and Deterministic Optimization, Convexity, Optimization Algorithms

Unit 2 Fundamentals of Unconstrained Optimization: Concept of a Solution - Recognizing a


Local Minimum, Nonsmooth Problems. Overview of Algorithms - Two Strategies: Line Search
and Trust Region, Search Directions for Line Search Methods, Models for Trust-Region
Methods, Scaling. Line Search - Convergence of Line Search Methods, Rate of Convergence -
Convergence Rate of Steepest Descent, Newton’s Method, Quasi-Newton Methods. Trust Region
- The Cauchy Point algorithm, Global Convergence - Reduction Obtained by the Cauchy Point,
Convergence to Stationary Points.

T
Unit 3 Conjugate Gradient Methods: Basic Properties of the Conjugate Gradient Method, A
Practical Form of the Conjugate Gradient Method, Rate of Convergence.

Unit 4 Calculating Derivatives: Finite-Difference Derivative Approximations, Approximating


AF
the Gradient, Approximating a Sparse Jacobian, Approximating the Hessian, Approximating a
Sparse Hessian

Unit 5 Theory of Constrained Optimization: Local and Global Solutions, Smoothness,


Examples - A Single Equality Constraint, A Single Inequality Constraint, Two Inequality
Constraints, Tangent Cone and Constraint Qualifications, First-Order Optimality Condition,
Second-Order Conditions - Second-Order Conditions and Projected Hessians. Linear and
Non-linear Constrained Optimization. Augmented Lagrangian Methods.
R
References
1. J. Nocedal and S.J. Wright, Numerical Optimization, Second Edition, Springer Series in
Operations Research, 2006.
D

DSC 10: Design and Analysis of Algorithms

Course Objective

The course is designed to develop understanding of different algorithm design techniques and
use them for problem solving. The course shall also enable the students to verify correctness of
algorithms and analyze their time complexity.

Course Learning Outcomes

On successful completion of this course, the student will be able to:


1. Compute and compare the asymptotic time complexity of algorithms.
2. Prove correctness of algorithms.
3. Use appropriate algorithm design technique(s) for solving a given problem.
4. Appreciate the difference between tractable and intractable problems.

Syllabus

Unit 1 Searching, Sorting, Selection: Linear Search, Binary Search, Insertion Sort, Selection
Sort, Bubble Sort, Heapsort, Linear Time Sorting, Selection Problem, running time analysis and
correctness.

Unit 2 Graphs: Review of graph traversals, graph connectivity, testing bipartiteness, Directed
Acyclic Graphs and Topological Ordering.

Unit 3 Divide and Conquer: Introduction to divide and conquer technique, Merge Sort, Quick

T
Sort, Maximum-subarray problem, Strassen’s algorithm for matrix multiplication.

Unit 4 Greedy algorithms: Introduction to the Greedy algorithm design approach, application
to minimum spanning trees, fractional knapsack problem, etc. with correctness, and analysis of
AF
time complexity.

Unit 5 Dynamic Programming: Introduction to the Dynamic Programming approach,


application to subset sum, integer knapsack problem etc., correctness, and analysis of time
complexity.

Unit 6 Intractability: Concept of polynomial time computation, polynomial time reductions,


decision vs optimization problems, Introduction to NP, NP-hard and NP-Complete classes.

Unit 7 Advanced Analysis Technique: Amortized Analysis.


R
References

1. Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C. Introduction to Algorithms, 4th
edition, Prentice Hall of India, 2022.
2. Kleinberg, J., Tardos, E. Algorithm Design, 1st edition, Pearson, 2013.
D

Additional References
(i) Basse, S., Gelder, A. V., Computer Algorithms: Introduction to Design and Analysis, 3rd
edition, Pearson, 1999.

Suggested Practical List


1. i. Write a program to sort the elements of an array using Insertion Sort (The program
should report the number of comparisons).
ii. Write a program to sort the elements of an array using Merge Sort (The program
should report the number of comparisons).
2. Write a program to sort the elements of an array using Heap Sort (The program should
report the number of comparisons).
3. Write a program to multiply two matrices using the Strassen’s algorithm for matrix
multiplication.
4. Write a program to sort the elements of an array using Radix Sort.
5. Write a program to sort the elements of an array using Bucket Sort.
6. Display the data stored in a given graph using the Breadth-First Search algorithm.
7. Display the data stored in a given graph using the Depth-First Search algorithm.
8. Write a program to determine a minimum spanning tree of a graph using the Prim’s
algorithm.
9. Write a program to implement Dijkstra's algorithm to find the shortest paths from a given
source node to all other nodes in a graph.

T
10. Write a program to solve the weighted interval scheduling problem.
11. Write a program to solve the 0-1 knapsack problem.

For the algorithms at S.No 1 and 2, test run the algorithm on 100 different input sizes varying
from 30 to 1000. For each size find the number of comparisons averaged on 10 different input
AF
instances; plot a graph for the average number of comparisons against each input size. Compare
it with a graph of nlogn.

DSC 11: Database Management System

Course Objective

The course introduces the students to the fundamentals of database management system and its
R
architecture. Emphasis is given on the popular relational database system including data models
and data manipulation. Students will learn about the importance of database structure and its
designing using conceptual approach using Entity Relationship Model and formal approach
D

using Normalization. The importance of file indexing and controlled execution of transactions
will be taught. The course would give students hands-on practice of structured query language
in a relational database management system and glimpse of basic database administration
commands.

Course Learning Outcomes

On successful completion of the course, students will be able to:


1. Use database management system software to create and manipulate the database.
2. Create conceptual data models using entity relationship diagrams for modeling real-life
situations and designing the database schema.
3. Use the concept of functional dependencies to remove redundancy and update anomalies.
4. Apply normalization theory to get a normalized database scheme.
5. Write queries using relational algebra, a procedural language.
6. Implement relational databases and formulate queries to get solutions of a broad range of
data retrieval and data update problems using SQL .
7. Write and execute SQL queries through a high-level language via ODBC connection

T
8. Database administration commands such as creating/removing users, granting/revoking
different privileges to the database users; creating assertions, triggers, and indexes.
9. Learn the importance of index structures and concurrent execution of transactions in
database systems.

Syllabus
AF
Unit 1 Introduction to Database: Purpose of database system, Characteristics of database
approach, data models, database management system, database system architecture,
three-schema architecture, components of DBMS, data independence, and file system approach
R
vs database system approach.

Unit 2 Entity Relationship Modeling: Conceptual data modeling - motivation, entities, entity
types, attributes, relationships, relationship types, constraints on relationship, Entity
Relationship diagram notation.
D

Unit 3 Relational Data Model: Update anomalies, Relational Data Model - Concept of
relations, schema-instance distinction, keys, relational integrity constraints, referential integrity
and foreign keys, relational algebra operators and queries.

Unit 4 Structured Query Language (SQL): Querying in SQL, DDL to create database and
tables, table constraints, update database-update behaviors, DML, aggregation functions group
by and having clauses, retrieve data from the database, generate and query views. Access and
manipulate databases using ODBC. Basic Database administration SQL commands.

You might also like