Msrit 3 Year
Msrit 3 Year
Msrit 3 Year
DEPARTMENT OF INFORMATION
SCIENCE AND ENGINERRING
V & VI Semester B. E.
2
About the Department:
Information Science and Engineering department is established in the year 1992 with
an objective of producing high-quality professionals to meet the demands of the
emerging field of Information Science and Engineering. Department also started
M.Tech program in Software Engineering in the year 2004 and has been recognized as
R&D center by VTU in 2012. The department is accredited by the NBA in 2001, 2004,
2010, 2015 and reaccredited in 2018 under Tier-1 till 2021. Department has highly
qualified and motivated faculty members and well equipped state of the art
laboratories. All faculty members are involved in research and technical papers
publications in reputed journals, conferences across the world. Strong collaboration
with industries and high profile institutions is in place for curriculum updates, more
hands on training, practical’s, project based learning, EPICS, expert lectures, partial
course deliveries by industry experts and student interns to enhance the skills in
emerging areas to keep an inclusive and diverse academic environment. Department is
successfully conducting seminars, conferences and workshops for students and
academicians in the emerging areas of Information Technology. Introduced EPICS in
senior projects. Some of the laboratories have also been set up in collaboration with
industries such as Intel, Microsoft, Apple, SECO, Honeywell, EMC 2, NVIDIA, IBM,
Green Sense Werks, Tech Machinery Labs, Sesovera Tech Pvt. Ltd., and Ramaiah
Medical College (Emergency department). Also, an echo system is built to initiate
start-ups at the department level along with the mentorship. All the above potential
activities have led to high profile placements, motivation to become an entrepreneur,
and encouragement for higher learning.
3
VISION OF THE INSTITUTE
QUALITY POLICY
4
PROGRAM EDUCATIONAL OBJECTIVES (PEOs)
5
PO6: The engineer and society: Apply reasoning informed by the contextual
knowledge to assess societal, health, safety, legal and cultural issues and the
consequent responsibilities relevant to the professional engineering practice.
PO7: Environment and sustainability: Understand the impact of the
professional engineering solutions in societal and environmental contexts, and
demonstrate the knowledge of, and need for sustainable development.
PO8: Ethics: Apply ethical principles and commit to professional ethics and
responsibilities and norms of the engineering practice.
PO9: Individual and team work: Function effectively as an individual, and as
a member or leader in diverse teams, and in multidisciplinary settings.
PO10: Communication: Communicate effectively on complex engineering
activities with the engineering community and with society at large, such as,
being able to comprehend and write effective reports and design documentation,
make effective presentations, and give and receive clear instructions.
PO11: Project management and finance: Demonstrate knowledge and
understanding of the engineering and management principles and apply these
to one’s own work, as a member and leader in a team, to manage projects and
in multidisciplinary environments.
PO12: Life-long learning: Recognize the need for, and have the preparation
and ability to engage in independent and life-long learning in the broadest
context of technological change.
PSO1: Problem Solving Skills, ability to understand and analyze the Information
Technology problems and develop computer programs.
PSO2: Applied Engineering Skills, ability to apply standard practices and
strategies in Software Development.
PSO3: Communication and Higher Learning, ability to exchange knowledge and
Continue learning advances in the field of Information Technology.
6
Semester wise Credit Breakdown for B E Degree Curriculum
Batch 2018-22
Total
Semester First Second Third Fourth Fifth Sixth Seventh Eighth
Credits
Course Category
7
SCHEME OF TEACHING
V SEMESTER
Sl. Course Credits Contact
Course Name Category
No. Code L T P Total Hours
1. IS51 Computer Networks PC-C 4 0 0 4 4
2. IS52 Database Management Systems PC-C 3 1 0 4 5
3. IS53 Software Engineering PC-C 3 0 0 3 3
4. IS54 Intellectual Property Rights HSS 3 0 0 3 3
5. ISE55X Professional elective – 1 PE 3 0 0 3 3
6. ISOE0X Open elective – 1 OE 3 0 0 3 3
7. ISL56 Computer Networks Lab PC-C 0 0 1 1 2
8. ISL57 Database Management Systems Lab PC-C 0 0 1 1 2
9. ISL58 Scripting Languages Lab PC-C 0 0 2 2 4
Total 19 1 4 24 29
L – Lecture (one hour) T - Tutorial (Two hours) P - Practical (Two hours)
Professional Electives:
1 ISE551 Digital Image Processing
ISE552 Natural Language Processing
ISE553 Internet of Things
ISE554 Develop in Swift Fundamentals
Note:
AICTE Activity Points to be earned by students admitted to BE program (For more details refer to Chapter 6,
AICTE, Activity Point Program, and Model Internship Guidelines):
Every regular student, who is admitted to the 4 year degree program, is required to earn 100 activity points in addition to the total credits earned
for the program. Students entering 4 years Degree Program through lateral entry are required to earn 75 activity points in addition to the total
credits earned for the program. The activity points earned by the student shall be reflected on the students 8th Semester grade card. The activities
to earn the points can be spread over the duration of the course. However, minimum prescribed duration should be fulfilled. Activity Points (non-
credit) have no effect on SGPA/CGPA and shall not be considered for vertical progression.
Incase student fail to earn the prescribed activity points, Eighth semester Grade Card shall be issued only after earning the required activity Points.
Students shall be eligible for the award of degree only after the release of the Eight Semester grade card.
8
SCHEME OF TEACHING
VI SEMESTER
Sl. Course Credits
Course Name Category Contact Hours
No. Code L T P Total
1. IS61 Machine Learning PC-C 3 1 0 4 5
Object Oriented Analysis and Design
2. PC-C 3 0 0 3 3
IS62 Patterns
3. ISE63X Professional elective - 2 PE 3 0 0 3 3
4. ISE64X Professional elective - 3 PE 3 0 0 3 3
5. ISOE0X Open elective - 2 OE 3 0 0 3 3
6. IS65 Mini Project/NPTEL PC-C 0 0 4 4 -
7. ISL66 Machine Learning Lab PC-C 0 0 1 1 2
Object Oriented Analysis and Design
8. PC-C 0 0 1 1 2
ISL67 Patterns Lab
9. ISL68 Java and J2EE Lab PC-C 0 1 1 2 4
Total 15 2 7 24 25
L – Lecture (one hour) T - Tutorial (Two hours) P - Practical (Two hours)
Professional Electives:
2 ISE631 Develop in Swift Data Collections 3 ISE641 Cloud Computing
ISE632 System Software ISE642 Mobile Computing
ISE633 System Simulation and Modelling ISE643 Software Testing
Note:
AICTE Activity Points to be earned by students admitted to BE program (For more details refer to Chapter 6,
AICTE, Activity Point Program, and Model Internship Guidelines):
Every regular student, who is admitted to the 4 year degree program, is required to earn 100 activity points in addition to the total credits earned
for the program. Students entering 4 years Degree Program through lateral entry are required to earn 75 activity points in addition to the total
credits earned for the program. The activity points earned by the student shall be reflected on the students 8th Semester grade card. The activities
to earn the points can be spread over the duration of the course. However, minimum prescribed duration should be fulfilled. Activity Points (non-
credit) have no effect on SGPA/CGPA and shall not be considered for vertical progression.
Incase student fail to earn the prescribed activity points, eighth semester Grade Card shall be issued only after earning the required activity Points.
Students shall be eligible for the award of degree only after the release of the Eight Semester grade card.
9
V Semester
COMPUTER NETWORKS
Course Code: IS51 Credit: 4:0:0
Prerequisite: Data Communications Contact Hours: 56L
Course Coordinator: Dr. Siddesh G M
Course Content:
UNIT-I
Network layer: Logical addressing - IPV4 addresses, Address space, notations, classful and
classless addressing with problem solving, NAT, IPV6 addresses; IPV6 addresses; Network
layer: Internet protocol - IPV4 datagram, fragmentation, checksum and options; IPV6 packet
format, advantages and extension headers; Transition from IPV4 to IPV6.
UNIT-II
Address mapping, Error reporting, & Multicasting - Address mapping, ARP, RARP, BOOTP
and DHCP; ICMP, IGMP, Network layer: Delivery, Forwarding, & Routing – Direct Vs
Indirect delivery, Forwarding Techniques, Forwarding Process, Routing Table,; Unicast routing
protocols with problem solving – Optimization, Intra and Inter domain routing, distance vector
routing, link state rout routing, path vector routing. Multicast routing protocols – Introduction,
applications, unicast routing vs multicast routing, source based tree routing, group shared tree
routing, multicast distance vector.
UNIT-III
Transport Layer - Process-to-Process delivery, User Datagram Protocol, Transmission Control
Protocol, SCTP-services, features. Congestion control & QOS - Data traffic, Congestion,
Congestion control, Two examples – congestion control in TCP and Frame Relay, Quality of
Service, Techniques to improve QOS, Case study: QoS requirements in portable devices.
UNIT-IV
Application Layer: Domain Name System - Namespace, Domain name space, Distribution of
Name space, DNS in internet, Resolution; Remote logging – TELNET; Electronic mail –
Architecture, User Agent, Message Transfer Agent: SMTP; File transfer - File transfer protocol
(FTP); Network Management: SNMP - Network management system; Simple Network
Management Protocol – concept, management components.
UNIT-V
Cryptography (with problem solving) - Introduction, Symmetric Key cryptography -
Traditional ciphers, simple modern ciphers and modern round ciphers, Asymmetric Key
cryptography – RSA and Diffie Hellman, Network Security - Security Services, Message
confidentiality, Message integrity, Message Authentication, Digital Signature, Entity
Authentication
Text Book:
1. Behrouz A. Forouzan, Data Communications and Networking, Fourth Edition, Tata
McGraw-Hill, 2006.
References:
1. Alberto Leon-Garcia and Indra Widjaja, Communication Networks –Fundamental
Concepts and Key architectures, Second Edition, Tata McGraw-Hill, 2004.
10
2. Wayne Tomasi, Introduction to Data Communications and Networking, Pearson
Education, 2005.
11
DATABASE MANAGEMENT SYSTEMS
Course Code: IS52 Credit: 3:1:0
Prerequisite: Nil Contact Hours: 42L + 14T
Course Coordinator: Mrs. Lincy Mathews
Course Content:
Unit-I
Introduction: Characteristics of Database approach; Advantages of using DBMS approach, Data
models, Schemas and Instances. Three-schema architecture and data independence; Database
languages and interfaces; Classification of Database Management systems; Using High-Level
Conceptual Data Models for Database Design.An Example Database Application: University
Database, Railway Management Database, Airways Database.
Unit-II
Entity Types, Entity Sets, Attributes and Keys; Relationship types, Relationship Sets, Roles and
Structural Constraints; Weak Entity Types; Refining the ER Design; ER Diagrams, Relational Model
Concepts; Relational Model Constraints and Relational Database Schemas; Update Operations,
Transactions and dealing with constraint violations, Relational Database Design Using ER- to-
Relational Mapping.
Unit-III
Unary Relational Operations: SELECT and PROJECT; Relational Algebra Operations from Set
Theory; Binary Relational Operations: JOIN and DIVISION. Additional Relational Operations,
Informal Design Guidelines for Relation Schemas; Functional Dependencies. Normal Forms Based
on Primary Keys-1NF, 2NF, 3NF, BCNF.
Unit-IV
SQL Data Definition and Data Types; Specifying basic constraints in SQL; Schema change
statements in SQL; Basic queries in SQL; More complex SQL Queries. Insert, Delete and Update
statements in SQL; Views (Virtual Tables) in SQL.
PL/SQL: Data types in PL/SQL, Control statements (IF, LOOP, WHILE, FOR), Cursor, Passing
Parameter to Cursor, Implicit Cursor, Exceptions, Procedures and functions.
Introduction to MongoDB: Overview, Advantages, Database Modeling, Basic Database Querying
Commands
Unit–V
Introduction to Transaction Processing, Transaction and System Concepts, Desirable properties of
Transactions, Transaction Support in SQL. Two-phase Locking Techniques for Concurrency Control,
Recovery techniques based on Deferred Update, Recovery techniques based on Immediate Update,
The ARIES recovery algorithm.
Tutorial Exercises:
1. State the aim and description for any database application.
2. Description of entities, attributes and constraints for the chosen database application.
3. Construct the Entity Relationship diagram for the chosen database application. Document all
assumptions that are made about the mapping constraints.
4. Use the ER-to-Relational mapping algorithm to map the ER-diagram into a relational database
design for the chosen database application.
5. Continued…
12
6. Problems on Relational Algebra: Projection, Selection, Set Theory, JOIN and DIVISION,
Additional Relational Operations.
7. Normalize the constructed Relational Schema: 1NF, 2NF, 3NF and BCNF
8. Simple Queries on SQL: Select, From, Order By, Group By and Having
9. Complex queries on SQL: Sub Queries, Joins, Exists, Not Exist and Views.
10. Problems using basic constructs of PLSQL: if, if else, while, for.
11. Problems using basic constructs of PLSQL: Procedures, Cursors, Triggers.
12. Simple Queries on MongoDB: Create database, Drop database, create collection, and Drop
collection Alter.
13. Simple Queries on MongoDB: Insert Update, Querying Database, and Projection.
14. Simple Queries on MongoDB: Sorting Database, Aggregation.
Text Books:
1. Ramez Elmasri and Shamkant B.Navathe: Fundamentals of Database Systems, 5th Edition,
Addison-Wesley, 2007.
2. Benjamin Rosenzweig, Elena Silvestrova Rakhimov : Oracle PL/SQL by Example, 4th Edition,
2010.
References:
1. Silberschatz, Korth and Sudharshan: “Data base System Concepts, Fifth Edition, Mc-GrawHill,
2006”.
2. Raghu Ramakrishnan, Johannes Gehrke, “Database Management Systems, Third Edition”,
McGraw-Hill, 2003.
3. Kyle Banker Peter Bakkum Shaun Verch Douglas Garrett Tim Hawkins “MongoDB Action 2 nd
Edition”
13
SOFTWARE ENGINEERING
Course Code: IS53 Credit: 3:0:0
Prerequisite: Nil Contact Hours: 42L
Course Coordinator: Mrs. Savita K Shetty
Course Content:
UNIT-I
Get Started with Values: Play with Values – Playground Basics, Naming and Identifiers, Simulation,
Strings, Word Games; Build a Photo Frame App; Design for People; Episode 1: The TV Club –
Searching for Content, Sharing Personal Information, Ordering Online
UNIT-II
Get Started with Algorithms: Play with Programs – Functions, Types, Parameters and Results,
Making Decisions, Boogiebot, Data Visualization, Build a QuestionBot App, Design an Experience;
Build a QuestionBot App; design an Experience; Episode 2: The Viewing Party – Accessing the Show,
Streaming on the Network
UNIT-III
Get Started with Organizing Data: Play with Complex Data – Instances, Methods and Properties,
Arrays and Loops, Structures, Enums and Switch, Testing Code, Processing Data, Pixel Art, Password
Security, Visualization Revisited; Build a BouncyBall App; Design a Prototype; Episode 3: Sharing
Photos – Capturing Images, Posting on Social Media
UNIT-IV
Software testing: Development testing, Test-driven development, Release testing, User testing.
Software evolution: Evolution processes, Program evolution dynamics, Software maintenance,
Legacy system management
Get Started with App development: Play with App Components – Color Picker, ChatBot, Rock
Paper Scissors, MemeMaker; Build an ElementQuiz App; Design for Imapct
14
UNIT-V
Text Books:
References:
15
INTELLECTUAL PROPERTY RIGHTS
Course Code: IS54 Credit: 3:0:0
Prerequisite: Nil Contact Hours: 42L
Course Coordinator: Mrs. Evangeline D
Course Content:
UNIT-I
Introduction: Meaning, Relevance, Business Impact, Protection of Intellectual Property,
Copyrights, Trademarks, Patents, Designs, Utility Models, Trade Secrets and Geographical
Indications Bio-diversity and IPR Competing Rationales for Protection of Intellectual Property
Rights, Introduction to the leading International Instruments concerning Intellectual Property
Rights: the Berne Convention, Universal Copyright Convention, The Paris Convention, Patent Co-
operation Treaty, TRIPS, The World Intellectual Property Organization(WIPO).
UNIT-II
Patents: Concept of Patent, Product / Process Patents & Terminology, Duration of patents Law and
Policy Consideration Elements of Patentability - Novelty and Non Obviousness (Inventive Steps
and Industrial Application, Non- Patentable Subject Matter Procedure for Filing of Patent
Application and types of Applications, Procedure for Opposition, Revocation of Patents, Ownership
and Maintenance of Patents, Assignment and licensing of Patents, Working of Patents- Compulsory
Licensing, Patent Database and Information Systems, Preparation of Patent documents, Process for
Examination of Patent Application, Patent Infringement. Case Study.
UNIT-III
Trademarks - The rationale of protection of trademark for commercial and of consumer rights ,
Definition and concept of Trademarks , Different kinds of marks (brand names, logos, signatures,
symbols, well known marks, certification marks and service marks), Non Registrable Trademarks
Procedure for Registration of Trademarks, Opposition Procedure, Assignment/Transmission /
Licensing of Trademarks, Infringement of Trademarks. Case Study.
UNIT-IV
Copyright- Nature of Copyright, Works in which Copyrights subsist, Author & Ownership of
Copyright Rights Conferred by Copyright Assignment, Transmission, Licensing of Copyrights
Infringement of Copyrights Remedies & Actions for Infringement of Copyrights Copyright
Societies, Office, Board, Registration of Copyrights & Appeals International Conventions
Copyright pertaining to Software/Internet and other Digital Media Remedies. Case Study.
16
UNIT-V
IPR in the Field of Information Technology. Recent Developments in Patent System, Subject
matter of software design law definition, subject matter Law relating to embedded software design
and registration in India, Infringement of software design rights. Technological and Legal
Developments in Intellectual Property, IP in Cyberspace.
Text Books:
1. Dr. B. L. Wadhera, Law Relating to Intellectual Property, Universal law Publishing Co. Ltd.
2009.
2. Aswani Kumar Bansal, Law of Trademarks in India.
References:
1. Intellectual Property Rights, Handbook/Notes.
2. Course materials for one year P.G. Diploma in IPR from NLSIU, Bangalore by Mr. T.
Ramakrishna.
3. Case studies from internet sources.
17
COMPUTER NETWORKS LABORATORY
Course Code: ISL56 Credit: 0:0:1
Prerequisite: Data Communications Contact Hours: 14P
Course Coordinator: Mr. Sandeep B L
Course Content:
3. Given a graph, each node A knows the shortest path to node Z and node A can determine
its shortest path to Z by calculating the minimum cost. Now when packet flows through a
path it incurs some cost to the network, find shortest paths from source to all nodes in the
given graph using Bellman Ford Algorithm. The graph may contain negative weight
edges.
4. Given a graph find shortest paths from source to all nodes in the graph using Dijkstra’s
shortest path algorithm.
5. Write a program for implementing the error detection technique for data transfer in
unreliable network code using CRC (16-bits) Technique.
6. Write a program to implement internet checksum for error correction and detection.
8. Packets from different flows arrive at a switch or router for processing. A good scheduling
technique treats the different flows in a fair and appropriate manner. Implement priority
queuing as a technique to improve Quality of Service.
12. Write a program for simple RSA algorithm to encrypt and decrypt the data.
18
Text Book:
1. Behrouz A. Forouzan, Data Communications and Networking, Fourth Edition, Tata
McGraw-Hill, 2006.
2. William Stallings, Cryptography and Network security, Principles and Practices, Third
Edition, PHI, 2005
Reference books:
1. Alberto Leon-Garcia and Indra Widjaja, Communication Networks –Fundamental
Concepts and Key architectures, Second Edition, Tata McGraw-Hill, 2004.
2. William Stallings, Data and Computer Communication, Eight Edition, Pearson Education,
2007.
3. Larry L. Peterson and Bruce S. David, Computer Networks – A Systems Approach, Fourth
Edition, Elsevier, 2007
19
DATABASE MANAGEMENT SYSTEMS LABORATORY
Course Code: ISL57 Credit: 0:0:1
Prerequisite: Nil Contact Hours: 14P
Course Coordinator: Mrs. Sunitha R S
Exercise-I
Consider an Employee with a social security number (SSN) working on multiple projects with
definite hours for each. Each Employee belongs to a Department. Each project is associated
with some domain areas such as Database, Cloud and so on. Each Employee will be assigned
to some project. Assume the attributes for Employee and Project relations.
f) Write a program that gives all employees in Department #number a 15% pay
increase. Display a message displaying how many employees were awarded the
increase.
Exercise-II
Consider the relations: PART, SUPPLIER and SUPPLY. The Supplier relation holds
information about suppliers. The SID attribute identifies the supplier, while the other attributes
each hold one piece of information about the supplier. The Part relation holds information about
parts. Likewise, the PID attribute identifies the part, while the other attributes hold information
about the part. The Shipment relation holds information about shipments. The SID and PID
attributes identify the supplier of the shipment and the part shipped, respectively. The remaining
attribute indicates how many parts where shipped.
20
d) Create the above tables, insert suitable tuples and perform the following operations
in Oracle SQL:
1. Obtain the part identifiers of parts supplied by supplier #supplier_name.
2. Obtain the Names of suppliers who supply #part_name.
3. Delete the parts which are in #colour.
e) Create the table, insert suitable tuples and perform the following operations using
MongoDB
1. Update the parts identifier
2. Display all suppliers who supply the part with part identifier: #Part_No.
g) Write a PL/SQL program to display the contents of the above tables and then update
the quantity of parts shipped by 5%.
Exercise-III
Consider the relations BOAT, SAILOR and RESERVES. The relation BOAT identifies the
features of a boat such as unique identifier, color and a name. The list of sailors with attributes
such as SailorID, name, age etc., are stored in the relation Sailor. The sailors are allowed to
reserve any number of boats on any day of the week.
Exercise-IV
Consider the Shipment – Warehouse case study. Different parts like nut, bolts etc., are being
shipped to different warehouses. The quantity and date of shipment are recorded for each part
stored within the warehouse. The address of the warehouse also stored for shipment purposes.
1. Obtain the Names of warehouses which have shipped red colored parts.
2. Retrieve the PNO of the parts shipped by all the warehouses.
21
3. Find the number of parts supplied by each warehouse.
4. List the warehouse details which ships maximum quantity of parts.
e) Create the table, insert suitable tuples and perform the following operations using
MongoDB
1. Find the parts shipped from warehouse :Wname”
2. List the total quantity supplied from each warehouse
f) Using cursors demonstrate the process of copying the contents of one table to a new
table.
Exercise-V
Consider the Book Lending system from the library. The students are allowed borrow any
number of books on a given date from the library. The details of the book should include ISBN,
Title of the Book, author and publisher. All students need not compulsorily borrow books.
1. Obtain the name of the student who has borrowed the book bearing ISBN ‘123’
2. Obtain the Names of students who have borrowed database books.
3. Find the number of books borrowed by each student.
e) Create the table, insert suitable tuples and perform the following operations using
MongoDB
1. Obtain the name of the student who has borrowed the book bearing ISBN ‘123’.
2. Obtain the Names of students who have borrowed database books.
f) Write a PL/SQL procedure to print the first 8 Fibonacci numbers and a program to
call the same.
Text Book:
1. 1Benjamin Rosenzweig, Elena Silvestrova Rakhimov: Oracle PL/SQL by Example, 4th
Edition, 2010.
22
SCRIPTING LANGUAGES LABORATORY
Course Code: ISL58 Credit: 0:0:2
Prerequisite: Object Oriented Programming using Java Laboratory
Contact Hours: 28P
Course Coordinator: Mrs. Evangeline D
PART A
● Python Introduction - Simple Problems in Python based on:
1) Selection Constructs 2) Looping Constructs
● Using Python - Simple Problems in Python based on:
1) Lists 2) Tuples 3) Dictionary
● Combining Python Basics and its Data Structures - Problems in Python based on:
Selection, Looping with Lists, Tuples, Dictionaries
● Using Python - Problems in Python based on:
1) Functions 2) Class
● Python for Data Science - Data Manipulation on IRIS Data Set
● Python for Data Science -Data Visualization based on IRIS Data Set
● HTML Basics Introduction - Creating Static Pages with different HTML Components
● HTML Basics Introduction - Creating Static Pages with hyperlinks and images
● Javascript Introduction - Basics of client side scripting
● Using Javascript - HTML along with Javascript on client side
● Combining HTML & Javascript - Programs with Client side event handling scenarios
● Using Javascript - Loading JSON data dynamically on the client side.
PART B
1. Introduction to Python: Write Python programs to do the following:
a) Read a list of elements. Create a new list having all the elements minus the duplicates
(Use functions). Use one-line comprehensions of create a new list of even numbers.
Create another list reversing the elements.
b) Write a python program to count the frequency of words in a given file.
c) Read a list of numbers. Uses a recursive function to find the maximum of ‘n’ numbers.
2. Introduction to Python Functions: Write a temperature converter python program, which
is menu driven. Each such conversion logic should be defined in separate functions. The
program should call the respective function based on the user’s requirement. The program
should run as long as the user wishes so. Provide an option to view the conversions stored
as list of tuples with attributes - from unit value, to unit value sorted by the user’s choice
(from-value or to-value).
3. Python Classes: Write a python class to reverse a sentence (initialized via constructor)
word by word. Example: “I am here” should be reversed as “here am I”. Create instances
of this class for each of the three strings input by the user and display the reversed string
for each, in descending order of number of vowels in the string.
23
4. Python for Data Science: Load Titanic Dataset into one of the data structures (NumPy or
Pandas). Perform data pre-processing on this dataset. Create dataframes, perform
computations and visualize the results appropriately.
5. Python File Handling & List Comprehension: Write a python program to read contents
of a file (filename as argument) and store number of occurrences of each word in a
dictionary. Display the top 10 words with most number of occurrences in descending order.
Store the length of each of these words in a list and display the list. Write a one-line reduce
function to get the average length and one-line list comprehension to display squares of all
odd numbers and display both.
6. Python for Data Science: Download the Weather Dataset from any online repository.
a) Change the Column Attributes in Data-frame to read as specified. E.g.
Old Attribute New Attribute Old Attribute New
Attribute
Mean Sea Level mean_pressure Max max_visibilty
PressureIn VisibilityMiles
b) Use the inbuilt functions to evaluate and analyze the weather data set.
c) Perform suitable data visualizations.
7. JavaScript – Client Side Validation: Design any two case studies that creates and
validates a HTML form at the client side using Javascript. Case Study examples could be
Grade Calculation from student marks entered, Bakery Menu & Price calculation of items
bought etc.
8. Introduction to JavaScript (JS): Dynamically loading JSON data - Implement a
HTML+JS application that has a JSON Array with details of different kinds of data.
Example: Model, Name, Price, Year. Display details of each vehicle dynamically by only
showing details of the vehicle that the user has selected (via mouse-over).
9. Python and JavaScript - Form Validation: Design any case study that creates and
validates a HTML form. On the server side, use Python to display the details entered by the
user at the client side along with appropriate validation messages. Use Display appropriate
messages if error occurs, and redirect to the another HTML page if successful.
10. Python and JavaScript - ATM Application: Design a HTML form that displays user’s
current balance, an input field to enter amount and buttons to withdraw or deposit money.
Validate the form such that
i) Negative amount cannot be entered and Users cannot withdraw more than 5000 at one
time
ii) Users cannot withdraw amount greater than their balance and cannot deposit more than
10000 at one time. Also users can perform at most 5 transactions. Update the balance
accordingly and ensure relevant data is not lost on closing the browser.
11. Python and JavaScript - Shopping Cart Application: Design a simple Shopping Cart
application which allows users to add items to their cart from a list of products. Allow users
to view their cart (items and quantities of each). Ensure that items in the cart persist even
after closing the application. On selecting buy, print out a bill of items in the cart. Perform
any necessary validation. Demonstrate data persistence even after the browser is closed.
12. Python for Data Science - Data Science and Machine Learning on Boston Housing dataset
- Download Boston Housing dataset from online archives. Load the dataset into one of the
data structures (NumPy or Pandas). Visualize the dataset (Features vs price plot) using
24
matplotlib. Apply Linear Regression (Source to learn:scikit) on the loaded dataset to predict
prices of new data.
References:
1. Paul Barry, Head First Python, O’Reilly Publication,2010.
2. Shelley Powers, Learning JavaScript, O’Reilly Publication, 2 nd Edition, 2012
25
DIGITAL IMAGE PROCESSING
Course Code: ISE551 Credit: 3:0:0
Prerequisite: Nil Contact Hours: 42L
Course Coordinator: Dr. Megha P Arakeri
Course Content:
UNIT-I
Introduction: Digital image processing, Imaging modalities, Fundamental steps in image
processing, Applications of image processing. Digital Image Fundamentals: Image formation
model, Sampling and quantization, Relationships between pixels. Mathematical tools used in
image processing.
UNIT-II
Spatial Filtering: Intensity transformation functions, Histogram processing (Histogram
equalization, Histogram matching), Fundamentals of spatial filtering (Mechanics of spatial
filtering, correlation and convolution), Smoothing spatial filters, Sharpening spatial filters.
UNIT-III
Image Segmentation: Fundamentals, Detection of isolated points, line and basic edge,
Thresholding, Region-based segmentation. Representation and Description: Representation
(border following, chain codes, minimum-perimeter polygons) Boundary descriptors (simple
descriptors, shape numbers), Region descriptors (simple descriptors, topological descriptors,
texture).
UNIT-IV
Object Recognition: Patterns and pattern classes, Recognition based on Decision-theoretic
methods, Matching, Optimum statistical classifier, Neural networks. Image Compression:
Fundamentals, Compression methods (Huffman, Arithmetic, Run-length coding)
UNIT-V
Color Image Processing: Color models, Full-color image processing. Morphological Image
Processing: Erosion and Dilation, Opening and closing, Hit-or-miss transform, Morphological
algorithms (Boundary extraction, Hole filling, Extraction of connected components).
Text Book:
1. Rafael C.Gonzalez, Richard E. Woods , “Digital Image Processing”, 3rd ed., Pearson.
References:
1. Anil K. Jain, “Fundamentals of Digital Image Processing”, Pearson Education, 2001.
2. B. Chanda and D. Dutta Majumdar ,“Digital Image Processing and Analysis”, PHI, 2003.
26
Course Outcomes (COs):
At the end of the course, students will be able to-
1. Describe the fundamental concepts of a digital image processing (PO-1,2,3) (PSO-1,2).
2. Apply spatial and frequency domain filters to improve the quality of the image
(PO-1,2,3)(PSO-1,2).
3. Employ segmentation, description, compression, recognition techniques in processing the
image(PO-1,2,3)(PSO-1,2).
4. Illustrate different color models and morphological operations in image processing
(PO-1,2,3) (PSO-1,2).
5. Analyze wide range of problems related to image processing and provide solutions through
suitable algorithms (PO-1,2,3,5,9,10) (PSO-1,2,3).
27
NATURAL LANGUAGE PROCESSING
Course Code: ISE552 Credit: 3:0:0
Prerequisite: Nil Contact Hours: 42L
Course Coordinator: Ms. Rajeshwari S B
Course Content:
UNIT-I
Introduction: Knowledge in Speech and Language Processing, Ambiguity, Models and
Algorithms; Language, Thought, and Understanding; The State of the Art and The Near-Term
Future; Regular Expressions and Automata; Morphology and Finite-State Transducers;
Lexicon-free FSTs: The Porter Stemmer, Human Morphological Processing.
UNIT-II
N-grams: Counting Words in Corpora, Smoothing, N-grams for Spelling and Pronunciation,
Entropy; Word Classes and Part-of-Speech Tagging: Part-of-Speech Tagging, Rule-based
Part-of-speech Tagging, Stochastic Part-of-speech Tagging, Transformation-Based Tagging;
UNIT-III
Context-Free Grammars for English: Constituency, Context-Free Rules and Trees,
Sentence-Level Constructions. Parsing with Context-Free Grammars: The Earley
Algorithm; Features and Unification: Feature Structures, Unification of Feature Structures,
Features Structures in the Grammar, Implementing Unification, Parsing with Unification
Constraints;
UNIT-IV
Lexicalized and Probabilistic Parsing: Probabilistic Context-Free Grammars, Problems with
PCFGs. Representing Meaning: First Order Predicate Calculus, Some Linguistically
Relevant Concepts, Related Representational Approaches, Alternative Approaches to
Meaning;
UNIT-V
Semantic Analysis: Syntax-Driven Semantic Analysis; Lexical Semantics: Relations Among
Lexemes and Their Senses, WordNet: A Database of Lexical Relations. Discourse: Reference
Resolution, Text Coherence, Discourse Structure.
Text Book:
1. Daniel Jurafsky and James H Martin, ”Speech and Language Processing: An introduction
to Natural Language Processing, Computational Linguistics and Speech Recognition”,
Prentice Hall, 2nd Edition, 2008.
28
References:
1. Steven Bird, Ewan Klein, Edward Loper, “Natural Language Processing with Python-
Analyzing Text with the Natural Language Toolkit”, O’reilly Publications , 2009
2. Tanveer Siddiqui, U.S. Tiwary, “Natural Language Processing and Information Retrieval”,
Oxford University Press, 2008.
29
INTERNET OF THINGS
Course Code: ISE553 Credits: 3:0:0
Prerequisites: Internet of Things Contact Hours: 42
Course Coordinator: Mr. Jagadeesh Sai D
Course Content:
UNIT-I
Introduction to Internet of Things Definition & Characteristics of IoT,Physical Design of IoT Things
in IoT ,IoT Protocols, Logical Design of IoT, IoT Functional Blocks ,IoT Communication Models
,IoT Communication APIs, IoT Enabling Technologies , Wireless Sensor Networks,Cloud
Computing Big Data Analytics ,Communication Protocols , Embedded Systems IoT Levels &
Deployment Templates, IoT Level-1,IoT Level-2,IoT Level-3,IoT Level-4,IoT Level-5,IoT Level-6
UNIT-II
IoT and M2M : Introduction,M2M, Difference between IoT and M2M ,SDN and NFV for IoT,
Software Defined Networking, Network Function Virtualization, IoT System Management with
NETCONF-YANG , Need for IoT Systems Management, Simple Network Management Protocol
(SNMP) , Limitations of SNMP, Network Operator Requirements, NETCONF,YANG IoT Systems
Management with NETCONF-YANG,NETOPEER..
UNIT-III
IoT Platforms Design Methodology: IoT Design Methodology , Purpose & Requirements
Specification , Process Specification, Domain Model Specification, Information Model Specification
, Service Specifications, IoT Level Specification, Functional View Specification, Operational View
Specification, Device & Component Integration, Application Development, IoT Systems - Logical
Design using Python ,Functions Modules ,Packages ,File Handling Operations Classes, Python
Packages of Interest for IoT ,JSON, XML, HTTPLib & URLLib ,SMTPLib
UNIT-IV
Raspberry Pi,About the Board , Linux on Raspberry Pi, Raspberry Pi Interfaces , Serial SPI ,I2C
,Programming Raspberry Pi with Python, Controlling LED with Raspberry Pi , Interfacing an LED
and Switch with Raspberry, Interfacing a Light Sensor (LDR) with Raspberry Pi ,Other IoT Devices,
pcDuino, Beagle Bone Black, Cubie board. IoT Physical Servers & Cloud Offerings, WAMP -
AutoBahn for IoT,Xively Cloud for IoT, Python Web Application Framework – Django, Django
Architecture , Starting Development with Django , Designing a RESTful Web API,Amazon Web
Services for IoT , Amazon EC2, Amazon AutoScaling ,Amazon S3,Amazon RDS Amazon
DynamoDB, Amazon Kinesis, Amazon SQS,Amazon EMR,SkyNet IoT Messaging Platform,INTEL
Gen2, UDDO Board example.
30
UNIT-V
Data Analytics for IoT , Apache Hadoop , Map Reduce Programming Model ,Hadoop Map Reduce
Job Execution ,Map Reduce Job Execution Workflow ,Hadoop Cluster Setup, Using Hadoop Map
Reduce for Batch Data Analysis, Hadoop YARN, Apache Oozie , Setting up Oozie ,Oozie Workflows
for IoT Data Analysis , Apache Spark , Apache Storm,Setting up a Storm Cluster, Using Apache
Storm for Real-time Data Analysis, REST-based approach , Web Socket-based approach.
Text Book:
1. Internet of Things (A Hands-on-Approach) by Arshdeep Bagha ,Vijay Madisetti University
press 2015.
Reference:
2. Enterprise IoT:Strategies and Best Practices for Connected Products and Services By Dirk
Slama, Frank Puhlmann, Jim Morrish, Rishi M Bhatnagar
31
DEVELOP IN SWIFT FUNDAMENTALS
Course Code: ISE554 Credit: 3:0:0
Prerequisite: Nil Contact Hours: 42L
Course Coordinator: Mr. Shashidhara H S
Course Content:
UNIT-I
Getting Started with App Development - basics of data, operators, and control flow in Swift,
debugging, Xcode, building, running and debugging an app, Interface Builder. Guided project -
Light.
UNIT-II
Introduction to UI Kit - Swift strings, functions, structures, collections, and loops. UIKit—the
system views and controls that make up a user interface and display data using Auto Layout and
stack views. Guided project - Apple Pie
UNIT-III
More Swift – Collections, Structures, Classes, Closures
UNIT-IV
Navigation and Workflows - build simple workflows and navigation hierarchies using navigation
controllers, tab bar controllers, and segues, optionals and enumerations. Guided project -
Personality Quiz
UNIT-V
Tables and Persistence - scroll views, table views, and building complex input screens, save data,
share data to other apps, work with images in the user’s photo library. Guided project - List, a task-
tracking app that allows the user to add, edit, and delete items in a familiar table- based interface.
Text Book:
1. Develop in Swift Fundamentals, Apple Books
32
VI Semester
MACHINE LEARNING
Course Code: IS61 Credits: 3:1:0
Prerequisites: Scripting Languages Contact Hours: 42L + 14T
Course Coordinator: Dr. Mydhili K Nair
Course Content:
UNIT-I
Machine Learning Introduction: Learning, Types of Machine Learning, Types of Machine Learning,
Supervised Learning, The Machine Learning Process.
Machine Learning Preliminaries: Terminology - Weight Space, The Curse of Dimensionality; Testing
Machine Learning Algorithms – Over-fitting, Training, Testing and Validation Sets, The Confusion
Matrix, Accuracy Metrics, ROC Curve, Unbalanced Dataset, Measuring Precision.
Turning Data into Probabilities: Minimizing Risk, maximum a posteriori hypothesis; Basic Statistics:
Averages, Variance and Covariance, The Gaussian; Bias-Variance Trade-off
UNIT-II
Neurons, Neural Networks and Linear Discriminants: The Brain and the neuron, neural networks,
The Perceptron, Linear Separability.
Multi-layer Perceptron - 1: Going Forwards, Going Backwards – Back Propagation of Error - The
Multi-Layer Perceptron Algorithm, Initialising the Weights - Examples as Numerical, Different Output
Activation Functions, Sequential and Batch Training.
Multi-layer Perceptron -2: Local Minima, Picking-Up Momentum, Mini-batches and Stochastic
Gradient Descent, Other Improvements.
Multi-layer perceptron in practice: Amount of Training Data, Number of Hidden Layers, when to
Stop Learning.
UNIT-III
Supervised Learning: Learning a Class from Examples, Linear, Non-linear, Multi-class and Multi-
label classification.
Supervised Learning Algorithms - Decision Trees: ID3 - Technique, Examples as Numerical;
Classification and Regression Trees (CART)
Supervised Learning Algorithms - Regression: Linear Regression - Technique, Examples as
Numerical; Multiple Linear Regression, Logistic Regression Examples as Numerical.
Dimensionality Reduction - Supervised: LDA (Linear Discriminant Analysis) -Technique, Examples
as Numerical.
UNIT-IV
Supervised Learning - K-Nearest Neighbour Methods - Technique, Examples as Numerical
Probabilistic Learning: The Naive Bayes Classifier -examples and numerical
Support Vector Machines: Linear and Nonlinear - Technique, Examples as Numerical; Kernel
Functions
UNIT-V
Unsupervised Learning: Partitional Clustering - K-Means, Dealing with noise, Examples as
Numerical, Elbow method to choose the right value of ‘k’, problems with k-means clustering;
33
Unsupervised Learning: Hierarchical Clustering - Agglomerative(AGNES), Divisive(DIANA),
examples as numericals
Dimensionality Reduction - Unsupervised: Introduction, Subset Selection, PCA (Principal
Component Analysis) – Technique, Examples as Numerical.
Text Books:
1. Stephen Marsland, “Machine Learning - An Algorithmic Perspective”,Second Edition, CRC
Press - Taylor and Francis Group, 2015
2. Ethem Alpaydin, “Introduction to Machine Learning”, Second Edition, MIT Press, Prentice Hall
of India (PHI) Learning Pvt. Ltd. 2010
References:
1. 1. Christopher Bishop, “Pattern Recognition and Machine Learning”, CBSPublishers &
Distributors, 2010.
2. Mehryar Mohri, Afshin R, Ameet Talwalkar, "Foundations of MachineLearning”, MIT Press,
2012.
3. Charu C. Aggarwal, “Data Classification Algorithms and Applications”,CRC Press, 2014
4. Charu C. Aggarwal, “Data Clustering Algorithms and Applications”, CRCPress, 2014.
5. Kevin P. Murphy "Machine Learning: A Probabilistic Perspective", TheMIT Press, 2012
34
4. Handle the nuances of supervised learning in concepts such as SVM, KNN and Probabilistic
learning such as Naive Bayes. (PO- 1, 2, 3, 6, 7)(PSO- 1, 2)
5. Identify the need of unsupervised learning and apply the same using Partitional, Hierarchical
Clustering as well as PCA, an unsupervised dimensionality reduction technique.(PO- 1, 2, 3, 6, 7)
(PSO-1, 2)
35
OBJECT ORIENTED ANALYSIS AND DESIGN PATTERNS
Course Code: IS62 Credit: 3:0:0
Prerequisite: Object Oriented Programming using Java. Contact Hours: 42L
Course Coordinator: Mr. Shashidhara H S
Course Content:
UNIT-I
The Object Oriented Paradigm – Functional Decomposition, The Problem with Requirements,
Dealing with Changes, The OO Paradigm; The UML—The Unified Modeling Language:
Overview, What Is the UML?, Why Use the UML?, The Class Diagram, Interaction Diagrams; A
Problem That Cries Out for Flexible Code: Overview, Extracting Information from a CAD/CAM
System, Understand the Vocabulary, Describe the Problem, The Essential Challenges and
Approaches, Summary, A Standard Object-Oriented Solution: Overview, Solving with Special
Cases; Self-Study: UML modeling for different problem scenarios; Understand the limitations of
traditional Object Oriented Design
UNIT-II
An Introduction to Design Patterns: Overview, Design Patterns Arose from Architecture and
Anthropology, Moving from Architectural to Software Design Patterns, Why Study Design
Patterns?, Other Advantages to Studying Design Patterns, Summary; The Facade Pattern:
Overview, Introducing the Façade Pattern, Learning the Façade Pattern, Field Notes: The Façade
Pattern; The Adapter Pattern: Overview, Introducing the Adapter Pattern, Learning the Adapter
Pattern, Field Notes: The Adapter Pattern; Expanding Our Horizons – Objects: Traditional Vs New
Views, Encapsulation: Traditional Vs New Views, Finding Varying Concept and Encapsulating,
Commonality and Variability Analysis and Abstraction; Self-study: Simple Factory
UNIT-III
The Strategy Pattern: Overview, The International E-Commerce System Case Study: Initial
Requirements, Handling New Requirements, The Strategy Pattern; The Bridge Pattern: Overview,
Introducing the Bridge Pattern, Learning the Bridge Pattern – An example, An Observation About
Using Design Patterns, Learning the Bridge Pattern – Deriving It, The Bridge Pattern in retrospect;
The Abstract Factory Pattern: Overview, Introducing the Abstract Factory Pattern, Learning the
Abstract Factory Pattern – An example, Learning the Abstract Factory Pattern – Implementing It;
Self-study: Command Pattern
UNIT-IV
36
How Do Experts Design – Building by Adding Distinctions; The Principles and Strategies of Design
Patterns: The Open-Closed principle, Designing from Context, Encapsulating Variation, Abstract
classes vs Interfaces, The principle of Healthy Skepticism; Commonality And Variability Analysis:
Application Design and Solving CAD/CAM Problem with CVA; The Decorator Pattern: Overview,
A Little More Detail, The Decorator Pattern, Applying the Decorator Pattern to the Case Study,
Another Example: Input/Output; The Observer Pattern: Overview, Categories of Patterns, More
Requirements for the International E-Commerce Case Study, The Observer Pattern, Applying the
Observer to the Case Study; The Template Method Pattern: Overview, More Requirements for the
International E-Commerce Case Study, The Template Method Pattern, Applying the Template
Method to the International E-Commerce Case Study, Using the Template Method Pattern to Reduce
Redundancy; Self-study: Iterator Pattern
UNIT-V
Lessons from Design Patterns: Factories – Factories, The Universal Context Revisited, Factories
Follow our Guidelines; The Singleton Pattern and the Double-Checked Locking Pattern:
Overview, Introducing the Singleton Pattern, Applying the Singleton Pattern to the Case Study; A
Variant: The Double-Checked Locking Pattern, Reflections, Use the Singleton and Double-
Checked Locking Patterns if applicable for a given problem; The Factory Method Pattern:
Overview, More Requirements for the Case Study, The Factory Method Pattern, Factory Method
Pattern and Object-Oriented Languages; Self-study: Object Pool Pattern
Text Book:
1. Alan Shalloway, James R Trot, “Design Patterns Explained – A New Perspective on Object-
Oriented Design”, Pearson, 2nd Edition, 4th Impression 2010.
References:
1. Eric Freeman, Elisabeth Freeman, “Head First Design Patterns”, O’reilly Publications,
October 2004, 1st Edition
2. Satzinger, Jackson, Burd, “Object Oriented Analysis and Design with Unified Process”,
Thomson Learning, 1st Indian Reprint 2007.
37
MINI-PROJECT/NPTEL
Course Code: IS65 Credit: 0:0:4
Course Coordinator: Internal Guide Contact Hours: -
Course Content:
Guidelines:
At the end of the course, students are required to submit a mini-project from the domain of their
choice.
An Internal Guide is allotted per student who guides and monitors the project progress.
The Internal Guide can arrange for doubt clarification classes if requested by his/her project
student and records the same.
Industry Interaction courses can be introduced as part of Project Based Learning.
Course Outcomes (2 or more) are to be written per project and should map to following Program
Outcomes and Program Specific Outcomes. Internal Guide can include other POs apart from the
ones mentioned below if those POs are deemed suitable by them.
POs - 1, 2, 3, 11
(PO 5 - if a new tool is involved,
PO 6 - if issues involving/related to society, health, safety, legal and culture are addressed)
PSO - 1, 2, 3
In the case of Industry Interaction courses, Course Outcomes can be written per course and still
be mapped to those POs and PSOs mentioned above plus any other POs as decided by the course
coordinator. A mini project submission at the end of the course is mandatory.
Assessment:
CIE - Minimum 2 reviews of the project + any other relevant components (for 50 Marks)
SEE - Project Demonstration + any other component as decided by Internal Guide (for 50 Marks)
38
MACHINE LEARNING LABORATORY
Course Code: ISL66 Credits: 0:0:1
Prerequisites: Scripting Languages Contact Hours: 14P
Course Coordinator: Mrs. Pushpalatha M N
Laboratory Experiments:
39
9. Supervised Learning Algorithms - Support Vector Machines: Generate a separable dataset
of size 1000 and 2 features. Plot the samples on a graph and mark the support vectors for the
dataset. Also, show that changing the vectors other than the support vectors has no effect on the
decision boundary.
10. Supervised Learning Algorithms - Support Vector Machines: Use SVM to classify the
flowers in Iris dataset. Visualize the results for each of the following combinations:
(a) For every pair of (different) features in the dataset (there are 4). Which pair separates the
data easily?
(b) Using One-vs-Rest and using One-vs-One. Which one fits better? Which one is easier to
compute? Why?
(c) Using different kernels (Linear, RBF, Quadratic).
11. Un-Supervised Learning Algorithms - Clustering: Using any dataset from the UCI repository
implement any one type of Hierarchical and Partitional Clustering you are familiar with. Plot
the Dendrogram for Hierarchical Clustering and analyze your result. Plot the clustering output
for the same dataset using these two partitioning techniques. Compare the results. Write the
inference.
12. Un-Supervised Learning Algorithms - K-Means Clustering: Build a K-Means Model for the
given dataset. In K-Means choosing the K value that gives a better model is always a challenge.
We increase the value of K with a dataset having N points, the likelihood of the model increases,
and obviously K<N, so to rank or maximize the likelihood we use BIC(Bayesian Information
Criterion. Now,
(a) Build a K-Means Model for the given Dataset (You can use the library functions)
(b) Implement the BIC function that takes the cluster and data points and returns BIC value
(c) Implement a function to pick the best K value, that is maximize the BIC.
(d) Visualize the pattern found by plotting K v/s BIC.
References:
1. 1. Stephen Marsland, “Machine Learning - An Algorithmic Perspective”,Second Edition,
CRC Press - Taylor and Francis Group, 2015
2. 2. Ethem Alpaydin, “Introduction to Machine Learning”, Second Edition, MIT Press,
Prentice Hall of India (PHI) Learning Pvt. Ltd. 2010
40
OBJECT ORIENTED ANALYSIS AND DESIGN PATTERNS
LABORATORY
Course Code: ISL67 Credit: 0:0:1
Prerequisite: Object Oriented Programming using Java/C++ Laboratory
Contact Hours: 14P
Course Coordinator: Mrs. Evangeline D
Course Content:
PART A
Case-study to understand the limitation of traditional Object Oriented Design and appreciate
need for Design Patterns. Use UML Notations to design.
You are a fresh analyst deputed to design the software for Decathlon Chain of Stores in Karnataka.
You are informed about the Business Logic of Point of Sales criteria by Ms.Veronica Lodge, a
dynamic business tycoon operating out of Decathlon Mumbai. She informs you that there are
different types of Customers of Decathlon namely, Regular Customers, Senior Citizens and First
Time Customers. Regular Customers are given a discount of 12%, Senior Citizens 10% and First
Time Customers 15%. Apart from this, based on the sales-index of previous day, a Store-level
discount is determined every day. This is dynamic. E.g.Rs.100 off for every purchase above
Rs.2000. Using the Object Oriented Principles of Encapsulation, Abstraction, Inheritance,
Composition and Aggregation that you have studied until this semester, give at least two ways to
design this system.
PART B
1. Adaptor (Structural): To establish the 1st Decathlon store in Mauritius, you go along
with Mr. Satya Nadella, an expert in finding 3rd-party partners. For e.g. a 3rd-party Tax-
Calculator system to cater to the specifics of Sales and VAT (Value-added services Tax)
tax calculations in different countries. He finds a 3rd-party Tax-Calculator system called
‘MauriTax’ in Port Louis. The problem is, the APIs used by ‘MauriTax’ for tax-calculation
is fixed & cannot be changed. The ‘MauriTax’ APIs are incompatible with ‘Decathlon
POS’. How will you use the Adaptor Pattern to design & implement?
41
2. Strategy (Behavioural): How will you use the Strategy Pattern to tackle the limitations
of traditional Object Oriented Design highlighted in PART A? The design must handle
varying price-schemes having different pricing algorithms. Design & implement.
3. Factory Method (Creational): The ‘Decathlon POS’ software system classifies its
customers as senior-citizens (60 and above), First-Time customers, Regular Customers.
There is a very high possibility that the Customer Type hierarchy will vary, depending
upon the sales-pattern. For e.g. there could be the need to introduce new categories based
on the customer gender, different age groups for kids (0-5, 6-12), teenagers (13-19) and
age groups between 20 to 60(Twenties, 30s, 40s and 50s). You are advised by Mr.Sundar
Pichai, the technical architect of your team, whom you trust, to use Factory Method Pattern
in order to instantiate the above Customer Type hierarchy of concrete implementation of
objects. Design and implement using this.
4. Bridge (Structural): You get a call from Ms.Masaba Gupta of Bangalore Decathlon
office that there is a policy decision made globally to introduce discount slabs for a whole
month twice in a year. The discount month will be in January and July after reviewing the
sales made from Feb to June (first five months) and Aug to December (last five months)
respectively. It is decided to provide four slabs of discounts in 2017, namely, 30%, 25%,
20% and 15%, based on the sports item purchased. For e.g. all tennis rackets could have
a 20% discount while cricket bats could only have a 15% discount. All exercise tread-mills
could be given a 30% discount while boxing-gloves could have a 25% discount. Point to
be noted here is that, the slabs of discount may not remain the same in 2018. It is likely to
vary year after year. The ‘Decathlon POS’ software system classifies its customers as
Senior-Citizens (60 and above), First-Time Customers, Regular Customers as of now.
There is a very high possibility that the Customer Type hierarchy will vary, depending
upon the sales-pattern. For e.g. there could be the need to introduce new categories based
on the customer gender.
Use the Bridge Pattern to design & implement, so that both the Customer
Type hierarchy of classes as well as the Discount Percentage hierarchy of
classes can both vary independently? That is, they are not tied to each
other.
5. Observer (Behavioural): There will be different discounts being offered for the sports
items in Decathlon Stores across the globe for different festivals being celebrated in the
various countries these stores are established. Assume that the Decathlon Chain of Stores
fixes a particular discount slab for its items for a festival of a country.
Use the Observer Pattern to design and implement a system to notify the
customers of the Decathlon stores of that country about the various
festival / seasonal discount rates as and when they are announced.
6. Façade (Structural): You get a call from Ms.Betty Cooper of Bangalore Decathlon office
that there is a policy decision made globally to incorporate some new rules for ‘Process
Sale Use-Case’. For e.g. if payment is made via gift-certificate, the customer can buy only
one item for the amount in the certificate. No other items can be bought with that gift-
certificate. There must be no cash-back to the customer if the item costs less than amount
specified in the gift-certificate. If the item costs more, the excess payment can be accepted
via cash only & not credit / debit cards. When a new sale is created, these rules must
become effective. You come to know from Mr. Satya Nadella, an expert in finding 3rd-
party partners, that the Italian Competitor for Decathlon called ‘Sport 2000’ has a ready-
made ‘rule-engine’ sub-system for this, whose specific implementation details is not
known yet, as the business heads of Decathlon & Sport 2000 are chalking out the software
purchase terms. This Sport 2000 rule-engine will be responsible for evaluating a set of
rules against an operation & indicating if any of the rules invalidated the operation (e.g.
‘makeNewSale’ operation).
How will you use the Façade pattern to provide a common unified
42
interface to a dissimilar set of implementations, developed by a 3rd-party
vendor, the implementation details are not known to you?
7. Abstract Factory (Creational): As an analyst in charge of designing the Decathlon POS
Software, you realize the need to streamline the creation of objects belonging to different
products in the Decathlon store. There are two major categories of products:
a) For differently abled sports enthusiasts
b) For able-bodied sports enthusiasts
In each of the above categories there are products for outdoor adventure sports
(e.g. trekking, para-gliding, bungee-jumping etc.), outdoor regular games
(cricket, football, baseball etc.) indoor regular games (table tennis, squash
etc.). There is a possibility of further class/object instantiation explosion with
categories such as male & female sports enthusiasts and different equipment
for them. Objects need to be instantiated based on these categories. Design
& implement using Abstract Factory.
8. Decorator (Behavioural – Structural according to GoF): There is an existing interface
method in the Decathlon POS software system called ‘getCurrentStock’ which is implemented
by two concrete classes ‘IndoorSports’ and ‘OutdoorSports’, to get the number of stocks for
the sports items belonging to these respective categories. On studying the Decathlon POS
system, you as an analyst realize the need to get sports stock update of various items within:
IndoorSports - ‘GamesOnTable’ (e.g. Table Tennis, Billiards, Snooker etc.)
‘BoardGames’ (e.g. Carom, Chess etc.)
‘CourtGames’ (e.g. Basketball, Badminton, Kabaddi etc.)
OutdoorSports – ‘AdventureGames’ (e.g. trekking, para-gliding, bungee-
jumping etc.)
‘StadiumGames’ (e.g. cricket, football, baseball etc.)
‘Athletics’ (e.g. different distances for running, high jump
etc.)
Use the Decorator pattern, decorating the ‘getCurrentStock’ method to
Design and implement this scenario.
9. Template Method (Behavioural): To keep up with the customer convenience of online
ordering Decathlon Chain of stores decides to have two modes of order-processing,
namely ‘online’ and ‘offline’. Both modes have the same processing steps for order-
processing, namely ‘selectItem’, ‘doPayment’ and ‘doDelivery’. But, the way these steps
are done varies between the two modes.
selectItem – online – gives tabular depiction of price comparison of the
item chosen. Offline – allows trying out of the items in the store
doPayment – online – net-banking payment; offline – pays through cash /
swipe-card doDelivery – online – needs to pay the charges for shipping &
delivery address; offline – collect at the counter.
Show how you as the analyst will use the Template Method pattern to
design and implement this.
10. Singleton (Creational): A Browser’s history has data of all the visited URLs across all
tabs and windows of a browser. The history is saved such that the data persists even after
closing the browser. How would you use Singleton Pattern to implement Browser History
such that on visiting a URL on any open tab of a browser the URL gets added to the
existing history?
Text Book:
1. Alan Shalloway, James R Trot, “Design Patterns Explained – A New Perspective on
Object-Oriented Design”, Pearson, 2nd Edition, 4th Impression 2010.
43
References:
1. Eric Freeman, Elisabeth Freeman, “Head First Design Patterns”, O’reilly Publications,
October 2004, 1st Edition
2. Satzinger, Jackson, Burd, “Object Oriented Analysis and Design with Unified Process”,
Thomson Learning, 1st Indian Reprint 2007.
44
JAVA & J2EE LABORATORY
Course Code: ISL68 Credit: 0:1:1
Prerequisite: Object Oriented Programming using Java Laboratory
Contact Hours: 14P
Course Coordinator: Mr. Koushik S
Course Content:
1) Write a Program that simulates a telephone that records missed incoming calls. For each missed
call, store the time of call, telephone number of origin, and name of the caller if the name is
available. For unlisted numbers, set the name to “private caller”. Choose or extend the most
appropriate collection class and provide the following features.
a. Numbers are recalled in the order they arrive
b. Up to 10 numbers are recorded. When the eleventh call comes in, it is stored and the
oldest call is deleted so that no more than 10 numbers are ever recorded.
c. After each number display, the user can select
i. To delete the call
ii. To go on to the next missed call, or
iii. To display the call details (number, caller name and time). Delete the number
if user specifies a number to delete.
Write a helper class to represent an incoming call with fields to hold the number, name of the caller,
and time of the call. Write a tester call that stores the several numbers, simulate the user pressing
the missed-calls button, and finally prints the entire collection of stored calls.
2) Write a Java program using user-defined storage classes to create a book database and store it in
a Collection List.
a. Books collection should include title, author, publisher and price.
b. Write a method to sort the books in ascending order of price and store it in another
List. Maintain the book details with respect to an unique book id.
c. Prompt for an author name and list all the books with the same author name. Create a new
list holding all the book details with price greater than a user specified price.
d. For a given a value by the user, find all the books that match either the whole or a part of
the book title.
e. Identify a publisher and print books from a particular publisher. Update the publisher details
based on a title.
3) Create a desktop java application using swings to enable an user to enter student information
such as name, usn, age, address, sgpa of 8 semesters, category.
a. Perform validations on all the fields. Display appropriate messages in pop up boxes to
indicate wrong entries.
b. On clicking of the “compute” button, find the cgpa . On clicking of the “done” button,
mouse place the student details in a collection.
c. Display the collection in a textarea on the click of a button.
4) Write a java program using Servlet to validate user login information using dialog boxes.
a. Once validated, allow the user to enter the customer id, if the person is a new
customer, else check whether the customer exists in a collection and obtain the
45
customer id.
b. The customer id can be obtained given a mobile number. Allow the user to enter the
item purchased by giving the item id and quantity purchased.
c. On clicking of a button, the item name and the total cost should appear in the
corresponding GUI components.
d. Using option dialog box, indicate the types of discount available for the customer.
On clicking on the print button, print the details in information dialog box.
5)Write a program that uses Java Swing and JDBC to create a stand-alone application:
a. Create two tables namely, Representative (RepNo, RepName, State, Comission,
Rate) and Customer (CustNo, CustName, State, Credit_Limit, RepNo) in MySQL
database. Use appropriate Swing components to insert values in a form.
b. Use another form to display Representative’s information when Credit_Limit is
above 15,000.
6)Write a JSP and Servlet Program to do the following to buy a T-Shirt online:
a. A set of checkboxes to select your T-Shirt accessories such as ‘belt’, ‘cap’, ‘hair-
band’ etc.
b. A text area / text field to enter your T-Shirt tag-line, A Radio-button that allows the
user to choose between T-Shirt with chest pocket and without. A Combo Box to
choose your T-Shirt color, A Button called “Click Me”
c. Insert the details entered into a table called ‘TShirts’.
d. An OrderNo is generated by adding ‘1’ to the existing ‘OrderNo’
e. If ‘TShirts’ table is empty the initial value of ‘OrderNo’ is 100.
f. This ‘OrderNo’ is also inserted into the ‘TShirts’ table
g. Display all the records of the ‘TShirts’ table in tabular form
PS: Frontend display should be in JSP and the business logic should be written in Servlet Class.
7)Create the following application with Struts2 and Hibernate framework
a. Create a Telephone Directory Application that searches the database based on
phone number or name. Also show database table creation with inserting 2-3 values
to the table.
b. Database Name: OnlineDirectory, Table Design: Table Name:
Telephone_Directory, Attributes: Phone_Number, Name, Address, Company,
Pin_Code.
8)Create the following application with Struts2 and Hibernate framework
a. Create two tables Flight (Flight_Number, Airline_Name, Weekdays) and
seatReservation(Flight_Number, Date, Seat_Number, Customer_Name,
Customer_Phone) in MySQL database.
b. Create JSP page ReserveOnline.jsp to reserve an airline seat and insert the values
into the table SeatReservation. OnClick of Submit in ViewDetails.jsp display
information about reservation. Validate the Flight_Number from already existing
Flight database and generate random number for Seat_Number within the range 1-
500.
c. Also create a link to display information of all the flights running on a particular day.
Java and J2EE Tutorial
1. java.util Part 1: The Collections Framework: Collections Overview, The Collection
Interfaces
2. The Collection Classes: The ArrayList Class, LinkedList Class, HashSet Class.
3. Accessing a Collection via Iterator, Storing User-Defined Classes in Collections;
4. Working with Maps, Arrays
5. Introduction to Swing, Swing Components,
46
6. Swing basic containers, Swing Components;
7. Introduction to Servlet: Architecture of Servlet.
8. Basics of Servlet application programming Interface: Servlet Application Programming
Interface.
9. The Servlet Architecture, the Servlet Life Cycle.
10. Working with Databases: Types of JDBC Drivers, How to access database, Using
Databases, Connecting to Database.
11. Java Threads
12. Struts2 Framework
13. Hibernate Framework
14. Connecting Struts2 and Hibernate (CRUD example)
Text Books:
1. Herbert Schildt, ‘The Complete Reference Java (J2SE 5 Edition)’, TATA McGRAW-HILL
Edition 2005.
2. Ivan Bayross, Sharanam Shah, Cyntiha Bayross and Vishali Shah, ‘Java EE 5 for
Beginners’, SPD (Sharoff Publishers & Distributors Pvt. Ltd.), 2nd edition August 2008.
References:
1. Jim Keogh, „The Complete Reference J2EE‟, TATA McGRAW-HILL Edition 2002.
2. B V Kumar, S Sangeetha, S V Subrahmanya, J2EE Architecture, TATA McGRAW-HILL
Edition 2007.
47
DEVELOP IN SWIFT DATA COLLECTIONS
Course Code: ISE631 Credit: 3:0:0
Prerequisite: iOS App Development Contact Hours: 42L
Course Coordinator: Mr. Shashidhara H S
Course Content:
UNIT-I
Working with the Web - animations, concurrency, and working with the web, Guided project -
Restaurant, a customizable menu app that displays the available dishes from a restaurant and
allows the user to submit an order.
UNIT-II
Working with the Web - web service to set up the menu with their own menu items and photos,
Improving Restaurant App with web services.
UNIT-III
Advanced Data Display - Collection Views: data source and delegate, compositional layout,
diffable data sources, advanced compositional layout.
UNIT-IV
Swift: Generics types and protocols with associated types, generic functions, other UIKit topics:
Search controllers, local notifications, Project: displaying a complex, dynamic data set with
multiple layouts
UNIT-V
Prototyping and Project Planning - how to design, prototype, and architect a project.
Text Book:
Develop in Swift Data Collections, Apple Books
48
SYSTEM SOFTWARE
Course Code: ISE632 Credit: 3:0:0
Prerequisite: Nil Contact Hours: 42L
Course Coordinator: Mrs. Pushpalatha M N
UNIT-I
UNIT-II
Assembler Features and Design Options: Machine Dependent Assembler Features - Instruction
Formats & addressing Modes, Program Relocation. Machine Independent Assembler Features –
Literals, Symbol-Definition Statements, Expression, Program Blocks, Control Sections and
Programming Linking, SIC/XE object code generation. Assembler Design Operations - One-Pass
Assembler, Multi-Pass Assembler, Implementation Examples – MASM Assembler
UNIT-III
Loader Functions, Features and Design Options: Basic Loader Functions - Design of an Absolute
Loader, A Simple Bootstrap Loader, Machine-Dependent Loader Features – Relocation, Program
Linking, Algorithm and Data Structures for a Linking Loader; Machine-Independent Loader
Features - Automatic Library Search, Loader Options, Loader Design Options - Linkage Editor,
Dynamic Linkage, Bootstrap Loaders, Implementation Examples - MS-DOS Linker.
UNIT-IV
Macro Processor Functions, Features and Design Options: Basic Macro Processor Functions -
Macro Definitions and Expansion, Macro Processor Algorithm and Data Structures, Machine-
Independent Macro Processor Features -Concatenation of Macro Parameters, Generation of Unique
Labels, Conditional Macro Expansion, Keyword Macro Parameters, Macro Processor Design
Options Recursive Macro Expansion, General-Purpose Macro Processors, Macro Processing Within
Language Translators, Implementation Examples - MASM Macro Processor, ANSI C Macro
Processor.
UNIT-V
LEX and YACC Tools: Lex and Yacc - The Simplest Lex Program, Recognizing Words With LEX,
Grammars, Parser-Lexer Communication, A YACC Parser, The Rules Section, Running LEX and
YACC, Using LEX – Regular Expression, Using YACC – Grammars, Recursive Rules Shift/Reduce
Parsing, What YACC Cannot Parse, A YACC Parser - The Definition Section, The Rules Section,
The LEXER, Compiling and Running a Simple Parser, Arithmetic Expressions and Ambiguity.
49
Text Books:
Reference:
1. D.M. Dhamdhere, System Programming and Operating Systems, 2nd Edition, Tata McGraw
Hill, 2000
50
SYSTEM SIMULATION AND MODELING
Course Code: ISE633 Credit: 3:0:0
Prerequisite: Engineering Mathematics Contact Hours: 42L
Course Coordinator: Mr. Rajaram M Gowda
Course Content:
UNIT-I
Introduction to Simulation: When simulation is the appropriate tool and when it is not appropriate,
Advantages and disadvantages of Simulation, Areas of application, Systems and system environment,
Components of a system, Discrete and continuous systems, Model of a system, Types of Models,
Discrete-Event System Simulation, Steps in a Simulation Study; Simulation examples: Simulation
of queuing systems, Simulation of inventory systems
UNIT-II
Concepts in Discrete-Event Simulation: The Event-Scheduling / Time-Advance Algorithm, World
Views, Manual simulation Using Event Scheduling; List processing, Simulation in Java, Simulation
in GPSS; Statistical Models in Simulation: Review of terminology and concepts, Discrete
distributions, Continuous distributions-Uniform distribution, Exponential distribution, Normal
distribution
UNIT-III
Random-Number Generation: Properties of random numbers, Generation of pseudo-random
numbers; Techniques for generating random numbers; Tests for Random Numbers. Random-Variate
Generation: Inverse transform technique-Exponential Distribution, Uniform Distribution, Discrete
Distributions, Acceptance-Rejection technique: Poisson Distribution, Convolution method
UNIT-IV
Queuing Models: Characteristics of queuing systems, Queuing notation, Long-run measures of
performance of queuing systems; Input Modeling: Data Collection, Identifying the distribution with
data, Parameter estimation, Goodness of Fit Tests, Selecting input models without data
UNIT-V
Verification and Validation of Simulation Models: Model building, verification and validation,
Verification of simulation models, Calibration and validation of models, Estimation of Absolute
Performance: Types of simulations with respect to output analysis, Stochastic nature of output data;
Absolute measures of performance and their estimation
Text Book:
1. Jerry Banks, John S. Carson II, Barry L. Nelson, David M. Nicol: Discrete-Event System
Simulation, Fifth Edition, Pearson Education, 2013.
References:
1. Lawrence M. Leemis, Stephen K. Park: Discrete – Event Simulation: A First Course, Pearson /
Prentice-Hall, 2006.
2. Sheldon M. Ross: Simulation, Fourth Edition, Elsevier, 2006.
3. Averill M. Law: Simulation Modeling and Analysis, Fourth Edition, Tata McGraw-Hill, 2007
51
Course Outcomes (COs):
At the end of the course, students will be able to-
1. Identify the concepts used to develop simulation models. (PO1, 2) (PSO-1)
2. Apply simulation algorithm techniques to solve simulation models. (PO-1,2,3) (PSO-1,2)
3. Develop techniques to generate and test random numbers. (PO-1,2, 3,4) (PSO-1,2)
4. Design input models for a given simulation system. (PO-1, 2, 3, 4) (PSO-1,2)
5. Verify, Validate and Perform output analysis of a simulation model. (PO-4) (PSO-2)
52
CLOUD COMPUTING
Course Code: ISE641 Credit: 3:0:0
Prerequisite: Nil Contact Hours: 42L
Course Coordinator: Dr. Siddesh G M
Course Content:
UNIT-I
Introduction: Network centric computing and network centric content, Peer-to-peer systems, Cloud
Computing, Cloud Computing delivery models & Services, Ethical issues, Cloud vulnerabilities,
Challenges. Cloud Infrastructure: Amazon, Google, Azure & online services, open source private
clouds. Storage diversity and vendor lock-in, intercloud, Energy use & ecological impact of data
centers, service level and compliance level agreement, Responsibility sharing, user experience,
Software licensing.
UNIT-II
Cloud Computing: Applications & Paradigms, Challenges, existing and new application opportunities,
Architectural styles of cloud applications, Workflows: Coordination of multiple activities, Coordination
based on a state machine model – the ZooKeeper, The MapReduce programming model, A case study:
the GrepTheWeb application, Clouds for science and engineering, High performance computing on a
cloud, cloud computing for biological research, Social computing, digital content, and cloud computing.
UNIT-III
Cloud Resource Virtualization: Virtualization, Layering and virtualization, Virtual machine monitors,
Virtual machines, Performance and security isolation, Full virtualization and paravirtualization,
Hardware support for virtualization, Case study: Xen -a VMM based on paravirtualization, Optimization
of network virtualization in Xen 2.0, vBlades -paravirtualization targeting a x86-64 Itanium processor,
A performance comparison of virtual machines, The darker side of virtualization, Software fault
isolation.
UNIT-IV
Cloud Resource Management and Scheduling: Policies and mechanisms for resource management,
Applications of control theory to task scheduling on a cloud, Stability of a two-level resource allocation
architecture, Feedback control based on dynamic thresholds, Coordination of specialized autonomic
performance managers, A utility-based model for cloud-based web services, Resource bundling,
combinatorial auctions for cloud resources, Scheduling algorithms for computing clouds, fair queuing,
Start time fair queuing, Cloud scheduling subject to deadlines, Scheduling mapreduce applications
subject to deadlines.
UNIT-V
Storage systems: Storage models, file systems, databases, DFS, General parallel File system, GFS,
Apache Hadoop, Locks & Chubby, TPS & NOSQL databases, Bigdata, Mega store. Cloud security:
Risks, Security, privacy and privacy impacts assessments, Trust, VM Security, Security of
virtualization, Security risks in shared images.
53
Text Book:
1. Dan Marinescu, Cloud Computing: Theory and Practice, 1st edition, MK Publishers, 2013.
References:
1. Kai Hwang, Jack Dongarra, Geoffrey Fox, Distributed and Cloud Computing, From Parallel
Processing to the Internet of Things, 1st edition, MK Publishers, 2012.
2. Anthony T. Velte, Toby J. Velete, Robert Elsenpeter, Cloud Computing: A Practical Approach,
Tata McGraw Hill, 2010.
54
MOBILE COMPUTING
Course Code: ISE642 Credit: 3:0:0
Prerequisite: Nil Contact Hours: 42L
Course Coordinator: Dr. B P Vijay Kumar
Course Content:
UNIT-I
Introduction: Challenges in mobile computing, coping with uncertainties, resource poorness,
bandwidth, etc. Cellular architecture, co-channel interference, frequency, reuse, capacity
increase bu cell splitting. Evolution of mobile system: CDMA, FDMA, TDMA, GSM. Wireless
LAN: IEEE 802.11.
UNIT-II
Mobility Management: Cellular architecture, Co-channel interference, Mobility: handoff,
types of handoffs; location management, HLR-VLR scheme, Mobile IP, Dynamic host
configuration protocol, Mobile transport layer-Traditional and classical TCP.
UNIT-III
Databases: Database Hoarding Techniques, Data Caching, Transactional Models, Query
Processing. Data Dissemination and Broadcasting Systems: Communication Asymmetry,
Classification of Data-Delivery Mechanisms, Data Dissemination Broadcast Models, Selective
Tuning and Indexing Techniques.
UNIT-IV
Data Synchronization in Mobile Computing Systems: Synchronization, Synchronization
software for mobile devices, Synchronization protocols, SyncML - Synchronization language
for mobile computing, Sync4J (Funambol), Synchronized Multimedia Markup Language
(SMIL). Mobile Devices: Server and Management: Mobile agent, Application server,
Gateways, Portals, Service Discovery, Device management, Mobile file systems, security.
UNIT-V
Support for Mobility- File Systems, Mobile operating systems; Features, services and
interfacing modules of: Windows, Android, iOS for Mobile devices.
Text Books:
1. Rajkamal, Mobile Computing, Oxford University Press, 2nd Edition, 2012
2. Jochen Schiller, Mobile Communications, 2nd edition, Pearson, 2003.
Reference:
1. Reza B, Mobile Computing Principles, Cambridge University Press, 2005
55
Course Outcomes (COs):
At the end of the course, students will be able to-
1. Describe the principles techniques and some of the analytics in mobile networks. (PO-1,2)
(PSO-1,3)
2. Illustrate the concept of mobility and resource sharing in network and transport layer in
mobile networks. (PO-1,2) ( PSO-1,3)
3. Analyze the database handling, data dissemination, Synchronization with respect to
different Mobile Operating Systems. (PO-1,2) (PSO-1,3)
4. Describe and illustrate the mobility support using different file systems and platforms.
(PO-1,2,4) (PSO-1,3)
5. Demonstrate the different mobile operating systems and develop mobile applications and
computing models. (PO-1, 2, 3,5) (PSO-1,2,3)
56
SOFTWARE TESTING
Course Code: ISE643 Credit: 3:0:0
Prerequisite: Nil Contact Hours: 42L
Course Coordinator: Dr. Naresh E
Course Content:
UNIT-I
Review of Software Engineering: Software process models, Software engineering ethics,
Software engineering challenges. Requirements Analysis: Requirements elicitation techniques,
Functional and Non-functional requirements. Software Design: Architectural design and its styles,
Object-oriented design. Implementation Issues.
UNIT-II
Perspective on Testing: Basic definitions, Test Scenarios, Test cases, Insights from a Venn
diagram, identifying test cases, Error, fault and Failure taxonomies, Levels of testing, Activities of
Test engineer, Test/Debug life cycle, testing principles, Testing throughout the SDLC. Examples:
Generalized pseudocode, the triangle problem, The NextDate function, the commission problem,
The SATM (Simple Automatic Teller Machine) problem, the currency converter.
UNIT-III
Functional Testing: Boundary value analysis, Robustness testing, Worst-case testing, Special
value testing, Examples, Random testing, Equivalence classes, Equivalence test cases for the
triangle problem, NextDate function, and the commission problem, Guidelines and observations.
Decision tables, Test cases for the triangle problem, NextDate function, and the commission
problem, Guidelines and observations.
UNIT-IV
Static Testing: Reviews, Types of reviews, Inspections, Inspection process, Inspection roles,
benefits of inspection, Walkthroughs, Checklists. Structural Testing: Statement coverage testing,
Condition coverage testing, Path coverage, computing cyclomatic complexity, exploratory testing.
UNIT-V
Test Management and Automation: Introduction, Test Planning, Test Reporting, Test Plan
template. Test Automation, Terms used in Automation, Skills needed for automation, scope of
automation, design and Architecture for automation, Process model for automation. Test Metrics
and Measurements: Need and types of metrics.
Text Books:
1. Paul C. Jorgensen, Software Testing, A Craftsman‟s Approach, 4th Edition, Auerbach
Publications, 2017.
2. Graham Bath, Judy McKay, The Software Test Engineer's Handbook, 2nd Edition, Rocky
Nook publisher, 2014.
57
3. SrinivasanDesikan, Gopalaswamy Ramesh: Software testing Principles and Practices, 2nd
Edition, Pearson, 2007.
4. Ian Sommerville, Software Engineering, 9th Edition, Pearson Education, 2011.
References:
1. Andreas Spillner, Tilo Linz, Hans Schaefer: Software Testing Foundations, 2nd Edition,
Shroff Publishers & Distributers Pvt ltd.
2. Rahul Shende, Testing in 30+ Open Source Tools, Shroff Publishers & Distributers Pvt
ltd. 2010.
3. Aditya P Mathur, Foundations of Software Testing, Pearson, 2008.
58