Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Problem Solving Techniques - II, Thesis of Design Patterns

The course 'problem solving techniques - ii' (course code: cse 703) which aims to impart the basic concepts of data structures and algorithms, and understand the step-by-step approach in solving problems using appropriate data structures. The course also aims to improve problem-solving skills in operating systems and database management. It covers topics such as design and analysis of algorithms, various algorithm types (divide and conquer, greedy methods, dynamic programming, backtracking, etc.), operating system concepts (processes, scheduling, interprocess communication, deadlocks, memory management), and database management (data modeling, relational data model, sql, normalization, transaction processing, concurrency control). The course provides a comprehensive understanding of problem-solving techniques and their application in computer science domains.

Typology: Thesis

2021/2022

Uploaded on 11/21/2022

stree-stree
stree-stree 🇮🇳

3 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
PROBLEM SOLVING TECHNIQUES II
Course Code: CSE 703 Credit Units: 02
Total Hours: 20
Course Objective:
To impart the basic concepts of data structures and algorithms and understand about writing step by step approach
in solving problems with the help of appropriate data structures also improve problem solving skills in operating
system and database management.
Course Contents:
Module I: Design and Analysis of Algorithm: (06 Hours)
Introduction: Algorithms, Analyzing Algorithms, Complexity of Algorithms, Growth of Functions,
Performance Measurements, Asymptotic Notations. Recurrences- substitution method, recursion tree method,
master method
Types of algorithm: Divide and Conquer with Examples Such as Sorting, Matrix Multiplication, Convex Hull
and Searching. Greedy Methods with Examples Such as Optimal Reliability Allocation, Knapsack, Minimum
Spanning Trees Prim’s and Kruskal’s Algorithms, Single Source Shortest Paths Dijkstra’s and Bellman Ford
Algorithms. Dynamic Programming with Examples Such as Knapsack. All Pair Shortest Paths Warshal’s and
Floyd’s Algorithms, Resource Allocation Problem. Backtracking, Branch and Bound with Examples Such as
Travelling Salesman Problem, Graph Coloring, n-Queen Problem, Hamiltonian Cycles and Sum of Subsets.
Module II: Operating System-I: (04 Hours)
Processes and Scheduling policies :Introduction to processes management, operating system views of processes,
various process transition states, Introduction to Processor scheduling, Introduction to various types of schedulers,
Performance criteria in scheduling algorithms, Concept of FCFS scheduling algorithm, Concept of priority
scheduling algorithm like SJF, Concept of non-preemptive and preemptive algorithms, Concept of round-robin
scheduling algorithm, , Concept of multi-level queues, feedback queues.
Interprocess Communication: Introduction to Interprocess Communication and Synchronization, Critical
regions and Conditional critical regions in a Semaphore. Introduction to monitors, various modes of monitors,
Issues in message implementation, Concept of mutual exclusion with messages.
Module III: Operating System-II: (03 Hours)
Dead Locks: Concept of Deadlocks, issues related to its prevention, avoidance and detection/recovery, Concept
of deadlock prevention and its avoidance, Concept of deadlock detection and recovery.
Memory Management: Need of Memory management and its requirements, paging, segmentation, concept of
fragmentation. Characteristics of contiguous & non-contiguous allocation techniques, Detail study of
fragmentation, Virtual memory management, introduction to page-replacement, Need of various page-
replacement policies, Concept of FIFO and optimal page-replacement algorithms, Concept of LRU approximation
and its page-replacement algorithm,
Module IV: Database Management System-I: (04 Hours)
Data Modeling using the Entity Relationship Model: ER model concepts, notation for ER diagram, mapping
constraints, keys, Concepts of Super Key, candidate key, primary key, Generalization, aggregation, reduction of
an ER diagrams to tables, extended ER model, relationships of higher degree.
pf2

Partial preview of the text

Download Problem Solving Techniques - II and more Thesis Design Patterns in PDF only on Docsity!

PROBLEM SOLVING TECHNIQUES – II

Course Code: CSE 703 Credit Units: 02

Total Hours: 20

Course Objective: To impart the basic concepts of data structures and algorithms and understand about writing step by step approach in solving problems with the help of appropriate data structures also improve problem solving skills in operating system and database management.

Course Contents:

Module I: Design and Analysis of Algorithm: (06 Hours)

