B.vocSd
B.vocSd
2023
Appendix-72
Resolution No. 27 {27-1 (27-1-11)}
INDEX
BACHELOR OF VOCATION – SOFTWARE DEVELOPMENT
SEMESTER-III TO SEMESTER-VI
S.No. Semester Contents Page
No.
1. III Discipline Specific Core (DSCs) 1-6
• Programming using R
• Discrete Structures
• Digital Image Processing
2. IV Discipline Specific Core (DSCs) 16-21
Annexure A
Detailed Syllabus – Discipline Specific Core
Learning Objectives:
1. To introduce the fundamentals of data structures
2. To get familiar with programming
Learning Outcomes:
1. Develop the ability to use basic data structures like array, stacks, queues, lists, trees and
hash tables to solve problems.
2. Use well-organized data structures in solving various problems.
3. Differentiate the usage of various structures in problem solutions.
4. Implement algorithms to solve problems using appropriate data structures.
Unit I (5 hours)
Arrays: Single and multi-dimensional arrays, analysis of insert, delete and search operations
in arrays (both linear search and binary search), implementing sparse matrices, applications
of arrays to sorting: selection sort, insertion sort, bubble sort, comparison of sorting techniques via
empirical studies.
Unit II (5 hours)
Linked Lists: Singly- linked, doubly-linked and circular lists, analysis of insert, delete and search
operations in all the three types, implementing sparse matrices.
1
EC (1267) - 25.08.2023
References
1. Michael T. Goodrich, Roberto Tamassia and Michael H. Goldwasser (2013), Data Structures
and Algorithms in Python, Wiley.
2. Rance D. Necaise, Data Structures and Algorithms Using Python, John Wiley & Sons, Inc.
3. Introduction to Algorithms, by Cormen, Leiserson, Rivest, and Stein, MIT Press, Third
Edition, 2009.
2
EC (1267) - 25.08.2023
Learning objectives:
1. To introduce the fundamentals of Internet, and the principles of web design.
2. To construct basic websites using HTML and Cascading Style Sheets.
3. To build dynamic web pages with validation using Java Script objects and by applying different
event handling mechanisms.
4. To develop modern interactive web applications using PHP, XML and MySQL
Learning Outcomes:
1. Structure and implement HTML/CSS.
2. Implement basic JavaScript.
3. Learn server side scripting language PHP and integration with database using MYSQL.
UNIT-I (5 Hours)
Introduction to HTML & CSS:
HTML Basics, HTML Responsive, HTML Entities, HTML Forms, HTML5 Canvas, HTML5
SVG, HTML5 Data Storage, HTML5 Audio and Video , CSS Introduction, CSS Syntax, CSS
Text, CSS Backgrounds, CSS Fonts, CSS Links, CSS Lists, CSS Tables, CSS Box Model, CSS
Margins, Dimensions, Display, CSS Navigation Bar, CSS Attribute Selectors, CSS Rounded
Corners, CSS Border Images, CSS Backgrounds, CSS Colors, CSS Animations.
3
EC (1267) - 25.08.2023
References
1. Learning PHP, MySQL & JavaScript: With JQuery, CSS & HTML5 by Robin Nixon , O’Reilly
Media, Inc.
2. PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide by Larry Ullman , Fifth
Edition.
4
EC (1267) - 25.08.2023
Learning objectives:
Learning Outcomes:
1. Understand the need of an Operating System & Define Multiprogramming and
multithreading concepts.
2. Implement Process Synchronization service (Critical Section, Semaphores), CPU
scheduling service with various algorithms.
3. Learn Main memory Management (Paging, Segmentation) algorithms, Handling of
Deadlocks
4. Identify and appreciate the File systems Services, Disk Scheduling service
UNIT - I (5 hours)
Introduction: Operating Systems (OS) definition and its purpose, Multi-programmed and Time
Sharing Systems, OS Structure, OS Operations: Dual and Multi-mode, OS as resource manager.
UNIT – II (5 hours)
Operating System Structures: OS Services, System Calls: Process Control, File Management,
Device Management, and Information Maintenance, Inter-process Communication, and Protection,
System programs, OS structure- Simple, Layered, Microkernel, and Modular.
5
EC (1267) - 25.08.2023
References
1. Silberschatz, A., Galvin, P. B., Gagne G. Operating System Concepts, 9th edition, John
Wiley Publications, 2016
2. Dhamdhere, D. M. Operating Systems: A Concept-based Approach. 2nd edition, Tata
McGraw-Hill Education, 2017
3. Kernighan, B. W., Rob Pike, R. The UNIX Programming Environment. Englewood Cliffs,
NJ: Prentice-Hall, 1984
4. Stallings, W. Operating Systems: Internals and Design Principles. 9th edition, Pearson
Education, 2018
5. Tanenbaum, A. S. Modern Operating Systems. 3rd edition, Pearson Education, 2007
6
EC (1267) - 25.08.2023
Learning objectives:
1. Master the use of the R and RStudio interactive environment.
2. Expand R by installing R packages.
3. Explore and understand how to use the R documentation.
4. Read Structured Data into R from various sources.
5. Understand the different data types in R.
6. Understand the different data structures in R.
Learning Outcomes:
1. Develop an R script and execute it
2. Install, load and deploy the required packages, and build new packages for sharing and
reusability
3. Extract data from different sources using API and use it for data analysis
4. Visualize and summarize the data
5. Design application with database connectivity for data analysis
UNIT-I (5 hours)
Introduction: R interpreter, Introduction to major R data structures like vectors, matrices, arrays,
list and data frames, Control Structures, vectorized if and multiple selection, functions.
UNIT-IV (5 hours)
Building Packages.
7
EC (1267) - 25.08.2023
References:
1. Cotton, R., Learning R: a step by step function guide to data analysis. 1st edition.
O’reilly Media Inc.
2. Gardener, M.(2017). Beginning R: The statistical programming language, WILEY.
3. Lawrence, M., & Verzani, J. (2016). Programming Graphical User Interfaces in R. CRC
press. (ebook)
8
EC (1267) - 25.08.2023
Q.7 Create a database medicines that contains the details about medicines such as {manufacturer,
composition, price}. Create an interactive application using which the user can find an alternative
to a given medicine with the same composition.
Q.8 Create a database songs that contains the fields {song_name, mood, online_link_play_song}.
Create an application where the mood of the user is given as input and the list of songs
corresponding to that mood appears as the output. The user can listen to any song form the list via
the online link given
Q.9 Create a package in R to perform certain basic statistics functions.
9
EC (1267) - 25.08.2023
Learning objectives:
1. To teach students how to think logically and mathematically.
2. To stress on mathematical reasoning and describe different ways in which mathematical problems
could be solved.
3. To cover four thematic areas: mathematical reasoning, combinatorial analysis, discrete structures,
and mathematical modelling.
4. To touch upon topics like logic, proofs, set theory, counting, probability theory (the discrete part of the
subject), graph theory, trees, Boolean algebra, and modelling computation.
Learning Outcomes:
1. Relate mathematical concepts and terminology to examples in the domain of Computer
Science.
2. Model real world problems using various mathematical constructs.
3. Use different proofing techniques; construct simple mathematical proofs using logical
arguments.
4. Divide a problem or a proof into smaller cases.
5. Formulate mathematical claims and construct counterexamples.
UNIT-I (7 hours)
Sets, Functions, Sequences and Summations, Relations. Sets: Set Operations, Computer
Representation of Sets, Countable and Uncountable Set, Principle of Inclusion and Exclusion,
Multi-sets; Functions: One-to-one and Onto Functions, Inverse Functions and Compositions of
Functions, Graphs of Functions Sequences and Summations: Sequences, Special Integer
Sequences, Summations; Relations: Properties of Binary Relations, Equivalence relations and
Partitions, Partial Ordering Relations and Lattices.
UNIT-II (8 hours)
Logic and Proofs. Propositional Logic, Propositional Equivalences, Use of first-order logic to
express natural language predicates, Quantifiers, Nested Quantifiers, Rules of Inference,
Introduction to Proofs, Proof Methods and Strategies, Mathematical Induction.
UNIT-III (7 hours)
Number Theory. Division and Integers, Primes and Greatest Common Divisors, Representation
of Integers, Algorithms for Integer Operations, Modular Exponentiation, Applications of Number
10
EC (1267) - 25.08.2023
Theory.
UNIT-IV (8 hours)
Combinatorics/Counting. The Pigeonhole Principle, Permutations and Combinations, Binomial
Coefficients, Generalized Permutations and Combinations, Generating Permutations and
Combinations.
UNIT-VI (5 hours)
Recurrence. Recurrence Relations, Generating Functions, Linear Recurrence Relations with
Constant Coefficients and their solution.
References
1. C.L. Liu & Mahopatra, Elements of Discrete mathematics. 3rd edition. Tata McGraw
Hill. 2008.
2. Kenneth R., Discrete Mathematics and Its Applications. 6th edition. Mc Graw Hill.
2006.
1. Write a Program to create a SET A and determine the cardinality of SET for an input
array of elements (repetition allowed) and perform the following operations on the SET:
a) ismember (a, A): check whether an element belongs to set or not and return value as
true/false.
b) powerset(A): list all the elements of power set of A.
2. Create a class SET and take two sets as input from user to perform following SET
Operations:
a) Subset: Check whether one set is a subset of other or not.
b) Union and Intersection of two Sets.
c) Complement: Assume Universal Set as per the input elements from the user.
d) Set Difference and Symmetric Difference between two SETS
e) Cartesian Product of Sets.
3. Create a class RELATION, use Matrix notation to represent a relation. Include functions
to check if the relation is Reflexive, Symmetric, Anti-symmetric and Transitive. Write a
Program to use this class.
4. Use the functions defined in Ques 3 to check whether the given relation is:
a) Equivalent, or
b) Partial Order relation, or
c) None
5. Write a Program to implement Bubble Sort. Find the number of comparisons during each
pass and display the intermediate result. Use the observed values to plot a graph to
analyse the complexity of algorithm.
11
EC (1267) - 25.08.2023
6. Write a Program to implement Insertion Sort. Find the number of comparisons during
each pass and display the intermediate result. Use the observed values to plot a graph to
analyse the complexity of algorithm.
7. Write a Program that generates all the permutations of a given set of digits, with or
without repetition. (For example, if the given set is {1,2}, the permutations are 12 and
21). (One method is given in Liu)
8. Write a Program to accept the truth values of variables x and y, and print the truth table
of the following logical operations:
a) Conjunction f) Exclusive NOR
b) Disjunction g) Negation
c) Exclusive OR h) NAND
d) Conditional i) NOR
e) Bi-conditional
10. Write a Program to represent Graphs using the Adjacency Matrices and check if it is a
complete graph.
11. Write a Program to accept a directed graph G and compute the in-degree and out-degree
of each vertex.
12
EC (1267) - 25.08.2023
Learning objectives:
1. To understand the sensing, acquisition and storage of digital images.
2. To study the image fundamentals and mathematical transforms necessary for image
processing.
3. To understand the digital processing systems and corresponding terminology.
4. To understand the base image transformation domains and methods.
Learning Outcomes:
1. Understand the fundamentals of Image Processing and its role and importance in avariety
of applications.
2. Write programs to read/write and manipulate images for the purpose of enhancement.
3. Understand the need for image transforms and their properties.
4. Understand different causes for image degradation and use various techniques to restore
images.
UNIT-I (8 hours)
Introduction: Digital Image Fundamentals, Brightness, Adaptation and Discrimination, Light and
Electromagnetic Spectrum, Image Sampling and Quantization, Some Basic Relationships between
Pixels Types of images.
UNIT-II (7 hours)
Spatial Domain Filtering: Some Basic Intensity Transformation Functions, Histogram
Equalization, Spatial Correlation and Convolution, Smoothening Spatial Filters-Low pass filters,
Order Statistics filters; Sharpening Spatial Filters- Laplacian filter.
UNIT-III (8 hours)
Filtering in Frequency Domain: The Discrete Fourier Transformation (DFT), Frequency
Domain Filtering:-Ideal and Butterworth Low pass and high pass filters
UNIT-IV (7 hours)
Image Degradation and Compression: Noise models, Noise Restoration Filters, Fundamentals
of Image Compression, Huffman Coding, Run Length Coding
13
EC (1267) - 25.08.2023
UNIT VI (5 hours)
Image Segmentation: Point, Line and Edge Detection, Thresholding.
References:
1. Gonzalez, R. C., & Woods, R. E. Digital Image Processing. 4th edition. Pearson
Education, 2017
2. Castleman, K. R. Digital Image Processing. 1st edition. Pearson Education,2007
3. Gonzalez, R. C., Woods, R. E., & Eddins, S. Digital Image Processing using MATLAB.
Pearson Education Inc., 2004
4. Jain, A. K. Fundamentals of Digital Image Processing. 1st edition Prentice Hall of India,
1988.
1. Write program to read and display digital image using MATLAB or SCILAB
a. Become familiar with SCILAB/MATLAB Basic commands
b. Read and display image in SCILAB/MATLAB
c. Resize given image
d. Convert given color image into gray-scale image
e. Convert given color/gray-scale image into black & white image
f. Draw image profile
g. Separate color image in three R G & B planes
h. Create color image using R, G and B three separate planes
i. Flow control and LOOP in SCILA
j. Write given 2-D data in image file
2. To write and execute image processing programs using point processing method
a. Obtain Negative image
b. Obtain Flip image
c. Thresholding
d. Contrast stretching
10. Write a program in C and MATLAB/SCILAB for edge detection using different edge
detection mask
11. Write and execute program for image morphological operations erosion and dilation.
15
EC (1267) - 25.08.2023
Learning objectives:
1. Design and develop software systems (including analysis, design, construction,
maintenance, quality assurance and project management) using the appropriate theory,
principles, tools and processes.
2. Use appropriate computer science and mathematics principles in the development of
software systems.
3. Solve problems in a team environment through effective using various tools, techniques
and processes.
4. Introduce the current issues presently involved in effectively performing duties as a
software practitioner in an ethical and professional manner for the benefit of society.
5. Practice the lifelong learning needed in order to keep current as well as new challenging
issues in real life scenario.
6. Develop software in at least one application domains like Healthcare, safety, Society,
Legal, Environment, Communication etc.
Learning Outcomes:
1. Illustrate the strengths and weaknesses of certain models and logics including state
machines, algebraic and process models, and temporal logic;
2. Describe appropriate abstract formal models for certain classes of systems, describe
abstraction relations between different levels of description, and reason about the
correctness of refinements;
3. Prove elementary properties about systems described by the models introduced in the
course.
Unit-II (7 hours)
Software Project Management: Estimation in Project Planning Process, Project Scheduling.
Software Risks, Risk Identification, Risk Projection and Risk Refinement, RMMM Plan.
16
EC (1267) - 25.08.2023
Unit-III (8 hours)
Quality Management Quality Concepts, Software Quality Assurance, Software Reviews, Metrics
for Process and Projects.
Referenced Books:
1. R.S. Pressman, Software Engineering: A Practitioner’s Approach (7th Edition), McGraw-
Hill, 2009.
2. P. Jalote, An Integrated Approach to Software Engineering (2nd Edition), Narosa Publishing
House, 2003.
3. K.K. Aggarwal and Y. Singh, Software engineering (revised 2nd Edition), New Age
International Publishers, 2008.
4. R. Mall, Fundamentals of Software Engineering (2nd Edition), Prentice-Hall of India, 2004.
17
EC (1267) - 25.08.2023
Learning objectives:
1. To introduce the fundamentals of Internet, and the principles of web design.
2. To construct basic websites using JQuery and AJAX.
Learning Outcomes:
1. Assimilate and master latest framework like frameworks like js, Node.js, and Mongo DB.
2. Build Responsive Web application using Angular Typescript
3. Learn Angular Binding and events with templates
4. Use Mongo DB queries, tools and apply CRUD operations.
UNIT II (5 hours)
Introduction to Angular JS: Angular Architecture, Building blocks of Angular, Angular CLI
and commands, Angular Modules, Understanding files in Angular, Angular forms.
18
EC (1267) - 25.08.2023
References
1. Node.js, Mongo DB and Angular Web Development: The definitive guide to using the MEAN
stack to build web applications (Developer's Library) - by Brad Dayley , Addison-Wesley; 2nd
edition
2. JQuery Cookbook by Cody Lindley, O'Reilly Media, Inc.
19
EC (1267) - 25.08.2023
Learning objectives:
1. The objective of the course is to equip the students with a general overview of the concepts
and fundamentals of computer networks.
2. Familiarize the students with the standard models for the layered approach to
communication between machines in a network and the protocols of the various layers
Learning Outcomes:
1. Understand the basics of data communication, networking, internet and their importance
2. Analyze the services and features of various protocol layers in data networks.
3. Differentiate wired and wireless computer networks
4. Analyze TCP/IP and their protocols.
5. Recognize the different internet devices and their functions.
6. Identify the basic security threats of a network.
UNIT-I (8 hours)
Basics of Networking: Network Concept, Benefits of Network, Network classification (PAN,
LAN, MAN, WAN), Peer to Peer, Client Server architecture,
Transmission media: Guided & Unguided, Network Topologies.
Networking terms: DNS, URL, client server architecture, TCP/IP, FTP, HTTP, HTTPS, SMTP,
Telnet
OSI and TCP/IP Models: Layers and their basic functions and Protocols, Comparison of OSI
and TCP/IP. Networking Devices: Hubs, Switches, Routers, Bridges, Repeaters, Gateways and
Modems, ADSL.
UNIT-II (7 hours)
Ethernet Networking: Half and Full-Duplex Ethernet, Ethernet at the Data Link Layer, Ethernet
at the Physical Layer.
Switching Technologies: layer-2 switching, address learning in layer-2 switches, network loop
problems in layer-2 switched networks, Spanning-Tree Protocol, LAN switch types and working
with layer-2 switches, Wireless LAN
20
EC (1267) - 25.08.2023
References:
1. Tananbaum A.S, “Computer Networks” 3rd Ed. PHI, 1999
2. Dr. Sanjay Sharma, “A Course in Computer Network” S. K. Kataria & Sons
3. Todd Lammle, “CCNA Cisco Certified Network Associate Study Guide”, SYBEX.
4. A Forouzan, “Data Communications & Networking”,4th Ed, Tata McGraw Hill, 2007
21
EC (1267) - 25.08.2023
Learning objectives:
This course gives an overview of Big Data, i.e. storage, retrieval and processing of big data. In
addition, it also focuses on the “technologies”, i.e., the tools/algorithms that are available for
storage, processing of Big Data. It also helps a student to perform a variety of “analytics” on
different data sets and to arrive at positive conclusions.
Learning Outcomes:
1. Perform data gathering of large data from a range of data sources.
2. Critically analyze existing Big Data datasets and implementations, taking practicality, and
usefulness metrics into consideration.
3. Understand and demonstrate the role of statistics in the analysis of large of datasets
4. Select and apply suitable statistical measures and analyses techniques for data of various
structure and content and present summary statistics
5. Understand and demonstrate advanced knowledge of statistical data analytics as applied
to large data sets
6. Employ advanced statistical analytical skills to test assumptions, and to generate and
present new information and insights from large datasets
Unit-I (5 hours)
Unit-II (5 hours)
Mining data streams: Introduction to Streams Concepts – Stream Data Model and Architecture
- Stream Computing - Sampling Data in a Stream – Filtering Streams – Counting Distinct Elements
in a Stream – Estimating Moments – Counting Oneness in a Window – Decaying Window - Real
time Analytics Platform (RTAP) Applications - Case Studies – Real Time Sentiment Analysis-
Stock Market Predictions.
Unit-III (5 hours)
Hadoop: History of Hadoop- the Hadoop Distributed File System – Components of Hadoop
22
EC (1267) - 25.08.2023
Analyzing the Data with Hadoop - Scaling Out- Hadoop Streaming- Design of HDFS- Java
interfaces to HDFS Basics- Developing a Map Reduce Application-How Map Reduce Works-
Anatomy of a Map Reduce Job Run-Failures-Job Scheduling-Shuffle and Sort – Task execution -
Map Reduce Types and Formats- Map Reduce Features Hadoop environment.
Unit-IV (5 hours)
Frameworks: Applications on Big Data Using Pig and Hive – Data processing operators in Pig –
Hive services – HiveQL – Querying Data in Hive - fundamentals of HBase and Zoo Keeper - IBM
Info Sphere Big Insights and Streams.
References:
23
EC (1267) - 25.08.2023
Learning objectives:
1. Explain and evaluate the fundamental theories for advanced database architectures and
query operators.
2. Design and implement parallel database systems with evaluating different methods of
storing, managing of parallel database.
3. Assess and apply database functions of distributed database.
Learning Outcomes:
1. Identify advance database concepts and database models.
2. Apply and analyze various terms related to transaction management in centralized and
distributed database.
3. Learn concept of transactional processing and its commands.
4. Improve the database design by normalization.
5. Administer and analyze database with query optimization technique
UNIT-I (5 hours)
Introduction: Formal review of relational database and FDs Implication, Closure, its correctness.
UNIT-II (5 hours)
Normalization: 3NF and BCNF, Decomposition and synthesis approaches, Review of SQL
Queries, Basics of query processing, Query optimization, external sorting, file scans.
UNIT-III (5 hours)
Transactional Control: Commit, Save point, Rollback, DCL Commands: Grant and Revoke,
Types of locks: Row level locks, Table level locks, Shared lock, Exclusive lock,
Deadlock.
UNIT-IV (5 hours)
Creating and altering Views: Fundamentals of Database Triggers, Creating Triggers, Types of
Triggers: Before, after for each row, for each statement, Basics of PL/SQL.
24
EC (1267) - 25.08.2023
References:
1. R. Ramakrishnan, J. Gehrke, Database Management Systems, McGraw Hill, 2004
2. A. Silberschatz, H. Korth, S. Sudarshan, Database system concepts, 5/e, McGraw Hill, 2008.
3. R. Elmasri, S.B. Navathe Database Systems Models, Languages, Design and application
Programming, 6th Edition, Pearson Education, 2013.
25
EC (1267) - 25.08.2023
Learning objectives:
1. Creating robust mobile applications and learn how to integrate them with other services.
Learning Outcomes:
1. Describe characteristics of Android operating system.
2. Describe components of an android applications.
3. Design user interfaces using various widgets, dialog boxes, menus.
4. Define interaction among various activities/applications using intents, broadcasting, and
service.
5. Develop Android applications that require database handling.
26
EC (1267) - 25.08.2023
References
1. Griffiths, D., & Griffiths, D., (2015). Head First Android Development, O'reilly Media.
2. Meier, R., (2012). Professional Android™ 4 Application Development. John Wiley &
Sons, Inc.
27
EC (1267) - 25.08.2023
Learning Objectives:
1. To understand the basic theory underlying machine learning.
2. To be able to formulate machine learning problems corresponding to different applications.
3. To understand a range of machine learning algorithms along with their strengths and
weaknesses.
4. To be able to apply machine learning algorithms to solve problems of moderate complexity.
5. To apply the algorithms to a real-world problem, optimize the models learned and report on the
expected accuracy that can be achieved by applying the models.
Learning Outcomes:
1. Differentiate between supervised and unsupervised learning tasks.
2. Appreciate the need of preprocessing, feature scaling and feature selection.
3. Understand the fundamentals of classification, regression and clustering
4. Implement various machine learning algorithms learnt in the course.
Unit I (9 Hours)
Introduction: Basic definitions and concepts, key elements, supervised and unsupervised
learning, introduction to reinforcement learning, applications of ML.
Unit II (9 Hours)
Preprocessing: Feature scaling, feature selection methods. Dimensionality reduction (Principal
Component Analysis).
Unit IV (9 Hours)
Classification: Decision trees, Naive Bayes classifier, logistic regression, k-nearest neighbor
classifier, perceptron, multilayer perceptron, neural networks, back-propagation algorithm,
Support Vector Machine (SVM). Classification evaluation metrics.
Unit V (9 Hours)
Clustering: Approaches for clustering, distance metrics, K-means clustering, hierarchical
clustering.
28
EC (1267) - 25.08.2023
References
1. Mitchell, T.M. Machine Learning, McGraw Hill Education, 2017.
2. James, G., Witten. D., Hastie. T., Tibshirani., R. An Introduction to Statistical Learning with
Applications in R, Springer, 2014.
3. Alpaydin, E. Introduction to Machine Learning, MIT press, 2009.
29
EC (1267) - 25.08.2023
Learning objectives:
1. Assimilate and master latest framework like frameworks like js, Node.js, and Mongo DB.
Learning outcomes:
1. Able to use basic to advanced Node js.
2. Integrate Node js with mongo database
3. Install and use different tools like Github, Maven and Jenkins.
4. Develop a fully functioning website and deploy on a web server.
UNIT I (5 hours)
Introduction to Node JS: What is Node.js, Why Node.js, Node in-built packages (buffer, fs, http,
os, path, util, url), Node.js Modules, Import your own Package, Node Package Manager (NPM),
Local and Global Packages, File System: Get Input from Users, Pass Multiple Arguments with
Yargs, File System Module.
30
EC (1267) - 25.08.2023
References:
1. Node.js, Mongo DB and Angular Web Development: The definitive guide to using the MEAN
stack to build web applications (Developer's Library) - by Brad Dayley , Addison-Wesley; 2nd
edition
2. DevOps. Building CI/CD Pipelines with Jenkins, Docker Container, AWS ECS, JDK 11, Git
and Maven by John Edward Cooper Berg , Kindle Edition
31
EC (1267) - 25.08.2023
Learning Objectives:
The students will undergo one semester of project work based on the concepts studied in a subject of
their choice. The objective is to train the students for the industry by exposing them to prototype
development of real life software.
Learning Outcomes:
Each student shall carry out a minor project in the fifth semester. The students will work on any project
based on the concepts studied in core/elective/ skill based elective courses. Specifically, the project could
be a research study, or a software development project.
In case the student is opting for research project, students are required to select a relevant topic, carryout
a detailed literature review followed by a critical analysis or implementation. The conclusions drawn from
the analysis/ implementation must also be brought out in the form of a research paper.
PROJECT EVALUATION
The project will be evaluated as follows:
(a) Mid-semester evaluation 25% weightage
(b) End-semester evaluation
(i) External Examination 50% weightage
Thesis/Project report - 25% of total marks.
Software Coding
i) Documentation - 10% of total marks.
ii) Software - 15% of total marks. 32
EC (1267) - 25.08.2023
Practical/discussion sessions based on the area of the project. Work carried out in each lab session
will be assessed out of five marks (zero for being absent). Finally, the marks obtained will be scaled
out of a maximum marks of mid-semester evaluation (i.e. 25% of total marks).
● The end-semester evaluation marks to be awarded jointly by the examiner and supervisor /
mentor.
● The Mid-semester evaluation to be awarded by the supervisor/mentor. Work carried out in each
lab session will be assessed.
● The students will submit both the soft copy and the hard copy of the report.
● The reports may be retained by the examiners.
PROJECT REPORT
Two copies of the Project Report certified by the supervisor shall be submitted to the Department.
The format of report can be downloaded from the website/guide/ coordinator.
33
EC (1267) - 25.08.2023
Learning objectives:
1. To provide hardware and software issues in modern distributed systems.
2. To get knowledge in distributed architecture, naming, synchronization, consistency and
replication, fault tolerance, security, and distributed file systems.
3. To analyze the current popular distributed systems such as peer-to-peer (P2P) systems will
also be analyze
Learning Outcomes:
1. To understand the foundations of distributed systems.
2. To learn issues related to clock Synchronization and the need for global state in distributed
systems.
3. To learn distributed mutual exclusion and deadlock detection algorithms.
34
EC (1267) - 25.08.2023
References
1. Singhal&Shivaratri, "Advanced Concept in Operating Systems", McGraw Hill
2. Ramakrishna,Gehrke,” Database Management Systems”, McGraw Hill
3. Vijay K.Garg Elements of Distributed Computing, Wiley
4. Coulouris, Dollimore, Kindberg, "Distributed System: Concepts and Design”, Pearson
Education
5. Tenanuanbaum, Steen,” Distributed Systems”, PHI.
35
EC (1267) - 25.08.2023
Learning Objectives:
1. Study the concepts of Artificial Intelligence.
2. Learn the methods of solving problems using Artificial Intelligence.
3. Learn the knowledge representation techniques, reasoning techniques and planning
4. Introduce the concepts of Expert Systems and machine learning.
Learning Outcomes:
1. Identify problems that are amenable to solutions by specific AI methods.
2. Appreciate the utility of different types of AI agents.
3. Apply different informed search techniques for solving real world problems.
4. Use knowledge representation techniques for AI systems..
5. Understand human level, data driven and end to end approaches to AI.
36
EC (1267) - 25.08.2023
References:
1. Stuart J. Russell and Peter Norvig, Artificial Intelligence - A Modern Approach, Pearson, 4th
edition, 2020.
2. Elaine Rich and Kelvin Knight, Artificial Intelligence, 3 rd edition, Tata McGraw Hill, 2010.
3. Ivan Bratko, Prolog Programming for Artificial Intelligence, Addison-Wesley, Pearson
Education, 4th edition, 2012.
37
EC (1267) - 25.08.2023
Learning objectives:
1. Introduces the recurrence relations for analyzing the algorithms.
2. Introduces the graphs and their traversals.
3. Describes major algorithmic techniques (divide-and-conquer, greedy, dynamic
programming, Brute Force, Transform and Conquer approaches) and mention problems
for which each technique is appropriate.
4. Describes how to evaluate and compare different algorithms using worst-case, average-
case and best-case analysis.
Learning Outcomes:
1. Compute the asymptotic time complexity of algorithms
2. Prove correctness of algorithms
3. Use appropriate algorithm design technique(s) for solving a given problem
4. Appreciate the difference between tractable and intractable problems
38
EC (1267) - 25.08.2023
References
1. Cormen, T. H., Leiserson, C. E., Rivest, R. L., Stein C., Introduction to Algorithms. 3rd edition.
Prentice Hall of India. 2010.
2. Kleinberg, J., Tardos, E. Algorithm Design. 1st edition. Pearson. 2013.
A practical implementation of various algorithmic techniques such as sorting, graphs, greedy and
dynamic programming.
39
EC (1267) - 25.08.2023
Learning Objectives:
1. To provide the students basic understanding about cloud and virtualization along with it
how one can migrate over it.
2. To provide students concepts of security and privacy in a cloud.
Learning Outcome:
1. The fundamental ideas behind Cloud Computing, the evolution of the paradigm, its
applicability; benefits, as well as current and future challenges;
2. The basic ideas and principles in data center design; cloud management techniques and
cloud software deployment considerations;
3. Different CPU, memory and I/O virtualization techniques that serve in offering software,
computation and storage services on the cloud; Software Defined Networks (SDN) and
Software Defined Storage (SDS);
4. Could storage technologies and relevant distributed file systems, NoSQL databases and
object storage;
5. The variety of programming models and develop working experience in several of them.
Unit I (7 Hours)
Evolution of Cloud Computing: Trends of computing, Introduction to distributed computing,
cloud computing, Cloud Based Application Development Approach Vs. Traditional Application
Development Approach, What’s cloud computing, Properties & Characteristics, Service models,
Deployment models, SLA(Service Level Agreements), SLA at various levels, SOA(Service
oriented Architecture), SOA characteristics
Unit II (8 Hours)
Cloud Computing Architectural Framework: Infrastructure as a Service (IAAS), Platform as a
Service (PAAS), Software as a Service (SAAS), cloud computing vendors, Cloud Computing
threats, Cloud Reference Model, The Cloud Cube Model, issues in Cloud Computing ,Managing
and administrating the cloud services and cloud resources, Virtualization -Hypervisor
Architecture, Hardware Virtualization, Software Virtualization, Memory Virtualization, Storage
Virtualization, Data Virtualization, Network Virtualization,
Virtualization Security Recommendations
40
EC (1267) - 25.08.2023
Security and Storage: Aspects of Data Security, Data control, Network Security, Host Security,
Data Security Mitigation, Encryption, storage- confidentiality, integrity, and availability.
Security Management in the Cloud: Security Management Standards, Availability Management-
PAAS, SAAS, IAAS, Access Control, Security Vulnerability, Patch and Configuration
Management.
Unit IV (7 Hours)
Privacy in Cloud: Data Life-Cycle, Key Privacy Concerns in the Cloud, Responsibility for
protecting Privacy, Risk Management and Compliance in relation to Cloud Computing, Legal and
Regulatory Implications. Disaster Recovery: Disaster recovery planning, Disaster in Cloud,
Disaster Management
Reference Books:
1. Tim Mather, Subra Kumaraswamy, Shahed Latif, “Cloud Security and Privacy,” O Reilly
2. George Reese, “Cloud Application Architectures,” O Reilly
3. David S. Linthicum, “Cloud Computing and SOA Convergence in your Enterprise, A Step by
Step Guide, “Pearson
4. Dr. Gautam Shroff,"Enterprise Cloud Computing Technology, Architecture, Applications",
Cambridge University Press.
1. What are the fundamental differences between centralized and distributed computing?
2. How do elasticity and scalability differ in the context of cloud computing?
3. How to set up an Amazon EC2 instance?
4. Design a basic service-oriented architecture for a simple e-commerce website?
5. Explain the role of firewalls in cloud network security.
6. Launch a Linux Virtual Machine
7. Host a Static Website
8. Create an Amazon Elastic Kubernetes Service (EKS) and S3 Bucket
9. Writing IAM Policies: How to Grant Access to an Amazon S3 Bucket
41
EC (1267) - 25.08.2023
Learning Objectives:
1. To make a student learn basic principles of information security.
2. To familiarize students with cryptography, authentication and access control methods
along with software security.
3. To touch upon the implications of security in cloud and Internet of Things (IoT).
4. To discuss potential security threats and vulnerabilities of systems along with their
impacts and countermeasures.
Learning Outcome:
1. Identify the major types of threats to information security
2. Describe the role of cryptography in security
3. Discover the strengths and weaknesses of private and public key cryptosystems
4. Identify and apply various access control and authentication mechanisms
5. Discuss data and software security and, related issues
6. Explain network security threats and attacks
Unit I (5 Hours)
Overview Computer Security Concepts, Threats, Attacks, Security Functional Requirements, Fundamental
Security Design Principles, Attack Surfaces and Attack Trees.
42
EC (1267) - 25.08.2023
References:
1. Stallings, W. and Brown L. (2018) Computer Security: Principles and Practice, Fourth edition,
Pearson Education.
2. Pfleeger, C.P., Pfleeger, S.L., & Margulies, J. (2015). Security in Computing. 5th edition.
Prentice Hall
3. Lin, S. & Costello, D. J. (2004). Error Control Coding: Fundamentals and applications. 2nd
edition. Pearson Education
1. Demonstrate the use of Network tools: ping, ipconfig, ifconfig, tracert, arp, netstat,whois
2. Use of Password cracking tools : John the Ripper, Ophcrack. Verify the strength of passwords using
these tools.
3. Use nmap/zenmap to analyse a remote machine.
4. Use Burp proxy to capture and modify the message.
5. Demonstrate sending of a protected word document.
6. Demonstrate sending of a digitally signed document.
7. Demonstrate sending of a protected worksheet.
8. Demonstrate use of gpg utility for signing and encrypting purposes.
43
EC (1267) - 25.08.2023
Learning Objectives:
The students will undergo one semester of project work based on the concepts studied in a subject of
their choice. The objective is to train the students for the industry by exposing them to prototype
development of real life software.
Learning Outcomes:
Each student shall carry out a minor project in the sixth semester that can be a continuation of advancement
in Minor Project-1 or can be done from scratch. The students will work on any project based on the concepts
studied in core/elective/ skill based elective courses. Specifically, the project could be a research study, or a
software development project.
In case the student is opting for research project, students are required to select a relevant topic, carryout
a detailed literature review followed by a critical analysis or implementation. The conclusions drawn from
the analysis/ implementation must also be brought out in the form of a research paper.
PROJECT EVALUATION
The project will be evaluated as follows:
(a) Mid-semester evaluation 25% weightage
(b) End-semester evaluation
(i) External Examination 50% weightage
Thesis/Project report - 25% of total marks.
44
EC (1267) - 25.08.2023
Software Coding
i) Documentation - 10% of total marks.
ii) Software - 15% of total marks.
(ii) Viva-voce 25% weightage
Practical/discussion sessions based on the area of the project. Work carried out in each lab session
will be assessed out of five marks (zero for being absent). Finally, the marks obtained will be scaled
out of a maximum marks of mid-semester evaluation (i.e. 25% of total marks).
● The end-semester evaluation marks to be awarded jointly by the examiner and supervisor /
mentor.
● The Mid-semester evaluation to be awarded by the supervisor/mentor. Work carried out in each
lab session will be assessed.
● The students will submit both the soft copy and the hard copy of the report.
● The reports may be retained by the examiners.
PROJECT REPORT
Two copies of the Project Report certified by the supervisor shall be submitted to the Department.
The format of report can be downloaded from the website/guide/ coordinator.
45
EC (1267) - 25.08.2023
Learning Objectives:
To introduce students to deep learning algorithms and their applications in order to solve real
problems.
Learning Outcomes:
1. Describe the feed-forward and deep networks.
2. Design single and multi-layer feed-forward deep networks and tune various hyper
parameters.
3. Implement deep neural networks to solve a problem
4. Analyze performance of deep networks.
5. Use pre-trained models to solve a problem
UNIT-I (6 hours)
Introduction to neural networks: Artificial neurons, perceptron, computational models of
neurons, Structure of neural networks, Multilayer feed-forward neural networks (MLFFNN),
Back-propagation learning, Empirical risk minimization, bias-variance tradeoff, Regularization,
output units: linear, softmax , hidden units:tanh, RELU
UNIT-II (6 hours)
Deep neural networks: Difficulty of training DNNs, Greedy layerwise training, Optimization for
training DNN’s, Newer optimization methods for neural networks (AdaGrad, RMSProp, Adam),
Regularization methods (dropout, drop connect, batch normalization).
UNIT-III (6 hours)
Convolution neural networks (CNNs): Introduction to CNN - convolution, pooling, Deep CNNs
- LeNet, AlexNet. Training CNNs, weights initialization, batch normalization, hyper parameter
optimization, Understanding and visualizing CNNs, Using a pre trained convnet
UNIT-IV (6 hours)
Recurrent neural networks (RNNs): Sequence modeling using RNNs, Back propagation
through time, Longshot Term Memory (LSTM), Bidirectional RNN, Bidirectional LSTM
UNIT-V (6 hours)
Unsupervised deep learning: Auto-encoders, Generative Adversarial Networks. Applications of
Deep learning - Computer vision, Speech recognition and NLP.
46
EC (1267) - 25.08.2023
References:
1. Ian Goodfellow, Yodhua Bengio and Aaron Courville, Deep Learning, MITPress Book
2. Francois Chollet, Deep Learning with python second edition, Meaning Publications Co.
3. Bunduma, N. (2017). Fundamentals of Deep Learning. O’reilly Books.
4. Heaton, J. (2015). Deep Learning and Neural Networks, Heaton Research Inc.
47
EC (1267) - 25.08.2023
Learning Objectives
1. To make students understand what IoT is and how it works today
2. To make students aware of different applications of IoT.
3. To introduce students to technologies and smart systems under IoT
Learning Outcomes:
1. Able to understand the application areas of IOT ·
2. Able to realize the revolution of Internet in Mobile Devices, Cloud & Sensor Networks
3. Able to understand building blocks of Internet of Things and characteristics.
UNIT-I (5 Hours)
Introduction to IoT: Definition and Characteristics, Physical Design Things- Protocols, Logical
Design- Functional Blocks, Communication Models- Communication APIs- Introduction to
measure the physical quantities.
UNIT-II (5 Hours)
IoT Enabling Technologies - Wireless Sensor Networks, Cloud Computing Big Data Analytics,
Communication Protocols- Embedded System- IoT Levels and Deployment Templates.
UNIT-IV (5 Hours)
Sensing and Sensors: Wireless Sensor Networks, Challenges and Constraints, Introduction –
Fundamentals of MAC Protocols – MAC protocols for WSN – Sensor MAC Case Study.
UNIT-V (5 Hours)
Applications: Home Automation, Smart Cities, Environment, Energy, Retail, Logistics,
Agriculture, Industry, Health and Lifestyle, IoT and M2M
48
EC (1267) - 25.08.2023
References:
1. Michael Miller, The Internet of Things, Pearson Education, 2015.
2. Arshdeep Bahga and Vijay Madisetti, Internet of Things: Hands-on Approach, Hyderabad
University Press, 2015.
3. Greengard, Samuel. The internet of things. MIT press, 2015.
49
EC (1267) - 25.08.2023
Learning Objectives
1. To study fundamental concepts in software testing
2. To discuss various software testing issues and solutions in software unit test, integration and
system testing.
3. To expose the advanced software testing topics, such as object-oriented software testing
methods.
Learning Outcomes:
1. List a range of different software testing techniques and strategies and be able to apply.
2. Distinguish characteristics of structural testing methods.
3. Demonstrate the integration testing which aims to uncover interaction and compatibility
problems as early as possible.
4. Discuss about the functional and system testing methods.
5. Demonstrate various issues for object oriented testing.
UNIT-III (8 Hours)
Regression Testing: What is Regression Testing? Regression Test cases selection, reducing the
number of test cases, Code coverage prioritization technique. Reducing the number of test cases:
Prioritization guidelines, Priority category, Scheme, Risk Analysis.
UNIT-IV (7 Hours)
50
EC (1267) - 25.08.2023
Software Testing Activities: Levels of Testing, Debugging, Testing techniques and their
applicability, Exploratory Testing Automated Test Data Generation: Test Data, Approaches to test
data generation, test data generation using genetic algorithm, Test Data Generation Tools,
Software Testing Tools, and Software test Plan
UNIT-V (5 Hours)
Object Oriented Testing: Definition, Issues, Class Testing, Object Oriented Integration and
System Testing. Testing Web Applications: Web Testing, User Interface Testing, Usability
Testing, Security Testing, Performance Testing, Database testing, Post Deployment Testing.
References:
1. Yogesh Singh, “Software Testing”, Cambridge University Press, New York, 2012
2. K.K. Aggarwal & Yogesh Singh, “Software Engineering”, New Age International
Publishers, New Delhi, 2003.
3. Roger S. Pressman, “Software Engineering – A Practitioner’s Approach”, Fifth Edition,
McGraw-Hill International Edition, New Delhi, 2001.
4. Marc Roper, “Software Testing”, McGraw-Hill Book Co., London, 1994.
5. M.C. Trivedi, Software Testing & Audit, Khanna Publishing House
6. Boris Beizer, “Software System Testing and Quality Assurance”, Van Nostrand Reinhold,
New York, 1984.
51