Sei sulla pagina 1di 5

RAVINDRA COLLEGE OF ENGINEERING FOR WOMEN

venkaipalle, Kurnool 518002

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING


Semester IV (2013-2014)

COURSE DESCRIPTION
Course Code Course Title Course Structure Course Coordinator Team of Instructors : : : : : 9A5505

OPERATING SYSTEM
Lectures 4 Tutorials Practicals Credits 3 4

Y.NARASIMHULU, Assistant Professor Sheena Mohammed

I.

Course Overview:

A course on operating systems is an essential part of any computer science education. This field is undergoing rapid change, as computers are now prevalent in virtually every arena of day-to-day life from embedded devices in automobiles through the most sophisticated planning tools for governments and multinational firms. It provides clear description ofthe concepts that underlie operating systems.
By the end of the course, the successful student will be able to do: 1. 2. 3. 4. 5. 6. Learn what operating systems are, what they do, and how they are designed and constructed. Learn various services an operating system provides to users, processes, and other systems. Learn various features of processes, and explores inter-process communication, threads, process synchronization problems, CPU scheduling algorithms, deadlocks in a computer system. Learns about various memory and storage management techniques. Learn about goals and principles of protection in a modern computer system and about security threats and attacks. Finally able to understand how the above mentioned topics implemented in various popular Operating systems.

II.

Prerequisite(s)
Level Credits Periods/ Week Prerequisites Basic data structures, computer organization a high-level language, such as C or Java

UG

III.

Marks Distribution: University End Exam Marks

Sessional Marks There shall be 2 midterm examinations. Each midterm examination consists of subjective test. The subjective test is for 20 marks, with duration of 2 hours. Subjective test of each semester shall contain 5 one mark compulsory questions in part-A and part-B contains 5 questions, the student has to answer 3 questions, each carrying 5 marks. First midterm examination shall be conducted for the first two and half units of syllabus and second midterm examination shall be conducted for the remaining portion. Five marks are earmarked for assignments. There shall be two assignments

Total Marks

75

100

in every theory course. Marks shall be awarded considering the average of two assignments in each course. Duration S.No Component Marks (hours) IV. Evaluation 1 2 3 4 5 I Mid Examination I Assignment II Mid Examination II Assignment External Examination 2 2 3 20 05 20 05 75 Scheme:

V.

Course Educational Objectives: I. II. III. To understand the concepts of asymptotic notation in measuring algorithm behavior. Understand, explain, model, and analyze a given software problem as an algorithm. Investigate whether the algorithm found is the most efficient and prove the correctness of an algorithm.

IV.

Formulate the time order analysis for an algorithm and space needs for the implementation of an algorithm.

V.

To determine solutions for several applications like traveling salesperson problem, Knapsack problem, Graph coloring and hamming distance

VI. VI.

Understand with the concepts of Non deterministic Algorithms

Course Outcomes: 1. 2. 3. 4. Able to identify the complexity of algorithms. Solve a problem using an algorithm and evaluate its correctness. Formulate the time-complexity analysis for an algorithm. Able to explain the basic concepts of time and space complexity, divide-and-conquer strategy, dynamic programming, greedy and appropriate algorithms, amortized analysis and computational geometry. 5. Design a better algorithm to solve the problems. 6. Augment various data structures (trees and arrays) to support specific applications. 7. Building up analyzing, designing and programming skills. How Course Outcomes are assessed: Outcome An ability to apply knowledge of computing, mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computer based systems to real-world problems. An ability to design and conduct experiments, as well as to analyze and interpret data. An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs, within realistic constraints such as economic, environmental, social, political, health and safety, manufacturability, and sustainability. An ability to function effectively on multi-disciplinary teams. Level Proficiency assessed by --

VII.

--

Tests and assignments --

E F G H I J K L

An ability to analyze a problem, and identify, formulate and use the appropriate computing and engineering requirements for obtaining its solution. An understanding of professional, ethical, legal, security and social issues and responsibilities. An ability to communicate effectively, both in writing and orally. The broad education necessary to analyze the local and global impact of computing and engineering solutions on individuals, organizations, and society. Recognition of the need for, and an ability to engage in continuing professional development and life-long learning. Knowledge of contemporary issues. An ability to use current techniques, skills and tools necessary for computing and engineering practice. An ability to apply design and development principles in the construction of software and hardware systems of varying complexity.

H N

Tests and assignments --

N H N H N

----

Tests and assignments


--

An ability to recognize the importance of professional development by pursuing M postgraduate studies or face competitive examinations that offer challenging and rewarding careers in computing. N = None VIII. Syllabus: S = Supportive

--

H = Highly Related