Introduction: Algorithms, Analyzing Algorithms, Complexity of Algorithms, Growth of Functions, Performance Measurements, Asymptotic Notations. Recurrences- substitution method, recursion tree method, master method Types of algorithm: Divide and Conquer with Examples Such as Sorting, Matrix Multiplication, Convex Hull and Searching. Greedy Methods with Examples Such as Optimal Reliability Allocation, Knapsack, Minimum Spanning Trees – Prim’s and Kruskal’s Algorithms, Single Source Shortest Paths – Dijkstra’s and Bellman Ford Algorithms. Dynamic Programming with Examples Such as Knapsack. All Pair Shortest Paths – Warshal’s and Floyd’s Algorithms, Resource Allocation Problem. Backtracking, Branch and Bound with Examples Such as Travelling Salesman Problem, Graph Coloring, n-Queen Problem, Hamiltonian Cycles and Sum of Subsets.

Module II: Operating System-I: (04 Hours)

Processes and Scheduling policies : Introduction to processes management, operating system views of processes, various process transition states, Introduction to Processor scheduling, Introduction to various types of schedulers, Performance criteria in scheduling algorithms, Concept of FCFS scheduling algorithm, Concept of priority scheduling algorithm like SJF, Concept of non-preemptive and preemptive algorithms, Concept of round-robin scheduling algorithm, , Concept of multi-level queues, feedback queues.

Interprocess Communication: Introduction to Interprocess Communication and Synchronization, Critical regions and Conditional critical regions in a Semaphore. Introduction to monitors, various modes of monitors, Issues in message implementation, Concept of mutual exclusion with messages.

Module III: Operating System-II: (03 Hours)

Dead Locks: Concept of Deadlocks, issues related to its prevention, avoidance and detection/recovery, Concept of deadlock prevention and its avoidance, Concept of deadlock detection and recovery.

Memory Management: Need of Memory management and its requirements, paging, segmentation, concept of fragmentation. Characteristics of contiguous & non-contiguous allocation techniques, Detail study of fragmentation, Virtual memory management, introduction to page-replacement, Need of various page- replacement policies, Concept of FIFO and optimal page-replacement algorithms, Concept of LRU approximation and its page-replacement algorithm,

Module IV: Database Management System-I: (04 Hours)

Data Modeling using the Entity Relationship Model: ER model concepts, notation for ER diagram, mapping constraints, keys, Concepts of Super Key, candidate key, primary key, Generalization, aggregation, reduction of an ER diagrams to tables, extended ER model, relationships of higher degree.

Relational data Model and Language: Relational data model concepts, integrity constraints: entity integrity, referential integrity, Keys constraints, Domain constraints, relational algebra, relational calculus, tuple and domain calculus. Introduction to SQL: Characteristics of SQL. Advantage of SQL. SQL data types and literals. Types of SQL commands. SQL operators and their procedure. Tables, views and indexes. Queries and sub queries. Aggregate functions. Insert, update and delete operations. Joins, Unions, Intersection, Minus, Cursors in SQL.

Module V: Database Management System-II: (03 Hours)

Data Base Design & Normalization: Functional dependencies, normal forms, first, second, third normal forms, BCNF, inclusion dependences, loss less join decompositions, normalization using FD, MVD, and JDs, alternative approaches to database design. Transaction Processing Concepts: Transaction system, Testing of serializability, Serializability of schedules, conflict & view serializable schedule, recoverability, Recovery from transaction failures, log based recovery, checkpoints, deadlock handling. Concurrency Control Techniques: Concurrency control, locking Techniques for concurrency control, Time stamping protocols for concurrency control, validation based protocol, multiple granularity, Multi version schemes, Recovery with concurrent transaction.

Course outcomes:

 Able to analyze algorithms and determine their complexity.  Ability to apply the algorithms and design techniques to solve problems.  Ability to understand various views and management policies adopted by O.S. as pertaining with processes , Deadlock , memory , File and I/O operations.  Ability to understand the concepts of relational data model, entity-relationship model, relational database design, relational algebra and SQL.  Ability to improve the database design by normalization.

Examination Scheme:

Components A CT S/V/Q/HA ESE Weightage (%) 5 15 10 70

A: Attendance, CT: Class Test,:, S/V/Q/HA: Seminar/Viva/Quiz/ Home Assignment, ESE: End Semester Examination;

Text & References:

Text:  E. Horowitz & S Sahni, "Fundamentals of Computer Algorithms",  Thomas H. Coreman, Charles E. Leiserson and Ronald L. Rivest, “Introduction to Algorithms”, Printice Hall of India.  A. Silberschatz, P.B. Galvin “Operating System Concepts”, John Willey & son  Korth, Silberschatz, “Database System Concepts”, 4th Ed., TMH, 2000.  Elmasri, Navathe, “ Fundamentals of Database Systems”, Addision Wesley

Refrence:  Aho, Hopcraft, Ullman, “The Design and Analysis of Computer Algorithms” Pearson Education, 2008.  Milenekovic, “Operating System Concepts”, McGraw Hill  Date C. J., “An Introduction to Database Systems”, 7th Ed., Narosa Publishing.