CSBS 4 Notes
CSBS 4 Notes
CSBS 4 Notes
Introduction To Innovation,
5 IP Management & CS112405 3 0 - 100 20 30 150 3
Entrepreneurship
Design And Analysis Of
6 CS112491 - 2 25 - 25 50 1
Algorithms Lab
Operating Systems Lab
7 CS112492 - 2 25 - 25 50 1
(Unix Environment)
10 Design Thinking - - 25 - 25 50 -
Essence of Indian
Traditional Knowledge CS112496
(Non Credit)
Note:
The Objective of this course is: CO1 Design algorithms for various computing
To understand and apply the algorithm problems.
analysis techniques. CO2 Analyze the time and space complexity of
To critically analyze the efficiency of algorithms.
alternative algorithmic solutions for the CO3 Critically analyze the different algorithm
same problem. design techniques for a given problem.
To understand different algorithm design CO4 Modify existing algorithms to improve
techniques. efficiency.
To understand the limitations of CO5 To Understand how to apply various
Algorithmic power. algorithms.
UNIT – III: Graph and Tree Algorithms: Traversal algorithms: Depth First Search (DFS) and
Breadth First Search (BFS); Shortest path algorithms, Transitive closure, Minimum Spanning Tree,
Topological sorting, Network Flow Algorithm.
Reference Books:
UNIT – I Introduction: Concept of Operating Systems (OS), Generations of OS, Types of OS,
OS Services, Interrupt handling and System Calls, Basic architectural concepts of an OS, Concept
of Virtual Machine, Resource Manager view, process view and hierarchical view of an OS.
UNIT – II Processes: Definition, Process Relationship, Different states of a Process, Process
State transitions, Process Control Block (PCB), Context switching.
Thread: Definition, Various states, Benefits of threads, Types of threads, Concept of multithreads.
Process Scheduling: Foundation and Scheduling objectives, Types of Schedulers, Scheduling
criteria: CPU utilization, Throughput, Turnaround Time, Waiting Time, Response Time.
Scheduling algorithms: Pre-emptive and non-pre-emptive, FCFS, SJF, RR; Multiprocessor
scheduling: Real Time scheduling: RM and EDF.
Inter-process Communication: Concurrent processes, precedence graphs, Critical Section, Race
Conditions, Mutual Exclusion, Hardware Solution, Semaphores, Strict Alternation, Peterson’s
Solution, The Producer / Consumer Problem, Event Counters, Monitors, Message Passing,
Classical IPC Problems: Reader’s & Writer Problem, Dinning Philosopher Problem, Barber’s shop
problem.
UNIT – III: Deadlocks: Definition, Necessary and sufficient conditions for Deadlock, Deadlock
Text Books:
S. No. Title Author(s) Publisher
Abraham Silberschatz,
1 Operating System Concepts Essentials Peter Baer Galvin and Greg Gagne.
Reference Books:
UNIT – I Introduction: Programming in the small vs. programming in the large; software project
failures and importance of software quality and timely availability; engineering approach to software
development; role of software engineering towards successful execution of large software projects;
emergence of software engineering as a discipline.
UNIT – II Software Project Management: Basic concepts of life cycle models – different models
and milestones; software project planning – identification of activities and resources; concepts of
feasibility study; techniques for estimation of schedule and effort; software cost estimation models and
concepts of software engineering economics; techniques of software project control and reporting;
introduction to measurement of software size; introduction to the concepts of risk and its mitigation;
configuration management
UNIT – III: Software Quality and Reliability: Internal and external qualities; process and product
quality; principles to achieve software quality; introduction to different software quality models like
McCall, Boehm, FURPS / FURPS+, Dromey, ISO – 9126; introduction to Capability Maturity Models
(CMM and CMMI); introduction to software reliability, reliability models and estimation.
Software Requirements Analysis, Design and Construction: Introduction to Software
Requirements Specifications (SRS) and requirement elicitation techniques; techniques for requirement
modeling – decision tables, event tables, state transition tables, Petri nets; requirements documentation
through use cases; introduction to UML, introduction to software metrics and metrics based control
methods; measures of code and design quality.
UNIT – IV: Object Oriented Analysis, Design and Construction: Concepts -- the principles of
abstraction, modularity, specification, encapsulation and information hiding; concepts of abstract data
UNIT – V: Software Testing: Introduction to faults and failures; basic testing concepts; concepts of
verification and validation; black box and white box tests; white box test coverage – code coverage,
condition coverage, branch coverage; basic concepts of black-box tests – equivalence classes,
boundary value tests, usage of state tables; testing use cases; transaction based testing; testing for non-
functional requirements – volume, performance and efficiency; concepts of inspection.
Text Books:
Reference Books:
A Lexicon of Practice,
Software Requirements and
2 Principles and Michael Jackson
Specification:
Prejudices,
Ivar Jacobson, Grady
3 The Unified Development Process James Rumbaugh
Booch,
Text Books:
Reference Books:
Innovation as a core business process, Sources of innovation, Knowledge push vs. need pull innovations.
Class Discussion- Is innovation manageable or just a random gambling activity?
Creating new products and services, Exploiting open innovation and collaboration, Use of innovation for
starting a new venture Class Discussion- Innovation: Co-operating across networks vs. ‘go-it-alone’
approach
Text Books:
The objectives of this lab is : CO1 Students will be able to Work confidently in
Unix/Linux environment
1. To familiarize students with
the architecture of Unix OS. CO2 Students will able to Write shell scripts to automate
various tasks
2. To provide necessary skills for CO3 Students will understand different commands on Unix
developing and debugging and its usage
programs in UNIX CO4 Students will be able to describe and use
environment. thefundamental UNIX system tools and utilities
CO5 Students will understand different kernel
algorithmsand its usage
1. Unix commands (files directory, data manipulation, network communication etc), shell
programming and vi editor
2. C program implementation of the following:
a. Scheduling Algorithms
b. Shared memory
c. Thread and Multi Thread
d. Inter Process Communication
e. Deadlock Avoidance and Deadlock Detection
f. Semaphore
g. Memory Management
h. Indexing and Hashing
Text Books:
1. Operating System Concepts Essentials. Abraham Silberschatz, Peter Baer Galvin and Greg Gagne.
Reference Books:
1. Operating Systems: Internals and Design Principles. William Stallings.
2. Operating System: A Design-oriented Approach. Charles Patrick Crowley.
3. Operating Systems: A Modern Perspective. Gary J. Nutt.
4. Design of the Unix Operating Systems. Maurice J. Bach.
5. Understanding the Linux Kernel, Daniel Pierre Bovet, iraseC ocraM.
Laboratory
Development of requirements specification, function oriented design using SA/SD,
object-oriented design using UML, test case design, implementation using C++ and testing.
Use of appropriate CASE tools and other tools such as configuration management tools,
program analysis tools in the software life cycle.