DESIGN AND ANALYSIS OF ALGORITHMS UNIT I : Introduction: Algorithm, Pseudo code for expressing algorithms, Performance Analysis-Space complexity, Time complexity, Asymptotic Notation- Big oh notation, Omega notation, Theta notation and Little oh notation, Probabilistic analysis, Amortized analysis Disjoint Sets- disjoint set operations, union and find operations. Divide and conquer: General method , applications-Binary search, Quick sort, Merge sort, Strassens matrix multiplication. UNIT II : Greedy method: General method, applications-Job sequencing with dead lines, 0/1 knapsack problem, Minimum cost spanning trees, Single source shortest path problem. Graphs: breadth first search, depth first search, spanning trees, connected and bi connected components, articulation points UNIT III : Dynamic Programming: General method, applications-Matrix chain multiplication, Optimal binary search trees, 0/1 knapsack problem, All pairs shortest path problem, Travelling sales person problem, Reliability design. UNIT IV : Backtracking: General method, applications-n-queen problem, sum of subsets problem, graph coloring, Hamiltonian cycles. Branch and Bound: General method, applications - Travelling sales person problem,0/1 knapsack problemLC Branch and Bound solution, FIFO Branch and Bound solution. UNIT V Lower Bound Theory: Comparison trees, oracles and adversary arguments, lower bounds through reductions. NP-Hard and NP-Complete problems: Basic concepts, non deterministic algorithms, NP - Hard and NP Complete classes, Cooks theorem. TEXT BOOKS :

1. Fundamentals of Computer Algorithms, Ellis Horowitz, Satraj Sahni and Rajasekharam, Galgotia publications pvt. Ltd. REFERENCES : 1. Introduction to Algorithms, secondedition,T.H.Cormen,C.E.Leiserson, R.L.Rivest,and C.Stein,PHI Pvt. Ltd./ Pearson Education 2. Introduction to Design and Analysis of Algorithms A strategic approach, R.C.T.Lee, S.S.Tseng, R.C.Chang and T.Tsai, Mc Graw Hill. 3. Data structures and Algorithm Analysis in C++, Allen Weiss, Second edition, Pearson education. 4. Design and Analysis of algorithms, Aho, Ullman and Hopcroft, Pearson education. 5. Algorithms Richard Johnson baugh and Marcus Schaefer, Pearson Education IX. Course Plan: The course plan is meant as a guideline. There may probably be changes. Lecture No. 1 2-3 4-5 6 7-9 10 Learning Objective Learn what an algorithm is and how to write pseudo code. Topics to be covered Reference

Algorithm, Pseudo code for expressing algorithm Performance analysis-Space complexity, Time Learn analyzing algorithm complexity Asymptotic Notation- Big oh notation, Omega Learn algorithm performance notation, Theta notation measures. and Little oh notation
Learn probabilistic and amortized analysis of algorithms Learn disjoint set operations and algorithms Learn to split the problem into subproblems, solve and combine to get the solution of whole. Learn some examples those can be solved by using divide and conquer. Learn to devise an algorithm that works in stages, considering one input at a time. And at each stage a decision is made regarding whether a particular input is in optimal solution. Learn some examples where greedy method can be applied.

T1: 1.1-1.2 T1: 1.3 T1:1.3 T1: 1.3 T1:2.5 T1:3.1

Probabilistic analysis, Amortized analysis Disjoint Sets: definition and operations Union and Finding algorithms Divide and conquer general method Binary search, Quick sort, Merge sort, Strassens matrix multiplication, finding maxima and minima Greedy method - general method Job sequencing with deadlines, knapsack problem, Minimum cost spanning trees, Optimal storage on tapes, Single source shortest path problem
breadth first search and traversal, depth first search and traversal, spanning trees, connected components and bi- connected components, articulation points

13-18

T1:3.33.6,3.8 T1:4.1

19

T1:4.3,4.54.7,4.9

20-30

31-36

Learn about graph and graph related problem solving Learn algorithm design method that can be used when the solution to a problem can viewed as the result of sequence of decisions. Learn some examples where Dynamic Programming can be applied.

T1: 2.6, 6.2-6.4 T1: 5.1

37

Dynamic Programming general method Multi stage graph problem, Optimal binary search trees, 0/1 knapsack problem, All pairs shortest path problem, Traveling sales person problem, T1:5.2-5.9

38-48

Reliability design
49 50-55 56-57 58-63 Learn the problem solving using back tracking method. Learn some examples where Backtracking can be applied. Learn the problem solving using Branch and Bound method Learn some examples where Branch and Bound can be applied Learn about lower bound theory 64-66 Learn the distinction between problems that can be solved by polynomial time algorithm and problems for which no polynomial time algorithm is known.

Backtracking: General method n-queen problem, sum of subsets problem, graph coloring, Hamiltonian cycles, Knapsack problem Branch and Bound: General method Travelling sales person problem,0/1 knapsack problem- LC Branch and Bound solution, FIFO Branch and Bound solution Lower bound theory: Comparison trees, oracles
and adversary arguments, lower bounds through reductions.

T1: 7.1 T1:7.2-7.6

T1: 8.1 T1: 8.2-8.3

T1: 10.110.3 T1:11.1.11. 3

67-69

NP-Hard and NP-Complete basic concepts, non deterministic algorithms, NP - Hard and NPComplete classes Cooks theorem

70

Learn Cooks theorem

T1:11.2

X.

Mapping of course objectives to the achievements of course outcomes: Course Objectives I II III IV V VI Program Outcomes f g h

a H

b H

i S

H H H S H H

XI.

Mapping of course outcomes leading to the achievement of the program outcomes: Course Outcomes 1 2 3 4 5 6 7 Program Outcomes f g h

a H S S S S

H S S

e S H H H S H

S S H

Prepared By Date

: :

Prof L V Narasimha Prasad, Professor and head 16-07-2012

Potrebbero piacerti anche