Cse Ds r20 Aut Sys Y2
Cse Ds r20 Aut Sys Y2
(UGC Autonomous)
Approved by AICTE, Affiliated to Andhra University, Accredited by
N.B.A. & NAAC with ‘A’ Grade
(Estd : 2001)
2021-22
Academic Regulations (R20-Data Science)
Curriculum & Syllabi (II Year I&II Semesters)
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING
VISION
Our vision is to emerge as a world class Computer Science and Engineering department
through excellent teaching and strong research environment that responds swiftly to the
challenges of changing computer science technology and addresses technological needs of the
stakeholders.
MISSION
To enable our students to master the fundamental principles of computing and to develop in
them the skills needed to solve practical problems using contemporary computer-based
technologies and practices to cultivate a community of professionals who will serve the
public as resources on state-of-the-art computing science and information technology.
Computer Science Specific Skills: Ability to formulate, simulate and use knowledge in
2 various domains like data engineering, image processing and information and network
security, artificial intelligence etc., and provide solutions to new ideas and innovations
PROGRAM OUTCOMES (POs)
Graduate
Engineering Knowledge
Attribute1:
Apply the knowledge of basic engineering sciences, humanities, core
PO-1 engineering and computing concept in modeling and designing
computer based systems.
Graduate
Problem Analysis
Attribute2:
Identify, analyze the problems in different domains and define the
PO-2
requirements appropriate to the solution.
Graduate
Design/Development of Solution
Attribute3:
Design, implement & test a computer based system, component or
PO-3 process that meet functional constraints such as public health and
safety, cultural, societal and environmental considerations.
Graduate
Conduct Investigations of Complex Problems
Attribute4:
Apply computing knowledge to conduct experiments and solve
PO-4 complex problems, to analyze and interpret the results obtained
within specified timeframe and financial constraints consistently.
Graduate
Modern Tool Usage
Attribute5:
Apply or create modern techniques and tools to solve engineering
PO-5 problems that demonstrate cognition of limitations involved in design
choices.
Graduate
The Engineer and Society
Attribute6:
Apply contextual reason and assess the local and global impact of
PO-6 professional engineering practices on individuals, organizations and
society.
Graduate
Environment and Sustainability
Attribute7:
Assess the impact of engineering practices on societal and
PO-7
environmental sustainability.
Graduate
Ethics
Attribute8:
Apply professional ethical practices and transform into good
PO-8
responsible citizens with social concern.
Graduate
Individual and Team Work
Attribute9:
Acquire capacity to understand and solve problems pertaining to
PO-9 various fields of engineering and be able to function effectively as an
individual and as a member or leader in a team.
Graduate
Communication
Attribute10:
Graduate
Project Management and Finance
Attribute11:
Graduate
Life-long Learning
Attribute12:
Recognize the need and prepare oneself for lifelong self learning to
PO-12
be abreast with rapidly changing technology.
ANITS-B Tech CSE ( Data Science) CURRICULUM – REGULATIONS –R20
I Year Course structure – CSE( Data Science)
Semester - I
Periods Semester
Course Sessional Total
Title of the course Category end Credits
Code L T P E O Total Marks Marks
Exam
CSD111 EngineeringMathematics – I BS 3 0 0 1 6 10 40 marks
60 100 3
CSD112 Communicative English HS 3 0 0 0 3 6 40 60 100 3
CSD113 BASIC ELECTRONICS ES 3 0 0 1 3 7 40 60 100 3
CSD114 PROBLEM SOLVING WITH C ES 3 0 0 0 3 6 40 60 100 3
CSD115 Digital Logic Design ES 3 0 0 1 3 7 40 60 100 3
CSD116 English Language Lab HS 0 0 3 0 3 6 50 50 100 1.5
CSD117 Problem solving with C – lab. ES 0 0 3 0 3 6 50 50 100 1.5
CSD118 Environmental Science (Mandatory non-credit course) BS 3 0 0 0 1 4 50 - 50 -
Total 18 0 6 3 25 52 350 400 750 18
Wireless
Mobile and
Computer Networks and Engineering 4G/5G Networks Sensor Network Management
Cellular Networks
Networks
Professional Electives
Course Objectives:
The course should enable the students:
To acquire knowledge on several linear and nonlinear data structures like stacks,
queues, linked list, trees and graphs.
To have better insight into to learn various sorting and searching techniques.
To exercise the applications of data structures.
To have a good understanding of problem solving using data structure tools and
techniques.
Course Outcomes:
By the end of the course, the student will be able to:
1. Analyze the complexities of recursive and Non recursive algorithms and Implement linear,
binary, interpolation, hashing searching techniques and sorting techniques namely bubble,
insertion, selection, quick, merge sort.
2. Apply ADT concepts such as stacks and queues for solving infix to post fix, postfix
evaluation, priority queues.
3. Apply the concepts of dynamic memory allocation for reducing the time and space
complexity of algorithms.
4. Design and implement the Nonlinear data structures (trees) to optimize the solution.
5. Design and Implement Warshall’s Algorithm, Shortest path Algorithm-Dijkstra’s
Algorithm, Minimum cost spanning trees (Prims and Kruskal’s algorithms),Graph
traversals ( Breadth first search and Depth first Search algorithms.)
PO PSO
CO
1 2 3 4 5 6 7 8 9 10 11 12 1 2
1 3 3 2 3 - - - - - - - 1 3 0
2 2 2 3 2 - - - - - - - 1 2 0
3 2 2 3 2 - - - - - - - 1 3 0
4 2 2 3 2 - - - - - - - 1 2 0
5 2 3 3 3 - - - - - - - 1 3 0
Page 1 of 63
SYLLABUS
UNIT-I: 15 hours
Introduction: Basic Terminology, Elementary Data Organization, Data Structure operations,
Fundamentals of analysis of algorithms and efficiency – Asymptotic Notations and Basic
Efficiency classes.
Arrays: Array Definition, Representation and Analysis, Single and Multidimensional Arrays,
address calculation, application of arrays, Character String in C, Character string operation,
Array as Parameters, Sparse Matrices.
Searching &Sorting: Sequential search, binary search, Interpolation Search, comparison and
analysis, Hash Table, Hash Functions. Complexity of Search Algorithm, Insertion Sort,
Bubble Sort, Selection Sort, Quick Sort, Merge Sort.
Learning Outcomes:
1. Analyze the complexity of Algorithms, Implement searching and soring algorithms.
2. Implement the searching and soring algorithms.
UNIT-II: 12 hours
Stacks: Array Representation and Implementation of stack, Operations on Stacks: Push &
Pop, Applications of stack: Conversion of Infix to prefix and Postfix Expressions, Evaluation
of Postfix & Prefix expressions using stack, Recursion, Towers of Hanoi Problem.
Queues: Array representation and implementation of queues, Operations on Queue: Insert,
Delete, Full and Empty. Circular queue, De-queue, and Priority Queue, Applications of
Queues.
Learning Outcomes:
1. Implement stacks and queues using ADT and Implement the applications of Stacks
and queues (solving infix to post fix, postfix evaluation, priority queues.)
2. Apply ADT and implement Stack and queue and applications of stack and queue.
UNIT-III: 12 hours
Linked list: Representation and Implementation of Singly Linked Lists, Traversing and
Searching of Linked List, Insertion and deletion to/from Linked Lists, Doubly linked list,
Circular doubly linked list, implementing priority queue using Linked List, Polynomial
Representation using Linked list & addition.
Learning Outcomes:
1. Implement singly linked list, Doubly Linked List, Circular doubly linked list and
applications.
2. Implement Linked Lists and applications of Linked Lists.
UNIT-IV: 12 hours
Trees: Basic terminology, Binary Trees, Binary tree representation, Almost Complete Binary
Tree, Complete Binary Tree, Array and Linked Representation of Binary trees, Traversing
Binary trees, Threaded Binary trees. Binary Search Tree (BST), Insertion and Deletion in
BST, AVL Trees-Rotations in AVL trees, Insertion and Deletion in AVL.
Learning Outcomes:
1. Design and implement BST, AVL trees.
2. Implement BST, AVL tree along with various operations performed on BST and AVL
tree.
Page 2 of 63
UNIT-V: 12 hours
Graphs: Terminology & Representations- Graphs, Directed Graphs, Adjacency Matrices,
Path OR Transitive Closure of a Graph, Warshall’s Algorithm, Shortest path Algorithm-
Dijkstra’s Algorithm, Connected Component and Spanning Trees, Minimum Cost Spanning
Trees, Graph Traversals.
Learning Outcomes:
1. Implement Graph Traversals algorithm and Minimum Cost Spanning Trees
algorithms.
2. Implement Warshall’s Algorithm, Shortest path Algorithm-Dijkstra’s Algorithm and
Minimum Cost Spanning Trees algorithm
TEXT BOOKS
1. Mark Allen Weiss, "Data Structures and Algorithm Analysis in C", Pearson
Education, 2nd Edition, 1996
REFERENCE BOOKS
1. E.Horowitz and Sahani, "Fundamentals of Data Structures", W H Freeman & Co
Publication, 1983.
2. S. Lipschutz, “Data Structures”, McGraw Hill Publications, 1986.
3. P. Dey & M. Ghosh, “Programming in C” , Oxford Univ. Press, 2012
4. ISRD Group, “Data Structures through C++”, McGraw Hill, 2011.
Web Resources:
1. https://nptel.ac.in/courses/106/102/106102064/
2. https://www.coursera.org/learn/data-structures?specialization=data-structures-
algorithms
3. https://www.udacity.com/course/data-structures-and-algorithms-nanodegree--nd256
Page 3 of 63
COMPUTER ORGANIZATION AND MICROPROCESSORS
CSD 212 Credits : 3
Instruction : 3 Periods/Week Sessional Marks : 40
End Exam : 3 Hours End Exam Marks : 60
COURSE OBJECTIVES:
⮚ The objective of the course is to understand the basic structure and operation of digital
computer.
⮚ To study the design of arithmetic and logic unit and control unit techniques
⮚ To understand the different ways of communicating with I/O devices and standard I/O
interfaces.
⮚ Familiar with the architecture and the instruction set of an Intel microprocessors 8085
and 8086.
⮚ To learn the assembly language programming implementation of the 8085 and 8086
programs.
COURSE OUTCOMES:
By the end of the course, the student will be able to:
1. Identify the basic principles and apply to arithmetic for ALU implementation.
2. Demonstrate the computer Arithmetic and hardware implementations of it.
3. Compare and assess the working principles of hardwired and micro programmed control
and I/O interfacing.
4. Analyze the architecture , instruction sets, subroutines and interrupts of 8085 and
implementation of the programming using 8085
5. Summarize the architecture , pin configuration and instruction sets of 8086 and
implementation of the programming using 8086
PO PSO
Mapping
1 2 3 4 5 6 7 8 9 10 11 12 1 2
1 2 2 1 1 - - - - - - - - - -
2 2 2 2 1 - - - - - - - - - -
3 2 - 1 - - - - - - - - 1 - -
CO
4 3 2 - - - - - - - - - 1 1 -
5 3 2 - - - - - - - - - 1 1 -
Page 4 of 63
SYLLABUS
UNIT- I
Basic computer Organization 12 Hours
Register Transfer Language, Instruction Codes, Computer Registers, Computer Instructions,
Timing and Control, Instruction Cycle, Memory-Reference Instructions
ALU
Arithmetic, Logic and Shift Micro operations, Arithmetic Logic Shift Unit.
Learning Outcomes:
1. Identify the basic principles of a computer , Computer Instructions & Memory Instructions
2. Identify the ALU circuit and its operations.
UNIT -II
Computer Arithmetic: 10 hours
Introduction, Addition and Subtraction, Booth Multiplication, Division & Decimal
Arithmetic Unit, Hardware Implementation & Algorithms.
Learning Outcomes:
1. Apply the Arithmetic operations for ALU Implementation.
2. Design the Hardware implementation of Arithmetic circuits.
Page 5 of 63
UNIT-V 15 hours
Introduction to 8086 Microprocessor
Internal Architecture and Functional/Signal Description of 8086/8088, Segmented Memory,
Maximum-Mode and Minimum-Mode Operation and Addressing Modes of 8086.
Assembly Language Programming
Instruction Set and Timing Diagrams, Interrupts and Interrupt Service Routines, Assembler
Directives, Loops Procedures
Learning Outcomes: At the end of this unit, student will be able to
1. Describe the modes and functional block diagram of 8086 along with pins and their
functions.
2. Develop the assembly language programs using various programming techniques.
Text Books:
1. M.Morris Mano, ―Computer System Architecture‖, Pearson Education Inc., 2003,
Third Edition.
2. Ramesh S. Gaonkar, ―Microprocessor Architecture, Programming, and Applications
with the 8085‖ Penram International, 6th Edition.
3. John E.Uffenbeck, ―The 80x86 Family, Design, Programming and Interfacing
3rdEdition, Pearson Education Inc.‖, 2002.
REFERENCE BOOKS:
1. William Stallings, Computer Organization and Architecture, 6th Edition,
Pearson/PHI, 2007.
2. Andrew S. Tanenbaum, Structured Computer Organization, 5th Edition,
PHI/Pearson, 2007.
3. BARRY B. BREY, ―The Intel Microprocessors 8086/8088,
80186/80188,80286,80386 and 80486, Pentium, Pentium Pro Processor, Pentium II,
Pentium III, Pentium 4, Architecture, Programming and Interfacing‖, Pearson
Education Inc., 2003,6thEdition.
Page 6 of 63
JAVA PROGRAMMING
CSD 213 Credits : 3
Instruction : 3 Periods /Week Sessional Marks : 40
End Exam : 3 Hours End Exam Marks : 60
Pre requisites:
Basic knowledge of computer fundamentals.
Student must have knowledge of some programming languages (such as C, C++)
Course Objectives:
To Understand Object Oriented Programming Concepts and Apply Them in
Problem Solving.
To Learn The Basics of Java Console and GUI Based Programming.
Course Outcomes:
At the end of the course the student will be able to
CO1 Design Classes for Real Time Applications.
CO2 Establish The Connectivity Among The Classes Using Inheritances And
Interfaces.
CO3 Modularize The Application Using Packages and apply threads on classes to
achieve parallelism through synchronization.
CO4 Develop Test Cases By Including The Runtime Errors Using Exceptions Handling
Mechanism and multi Threading
CO5 Identify AWT components to Design the GUI Using Applet & AWT Frameworks.
CO-PO MAPPING:
PO- PO- PO- PO- PO- PO- PO- PO- PO- PO- PO- PO- PSO- PSO-
1 2 3 4 5 6 7 8 9 10 11 12 1 2
CO-1 1 2 3 1 1 - - - 1 - 1 3 2 2
CO-2 2 3 3 2 2 - - - 2 - - 3 2 2
CO-3 1 3 3 1 3 - - - 2 - - 3 2 2
CO-4 1 2 3 2 2 1 - - 2 - - 3 2 2
CO-5 2 1 3 2 3 - - - 2 - - 3 2 2
Correlation Levels 1 2 3 Defined as Below
1 High: Strong Correlation
2 Medium: Moderate Correlation
3 Low: Slight
Page 7 of 63
SYLLABUS
UNIT-I 10-12hours
Fundamentals of Object Oriented Programming : Introduction, object oriented paradigm,
object and classes, Data Abstraction and Encapsulation, Inheritance, Polymorphism,
Dynamic Binding, Applications of OOP.
Java programming - History of Java, Java Buzzwords, Data types, variables, operators.
Control structures, arrays, console input and output, Simple programs on java. Introduction
to Classes, objects, constructors, methods, parameter passing, overloading constructors and
methods, static fields and methods, this reference, final keyword, garbage collection, finalize
method, inner class, String handling.
Learning Outcomes: At the end of this unit the Students will be able to
1. Identify the object and understand object oriented principles
2. Create class, constructor and can handle string operations
Page 8 of 63
UNIT-V 10-12 hours
Abstract Window Toolkit
Why AWT?, java. Awt package, Components and Containers, Button, Label, Checkbox,
Radio buttons, List boxes, Choice boxes, Text field and Text area, container classes, Layouts,
Menu, Scroll bar.
Event Handling: The Delegation event model, Event classes, Event Listener interfaces,
handling Action event, Item Event, Mouse Event, keyboard event and Window Events.
Learning Outcomes: At the end of this unit the Students will be able to
1. Design GUI components using AWT.
2. Define Event Handling on the components using Delegation event model.
TEXT BOOKS
1. Herbert Schildt, “JAVA The Complete Reference”, TataMcGraw Hill,seventh edition.
2. E Balagurusamy, “Programming with JAVA - A Primer” – Third Edition.
REFERENCES BOOKS
1. 1. P.J. Deitel and H.M. Deitel, “Java for Programmers”, Pearson education (OR) P.J.
Deitel and H.M. Deitel, “Java: How to Program”, PHI.
2. P. Radha Krishna, “Object Orientd Programming through Java”, Universities Press.
3. Bruce Eckel, “Thinking in Java”, Pearson Education
4. Bruce Eckel, “Programming in Java”, Pearson Education
5. S. Malhotra and S. Choudhary, “Programming in Java”, Oxford Univ. Press.
Page 9 of 63
DATA COMMUNICATION AND NETWORKS
CSD 214 CREDITS:3
INSTRUCTION: 3 Periods /Week SESSIONAL MARKS: 40
FINAL EXAM: 3Hours FINAL EXAM MARKS: 60
Course Objectives:
Acquire knowledge of network terminology and layered communication architectures
(OSI and TCP/IP).
Gain knowledge of digital encoding techniques, multiplexing and spread spectrums.
Illustrate the principles of error detection, error correction congestion control and
trade-offs in fairness and efficiency.
Explain the principles of routing and IP addressing.
Interpret the usage of DNS server and working of application protocols.
Course Outcomes:
By the end of the course Students will be able to
1. Describe the basics of data communications, categorize the network topologies and
differentiate between the TCP/IP and OSI.
2. Explain the design objectives of LLC and MAC and apply various error detection and
correction methods.
3. Implement the subnetting concept and analyze various routing and congestion control.
algorithms.
4. Evaluate the working of TCP - UDP operations and the performance metrics.
5. Analyse the importance of DNS server and its usage.
CO-PO Mapping:
PO- PO- PO- PO PO- PO- PO- PO PO- PO PO PO- PSO PS
A B C -D E F G -H I -J -K L -1 O-2
CO-1 3 1 - - - 1 1 - - - 1 1 1 -
CO-2 3 2 2 2 1 - 1 - - - 1 1 1 1
CO-3 3 2 3 2 1 - - - - - - - 1 1
CO-4 1 3 1 1 1 - - - - - - - 1 1
CO-5 2 2 2 1 1 - - - - - - - 1 1
Page 10 of 63
SYLLABUS
UNIT-I 12 Hours
Introduction to Computer Networks: Introduction to Data Communications, Networking -
Components, Categories and classification, Network Topologies, Reference Models-ISO-
OSI, TCP/IP, Transmission Media, Introduction-Signal Representation, Modulation and
Demodulation Techniques, Switching –Circuit, Packet, Message switching techniques .
Learning Outcomes: At the end of this unit the Students will be able to
1. Compare various types of networks.
2. Contrast TCP/IP and OSI.
UNIT- II 12 Hours
Data Link Layer: LLC: Data Link Layer Design Issues, Error-Error Detection, Control and
Correction Techniques- Parity, LRC,CRC, Hamming Code, Flow Control- Sliding Window
Protocols-Go Back N, Selective Repeat, HDLC.
Medium Access Control Layer: Channel Allocation Problems- Static and Dynamic, MAC
protocols: ALOHA, CSMA- CSMA/CD, CSMA/CA.
Learning Outcomes: At the end of this unit the Students will be able to
1. Applying error correction and detection methods.
2. Finding the best possible channel allocation protocol.
UNIT-III 12 Hours
Network Layer: Datagram Approach, Protocols-ARP,DHCP, IPv4, IPv6, ICMP, Routing
Algorithms: Distance vector Routing, Link State Routing, Hierarchical Routing, Multicast
Routing and Routing for Mobile hosts. Subnetting Concept, Network Address Translation,
Congestion Control Techniques: Approaches, Traffic aware Routing, admission control,
Traffic throttling, Load Shedding.
Learning Outcomes: At the end of this unit the Students will be able to
1. Finding the best suitable routing algorithm for the given network design.
2. Implement the subnetting.
UNIT-IV 12 Hours
Transport Layer: The Transport Service, Elements of Transport Protocols, Congestion
Control, UDP: Introduction, Remote Procedure call, RTP, TCP: Introduction, Service model,
TCP protocol, TCP segment Header, TCP connection Establishment, Connection
Management, Connection release, TCP sliding Window.
Learning Outcomes: At the end of this unit the Students will be able to
1. Examine services of transport layer protocols.
2. Compare the UDP and TCP protocols.
UNIT-V 12 Hours
Application Layer: DNS Name space, Domain Name records, Name servers, Electronic
Mail: Architecture and services, The user agent, Message Formats, Message Transfer. The
Worldwide Web: Architectural overview. HTTP, HTTPS, FTP, Mobile Web, Web search.
Security: Introduction to Cryptography, Security Services, Message Confidentiality and
Integrity.
Learning Outcomes: At the end of this unit the Students will be able to
1. Examine Naming Services.
2. Explain the importance of Application layer protocols.
Page 11 of 63
Text Books:
1. Behrouz A Forouzan ―Data Communications and Networking‖ , 5th Edition, Tata
McGraw-Hill.
2. Andrew S. Tanenbaum, ―Computer Networks‖, 5th edition, Prentice-Hall Publisher
Reference Books:
1. William Stallings, ―Data and Computer Communications‖. 7th edition, Pearson
Education
2. J F Kurose, K W Ross, ―Computer Networking: A Top-Down Approach”, 5th
Edition, AddisonWesley.
Online Resources:
1. https://nptel.ac.in/courses/106/105/106105081/
2. https://swayam.gov.in/nd1_noc20_cs23/preview
Page 12 of 63
DISCRETE MATHEMATICAL STRUCTURES
CSD 215 CREDITS:3
INSRUCTION: 3 Periods /Week SESSIONAL MARKS: 40
FINAL EXAM: 3Hours FINAL EXAM MARKS: 60
Prerequisites:
Elementary knowledge of Set theory, Matrices and Algebra.
Course Objective :
The main objectives of the course are to:
Introduce concepts of mathematical logic for analyzing propositions and proving theorems.
Use sets for solving applied problems binary relations and introduce concepts of algebraic
structures
Work with an ability to solve problems in Combinatorics
. Solve problems involving recurrence relations and generating functions.
Introduce basic concepts of graphs, digraphs and trees
CO – PO MAPPING
PO- PO- PO- PO- PO- PO- PO- PO- PO- PO- PO- PO-12
1 2 3 4 5 6 7 8 9 10 11
CO- 3 2 1 - - - - - - - - 1
1
CO- 3 2 1 - - - - - - - - 1
2
CO- 3 2 1 - - - - - - - - 1
3
CO- 3 2 1 - - - - - - - - 1
4
CO- 3 2 1 - - - - - - - - 1
5
Page 13 of 63
SYLLABUS
Page 14 of 63
UNIT – V: GRAPHS (16 Periods)
Introduction to graphs – Types of graphs – Graphs basic terminology and special types of
simple graphs – Representation of graphs and graph isomorphism – Euler paths and circuits
– Hamilton paths and circuits – Planar graphs – Euler’s formula.
Introduction to trees and their properties – Spanning trees – Minimum spanning trees –
Kruskal’s algorithm .
Sections: 5.1 to 5.4, 5.7, 5.8, 5.9, and 5.10 of Text book [1].
Learning outcome: At the end of this unit, the student will be able to
1. Identify different graphs and their properties.
2. Build minimal spanning tree by using different algorithms.
TEXT BOOKS:
1. Joe L. Mott, Abraham Kandel & T. P. Baker, Discrete Mathematics for computer
scientists &Mathematicians, Prentice Hall of India Ltd, New Delhi., 2008
REFERENCE BOOKS:
1. Keneth. H. Rosen, Discrete Mathematics and its Applications, 6/e, Tata McGraw-
Hill, 2009.
Page 15 of 63
ANITS (A)
CSE - DEPARTMENT
II YEAR – I SEMESTER R20
Prerequisite: NIL
Course Objectives:
The course titled Innovation, Business Models and Entrepreneurship are designed to give
an in-depth Understanding on Various aspects of Innovation, Creativity, evolving business
models, incubation and entrepreneurship. Come up with exposure to design thinking for
designing innovative products. The course is a blend of theory and practice therefore this
course does not require any prerequisite and will be useful to understand innovation and its
applications in different spheres of development and growth. Driven by a vision to
empower students with design thinking skills to be able to bring innovation and personal
effectiveness to solve problems for the organization and society.
Course Outcomes:
The Student will be able to:
CO-1 Identify the Principles and Elements of Design; gain knowledge of the Need and
charectestics of Design Thinking.
CO-2 Apply the Design Thinking process and use tools like Persona, Empathy Map for
solving problems in user centric way.
COURSE
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
OUTCOMES
CO1 3 3 2 1 1 1 1 1
CO2 3 3 1 1 1 1 1 1
CO3 3 3 2 1 1 1 1 1
CO4 3 2 1 1 1 1 1 1
CO5 3 3 2 1 1 1 1 1
Page 16 of 63
Course Outcomes PSO1 PSO2
CO-1 2 1
CO-2 2 1
CO-3 2 1
CO-4 2 1
CO-5 2 1
SYLLABUS
UNIT-I
Introduction to Design Thinking: 6L+4P=10Periods
Introduction to elements and principles of Design, Introduction to design thinking, history
and need of design thinking. 7 characteristics that define design thinking, comparison of
design thinking to other ways of thinking, 5 characteristics of action plan. Problem
statement.
Learning Outcomes
1. Explain the concept of design and its history
2. Describe the need of Design Thinking
3. Elucidate the charectestics of Design Thinking
UNIT-II 6L+8P=14Periods
Design Thinking process and Tools:
Design Thinking process empathize, analyze, ideate, prototype & Test. Implementing the
process in driving inventions, design thinking in social innovations. Tools of Design
Thinking - Ask 5x why, 5W+H questions, Empathy map, persona, costumer journey map
for solving problems in user centric way.
Learning outcomes
1. Describe the ideas and tools required to solve a problem
2. Explain the design process
3. Solve a problem as a team
4. Identify the roles and responsibilities as a team member
Page 17 of 63
Learning Outcomes
1. Identify skills for innovation
2. Design with empathetic experience
3. Solve a problem innovatively
UNIT-V 6L+8P=14Periods
Design thinking in various sectors: Design thinking for Startups. Double Dimond method -
discover, define, develop and deliver. Case studies in Information Technology, Finance,
Education and Management
Learning Outcomes
1. Apply Design thinking for Startups.
2. Apply Double Diamond method for various sectors
3. Perform case studies on various sectors.
TEXT BOOKS:
1. Daniel Ling “Complete Design Thinking Guide for Successful Professionals”, Emerge
Creatives Group LLP, Print ISBN: 978-981-09-5564-9.
2. Product Design and Manufacturing by A.K. Chitale and R.C. Gupta, Prentice Hall
3. Michael Lewrick, Patrick Link, Larry Leifer, The Design Thinking Toolbox, John
Wiley & Sons, 2020.
REFERENCE BOOKS:
1. Michael G. Luchs, Scott Swan, Abbie Griffin , “Design Thinking: New Product
Development Essentials from the PDMA”, ISBN-13 : 978-1118971802
2. Tim Brown, Change by Design: How Design Thinking Transforms Organizations and
Inspires Innovation, HarperCollins e-books, 2009.
3. Beverly Rudkin Ingle, “Design Thinking for Entrepreneurs and Small Businesses”,
Apress, ISBN: 9781430261827
4. Jose Betancur “The Art of Design Thinking: Make More of Your Design Thinking
Workshops”, ISBN: 9781522095378
5. Michael Lewrick, Patrick Link, Larry Leifer, The Design Thinking Playbook, John
Wiley & Sons, 2018
6. Jeanne Liedtka, Andrew King, And Kevin Bennett, “Solving Problems with Design
Thinking” , Columbia University Press Publishers, E-ISBN 978-0-231-53605-9
WEB RESOURCES:
1. https://dschool.stanford.edu/resources/design-thinking-bootleg
2. https://www.ideo.com/post/design-thinking-for-educators
3 https://nptel.ac.in/courses/110/106/110106124/#
Page 18 of 63
JAVA LAB
CSD 217 CREDITS:1.5
INSTRUCTION: 3 Periods/Week SESSIONAL MARKS: 50
FINAL EXAM: 3Hours FINAL EXAM MARKS: 50
Prerequisites:
● Basic knowledge of computer fundamentals.
● Student must have knowledge of some programming languages (such as C, C++)
Course Objectives:
To understand object oriented programming concepts, and apply them in problem
solving.
To learn the basics of java Console, GUI based programming and networking
programming.
Course Outcomes:
Student will be able to
CO1 Solve the given problem using basics of Java programming.
CO2 Develop the program using class and object.
CO3 Implement the solution using Inheritance and modularize the application using
packages.
CO4 Apply multi threading, Exception handling, File Handling and Design GUI
applications using java AWT and applets.
CO-PO Mapping:
PO- PO- PO- PO- PO- PO- PO- PO- PO- PO- PO- PO- PSO1 PSO2
1 2 3 4 5 6 7 8 9 10 11 12
CO-1
2 2 1 2 2 - - - - - 1 2 3 2
CO-2 2 3 3 3 3 - - - - - 1 2 2 2
CO-3 1 2 3 3 3 - - - - - 1 2 2 2
CO-4 2 1 3 1 3 - - - - - 1 2 2 2
1. Write a java program which reads your name and other details through command line and
print them. CO1
2. Arrays CO1
Write a to find the Valid program Parentheses
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input
string is valid. An input string is valid if:
1. Open brackets must be closed by the same type of brackets.
2. Open brackets must be closed in the correct order.
Note that an empty string is also considered valid. Input:( ) output:valid
Input: ( { ) } Output: Not valid
Page 19 of 63
3. Letter Combinations of a Phone Number CO1
Given a string containing digits from 2-9 inclusive, return all possible letter combinations that
the number could represent.
A mapping of digit to letters (just like on the telephone buttons) is given below. Note that 1
does not map to any letters.
4. Strings CO2
Write a program to find the longest Substring without Repeating Characters
Input: abcabcbb output:3 string: abc
Input: pwwkew output:3 string: wke Note: pwke is not a substring , it is a
subsequence
Write a JAVA program to implement bank functionality in the above scenario and
demonstrate the dynamic polymorphism concept. Note: Create few classes namely Customer,
Account, RBI (Base Class) and few derived classes (SBI, ICICI, PNB etc). Assume and
implement required member variables and functions in each class.
Testcase1:
Enter the Bank name to find the rate of Interest : RBI
RBI rate of interest is : 4%
Testcase2:
Enter the Bank name to find the rate of Interest : SBI
RBI rate of interest is : 7%
Page 20 of 63
8. Interfaces: CO3
Different categories of employees are working in a software company like Regular
Employees, Contract Employees and Vendors. And their pay roll is different for regular and
contract employees. For the regular employees Basic pay is 25000, HRA is 15000rs and TA
is 5000. For the Contract employees Basic pay is 12000 TA is 3000rs and there is no HRA.
Find the monthly salary details of Employee. If input is Regular Employee display the
Regular employee salary details. If input is Contract based display the Contract salary
details.
TestCase1: Input: Enter Employee Id: R101
Output: Salary Details:
Basic Pay: 25000 HRA: 15000 T.A: 5000 Total Amount: 45000
9. Packages CO3
Define a package number and in that define Roman class and implement
romanToInteger() and import the method in another class.
Input: "LVIII" Output: 58
Explanation: L = 50, V= 5, III = 3.
Write the below text in the file called sample.txt and then find the frequency count of the
patterns ‘pe’, and ‘pi’
Peter Piper picked a peck of pickled peppers
A peck of pickled peppers Peter Piper picked
If Peter Piper picked a peck of pickled peppers
Where’s the peck of pickled peppers Peter Piper picked?
Expected Output:
‘pe’ – no of occurrences - 20
‘pi’ – no of occurrences – 12
Page 21 of 63
12. Multi Threading CO4
Implement a Reservation system which allows the persons to book seats. Define reserve
method initially with 100 seats. Now create one or more person threads to book seats. At
any time it should allow only one person thread to access the reserve method.
Expected Output:
Person-1 entered.
Available seats: 10 Requested seats: 5
Seat Available. Reserve now :-)
5 seats reserved.
Person-1 leaving.
----------------------------------------------
Person-2 entered.
Available seats: 5 Requested seats: 2
Seat Available. Reserve now :-)
2 seats reserved.
Person-2 leaving.
----------------------------------------------
Person-3 entered.
Available seats: 3 Requested seats: 4
Requested seats not available :-(
Person-3 leaving.
----------------------------------------------
Page 22 of 63
Data Structures Lab Using C
CSD 218 CREDITS:1.5
INSTRUCTION: 3 Periods/Week SESSIONAL MARKS: 50
FINAL EXAM: 3 Hours FINAL EXAM MARKS: 50
Prerequisite:
Basic knowledge about problem solving
Require programming knowledge through C language
Course Objectives:
The course is designed to develop skills to design and analyse simple linear and non-
linear data structures.
It strengthens the ability of the students to identify and apply the suitable data
structure for the given real-world problem.
It enables them to gain knowledge in practical applications of data structures.
CO-PO Mapping:
PO PSO
Mapping
1 2 3 4 5 6 7 8 9 10 11 12 1 2
1 2 2 2 1 - - - - - - - 1 1 -
2 1 2 2 1 - - - - - - - 1 1 -
CO
3 2 2 2 1 - - - - - - - 1 2 1
4 2 2 2 1 - - - - - - - 1 2 -
Experiments:
1. Write a program to sort the given array of N elements using divide and conquer
method (merge sort and quick sort algorithms) CO1
Constraints: 1<N<1000
Sample Input array: 87, 36, 9, 12, 24, 5, 78, 567, 456, 34, 96, 45, 39, and 89,123
Sample Output array: 5, 9, 12, 24, 34, 36, 39, 45, 78, 87, 89, 96, 123, 456, and 567
Page 23 of 63
3. Write a C program to store k keys into an array of size n at the location computed using a
hash function, loc = key % n, where k<=n and k takes values from [1 to m], m>n. CO1
4. Design, Develop and Implement a C program to handle the collisions using the following
collision resolution Technique CO1
a) Linear probing: In linear probing, we linearly probe for next slot, let store k keys into an
array of size S at the location computed using a hash function, hash(x) where k<=n and k
takes values from [1 to m], m>n.
Constraints: If slot hash(x) % S is full, then we try (hash(x) + 1) % S
If (hash(x) + 1) % S is also full, then we try (hash(x) + 2) % S
If (hash(x) + 2) % S is also full, then we try (hash(x) + 3) % S
..................................................
..................................................
Sample Test Case:
Let us consider a simple hash function as “key mod 7” and sequence of keys as 50, 700, 76,
85, 92, 73, 101.
b) Quadratic probing: Quadratic Probing we look for i2‘th slot in i’th iteration, let store k
keys into an array of size S at the location computed using a hash function, hash(x) where
k<=n and k takes values from [1 to m], m>n.
Constraints: let hash(x) be the slot index computed using hash function.
If slot hash(x) % S is full, then we try (hash(x) + 1*1) % S
If (hash(x) + 1*1) % S is also full, then we try (hash(x) + 2*2) % S
If (hash(x) + 2*2) % S is also full, then we try (hash(x) + 3*3) % S
.................................................
Sample Test Case:
Page 24 of 63
c) Separate Chaining: The idea is to make each cell of hash table points to a linked list of
records that have same hash function value.
Let us store K keys into hash table of size S, where k<=n and k takes values from [1 to m],
m>n.
Sample Test Case:
Let us consider a simple hash function as “key mod 7” and sequence of keys as 50, 700, 76,
85, 92, 73, 101.
5. Design, Develop and Implement a menu driven Program in C for the following. CO2
a) Operations on STACK of Integers (Array Implementation of Stack with maximum size
MAX)
Page 25 of 63
3. Demonstrate Overflow and Underflow situations on Stack
4. Display the status of Stack
5. Exit
b) Operations on QUEUE of Characters (Array Implementation of Queue with maximum
size MAX)
a) Stack- In single linked list store the information in the form of nodes .Create nodes using
dynamic memory allocation method. All the single linked list operations perform based on
Stack operations LIFO (last in first out).
A stack contains a top pointer. Which is “head” of the stack where pushing and popping
items happens at the head of the list. first node have null in link field and second node link
have first node address in link field and so on and last node address in “top” pointer.
Stack Operations:
1. push() : Insert the element into linked list nothing but which is the top node of Stack.
2. pop() : Return top element from the Stack and move the top pointer to the second node
of linked list or Stack.
3. peek(): Return the top element.
4. display(): Print all element of Stack.
b) Queue- All the single linked list operations perform based on queue operations FIFO
(First in first out).
In a Queue data structure, we maintain two pointers, front and rear. The front points the first
item of queue and rear points to last item.
1. enQueue() This operation adds a new node after rear and moves rear to the next
node.
2. deQueue() This operation removes the front node and moves front to the next node.
3. Display() Display all elements of the queue.
Note: Sample node information: Student Data with the fields: USN, Name, Branch, Sem,
PhNo.
7. Design, Develop and Implement a Program in C for the following CO2
a) Converting an Infix Expression to Postfix Expression. Program should support for
both parenthesized and free parenthesized expressions with the operators: +, -, *, /, %
(Remainder), ^(Power) and alphanumeric operands.
b) Evaluation of postfix expression with single digit operands and operators: +,-, *, /, %,
^
8. Design, Develop and Implement a menu driven Program in C for the following: CO2
a) Circular Queue
1. Insert an Element on to Circular QUEUE
2. Delete an Element from Circular QUEUE
Page 26 of 63
3. Demonstrate Overflow and Underflow situations on Circular QUEUE
4. Display the status of Circular QUEUE
5. Exit
b) Priority Queue
1. Insert an Element on to Priority QUEUE
2. Delete an Element with highest priority from Priority QUEUE
3. Demonstrate Overflow and Underflow situations on Priority QUEUE
4. Display the status of Priority QUEUE
5. Exit
Support the program with appropriate functions for each of the above operations
Support the program with appropriate functions for each of the above operations
10. Design, Develop and Implement a menu driven Program in C for the following operations
on Binary Search Tree (BST) of Integers CO3
a. Create a BST of N Integers: 13, 3, 4, 12, 14, 10, 5, 1, 8, 2, 7, 9, 11, 6, 18
b. Traverse the BST(either inorder, predorder or postorder)
c. Search the BST for a given element (KEY) and report the appropriate message
d. Exit
11. Design, Develop and Implement a menu driven Program in C for the following operations
on Binary Search Tree (BST) of Integers CO3
a. Create a BST of N Integers: 6, 9, 5, 2, 8, 15, 24, 14, 7, 8, 5, 2
b. Traverse the BST in Inorder, Preorder and Post Order using non-recursive functions
c. exit
12. Design, Develop and Implement a Program in C for the following operations on
Graph(G) of Cities. CO4
a. Create a Graph of N cities using Adjacency Matrix.
b. Print all the nodes reachable from a given starting node in a digraph using
DFS/BFS method
13. Design, Develop and Implement a C Program to the problem is to find shortest distances
between every pair of vertices in a given edge weighted directed Graph using Warshall’s
Algorithm. The Graph is represented as Adjacency Matrix, and the Matrix denotes the weight
of the edges (if it exists) else INF (1e7). CO4
Page 27 of 63
Input:
The first line of input contains an integer T denoting the no of test cases. Then T test cases
follow. The first line of each test case contains an integer V denoting the size of the
adjacency matrix. The next V lines contain V space separated values of the matrix (graph).
All input will be integer type.
Output:
For each test case output will be V*V space separated integers where the i-jth integer denote
the shortest distance of ith vertex from jth vertex. For INT_MAX integers output INF.
Constraints:
1 <= T <= 20
1 <= V <= 100
1 <= graph[][] <= 500
14. Design, Develop and Implement a C Program to Find the shortest distance from A to J on
the network below using Dijkstra’s Algorithm CO4
Page 28 of 63
Constitution of India & Intellectual Property
CSD 219 Credit:0
INSTRUCTION: 2 Periods/Week SESSIONAL MARKS: 50
Course Objectives
To impart knowledge in basic concepts of Constitution of India
To understand the fundamental principles of Intellectual Property Rights and its
importance
At the end of this course, students will be able to:
SYLLABUS
TEXTBOOKS:
1.V. Scople Vinod, Managing Intellectual Property, Prentice Hall of India pvt Ltd, 2012
2. S. V. Satakar, ―Intellectual Property Rights and Copy Rights, Ess Publications, New
Delhi,2002
3. Brij Kishore Sharma: Introduction to the Indian Constitution, 8th Edition, PHI Learning
Pvt. Ltd.
4. Granville Austin: The Indian Constitution: Cornerstone of a Nation (Classic Reissue),
Oxford University Press.
REFERENCES:
1. Deborah E. Bouchoux, ―Intellectual Property: The Law of Trademarks, Copyrights,
Patents and Trade Secrets, Cengage Learning, Third Edition, 2012.
2.PrabuddhaGanguli,Intellectual Property Rights: Unleashing the Knowledge Economy,
McGraw Hill Education, 2011.
3. Edited by Derek Bosworth and Elizabeth Webster, The Management of Intellectual
Property,Edward Elgar Publishing Ltd., 2013.
4. Subhash C. Kashyap: Our Constitution: An Introduction to India’s Constitution and
constitutional Law, NBT, 2018.
5. Madhav Khosla: The Indian Constitution, Oxford University Press.
6. PM Bakshi: The Constitution of India, Latest Edition, Universal Law Publishing
Page 30 of 63
SEM-II
Page 31 of 63
PROBABILITY , STATISTICS AND QUEUING THEORY
CSE 221 Credits : 3
Instruction : 3 Periods /Week Sessional Marks : 40
End Exam : 3 Hours End Exam Marks : 60
Prerequisites: Elementary knowledge of Set theory, Combinations, Calculus and basic statistics.
Course Objective:
The objective of this course is to provide the required mathematical support in real life
problems and develop probabilistic models which can be used in several areas of science and
engineering.
CO - 4 Analyze the statistical data and apply various small or large sample tests for testing the
hypothesis.
CO - 5 Study basic characteristic features of a queuing system and acquire skills in analyzing
queuing models.
CO – PO MAPPING
PO
CO
1 2 3 4 5 6 7 8 9 10 11 12
1 3 2 1 - - - - - - - - 1
2 3 2 1 - - - - - - - - 1
3 3 2 1 - - - - - - - - 1
4 3 2 1 - - - - - - - - 1
5 3 2 1 - - - - - - - - 1
Page 32 of 63
SYLLABUS
Page 33 of 63
Large sample Tests: Test of significance of large samples – Tests of significance difference
between sample proportion and population proportion & difference between two sample
proportions – Tests of significance difference between sample mean and population mean &
difference between two sample means.
Learning outcome: At the end of this unit, student will be able to
1. Define null hypothesis, alternative hypothesis, level of significance, test
statistic, p value, and statistical significance.
2. Perform and analyze hypotheses tests of means, proportions and test using both one-
and two-sample data sets.
TEXT BOOK :
1. T. Veerarajan, Probability, Statistics and Random Processes, Tata McGraw
Hill Publications.
REFERENCE BOOKS:
1. Kishor S. Trivedi, Probability & Statistics with Reliability, Queuing and
Computer Applications, Prentice Hall of India .
2. B. S. Grewal, Higher Engineering Mathematics, 43rd edition, Khanna
publishers, 2017.
3. Sheldon M. Ross, Probability and Statistics for Engineers and Scientists,
Academic Press.
4. S C Gupta and V.K.Kapoor, Fundamentals of Mathematical Statistics.
Page 34 of 63
BASICS OF DATA SCIENCE
Code: CSD 222 Credits : 3
Instruction :2 Periods & 1 Tut/Week Sessional Marks : 40
End Exam : 3 Hours End Exam Marks : 60
Course Objectives:
The course should enable the students:
To introduce the basics of data science.
To learn about various statistical techniques used to explore the relationships among
data sets.
To familiarize with statistical and mathematical models for advanced data analysis.
To learn about supervised and unsupervised models used to group data.
Course Outcomes:
By the end of the course, the student will be able to:
1. Exploring the benefits of business-centric data science
2. Apply the various kinds of data and fine tuning the data.
3. Able to describe the basics statistics of the data and use statistical distributions.
4. Able to apply linear and nonlinear regression models for classifying the data.
5. Comprehend the unsupervised learning models.
Page 35 of 63
SYLLABUS
UNIT-I: 10 periods
Introduction to Data Science, Benefits and uses of data science and big data, Facets of data-
structured, unstructured, natural language, machine generated, graph based, video-audio and
images, streaming, Overview of the data science process, The steps of data science process.
Learning Outcome: At the end of this Unit the student will be able to
1. Analyse fundamental advantages of data science and massive data sets.
2. Resolve the process of data science.
UNIT-II: 12periods
Attribute Types, Types of data sets, Data Preprocessing: Need for Preprocessing the Data,
Data Cleaning, Data Integration and Transformation, Data Reduction, Discretization and
Concept Hierarchy Generation. Review of basic statistical measures: measures of central
tendency, measures of variation,measure of skewness.
Learning Outcome: At the end of this Unit the student will be able to
1. Familiarize the concepts of data pre-processing (Data wrangling).
2. Manipulate statistical measures central tendency, variation and skewness.
UNIT-III: 12 periods
Exploring the relationship between probability and inferential statistics, descriptive or
inferential statistics, Types of Probability Distributions,Data Distribution: Binomial
Distribution,Poisson Distribution, Normal Distribution, Sampling Techniques, T-
Distribution, Hypothesis Testing and Confidence Intervals, Chi Square Test and Distribution,
P-Value,Bayes Theorem, Examples.
Learning Outcome: At the end of this Unit the student will be able to
1. Examination of probability, probability relatedness with statistics and distributions.
2. Evaluation of distributions, inferential methods and Bayes.
UNIT-IV: 12 periods
Regression Models: Regression, Least Squares, Regression to the mean, LinearRegression,
Multivariable Regression, Logistic Regression and Example case studies.
Classification : Basic Concepts, General Approach to solving a classification problem,
Features selection for classification, Filter models- Gini index, entropy, fisher score, Decision
Tree Induction: Working of Decision Tree, building a decision tree, methods for expressing
an attribute test conditions, measures for selecting the best split, Algorithm for decision tree
induction.
Learning Outcome: At the end of this Unit the student will be able to
1. Usage of prediction models regression and classification.
2. Construction of basic regression and classification models.
UNIT-V: 12 periods
Cluster Analysis: Basic Concepts and Algorithms : What Is Cluster Analysis? Similarity and
dissimilarity Measures, Different Types of Clustering, Different Types of Clusters, K-means,
The Basic K-means Algorithm, K-means: Additional Issues, Bisecting Kmeans, K-means and
Different Types of Clusters, Strengths and Weaknesses, K-means as an Optimization
Page 36 of 63
Problem, Agglomerative Hierarchical Clustering, Basic Agglomerative Hierarchical
Clustering Algorithm.
Learning Outcome: At the end of this Unit the student will be able to
1. Identify the measures for the descriptive analysis.
2. Interpretation and evaluation of basic clustering techniques.
Text Books
1. Wes McKinney, “Python for Data Analysis”,O’REILLY,2012.
2. Jake VanderPlas “Python Data Science Handbook: Essential Tools for Working with
Data”, ORILEY,2016.
3. Pang-Ning Tan, Michael, Steinbach, Anuj Karpatne, Vipin Kumar, “Introduction to Data
Mining” (Second Edition), Pearson, 2019.
Reference Books
1. Davy Cielen Arno D. B. Meysman Mohamed Ali. “Introducing Data Science, Big Data,
Machine Learning, And More, Using Python Tools”, Kindle Edition, Manning
Publications Co, 2016.
Page 37 of 63
OPERATING SYSTEMS
CSD 223 Credits : 3
Instruction : 3 Periods/Week Sessional Marks : 40
End Exam : 3 Hours End Exam Marks : 60
Prerequisites: Basic programming language and Computer Organization.
Course Objectives:
To understand the main components of an operating system and their functions.
To understand the basic concept of shell programming.
To familiarize with the mechanism of an operating system as process manager,
memory manager, device manager and file manager.
To understand the concept of protection related to operating system.
Course Outcomes:
At the end of the course the student will be able to
CO At the end of the course the student will be able to
1. Illustrate the structure of the operating system, functionality and services provided by
the operating system and interpret the basic concept of shell programming, process state
and state transitions.
2. Implement the CPU Scheduling algorithms (Pre-emptive and Non Pre-emptive) and
demonstrate the concept of Process synchronization.
3. Demonstrate the concept of resource allocation. Apply and analyze various memory
management mechanisms for contiguous and non-contiguous memory.
4 Demonstrate the structure and organization of the file systems and analyze the
implementation of the file systems.
Page 38 of 63
SYLLABUS
Page 39 of 63
UNIT V (10 Hours)
Secondary Storage Structure: Mass storage structures, Disk structure, Disk attachment,
Disk scheduling, Disk management, Swap space management.
Protection: Goals of protection, Principles of protection, Domain of protection, Access
matrix, Implementation of access matrix, Access control, Revocation of access rights.
Learning outcomes: At the end of this unit, students will be able to
1. Demonstrate the concept of mass storage structures and Analyze the various disk
scheduling algorithms
2. State the goal and principles of protection and implement the access matrix.
TEXT BOOKS
1. Silberschatz, Galvin and Gagne, “Operating System Principles”, 9th Edition, Wiley
India Pvt Ltd, 2015.
2. Sumitabha Das, “Unix Concepts and Applications”, 4th Edition. TMH, 2006.
3. Yashwanth Kanitkar, “Unix Shell programming”, 1st Edition, BPB Publisher, 2010.
REFERENCES
1. Andrew S. Tanenbaum, “Modern Operating Systems”, 4th Edition, Pearson Education,
2015.
2. William Stalling, “Operating Systems: Internals and Design Principles”, 9th edition,
PHI, 2018.
3. Harvey M. Deitel, “Operating Systems”, 3rd Edition, Pearson Education, 2004.
WEB REFERENCES:
1. https://nptel.ac.in/courses/106/106/106106144/
2. https://nptel.ac.in/content/storage2/courses/106108101/pdf/PPTs/Mod_13.pdf
Page 40 of 63
PYTHON PROGRAMMING
Code: CSD 224 Credits : 3
Instruction :3 Periods/Week Sessional Marks : 40
End Exam : 3 Hours End Exam Marks : 60
Course Objectives:
Describe the core syntax and semantics of Python programming language.
Illustrate the process of structuring the data using lists, dictionaries, tuples, strings
and sets.
Discover the need for working with the functions, modules and packages.
Infer the Object-oriented Programming concepts in Python.
Familiarize the advanced concepts like regular expressions, date and time. Able to
handle abnormal termination of the python scripts.
Course Outcomes:
By the end of the course, the student will be able to:
1. Interpret the fundamental Python syntax and semantics and able to solve, test and debug
python programs
2. Fluency in the use of Python control flow statements and determine the methods to
create and manipulate Python programs by utilizing the data structures like lists,
dictionaries, tuples, strings and sets.
3. Express proficiency in the handling of functions, modules, packages and handle
abnormal termination of the programs.
4. Articulate the Object-Oriented Programming concepts such as encapsulation, inheritance
and polymorphism as used in Python.
5. List the usage and application of regular expressions, date and time. Handle abnormal
termination.
Page 41 of 63
Syllabus
Unit-I (8 Hours)
Introduction to Data Science - Why Python?, Introduction to Python: History and Features of
Python, Variables, Reserved words, Data types, Operators, Input and output, Indentation,
Comments and Documentation, Lists, Set, Dictionaries, Tuple. Strings: Creating strings and
basic operations on strings, string slicing and indexing.
Learning Outcomes: At the end of this unit, Students are able to
1. Analyse fundamental advantages of python over the other programming languages
and Solve, test and debug basic problems using python scrip
2. Manipulate python programs by using the python data structures like lists,
dictionaries, tuples, strings and sets.
Page 42 of 63
Unit-V (10 Hours)
Exception Handling in Python, What is an Exception?, Syntax for Exception Handing,
Handling Single Exception, Handling Multiple Exceptions.
The regex package, Regular expression methods: findall, finditer, match, search, split, sub,
subn. Date and Time Data Types and Tools: The datetime package, Types in datetime
module, Datetime format specification, Locale-specific date formatting, Time Series Basics,
Date Ranges, Frequencies, and Shifting, Base Time Series Frequencies, Time Zone Handling.
Learning Outcome: At the end of this Unit the student will be able to
1. Problem solving with the usage of exceptions
2. Resolve the problems like pattern matching and manipulation of time and date
Text Books
1. Wes McKinney, “Python for Data Analysis”,O’REILLY,2012.
2. Reema, Thareja, “Python Programming: Using Problems Solving Approach”, Oxford
University Press, 2017
3. Gowrishankar S, Veena, “Introduction to Python Programming”,
CRC Press/Taylor & Francis, 2019.
Reference Books
1. Adnan Aziz, Luciano Ramalho, “Elements of Programming Interviews in Python: The
Insiders' Guide, Fluent Python: Clear, Concise, and Effective Programming”, Createspace
Independent Pub, 2016.
2. Vamsi Kurama, Pearson, “Python Programming : A Modern Approach”, Pearson India,
2017
3. Jake VanderPlas, “Python Data Science Handbook: Essential Tools for Working with
Data”, Kindle Edition, O’REILLY,2016.
4. Wesley J. Chun, “Core Python Programming”, Prentice Hall,2006.
Page 43 of 63
THEORY OF COMPUTATION AND COMPILERS
CSD 225 Credits: 3
Instruction:2 Periods & 1 Tut/Week Sessional Marks : 40
End Exam : 3 Hours End Exam Marks : 60
Prerequisites:
The students are expected to have a strong background in the fundamentals of discrete
mathematics (symbolic logic, set, graph, basic proof techniques, etc.), algorithms and
data structures.
Some knowledge of programming languages and computer architecture will be
helpful.
Describes how a programming language works, how input is converted into output
from the machine hardware level and various phases of compiler
Course Objectives:
To introduce the fundamental concepts of formal languages and theory of
computation
Illustration of grammars and their role in compilers and various parsing techniques
Introduce the major concept areas of language translation and compiler design.
Enrich the knowledge in various phases of compiler and its use, intermediate code
generation, optimization techniques, machine code generation, and use of symbol
table.
Focus on various storage allocation schemes
Enforces various schemes for optimizing code
Course Outcomes:
By the end of the course, the student will be able to:
1 Acquire the knowledge of understanding the fundamentals of the core concepts in automata
theory and construct DFA and NFA.
2 Describe the Context free languages and grammars, and also Normalizing CFG
3 Analyze different phases of a compiler, Language Translators, importance of Lex tool and
YACC and working with parser techniques
4 Describe the Intermediate code forms, various Storage Allocation, symbol table and run
time storage is managed.
5 Analyze different code optimization techniques, Basic blocks, Machine dependent code
generation techniques and importance of DAG.
PO PSO
CO
1 2 3 4 5 6 7 8 9 10 11 12 1 2
1 1 1 1 - 2 - - 1 2 1 - 2 1 1
2 2 2 2 2 2 2 2 1 2 1 2 2 1 1
3 2 2 2 2 2 2 2 1 2 1 2 2 1 1
4 2 2 2 1 2 1 1 1 2 1 1 2 1 1
5 2 2 2 1 2 1 1 1 2 1 1 2 1 1
Page 44 of 63
SYLLABUS
UNIT I 15 Hours
Finite Automata - Alphabets, Strings and Languages, Deterministic finite Automata (DFA)-
Formal Definition, Simplified notation: State transition graph, Transition table, Language of
DFA, Nondeterministic finite Automata (NFA), NFA with epsilon transition, Equivalence of
NFA and DFA, Minimization of Finite Automata, Moore and Mealy machine, Equivalence of
Moore and Mealy Machine, Applications and Limitation of FA.
Regular Expression (RE)- Regular expression (RE) Definition, Operators of regular
expression and their precedence, Regular expression to FA, DFA to Regular expression,
Arden Theorem, Pumping Lemma for regular Languages. Application of Pumping Lemma,
Closure properties of Regular Languages
Learning Outcome: At the end of this Unit the students will be able to
1. Design Finite Automata’s for different Regular Expressions and Languages.
2. Use the Pumping lemma for proving that languages are not regular.
UNIT II 10 Hours
Context Free Grammar (CFG) - Definition, Examples, Derivation, Derivation trees,
Ambiguity in Grammar, Ambiguous to Unambiguous CFG, Useless symbols, Simplification of
CFGs, Normal forms for CFGs: CNF and GNF, Closure proper ties of CFLs.
Learning Outcome: At the end of this Unit the students will be able to
1. To construct context free grammar for various languages.
2. Describe the language accepted by automata or generated by a regular expression or a
context-free grammar.
UNIT IV 10 Hours
Syntax directed translation: Semantic analysis, Syntax-directed translation,Various
Intermediate code generation, Type checking.
Symbol Tables: Contents of a table, data structures for symbol tables, representing scope
information.
Storage Organization: Storage Allocation strategies, Access to non-local names, Parameter
Passing, Error detection and recovery.
Learning Outcome: At the end of this Unit the students will be able to
1. Perform the operations of semantic analysis and different notations of intermediate
code forms
2. Analyze the run-time complexity of a few simple algorithms.
Page 45 of 63
UNIT V 10 Hours
Code Optimization: Issues in the design of code optimization, the principal source of
optimization, loop optimization, DAG representation of basic blocks, Loop optimization and
peephole optimization
Code Generation: Object programs, problems in code generation, machine model, simple
code generator, register allocation and assignment, code generation from DAG‟s, peephole
optimization.
Learning Outcome: At the end of this Unit the students will be able to
1. Analyze the program and minimize the code by using optimization techniques which
helps in reducing the no. of instructions in a program and also utilization of registers
in an effective way.
2. Use different compiler optimization schemes.
Text Books:
1. AlfredAho, Ravi Sethi, Jeffrey D Ullman, “Compilers Principles, Techniques and
Tools”, Pearson Education Asia, 2003.
2. J.P. Bennet, “Introduction to Compiler Techniques”, Second Edition, Tata McGraw-
Hill, 2003
Reference Books:
1. Hopcroft H.E. and Ullman J. D. “Introduction to Automata Theory Languages and
Computation”. Pearson Education
2. Mishra, Chandra Shekaran “Theory of Computer Science, Automata languages and
computation”, 2/e, PHI
3. A.V. Aho . J.D.Ullman “Principles of Compiler Design”, PEA
4. Kenneth C. Louden, “Compiler Construction: Principles and Practice”, Thompson
Learning, 2003
1. https://nptel.ac.in/courses/106/103/106103070/
2. https://nptel.ac.in/courses/106/104/106104123/
Page 46 of 63
DESIGN AND ANALYSIS OF ALGORITHMS
CSD 226 Credits : 3
Instruction : 2 Periods & 1 Tut/Week Sessional Marks : 40
End Exam : 3 Hours End Exam Marks : 60
Prerequisites:
Some programming skills and a good back ground in discrete mathematics, data structures
and probability will be very helpful.
Course Objectives:
Student will understand the basic design concepts (e.g., pseudo code,
specifications, top-down design).
Student will learn the different algorithm design strategies (procedural
knowledge).
Student can acquire the knowledge to solve the complexities of different
problems.
Student will able to choose appropriate design strategies for different
problems.
Course Outcomes:
By the end of the course, the student will be able to:
1. Demonstrate knowledge about basic design concepts
(e.g., pseudo code, specifications, top-down design).
2. Use and explain the algorithms for different design strategies.
3. Apply the algorithms and design strategies to solve problems.
4. Analyze the complexities of various problems in different domains.
5. Categorize the notions of P and NP problems, NP complete and NP-hard problems.
Page 47 of 63
SYLLABUS
UNIT-I: 12 periods
Introduction :
Introduction, Steps for algorithmic problem solving , Important Problem Types Analysis
framework (Orders of growth, Cases), Asymptotic Notations and Efficiency Classes,
Mathematical Analysis for recursive Algorithms and Non-recursive Algorithms, Empirical
Analysis, Algorithm Visualization.
Case Study: Pseudo code Conventions, Time and Space Complexities
Learning Outcomes:
1. Argue the correctness of algorithms using inductive proofs and invariants.
2. Analyze worst-case running times of algorithms using asymptotic analysis.
UNIT-II: 14 periods
Brute Force:
Brute Force- Selection and Bubble sort, Sequential Search, String Matching, Closest- Pair,
Convex Hull Problems, Exhaustive Search -Travelling Salesman problem, knapsack problem,
Assignment Problem.
Decrease and Conquer:
Decrease by a constant: Insertion Sort, Algorithms for generating combinatorial problems,
Decrease by constant factor algorithms, Variable size decrease.
Divide-and-Conquer :
Merge sort, Quick sort, Binary Search, Multiplication of large integers and Stassen’s Matrix
Multiplication, Closest- Pair, Convex Hull Problems.
Learning Outcomes:
1. Describe the divide-and-conquer paradigm and explain when an algorithmic design
situation calls for it.
2. Recite algorithms that employ this paradigm.
UNIT-III: 12 periods
Transform and conquer:
Presorting, Gauss Elimination, Balanced Trees –2-3 Trees, Heap sort, Horner’s rule and
binary exponentiation, Problem reduction.
Dynamic Programming:
Computing a Binomial Coefficient, Warshall’s and Floyd’s Algorithm, Optimal Binary
Search Trees, The Knapsack Problem and Memory Functions.
Learning Outcomes:
1. Describe the dynamic-programming paradigm and explain when an algorithmic
design situation calls for it.
2. Recite algorithms that employ this paradigm. Synthesize dynamic-programming
algorithms, and analyze them.
UNIT-IV: 12 periods
Greedy Technique:Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s Algorithm – Huffman
Trees. Space And Time Tradeoffs: Sorting by computing, Input Enhancement in String
Matching-Horspool’s Algorithm, Boyer-Moore Algorithm, Hashing, B-Trees
Learning Outcomes:
1. Describe the greedy paradigm and explain when an algorithmic design situation calls
for it.
2. Recite algorithms that employ this paradigm. Synthesize greedy algorithms, and
Page 48 of 63
analyze them.
UNIT-V: 14 periods
Limitations of Algorithm Power: Lower-Bound Arguments, Decision Trees, P, NP and NP
complete problems, Challenges of Numerical Algorithms
Coping with the limitations of Algorithms Power – Backtracking, Branch-and-Bound
Case study for Backtracking: Graph Coloring
NP Problems - Approximation Algorithms for NP-hard Problems, Algorithms for solving
Nonlinear Equations.
Learning Outcomes:
1. Explain what competitive analysis is and to which situations it applies.
2. Perform competitive analysis.
Text Books:
1. Anany Levitin,”Introduction to Design & Analysis of Algorithms“, 2003,
Pearson Education, New Delhi.
Reference Books :
1. Ellis Horowitz, S. Sahni et.al,”Fundamentals of Computer
Algorithms”,2001,Galgotia Pub.
2. Thomas H. Corman, Charles E. Leiserson, Ronald R. Rivest & Clifford Stein,
”Introduction to Algorithms” Prentice Hall of India, New Delhi
3. Aho, Hopcroft & Ullman,”The Design and Analysis of computer Algorithms”,2003
Pearson Education, New Delhi
4. Gilles Brassard & Paul Bratley,”Fundamentals of Algorithmic”, Prentice Hall of
India,
New Delhi
Web Resources:
1. http://nptel.ac.in/courses/106101060/
2. https://www.edx.org/course/subject/data-analysis-statistics
3. https://www.udacity.com/courses/data-science
4. https://www.coursera.org/specializations/algorithms
Page 49 of 63
Python Programming Lab
Code: CSD 227 Credits : 1.5
Instruction :3 Periods /Week Sessional Marks : 50
End Exam : 3 Hours End Exam Marks : 50
Course Objectives:
To train the students in solving computational problems using python programming.
To understand the fundamentals of numpy, pandas and matplotlib packages for data
analysis.
Practical way of building supervised and unsupervised models. Evaluation of
models.
Course Outcomes:
By the end of the course, the student will be able to:
1. Able to work with basic data structures, operators and conditional and control
statements
2. Develop application programs using functions (statistical), packages and modules
3. Explore numpy package and automate tasks using numpy package
4. Explore pandas, matplotlib packages. Write example programs to pre process data,
visualize the data and apply supervised and unsupervised models on real world data sets
Page 50 of 63
key = 16
Element not found
Original array:[0 1 2 3 4 5]
Mean: 2.5
std: 1
variance: 2.9166666666666665
9. Write a python program to calculate the sum of every column in a NumPy array
(CO3)
Sample Output:
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]]
Sum of every column is
[ 12 15 18 ]
10. Write a python program to calculate the sum of every row in a NumPy array (CO3)
Sample Output:
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]]
11. Write a NumPy program to compute the 80th percentile for all elements in a given
array along the second axis. (CO3)
Sample Output:
Original array:
[[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]]
80th percentile for all elements of the said array along the second axis:
[ 4. 10.]
12. Write a NumPy program to compute the median of flattened given array (CO3)
Sample Output:
Original array:
[[ 0 1 2 3 4 5]
Page 51 of 63
[ 6 7 8 9 10 11]]
13. Write a NumPy program to compute the weighted of a given array (CO3)
Sample Output:
Original array:
[0 1 2 3 4]
14. Write a NumPy program to compute the covariance matrix of two given arrays (CO3)
Sample Output:
Original array1:
[3 6 8]
Original array2:
[2 4 7]
15. Write a NumPy program to compute cross-correlation of two given arrays (CO3)
Sample Output:
Original array1:
[4 7 9]
Original array2:
[2 6 8]
16. Write a Python NumPy program to compute the weighted average along the specified
axis of a given flattened array (CO3)
Sample Output:
Page 52 of 63
17. Write a NumPy program to compute the histogram of nums against the bins (CO4)
Sample Output:
18. Write a Pandas program to add, subtract, multiple and divide two Pandas
Series. Sample Series: [2, 4, 6, 8, 10], [1, 3, 5, 7, 9] (CO4)
Sample Output:
Page 53 of 63
3 1.142857
4 1.111111
dtype: float64
19. Write a Pandas program to join the two given dataframes along row and assign all
data. (CO4)
Sample Output:
Original DataFrames:
student_idname marks
0 S1 Danniella Fenton 200
1 S2 Ryder Storey 210
2 S3 Bryce Jensen 190
3 S4 Ed Bernal 222
4 S5 Kwame Morin 199
-------------------------------------
student_idname marks
0 S4 Scarlette Fisher 201
1 S5 Carla Williamson 200
2 S6 Dante Morse 198
3 S7 Kaiser William 219
4 S8 Madeeha Preston 201
20. Write a Pandas program to append rows to an existing DataFrame and display the
combined data. (CO4)
Sample Output:
Original DataFrames:
student_idname marks
0 S1 Danniella Fenton 200
1 S2 Ryder Storey 210
2 S3 Bryce Jensen 190
Page 54 of 63
3 S4 Ed Bernal 222
4 S5 Kwame Morin 199
New Row(s)
student_id S6
name Scarlette Fisher
marks 205
dtype: object
Combined Data:
student_idname marks
0 S1 Danniella Fenton 200
1 S2 Ryder Storey 210
2 S3 Bryce Jensen 190
3 S4 Ed Bernal 222
4 S5 Kwame Morin 199
5 S6 Scarlette Fisher 205
21. Write a Pandas program to identify the column(s) of a given DataFrame which have at
least one missing value. (CO4)
Sample Output:
22. Write a Pandas program to count the number of missing values in each column of a
given DataFrame (CO4)
Page 55 of 63
Sample Output:
23. Write a Pandas program to calculate the total number of missing values in a
DataFrame. (CO4)
Sample Output:
24. Write a Pandas program to find and replace the missing values in a given DataFrame
which do not have any valuable information (CO4)
Page 56 of 63
Sample Output:
25. Write a Pandas program to replace the missing values with the most frequent values
present in each column of a given DataFrame. (CO4)
Sample Output:
ord_nopurch_amtsale_amtord_datecustomer_idsalesman_id
0 70001.0 150.50 10.50 2012-10-05 3002 5002.0
1 NaNNaN20.65 2012-09-10 3001 5003.0
2 70002.0 65.26 NaNNaN 3001 5001.0
3 70004.0 110.50 11.50 2012-08-17 3003 NaN
4 NaN 948.50 98.50 2012-09-10 3002 5002.0
5 70005.0 NaNNaN 2012-07-27 3001 5001.0
6 NaN 5760.00 57.00 2012-09-10 3001 5001.0
7 70010.0 1983.43 19.43 2012-10-10 3004 NaN
8 70003.0 NaNNaN 2012-10-10 3003 5003.0
9 70012.0 250.45 25.45 2012-06-27 3002 5002.0
10 NaN 75.29 75.29 2012-08-17 3001 5003.0
11 70013.0 3045.60 35.60 2012-04-25 3001 NaN
Page 57 of 63
ord_nopurch_amtsale_amtord_datecustomer_idsalesman_id
0 70001.0 150.50 10.50 2012-10-05 3002 5002.0
1 70001.0 NaN20.65 2012-09-10 3001 5003.0
2 70002.0 65.26 10.50 2012-10-10 3001 5001.0
3 70004.0110.5011.502012-08-17 3003 5001.0
4 70001.0 948.50 98.50 2012-09-10 3002 5002.0
5 70005.0 65.26 10.50 2012-07-27 3001 5001.0
6 70001.0 5760.00 57.00 2012-09-10 3001 5001.0
7 70010.01983.4319.43 2012-10-10 3004 5001.0
8 70003.0 65.26 10.50 2012-10-10 3003 5003.0
970012.0 250.45 25.45 2012-06-27 3002 5002.0
10 70001.075.29 75.29 2012-08-17 3001 5003.0
11 70013.0 3045.60 35.60 2012-04-25 3001 5001.0
26. Write a program to demonstrate Regression analysis with residual plots on a given data
set. (CO4)
27. Write a program to demonstrate the working of the decision tree-based ID3 algorithm.
Use anappropriate data set for building the decision tree and apply this knowledge to
classify a new sample. (CO4)
28. Write a program to implement the Naïve Bayesian classifier for a sample training data
set stored as a .CSV file. Compute the accuracy of the classifier, considering few test
data sets. (CO4)
29. Write a program to implement k-Nearest Neighbor algorithm to classify the iris data set.
Print both correct and wrong predictions using Java/Python ML library classes. (CO4)
30. Write a program to implement k-Means clustering algorithm to cluster the set of data
stored in .CSV file. Compare the results of various “k” values for the quality of
clustering. (CO4)
Text Books:
1. Allen B. Downe, Think Python, Second Edition, Green Tea Press, Needham,
Massachus etts, 2014.
Reference Books:
1. Mark Lutz, Python Pocket Reference, Fifth edition, O'Reilly Media, Inc, 2014.
Page 58 of 63
COMPUTER ORGANIZATION AND MICROPROCESSOR INTERFACING LAB
CSM 228 Credits : 1.5
Instruction : 3 Periods/Week Sessional Marks : 50
End Exam : 3 Hours End Exam Marks : 50
Prerequisites:
Basic knowledge of Digital logic design
Course Objectives:
Able to design the simple logic circuits and test/verify the functionality of the logic
circuits.
Developing of assembly language programs and providing the basics of the
processors.
To provide solid foundation on interfacing the external devices to the processor
according to the user requirements to create novel products and solutions for the real
time problems
To assist the students with sufficient knowledge on the interrupts and working with
interrupt driven I/O for communication with external devices.
Course Outcomes:
By the end of the course, the student will be able to:
1 Identify the basic principles and apply to arithmetic for ALU implementation.
Possessed a better command over the instruction of set of 8085 and 8086 microprocessor for
2
programmatically deployment.
Demonstrate the interfacing of 8085 microprocessor with external I/O devices through 8255
3
PPI.
Students will possess the knowledge to design and develop a working prototype with various
4
simulators and emulators that they have used throughout the lab sessions.
Mapping of Course Outcomes with Program Outcomes:
PO PSO
Mapping
1 2 3 4 5 6 7 8 9 10 11 12 1 2
1 3 1 3 - - - - - 2 1 - - -
2 2 1 2 - - - - - 2 1 - 1 -
CO
3 1 1 2 - - - - - 2 1 - 1 -
4 2 1 2 - - - - - 2 1 - 1 -
Page 59 of 63
S.NO LIST OF EXPERIMENTS No. of CO’s
Weeks
1 COMPUTER ORGANIZATION 4 1
Verification of truth table of various logic gates.
Study of Arithmetic Logic Unit (ALU)
TEXT BOOKS:
REFERENCE BOOKS:
1. BARRY B. BREY, ―The Intel Microprocessors 8086/8088,
80186/80188,80286,80386 and 80486, Pentium, Pentium Pro Processor, Pentium II,
Pentium III, Pentium 4, Architecture, Programming and Interfacing‖, Pearson
Education Inc., 2003,6thEdition.
2. Walter A. Tribel and Avtar Singh,‖ The 8088 and 8086 Microprocessors,
Programming, interfacing, Software, Hardware, and Applications‖, Pearson
Education Inc., 2003, 4thEdition.
3. Douglass V. Hall, ―Microprocessors and Interfacing, Programming and Hardware‖ ,
TMH Edition, 1999, 2ndEdition
Page 60 of 63
OPERATING SYSTEM LAB
CSD 228 Credits : 1.5
Instruction : 3 Periods / week Sessional Marks : 50
End Exam : 3 Hours End Exam Marks : 50
i) Write a menu driven script using the select statement to print calories for food items
such as pizza, burger, Salad, Pasta etc.
ii) Write a shell script that, given a filename as the argument will count vowels, blank
spaces, characters, number of line and symbols.
3. i) Analyze the below situation and develop a program for creating processes
as required. Print the PID’s of each process in a convenient way to understand.
(CO2)
Page 61 of 63
ii) Write a program to create two processes P1 and P2. P1 takes a string and passes it to P2.
P2 concatenates the received string with another string without using string function and
sends it back to P1 for printing. (CO2)
Page 62 of 63
5. Develop a program to provide synchronization among the 5 philosophers in Dining
Philosophers problem using semaphore. (CO3)
8. Consider the following scenario: A process has been allocated 3 page frames. Assume that
none of the pages of the process are available in the memory initially. The process makes the
following sequence of page references (reference string): 1, 2, 1, 3, 7, 4, 5, 6, 3, 1, 2, 4, 6, 3,
1. Find a page replacement policy which gives the least number of page faults. (CO4)
10. Implement the first fit and best fit algorithm in memory management. (CO4)
REFERENCES:
1. Sumitabha Das, “Unix Concepts and Applications”, 4th Edition. TMH, 2006.
2. Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, “Operating System Concepts”,
9th Edition, John Wiley & Sons, 2015.
3. William Stalling, “Operating Systems: Internals and Design Principles”, 9th edition,
PHI, 2018.
WEB REFERENCES:
1. https://nptel.ac.in/content/storage2/courses/106108101/pdf/PPTs/Mod_13.pdf
2. 2.https://nptel.ac.in/courses/117106113/
Page 63 of 63