Computer Science and Engineering s7 & s8
Computer Science and Engineering s7 & s8
SEMESTER VII
COMPUTER SCIENCE AND ENGINEERING
Preamble: The course aims to introduce the fundamental principles of intelligent systems to
students. This involves ideas about the characteristics of intelligent systems, knowledge
representation schemes, logic and inference mechanisms. The course helps the learner to
understand the design of self learning systems along with some of their typical applications in the
emerging scenario where the business world is being transformed by the progress made in
machine learning.
Prerequisite : NIL
Course Outcomes: After the completion of the course the student will be able to
CO# CO
Explain the fundamental concepts of intelligent systems and their architecture.
CO1 (Cognitive Knowledge Level: Understanding)
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Assessment Pattern
Mark Distribution
Total Marks CIE Marks ESE Marks ESE Duration
150 50 100 3
There will be two parts; Part A and Part B. Part A contains 10 questions with 2 questions from
each module, having 3 marks for each question. Students should answer all questions. Part B
contains 2 full questions from each module of which student should answer any one. Each
question can have maximum 2 sub-divisions and carries 14 marks.
Syllabus
Module – 1 (Introduction)
Introduction – What is Artificial Intelligence(AI) ? The Foundations of AI, History of AI,
Applications of AI. Intelligent Agents – Agents and Environments, Good behavior: The concept
of rationality, nature of Environments, Structure of Agents.
Text Book
1. Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach, 3rd Edition.
Prentice Hall.
References
1. Nilsson N.J., Artificial Intelligence - A New Synthesis, Harcourt Asia Pvt. Ltd.
Use the DECISION-TREE-LEARNING algorithm to learn a decision tree for these data.
Show the computations made to determine the attribute to split at each node.
2. What is multivariate linear regression? Explain.
QP CODE:
PART A
2 Describe any two ways to represent states and the transitions between them in
agent programs.
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11 (a) Explain the structure Goal-based agents and Utility-based agents with the (8)
. help of diagrams.
(b) For the following activities, give a PEAS description of the task environment (6)
and characterize it in terms of the task environment properties.
a) Playing soccer
b) Bidding on an item at an auction.
OR
12 (a) Explain the structure Simple reflex agents and Model-based reflex agents (8)
. with the help of diagrams.
13 (a) Explain Best First Search algorithm. How does it implement heuristic search? (6)
.
(b) Describe any four uninformed search strategies. (8)
COMPUTER SCIENCE AND ENGINEERING
OR
15 (a) (a) Solve the following crypt arithmetic problem by hand, using the strategy (8)
. of backtracking with forward checking and the MRV and least-constraining-
value heuristics.
(b) What is local consistency in CSP constraint propagation? Explain different (6)
types local consistencies.
OR
Suppose the first player is the maximizing player. What move should be
chosen? Justify your answer.
17 (a) Convert the following sentences into first order logic: (6)
. Everyone who loves all animals is loved by someone.
Anyone who kills an animal is loved by no one.
Jack loves all animals.
Either Jack or Curiosity killed the cat, who is named Tuna.
COMPUTER SCIENCE AND ENGINEERING
(b) Give a resolution proof to answer the question “Did Curiosity kill the cat? “ (8)
OR
18 (a) Prove or find a counter example to the following assertion in propositional (6)
. logic:
If α |= (β ∧ γ) then α |= β and α |= γ.
(b) For each pair of atomic sentences, give the most general unifier if it exists: (8)
Older (Father (y), y), Older (Father (x), John).
OR
20 (a) Consider the following data set comprised of two binary input attributes (A1 (8)
. and A2) and one binary output.
Teaching Plan
No Contents No of
Lecture
Hrs (36)
Module – 1 (Introduction) (7 hrs)
1.1 Introduction, What is Artificial Intelligence(AI)? 1
1.2 The foundations of AI, The history of AI 1
1.3 Applications of AI 1
1.4 Intelligent Agents – Agents and Environments 1
1.5 Good behavior: The concept of rationality 1
1.6 The nature of Environments 1
1.7 The structure of Agents 1
Module - 2 (Problem Solving by searching) (7 hrs)
2.1 Solving Problems by searching-Problem solving Agents 1
2.2 Illustration of the problem solving process by agents 1
2.3 Searching for solutions 1
2.4 Uninformed search strategies:BFS, Uniform-cost search, DFS, Depth- 1
limited search, Iterative deepening depth-first search
2.5 Informed search strategies: Best First search 1
2.6 Informed search strategies: A* Search 1
2.7 Heuristic functions 1
Module - 3 (Problem Solving in complex environments ) (7 hrs)
3.1 Adversarial search - Games 1
3.2 Optimal decisions in games, The Minimax algorithm 1
3.3 Alpha-Beta pruning 1
3.4 Constraint Satisfaction Problems – Defining CSP 1
3.5 Constraint Propagation- inference in CSPs 1
3.6 Backtracking search for CSPs 1
3.7 The structure of problems 1
COMPUTER SCIENCE AND ENGINEERING
CATEGORY L T P CREDIT
CSL411 COMPILER LAB
PCC 0 0 3 2
Preamble: This course aims to offer students hands-on experience on compiler design
concepts. Students will be able to familiarize with tools such as LEX and YACC and
automate different phases of a compiler. This course helps the learners to enhance the
capability to design and implement a compiler.
Course Outcomes: After the completion of the course the student will be able to
CO 1 Implement lexical analyzer using the tool LEX. (Cognitive Knowledge Level:
Apply)
CO 2 Implement Syntax analyzer using the tool YACC. (Cognitive Knowledge Level:
Apply)
CO 3 Design NFA and DFA for a problem and write programs to perform operations on it.
(Cognitive Knowledge Level: Apply)
PO 1 PO 2 PO 3 PO 4 PO 5 PO 6 PO 7 PO 8 PO 9 PO 10 PO 11 PO 12
CO 1
CO 2
CO 3
CO 4
CO 5
CO 6
COMPUTER SCIENCE AND ENGINEERING
Assessment Pattern
Continuous Assessment
Bloom’s Category End Semester Examination %
Test %
Remember 20 20
Understand 20 20
Apply 60 60
Analyze
Evaluate
Create
Mark distribution
150 75 75 3 hours
Attendance : 15 marks
Continuous Evaluation in Lab : 30 marks
Continuous Assessment Test : 15 marks
Viva-voce : 15 marks
End Semester Examination Pattern: The marks will be distributed as Algorithm 30 marks,
Program 20 marks, Output 20 marks and Viva 30 marks. Total 100 marks will be converted
out of 75 for End Semester Examination.
All Students attending the Compiler Lab should have a Fair Record. The fair record should be
produced in the University Lab Examination. Every experiment conducted in the lab should
be noted in the fair record. For every experiment in the fair record the right hand page should
contain Experiment Heading, Experiment Number, Date of Experiment, Aim of Experiment,
Details of Experiment including algorithm and Result of Experiment. The left hand page
should contain a print out of the code used for the experiment and sample output obtained for
a set of input.
SYLLABUS
PRACTICE QUESTIONS
List of Exercises/Experiments:
1. Design and implement a lexical analyzer using C language to recognize all valid tokens
in the input program. The lexical analyzer should ignore redundant spaces, tabs and
newlines. It should also ignore comments.
2. Implement a Lexical Analyzer for a given program using Lex Tool.
3. Write a lex program to display the number of lines, words and characters in an input text.
4. Write a LEX Program to convert the substring abc to ABC from the given input string.
5. Write a lex program to find out total number of vowels and consonants from the given
input sting.
9. Convert the BNF rules into YACC form and write code to generate abstract
syntax tree.
10. Write a program to find ε – closure of all states of any given NFA with ε transition.
11. Write a program to convert NFA with ε transition to NFA without ε transition.
14. Write a program to find First and Follow of any given grammar.
15. Design and implement a recursive descent parser for a given grammar.
19. Implement the back end of the compiler which takes the three address code and
produces the 8086 assembly language instructions that can be assembled and run
using an 8086 assembler. The target assembly instructions can be simple move,
add, sub, jump etc.
COMPUTER SCIENCE AND ENGINEERING
CATEGORY L T P CREDIT
CSQ413 SEMINAR
PWS 0 0 3 2
Preamble: The course ‘Seminar’ is intended to enable a [Link] graduate to read, understand,
present and prepare report about an academic document. The learner shall search in the
literature including peer reviewed journals, conference, books, project reports etc., and
identify an appropriate paper/thesis/report in her/his area of interest, in consultation with
her/his seminar guide. This course can help the learner to experience how a presentation can
be made about a selected academic document and also empower her/him to prepare a
technical report.
Course Objectives:
Course Outcomes [COs] : After successful completion of the course, the students will be able
to:
Identify academic documents from the literature which are related to her/his areas of
CO1
interest (Cognitive knowledge level: Apply).
Read and apprehend an academic document from the literature which is related to
CO2
her/ his areas of interest (Cognitive knowledge level: Analyze).
Prepare a presentation about an academic document (Cognitive knowledge
CO3
level: Create).
Give a presentation about an academic document (Cognitive knowledge level:
CO4
Apply).
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 2 2 1 1 2 1 3
CO2 3 3 2 3 2 1 3
CO3 3 2 3 1 2 3
CO4 3 2 1 3 3
CO5 3 3 3 3 2 2 2 3 3
COMPUTER SCIENCE AND ENGINEERING
Abstract POs defined by National Board of Accreditation
General Guidelines
The Department shall form an Internal Evaluation Committee (IEC) for the seminar
with academic coordinator for that program as the Chairperson/Chairman and seminar
coordinator & seminar guide as members. During the seminar presentation of a
student, all members of IEC shall be present.
Formation of IEC and guide allotment shall be completed within a week after the
University examination (or last working day) of the previous semester.
Guide shall provide required input to their students regarding the selection of topic/
paper.
Choosing a seminar topic: The topic for a UG seminar should be current and broad
based rather than a very specific research work. It's advisable to choose a topic for the
Seminar to be closely linked to the final year project area. Every member of the project
team could choose or be assigned Seminar topics that covers various aspects linked to
the Project area.
A topic/paper relevant to the discipline shall be selected by the student during the
semester break.
Topic/Paper shall be finalized in the first week of the semester and shall be submitted
to the IEC.
The IEC shall approve the selected topic/paper by the second week of the semester.
Accurate references from genuine peer reviewed published material to be given in the
report and to be verified.
COMPUTER SCIENCE AND ENGINEERING
Evaluation pattern
Seminar Guide: 20 marks (Background Knowledge – 10 (The guide shall give deserving
marks for a candidate based on the candidate's background knowledge about the topic
selected), Relevance of the paper/topic selected – 10).
Report: 20 marks to be awarded by the IEC (check for technical content, overall quality,
templates followed, adequacy of references etc.).
COMPUTER SCIENCE AND ENGINEERING
CATEGORY L T P CREDIT
CSD415 PROJECT PHASE I
PWS 0 0 6 2
Preamble: The course ‘Project Work’ is mainly intended to evoke the innovation and invention
skills in a student. The course will provide an opportunity to synthesize and apply the knowledge
and analytical skills learned, to be developed as a prototype or simulation. The project extends to
2 semesters and will be evaluated in the 7th and 8th semester separately, based on the achieved
objectives. One third of the project credits shall be completed in 7th semester and two third in 8th
semester. It is recommended that the projects may be finalized in the thrust areas of the respective
engineering stream or as interdisciplinary projects. Importance should be given to address societal
problems and developing indigenous technologies.
Course Objectives
To apply engineering knowledge in practical problem solving.
To foster innovation in design of products, processes or systems.
To develop creative thinking in finding viable solutions to engineering problems.
Course Outcomes [COs] :After successful completion of the course, the students will be able to:
Model and solve real world problems by applying knowledge across domains
CO1
(Cognitive knowledge level: Apply).
Develop products, processes or technologies for sustainable and socially relevant
CO2
applications (Cognitive knowledge level: Apply).
Function effectively as an individual and as a leader in diverse teams and to
CO3
comprehend and execute designated tasks (Cognitive knowledge level: Apply).
Plan and execute tasks utilizing available resources within timelines, following
CO4
ethical and professional norms (Cognitive knowledge level: Apply).
Identify technology/research gaps and propose innovative/creative solutions
CO5
(Cognitive knowledge level: Analyze).
Organize and communicate technical and scientific findings effectively in written
CO6
and oral forms (Cognitive knowledge level: Apply).
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 2 2 2 1 2 2 2 1 1 1 1 2
CO2 2 2 2 1 3 3 1 1 1 1
CO3 3 2 2 1
CO4 2 3 2 2 3 2
CO5 2 3 3 1 2 1
CO6 2 2 2 3 1 1
COMPUTER SCIENCE AND ENGINEERING
Abstract POs defined by National Board of Accreditation
PROJECT PHASE I
Phase 1 Target
(The evaluation committee comprises HoD or a senior faculty member, Project coordinator
and project supervisor).
COMPUTER SCIENCE AND ENGINEERING
Evaluation by the Guide
The guide/supervisor shall monitor the progress being carried out by the project groups on a
regular basis. In case it is found that progress is unsatisfactory it shall be reported to the
Department Evaluation Committee for necessary action. The presence of each student in the group
and their involvement in all stages of execution of the project shall be ensured by the guide.
Project evaluation by the guide: 30 Marks. This mark shall be awarded to the students in his/her
group by considering the following aspects:
Topic Selection: innovativeness, social relevance etc. (2)
Problem definition: Identification of the social, environmental and ethical issues of the project
problem. (2)
Purpose and need of the project: Detailed and extensive explanation of the purpose and need of
the project. (3)
Project Objectives: All objectives of the proposed work are well defined; Steps to be followed to
solve the defined problem are clearly specified. (2)
Project Scheduling & Distribution of Work among Team members: Detailed and extensive
Scheduling with timelines provided for each phase of project. Work breakdown structure well
defined. (3)
Literature survey: Outstanding investigation in all aspects. (4)
Student’s Diary/ Daily Log: The main purpose of writing daily diary is to cultivate the habit of
documenting and to encourage the students to search for details. It develops the students’ thought
process and reasoning abilities. The students should record in the daily/weekly activity diary the
day to day account of the observations, impressions, information gathered and suggestions given,
if any. It should contain the sketches & drawings related to the observations made by the students.
The daily/weekly activity diary shall be signed after every day/week by the guide. (7)
Individual Contribution: The contribution of each student at various stages. (7)
EVALUATION RUBRICS for PROJECT Phase I: Interim Evaluation
Formulation
None of the team members The students have some The students are comfortable Shows clear evidence of having a
of Design
show any evidence of knowledge on the design with design methods adopted, well- defined design methodology and
and/or
knowledge about the design procedure to be adopted, and and they have made some adherence to it. Excellent knowledge
Methodology
and and the methodology adopted the methodologies. However, the progress as per the plan. The in design procedure and its
1-c 5 till now/ to be adopted in the team has not made much methodologies are understood adaptation. Adherence to project
Progress.
(Group later stages. The team has progress in the design, and yet to a large extent. plan is commendable.
assessment) not progressed from the to catch up with the project
[CO1] previous stage of evaluation. plan.
The student show some interest The student shows very good
Individual and The student does not show interest in project, and takes up The student takes a leadership
and participates in some of the
any interest in the project tasks and attempts to complete position and supports the other
Teamwork activities. However, the activities
1-d activities, and is a passive them. Shows excellent team members and leads the project.
Leadership are mostly easy and superficial
10 member. responsibility and team skills. Shows clear evidence of leadership.
( Individual in nature.
assessment) Supports the other members
[CO3] well.
Preliminary The team has not done any The team has started doing There is some evidence to show Strong evidence for excellent
Analysis/ preliminary work with respect some preliminary work with that the team has done good progress in the project. The team
Modeling / to the analysis/modeling/ respect to the project. The amount of preliminary has completed the required
1-e
Simulation/ simulation/experiment/desig students however are not investigation and design/ preliminary work already and are
10
Experiment / n/feasibility study/ algorithm prepared enough for the work analysis/ modeling etc. poised to finish the phase I in an
Design/ development. and they need to improve a lot. They can improve further. excellent manner. They have shown
Feasibility results to prove their progress.
study
(0 – 3 Marks) (4 – 6 Marks) (7 - 9 Marks) (10 Marks)
[CO1]
The project stages are extensively
documented in the report.
Professional documentation tools
The team did not document
Some documentation is done, like LaTeX were used to document
Documentatio the work at all. The project
but not extensive. Interaction Most of the project details were the progress of the project along
n and journal/diary is not
1-f with the guide is minimal. documented well enough. with the project journal. The
presentation. 5 presented. The presentation
Presentation include some There is scope for documentation structure is well-
(Individual & was shallow in content and
points of interest, but overall improvement. The presentation planned and can easily grow into the
group dull in appearance.
quality needs to be improved. is satisfactory. Individual project report.
assessment). The individual student has no
Individual performance to be performance is good.
idea on the presentation of
improved. The presentation is done
[CO6] his/her part.
professionally and with great clarity.
The individual’s performance is
excellent.
SEMESTER VII
PROGRAM ELECTIVE II
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
CATEGORY L T P CREDIT INTRODUCTION
CST413 MACHINE LEARNING
PEC 2 1 0 3 2019
Preamble: This course enables the learners to understand the advanced concepts and algorithms
in machine learning. The course covers the standard and most popular supervised learning
algorithms such as linear regression, logistic regression, decision trees, Bayesian learning and the
Naive Bayes algorithm, basic clustering algorithms and classifier performance measures. This
course helps the students to provide machine learning based solutions to real world problems.
Prerequisite: Basic understanding of probability theory, linear algebra and Python Programming
Course Outcomes: After the completion of the course the student will be able to
CO1 Illustrate Machine Learning concepts and basic parameter estimation methods.
(Cognitive Knowledge Level: Apply)
CO2 Demonstrate supervised learning concepts (regression, linear classification).
(Cognitive Knowledge Level: Apply)
CO3 Illustrate the concepts of Multilayer neural network and Support Vector Machine
(Cognitive Knowledge Level: Apply)
CO4 Describe unsupervised learning concepts and dimensionality reduction techniques.
(Cognitive Knowledge Level: Apply)
CO5 Solve real life problems using appropriate machine learning models and evaluate the
performance measures (Cognitive Knowledge Level: Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 30 30 30
Understand 30 30 30
Apply 40 40 40
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
COMPUTER SCIENCE AND ENGINEERING
Syllabus
Module-1 (Overview of machine learning)
Machine learning paradigms-supervised, semi-supervised, unsupervised, reinforcement learning.
Basics of parameter estimation - maximum likelihood estimation(MLE) and maximum a posteriori
estimation(MAP). Introduction to Bayesian formulation.
Module-2 (Supervised Learning)
Regression - Linear regression with one variable, Linear regression with multiple variables,
solution using gradient descent algorithm and matrix method, basic idea of overfitting in
regression. Linear Methods for Classification- Logistic regression, Naive Bayes, Decision tree
algorithm ID3.
Module-3 (Neural Networks (NN) and Support Vector Machines (SVM))
Perceptron, Neural Network - Multilayer feed forward network, Activation functions (Sigmoid,
ReLU, Tanh), Backpropagation algorithm.
COMPUTER SCIENCE AND ENGINEERING
Reference Books
1. Christopher Bishop. Neural Networks for Pattern Recognition,Oxford University Press,
1995.
2. Kevin P. Murphy. Machine Learning: A Probabilistic Perspective, MIT Press 2012.
3. Trevor Hastie, Robert Tibshirani, Jerome Friedman, The Elements Of Statistical Learning,
Second edition Springer 2007.
4. P. Langley, Elements of Machine Learning, Morgan Kaufmann, 1995.
5. Richert and Coelho, Building Machine Learning Systems with Python.
6. Davy Cielen, Arno DB Meysman and Mohamed [Link] Data Science: Big Data,
Machine Learning, and More, Using Python Tools, Dreamtech Press 2016.
COMPUTER SCIENCE AND ENGINEERING
2. Suppose you have a three class problem where class label y ∈ 0, 1, 2 and each
training example X has 3 binary attributes X1, X2, X3 ∈ 0, 1. How many parameters
3. Describe how Support Vector Machines can be extended to make use of kernels.
Illustrate with reference to the Gaussian kernel K(x, y) = e−z, where z = (x−y)2 .
4. Briefly explain one way in which using tanh instead of logistic activations makes
optimization easier.
5. ReLU activation functions are most used in neural networks instead of the tanh
activation function. Draw both activation functions and give a) an advantage of the
ReLU function compared to the tanh function. b) a disadvantage of the ReLU
function compared to the tanh function.
Assume that k = 3 and that initially the points are assigned to clusters as follows:
C1 = {x1, x2, x3}, C2 = {x4, x5, x6}, C3 = {x7, x8}. Apply the k-means algorithm until
convergence, using the Manhattan distance.
4. Cluster the following eight points representing locations into three clusters: A1(2, 10),
A2(2, 5), A3(8, 4), A4(5, 8), A5(7, 5), A6(6, 4), A7(1, 2), A8(4, 9).
Initial cluster centers are: A1(2, 10), A4(5, 8) and A7(1, 2).
The distance function between two points a = (x1, y1) and b = (x2, y2) is defined as D(a, b)
= |x2 – x1| + |y2 – y1|
Use k-Means Algorithm to find the three cluster centers after the second iteration.
COMPUTER SCIENCE AND ENGINEERING
QP CODE:
PART A
5. Suppose that you have a linear support vector machine(SVM) binary classifier.
Consider a point that is currently classified correctly, and is far away from the
decision boundary. If you remove the point from the training set, and re-train the
classifier, will the decision boundary change or stay the same? Justify your answer.
6. Mention the primary motivation for using the kernel trick in machine learning
algorithms?
9. Classifier A attains 100% accuracy on the training set and 70% accuracy on the
test set. Classifier B attains 70% accuracy on the training set and 75% accuracy on
the test set. Which one is a better classifier. Justify your answer.
10. How does bias and variance trade-off affect machine learning algorithms?
(10x3=30)
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Suppose that X is a discrete random variable with the following probability (7)
mass function: where 0 ≤ θ ≤ 1 is a parameter. The following 10 independent
observations
(b) Suppose you have a three class problem where class label y ∈ 0, 1, 2 (7)
OR
12. (a) Consider the geometric distribution, which has p.m.f P(X = k) = (1 −θ)k−1θ. (7)
Assume that n i.i.d data are drawn from that distribution.
i. Write an expression for the log-likelihood of the data as a function of the
parameter θ.
ii. Find the maximum likelihood estimate for θ?
ii. Let θ has a beta prior distribution. What is the posterior distribution of θ?
(b) Find the maximum a posteriori (MAP) estimator for the mean of a univariate (7)
normal distribution. Assume that we have N samples, x1,..., xN independently
drawn from a normal distribution with known variance σ2 and unknown mean
µ and the prior distribution for the mean is itself a normal distribution with
mean ν and variance β2.
13. (a) Consider the hypothesis for the linear regression hθ(x) = θ0 + θ1x, and the cost (7)
function J( θ0, θ1) = 1/2m Σ1m( hθ(x(i)) – y(i))2where m is the number of training
examples. Given the following set of training examples.
(c) Explain the significance of regularization. How do Ridge differs from Lasso (4)
regularization?
OR
14. (a) The following dataset can be used to train a classifier that determines whether (7)
a given person is likely to own a car or not. There are three features: education
level (primary, secondary, or university); residence (city or country); gender
(female, male).
Use ID3 Algorithm and find the best attribute at the root level of the tree
(b) Consider a linear regression problem y = w1x + w0, with a training set having (7)
m examples (x1, y1), . . .(xm, ym). Suppose that we wish to minimize the mean
5th degree error (loss function) given by 1/m Σ1m(yi −w1xi − w0)5.
1. Calculate the gradient with respect to the parameter w1.
2. Write down pseudo-code for on-line gradient descent on w1.
3. Give one reason in favor of on-line gradient descent compared to batch-
gradient descent, and one reason in favor of batch over on-line.
COMPUTER SCIENCE AND ENGINEERING
15. (a) Consider a support vector machine whose input space is 2-D, and the inner (8)
products are computed by means of the kernel K(x, y) = (x.y + 1)2-1, where
x.y denotes the ordinary inner product. Show that the mapping to feature
space that is implicitly defined by this kernel is the mapping to 5-D given by
(b) Consider a neuron with four inputs, and weight of edge connecting the inputs (3)
are 1, 2, 3 and 4. Let the bias of the node is zero and inputs are 2, 3, 1, 4. If
the activation function is linear f(x)=2x, compute the output of the neuron.
OR
16. (a) State the mathematical formulation to express Soft Margin as a constraint (10)
optimization problem.
17. (a) Suppose that we have the following data (one variable). Use single linkage (8)
Agglomerative clustering to identify the clusters.
Data: (2, 5, 9, 15, 16, 18, 25, 33, 33, 45).
(b) Given two objects represented by the tuples (22, 1, 42, 10) and (20, 0, 36, 8): (6)
(i) Compute the Euclidean distance between the two objects.
(ii) Compute the Manhattan distance between the two objects.
(iii) Compute the Minkowski distance between the two objects, using p = 3
OR
19. (a) Suppose the dataset had 9700 cancer-free images from 10000 images from (7)
cancer patients. Find precision, recall and accuracy ? Is it a good classifier?
Justify.
Actual cancer = yes cancer = no Total
Class\Predicted
class
cancer = yes 90 210 300
cancer = no 140 9560 9700
Total 230 9770 10000
(b) What is Principal Component Analysis (PCA)? Which eigen value indicates (7)
the direction of largest variance?
OR
20. (a) Assume you have a model with a high bias and a low variance. What (6)
are the characteristics of such a model?
(b) What are ROC space and ROC curve in machine learning? In ROC space, (8 )
which points correspond to perfect prediction, always positive prediction and
always negative prediction? Why?
COMPUTER SCIENCE AND ENGINEERING
Teaching Plan
No. of
Lecture
No Contents Hours
(37 hrs)
Module -1 (Overview of machine learning) (7 hours)
1.1 Supervised, semi-supervised, unsupervised learning, reinforcement learning 1 hour
(Text Book (TB) 1: Chapter 1)
1.2 Maximum likelihood estimation(MLE) (TB 1: Section 4.2) 1 hour
1.3 Maximum likelihood estimation (MLE)- example (TB 1: Section 4.2) 1 hour
1.4 Maximum a posteriori estimation(MAP) (TB 4: Section 6.2) 1 hour
1.5 Maximum a posteriori estimation(MAP)-example (TB 4: Section 6.2) 1 hour
1.6 Bayesian formulation (TB 1: Section 14.1, 14.2) 1 hour
1.7 Bayesian formulation -example (TB 1: Section 14.1, 14.2) 1 hour
Module-2 (Supervised Learning) (7 hours)
2.1 Linear regression with one variable (TB 1: Section 2.6) 1 hour
2.2 Multiple variables, Solution using gradient descent algorithm and matrix 1 hour
method (No derivation required) (TB 1: Section 5.8)
2.3 Overfitting in regression, Lasso and Ridge regularization 1 hour
2.4 Logistic regression 1 hour
2.5 Naive Bayes (TB 2: Section 18.2) 1 hour
2.6 Decision trees (TB 2: Chapter 19) 1 hour
2.7 Decision trees- ID3 algorithm (TB 2: Chapter 19) 1 hour
Module-3 (Neural Networks and Support Vector Machines) (9 hours)
3.1 Perceptron, Perceptron Learning 1 hour
3.2 Multilayer Feed forward Network, Activation Functions (Sigmoid, ReLU, 1 hour
Tanh)
3.3 Back Propagation Algorithm 1 hour
3.4 Illustrative Example for Back Propagation 1 hour
3.5 Introduction, Maximum Margin Hyperplane, 1 hour
3.6 Mathematics behind Maximum Margin Classification 1 hour
3.7 Formulation of maximum margin hyperplane and solution 1 hour
COMPUTER SCIENCE AND ENGINEERING
3.9 Non-linear SVM , Kernels for learning non-linear functions, Examples - 1 hour
Linear, RBF, Polynomial
Module-4 (Unsupervised Learning) (7 hours)
5.6 Face detection (TB 3: Chapter 5 Section Application: A Face Detection 1 hour
Pipeline)
5.7 Face detection (TB 3: Chapter 5 Section Application: A Face Detection 1 hour
Pipeline)
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
CATEGORY L T P CREDIT INTRODUCTION
CST423 CLOUD COMPUTING
PEC 2 1 0 3 2019
Preamble: This course helps the learners to understand cloud computing concepts. This course
includes basic understanding of virtualization, fundamentals of cloud security, cloud computing
based programming techniques and different industry popular cloud computing platforms. This
course enables the student to suggest cloud based solutions to real world problems.
Course Outcomes: After the completion of the course the student will be able to
Explain the various cloud computing models and services. (Cognitive Knowledge
CO1
Level: Understand)
Explain different cloud enabling technologies and compare private cloud platforms
CO3
(Cognitive Knowledge Level: Understand)
Apply appropriate cloud programming methods to solve big data problems. (Cognitive
CO4
Knowledge Level: Apply)
Describe the need for security mechanisms in cloud (Cognitive Knowledge Level:
CO5
Understand)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
CO6
Assessment Pattern
Remember 30 30 30
Understand 40 40 40
Apply 30 30 30
Analyze
Evaluate
Create
Mark Distribution
Attendance : 10 marks
First Internal Examination shall be preferably conducted after completing the first half of the
syllabus and the Second Internal Examination shall be preferably conducted after completing the
remaining part of the syllabus.
There will be two parts: Part A and Part B. Part A contains 5 questions (preferably, 2 questions
each from the completed modules and 1 question from the partly covered module), having 3
marks for each question adding up to 15 marks for part A. Students should answer all questions
from Part A. Part B contains 7 questions (preferably, 3 questions each from the completed
modules and 1 question from the partly covered module), each with 7 marks. Out of the 7
questions in Part B, a student should answer any 5.
End Semester Examination Pattern:
There will be two parts; Part A and Part B. Part A contains 10 questions with 2 questions from
each module, having 3 marks for each question. Students should answer all questions. Part B
contains 2 questions from each module of which a student should answer any one. Each question
can have a maximum of 2 subdivisions and carries 14 marks.
Syllabus
Broadband networks and internet architecture- Internet Service Providers (ISPs), Data center
technology, Web technology, Multitenant technology, Service technology. Resource
provisioning techniques-static and dynamic provisioning.
Open-source software platforms for private cloud-OpenStack, CloudStack, Basics of Eucalyptus,
Open Nebula, Nimbus.
Cloud Programming- Parallel Computing and Programming Paradigms. Map Reduce – Hadoop
Library from Apache, HDFS, Pig Latin High Level Languages, Apache Spark.
Basic terms and concepts in security- Threat agents, Cloud security threats/risks, Trust.
Operating system security-Virtual machine security- Security of virtualization- Security Risks
Posed by Shared Images, Security Risks Posed by Management OS. Infrastructure security-
Network Level Security, Host Level Security, Application level security, Security of the Physical
Systems. Identity & Access Management- Access Control.
Text Books
1. Thomas, E., Zaigham M., Ricardo P "Cloud Computing Concepts, Technology &
Architecture.", (2013 Edition). Prentice Hall.
2. Buyya, R., Vecchiola, C., & Selvi, S. T. “Mastering cloud computing: foundations and
applications programming”, (2017 Edition), Morgan Kaufmann.
3. Bhowmik, S., “Cloud computing”, (2017 Edition). Cambridge University Press.
COMPUTER SCIENCE AND ENGINEERING
References
1. Marinescu, D. C., “Cloud computing: theory and practice.”, (2017 Edition). Morgan
Kaufmann.
2. Buyya, R., Broberg, J., & Goscinski, A. M., “Cloud computing: Principles and paradigms”
(2011 Edition). John Wiley & Sons.
(10 x3 =30)
PART B
Answer any one Question from each Module. Each question carries 14 Marks
11. (a) Discuss the cloud computing reference model. (8)
(b) Which are the basic components of an IaaS-based solution for cloud (6)
computing? Also provide some examples of IaaS implementations.
OR
12. (a) List down the characteristics and challenges of cloud computing. (6)
(b) Classify the various types of clouds. (8)
15. (a) Explain the broadband networks and internet architecture. (8)
(b) List and explain the technologies and components of data centers. (6)
OR
16. (a) What are the major functions of the MapReduce framework? Explain the (8)
logical data flow of MapReduce function using a suitable example .
(b) Write a Hadoop MapReduce program that counts the number of (6)
occurrences of each word in a file.
17. (a) Explain common threats and vulnerabilities in cloud-based environments (8)
with suitable examples.
(b) Discuss the security risks posed by shared images with suitable examples. (6)
COMPUTER SCIENCE AND ENGINEERING
OR
18. (a) Explain the operating system security in cloud computing. (8)
(b) What do you mean by threat agents?. Explain different types of threat (6)
agents.
19. (a) Describe Amazon EC2 and its basic features. (8)
(b) Illustrate the architecture of Amazon S3. (6)
OR
20. (a) Describe the core components of Google AppEngine. (8)
(b) Explain the architecture of Windows Azure. (6)
Teaching Plan
No Contents No. of
Lecture
Hours
(37 hrs)
1.6 Cloud deployment models: Public cloud, Community cloud, Private cloud, 1
Hybrid cloud.
COMPUTER SCIENCE AND ENGINEERING
2.2 Types of VMs: process VM v/s system VM, Emulation, interpretation and 1
binary translation.
3.1 Broadband networks and internet architecture: Internet Service Providers (ISPs), 1
Data center technology, Web technology, Multitenant technology, Service
technology.
4.5 Security Risks posed by Shared Images, Security Risks posed by Management 1
OS.
5.4 Google Cloud Platform:- IaaS Offerings: Compute Engine (GCE), Cloud 1
Storage.
5.5 PaaS Offerings: Google App Engine (GAE), Storage services, Application 1
services, Compute services.
YEAR OF
SECURITY IN CATEGORY L T P CREDIT INTRODUCTION
CST433
COMPUTING
PEC 2 1 0 3 2019
Preamble: This course helps the learners to explore various algorithms to offer confidentiality,
integrity, authentication &non-repudiation services and different attacks on system security with
their countermeasures. It covers classical encryption techniques, symmetric and public key
crypto-system, key distribution techniques, authentication functions, intruders, malicious
software, and DDoS attacks. The concepts covered in this course enable the learners in effective
use of cryptographic algorithms and appropriate countermeasures for securing real life
applications.
Course Outcomes: After the completion of the course, the student will be able to
CO1 Identify the security services provided against different types of security
attacks. (Cognitive Knowledge Level: Understand)
CO2 Illustrate classical encryption techniques for information hiding. (Cognitive
Knowledge Level: Apply)
CO3 Illustrate symmetric/asymmetric key cryptosystems for secure
communication. (Cognitive Knowledge Level: Apply)
CO4 Explain message integrity and authentication methods in a secure
communication scenario. (Cognitive Knowledge Level: Understand)
CO5 Interpret public/secret key distribution techniques for secure communication.
(Cognitive Knowledge Level: Understand)
CO6 Identify the effects of intruders, malicious software and distributed denial of
service attacks on system security. (Cognitive Knowledge Level:
Understand)
COMPUTER SCIENCE AND ENGINEERING
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
CO6
Assessment Pattern
End Semester
Bloom’s Category Test 1 (%) Test 2 (%)
Examination (%)
Remember 30 30 30
Understand 40 40 40
COMPUTER SCIENCE AND ENGINEERING
Apply 30 30 30
Analyse
Evaluate
Create
Mark Distribution
Total Marks CIE Marks ESE Marks ESE Duration
150 50 100 3
Attendance : 10 marks
Continuous Assessment Test : 25 marks
Continuous Assessment Assignment : 15 marks
Each of the two internal examinations has to be conducted out of 50 marks. First series test
shall be preferably conducted after completing the first half of the syllabus and the second
series test shall be preferably conducted after completing remaining part of the syllabus. There
will be two parts: Part A and Part B. Part A contains 5 questions (preferably, 2 questions each
from the completed modules and 1 question from the partly completed module), having 3
marks for each question adding up to 15 marks for part A. Students should answer all
questions from Part A. Part B contains 7 questions (preferably, 3 questions each from the
completed modules and 1 question from the partly completed module), each with 7 marks. Out
of the 7 questions, a student should answer any 5.
There will be two parts; Part A and Part B. Part A contains 10 questions with 2 questions from
each module, having 3 marks for each question. Students should answer all questions. Part B
contains 2 questions from each module of which a student should answer any one. Each
question can have maximum 2 sub-divisions and carries 14 marks.
COMPUTER SCIENCE AND ENGINEERING
Syllabus
Text Books
1. William Stallings, Cryptography and Network Security Principles and Practice, 4/e,
Pearson Ed.
2. Behrouz A Forouzan, Cryptography and Network Security, 3/e, Tata McGraw-Hill.
COMPUTER SCIENCE AND ENGINEERING
References
1. Charles P Pfleeger, Shari Lawrence Pfleeger, Jonathan Margulies, Security in Computing,
5/e, Prentice Hall.
2. G.A. Jones & J.M. Jones, Elementary Number Theory, Springer UTM, 2007.
1. Define the type of security attack in the following case: A student breaks into a
teacher’s office to obtain a copy of the next day’s exam question paper.
2. Which security mechanism is provided in the following case: A bank requires the
customer’s signature for a withdrawal.
1. Alice wishes to send the message “COME BACK EARLY” to Bob, using Playfair
cipher. The key to be used is “SAFFRON”. Show the process of encryption.
2. Using Affine cipher, encrypt “HOT” and decrypt “JDG”. Key is (7, 3).
3. Implement the Vigenere cipher method in a suitable programming language.
(Assignment)
1. If the DES key with parity bit is 0123 ABCD 2562 1456, find the first round key.
2. In RSA, given p=19, q=23, public key(e)=3, find n, ɸ(n) and private key(d).
3. Implement any two symmetric/asymmetric encryption techniques in a suitable
programming language. (Assignment)
1. List any two ways in which secret keys can be distributed to two communicating
parties.
2. Explain the significance of a public-key authority in the distribution of public keys.
1. What are false positives and negatives in the context of Intrusion Detection Systems?
How can we reduce these two?
2. Distinguish between a direct DDoS attack and a reflector DDoS attack.
3. Bob works as a network administrator in ABC & Co. On a day of his absence, he
shared his admin password with one of his colleagues, John, to manage a network
issue. Later John started misusing this privilege by launching DoS attacks in the
network. Describe the ethical issues in this scenario and how can this be avoided?
(Assignment)
Reg No:_______________
Name:_________________
2. Use an Affine cipher to encrypt the message “SECURITY” with the key pair(7,2)
in modulus 26.
Part B
(Answer any one question from each module. Each question carries 14
Marks)
11. (a) Illustrate the two approaches to attack a conventional encryption scheme. (4)
OR
12. (a) Encrypt the text “this is an exercise and complete it” using transposition
cipher with the key (3,2,1,4,5). Show decryption of the ciphertext to recover (6)
the original text back.
(b) Encrypt the message “the house is being sold tonight”using the following (8)
ciphers. Ignore the space between words.
i) Vigenere cipher with key = “largest”.
ii) Autokey system of Vigenere cipher with key =“largest”.
OR
COMPUTER SCIENCE AND ENGINEERING
15. (a) Compare the Cipher Block Chaining Mode (CBC) and Cipher Feedback (6)
Mode (CFB) of block ciphers.
(b) Explain RSA cryptosystem. In an RSA cryptosystem a participant A uses two (8)
prime numbers p=13 and q=17 to generate public key and private key. The
public key of A is 35. Find the private key of A.
OR
16. (a) Illustrate ElGamal cryptosystem. (6)
(b) Consider a Diffie–Hellman scheme with a common prime q=11 and a (8)
primitive root α=2.
i) Show that 2 is a primitive root of 11.
ii) If User A has public key YA= 9, what is A’s private key XA?
iii) If User A has public key YB= 3, what is the shared secret key K,
shared with A?
17. (a) Describe different types of arbitrated digital signature techniques. (6)
OR
19. (a) Explain four techniques used to avoid guessable passwords. (6)
(b) Describe the different techniques for public key distribution. (8)
OR
20. (a) Explain different types of Simple DDoS attack and its countermeasures. (6)
(b) Differentiate between statistical anomaly detection and rule-based intrusion (8)
detection.
COMPUTER SCIENCE AND ENGINEERING
Teaching Plan
[Link]
No Contents Lecture
Hours
(35Hrs)
Preamble: The objective of the course is to familiarize learners about the concepts and advantages
of using model based software development. This course covers the methodologies in developing
the model of a software, perform analysis on the model and automatic generation of code from the
model. The OSATE framework and its plugins using the Architecture Analysis and Design
Language(AADL) language is used in the course to demonstrate the end-to-end concept of MBSD
which helps the learners to get a hands on experience.
Course Outcomes: After the completion of the course the student will be able to
CO1 Explain the relevance of model based software development in the software
development process. (Cognitive Knowledge level: Understand)
CO2 Explain Model Driven Architecture with Computation Independent Model (CIM),
Platform Independent Model(PIM), Platform Specific Model (PSM). (Cognitive
Knowledge level: Apply)
CO3 Illustrate software modeling with Architecture Analysis and Design Language
(AADL). (Cognitive Knowledge level: Apply)
CO4 Explain error annex using error modelling concepts and illustrate error modelling
in AADL. (Cognitive Knowledge level: Understand)
CO5 Illustrate the process of code generation from an AADL model. (Cognitive
Knowledge level: Understand)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Assessment Pattern
Test 1 (Marks in Test 2 (Marks End Semester
Bloom’s Category
percentage) in percentage) Examination Marks
Remember 30 30 30
Understand 50 50 50
Apply 20 20 20
Analyse
Evaluate
Create
Mark Distribution
question adding up to 15 marks for part A. Students should answer all questions from Part A. Part B
contains 7 questions (preferably, 3 questions each from the completed modules and 1 question from
the partly completed module), each with 7 marks. Out of the 7 questions, a student should answer
any 5.
Syllabus
Module - 1 (Introduction to Model Based Software Development)
Software faults, Introduction to Model checking, Introduction to Automated Testing, Model Based
Software Development (MBSD) – Need, MBSD Approach, Learning MBSD from the perspective
of Architecture Analysis and Design Language (AADL).
Modeling: Developing a Simple Model - Define the components - Explain with example
(powerboat autopilot system), Develop a top-level model - Use example Powerboat Autopilot
(PBA) system.
Safety Analysis -Fault tree analysis, Minimal cutsets. Error Modeling in AADL-Error Model
Libraries and Subclause Annotations, Error Types and Common Type Ontology, Error Sources and
Their Impact, Component Error Behavior, Compositional Abstraction of Error Behavior, Use of
Properties in Architecture Fault Models, Error modeling example.
COMPUTER SCIENCE AND ENGINEERING
Need for code generation, Categorization, Code Generation Techniques, Code Generation in AADL
Model – Ocarina.
Text Books
References:
2. Assume we have a system to regulate the fuel valve of a boiler by monitoring the steam flow
and steam pressure. Identify the basic components of this system and design its AADL
model.
1. Suppose we have an isolette system which ensures the temperature is within a specified
temperature range with following components:
iv) operator interface - specify target temperature range(lower desired temperature, upper
desired temperature.)
iv) thermostat - takes as input an air temperature value from a temperature sensor and
controls a heat source to produce an air temperature within a target range.
Model the error flows, error propagations, component error behaviour and error properties
for the value error in the isolette system.
QP CODE:
PART A
COMPUTER SCIENCE AND ENGINEERING
2. Specify the steps and their purpose in the model checking process.
3. Compare Analysis And Design Language (AADL) with Unified modeling language
(UML).
4. Describe the design phase in the model based software development process.
5. Represent interface component with an out data port and an out event port in
AADL.
a) textual b)graphical
6. Give the textual top level model of a powerboat autopilot system in AADL.
7. What is an error type? Mention any two pre-declared timing and value errors in
AADL.
10. How does automated code generation help to deal with faults in a software system?
(10x3=30)
Part B
(Answer any one question from each module. Each question carries 14 Marks)
OR
12. (a) What are software faults? Mention any three software faults and its (5)
consequences.
OR
OR
(2)
(b) Design an AADL model which controls the speed of a vehicle. Also describe (10)
the basic components of the designed model.
17. (a) Illustrate how value error can be modelled using AADL in the isolette system. (10)
(b) With a diagram explain error propagation, termination and transformation in (4)
AADL models.
OR
18. (a) Illustrate error state machines in AADL using proper textual representations. (8)
(b) Suppose we have a train door controller system with following components (6)
i) door_controller - ensures safe opening of the door.
ii) train_controller - sends train speed and transit status to the
door_controller.
iii) alarm - triggered when an emergency occurs in other components.
Model the error flows, error propagations, component error behaviour and
error properties for the value error in the component door_controller.
19. (a) Explain templates and meta model type code generation? (4)
(b) Illustrate how the code can be generated from an AADL model. (10)
COMPUTER SCIENCE AND ENGINEERING
OR
Teaching Plan
Sl Contents Number of
No Lecture
Hours (35)
4.3 Error modeling with AADL - Error Model Libraries and Subclause 1
Annotations
4.4 Error modeling with AADL - Error Types and Common Type Ontology, 1
4.5 Error modeling with AADL - Error Sources and Their Impact, Component 1
Error Behavior
5.2 Categorization 1
YEAR OF
CATEGORY L T P CREDIT INTRODUCTION
CST463 WEB PROGRAMMING
PEC 2 1 0 3 2019
Preamble: This course helps the learners to understand the web programming concepts. It
includes the essential frontend and backend technologies needed for the development of web
applications. The learners will have an opportunity to gain necessary web development skills such
as HTML, CSS, JavaScript, PHP, MySQL integration, JSON and Laravel framework.
Prerequisite: Knowledge of Programming is required.
Course Outcomes: After the completion of the course the student will be able to
CO1 Use HyperText Markup Language (HTML) for authoring web pages and understand
the fundamentals of WWW. (Cognitive Knowledge Level: Understand)
CO2 Construct and visually format responsive, interactive web pages using CSS and
JavaScript (JS) (Cognitive Knowledge Level: Apply)
CO3 Construct websites using advanced sever side programming tool PHP (Cognitive
Knowledge Level: Apply)
CO4 Develop dynamic web applications using PHP and perform MySQL database
operations. (Cognitive Knowledge Level: Apply)
CO5 Explain the importance of object exchange formats using JSON and the MVC based
web application development frameworks (Laravel) (Cognitive Knowledge Level:
Understand)
PO PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
1
CO1
CO2
CO3
CO4
COMPUTER SCIENCE AND ENGINEERING
CO5
Assessment Pattern
Remember 20 20 20
Understand 40 40 40
Apply 40 40 40
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
COMPUTER SCIENCE AND ENGINEERING
Syllabus
Module – 1 (WWW, HTML)
Introduction to the Internet & WWW: Evolution of Internet & World Wide Web- Web Basics,
URI’s & URL-MIME.
Backgrounds-List Styles-Element Dimensions- Table Layouts-Box Model and Text Flow-div and
span -Basics of Responsive CSS, Media port & Media Queries.
PHP Language Structure: Introduction- Building blocks of PHP-Variables, Data Types -simple
PHP program-Converting between Data Types- Operators and Expressions -Flow Control
functions - Control statements- Working with Functions- Initialising and Manipulating Arrays--
Objects- String Comparisons-String processing with Regular Expression
Advanced PHP: Form processing and Business Logic-Cookies- Sessions & MySQL Integration-
Connecting to MySQL with PHP- Performing CREATE, DELETE, INSERT, SELECT and
UPDATE operations on MySQL table -Working with MySQL data-Reading from Database-
Dynamic Content.
JSON Data Interchange Format: Syntax, Data Types, Object, JSON Schema, Manipulating
JSON data with PHP
Text Books
1 Paul J. Deitel, Harvey M. Deitel, Abbey Deitel, Internet & World Wide Web
How to Program 5th Edition [Module 1,2,3,4]
2. Lindsay Bassett, Introduction to JavaScript Object Notation: A To-the-Point Guide to JSON
1st Edition, O’Reilly [Module 5]
3. Julie C. Meloni, Pearson -PHP, MySQL & JavaScript All in One, Sams Teach Yourself,5th Ed
[Module 4]
4. Matt Stauffer,” LARAVEL up and Running, A framework for building modern PHP apps”1st
Edition, O’REILLY [Module 5]
COMPUTER SCIENCE AND ENGINEERING
Reference Books
1. Robert W Sebesta, Programming the World Wide Web, 7/e, Pearson Education Inc,8th Edition
2. Larry Ullman, Pearson- PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide
3. Eric van der Vlist, Danny Ayers, Erik Bruchez, Joe Fawcett, Alessandro Vernet",Wrox-
Professional Web 2.0 Programming, Wiley-India edition
4. Web Technologies Black Book 2018(As per Mumbai University Syllabus) HTML, CSS3,
JavaScript, iQuery, AJAX,PHP,XML,MVC and Laravel DT Editorial Services (ISBN:
9789386052490)
QP CODE:
PART A
1. Define WWW. List any two examples of web server & web browser. Differentiate
between URL and a domain?
2. Write the syntax of the URL? Rewrite the default URL of your university website
by adding a subdomain named ‘Research’ and a web page named ‘[Link]’.
Also link this URL through the logo of ‘[Link]’ placed in a web page.
The FAQ page should be opened in a new window.
4. What are different ways of adjusting spacing in a text with suitable example.
5. Discuss the various CSS style sheet levels with suitable examples. How are
conflicts resolved when multiple style rules apply to a single web page element?
6. Describe how input from an HTML form is retrieved in a PHP program, with an
example
8. Discuss the various steps for establishing PHP-MySQL connection with a MySQL
COMPUTER SCIENCE AND ENGINEERING
database ?
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Design a webpage that displays the following table. (6)
(b) What is the difference between radio buttons and checkboxes when (8)
implemented using HTML? Write HTML code to implement a form which
has the following elements:
i. A textbox which can accept a maximum of 25 characters
ii. Three radio buttons with valid Label, Names and values
iii. Three check boxes buttons with valid Label, Names and values
iv. A selection list containing four items, two which are always visible
v. A submit button clicking on which will prompt the browser to send the
form data to the server “[Link] using “POST”
method and reset button to clear its contents. You can use any text of
your choice to label the form elements.
OR
12. (a) Write the equivalent HTML code to implement the following in a web page: (6)
(i) An image titled “[Link]” with a height of 100 pixels and width of 200
pixels. If the image cannot be accessed, a message “No image available”
should be displayed (ii) A hyperlink to the URL
“[Link]/[Link]”. The hyperlink should have the label “Click
Here”.
(b) Create a static HTML document for your portfolio, which includes the (8)
following contents: your name, address, Mobile Number and email address.
Also add the details about your college, university, your major and the batch
COMPUTER SCIENCE AND ENGINEERING
13. (a) Illustrate the usage of JavaScript DOM in event handling and explain any (8)
three methods with example.
(b) Write CSS and the corresponding HTML code for the following: (6)
i. Set the background color for the hover and active link states to "green"
ii. Set the list style for unordered lists to "square".
iii. Set "[Link]" as the background image of the page and set 3%
margin for the pages
iv. Set dashed border for left and right and double border for top & bottom
of a table with 2 rows.
OR
14. (a) List the order of precedence of style levels. Organize a sample web page for (6)
providing ‘KTU BTech Honours Regulation 19’ for KTU and use embedded
Style sheet to apply minimum 5 styles for list, tables and pages.
(b) Illustrate the different ways of Array declaration in JavaScript. Describe the (8)
function of the following JavaScript Array object methods with examples.
(i) join (ii) slice
15. (a) Explain any six string handling functions used in PHP with example. (6)
(b) How does a PHP array differ from an array in C? List the different ways to (8)
create an array in PHP with an example. Explain any 4 functions that deals
with PHP array.
OR
16. (a) During the process of fetching a web page from a web server to a client (6)
browser, at what point does an embedded PHP script get executed. What are
the two modes that the PHP processor operates in? Explain
17. (a) Write equivalent PHP statements corresponding to the following: (8)
i. Declare an associative array named “ages” to store the key-value pairs
(“Alice”, 30), (“Bob”, 30), (“Harry”, 35), (“Mary”, 32).
ii. Modify the value associated with the key “Mary” to 28.
iii. Sort the array according to values maintaining the key-value
relationships and print the sorted key-value pairs.
iv. The entry identified by the key “Bob”
(b) What are the uses of cookies in web pages? Describe syntax for setting (6)
cookies in PHP. How can you access and delete the cookie using setcookie()
function?
OR
18. (a) Write a PHP form handling program to perform the user registration of any (8)
website with a minimum of 5 different fields and insert the data into a
MySQL table after establishing necessary connections with the DB,
(b) Design the HTML page which enters a given number and embed the PHP (6)
code to display a message indicating, whether the number is odd or even,
when clicking on the ‘CHECK NUMBER’ button.
19. (a) With a neat diagram, explain about Laravel MVC Framework. (6)
OR
20. (a) Enumerate the data types in JSON. Illustrate the document definition of a (8)
‘Student document ‘using JSON Schema.
Teaching Plan
No of
Lecture
No Contents
Hrs (35
hrs)
Module 1 (7 hours)
1.1 Evolution of Internet &World Wide Web- Web Basics URI’s & URL -MIME 1
[Book 1 - Chapter 1]
Introduction to HTML5
1.4 Special Characters & Horizontal Rules- meta Elements- div and span 1
[Book 1 - Chapter 2]
1.6 HTML5 Form input types, input and data list Elements and autocomplete 1
attributes-Page Structure Elements [Book 1 - Chapter 3]
2.5 Box Model and Text Flow, Basics of Responsive CSS-Media port & Media 1
Queries [Book 1 - Chapter 4]
Introduction to JavaScript
2.10 Document Object Model (DOM)- Form processing [Book 1 - Chapter 12,13] 1
Module 3 (6 hours)
Introduction to PHP
3.1 Building blocks of PHP-Variables, Data Types simple PHP program [Book 3- 1
Chapters 4]
3.2 Converting between Data Types, Operators and Expressions -Flow Control 1
functions [Book 1- Chapters 19]
3.5 Working with Strings-String processing with Regular expression, Pattern Matching 1
[Book 1- Chapters 19]
Module 4 (6 hours)
PHP -MYSQL
4.4 Performing CREATE, DELETE, INSERT operations on MySQL table from PHP 1
Program. [Book 4- Chapters 16]
4.5 Performing SELECT and UPDATE operations on MySQL table from PHP 1
Program. [Book 4- Chapters 16]
Module 5 (6 hours)
JSON
5.2 JSON Schema, Manipulating JSON data with PHP [Book 2 - Chapter 3,4] 1
LARAVEL
YEAR OF
NATURAL LANGUAGE CATEGORY L T P CREDIT INTRODUCTION
CST473
PROCESSING
PEC 2 1 0 3 2019
Preamble: This course enables the learners to understand the concepts of Natural Language
Processing. The course covers basic pre-processing steps, language models, text classification
using machine learning algorithms, information and relation extraction methods, Information
Retrieval, Question Answer Systems and Machine Translation models. This course enables the
students to apply techniques and methods to solve challenging real-world problems in NLP.
Prerequisite: Nil.
Course Outcomes: After the completion of the course the student will be able to
CO1 Summarize basic concepts and learning methods for NLP (Cognitive Knowledge
Level: Understand)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 30 30 30
Understand 40 40 40
Apply 30 30 30
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
COMPUTER SCIENCE AND ENGINEERING
Syllabus
Module – 1 (Introduction to NLP)
NLP Tasks and Applications, Language-Building Blocks, Challenges of NLP, Machine Learning
for NLP – Naïve Bayes Classifier, Logistic Regression, Support Vector Machines, Approaches to
NLP-- Heuristics-Based NLP, Machine Learning-based NLP.
Module – 2 (Pre-processing and Representation Models)
NLP System Pipeline--Steps--Data Acquisition, Text Extraction and Clean-up, Pre-processing,
Feature Engineering, Modelling, Evaluation, Post-Modelling Phases
Text Books
1. Daniel Jurafsky, James H. Martin , “Speech and Language Processing”(2nd and 3rd editions),
Pearson Prentice Hall
2. Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta, Harshit Surana,” Practical Natural
Language Processing: A Comprehensive Guide to Building Real-World NLP Systems “ June
2020 Publisher(s): O'Reilly Media, Inc. ISBN: 9781492054054.
Reference Books
1. James Allen, “Natural Language Understanding”, Second Edn , Pearson.
2. Christopher Manning and Hinrich Schutze, Statistical Natural Language Processing, MIT Press.
4. Illustrate how linearly inseparable data can be made linearly separable by suitable
mapping using kernel functions.
Course Outcome 2(CO2):
1. Mention two issues associated with sentence segmentation.
3. Given a dataset of tweets, prepare the data for sentiment analysis by doing the
following operations: conversion to lower casing, removal of punctuations, removal
of stop-words, stemming, lemmatization, removal of emojis and removal of URLs.
(Assignment Question)
Use one hot-encoding and Bag-of-words models to represent “dog bites man”.
Using the toy corpus given above, represent the sentence “Dog and Man eat meat” with
TF-IDF model. Use python code for implementation. (Assignment Question)
COMPUTER SCIENCE AND ENGINEERING
2. A corpus of data is available from a social media platform that represents review of
books. How can Naïve Bayes Classifier be used for sentiment analysis of the
reviews? What changes can be made to this classifier to make it tuned for sentiment
analysis.
3. Use python library to implement sentiment analysis of review of a book, given a toy
corpus data set given below. (Assignment Question)
Document Category
just plain boring Negative
entirely predictable and lacks energy Negative
no surprises and very few laughs Negative
very powerful book Positive
the best book of the summer Positive
QP CODE:
PART A
3. List three preprocessing steps that are necessary for an HTML file.
8. Explain the need for an inverted index in an information retrieval system. Are there
any more efficient data structures that serve the same purpose.
10. What are the components that make up a noisy channel model of statistical
Machine Translation? (10x3=30)
COMPUTER SCIENCE AND ENGINEERING
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) How is classification done by SVM on linearly separable data? (8)
(b) What is a kernel function? What is the need for a kernel function? Can a (4)
kernel function be replaced by an ordinary mapping function?
OR
12. (a) Illustrate the steps involved in classification in Naïve Bayes Classifier. (8)
(b) Explain the fundamental tasks that make up an NLP system. (6)
13. (a) Supposing that a set of social media posts’ dataset is available to do sentiment (8)
analysis. What pre-processing steps need to be done in order to use the data
for generating a language model? Illustrate.
OR
14. (a) Explain the concept of word embeddings as a model for text representation. (6)
15. (a) 1. Given the following data about movie review and its classification, (10)
classify “predictable with no fun” to one of the classes using Naïve
Bayes Classifier.
Document Category
just plain boring Negative
entirely predictable and lacks energy Negative
no surprises and very few laughs Negative
very powerful Positive
the most fun film of the summer Positive
OR
17. (a) Explain supervised approach to relation analysis. What are its limitations? (10)
OR
18. (a) Given the following data about documents and contents, use tf-idf document (10)
scoring method to retrieve the document for the query “sweet love”.
OR
20. (a) How is decoding done in a Phrase-based Statistical Machine Translation (10)
System?
Teaching Plan
No of
No Contents Lecture
Hrs: 35
Module 1 : Introduction to NLP (7 hours)
3.3 Case Studies for Text Classification using Logistic Regression and 1
COMPUTER SCIENCE AND ENGINEERING
SEMESTER VII
OPEN ELECTIVE
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
INTRODUCTION TO CATEGORY L T P CREDIT INTRODUCTION
CST415
MOBILE COMPUTING
OEC 2 1 0 3 2019
Preamble: The purpose of this course is to prepare learners to understand the functionalities
and design considerations of mobile computing. The course content is designed to cover the
mobile computing architecture, features of different communication systems and major
elements of mobile security and next generation computer systems. This course enables the
learners to acquire advanced concepts on mobile and ad-hoc networks.
Course Outcomes: After the completion of the course the student will be able to
CO5 Describe the security protocols and apply suitable security algorithm to
secure the communication (Cognitive knowledge: Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
CO6
Assessment Pattern
Remember 30 30 30
Understand 50 50 50
Apply 20 20 20
Analyse
Evaluate
COMPUTER SCIENCE AND ENGINEERING
Create
Mark Distribution
Syllabus
Text Books
1. Asoke K. Talukder, Hasan Ahmad, Roopa R Yavagal, Mobile Computing
Technology- Application and Service Creation, 2nd Edition, McGraw Hill Education.
2. Schiller J., Mobile Communications, 2/e, Pearson Education, 2009.
COMPUTER SCIENCE AND ENGINEERING
Reference Books
1. Andrew S. Tanenbaum, Computer Networks, 6/e, PHI.
2. Theodore S. Rappaport, Wireless Communications Principles and Practice, 2/e, PHI,
New Delhi, 2004.
3. Curt M. White, Fundamentals of Networking and Communication 7/e, Cengage learning.
Reg No:_______________
Name:_________________
3. Compare and contrast the satellite systems – GEO, LEO and MEO.
(b) Explain the three-tier architecture of mobile computing with figure. (10)
OR
COMPUTER SCIENCE AND ENGINEERING
12. (a) Describe the significance and functions of core, edge and access network. (6)
(b) Explain the terms (i) Client Context Manager (ii) Policy Manager (iii) Security (8)
Manager (iv) Adaptability Manager
13. (a) Why is multiple access important? With the help of suitable examples, explain (7)
the various multiple access techniques.
(b) Describe the different algorithms used for security and authentication in GSM. (7)
OR
14. (a) Show how call routing is done in GSM. Give an example. (7)
(b) Explain the process of handover. How does handover differ from roaming? (7)
15. (a) With the help of neat sketches, explain the difference between Short Message (6)
Mobile Terminated (SM MT) and Short Message Mobile Originated (SM MO)
messages.
OR
16. (a) How does operator-centric pull differ from operator-independent push and pull? (7)
17. (a) Compare the HIPERLAN and OSI layered architecture. (4)
OR
18. (a) Compare 3G and WiFi. (7)
(b) Explain the HIPERLAN communication models with suitable diagrams. (7)
19. (a) Given p = 7, q = 17 and e = 5. Find the value of d and also encrypt the message (7)
P = 65 using RSA.
(b) Explain the role of MPLS in service provisioning. (7)
OR
20. (a) With the help of a suitable example, show the working of Diffie-Hellman key (7)
exchange algorithm.
(b) Explain the features of any three multimedia broadcast services. (7)
COMPUTER SCIENCE AND ENGINEERING
TEACHING PLAN
No Contents [Link]
Lecture Hrs
(35 hrs)
4.7 WiFi Vs 3G 1
YEAR OF
INTRODUCTION TO CATEGORY L T P CREDIT
INTRODUCTION
CST425
DEEP LEARNING
OEC 2 1 0 3 2019
Preamble: This course aims to introduce the learner to an overview of the concepts and
algorithms involved in deep learning. Basic concepts and application areas of machine learning,
deep networks, convolutional neural network and recurrent neural network are covered in this
course. This is a foundational program that will help students understand the capabilities,
challenges, and consequences of deep learning and prepare them to participate in the
development of leading-edge AI technology. They will be able to gain the knowledge needed to
take a definitive step in the world of AI.
Course Outcomes: After the completion of the course the student will be able to
CO1 Demonstrate basic concepts in machine learning.(Cognitive Knowledge Level:
Understand)
CO2 Illustrate the validation process of machine learning models using hyper-parameters
and validation sets. (Cognitive Knowledge Level: Understand)
CO3 Demonstrate the concept of the feed forward neural network and its training process.
(Cognitive Knowledge Level: Apply)
CO4 Build CNN and Recurrent Neural Network (RNN) models for different use cases.
(Cognitive Knowledge Level: Apply)
CO5 Use different neural network/deep learning models for practical applications.
(Cognitive Knowledge Level: Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 30 30 30
Understand 30 30 30
Apply 40 40 40
Analyze
Evaluate
Create
Mark Distribution
Attendance : 10 marks
Continuous Assessment Tests : 25 marks
Continuous Assessment Assignment : 15 marks
COMPUTER SCIENCE AND ENGINEERING
First Internal Examination shall be preferably conducted after completing the first half of the
syllabus and the Second Internal Examination shall be preferably conducted after completing
remaining part of the syllabus.
There will be two parts: Part A and Part B. Part A contains 5 questions (preferably, 2 questions
each from the completed modules and 1 question from the partly covered module), having 3
marks for each question adding up to 15 marks for part A. Students should answer all questions
from Part A. Part B contains 7 questions (preferably, 3 questions each from the completed
modules and 1 question from the partly covered module), each with 7 marks. Out of the 7
questions in Part B, a student should answer any 5.
There will be two parts; Part A and Part B. Part A contains 10 questions with 2 questions from
each module, having 3 marks for each question. Students should answer all questions. Part B
contains 2 questions from each module of which a student should answer any one. Each question
can have maximum 2 sub-divisions and carry 14 marks.
Syllabus
Module-1 (Introduction)
Neural Networks –Perceptron, Gradient Descent solution for Perceptron, Multilayer perceptron,
activation functions, architecture design, chain rule, back propagation, gradient based learning.
Introduction to optimization– Gradient based optimization, linear least squares. Stochastic
gradient descent, Building ML algorithms and challenges.
Text Book
1. Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press 2015 ed.
2. Aston Zhang, Zachary C. Lipton, Mu Li, and Alexander J. Smola, Dive into Deep Learning,
August 2019.
3. Neural Networks and Deep Learning: A Textbook by Charu C. Aggarwal. Springer.1st
edition, 2018.
Reference Books
PART A
11. (a) “A computer program is said to learn from experience E with respect to some
class oftasks T and performance measure P, if its performance at tasks in T,
(10)
as measured by P, improves with experience E.” What is your understanding
of the terms task, performance and experience. Explain with two example
(b) “How does bias and variance trade-off affect machine learning algorithms? (4)
OR
COMPUTER SCIENCE AND ENGINEERING
12. (a) Illustrate the concepts of Web search, Page Ranking, Recommender systems (10)
with suitable examples.
(b) List and discuss the different hyper parameters used in fine tuning the (4)
traditional machine learning models
13. (a) How multilayer neural networks learn and encode higher level features from
input features. (7)
(b) Explain gradient decent and delta rule? Why stochastic approximation to (7)
gradient descent is needed?
OR
14. (a) Find the new weights for the network using backpropogation algorithm, the (7)
network is given with a input pattern[-1,1] and target output as +1, Use
learning rate of alpha=0.3 and bipolar sigmoid function.
(b) Write an algorithm for backpropagation which uses stochastic gradient (7)
descent method. Comment on the effect of adding momentum to the
network.
15. (a) Input to CNN architecture is a color image of size 112x112x3. The first (5)
convolution layer comprises of 64 kernels of size 5x5 applied with a stride
of 2 and padding 0. What will be the number of parameters?
(b) Let X=[-1, 0, 3, 5] W=[.3 ,.5 .2,.1] be the the input of ith layer of a neural (4)
network and to apply softmax function. What should be the output of it?
OR
16. (a) Explain the concept behind i) Early stopping ii) dropout iii) weight decay (9)
(b) How backpropagation is used to learn higher-order features in a convolutional (5)
Network?
17. (a) Explain the working of RNN and discuss how backpropagation through time
is used in recurrent networks. (8)
COMPUTER SCIENCE AND ENGINEERING
(b) Describe the working of a long short term memory in RNNs. (6)
OR
18. (a) What is the vanishing gradient problem and exploding gradient problem? (8)
(b) Why do RNNs have a tendency to suffer from exploding/vanishing gradient? (6)
How to overcome this challenge?
19. (a) Explain any two word embedding techniques (8)
(b) Explain the merits and demerits of using Auto encoders in Computer Vision. (6)
OR
20. (a) Illustrate the use of representation learning in object classification. (7)
(b) Compare Boltzmann Machine with Deep Belief Network. (7 )
COMPUTER SCIENCE AND ENGINEERING
Teaching Plan
No. of
Lecture
No Contents Hours
(37 hrs)
Module 1 : Introduction (8 hours)
1.1 Key components - Data, models, objective functions, optimization algorithms. 1
(TB2: Section 1.1-1.2)
1.2 Learning algorithm (TB1: Section 5.1), Supervised learning- regression, 1
classification, tagging, web search, page ranking (TB2: Section 1.3.1)
1.3 Recommender systems, Sequence learning, Unsupervised learning, 1
Reinforcement learning(TB2: Section 1.3.2-1.3.4)
1.4 Historical Trends in Deep Learning (TB1: Section 1.2). 1
1.5 Concepts: overfit, underfit, hyperparameters and validation sets. (TB1: Section 1
5.2-5.3)
1.6 Concepts: Estimators, bias and variance. (TB1: Section 5.4) 1
1.7 Demonstrate the concepts of supervised learning algorithms using a suitable 1
platform.
1.8 Demonstrate the concepts of unsupervised using a suitable platform. 1
Module 2 : Optimization and Neural Networks (9 hours)
2.3 Activation functions- Sigmoid, tanh, Softmax, ReLU, leaky ReLU (TB3: Section 1
[Link] - [Link])
2.4 Architecture design (TB1: Section 6.4, TB3: Section 1.6) 1
2.5 Chain rule, back propagation (TB3: Section 1.3) 1
2.6 Gradient based learning (TB1: Section 6.2) 1
2.7 Gradient based optimization (TB1: Section 4.3) 1
2.8 Linear least squares using a suitable platform. (TB1: Section 4.5) 1
2.9 Building ML Algorithms and Challenges (TB3: 1.4, TB1: 5.10-5.11) 1
Module 3 :Convolution Neural Network (8 hours)
3.1 Convolution operation (TB1:Section 9.1) 1
3.2 Motivation, pooling (TB1:Section 9.2-9.3) 1
COMPUTER SCIENCE AND ENGINEERING
3.3 Convolution and Pooling as an infinitely strong prior (TB1: Section 9.4) 1
YEAR OF
CATEGORY L T P CREDIT INTRODUCTION
CST435 COMPUTER GRAPHICS
OEC 2 1 0 3 2019
Preamble: This course helps the learners to make awareness about strong theoretical concept in
computer graphics. It covers the three-dimensional environment representation in a computer,
transformation of 2D/3D objects and basic mathematical techniques and algorithms used to build
applications. This course enables the learners to develop the ability to create image processing
frameworks for different domains and develop algorithms for emerging display technologies.
CO# CO
Describe the working principles of graphics devices(Cognitive Knowledge
CO1 level: Understand)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Assessment Pattern
Mark Distribution
There will be two parts; Part A and Part B. Part A contains 10 questions with 2 questions from
each module, having 3 marks for each question. Students should answer all questions. Part B
contains 2 full questions from each module of which student should answer any one full
question. Each question can have maximum 2 sub-divisions and carries 14 marks.
Syllabus
Text Book
1. Zhigang Xiang and Roy Plastock, Computer Graphics (Schaum’s outline Series), McGraw
Hill, 2019.
2. Donald Hearn and M. Pauline Baker, Computer Graphics, PHI, 2e, 1996
References
1. William M. Newman and Robert F. Sproull, Principles of Interactive Computer Graphics.
McGraw Hill, 2001
2. David F. Rogers , Procedural Elements for Computer Graphics, Tata McGraw Hill,2001.
3. Donald Hearn, M. Pauline Baker and Warren Carithers, Computer Graphics with
OpenGL, PHI, 4e, 2013
QP CODE:
PART A
2. Consider a raster system with a resolution of 1024*1024. Compute the size of the
raster needed to store 4 bits per pixel? How much storage is needed if 8 bits per
pixel are to be stored?
4. How 8-way symmetry of circle can be used for developing circle drawing
algorithms?
5. Show that two successive reflections about either of the coordinate axes is
equivalent to a single rotation about the coordinate origin.
7. Find the window to viewport normalization transformation with window lower left
corner at (1,1) and upper right corner at (2,6).
COMPUTER SCIENCE AND ENGINEERING
8. How does Cohen Sutherland algorithm determine whether a line is visible, invisible or
a candidate for clipping based on the region codes assigned to the end points of the
line?
9. Define the terms (i) Centre of projection (ii) Principal vanishing point
10. Differentiate between the object space and image space method for the hidden surface
removal of an image. (10x3=30)
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Explain the working principle of beam penetration method and shadow mask (8)
method with suitable illustrations.
(b) Draw the architecture of raster scan display systems and explain its working (6)
principle.
OR
12. (a) Explain the working principle of a Refresh CRT monitor with suitable (8)
diagrams.
13. (a) Differentiate between boundary fill and flood fill algorithms. (5)
(b) Derive the initial decision parameter of Bresenham’s line drawing algorithm (9)
and rasterize a line with endpoints (2,2) and (10,10).
OR
14. (a) Write Midpoint circle drawing algorithm and identify the points in the circle (8)
with radius as 20 and center at (50,30) using the algorithm.
(b) Illustrate the working principle of scan line polygon filling algorithm. (6)
15. (a) Reflect a triangle ABC about the line 3x-4y+8=0, where the coordinates of the (8)
triangle are given as A(4,1), B(5,2) and C(4,3).
(b) A diamond shaped polygon is located at P(-1,0), Q(0,-2), R(1,0) and S(0,2). (6)
Find the transformation matrix which would rotate the triangle by 90 degree
counter clockwise about the point Q. Using the transformation matrix, find
the coordinates of the rotated polygon.
OR
COMPUTER SCIENCE AND ENGINEERING
16. (a) Describe the steps required for a general 3D rotation if the rotation axis is not (8)
parallel to any one of the principal axis. The rotation axis is defined by the
points P1(x1,y1,z1) and P2(x2,y2,z2). Give its composite matrix
representation.
(b) Consider a triangle at (2,2), (10,2), (2,10). Perform the following 2D (6)
transformations in succession and find the resultant vertices.
i) Scale with respect to (2,2) by scaling factors (2,2) along x
and y directions.
ii) Rotate by 90 degree counter clockwise direction.
iii) Reflection based on y=x
(b) Explain Cohen-Sutherland line clipping algorithm. Use the algorithm to clip (8)
line with end points P1 (70, 20) and P2(100,10) against a window with lower
left hand corner (50,10) and upper right hand corner (80,40).
OR
18. (a) Describe Sutherland Hodgeman polygon clipping algorithm and list out its (7)
limitations.
(b) Explain the steps involved in clipping a line using Mid point Subdivision (7)
algorithm.
19. (a) Explain how visible surfaces can be detected using depth buffer algorithm. (7)
(b) Define parallel projection. Describe orthographic and oblique parallel (7)
projection.
OR
20. (a) Illustrate the scan line method used in visible surface detection. (7)
(b) Derive the matrix needed for performing perspective projections. (7)
COMPUTER SCIENCE AND ENGINEERING
TEACHING PLAN
No of Lecture
No Contents
Hrs (35 hrs)
YEAR OF
PYTHON FOR CATEGORY L T P CREDIT INTRODUCTION
CST445 ENGINEERS
OEC 2 1 0 3 2019
Preamble: The objective of the course is to provide learners an insight into Python programming
in a scientific computation context and develop programming skills to solve engineering
problems. It covers programming environment, important instructions, data representations,
intermediate level features, Object Oriented Programming and file data processing of Python.
This course lays the foundation to scientific computing, develop web applications, Machine
Learning, and Artificial Intelligence-based applications and tools, Data Science and Data
Visualization applications.
Prerequisite: NIL
Note : Students who have successfully completed CST 283 - Python for Machine Learning
(Minor) are not eligible to opt this course.
Course Outcomes: After the completion of the course the student will be able to
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
CO6
Assessment Pattern
Test 1 (Marks in Test 2 (Marks End Semester
Bloom’s Category
percentage) in percentage) Examination Marks
Remember 20 20 20
Understand 30 30 30
Apply 50 50 50
Analyse
Evaluate
Create
Mark Distribution
Syllabus
Module 1 (Basics of Python)
Getting Started with Python Programming - Running code in the interactive shell, Editing,
Saving, and Running a script. Using editors - IDLE, Jupyter. Basic coding skills - Working with
data types, Numeric data types and Character sets, Keywords, Variables and Assignment
statement, Operators, Expressions, Working with numeric data, Type conversions, Comments in
the program, Input Processing, and Output, Formatting output. How Python works. Detecting
and correcting syntax errors. Using built in functions and modules in math module. Control
statements - Selection structure - if-else, if-elif-else. Iteration structure - for, while. Testing the
control statements. Lazy evaluation.
Text Books:
1. Kenneth A Lambert., Fundamentals of Python : First Programs, 2/e, Cengage Publishing, 2016
2. David J. Pine, Introduction to Python for Science and Engineering, CRC Press, 2021
Reference Books:
1. Wes McKinney, Python for Data Analysis, 2/e, Shroff / O’Reilly Publishers, 2017
2. Allen B. Downey, Think Python: How to Think Like a Computer Scientist, 2/e, Schroff, 2016
3. Michael Urban and Joel Murach, Python Programming, Shroff/Murach, 2016
4. David [Link], Python Essential Reference. Addison-Wesley Professional; 4/e, 2009.
5. Charles Severance. Python for Informatics: Exploring Information,
6. [Link]
Course Outcome1(CO1):
1. What is type conversion? How is it done in Python?
Reg No:_______________
Name:_________________
Plot the function y = 3x2 for −1 ≤ x ≤ 3 as a continuous line. Include enough points so that
8.
the curve you plot appears smooth. Label the axes x and y
9. Describe random number generation using Python
10. How can a generalized eigen value problem can be solved using Python?
PART-B
(Answer any one full question from each module)
Module -1
11. (a) Compare and contrast interpreted languages and compiled languages. (6)
How does it affect the quality of program development and execution of
the program?
(b) What are the possible errors in a Python program. Write a Python (8)
program to print the value of 22n+n+5 for n provided by the user.
OR
12. (a) Describe Arithmetic operators, Assignment operators, Comparison (6)
operators, Logical operators, and Bitwise operators in detail with examples.
(b) Input 4 integers (+ve and −ve). Write a Python code to find the sum of (8)
negative numbers, positive numbers, and print them. Also, find the averages
of these two groups of numbers and print
Module -2
13. (a) Write a Python code to create a function called list_of_frequency that takes a (5)
string and prints the letters in non-increasing order of the frequency of their
occurrences. Use dictionaries.
(b) Write a Python program to read a list of numbers and sort the list in a non- (9)
decreasing order without using any built in functions. Separate function
should be written to sort the list wherein the name of the list is passed as the
parameter.
OR
14. (a) Illustrate the following Set methods with an example. (8)
i. intersection( ) ii. Union( ) iii. Issubset( ) iv. Difference( ) v. update( ) vi.
discard( )
(b) Write a Python program to check the validity of a password given by the (6)
user.
The Password should satisfy the following criteria:
1. Contains at least one letter between a and z
2. Contains at least one number between 0 and 9
3. Contains at least one letter between A and Z
COMPUTER SCIENCE AND ENGINEERING
Module -5
19. (a) Write python program to solve the following system of equations (4)
x1 − 2x2 + 9x3 + 13x4 = 1
−5x1 + x2 + 6x3 − 7x4 = −3
4x1 + 8x2 − 4x3 − 2x4 = −2
8x1 + 5x2 − 7x3 + x4 = 5
(b) Given the sales information of a company as CSV file with the following (10)
fields month_number, facecream, facewash, toothpaste, bathingsoap,
shampoo, moisturizer, total_units, total_profit. Write Python codes to
visualize the data as follows
1) Toothpaste sales data of each month and show it using a scatter plot
2) Face cream and face wash product sales data and show it using the
bar chart
Calculate total sale data for last year for each product and show it using a
Pie chart.
OR
20. (a) Write Python program to write the data given below to a CSV file. (9)
SN Name Country Contribution Year
(b) Explain how integration is performed with SciPy. Illustrate the same with (5)
the two sample integrals using SciPy function.
COMPUTER SCIENCE AND ENGINEERING
Teaching Plan
Number of
Sl
Contents Hours (35
No
Hrs)
Module 1: Basics of Python (8 hours)
Getting Started with Python Programming: Running code in the interactive
1.1 1 hour
shell Editing, Saving, and Running a script
1.2 Using editors: IDLE, Jupyter 1 hour
Basic coding skills: Working with data types, Numeric data types and
1.3 Character sets, Keywords, Variables and Assignment statement, Operators, 1 hour
Expressions,
Working with numeric data, Type conversions, Comments in the program,
1.4 1 hour
Input Processing, and Output. Formatting output
How Python works. Detecting and correcting syntax errors. Using built in
1.5 1 hour
functions and modules in math module.
1.6 Control statements : Selection structure, if-else, if elifelse 1 hour
1.7 Iteration structure - for, while 1 hour
1.8 Testing the control statements, Lazy evaluation. 1 hour
Module 2: Functions and Python Data Structures (8 hours)
2.1 Functions: Hiding redundancy and complexity, Arguments and return values 1 hour
2.2 Variable scopes and parameter passing 1 hour
2.3 Named arguments, Main function, 1 hour
2.4 Working with recursion, Lambda functions 1 hour
2.5 Strings - String function 1 hour
Lists - Basic list Operations and functions, List of lists, Slicing, Searching
2.6 1 hour
and sorting list, List comprehension.
2.7 Work with tuples. Sets. 1 hour
Dictionaries - Dictionary functions, dictionary literals, adding and removing
2.8 1 hour
keys, Accessing and replacing values, traversing dictionaries, reverse lookup
Module 3: Object Oriented Programming (6 hours)
3.1 Design with classes : Objects and Classes, Methods, Instance Variables 1 hour
3.2 Constructor, Accessors, and Mutators 1 hour
3.3 Structuring classes with Inheritance 1 hour
3.4 Polymorphism 1 hour
3.5 Abstract Classes 1 hour
3.6 Exceptions: Handle a single exception, Handle multiple exception 1 hour
Module 4: Visualization and File handling (6 hours)
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
OBJECT ORIENTED CATEGORY L T P CREDIT
CST455 INTRODUCTION
CONCEPTS
OEC 2 1 0 3 2019
Preamble: The purpose of this course is to enable learners to solve problems by breaking it down
to object level while designing software and to implement it using Java. This course covers Object
Oriented Principles, Object Oriented Programming in Java, Exception handling, Event handling,
multithreaded programming and working with window-based graphics. This course provides
learners the basics to develop Mobile applications, Enterprise Applications, Scientific
Applications and Web based Applications.
Prerequisite: A sound background in any of the programming languages like C, C++, Python etc
is mandatory. Students who completed the minor stream course CST 281 Object Oriented
Programming are not allowed to choose this Open Elective Course.
Course Outcomes: After the completion of the course the student will be able to
Utilise data types, operators, control statements, built in packages & interfaces,
CO2 Input/Output Streams and Files in Java to develop programs (Cognitive Knowledge
Level: Apply)
Illustrate how robust programs can be written in Java using exception handling
CO3
mechanism (Cognitive Knowledge Level: Apply)
PO PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
1 0 2
CO1
CO2
CO3
CO4
CO5
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 20 20 20
Understand 40 40 40
Apply 40 40 40
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
from the partly completed module), each with 7 marks. Out of the 7 questions, a student should
answer any5.
Primitive Data types - Integers, Floating Point Types, Characters, Boolean. Literals, Type
Conversion and Casting, Variables, Arrays, Strings, Vector class.
Exception Handling - Checked Exceptions, Unchecked Exceptions, try Block and catch Clause,
Multiple catch Clauses, Nested try Statements, throw, throws and finally.
Java Library - String Handling – String Constructors, String Length, Special String Operations -
Character Extraction, String Comparison, Searching Strings, Modifying Strings, Using
valueOf(), Comparison of String Buffer and String.
Event Handling - Event Handling Mechanisms, Delegation Event Model, Event Classes, Sources
of Events, Event Listener Interfaces, Using the Delegation Model.
Swing Fundamentals - Swing Key Features, Model View Controller (MVC), Swing Controls,
Components and Containers, Exploring Swing - JFrame, JLabel, JButton, JTextField.
Text Books
1. Herbert Schildt, Java: The Complete Reference, 8/e, Tata McGraw Hill, 2011.
2. Balagurusamy E., Programming JAVA a Primer, 5/e, McGraw Hill, 2014.
Reference Books
1. Paul Deitel, Harvey Deitel, Java How to Program, Early Objects 11/e, Pearson, 2018.
2. Y. Daniel Liang, Introduction to Java Programming, 7/e, Pearson, 2013.
3. Nageswararao R., Core Java: An Integrated Approach, Dreamtech Press, 2008.
4. Flanagan D., Java in A Nutshell, 5/e, O'Reilly, 2005.
5. Sierra K., Head First Java, 2/e, O'Reilly, 2005.
COMPUTER SCIENCE AND ENGINEERING
PART A
4. What does the following Java function compute? Justify your answer.
intgreater(int a, int b)
{
while(a!=b)
{
COMPUTER SCIENCE AND ENGINEERING
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
}
8. Write a simple program to read an integer value from console and print it.
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Describe in detail polymorphism, abstraction and inheritance with suitable (9)
examples.
OR
12. (a) Explain the salient features of Java language. How does Java Enterprise (9)
Edition (J2EE) differ from Java Standard Edition (Java SE)?
(b) Explain the declaration and use of multi-dimensional array variables in Java, (5)
with example.
13. (a) Explain iteration control statements in Java. Give examples. (8)
COMPUTER SCIENCE AND ENGINEERING
OR
14. (a) Using a suitable Java program, explain the concept of methods and (6)
constructors.
(b) Write a Java program that prompts the user for an integer and then prints out (8)
all the prime numbers up to that number.
15. (a) In a table format, show the effect of access specifiers within and outside (6)
packages in Java.
(b) Describe exception handling using try block and catch clause in Java with the (8)
help of a suitable Java program.
OR
16. (a) What is an interface in Java? Explain with a suitable example. (6)
(b) Write a program that perform integer divisions. The user enters two input data (8)
(any data type) through console into variables Num1 and Num2. If Num1 or
Num2 were not an integer, the program would throw a Number Format
Exception. If Num2 were Zero, the program would throw an Arithmetic
Exception. Display the appropriate exception or result.
17. (a) Write a Java program that displays the number of characters, lines and words (8)
in a text file.
(b) Explain any three String constructors with the help of sample code for each. (6)
OR
18. (a) Write a program to demonstrate the usage of the PrintWriter class. (7)
(b) Write a Java program for sorting a given list of names in ascending order. (7)
19. (a) Explain Delegation Event model for event handling in Java. (7)
(b) Write a program to compute the sum of elements in an array using two (7)
COMPUTER SCIENCE AND ENGINEERING
threads in a parallel way. The first thread sums up the first half of the array
and the second thread sums up the second half of the array. Finally, the main
thread adds these partial sums and prints the [Link] Runnable interfacefor
the creation of a thread.
OR
20. (a) What are the differences between a process and a thread? (4)
(b) Write a Graphical User Interface (GUI) based Java program to implement a (10)
simple calculator supporting the operations addition, subtraction,
multiplication and division. Use Swing controls to implement GUI. There
may be three text boxes, the first two for accepting the operands and the last
for displaying the result. Add four buttons for the above operations. Write
neat comments in your program to show how you handle events.
Teaching Plan
No. of
Lecture
No Contents Hours
(36hrs)
1.6 Primitive Data types - Integers, Floating Point Types, Characters, Boolean 1 hour
1.7 Literals, Type Conversion and Casting, Variables, Arrays, Strings, Vector 1 hour
COMPUTER SCIENCE AND ENGINEERING
class.
3.2 Calling Order of Constructors, Method Overriding, the Object class 1 hour
3.3 Abstract Classes and Methods, Using final with Inheritance 1 hour
4.5 Java Library - String Handling – String Constructors, String Length 1 hour
5.6 Using the Delegation Model, Swing fundamentals, Swing Key Features 1 hour
SEMESTER VII
MINOR
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
CATEGORY L T P CREDIT
INTRODUCTION
CSD481 MINI PROJECT
PWS 0 0 3 4 2019
Preamble: The objective of this course is to apply the fundamental concepts of different courses
learned in respective Minor Streams: Software Engineering, Machine Learning and Networking.
This course helps the learners to get an exposure to the development of application
software/hardware solutions/ software simulations in the field of Computer Science and
Engineering. It enables the learners to understand the different steps to be followed such as
literature review and problem identification, preparation of requirement specification &design
document, testing, development and deployment. Mini project enables the students to boost their
skills, widen the horizon of thinking and their ability to resolve real life problems.
Prerequisite:
A sound knowledge in courses studied in respective minor stream.
Course Outcomes: After the completion of the course the student will be able to
CO# CO
Identify technically and economically feasible problems (Cognitive
CO1 Knowledge Level: Apply)
Identify and survey the relevant literature for getting exposed to related
CO2 solutions. (Cognitive Knowledge Level: Apply)
Perform requirement analysis, identify design methodologies and develop
CO3 adaptable & reusable solutions of minimal complexity by using modern tools
& advanced programming techniques (Cognitive Knowledge Level: Apply)
Prepare technical report and deliver presentation (Cognitive Knowledge
CO4 Level: Apply)
Apply engineering and management principles to achieve the goal of the
CO5 project (Cognitive Knowledge Level: Apply)
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Conduct investigations of
PO4 PO10 Communication
complex problems
Assessment Pattern
Mark Distribution
Student Groups with 4 or 5 members should identify a topic of interest in consultation with a
Faculty Advisor/Project Coordinator/Guide. Review the literature and gather information
pertaining to the chosen topic. State the objectives and develop a methodology to achieve the
objectives. Carryout the design/fabrication or develop codes/programs to achieve the objectives
by strictly following steps specified in the teaching plan. Innovative design concepts,
performance, scalability, reliability considerations, aesthetics/ergonomic, user experience and
security aspects taken care of in the project shall be given due weight.
COMPUTER SCIENCE AND ENGINEERING
The progress of the mini project is evaluated based on a minimum of two reviews. The review
committee may be constituted by a senior faculty member, Mini Project coordinator and project
guide. The internal evaluation shall be made based on the progress/outcome of the project,
reports and a viva-voce examination, conducted internally by a 3-member committee. A project
report is required at the end of the semester. The project has to be demonstrated for its full design
specifications.
TEACHING PLAN
● Figures & Tables – Ensure that all Figures and Tables are suitably numbered and given
proper names/headings. Write figure title under the figure and table title above the table.
SEMESTER VII
HONOURS
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
CATEGORY L T P CREDIT INTRODUCTION
CST495 CYBER FORENSICS
VAC 3 1 0 4 2019
Preamble: The course on Cyber Forensics aims at exploring the basics of Cyber Forensics and Cyber
security, the forensic investigation process and principles and the different types of cybercrimes and
threats. This course also focuses on the forensic analysis of File systems, the Network, the Windows
and Linux Operating systems. The course gives a basic understanding of the forensics analysis tools
and a deep understanding of Anti forensics practices and methods. All the above aspects are dealt with
case studies of the respective areas.
Prerequisite: Knowledge in File Systems, Operating systems, Networks and a general awareness on
Cyber Technologies.
Course Outcomes: After the completion of the course the student will be able to
Infer the basic concepts of File Systems and its associated attribute definitions
CO2 (Cognitive Knowledge Level: Understand)
Utilize the methodologies used in data analysis and memory analysis for detection of
CO3 artefacts(Cognitive Knowledge Level: Apply)
Identify web attacks and detect artefacts using OWASP and penetration testing.
CO4 (Cognitive Knowledge Level: Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
Assessment Pattern
Remember 30 30 30
Understand 40 40 40
Apply 30 30 30
Analyze
Evaluate
Create
Mark Distribution
Attendance : 10 marks
First Internal Examination shall be preferably conducted after completing the first half of the syllabus
and the Second Internal Examination shall be preferably conducted after completing remaining part of
the syllabus.
There will be two parts: Part A and Part B. Part A contains 5 questions (preferably, 2 questions each
from the completed modules and 1 question from the partly covered module), having 3 marks for each
question adding up to 15 marks for part A. Students should answer all questions from Part A. Part B
contains 7 questions (preferably, 3 questions each from the completed modules and 1 question from
the partly covered module), each with 7 marks. Out of the 7 questions in Part B, a student should
answer any 5.
There will be two parts; Part A and Part B. Part A contains 10 questions with 2 questions from each
module, having 3 marks for each question. Students should answer all questions. Part B contains 2
questions from each module of which a student should answer any one. Each question can have
maximum 2 sub-divisions and carries 14 marks.
Syllabus
Module-1(Cyber Forensics and Cyber Security)
Computer Forensics: History of computer forensics, preparing for computer investigations,
understanding Public and private investigations- Forensics Investigation Principles - Forensic
Protocol for Evidence Acquisition - Digital Forensics -Standards and Guidelines - Digital Evidence –
Data Acquisition - storage formats for digital evidence, determining the best acquisition method,
contingency planning for image acquisitions, Cyber Forensics tools- Challenges in Cyber Forensics,
Skills Required to Become a Cyber Forensic Expert
Cyber Security: Cybercrimes, Types of Cybercrimes - Recent Data Breaches - Recent Cyber security
Trends - Case Study: Sim Swapping Fraud, ATM Card Cloning, Hacking email for money, Google
Nest Guard, Email Crimes, Phishing, Types of Phishing.
File system Analysis: FAT and NTFS concepts and analysis -File system category, Content category,
Metadata category, File name category, Application category,Application-level search techniques,
Specific file systems, File recovery, Consistency check. FAT data structure-Boot sector, FAT 32 FS
info, directory entries, Long file name directory entries
COMPUTER SCIENCE AND ENGINEERING
Linux Forensics: Live Response Data Collection- Prepare the Target Media, Format the Drive, Gather
Volatile Information, Acquiring the Image, Initial Triage, Data Analysis- Log Analysis, Keyword
Searches, User Activity, Network Connections, Running Processes, Open File Handlers, The Hacking
Top Ten, Reconnaissance Tools
The OSI Model, Forensic Footprints, Seizure of Networking Devices, Network Forensic Artifacts,
ICMP Attacks, Drive-By Downloads, Network Forensic Analysis Tools, Case Study: Wireshark. Web
Attack Forensics: OWASP Top 10, Web Attack Tests, Penetration Testing.
Module-5 (Anti-Forensics)
Text Books
1. Bill Nelson, Amelia Phillips and Christopher Steuart, Computer forensics - Guide to Computer
Forensics and Investigations, 4/e, Course Technology Inc.
2. Brian Carrier, File System Forensic Analysis, Addison Wesley, 2005.
3. Harlan Carvey, Windows Forensic Analysis DVD Toolkit, 2/e, Syngress.
4. Cory Altheide, Todd Haverkos, Chris Pogue,Unix and Linux Forensic Analysis DVD Toolkit,
1/e, Syngress.
5. William Stallings,Network Security Essentials Applications and Standards, 4/e, Prentice Hall
6. Eric Maiwald, Fundamentals of Network Security, McGraw-Hill, 2004.
References
Discuss the different cyber forensics tools used for image acquisition.
CourseOutcome2(CO2):Explain the pros and cons of NTFS and FAT File systems. Also give the
challenges the investigators would face in extracting evidences from these file systems.
CourseOutcome3 (CO3): Apply any memory forensics methodologies/tools to extract volatile and
nonvolatile data from a Windows based system.
CourseOutcome4 (CO4):Use web attacks test tools like netcraft to identify web application
vulnerabilities of a particular site say [Link]
Course Outcome 5 (CO5): Explain the different anti-forensics practices used to destroy or conceal
data in order to prevent others from accessing it.
QP CODE:
PART A
4. Define the terms file slack, RAM slack and drive slack.
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Discuss the different types of Cybercrimes. List the tools used for (8)
identifying Cyber Crimes.
(b) Differentiate between Static acquisition and Live acquisition with example. (6)
OR
12. (a) Explain the principles of Digital Forensic Investigation? Why is it (8)
important? Comment.
(b) When you perform an acquisition at a remote location, what should you (6)
consider preparing this task?
14. (a) What is Metadata? Discuss the first 16 metadata records you would find in (6)
the MFT?
(b) Explain the different types of volatile information in a live response system. (8)
List any two tools used for obtaining volatile information.
16. (a) What are the main live response methodologies? (6)
(b) What is Physical Memory Dump? Explain how a physical memory dump is (8)
analysed.
17. (a) What is OWASP? Also mention the Top 10 web application vulnerabilities (8)
in 2021.
(b) How would you setup Wireshark to monitor packets passing through (6)
aninternet router?
18. (a) What are the goals of conducting a pentesting exercise? (3)
OR
20. (a) Explain the different types of Anti-forensics Detection Techniques. (8)
TEACHING PLAN
No of
[Link]. Contents Lecture Hrs
(44hrs)
1.6 Contingency planning for image acquisitions, Cyber Forensics tools 1 hour
1.9 Case Study: Sim Swapping Fraud, ATM Card Cloning 1 hour
1.10 Case Study:Hacking email for money, Google Nest Guard 1 hour
3.9 Data Analysis- Log Analysis, Keyword Searches, User Activity 1 hour
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
CATEGORY L T P CREDIT
REINFORCEMENT INTRODUCTION
CST497
LEARNING
VAC 3 1 0 4 2019
Preamble: This course covers fundamental principles and techniques in reinforcement learning.
Reinforcement learning is concerned with building programs that learn how to predict and act in a
stochastic environment, based on past experience. Applications of reinforcement learning range
from classical control problems, such as power plant optimization or dynamical system control, to
game playing, inventory control, and many other fields. Topics include Markov decision process,
dynamic programming, Monte Carlo, temporal difference, function approximation reinforcement
learning algorithms, and applications of reinforcement learning. This course enables the leaners to
apply reinforcement learning on real world applications and research problems.
Prerequisite: A pass in CST 294(Computational Fundamentals for Machine Learning)
Course Outcomes: After the completion of the course the student will be able to
PO PO PO 3 PO 4 PO PO 6 PO PO PO PO PO 11 PO
1 2 5 7 8 9 10 12
CO 1
CO 2
CO 3
CO 4
CO 5
COMPUTER SCIENCE AND ENGINEERING
Assessment Pattern
Remember
30% 30% 30%
Understand
30% 30% 30%
Apply
40% 40% 40%
Analyse
Evaluate
Create
Mark Distribution
Attendance : 10 marks
First Internal Examination shall be preferably conducted after completing the first half of the
syllabus and the Second Internal Examination shall be preferably conducted after completing
remaining part of the syllabus.
There will be two parts: Part A and Part B. Part A contains 5 questions (preferably, 2 questions
each from the completed modules and 1 question from the partly covered module), having 3
marks for each question adding up to 15 marks for part A. Students should answer all questions
from Part A. Part B contains 7 questions (preferably, 3 questions each from the completed
modules and 1 question from the partly covered module), each with 7 marks. Out of the 7
questions in Part B, a student should answer any 5.
End Semester Examination Pattern:There will be two parts; Part A and Part B. Part A contain
10 questions with 2 questions from each module, having 3 marks for each question. Students
should answer all questions. Part B contains 2 questions from each module of which student
should answer anyone. Each question can have maximum 2 sub-divisions and carry 14 marks.
Syllabus
Module 1 (Review Of Probability Concepts)
Carlo Estimation of Action Values, Monte Carlo Control, Monte Carlo Control without
Exploring Starts, Off-policy Prediction via Importance Sampling, Incremental Implementation,
Off-policy Monte Carlo Control.
Module 4 (Temporal-Difference (TD) Methods For Model Free Prediction And Control)
TD Methods - TD Prediction, Advantages of TD Prediction Methods, Optimality of TD(0),
Sarsa: On-policy TD Control, Q-learning: Off-policy TD Control, Expected Sarsa.
n-step Bootstrapping- n-step TD Prediction, n-step Sarsa, step Off-policy Learning, Off-policy
Learning Without Importance Sampling: The n-step Tree Backup Algorithm.
Text book:
1 Richard S. Sutton and Andrew G. Barto, Reinforcement Learning: An Introduction, , 2nd
Edition
2 Alberto Leon-Garcia, Probability, Statistics, and Random Processes for Electrical
Engineering, 3rd Edition,
Reference books:
1 Reinforcement Learning: State-of-the-Art, Marco Wiering and Martijn van Otterlo, Eds
2 Algorithms for Reinforcement Learning, Szepesvari (2010), Morgan & Claypool.
3 Artificial Intelligence: A Modern Approach, Stuart J. Russell and Peter Norvig
4 Mathematical Statistics and Data Analysis by John A. Rice,University of California,
Berkeley, Third edition, published by Cengage.
5 Machine Learning: A Probabilistic Perspective, Kevin P. Murphy
COMPUTER SCIENCE AND ENGINEERING
1 Let Jand Tbe independent events, where P(J)=0.4and P(T)=0.7. Find P(J∩T), P(J∪T)
and P(J∩T′)
2 Let A and B be events such that P(A)=0.45 , P(B)=0.35 and P(A∪B)=0.5. Find P(A∣B ).
3 A random variable Rhas the probability distribution as shown in the following table:
5 Two players A and B are competing at a quiz game involving a series of questions. On
any individual question, the probabilities that A and B give the correct answer are p and q
respectively, for all questions, with outcomes for different questions being independent.
The game finishes when a player wins by answering a question correctly. Compute the
probability that A wins if
(i) A answers the first question,
(ii) B answers the first question.
6 A coin for which P(heads) = pis tossed until two successive tails are obtained. Find the
probability that the experiment is completed on thenthtoss.
7 An urn contains p black balls, q white balls, and r red balls; and n balls are chosen
without replacement.
i. Find the joint distribution of the numbers of black, white, and red balls in the
sample.
ii. Find the joint distribution of the numbers of black and white balls in the
sample.
iii. Find the marginal distribution of the number of white balls in the sample.
8 Suppose that two components have independent exponentially distributed lifetimes,
T1and T2, with parameters αand β, respectively. Find (a) P( T1> T2)and (b) P( T1> 2
T2).
COMPUTER SCIENCE AND ENGINEERING
9 Let Z1 and Z2 be independent random variables each having the standard normal
distribution. Define the random variables X and Y by X = Z1 + 3Z2 and Y = Z1+ Z2.
Argue that the joint distribution of (X, Y) is a bivariate normal distribution. What are the
parameters of this distribution?
10 Given a continuous random variable x, with cumulative distribution function Fx(x),
show that the random variable y = Fx(x) is uniformly distributed.
11 ou roll a fair dice twice. Let the random variable X be the product of the outcomes of the
two rolls. What is the probability mass function of X? What are the expected values and
the standard deviation of X?
12 Show that if two events Aand Bare independent, then Aand B'are independent
13 Prove that Xand Yare independent if and only if fX|Y (x|y) = fX(x)for all xand y
14 A random square has a side length that is a uniform [0, 1] random variable. Find the
expected area of the [Link] X be a continuous random variable with the density
function f (x) = 2x, 0 ≤ x ≤ 1
i. Find E(X).
ii. Find E(X2)and Var(X).
1 What are the main differences between supervised learning and reinforcement learning?
2 Give examples of Markovian and non-Markovian environments?
3 What are the advantages and disadvantages of value methods vs policy methods?
4 Define the optimal state-value function V*(s) for an MDP.
5 Imagine that the rewards are at most 1 everywhere. What is the maximum value that the
discounted return can attain ? Why ?
6 Write down the Bellman optimality equation for state-value functions
7 Suppose that you are in a casino. You have Rs 20 and will play until you lose it all or as
soon as you double your money. You can choose to play two slot machines: 1) slot
machine A costs Rs 10 to play and will return Rs 20 with probability 0.05 and Rs 0
otherwise; and 2) slot machine B costs Rs 20 to play and will return Rs30 with probability
0.01 and Rs 0 otherwise. Until you are done, you will choose to play machine A or
machine B in each turn. Describe the state space, action space, rewards and transition
probabilities. Assume the discount factor γ = 1. Rewards should yield a higher reward
when terminating with Rs 40 than when terminating with Rs 0. Also, the reward for
terminating with Rs 40 should be the same regardless of how we got there (and
equivalently for Rs 0).
COMPUTER SCIENCE AND ENGINEERING
1 Explain policy iteration and value iteration? What are their similarities and differences?
2 Why Monte Carlo methods for learning value functions require episodic tasks? How is it
that n-step TD methods avoid this limitation and can work with continuing tasks?
3 List any three uses of the depth parameter in the Monte-Carlo tree search procedure.
4 Given that qπ(s, a) > vπ(s), can we conclude that π is not an optimal policy. Justify
1 Draw the backup diagram for 2-step Sarsa. Write the corresponding learning rule for 2-
step Sarsa.
2 Why is Sarsa an on-policy algorithm while Q-learning is an off-policy algorithm?
3 How would you differentiate between learning algorithms using on-policy from those
that use off-policy?
4 When using Temporal Difference learning, why is it better to learn action values (Q-
values) rather than state values (V-values)?
5 Supose that a Q-learning agent always chooses the action which maximizes the Q-value.
What is one potential problem with that approach?
6 Describe any two ways that will force a Q-learning agent to explore.
7 Why and when do we need importance sampling?
1 How do you deal with a large possible action space in reinforcement learning?
2 List any two benefits of policy gradient methods over value function based methods.
3 What is the relation between Q-learning and policy gradients methods?
4 Consider a five state random walk. There are five states, s1, s2, ..., s5, in a row with two
actions each, left and right. There are two terminal states at each end, with a reward of +1
for terminating on the right, after s5 and a reward of 0 for all other transitions, including
the one terminating on the left after s1. In designing a linear function approximator, what
is the least number of state features required to represent the value of the equi-probable
random policy?
COMPUTER SCIENCE AND ENGINEERING
1 The first three digits of a telephone number are 452. If all the sequences of the
remaining four digits are equally likely, what is the probability that a randomly
selected telephone number contains seven distinct digits?
2 If X is a discrete uniform random variable, i.e., P(X = k) = 1/n for k = 1, 2, ... ,
n, find E(X)and Var(X).
3 Define the discounted return Gt. Give an expression for Gtin terms of Gt+1.
5 Suppose that we are doing value iteration with γ = 0. How many iterations will
it take for value iteration to converge to the optimal value function?
6 List any three advantages of Monte Carlo methods over dynamic programming
techniques?
7 Draw the backup diagram for 2-step Q-learning. Write the corresponding
learning rule for 2-step Q-learning.
8 Why Monte Carlo methods for learning value functions require episodic tasks.
How does n-step TD methods avoid this limitation and can work with
continuing tasks?
9 In using policy gradient methods, if we make use of the average reward
formulation rather than the discounted reward formulation, then is it necessary
to consider, for problems that do not have a unique start state, a designated start
state, s0? Justify.
10 Value function based methods are oriented towards finding deterministic
COMPUTER SCIENCE AND ENGINEERING
policies whereas policy search methods are geared towards finding stochastic
policies. True or false? Justify.
10 x 3 = 30
PART B
Answer any one Question from each module. Each question carries 14 Marks
11 a) Three players play 10 independent rounds of a game, and each player has (7)
probability 1/3 of winning each round. Find the joint distribution of the numbers
of games won by each of the three players.
b) Find the joint density of X + Y and X/Y, where X and Y are independent (7)
exponential random variables with parameter λ. Show that X + Y and X/Yare
independent.
OR
12 a) An experiment consists of throwing a fair coin four times. Find the probability (7)
mass function and the cumulative distribution function of the following random
variables:
i the number of heads before the first tail
ii the number of heads following the first tail
iii the number of heads minus the number of tails
iv the number of tails times the number of heads.
b) Let X be a continuous random variable with probability density function on (7)
2 2
0 <= x <= 1 defined by f(x) = 3x . Find the pdf of Y = X .
13 a) What is the difference between a state value function V(s) and a state-action (4)
value function Q(s,a)?
b) Consider designing a recycling robot whose job is to collect empty bottles (10)
around the building. The robot has a sensor to detect when a bottle is in front of
it, and a gripper to pick up the bottle. It also senses the level of its battery. The
robot can navigate, as well as pick up a bottle and throw a bottle it is holding in
the trash. There is a battery charger in the building, and the robot should not run
out of battery.
i. Describe this problem as an MDP. What are the states and actions?
ii. Suppose that you want the robot to collect as many bottles as possible,
while not running out of battery. Describe what rewards would enable it
to achieve this task.
COMPUTER SCIENCE AND ENGINEERING
OR
b) Consider a 4x4 gridworld where the agent starts in the top left, the bottom righ (10)
state is terminal, rewards are always -1, γ = 1, and state transitions ar
deterministic. Consider the policy that always chooses the action to move down
except when it is on the bottom row, at which point it chooses the action to mov
right. Starting with v0(s) = 0 for all s, compute v1, v2, ... , v7.
15 a) During a single iteration of the Value Iteration algorithm, we typically iterate (5)
over the states in S in some order to update Vt(s) to Vt+1(s) for all states s. Is it
possible to do this iterative process in parallel? Explain why or why not.
b) Consider an undiscounted Markov Reward Process with two states A and B. (9)
The transition matrix and reward function are unknown, but you have observed
two sample episodes:
A +3 --> A +2 --> B -4 --> A +4 --> B -3
B -2 --> A +3 --> B -3
i. Using first-visit Monte-Carlo evaluation, estimate the state-value
function V(A),V(B).
ii. Using every-visit Monte-Carlo evaluation, estimate the state-value
function V(A),V(B).
iii. Draw a diagram of the Markov Reward Process that best explains these
two episodes. Show rewards and transition probabilities on your
diagram.
OR
16 a) Suppose you are given a finite set of transition data. Assuming that the Markov (4)
model that can be formed with the given data is the actual MDP from which the
data is generated, will the value functions calculated by the MC and TD
methods necessarily agree? Justify.
b) With respect to the expected Sarsa algorithm, is exploration required as it is in (5)
the normal Sarsa and Q-learning algorithms? Justify.
c) For a specific MDP, suppose we have a policy that we want to evaluate through (5)
the use of actual experience in the environment alone and using Monte Carlo
methods. We decide to use the first-visit approach along with the technique of
always picking the start state at random from the available set of states. Will this
approach ensure complete evaluation of the action value function corresponding
to the policy?
17 a) Consider the following Q[S,A] table (9)
COMPUTER SCIENCE AND ENGINEERING
Assume the discount factor, γ= 0.5, and the step size, α = 0.1. After the
experience (s, a, r, s')=(1, 1, 5, 2), which value of the table gets updated and
what is its new value?
b) What is the difference between Q-learning and Sarsa? (5)
OR
Assume the discount factor, γ= 0.5, and the step size, α = 0.1. After the
experience (s, a, r, s', a')=(1, 1, 5, 2, 1), which value of the table gets updated
and what is its new value?
b) For Q-learning to converge we need to correctly manage the exploration vs. (5)
exploitation tradeoff. What property needs to be hold for the exploration
strategy?
19 a) Given the following sequence of states observed from the beginning of an (8)
episode, s2, s1, s3, s2, s1, s2, s1, s6, what is the eligibility value, e7(s1), of state s1at
time step 7 given trace decay parameter λ, discount rate γ, and initial value,
e0(s1) = 0, when accumulating traces are used? What is the eligibility value if
replacing traces are used?
b) Suppose that we are using a policy gradient method to solve a reinforcement (6)
learning problem and the policy returned by the method is not optimal. Give
three plausible reasons for such an outcome?
OR
Write down the update rule that Sarsa would give for this function.
b) Suppose that in a particular problem, the agent keeps going back to the same
state in a loop. What is the maximum value that can be taken by the eligibility (6)
trace of such a state if we consider accumulating traces with λ = 0.25 and γ =
0.8?
COMPUTER SCIENCE AND ENGINEERING
Teaching Plan
No. of
No Topic Lectures
(42)
Module-1 (Review Of Probability Concepts) TB-2(Ch 2,3,4,5)
(8 hours)
1.1 Axioms of probability, concepts of random variables
1 hour
YEAR OF
LOGIC FOR CATEGORY L T P CREDIT
CST499 INTRODUCTION
COMPUTER SCIENCE
VAC 3 1 0 4 2019
Preamble: This course enables the learners to understand the concepts of various logics used in
computer science. The course covers the standard and most popular logics such as propositional
logic, predicate logic, linear temporal logic, computation tree logic, Hoare logic and modal logic.
This course helps the students to develop solutions for specification and verification of real world
systems.
Prerequisite: Nil
CO1 Explain the concepts of Predicate Logic, Propositional Logic, Linear Temporal Logic,
Computation Tree Logic, Hoare Logic and Modal Logic as a formal language.
(Cognitive Knowledge Level: Understand)
CO2 Develop proofs to show the satisfiability, validity and equivalence of logic
formulas.(Cognitive Knowledge Level: Apply)
CO4 Demonstrate Alloy Analyzer to model and analyze software systems. (Cognitive
Knowledge Level: Apply)
CO5 Demonstrate New Symbolic Model Verifier (NuSMV) as a model checking tool to check
the validity of temporal logic formulas.(Cognitive Knowledge Level: Apply)
CO1
CO2
CO3
CO4
COMPUTER SCIENCE AND ENGINEERING
CO5
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 30 30 30
Understand 30 30 30
Apply 40 40 40
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
COMPUTER SCIENCE AND ENGINEERING
2. A familiar command missing from the core language (described in the text book) is the for-
statement. It may be used to sum the elements in an array, for example, by programming
as follows:
s = 0;
for (i = 0; i <= max; i = i+1) {
s = s + a[i];
}
After performing the initial assignment s = 0, this executes i = 0 first, then executes the
body s = s + a[i] and the incrementation i = i + 1 continually untili<= max becomes false.
Explain how for(C1;B;C2) {C3} can be defined as a derived program in our core language.
PART A
4. Let 𝜙𝜙 be ∃𝑥𝑥 (𝑃𝑃(𝑦𝑦, 𝑧𝑧) ⋀ (∀𝑦𝑦 (~𝑄𝑄(𝑦𝑦, 𝑥𝑥) ⋁ 𝑃𝑃(𝑦𝑦, 𝑧𝑧)))), where 𝑃𝑃 and 𝑄𝑄 are predicate
symbols with two arguments. Identify all bound and free variables in 𝜙𝜙.
6. Prove that the LTL equivalence between 𝜙𝜙 𝑈𝑈 𝜓𝜓and~ �~𝜓𝜓 𝑈𝑈 (~𝜙𝜙 ⋀ ~𝜓𝜓)� ⋀ 𝐹𝐹𝐹𝐹.
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Give the rules for Natural Deduction in propositional logic. (6)
(b) Use Natural Deduction to show the equivalence of the following formulas. (8)
a. (𝑝𝑝 ⋀ 𝑞𝑞) ⋀ 𝑟𝑟 , 𝑠𝑠 ⋀ 𝑡𝑡 ⊢ 𝑞𝑞 ⋀ 𝑠𝑠
b. (𝑞𝑞 ⟶ 𝑟𝑟) ⟶ ((~𝑞𝑞 ⟶ ~𝑝𝑝) ⟶ (𝑝𝑝 ⟶ 𝑟𝑟))
OR
12. (a) What is a Horn Formula? How do you decide the satisfiability of a Horn (6)
formula.
13. (a) Use Natural Deduction to prove the following equivalences. (8)
a. ∀𝑥𝑥�𝑄𝑄(𝑥𝑥) → 𝑅𝑅(𝑥𝑥)�, ∃𝑥𝑥(𝑃𝑃(𝑥𝑥)⋀ 𝑄𝑄(𝑥𝑥)) ⊢ ∃𝑥𝑥(𝑃𝑃(𝑥𝑥)⋀𝑅𝑅(𝑥𝑥))
b. ∃𝑥𝑥𝑥𝑥(𝑥𝑥), ∀𝑥𝑥�𝑃𝑃(𝑥𝑥) ⟶ 𝑄𝑄(𝑥𝑥)� ⊢ ∀𝑦𝑦𝑦𝑦(𝑦𝑦)
(b) Illustrate how Quantifier Equivalences can be used to check the equivalence (6)
of predicate logic formulas.
OR
There is an entity named Person, Man and Woman are two specializations of
the entity Person. Every Person has a Father (a Man) and a Mother as
Parent. The Parents of a Person should be married. A Man’s spouse should
be a Woman and a Woman’s spouse should be a Man. The spouse relation
is symmetric.
COMPUTER SCIENCE AND ENGINEERING
(b) Explain Existential Second Order Logic and Universal Second Order Logic. (7)
15. (a) Model the Ferryman problem using New Symbolic Model Verifier (7)
(NuSMV).
(b) Construct a Generalized Buchi Automaton for the LTL formula 𝒪𝒪𝒪𝒪. (7)
OR
16. (a) Show the closure of the LTL formula ~𝑝𝑝 𝑈𝑈 (𝐹𝐹 𝑟𝑟 ⋁ 𝐺𝐺 ~𝑞𝑞 ⟶ 𝑞𝑞 𝑊𝑊 ~𝑟𝑟). (7)
17. (a) Illustrate partial correctness and total correctness in program verification. (7)
(b) (7)
OR
18. (a) Consider the program for computing the factorial of a number as given below. (7)
19. (a) Let ℱ = (𝑊𝑊, 𝑅𝑅) be a frame. Prove the two claims given below. (7)
OR
(b) Find a modal logic to formalize and solve The Wise-Men Puzzle. (6)
COMPUTER SCIENCE AND ENGINEERING
Teaching Plan
No. of
Lecture
No Contents Hours
(45 hrs)
Module-1(Propositional Logic) (8 hours)
3.1 Motivation for Verification, Linear Time Temporal Logic (LTL) - Syntax 1 hour
Semantics of LTL – Practical Patterns of Specifications, Important
3.2 Equivalences between LTL Formulas, Adequate Sets of Connectives for 1 hour
LTL
3.3 Introduction to model checking 1 hour
3.4 Model Checking Systems, Tools, Properties 1 hour
3.5 Model checking example: Mutual Exclusion 1 hour
The New Symbolic Model Verifier (NuSMV) Model Checker –
3.6 1 hour
Introduction, Mutual Exclusion Revisited
3.7 The NuSMV Model Checker – The Ferryman, The Alternating Bit Protocol 1 hour
Branching Time Logic – Syntax of Computation Tree Logic (CTL),
3.8 1 hour
Semantics of CTL
Practical Patterns of Specification, Important Equivalences between CTL
3.9 1 hour
Formulas, Adequate Sets of CTL Connectives
CTL and the Expressive Powers of LTL and CTL – Boolean Combinations
3.10 1 hour
of Temporal Formulas in CTL
3.11 Model-Checking Algorithms – The CTL Model Checking Algorithm 1 hour
3.12 CTL Model Checking with Fairness 1 hour
3.13 The LTL Model Checking Algorithm (Algorithm only) 1 hour
Module-4 (Program Verification) (8 hours)
Introduction to Program Verification, Need of Specification and Verification of
4.1 1 hour
Code
SEMESTER VIII
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
DISTRIBUTED CATEGORY L T P CREDIT INTRODUCTION
CST402
COMPUTING PCC 2 1 0 3 2019
Preamble: The purpose of this course is to understand the system models, algorithms and protocols
that allow computers to communicate and coordinate their actions to solve a problem. This course
helps the learner to understand the distributed computation model and various concepts like global
state, termination detection, mutual exclusion, deadlock detection, shared memory, failure recovery,
consensus, file system. It helps the learners to develop solutions to problems in distributed computing
environment.
Prerequisite: Basic knowledge in data structures and operating systems.
Course Outcomes: After the completion of the course the student will be able to
CO1 Summarize various aspects of distributed computation model and logical time.
(Cognitive Knowledge Level: Understand)
CO2 Illustrate election algorithm, global snapshot algorithm and termination detection
algorithm. (Cognitive Knowledge Level: Apply)
CO3 Compare token based, non-token based and quorum based mutual exclusion
algorithms. (Cognitive Knowledge Level: Understand)
CO4 Recognize the significance of deadlock detection and shared memory in distributed
systems. (Cognitive Knowledge Level: Understand)
CO5 Explain the concepts of failure recovery and consensus. (Cognitive Knowledge Level:
Understand)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2
CO1
CO2
CO3
CO4
CO5
CO6
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 30 30 30
Understand 50 50 50
Apply 20 20 20
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
Syllabus
Module – 1 (Distributed systems basics and Computation model)
Distributed System – Definition, Relation to computer system components, Motivation, Primitives
for distributed communication, Design issues, Challenges and applications. A model of distributed
computations – Distributed program, Model of distributed executions, Models of communication
networks, Global state of a distributed system, Cuts of a distributed computation, Past and future
cones of an event, Models of process communications.
Module – 2 (Election algorithm, Global state and Termination detection)
Logical time – A framework for a system of logical clocks, Scalar time, Vector time. Leader election
algorithm – Bully algorithm, Ring algorithm. Global state and snapshot recording algorithms –
System model and definitions, Snapshot algorithm for FIFO channels – Chandy Lamport algorithm.
Termination detection – System model of a distributed computation, Termination detection using
distributed snapshots, Termination detection by weight throwing,Spanning-tree-based algorithm.
Distributed shared memory – Abstraction and advantages. Shared memory mutual exclusion –
Lamport’s bakery algorithm. Check pointing and rollback recovery – System model, consistent and
inconsistent states, different types of messages, Issues in failure recovery, checkpoint based
recovery, log based roll back recovery.
Module – 5 (Consensus and Distributed file system)
Consensus and agreement algorithms – Assumptions, The Byzantine agreement and other problems,
Agreement in (message-passing) synchronous systems with failures – Consensus algorithm for crash
COMPUTER SCIENCE AND ENGINEERING
failures. Distributed file system – File service architecture, Case studies: Sun Network File System,
Andrew File System, Google File System.
(Note: Proof of correctness and performance analysis are not expected for any of the algorithms
in the syllabus).
Text Books
1. Ajay D. Kshemkalyani and Mukesh Singhal, Distributed Computing: Principles, Algorithms, and
Systems, Cambridge University Press, 2011.
Reference Books
1. George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair. Distributed Systems:
Concepts and Design, Addison Wesley, Fifth edition.
2. Kai Hwang, Geoffrey C Fox, Jack J Dongarra, Distributed and Cloud Computing – From
Parallel Processing to the Internet of Things, Morgan Kaufmann Publishers, 2012.
3. Sukumar Ghosh, Distributed Systems: An Algorithmic Approach, CRC Press, Second edition,
2015.
4. Maarten Van Steen, Andrew S. Tanenbaum, Distributed Systems, Prentice Hall of India,Third
edition, 2017.
5. Randy Chow and Theodore Johnson, Distributed Operating Systems and Algorithm Analysis,
Pearson Education India, First edition, 2009.
6. Valmir C. Barbosa, An Introduction to Distributed Algorithms, MIT Press, 2003.
QP CODE:
PART A
1. Identify any three distributed applications and for each application, determine
which all motivating factors are important for building an application over a
distributed system.
2. Assume that the surface of the past cone form a consistent cut. Does it mean that
all events on the surface of the past cone are always concurrent? Demonstrate with
the help of an example.
5. Describe how quorum-based mutual exclusion algorithms differ from the other
categories of mutual exclusion algorithms.
10. Differentiate between whole file serving and whole file caching in Andrew file (10x3=30)
system
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Explain the three different models of the service provided by communication (6)
networks.
(b) Explain how the causal dependency between events in distributed execution is (8)
defined using Lamport’s happened before relationship.
OR
12. (a) Address the various strategies that can be adopted to satisfy the requirements (6)
of a reliable and fault tolerant distributed system.
(b) Which are the different versions of send and receive primitives for distributed (8)
communication? Explain.
13. (a) Illustrate bully algorithm for electing a new leader. Does the algorithm meet (7)
liveness and safety conditions?
(b) Clearly mentioning assumptions, explain the rules of termination detection (7)
using distributed snapshots.
OR
14. (a) In Chandy-Lamport algorithm for recording global snapshots, explain how the (6)
recorded local snapshots can be put together to create the global snapshot.
Can multiple processes initiate the algorithm concurrently?
(b) Illustrate the working of spanning tree based termination detection algorithm. (8)
15. (a) Explain and illustrate Lamport’s mutual exclusion algorithm. (8)
(b) Discuss the three types of messages required for deadlock handling in (6)
Maekawa’s algorithm. Explain how Maekawa’s algorithm handles deadlocks.
OR
COMPUTER SCIENCE AND ENGINEERING
16. (a) Explain and illustrate Ricart- Agrawala algorithm for achieving mutual (8)
exclusion.
17. (a) What are the issues in failure recovery? Illustrate with suitable examples. (7)
(b) Show that Lamport’s Bakery algorithm for shared memory mutual exclusion, (7)
satisfy the three requirements of critical section problem.
OR
18. (a) Differentiate consistent and inconsistent states with examples. (4)
19. (a) Explain consensus algorithm for crash failures under synchronous systems. (6)
OR
Teaching Plan
No. of
Lecture
No Contents Hours
(35
hours)
Module – 1(Distributed systems basics and Computation model) (7 hours)
* Proof of correctness and performance analysis are not expected for this algorithm.
COMPUTER SCIENCE AND ENGINEERING
The objective of this Course viva is to ensure the basic knowledge of each student in the most
fundamental core courses in the curriculum. The viva voce shall be conducted based on the core
subjects studied from third to eighth semester. This course helps the learner to become competent in
placement tests and other competitive examinations.
Guidelines
1. The course should be mapped with a faculty and classes shall be arranged for practicing
questions based on the core courses listed in the curriculum.
2. The viva voce will be conducted by the same three member committee assigned for final
project phase II evaluation. It comprises of Project coordinator, expert from
Industry/research Institute and a senior faculty from a sister department.
3. The pass minimum for this course is 25.
4. The mark will be treated as internal and should be uploaded along with internal marks of
other courses.
5. Comprehensive Viva should be conducted along with final project evaluation by the three
member committee.
Mark Distribution
Total marks: 50, only CIE, minimum required to pass : 25
COMPUTER SCIENCE AND ENGINEERING
CATEGORY L T P CREDIT
CSD416 PROJECT PHASE II
PWS 0 0 12 4
Preamble: The course ‘Project Work’ is mainly intended to evoke the innovation and invention
skills in a student. The course will provide an opportunity to synthesize and apply the knowledge
and analytical skills learned, to be developed as a prototype or simulation. The project extends to
2 semesters and will be evaluated in the 7th and 8th semester separately, based on the achieved
objectives. One third of the project credits shall be completed in 7th semester and two third in 8th
semester. It is recommended that the projects may be finalized in the thrust areas of the
respective engineering stream or as interdisciplinary projects. Importance should be given to
address societal problems and developing indigenous technologies.
Course Objectives
To apply engineering knowledge in practical problem solving.
To foster innovation in design of products, processes or systems.
To develop creative thinking in finding viable solutions to engineering problems.
Course Outcomes [COs]: After successful completion of the course, the students will be able to:
Model and solve real world problems by applying knowledge across domains
CO1
(Cognitive knowledge level: Apply).
Develop products, processes or technologies for sustainable and socially relevant
CO2
applications (Cognitive knowledge level: Apply).
Function effectively as an individual and as a leader in diverse teams and to
CO3
comprehend and execute designated tasks (Cognitive knowledge level: Apply).
Plan and execute tasks utilizing available resources within timelines, following ethical
CO4
and professional norms (Cognitive knowledge level: Apply).
Identify technology/research gaps and propose innovative/creative solutions
CO5
(Cognitive knowledge level: Analyze).
Organize and communicate technical and scientific findings effectively in written and
CO6
oral forms (Cognitive knowledge level: Apply).
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 2 2 2 1 2 2 2 1 1 1 1 2
CO2 2 2 2 1 3 3 1 1 1 1
CO3 3 2 2 1
CO4 2 3 2 2 3 2
CO5 2 3 3 1 2 1
CO6 2 2 2 3 1 1
COMPUTER SCIENCE AND ENGINEERING
Conduct investigations of
PO4 complex problems PO0 Communication
PROJECT PHASE II
Phase 2 Targets
In depth study of the topic assigned in the light of the report prepared under Phase - I;
Review and finalization of the approach to the problem relating to the assigned topic.
Preparing a detailed action plan for conducting the investigation, including teamwork.
Detailed Analysis/ Modeling / Simulation/ Design/ Problem Solving/Experiment as
needed.
Final development of product/ process, testing, results, conclusions and future
directions.
Preparing a paper for Conference Presentation/ Publication in Journals, if possible.
Presenting projects in Project Expos conducted by the University at the cluster level
and/ or state level as well as others conducted in India and abroad.
Filing Intellectual Property Rights (IPR) if applicable.
Preparing a report in the standard format for being evaluated by the Department
Assessment Board.
Final project presentation and viva voce by the assessment board including the
external expert.
(The evaluation committee comprises HoD or a senior faculty member, Project coordinator
and project supervisor. The final evaluation committee comprises of Project coordinator,
expert from Industry/research/academic Institute and a senior faculty from a sister
department).
COMPUTER SCIENCE AND ENGINEERING
Project Scheduling & Distribution of Work among Team members: Detailed and extensive
Scheduling with timelines provided for each phase of project. Work breakdown structure well
defined. (5)
Student’s Diary/ Daily Log: The main purpose of writing daily diary is to cultivate the habit of
documenting and to encourage the students to search for details. It develops the students’ thought
process and reasoning abilities. The students should record in the daily/weekly activity diary the
day to day account of the observations, impressions, information gathered and suggestions given,
if any. It should contain the sketches & drawings related to the observations made by the
students. The daily/weekly activity diary shall be signed after every day/week by the guide. (7)
Completion of the project: The students should demonstrate the project to their respective
guide. The guide shall verify the results and see that the objectives are met. (5)
EVALUATION RUBRICS for PROJECT Phase II: Interim Evaluation - 1
No. Parameters Marks Poor Fair Very Good Outstanding
Good evidence of an implementable
Some of the aspects of the proposed
The project is not addressing any project. There is some evidence for The project has evolved into incorporating
idea can be implemented. There is
useful requirement. The idea is the originality of the work done by the an outstandingly novel idea. Original work
still lack of originality in the work
Novelty of idea, and evolved into a non-implementable team . There is fresh specifications/ which is not yet reported anywhere else.
done so far by the team. The project
Implementation scope one. The work presented so far is features/improvements suggested by Evidence for ingenious way of innovation
2-a 5 is a regularly done theme/topic
[CO5] lacking any amount of original work the team. The team is doing a design which is also Implementable. Could be a
without any freshness in terms of
[Group Evaluation] by the team. from fundamental principles, and patentable / publishable work.
specifications, features, and/or
there is some independent learning
improvements.
and engineering ingenuity.
Little or no evidence of continued There is some improvement in the Good evidence of planning done and Excellent evidence of enterprising and
planning or scheduling of the primary plan prepared during phase I. being followed up to a good extent extensive project planning and follow-up
project. The students did not stick to There were some ideas on the since phase I. Continued use of project
after phase I. Materials were listed
Adherence to project the plan what they were going to materials /resources required, but not and thought out, but the plan wasn't management/version control tool to track
schedule. build nor plan on what materials / really thought out. The students have the project. Material procurement if
2-c 5 followed completely. Schedules were
[CO4] resources to use in the project. The some idea on the finances required, prepared, but not detailed, and needs applicable is progressing well. Tasks are
[Group Evaluation] students do not have any idea on the but they have not formalized a budget improvement. Project journal is updated and incorporated in the schedule.
budget required even after the end of plan. Schedules were not prepared. presented but it is neither complete A well-kept project journal showed
phase - I. No project journal kept or The project journal has no useful nor updated regularly. evidence for all the above, in addition to
the journal. details on the project. the interaction with the project guide.
The student does not show any The student appears to apply some The student is able to show some Excellent knowledge in design procedure
Application of evidence of applying engineering basic knowledge, but not able to evidence of application of engineering and its adaptation. The student is able to
engineering knowledge on the design and the show the design procedure and the knowledge in the design and apply knowledge from engineering
knowledge methodology adopted. The student's methodologies adopted in a development of the project to good domains to the problem and develop
2-f [CO1] 10 contribution in application of comprehensive manner. extent. solutions.
[Individual engineering knowledge in the project
Assessment] is poor.
None of the expected outcomes are Many of the expected outcomes are Most of the stated outcomes are met.
Only a few of the expected outcomes
Results and achieved yet. The team is unable to achieved. Many observations and Extensive studies are done and inferences
are achieved. A few inferences are
inferences upon derive any inferences on the failures/ inferences are made, and attempts to drawn. Most of the failures are addressed
5 made on the observed failures/issues.
execution [CO5] issues observed. Any kind o f identify the issues are done. Some and solutions suggested. Clear and valid
2-h No further work suggested.
[Group Assessment] observations or studies are not made. suggestions are made for further work. suggestions made for further work.
Documentatio n and The individual student has no idea on The individual's presentation is done
Presentation's overall quality needs The individual’s presentation
presentation. the presentation of his/her part. The professionally and with great clarity. The
5 to be improved. performance is satisfactory.
2-i .[CO6] presentation is of poor quality. individual’s performance is excellent.
[Individual assessment]
(0 - 1 Marks) (2 - 3 Marks) (4 Marks) (5 Marks)
The prepared report is shallow and not Project report shows evidence of
Project report follows the standard The report is exceptionally good. Neatly
as per standard format. It does not systematic documentation. Report is
format to some extent. However, its organized. All references cited properly.
follow proper organization. Contains mostly following the standard style
organization is not very good. Diagrams/Figures, Tables and equations
mostly unacknowledged content. Lack format and there are only a few issues.
2-o Report [CO6] 30 Language needs to be improved. All are properly numbered, and listed and
of effort in preparation is evident. Organization of the report is good.
references are not cited properly in the clearly shown. Language is excellent and
References are not cited. Mostly consistently formatted. Most of
report. There is lack of formatting follows professional styles. Consistent
Unprofessional and inconsistent references/sources are cited/
consistency. formatting and exceptional readability.
formatting. acknowledged properly.
SEMESTER VIII
PROGRAM ELECTIVE III
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
CATEGORY L T P CREDIT INTRODUCTION
CST414 DEEP LEARNING
PEC 2 1 0 3 2019
Preamble: Deep Learning is the recently emerged branch of machine learning, particularly
designed to solve a wide range of problems in Computer Vision and Natural Language Processing.
In this course, the building blocks used in deep learning are introduced. Specifically, neural
networks, deep neural networks, convolutional neural networks and recurrent neural networks.
Learning and optimization strategies such as Gradient Descent, Nesterov Accelerated Gradient
Descent, Adam, AdaGrad and RMSProp are also discussed in this course. This course will helps
the students to attain sound knowledge of deep architectures used for solving various Vision and
NLP tasks. In future, learners can master modern techniques in deep learning such as attention
mechanisms, generative models and reinforcement learning.
Prerequisite: Basic understanding of probability theory, linear algebra and machine learning
Course Outcomes: After the completion of the course, the student will be able to
CO1 Illustrate the basic concepts of neural networks and its practical issues
(Cognitive Knowledge Level: Apply)
CO2 Outline the standard regularization and optimization techniques for deep neural
network (Cognitive Knowledge Level: understand)
CO5 Use different neural network/deep learning models for practical applications.
(Cognitive Knowledge Level: Apply)
COMPUTER SCIENCE AND ENGINEERING
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
Assessment Pattern
Remember 30 30 30
Understand 30 30 30
Apply 40 40 40
COMPUTER SCIENCE AND ENGINEERING
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
Syllabus
Module-1 (Neural Networks )
Introduction to neural networks -Single layer perceptrons, Multi Layer Perceptrons (MLPs),
Representation Power of MLPs, Activation functions - Sigmoid, Tanh, ReLU, Softmax. , Risk
minimization, Loss function, Training MLPs with backpropagation, Practical issues in neural
network training - The Problem of Overfitting, Vanishing and exploding gradient problems,
Difficulties in convergence, Local and spurious Optima, Computational Challenges. Applications
of neural networks.
Introduction to deep learning, Deep feed forward network, Training deep models, Optimization
techniques - Gradient Descent (GD), GD with momentum, Nesterov accelerated GD, Stochastic
GD, AdaGrad, RMSProp, Adam. Regularization Techniques - L1 and L2 regularization, Early
stopping, Dataset augmentation, Parameter sharing and tying, Injecting noise at input, Ensemble
methods, Dropout, Parameter initialization.
Recurrent neural networks – Computational graphs, RNN design, encoder – decoder sequence to
sequence architectures, deep recurrent networks, recursive neural networks, modern RNNs LSTM
and GRU.
Applications – computer vision, speech recognition, natural language processing, common word
embedding: continuous Bag-of-Words, Word2Vec, global vectors for word representation
(GloVe). Research Areas – autoencoders, representation learning, boltzmann machines, deep
belief networks.
Text Books
1. Goodfellow, I., Bengio,Y., and Courville, A., Deep Learning, MIT Press, 2016.
2. Neural Networks and Deep Learning, Aggarwal, Charu C.
3. Fundamentals of Deep Learning: Designing Next-Generation Machine Intelligence
Algorithms (1st. ed.). Nikhil Buduma and Nicholas Locascio. 2017. O'Reilly Media, Inc.
COMPUTER SCIENCE AND ENGINEERING
Reference Books
1. Satish Kumar, Neural Networks: A Classroom Approach, Tata McGraw-Hill Education,
2004.
2. Yegnanarayana, B., Artificial Neural Networks PHI Learning Pvt. Ltd, 2009.
3. Michael Nielsen, Neural Networks and Deep Learning, 2018
2. Design a single layer perceptron to compute the NAND (not-AND) function. This
function receives two binary-valued inputs x1 and x2, and returns 0 if both inputs are
1, and returns 1 otherwise.
3. Suppose we have a fully connected, feed-forward network with no hidden layer, and
5 input units connected directly to 3 output units. Briefly explain why adding a
hidden layer with 8 linear units does not make the network any more powerful.
4. Briefly explain one thing you would use a validation set for, and why you can’t just
do it using the test set.
6. You would like to train a fully-connected neural network with 5 hidden layers, each
with 10 hidden units. The input is 20-dimensional and the output is a scalar. What is
the total number of trainable parameters in your network?
2. In stochastic gradient descent, each pass over the dataset requires the same number
of arithmetic operations, whether we use minibatches of size 1 or size 1000. Why
can it nevertheless be more computationally efficient to use minibatches of size
1000?
COMPUTER SCIENCE AND ENGINEERING
3. State how to apply early stopping in the context of learning using Gradient Descent.
Why is it necessary to use a validation set (instead of simply using the test set) when
using early stopping?
4. Suppose that a model does well on the training set, but only achieves an accuracy of
85% on the validation set. You conclude that the model is overfitting, and plan to
use L1 or L2 regularization to fix the issue. However, you learn that some of the
examples in the data may be incorrectly labeled. Which form of regularisation
would you prefer to use and why?
5. Describe one advantage of using Adam optimizer instead of basic gradient descent.
QP CODE:
PART A
2. List the advantages and disadvantages of sigmoid and ReLU activation functions.
3. Derive weight updating rule in gradient descent when the error function is a)
mean squared error b) cross entropy.
5. What happens if the stride of the convolutional layer increases? What can be the
maximum stride? Explain.
6. Draw the architecture of a simple CNN and write short notes on each block.
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Update the parameters in the given MLP using gradient descent with learning (10)
rate as 0.5 and activation function as ReLU. Initial weights are given as
𝑉𝑉 = 0.1 0.2 0 .1 0.1 W= 0.1 0.1
(b) Explain the importance of choosing the right step size in neural networks. (4)
OR
12. (a) Draw the architecture of a multi-layer perceptron. Derive update rules for (10)
parameters in the multi-layer neural network through the gradient descent
(b) Calculate the output of the following neuron Y if the activation function is a (4)
binary sigmoid.
COMPUTER SCIENCE AND ENGINEERING
13. (a) Explain, what might happen in ADAGRAD, where momentum is expressed (6)
as ∆𝑤𝑤𝑡𝑡 = −𝜂𝜂𝑔𝑔𝑡𝑡 /√(∑𝑡𝑡𝜏𝜏=1 𝑔𝑔𝜏𝜏2 ) where the denominator computes the L2
norm of all previous gradients on a per-dimension basis and is a global
learning rate shared by all dimensions.
(b) Differentiate gradient descent with and without momentum. Give equations (8)
for weight updation in GD with and without momentum. Illustrate plateaus,
saddle points and slowly varying gradient.
OR
14. (a) Suppose a supervised learning problem is given to model a deep feed forward (9)
neural network. Suggest solutions for the following a) small sized dataset for
training b) dataset with unlabeled data c) large data set but data from different
distribution.
(b) Describe the effect in bias and variance when a neural network is modified (5)
with more number of hidden units followed with dropout regularization
15. (a) Draw and explain the architecture of Convolutional Neural Networks (8)
(b) Suppose that a CNN was trained to classify images into different categories. (6)
It performed well on a validation set that was taken from the same source as
the training set but not on a testing set, which comes from another
distribution. What could be the problem with the training of such a CNN?
How will you ascertain the problem? How can those problems be solved?
OR
16. (a) What is the motivation behind convolution neural networks? (4)
(b) Discuss all the variants of the basic convolution function. (10)
17. (a) Describe how an LSTM takes care of the vanishing gradient problem. Use (8)
some hypothetical numbers for input and output signals to explain the
concept.
(b) Draw and explain the architecture of Recurrent Neural Networks (6)
OR
COMPUTER SCIENCE AND ENGINEERING
18. (a) Explain the application of LSTM in Natural Language Processing. (8)
(b) Explain the merits and demerits of using Autoencoders in Computer Vision. (6)
OR
20. (a) Illustrate the use of representation learning in object classification. (7)
Teaching Plan
No. of
Lecture
No Contents Hours
(36 hrs)
YEAR OF
PROGRAMMING CATEGORY L T P CREDIT
CST424 INTRODUCTION
PARADIGMS
PEC 2 1 0 3 2019
Preamble: The course provides the learners a clear understanding of the main constructs of
contemporary programming languages and the various systems of ideas that have been used to
guide the design of programming languages. This course covers the concepts of Names, Bindings
& Scope, Statement-Level Control Structures, Sub Programs, Support for Object Oriented
Programming, Exception Handling, Concurrency Control, Functional Programming and Logic
Programming. This course helps the learners to equip with the knowledge necessary for the critical
evaluation of existing and upcoming programming languages. It also enables the learner to choose
the most appropriate language for a given programming task, apply that language's approach to
structure or organize the code, classify programming languages based on their features and to
design new generation languages.
Prerequisite: Sound knowledge in Programming in C and Object-Oriented Programming.
Mapping of course outcomes with program outcomes
Explain the criteria for evaluating programming languages and compare Imperative,
CO1 Functional and Logic programming languages (Cognitive Knowledge Level:
Understand)
Illustrate the characteristics of data types and variables (Cognitive Knowledge Level:
CO2
Apply)
Comprehend how control flow structures and subprograms help in developing the
CO3 structure of a program to solve a computational problem (Cognitive Knowledge
Level: Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 30 30 30
Understand 40 40 40
COMPUTER SCIENCE AND ENGINEERING
Apply 30 30 30
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
x : integer – – global
procedure foo(y : integer)
y := 3
print x
...
COMPUTER SCIENCE AND ENGINEERING
x := 2
foo(x)
print x
Syllabus
Module – 1
Introduction – Role of Programming Languages, Programming Domains, Language Evaluation
Criteria, Influence on Language Design, Language Design Trade-offs, Implementation Methods.
Names, Bindings & Scope – Names, Variables, Concept of Binding, Scope and Lifetime,
Referencing Environments.
Module - 2
Data Types – Primitive Data Types, Character String Types, User-Defined Ordinal Types, Array
Types, Record Types, List Types, Pointer & Reference Types, Type Checking, Strong Typing,
Type Equivalence. Expressions – Arithmetic Expressions, Overloaded Operators, Type
Conversions, Relational and Boolean Expressions, Short-Circuit Evaluation. Assignment -
Assignment Statements, Mixed-mode Assignment.
Module - 3
Statement-Level Control Structures – Selection Statements, Iterative Statements, Unconditional
Branching, Guarded Commands. Subprograms – Design Issues of Subprograms, Local
Referencing Environments, Parameter Passing Methods, Subprograms as Parameters,
Overloaded Subprograms, Closures, Co-routines
Module - 4
Support for Object Oriented Programming – Inheritance, Dynamic Binding, Design Issues for
Object Oriented Languages, Support for Object Oriented Programming in C++, Implementation
of Object-oriented Constructs. Exception Handling – Basic Concepts, Design Issues.
Module - 5
Concurrency – Subprogram Level Concurrency, Semaphores, Monitors, Message Passing.
Functional Programming Languages – Introduction to LISP and Scheme, Comparison of
COMPUTER SCIENCE AND ENGINEERING
5. Why for statement in C language is more flexible than that of older languages?
COMPUTER SCIENCE AND ENGINEERING
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Explain different criteria used for evaluating languages. (7)
write integer(x)
(a) What does this program print if the language uses static scoping? Give
reasons.
(b) What does it print if the language uses dynamic scoping? Give reasons.
OR
12. (a) With respect to storage binding, explain the meanings, purposes, advantages and (7)
disadvantages of four categories of scalar variables.
referencing environment at the indicated program points (1), (2), (3) & (4) for
the following program segment. Assume that the programming language is
statically scoped.
program example;
var a, b : integer;
procedure sub1;
var x, y: integer;
begin { sub1 }
……….. (1)
end { sub1 }
procedure sub2;
var x : integer;
……..
procedure sub3;
var x: integer;
begin { sub3 }
……….. (2)
end { sub3 }
begin { sub2 }
……….. (3)
end { sub2}
begin {example}
……….. (4)
end {example }
13. (a) Explain any two issues associated with the pointer data types and also indicate (7)
how dangling pointer problem can be solved.
(b) Describe the lazy and eager approaches for reclaiming garbage. (7)
OR
14. (a) What is meant by side effect and illustrate the advantages of referential (8)
transparency?
(b) Explain the terms: compound assignment operator, coercion and short circuit (6)
evaluation.
COMPUTER SCIENCE AND ENGINEERING
15. (a) Illustrate the different categories of iteration control statements. (8)
(b) Explain the techniques used for identifying the correct referencing environment (6)
for a subprogram that was sent as a parameter.
OR
16. (a) Describe the implementation models of Parameter passing. (10)
(b) Differentiate coroutines from conventional subprograms. (4)
17. (a) What is meant by an exception handler? Explain how exceptions are handled in (7)
object-oriented languages.
(b) Describe the design issues in object-oriented languages. (7)
OR
18. (a) Illustrate how a virtual method table can be used for implementing dynamic (7)
method binding.
(b) Explain the different categories, merits and demerits of inheritance. (7)
19. (a) Compare functional and imperative programming languages. (7)
(b) Explain the role of monitors in concurrency. (7)
OR
20. (a) Explain the searching strategies used in Prolog. Why backward chaining is (10)
preferred over forward chaining in Prolog?
(b) (let ((a 6) (4)
(b 8)
(square (lambda (x) (* x x)))
(plus +))
(sqrt (plus (square a) (square b))))
Write the output of the above code? Explain how let and lambda construct
works?
COMPUTER SCIENCE AND ENGINEERING
Teaching Plan
No. of
Lecture
No Contents Hours
(36 hrs.)
Module-1 (7 hours)
Module-2 (7 hours)
2.3 Record Types, List Types, Pointer and Reference Types 1 hour
Module-3 (8 hours)
Module-4 (7 hours)
Module-5 (7 hours)
YEAR OF
NETWORK SECURITY CATEGORY L T P CREDIT INTRODUCTION
CST434
PROTOCOLS
PEC 2 1 0 3 2019
Preamble: This course helps the learners to explore various network and system security
protocols. This course covers authentication protocols, firewalls and security protocols from
different layers such as data link, network, transport and application. The concepts covered in
this course enable the learners in effective use of security protocols for securing network
applications.
Course Outcomes: After the completion of the course, the student will be able to
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Assessment Pattern
End Semester
Bloom’s Category Test 1 (%) Test 2 (%)
Examination (%)
Remember 20 20 20
Understand 50 50 50
Apply 30 30 30
Analyse
Evaluate
Create
Mark Distribution
Attendance : 10 marks
Continuous Assessment Test : 25 marks
Continuous Assessment Assignment : 15 marks
COMPUTER SCIENCE AND ENGINEERING
Each of the two internal examinations has to be conducted out of 50 marks. First series test
shall be preferably conducted after completing the first half of the syllabus and the second
series test shall be preferably conducted after completing remaining part of the syllabus. There
will be two parts: Part A and Part B. Part A contains 5 questions (preferably, 2 questions each
from the completed modules and 1 question from the partly completed module), having 3
marks for each question adding up to 15 marks for part A. Students should answer all
questions from Part A. Part B contains 7 questions (preferably, 3 questions each from the
completed modules and 1 question from the partly completed module), each with 7 marks. Out
of the 7 questions, a student should answer any 5.
There will be two parts; Part A and Part B. Part A contains 10 questions with 2 questions from
each module, having 3 marks for each question. Students should answer all questions. Part B
contains 2 questions from each module of which a student should answer any one. Each
question can have maximum 2 sub-divisions and carries 14 marks.
Syllabus
Text Books
1. William Stallings, Cryptography and Network Security Principles and Practice, 4/e,
Pearson Ed.
2. C. Kaufman, R. Perlman and M. Speciner, “Network Security: Private Communication in a
Public World”, 2/e, PHI.
References
1. Behrouz A. Forouzan, DebdeepMukhopadhyay, “Cryptography and Network Security”, 3/e,
Tata McGraw Hill.
2. Tyler Wrightson, “Wireless Network Security A Beginner’s Guide”, 2012, Tata McGraw Hill.
3. William Stallings, “Network Security Essentials: Applications and Standards”, 4/e, Prentice
Hall.
4. Schiller J., Mobile Communications, 2/e, Pearson Education.
5. Roberta Bragg et. al., “Network Security: The Complete Reference”, Tata McGraw Hill
2. Is it possible for the receiver to reorder SSL record blocks that arrive out of order?
If so, explain how it can be done. If not, why?
Course Outcome 4 (CO4):
1. Devise a protocol based on a pre-shared secret key that hides identities and gives
Perfect Forward Secrecy (PFS) for identity hiding. Make two variants, one in
which an active attacker can learn only the initiator’s identity, and one in which an
active attacker can learn only the target’s identity.
2. Explain the tasks performed by the payment gateway during Payment
Authorization in SET.
Course Outcome 5 (CO5):
1. List the weaknesses of a packet-filtering router.
2. Give the relevance of pair wise keys and group keys in IEEE 802.11i.
3. State the design goals of firewalls.
Reg No:_______________
Name:_________________
2. Specify the significance of key pair recovery. When is the key pair updated?
5. Explain the significance of Alert protocol in SSL and list out any three Alert
messages with their uses.
6. Specify the purpose of MAC during the change cipher spec TLS exchange.
COMPUTER SCIENCE AND ENGINEERING
7. What is the advantage, if any, of not including the MAC in the scope of packet
encryption in SSH packets?
Part B
(Answer any one question from each module. Each question carries 14
Marks)
11. (a) Describe the requirements for a public-key certificate scheme. (8)
OR
12. (a) Specify the purpose of the X.509 standard. How is an X.509 certificate
revoked? (8)
(b) Describe the management functions of a PKI. What is a cross certificate? (6)
13. (a) List the services provided by PGP and explain how authentication and (8)
confidentiality are provided.
OR
14. (a) Give the format of a PGP message and specify the significance of each (8)
field in the message.
15. (a) Explain the parameters that identify an SSL session state. (8)
(b) Differentiate between transport mode and tunnel mode in IPSec. (6)
OR
16. (a) The IPsec architecture document states that when two transport mode SAs (8)
arebundled to allow both AH and ESP protocols on the same end-to-end
flow, only one ordering of security protocols seems appropriate: performing
the ESP protocol before performing the AH protocol. Why is this approach
COMPUTER SCIENCE AND ENGINEERING
(b) List and explain the purpose each Alert Codes supported by SSL. (6)
OR
(b) “The HTTPS capability is built into all modern web browsers”. Justify. (6)
OR
20. (a) Compare the features of three types of firewalls. (8)
(b) Compare the Wireless LAN protocols WEP, WPA and WPA2 (6)
TEACHING PLAN
No Contents [Link]
Lecture
Hours
(35 Hrs)
1
2.1 Pretty Good Privacy (PGP) – Operational Description
YEAR OF
CATEGORY L T P CREDIT
INTRODUCTION
CST444 SOFT COMPUTING
PEC 2 1 0 3 2019
Preamble: This course enables the learners to understand the concepts of Soft Computing
techniques and its applications. It covers Artificial Neural Networks, operations and models of
fuzzy logic, genetic algorithms and multi objective optimization techniques. This course helps the
students to develop algorithms and solutions for different real world applications.
Prerequisite: NIL.
CO1 Describe soft computing techniques and the basic models of Artificial Neural Network
(Cognitive Knowledge Level: Understand)
CO2 Solve practical problems using neural networks (Cognitive Knowledge Level: Apply)
CO3 Illustrate the operations, model and applications of fuzzy logic (Cognitive Knowledge
Level: Apply)
CO4 Illustrate the concepts of Genetic Algorithm (Cognitive Knowledge Level: Apply)
CO5 Describe the concepts of multi-objective optimization models and the need for using
hybrid soft computing approaches(Cognitive Knowledge Level: Understand)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 30 30 30
Understand 30 30 30
Apply 40 40 40
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
COMPUTER SCIENCE AND ENGINEERING
(b) Find S=ZoR using max-min composition (c) Find T=ZoR using max-product composition
COMPUTER SCIENCE AND ENGINEERING
Syllabus
Module – 1 (Introduction to Soft Computing & Artificial Neural Network)
Introduction to Soft Computing. Difference between Hard Computing & Soft Computing.
Applications of Soft Computing. Artificial Neurons Vs Biological Neurons. Basic models of
artificial neural networks – Connections, Learning, Activation Functions. McCulloch and Pitts
Neuron. Hebb network.
Module – 2 (Supervised Learning Network)
Perceptron Networks– Learning rule, Training and testing algorithm. Adaptive Linear Neuron–
Architecture, Training and testing algorithm. Back propagation Network – Architecture, Training
and testing algorithm.
Module - 3 (Fuzzy Logic & Defuzzification)
Fuzzy sets – properties, operations on fuzzy set. Fuzzy membership functions, Methods of
membership value assignments – intuition, inference, Rank Ordering. Fuzzy relations– operations
on fuzzy relation. Fuzzy Propositions. Fuzzy implications. Defuzzification– Lamda cuts,
Defuzzification methods.
COMPUTER SCIENCE AND ENGINEERING
Text Books
1. [Link] and S.N. Deepa, Principles of Soft Computing , 2ndEdition, John Wiley &
Sons.
2. Kalyanmoy Deb, Multi-objective Optimization using Evolutionary Algorithms, 1st
Edition, John Wiley & Sons.
ReferenceBooks
1. Timothy J Ross, Fuzzy Logic with Engineering Applications, John Wiley & Sons, 2016.
2. [Link], [Link] Pai “Neural Networks, Fuzzy Logic & Genetic
Algorithms Synthesis and Applications”, Prentice-Hall India.
3. Simon Haykin, “Neural Networks- A Comprehensive Foundation”, 2/e, Pearson Education.
4. Zimmermann H. J, “Fuzzy Set Theory & Its Applications”, Allied Publishers Ltd.
COMPUTER SCIENCE AND ENGINEERING
QP CODE:
PART A
2. A 4-input neuron has weights 1, 2, 3 and 4. The transfer function is linear with the
constant of proportionality being equal to 2. The inputs are 4, 10, 5 and 20
respectively. Predict the output?
3. Explain the Widrow-Hoff learning rule for supervised learning in neural networks
with help of an example. Why is it sometimes called the LMS learning rule?
4. Implement one epoch of Adaline algorithm for AND logic function with binary
inputs and bipolar outputs. Initial weights are w1=0.2, w2=0.1 and learning rate
parameter η=0.2.
5. 0.2
Consider two fuzzy sets 𝐴𝐴 = � 0 +
0.3 1
+2+
0.1
+
0.5 0.1
� 𝐵𝐵 = � 0 +
0.25
+
0.9
+
0.7
+
1 3 4 1 2 3
0.3
4
� Find the following: (a) Algebraic sum (b) Algebraic product(c) Bounded sum.
6. Using your own intuition and definition of universe of discourse, plot membership
COMPUTER SCIENCE AND ENGINEERING
functions for liquid level (Empty, very less, less, full, very full) in a tank.
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Implement XOR function using M-P Neuron Model (with binary input).Why (8)
M-P neuron is widely used in processing binary data?
(b) Using Hebb Network calculate the weight required to perform the following (6)
classification of given input pattern.
L belongs to the members of the class(+)target value +1
Udoes not belongs to members of class(.)target value -1
L U
OR
12. (a) Compare the three learning approaches in Artificial Neural Network. How is (8)
the critic information used in learning process.
(b) Define Hebb Law. Design a Hebb Network to implement logical AND (7)
function. Use bipolar input and targets.
COMPUTER SCIENCE AND ENGINEERING
13. (a) Discuss the training algorithm and explain the weight updates in back (10)
propagation networks.
(b) Implement one epoch of Perceptron training algorithm for OR logic function (4)
with binary input and bipolar output.
OR
14. (a) Explain how synaptic weights are adapted iteration by iteration using error (10)
correction rule in Perceptron convergence algorithm for an OR gate with
bipolar inputs and outputs. Initial weights are all zero and learning rate
parameter η=0.1.
(b) Explain Perceptron convergence theorem and discuss Perceptron algorithm (4)
based on XOR logic function.
(b) For the fuzzy sets given 𝐴𝐴 = �0.5 + 0.2 + 0.9� and𝐵𝐵 = � 1 + 0.5 + 1 �. Find (4)
𝑥𝑥 1 𝑥𝑥 2 𝑥𝑥 3 𝑦𝑦 1 𝑦𝑦 2 𝑦𝑦 3
relation R by performing Cartesian product over the given fuzzy sets.
OR
16. (a) Using inference approach, find the membership values for each of the (8)
triangular shapes (I, R, IR, T) for a triangle with angles 120°, 50°, 10°.
(b) Using Zadeh’s notation, determine the ʎ - cut sets for the given fuzzy sets: (6)
0 0.5 0.65 0.85 1.0 1.0
𝑆𝑆1 = � + + + + + �
0 20 40 60 80 100
0 0.45 0.6 0.8 0.95 1.0
𝑆𝑆2 = � + + + + + �
0 20 40 60 80 100
COMPUTER SCIENCE AND ENGINEERING
Express the following for ʎ = 0.5: a) 𝑆𝑆1 ∪ 𝑆𝑆2 b) 𝑆𝑆´2 c) 𝑆𝑆1 ∩´ 𝑆𝑆2
17. (a) Differentiate between value encoding and permutation encoding. (8)
OR
18. (a) Apply Mamdani fuzzy model to design a controller to determine the wash (10)
time of a domestic washing machine. Assume input is dirt and grease of the
cloth. Use three descriptors for input variable and five descriptors for output
variables .Derive the set of rules for controller action and defuzzification.
Design should be supported by figure wherever possible.
(b) Explain Single-Point Crossover and Two-Point Crossover with example. (4)
19. (a) Explain convex and non convex MOOP? How to find a non dominated set. (10)
OR
20. (a) Explain Genetic Neuro-Hybrid System with block diagram. Also write the (8)
advantages of Genetic- Neuro Hybrid systems.
Teaching Plan
No. of
Lecture
No Contents Hours
(35 hrs)
2.1 Perceptron networks – Learning rule, Training and testing algorithm 1 hour
3.1 Introduction to Fuzzy Set, Properties & operations on fuzzy sets 1 hour
YEAR OF
FUZZY SET THEORY CATEGORY L T P CREDIT INTRODUCTION
CST454
AND APPLICATIONS
PEC 2 1 0 3 2019
Preamble: This course equips the students to understand the concepts of fuzziness and its use in
building better solutions to problems. The course covers basic concepts of fuzzy sets, fuzzy
relations, fuzzy logic and building of fuzzy approximation-based solutions. It helps students to
design and develop fuzzy based solutions to real world applications.
Prerequisite: Basic knowledge in set theory.
Course Outcomes: After the completion of the course, the student will be able to
CO1 Explain fuzzy logic based problem solving (Cognitive Knowledge Level:
Understand)
CO2 Summarize the concepts of crisp sets, crisp relations, crisp logic with fuzzy sets, fuzzy
relations and fuzzy logic(Cognitive Knowledge Level: Apply)
CO5 Make use of fuzzy logic inference to solve real world problems(Cognitive Knowledge
Level: Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2
CO1
CO2
CO3
CO4
COMPUTER SCIENCE AND ENGINEERING
CO5
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 20 20 20
Understand 50 50 50
Apply 30 30 30
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
COMPUTER SCIENCE AND ENGINEERING
Syllabus
Module – 1 (Basic Fuzzy Set Theory)
The case for imprecision, Utility and Limitations of Fuzzy Systems, Fuzzy Sets and Membership,
Classical Sets – Properties, Operations, Fuzzy Sets – Properties and Operations, Classical
Relations – Cartesian Product, Operations and Properties of Crisp Relations, Composition, Fuzzy
Relations – Cardinality, Operations, Properties, Fuzzy Cartesian Product and Composition.
Module – 2 (Fuzzy Membership Functions)
Tolerance and Equivalence Relations – Crisp and Fuzzy, Similarity Methods – Cosine, Min-max,
Fuzzy Membership Functions – Features, Fuzzification, Defuzzification to Crisp Sets, λ-Cutsfor
Fuzzy Relations, Linguistic Hedges.
Module - 3 ( Fuzzification and Defuzzification Methods)
Development of Membership Functions –Intuition, Inference, Rank ordering, Inductive reasoning.
Defuzzification to Scalars - Max membership principle, Centroid method, Weighted average
method, Mean max membership, Center of sums, Center of largest area, First (or last) of maxima.
COMPUTER SCIENCE AND ENGINEERING
0 ⋅ 15 0.25 0 ⋅ 6 0.9
𝐴𝐴 = � + + + �
1 2 3 4
0.2 0.3 0.5 0.8
𝐵𝐵 = � + =+ + �
1 2 3 4
Calculate the union, intersection and difference for the two concrete types.
2. An engineer is testing the properties, strength and weight of steel. Suppose he has two
fuzzy sets A , defined on a universe of three discrete strengths, {s1, s2, s3}, and B, defined
on a universe of three discrete weights, {w1,w2,w3}. Suppose A and B represent a “high-
strength steel” and a “near-optimum weight,” respectively, as shown below
1 0.5 0.2
𝐴𝐴 = � + + �
𝑠𝑠1 𝑠𝑠2 𝑠𝑠3
1 0.5 0.2
𝐵𝐵 = � + + �
𝑤𝑤1 𝑤𝑤2 𝑤𝑤3
2. A metro train system uses fuzzy logic in ensuring smooth ride on the train. The metro train
system has fixed stops and the distance between the stops are known. The system uses
fuzzy logic in deciding the pressure applied on the brakes. The amount of pressure applied
depends on the distance to the next stop and the speed of the train. Design appropriate
membership functions for the input and illustrate the use of Mamdani Inference in arriving
at the brake pressure.
QP CODE:
PART A
4. Given two data points, illustrate how a similarity measure between them can be
computed.
8. Write a predicate logic statement for “Ram likes all kinds of food”.
9. Given the relation R below, find λ-cut for the relation using suitable λ value.
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) An engineer is testing the properties, strength and weight of steel. Suppose he (4)
has two fuzzy sets A, defined on the universe of three discrete strengths { s1,
s2, s3 } and B, defined on the universe of discrete weights { w1, w2, w3}.
Suppose A represents a “high-strength steel” and B a “near-optimum weight”.
1 0.5 0.2 1 0.5 0.3
A = �𝑠𝑠1 + 𝑠𝑠2
+ 𝑠𝑠3
�, B = �𝑤𝑤1 + 𝑤𝑤2
+ 𝑤𝑤3
�
OR
12. (a) How is excluded middle axiom different for crisp and fuzzy sets? (4)
(b) Differentiate between crisp and fuzzy sets with respect to their membership (4)
functions.
13. (a) A structural designer is considering four different kinds of structural beams (10)
{ S1, S2, S3, S4} for a new building. Laboratory experiments on the
deflection resistance for these four kinds of beams have been performed, and
the engineer wants to determine their suitability in the new structure. The
following data have been observed based on the overall deflection capacity of
each beam type:
S1 S2 S3 S4
No deflection X1 0.3 0.6 0.5 0.8
Some X2 0.6 0.3 0.5 0.2
deflection
Excessive X3 0.1 0.1 0 0
deflection
Use cosine amplitude method to determine the similarity of the four beam
types.
OR
14. (a) Define tolerance and equivalence relations. Check whether the relation R (4)
given below is tolerance or equivalence relation.
1 0.8 0 0.1 0.2
⎡0.8 1 0.4 0 0.9⎤
⎢ ⎥
⎢ 0 0.4 1 0 0⎥
⎢0.1 0 0 1 0.5⎥
⎢0.2 0.9 0 0.5 1 ⎥
(b) Given the following data regarding three cities and the quality of their (10)
bridges, find the similarity between the cities using max-min method.
C1 C2 C3
Poor Q1 0.00 0.10 0.10
Fair Q2 0.04 0.04 0.08
Good Q3 0.02 0.04 0.06
COMPUTER SCIENCE AND ENGINEERING
15. (a) Explain the process of developing membership functions using the inference (6)
method.
(b) The following raw data were determined in a pair wise comparison of new (8)
premium car preferences in a poll of 100 people. When it was compared with
a Porsche (P), 79 of those polled preferred a BMW (B), 85 preferred a
Mercedes (M), 59 preferred a Lexus (L), and 67 preferred an Infinity (I).
When a BMW was compared, the preferences were 21 – P, 23 – M, 37 – L,
and 45 – I. When a Mercedes was compared, the preferences were 15 – P, 77
– B, 35 – L, and 48 – I. When a Lexus was compared, the preferences were 41
– P, 63 – B, 65 – M, and 51 – I. Finally, when an Infinity was compared, the
preferences were 33 – P, 55 – B, 52 – M, and 49 – L. Using rank ordering,
plot the membership function for “most preferred car.”
OR
16. (a) 1. Defuzzify the following region using centroid method. (9)
(b) 2. Defuzzify the region given in 16(a) using weighted average method. (5)
17. (a) For a distillation process, the objective is to separate components of a mixture (8)
in the input stream. The relationship between the input variable, temperature,
and the output variable, distillate fractions, is not precise but the human
operator of this process has developed an intuitive understanding of this
relationship. The universe for each of these variables is
0 0.5 0.8 1
B = “separation of mixture is good” =�89 + 92
+ 95
+ 98
�.
Find the fuzzy relation corresponding to “ IF x is 𝐴𝐴̃, THEN y is 𝐵𝐵�
(b) Show how inference is done using Generalized Modus Ponens (6)
OR
18. (a) Illustrate how graphical inference is done using Mamdani method. (6)
(b) A restaurant uses a fuzzy inference system to calculate the tips given to its (8)
employees. The tips are based on the timeliness of service and quality of
service of the waiters. Design appropriate membership functions for the input
and illustrate the use of Sugeno Inference in arriving at the tip amount.
19. (a) Explain fuzzy pattern recognition using multiple features. (7)
(b) Describe how fuzziness in information retrieval can enhance the quality of (7)
search results.
OR
20. (a) Design a fuzzy control system for an air-conditioning system. (7)
Teaching Plan
No. of
Lecture
No Contents Hours
(36 hrs)
Module-1(Basic Fuzzy Set Theory) (6 hours)
Composition
1.5 Fuzzy Relations – Properties, Operations, Cardinality 1 hour
1.6 Fuzzy Cartesian Product, Fuzzy Composition 1 hour
Module-2 (Fuzzy Membership Functions) (6 hours)
2.1 Tolerance and Equivalence Relations - Crisp 1 hour
2.2 Tolerance and Equivalence Relations - Fuzzy 1 hour
2.3 Similarity Methods – Cosine, Minmax 1 hour
2.4 Fuzzy Membership Functions- Features 1 hour
2.5 Fuzzification, Defuzzification to crisp sets – λ-cuts 1 hour
2.6 Linguistic Hedges 1 hour
Module-3 (Fuzzification and Defuzzification Methods) (7 hours)
3.1 Development of Membership Functions – Intuition, Inference 1 hour
3.2 Development of Membership Functions – Rank Ordering 1 hour
3.3 Development of Membership Functions – Inductive reasoning 1 hour
Defuzzification – Max membership principle, weighted average method,
3.4 1 hour
mean max membership
3.5 Defuzzification – Centroid method 1 hour
Defuzzification – Center of Sums, Center of Largest area, First/Last of
3.6 1 hour
maxima
3.7 Defuzzification - exercises 1 hour
Module-4 (Fuzzy Inference) (9 hours)
4.1 Classical Logic – Propositional Logic 1 hour
4.2 Classical Logic – Predicate Logic 1 hour
4.3 Fuzzy Logic 1 hour
4.4 Fuzzy Approximation based reasoning 1 hour
4.5 Fuzzy Rule based systems 1 hour
4.6 Multiple conjunctive and disjunctive antecedents, aggregation 1 hour
4.7 Graphical Techniques for Inference 1 hour
YEAR OF
CATEGORY L T P CREDIT INTRODUCTION
CST464 EMBEDDED SYSTEMS
PEC 2 1 0 3 2019
Preamble: The objective of this course is to familiarize learners with the technologies behind
embedded computing systems. This course introduces and explains the role of different hardware,
software, and firmware components involved in the design and development of embedded
systems. It discusses how real time operating systems incorporate specific features to ensure
timeliness of critical tasks. The course also aims to provide insights about the design followed in
several real-world embedded devices and expose the recent trends in embedded system design to
the students.
Prerequisite: Basic knowledge of Operating Systems, Computer Organization and Architecture.
Course Outcomes: After the completion of the course the student will be able to
CO4 Describe the role of real-time operating systems in embedded devices. (Cognitive
Knowledge Level: Understand)
CO5 Make use of design strategies for developing real-world embedded systems.
(Cognitive Knowledge Level: Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2
CO1
CO2
COMPUTER SCIENCE AND ENGINEERING
CO3
CO4
CO5
Assessment Pattern
Remember 20 20 20
Understand 50 50 50
Apply 30 30 30
Analyze
Evaluate
Create
COMPUTER SCIENCE AND ENGINEERING
Mark Distribution
150 50 100 3
Syllabus
Module – 1 ( Introduction to Embedded Systems )
Embedded Systems – Definitions, Embedded Systems vs. General Computing Systems, History,
Classification, Application Areas, Purpose. Building Blocks of a Typical Embedded System –
System Core (Microprocessors, Microcontrollers, DSP, ASICs, PLDs), Memory (Different
ROMs and RAMs), Sensors and Actuators, I/O Subsystem Interface, Communication Interface,
Embedded Firmware, Other System Components (Reset and Brown-out Protection Circuits,
COMPUTER SCIENCE AND ENGINEERING
Oscillator Unit, Real-Time Clock, Watchdog Timer), Printed Circuit Board. Embedded System
Design Process – Requirements, Specification, Architecture Design, Designing Hardware and
Software Components, System Integration.
Module - 2 ( System Modeling and Hardware Software Co-Design )
Computational Models in Embedded Design – Data Flow Graph, Control Data Flow Graph, State
Machine Model, Sequential Program Model, Concurrent Process Model, Object-Oriented Model.
Hardware Software Co-Design – Traditional Embedded Development Cycle, History,
Advantages of the Co-Design Methodology, The Co-Design Process, Fundamental Issues in
Hardware Software Co-Design. Hardware software trade-offs.
Module - 3 ( Real-Time Embedded System Design )
Prerequisite Topics: Operating System – Basics, Types. Basics of Tasks, Process and Threads.
Multiprocessing and Multitasking. Task Scheduling – Non-Preemptive (FIFO, LIFO, SJF) and
Preemptive (SRT, RR, Priority-based, Rate-based).
Task Communication – Shared Memory, Message Passing, Remote Procedure Call and Sockets.
Task Synchronization – Synchronization Issues – Race Condition, Deadlock, Priority Inversion,
Priority Inheritance, Priority Ceiling. Synchronization Techniques – Spin Lock, Sleep &
Wakeup, Semaphores. Selection of an RTOS for an Embedded Design – Functional and Non-
Functional Requirements.
Embedded Product Development Life Cycle – Objectives, Different Phases, Modeling Techniques
– Waterfall Model, Incremental Model, Evolutionary Model, Spiral Model.
Design Case Studies – Battery Operated Smart Card Reader, Automated Meter Reading System,
Smart Watch.
Automotive and Aerospace Systems – Networked Control Systems in Cars and Airplanes,
Vehicular Networks – CAN bus, Time-triggered Architecture, FlexRay and LIN.
Internet of Things Systems – IoT System Architectures - Use Cases (Smart Appliance, Monitoring
and Control Systems). Networks for IoT – Networking concepts, Bluetooth, Bluetooth Low
Energy, 802.15.4, ZigBee and WiFi. Databases and Timewheels. Smart Home Example.
COMPUTER SCIENCE AND ENGINEERING
Text Books:
References:
1. What are Sensors? Explain its role in Embedded System Design. Illustrate with an
example.
2. How do sensors communicate data with other computing devices in an embedded system?
3. What are the advantages and disadvantages of using a microprocessor as the compute
engine of an embedded device?
4. What is a watchdog timer? What can go wrong if your system does not have one?
5. Elaborate the steps involved in the design of an embedded system with appropriate
diagrams.
1. Draw a class diagram to represent a smart eyeglass that automatically changes the glass
shade according to the external light.
2. Design a Seat Belt Warning System and explain its working using a state machine model.
COMPUTER SCIENCE AND ENGINEERING
3. Represent the authentication process of an ATM machine using one of the following
computational models:
1. Control Data Flow Graph.
2. State Transition Diagram.
4. Draw the Finite State Machine diagram for an automated tea/coffee vending machine.
5. Draw a CDFG for the following program fragment.
fun0();
if (cond1) fun1();
else fun2();
fun3();
switch (test1) {
case 1 : fun4();
break;
case 2: fun5();
break;
case 3: fun6();
break;
}
fun7();
● A goes for I/O for 5 units after 4 units of execution time in CPU.
● B and C are CPU bound tasks.
● Find out if a First Come First Serve or Shortest Job First scheduling strategy will
offer the shortest average waiting time for the above scenario.
COMPUTER SCIENCE AND ENGINEERING
3. An organization maintains energy smart buildings with the help of different types of
computing devices spread across different levels of a building. What process
communication mechanism do you recommend? Why?
4. With an example, illustrate how priority inversion can cause high priority tasks to miss
deadlines.
5. Consider the following scenario:
◦ There are three tasks, H, M and L with high, medium, and low priority. Task L and
task H share a resource. Shortly after Task L takes the resource, Task H becomes ready to
run. However, Task H must wait for Task L to finish with the resource, so it pends. Before
Task L finishes with the resource, Task M becomes ready to run, preempting Task L.
While Task M runs, Task H, the highest-priority task in the system, remains in a pending
state.
How can you prevent the high priority task H, from missing any deadlines?
Course Outcome 4 (CO4): .
2. Explain briefly the functional and non-functional requirements that need to be addressed in
the selection of an RTOS.
3. What are the characteristics of a real-time system?
4. How does a hard real-time system differ from a soft-real time system? Explain with an
example.
5. Identify the reasons for choosing an operating system-based firmware to a super-loop
model-based firmware in an embedded device.
1. Prepare a requirement chart for a robotic vacuum cleaner. Fine tune the requirement chart to list
the product specifications (Assignment, preferably group work).
2. Suppose you want to make an old building energy smart. Analyze existing systems and prepare a
report on how this can be achieved following an Embedded product Development Life Cycle
(EDLC) model (Assignment, preferably group work). (Allow groups to make necessary
assumptions such as prevailing climatic conditions).
3. Design a baby monitoring system with suitable active devices and networking components.
Represent your system with a suitable diagram.
4. Identify the components required to build a battery-operated smart card reader and design
the system using these components.
COMPUTER SCIENCE AND ENGINEERING
5. Draw a sequential diagram representing the working of an automated energy metre reading
system.
QP CODE:
PART A
2. List the factors that need to be considered in the selection of memory for embedded
systems.
4. If the time to market of an embedded device is critical, would you prefer a high
level language or assembly language for developing the firmware? Justify.
5. Explain the various factors that need to be considered for the selection of a
scheduling algorithm.
6. What is the difference between ‘Hard’ and ‘Soft’ real-time systems? Give an
example for ‘Hard’ and ‘Soft’ real-time kernels.
7. When will you choose a concurrent process model for an embedded device?
COMPUTER SCIENCE AND ENGINEERING
8. What are the three primary objectives of EDLC? List the different phases of this
development life cycle.
10. Draw the functional block diagram of a fully automatic washing machine.
(10x3=30)
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) What is embedded firmware? Which are the different approaches used for (6)
embedded firmware development?
(b) List out the requirements for a smartwatch that can show time as well as (8)
measure the user's vitals such as blood pressure, pulse rate and body
temperature. Think of the physical and functional aspects of the product and
also what extra features can be added over the basic functions.
OR
12. (a) Describe various on-board communication interfaces used in embedded (10)
systems.
(b) Explain the role of a watchdog timer in an embedded system. (4)
13. (a) Explain the object oriented program model for embedded system design. (6)
Under which circumstances is this model considered as the best?
(b) Design and draw a concurrent program model for the Seat Belt Warning (8)
System of an automobile. Clearly specify your assumptions in the design.
OR
14. (a) Suppose you are designing a digital motion camera. What are the tradeoffs in (6)
implementing the multimedia codec part of the camera in hardware and in
software?
(b) Draw the state machine diagram of an automatic dawn-dusk solar street light (8)
with a motion sensor.
● The light automatically turns on when the ambient light is below ‘x’
lumens.
● The streetlight operates at low power when no motion is detected for
30 secs.
COMPUTER SCIENCE AND ENGINEERING
15. (a) Identify the type of synchronization mechanism best suited for each of the (6)
following scenarios and explain why.
1. Updating a single byte memory location shared by different tasks,
some of which are time-critical.
2. Updating a block of memory that is shared between multiple low
priority tasks.
3. Multiple instances of a resource shared between tasks.
(b) Under what circumstances would you use the following task communication (8)
mechanisms?
1. Sockets.
2. Remote Procedure Call
3. Shared Memory
OR
16. (a) What is priority inversion? In case of priority inversion, what techniques can (7)
be adopted to ensure that the critical tasks are able to meet their deadlines?
(b) Three processes with process IDs P1, P2, P3 with estimated completion time (7)
6, 2, 4 milliseconds respectively, enters the ready queue together in the order
P1, P3, P2. Process P4 with estimated execution time 4 milliseconds entered
the ready queue 3 milliseconds later the start of execution of P1. Calculate the
waiting time and Turn Around Time (TAT) for each process and the Average
waiting time and Turn Around Time (Assuming there is no I/O waiting for
the processes) in RR algorithm with Time slice = 2 ms.
17. (a) An embedded product under consideration is very complex in nature and (8)
there is a possibility for change in requirements of the product. Also the risk
associated with the development of this product is very high. Which is the
best suited life cycle method to handle this product development? Justify
your answer.
(b) Explain the similarities and differences between iterative and incremental life (6)
cycle models.
OR
18. (a) When do you prefer a super-loop-based firmware design approach over an (8)
RTOS based approach? What are the limitations of the super-loop based
approach and how do you overcome them?
(b) Briefly explain the different approaches used for embedding firmware into (6)
the hardware of an embedded device.
19. (a) Identify the components required to build an automated energy metre reading (6)
system and design it with these components
COMPUTER SCIENCE AND ENGINEERING
(b) List any four wireless standards used for building IoT networks and compare (8)
their characteristics
OR
20. (a) Draw a sequential diagram representing the working of a battery-operated (6)
smart card reader.
(b) Explain the different communication buses used in automotive applications. (8 )
Teaching Plan
No. of
Lecture
No Contents Hours
(35 hrs)
Module-1 (Introduction to Embedded Systems) (8 hours)
YEAR OF
CATEGORY L T P CREDIT
CST474 COMPUTER VISION INTRODUCTION
PEC 2 1 0 3 2019
Preamble: Computer vision is a field of artificial intelligence (AI) that enables computers and
systems to derive meaningful information from digital images, videos and other visual inputs. The
curriculum covers the basics of image formation, key computer vision concepts, methods,
techniques, pattern recognition, various problems in designing computer vision and object
recognition systems. This course enables the learners to understand the fundamentals of computer
vision and develop applications in computer vision.
Prerequisite: Nil
Course Outcomes: After the completion of the course, the student will be able to
Summarize basic concepts, terminology, theories, models and methods in the field of
CO1
computer vision.
(Cognitive Knowledge Level: Understand)
Explain basic methods of computer vision related to multi-scale representation, edge
CO2
detection, detection of other primitives, stereo, motion and object recognition.
(Cognitive Knowledge Level: Understand)
Describe principles of Segmentation, Motion Segmentation and Classification
CO3
(Cognitive Knowledge Level: Understand)
Select appropriate object Tracking and detection methods for computer vision
CO4
applications (Cognitive Knowledge Level: Understand).
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
COMPUTER SCIENCE AND ENGINEERING
CO4
CO5
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 30 30 30
Understand 50 50 50
Apply 20 20 20
Analyze
Evaluate
Create
COMPUTER SCIENCE AND ENGINEERING
Mark Distribution
150 50 100 3
Syllabus
Module – 1 (Image Formation and Filtering)
Geometric Camera Models - Pinhole perspective, Intrinsic and Extrinsic Parameters, Geometric
Camera Calibration. Linear Filters- Linear Filters and Convolution, Shift Invariant Linear
Systems. Filters as Templates - Normalized Correlation and Finding Patterns.
COMPUTER SCIENCE AND ENGINEERING
QP CODE:
PART A
Part B
(Answer any one question from each module. Each question carries 14 Marks)
COMPUTER SCIENCE AND ENGINEERING
11. (a) Demonstrate the relationship between a point in the world coordinate frame (9)
and its corresponding image point using camera parameters.
(b) Show that convolving a function with a δ function simply reproduces the (5)
original function.
OR
12. (a) What is linear filtering? Explain two applications of linear filtering to image (7)
processing.
(b) Explain an application of normalised correlation to find patterns. (7)
13. (a) Show that smoothing an image and then computing the gradient is same as (5)
convolving an image with the derivative of a smoothing function.
(b) State the epipolar constraint and derive its representations using the Essential (9)
matrix and the Fundamental matrix.
OR
14. (a) Explain the algorithm for computing edges using gradients. (9)
(b) Define binocular fusion. Explain two local methods for binocular fusion. (5)
(b) What is meant by optical flow? How can it be utilized for segmenting (7)
images?
OR
16. (a) Explain the Watershed algorithm. (7)
OR
18. (a) Explain the various kinds of errors in classification and the relationship (7)
between them.
(b) What is overfitting and how does regularization help to minimise it? (7)
19. (a) Explain human activity recognition with appearance features. (7)
COMPUTER SCIENCE AND ENGINEERING
(b) Describe the Sliding window method for detecting objects in images. (7)
OR
20. (a) Explain the principle of detecting faces in an image. (7)
(b) What are the various strategies for object recognition? (7)
Teaching Plan
No. of Lecture
No Contents Hours
(36hrs)
Module 1 Image Formation and Filtering (7)
1.1 Geometric Camera model - Pinhole perspective 1
1.2 Geometric Camera model - Intrinsic Parameters 1
1.3 Geometric Camera model - Extrinsic Parameters 1
1.4 Geometric Camera Calibration – Linear Approach 1
1.5 Linear Filters and Convolution 1
1.6 Shift Invariant Linear Systems - Discrete convolution 1
1.7 Normalized Correlation and Finding patterns 1
Module 2 Local Image Features and Stereo Vision (8)
2.1 Local Image Features - Computing the Image Gradient 1
2.2 Gradient Based Edge Detection 1
2.3 Gradient Based Corner Detection 1
2.4 Stereopsis - Binocular Camera Geometry and Epipolar 1
Constraint
2.5 Essential Matrix and Fundamental Matrix 1
2.6 Binocular Reconstruction 1
2.7 Local Methods for Binocular Fusion 1
2.8 Global Methods for Binocular Fusion 1
Module 3 Segmentation (6)
COMPUTER SCIENCE AND ENGINEERING
SEMESTER VIII
PROGRAM ELECTIVE IV
COMPUTER SCIENCE AND ENGINEERING
Preamble: The course enables the learners to apply formal methods for modelling, validation and
verification of software systems. It covers a series of advanced tools that address challenges faced
in design, coding and verification. This includes both an introduction to the theoretical
underpinnings of these tools, as well as hands-on exploration.
Course Outcomes: After the completion of the course, the student will be able to
CO1 Explain the need and use of formal methods and tools in software engineering.
(Cognitive Knowledge Level: Understand)
CO3 Illustrate the process of proving correctness of code using Hoare-Triple based weakest
precondition analysis.(Cognitive Knowledge Level: Apply)
CO4 Demonstrate program verification using VCC. (Cognitive Knowledge Level: Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2
CO1
CO2
CO3
CO4
COMPUTER SCIENCE AND ENGINEERING
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 30 30 30
Understand 30 30 30
Apply 40 40 40
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
COMPUTER SCIENCE AND ENGINEERING
1. A farmer is on one shore of a river and has with him a fox, a chicken, and a sack of grain.
He has a boat that fits one object besides himself. In the presence of the farmer nothing
gets eaten, but if left without the farmer, the fox will eat the chicken, and the chicken will
eat the grain. How can the farmer get all three possessions across the river safely?Solve the
problem by modeling it in Alloy and using the analyzer to find a solution.
1. Find an inductive loop invariant and show the correctness proof for the statement
𝑤𝑤ℎ𝑖𝑖𝑖𝑖𝑖𝑖 𝑖𝑖 < 𝑛𝑛 𝑑𝑑𝑜𝑜 {𝑎𝑎[𝑖𝑖] ∶= 0; 𝑖𝑖 ∶= 𝑖𝑖 + 1; }
with the precondition 𝑖𝑖 = 0 ˄ 𝑛𝑛 > 0and the post condition ⩝ 𝑗𝑗, 0 ≤ 𝑗𝑗 < 𝑛𝑛 → 𝑎𝑎[𝑗𝑗] =
0.
COMPUTER SCIENCE AND ENGINEERING
1. Write and verify a program that sorts the elements of an array in non-decreasing order. Use
VCC for verification.
QP CODE:
PART A
7. State a sufficient condition required in the assert statement below to provide the
COMPUTER SCIENCE AND ENGINEERING
Part B
(Answer any one question from each module. Each question carries 14 Marks)
OR
(b) Describe the terms Formal Methods and Formal Verification. (7)
There is an entity named Person. Man and Woman are two specializations of
it. Every Person has a Father(a Man) and a Mother(a Woman) as Parent. The
Parents of a Person should be married. A Man’s spouse should be a Woman
and a Woman’s spouse should be a Man. The spouse relation is symmetric.
(b) Model the stack data structure in Alloy with support (7)
for Push and Pop operations. Treat each operation that modifies the stack's
state as an event. The stack should begin empty, and you should not be able
to Pop from an empty stack.
Write three assertions verifying the behaviour of your stack in the following
cases:
• A Pop followed by a Push of the same element
• The number of Push events is exactly equal to the number
of Pop events
• A Pop from a stack with no elements
Create a predicate noP1 that looks for instances that do not satisfy property
P1, and a corresponding\run statement. Similarly, create predicates noP2 and
noP3.
(b) Show a model in Alloy to prove that the Konigsberg bridge problem has no (7)
solution.
(b) Differentiate between partial correctness and total correctness in Hoare Logic. (8)
COMPUTER SCIENCE AND ENGINEERING
16. (a) Use Hoare Logic with the help of loop invariant to prove (8)
(i) {𝑥𝑥 ≤ 𝑛𝑛} 𝑤𝑤ℎ𝑖𝑖𝑖𝑖𝑖𝑖 𝑥𝑥 < 𝑛𝑛 𝑑𝑑𝑑𝑑 𝑥𝑥: = 𝑥𝑥 + 1 {𝑥𝑥 ≥ 𝑛𝑛}
(ii) {𝑖𝑖 = 0 ˄ 𝑗𝑗 = 0 ˄ 𝑛𝑛 = 5} 𝑤𝑤ℎ𝑖𝑖𝑖𝑖𝑖𝑖 𝑖𝑖 < 𝑛𝑛 𝑑𝑑𝑑𝑑 𝑖𝑖 ≔ 𝑖𝑖 + 1; 𝑗𝑗 ∶= 𝑗𝑗 +
1 {𝑗𝑗 = 15}
17. (a) Write a function to find the largest of three numbers and prove using function (10)
contract that your program is correct. Also write another function that calls
the former and assert that the latter returns the correct result.
OR
18. (a) Write and verify a non-recursive program that takes an array and checks (10)
whether it contains any duplicate elements.
(b) Distinguish between sequential and atomic memory access in VCC. (4)
19. (a) Explain how the refinement conditions can be phrased in VCC. (7)
OR
(b) Illustrate the verification of a C program with respect to its Ghost model. (7)
COMPUTER SCIENCE AND ENGINEERING
Teaching Plan
No. of
Lecture
No Contents Hours
(36 hrs)
Module-1(Introduction) (5 hours)
2.7 Show that the Konigsberg Bridge Problem has no solution. 1 hour
YEAR OF
CLIENT SERVER CATEGORY L T P CREDIT INTRODUCTION
CST426
ARCHITECTURE
PEC 2 1 0 3 2019
Preamble: The syllabus is prepared with the view of preparing the Engineering Graduates to
build effective Client/Server applications. This course aims at providing a foundation in
decentralized computer systems, using the client/server model. The course content is decided to
cover the essential fundamentals which can be taught within the given slots in the curriculum.
Course Outcomes: After the completion of the course the student will be able to
Explain the basics of client/server systems and the driving force behind the
development of client/server systems (Cognitive Knowledge Level:
CO 1 Understand)
Outline the architecture and classifications of client/server systems (Cognitive
CO 2 Knowledge Level: Understand)
Choose the appropriate client/server network services for a typical application
CO 3 (Cognitive Knowledge Level: Understand)
Describe management services and issues in network (Cognitive Knowledge
CO 4 Level: Understand)
Compare and summarize the web extensions and choose appropriate web services
CO 5
standards for an application (Cognitive Knowledge Level: Understand)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Conduct investigations of
PO4 complex problems PO10 Communication
Assessment Pattern
Remember 30 30 30
Understand 70 70 50
Apply
Analyse
Evaluate
Create
Mark distribution
Attendance : 10 marks
Continuous Assessment Test 1 (for theory, for 2 hrs) : 20 marks
Continuous Assessment Test 2 (for lab, internal examination, for 2hrs) : 20 marks
COMPUTER SCIENCE AND ENGINEERING
Internal Examination Pattern: There will be two parts; Part A and Part B. Part A
contains 5 questions with 2 questions from each module (2.5 modules x 2 = 5), having 3
marks for each question. Students should answer all questions. Part B also contains 5
questions with 2 questions from each module (2.5 modules x 2 = 5), of which a student
should answer any one. The questions should not have sub- divisions and each one carries
7 marks.
End Semester Examination Pattern: There will be two parts; Part A and Part B. Part A
contain 10 questions with 2 questions from each module, having 3 marks for each
question. Students should answer all questions. Part B contains 2 questions from each
module of which a student should answer any one. Each question can have maximum 2
sub-divisions and carry 14 marks.
Client- Services, Request for services, RPC, Windows services, Print services, Remote
boot services, other remote services, Utility Services. Dynamic Data Exchange (DDE).
Object Linking and Embedding (OLE). Common Object Request Broker Architecture
(CORBA).
Web Services History. Web Server Technology- Web Server, Web Server Communication,
Role of Java for Client/Server on Web. Web Services- MicroServices, APIs, API
Gateway, Authentication of users/clients, Tokens/Keys for Authentication, Service Mesh,
Message Queues, SaaS, Web Sockets.
Client/Server/Browser – Server Technology, Client/Server Technology and Web
Applications, Balanced Computing and the Server’s Changing Role. Thin client computing
- Computing models-Comparison-Computing Environment.
Future of client/ server Computing Enabling Technologies, Transformational system.
COMPUTER SCIENCE AND ENGINEERING
Text Books
Reference Books
QP CODE:
PART A
10. With an example, explain the role of java for client/server on web (10x3=30)
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Explain the driving forces behind the development of Client/ Server system (10)
from different perspectives.
OR
12. (a) Explain Client/Server System development methodology and explain various (10)
phases and their activities involved in System Integration Life Cycle.
(b) Write short notes on the following. (a) Single system image. (b) Downsizing (4)
and Client/Server computing.
13. (a) How two-tier computing and three-tier computing improves the performance (10)
of Client/Server system.
OR
15. (a) In Client/Server computing, explain the following with example in detail (a) (10)
Dynamic Data Exchange (b) RPC (c) Remote Boot Service (d) Object-
linking and embedding.
COMPUTER SCIENCE AND ENGINEERING
(b) Explain the role of client in Client/Server computing and also explain the (4)
various services provide by client.
OR
(b) Explain the server functionality in detail, for Client/Server computing. (4)
(b) Comment on the network service acquisition mechanism for the client/service (4)
model.
OR
18. (a) In client server architecture, what do you mean by Availability, Reliability, (10)
Serviceability and Security? Explain with examples
19. (a) What is the future of Client/Server computing in the following technologies (10)
(i) Electronic Document Management. (ii) Full Text Retrieval. (iii)
Geographic Information System.
(b) Discuss the role of web browser for providing web service in Client/Server (4)
environment.
OR
Sl Contents No. of
No Lecture
Hours (35)
Module- 1( Introduction) (7 hours)
3.1 The client: Services, Request for services, RPC, Windows services, Print 1 hour
services
3.2 Remote boot services, Utility Services & Other Services 1 hour
3.3 Dynamic Data Exchange (DDE), Object Linking and Embedding (OLE) 1 hour
3.4 Common Object Request Broker Architecture (CORBA) 1 hour
COMPUTER SCIENCE AND ENGINEERING
3.5 The server: Detailed server functionality, the network operating system 1 hour
5.1 Web Services History , Web Server Technology , Web Server 1 hour
5.2 Web Server Communication , Role of Java for Client/Server on Web 1 hour
5.3 Web Services , MicroServices, APIs, API Gateway, Authentication of 1 hour
users/clients
5.4 Tokens/Keys for Authentication ,Service Mesh, Message Queues 1 hour
YEAR OF
PARALLEL CATEGORY L T P CREDIT INTRODUCTION
CST436
COMPUTING
PEC 2 1 0 3 2019
Preamble: This course helps the learners to understand basic and advanced concepts of parallel
computing. It covers Principles of Parallel Algorithm Design, Communication operations,
Programming Using the Message Passing Paradigm, Programming Shared Address Space
Platforms Thread Basics, and GPU Programming. This course enables a learner to design
solutions to complex real world problems using parallel computing paradigms including thread
parallelism, shared memory program, message passing interfaces, and vector processing.
Course Outcomes: After the completion of the course the students will be able to
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
COMPUTER SCIENCE AND ENGINEERING
CO5
CO6
Conduct investigations of
PO4 PO10 Communication
complex problems
Assessment Pattern
Remember 30 20 20
Understand 50 40 40
Apply 20 40 40
COMPUTER SCIENCE AND ENGINEERING
Analyze
Evaluate
Create
Mark Distribution
Attendance 10 marks
Continuous Assessment Tests 25 marks
Continuous Assessment Assignment 15 marks
Syllabus
Module- 1 (Principles of Parallel Algorithm Design)
Thread Basics, Why Threads? The POSIX Thread Application Programme Interface,
Synchronization Primitives in POSIX, Controlling Thread and Synchronization Attributes,
Thread Cancellation, Composite Synchronization Constructs, OpenMP: a Standard for Directive
Based Parallel Programming, Specifying Concurrent Tasks in OpenMP, Synchronization
Constructs in OpenMP, Data Handling in OpenMP, OpenMP Library Functions, OpenMP
Applications: Parallel algorithm development for Matrix multiplication
Text Books
1. Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar, Introduction to Parallel
Computing, 2nd Ed, Addison-Wesley, 2003
2. David B. Kirk, Wen-mei W. Hwu, Programming Massively Parallel Processors: A
Hands-on Approach, 3rd Ed., Morgan Kaufman, 2016.
References
2. Barbara Chapman, Gabriele Jost, Ruud van der Pas, Using OpenMP: Portable Shared
Memory Paralwlel Programming , MIT Press, 2008.
3. William Gropp, Ewing Lusk, Anthony Skjellum Using MPI: Portable Parallel
Programming with the Message-Passing Interface, 3rd Ed, MIT Press, 2014.
4. Thomas Rauber, Gudula Rünger, Parallel Programming for Multicore and Cluster
Systems, Springer, 2010
2. Which are the characteristics of tasks influencing the selection of mapping scheme?
10. Describe how the data transfer between GPU device and the host memories are (10x3=30)
managed.
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a)
Describe recursive decomposition with an example.
(8)
COMPUTER SCIENCE AND ENGINEERING
(b)
Compare various parallel algorithm models
(6)
OR
(b) In the algorithm, assume a decomposition such that each execution of Line 7 is (6)
a task. Draw a task-dependency graph and a task-interaction graph.
1. procedure FFT_like_pattern(A, n)
2. begin
3. m := log2 n;
4. for j := 0 to m - 1 do
5. k := 2j;
6. for i := 0 to n - 1 do
7. A[i] := A[i] + A[i XOR 2j];
8. end // for
9. end // FFT_like_pattern
13. (a)
Illustrate the All-to-All Broadcast and Reduction with an example
(8)
(b) (6)
Explain any three techniques to improve the speed of communication
operations
OR
(b) Explain the Ring and Mesh techniques of All-to-All Personalized (6)
communication.
15. (a) Explain Collective Communication and Computation Operations in MPI (9)
OR
16. (a) Write algorithm for Collective Communication and Computation Operations
(9)
COMPUTER SCIENCE AND ENGINEERING
using MPI.
17. (a) Explain how mutual exclusion for shared variables are accomplished in (6)
threads.
(b) Explain the nesting of parallel directives with a suitable example. (8)
OR
18. (a) Explain the compilation operations of an example openMP program along (4)
with its pThread translations.
(b) (8)
How is synchronization between CUDA threads achieved?
OR
(b) Write and explain the CUDA program for vector addition. (4 )
COMPUTER SCIENCE AND ENGINEERING
TEACHING PLAN
No Contents No of
Lecture
Hrs (37)
Module- 3 ( Programming Using the Message Passing Paradigm) (TB-1, Ch. 6 ) (7 hrs)
5.3 Vector Addition Kernel, Device Global Memory and Data Transfer 1
YEAR OF
DATA COMPRESSION CATEGORY L T P CREDIT INTRODUCTION
CST446
TECHNIQUES
PEC 2 1 0 3 2019
Preamble: This course helps the learners to understand compression techniques on text, image,
audio and video data. It covers lossy &lossless compression, RLE, JPEG, MPEG and its variants.
This course enables the students to develop and implement compression algorithms on different
domains.
CO# CO
Describe the fundamental principles of data compression(Cognitive Knowledge
CO1 level: Understand)
Make use of statistical and dictionary based compression techniques for various
CO2 applications (Cognitive Knowledge level: Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Assessment Pattern
Continuous Assessment Tests
Bloom’s End Semester Examination
Category Marks (%)
Test 1 (%) Test 2 (%)
Remember 30 30 30
Understand 40 40 40
Apply 30 30 30
Analyze
Evaluate
Create
Mark Distribution
Each of the two internal examinations has to be conducted out of 50 marks. First series test shall
be preferably conducted after completing the first half of the syllabus and the second series test
shall be preferably conducted after completing remaining part of the syllabus. There will be two
parts: Part A and Part B. Part A contains 5 questions (preferably, 2 questions each from the
completed modules and 1 question from the partly completed module), having 3 marks for each
question adding up to 15 marks for part A. Students should answer all questions from Part A.
Part B contains 7 questions (preferably, 3 questions each from the completed modules and 1
question from the partly completed module), each with 7 marks. Out of the 7 questions, a student
should answer any5.
Syllabus
Module-1 (Modelling and types of compression)) 1
Introduction to Compression Techniques- Lossy compression & Lossless compression, Measures
of Performance, Modeling and coding. Mathematical modelling for Lossless and lossy compression
- Physical models and probability models.
Text Book
1. David Solomon, Data compression: the complete reference, 4/e, Springer, January 2007
2. Khalid Sayood, Introduction to data compression, Morgan Kaufmann Publishers,2003.
References
1) Stephen Welstead, Fractal and wavelet Image Compression techniques, PHI, 1999.
2) Sleinreitz, Multimedia System, Addison Wesley.
3) Mark Nelson and Jean-loup Gailly, The Data Compression Book, M&T Books.
1. Explain RLE based text compression and identify a example with compression ratio of 2.
2. Given the eight symbols A, B, C, D, E, F, G, and H with probabilities 1/30, 1/30, 1/30,
2/30, 3/30, 5/30, 5/30, and 12/30, draw three different Huffman trees with heights 5 and 6
for these symbols and calculate the average code size for each tree.
1. Differentiate the LZ77 and LZ78 performance with the input given as
‘sirsideastmaneasilyteasesseasickseals’
2. Explain why the continuous-tone images is required for JPEG and the main steps used in
image compression.
QP CODE:
PART A
10. Explain the working of -law encoder and decoder with an example
(10x3=30)
COMPUTER SCIENCE AND ENGINEERING
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Explain mathematical model for lossy compression and lossless compression (10)
(b) Define compression ratio with an example (4)
OR
12. (a) Discuss any probability model and identify the shortcoming of the solution. (7)
13. (a) With a help of flowchart discuss the RLE text compression for text data given (10)
below
‘ABBBBBBBBBCDEEEEF’
(b) calculate the compression ratio for the example while taking repetitions = 4 (4)
OR
14. (a) Illustrate with a example why Huffman coding is preferred than Shannon (10)
Fano Algorithm for compression
(b) How Huffman coding is handling the unpredictability of input data stream (4)
15. (a) Explain in detail the working of LZ78 with example and dictionary Tree (10)
(b) Illustrate with example, how the compression factor LZW differ from the (4)
LZ78
OR
16. (a) How quantization and coding helps in compression and their role in JPEG. (6)
(b) With the help of the given example illustrate the compression ratio of JPEG (8)
and JPEG-LS
17. (a) With the help of equations discuss Composite and Components Video (7)
(b) Differentiate the major changes in MPEG - 2 and MPEG-4 Video (7)
OR
18. (a) Describe in details about functionalities for MPEG-4 (8)
19. (a) How The Human Auditory System limitations can be taken in audio (7)
COMPUTER SCIENCE AND ENGINEERING
compressions
(b) Discuss the complexity of Layer III compared to others in MPEG Audio (7)
Coding
OR
20. (a) Discuss Format of Compressed Data and encoding in layer I and II (9)
TEACHING PLAN
No Contents No of
Lecture
Hrs (36
Hours)
YEAR OF
CATEGORY L T P CREDIT INTRODUCTION
CST466 DATA MINING
PEC 2 1 0 3 2019
Preamble: This course helps the learner to understand the concepts of data mining and data
warehousing. It covers the key processes of data mining, data preprocessing techniques,
fundamentals and advanced concepts of classification, clustering, association rule mining, web
mining and text mining. It enables the learners to develop new data mining algorithms and apply
the existing algorithms in real-world scenarios.
Prerequisite: NIL
Course Outcomes: After the completion of the course the student will be able to
CO# CO
CO1 Employ the key process of data mining and data warehousing concepts in application
domains. (Cognitive Knowledge Level: Understand)
CO2 Make use of appropriate preprocessing techniques to convert raw data into suitable
format for practical data mining tasks (Cognitive Knowledge Level: Apply)
CO3 Illustrate the use of classification and clustering algorithms in various application
domains (Cognitive Knowledge Level: Apply)
CO4 Comprehend the use of association rule mining techniques. (Cognitive Knowledge
Level: Apply)
CO5 Explain advanced data mining concepts and their applications in emerging domains
(Cognitive Knowledge Level: Understand)
PO PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
1 0 2
CO1
CO2
CO3
COMPUTER SCIENCE AND ENGINEERING
CO4
CO5
Assessment Pattern
Remember 20 20 20
Understand 30 30 30
Apply 50 50 50
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
COMPUTER SCIENCE AND ENGINEERING
Syllabus
Module – 1 (Introduction to Data Mining and Data Warehousing)
Data warehouse-Differences between Operational Database Systems and Data Warehouses,
Multidimensional data model- Warehouse schema, OLAP Operations, Data Warehouse
Architecture, Data Warehousing to Data Mining, Data Mining Concepts and Applications,
Knowledge Discovery in Database Vs Data mining, Architecture of typical data mining system,
Data Mining Functionalities, Data Mining Issues.
Text Books
1. Dunham M H, “Data Mining: Introductory and Advanced Topics”, Pearson Education, New
Delhi, 2003.
2. Arun K Pujari, “Data Mining Techniques”, Universities Press Private Limited,2008.
3. Jaiwei Han and Micheline Kamber, “Data Mining Concepts and Techniques”, Elsevier,
2006
Reference Books
1. M Sudeep Elayidom, “Data Mining and Warehousing”, 1st Edition, 2015, Cengage
Learning India Pvt. Ltd.
2. MehmedKantardzic, “Data Mining Concepts, Methods and Algorithms”, John Wiley and
Sons, USA, 2003.
3. Pang-Ning Tan and Michael Steinbach, “Introduction to Data Mining”, Addison Wesley,
2006.
COMPUTER SCIENCE AND ENGINEERING
1. Use the methods below to normalize the following group of data:100, 200, 300, 400,550,
600, 680, 850, 1000
(a) min-max normalization by setting min = 0 and max = 1
(b) z-score normalization
(c) Normalization by decimal scaling
Comment on which method you would prefer to use for the given data, givingreasons as to
why.
2. Identify a suitable dataset from any available resources and apply different preprocessing
steps that you have learned. Observe and analyze the output obtained. (Assignment)
2. Illustrate the working of K medoid algorithm for the given dataset. A1=(3,9), A2=(2,5),
A3=(8,4), A4=(5,8), A5=(7,5), A6=(6,4), A7=(1,2), A8=(4,9).
COMPUTER SCIENCE AND ENGINEERING
3. Take a suitable dataset from available resources and apply all the classification and clustering
algorithms that you have studied on original and preprocessed datasets. Analyze the
performance variation in terms of different quality metrics. Give a detailed report based on
the analysis. (Assignment)
1. A database has five transactions. Let min sup = 60% and min con f = 80%.
a) Find all frequent item sets using Apriori and FP-growth, respectively. Compare the
efficiency of the two mining processes.
b) List all of the strong association rules (with support s and confidence c) matching the
following metarule, where X is a variable representing customers, and𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 denotes
variables representing items (e.g., “A”, “B”, etc.)
∀𝑥𝑥 ∈ 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡, 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏(𝑋𝑋, 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖1 ) ∧ 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏(𝑋𝑋, 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖2 ) ⇒ 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 (𝑋𝑋, 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖3 ) [𝑠𝑠, 𝑐𝑐]
2. Identify and list some scenarios in which association rule mining can be used, and then use at
least two appropriate association rule mining techniques in one of the two scenarios.
(Assignment)
1. Consider an e-mail database that stores a large number of electronic mail (e-mail)
messages. It can be viewed as a semi structured database consisting mainly of text data.
Discuss the following.
a. How can such an e-mail database be structured so as to facilitate multidimensional
search, such as by sender, by receiver, by subject, and by time?
b. What can be mined from such an e-mail database?
c. Suppose you have roughly classified a set of your previous e-mail messages as junk,
unimportant, normal, or important. Describe how a data mining system may take this
as the training set to automatically classify new e-mail messages or unclassified ones.
2. Precision and recall are two essential quality measures of an information retrieval system.
(a) Explain why it is the usual practice to trade one measure for the other.
(b) Explain why the F-score is a good measure for this purpose.
COMPUTER SCIENCE AND ENGINEERING
(c) Illustrate the methods that may effectively improve the F-score in an information
retrieval system.
3. Explain HITS algorithm with an example.
PART A
6. Given two objects represented by the tuples (22,1,42,10) and (20,0, 36,8).
Compute the Euclideanand Manhattan distance between the two objects.
7. The pincer search algorithm is a bi-directional search, whereas the level wise
algorithm is a unidirectional search. Express your opinion about the statement.
8. Define support, confidence and frequent set in association data mining context.
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Suppose a data warehouse consists of three measures: customer, account (7)
and branch and two measures count (number of customers in the branch)
and balance. Draw the schema diagram using snowflake schema and star
schema.
(b) Explain three- tier data warehouse architecture with a neat diagram. (7)
OR
13 (a) Suppose that the data for analysis includes the attribute age. The age values (8)
for the data tuples are (in increasing order) 13, 15, 16, 16, 19, 20, 20, 21, 22,
22, 25, 25, 25, 25, 30, 33, 33, 35, 35, 35, 35, 36, 40, 45, 46, 52, 70.
(a) Use min-max normalization to transform the value 35 for age onto
COMPUTER SCIENCE AND ENGINEERING
the
range [0-1].
(b) Use z-score normalization to transform the value 35 for age, where
the standard deviation of age is 12.94 years.
(c) Use normalization by decimal scaling to transform the value 35 for
age.
(d) Use smoothing by bin means to smooth the above data, using a bin
depth of 3. Illustrate your steps. Comment on the effect of this
technique for the given data.
(b) With proper illustration, explain how PCA can be used for dimensionality (6)
reduction? Explain
OR
14 (a) Suppose a group of 12 sales price records has been sorted as follows: 5, 10, (8)
11, 13, 15, 35, 50, 55, 72, 92, 204, 215. Sketch examples of each of the
following sampling techniques: SRSWOR, SRSWR, cluster sampling,
stratified sampling. Use samples of size 5 and the strata “youth,” “middle-
aged,” and “senior.”
(b) Partition the above data into three bins by each of the following methods: (6)
(i) equal-frequency (equi-depth) partitioning
(ii) equal-width partitioning
15 (a) Explain the concept of a cluster as used in ROCK. Illustrate with examples (9)
(b) Consider the following dataset for a binary classification problem. (5)
A B Class
Label
T F +
T T +
T T +
T F -
T T +
F F -
F F -
F F -
T T -
T F -
Calculate the gain in Gini index when splitting on A and B respectively.
Which attribute would the decision tree induction algorithm choose?
COMPUTER SCIENCE AND ENGINEERING
OR
16 (a) For a sunburn dataset given below, find the first splitting attribute for the (10)
decision tree by using the ID3 algorithm.
17 (a) Illustrate the working of Pincer Search Algorithm with an example. (7)
(b) Describe the working of dynamic itemset counting technique? Specify when (7)
to move an itemset from dashed structures to solid structures?
OR
18 (a) A database has six transactions. Let min_sup be 60% and min_conf be (9)
80%.
TID items_bought
T1 I1, I2, I3
T2 I2, I3, I4
T3 I4, I5
T4 I1, I2, I4
(b) Write partitioning algorithm for finding large itemset and compare its (5)
efficiency with apriori algorithm
COMPUTER SCIENCE AND ENGINEERING
(b) Write an algorithm to find maximal frequent forward sequences to mine log (7)
traversal patterns. Illustrate the working of this algorithm.
OR
20 (a) Explain how web structure mining is different from web usage mining and (7)
web content mining? Write a CLEVER algorithm for web structure mining.
(b) Describe different Text retrieval methods. Explain the relationship between (7)
text mining and information retrieval and information extraction.
Teaching Plan
No. of
No Contents lecture
hours
(36
Hrs)
YEAR OF
CATEGORY L T P CREDIT INTRODUCTION
CST476 MOBILE COMPUTING
PEC 2 1 0 3 2019
Preamble: The course is designed with the view of preparing the engineering students
capable of understanding the communication protocols, various architectures and security
features used in mobile computing. This course covers basics of mobile computing,
architecture of wireless transmission systems and next generation networks. This course
enables the learners to acquire advanced concepts on wireless communication systems and
mobile ad-hoc networks.
Course Outcomes: After the completion of the course the student will be able to
CO1
CO2
CO3
CO4
COMPUTER SCIENCE AND ENGINEERING
CO5
CO6
Assessment Pattern
Remember 30 30 30
Understand 50 50 50
Apply 20 20 20
Analyse
Evaluate
Create
Mark Distribution
Syllabus
Text Books
1. Asoke K. Talukder, Hasan Ahmad, Roopa R Yavagal, Mobile Computing Technology-
Application and Service Creation, 2/e, McGraw Hill Education.
2. Jochen Schiller, Mobile Communications, Pearson Education Asia, 2008.
3. Jonathan Rodriguez, Fundamentals of 5G Mobile Networks, Wiley Publishers, 2015.
Reference Books
1. Raj Kamal, Mobile Computing, 2/e, Oxford University Press.
2. Andrew S. Tanenbaum, Computer Networks, PHI, 3/e, 2003
3. Theodore S. Rappaport, Wireless Communications Principles and Practice, 2/e, PHI, New
Delhi, 2004.
4. Curt M. White, Fundamentals of Networking and Communication 7/e, Cengage learning.
data. Show the encoding, decoding and channel sharing mechanisms using CDMA.
2. Compare the influence of near/far effect and its countermeasures in TDMA and
CDMA systems.
Reg No:_______________
Name:_________________
3. Compare and contrast the satellite systems – GEO, LEO and MEO.
4. Assume all stations can hear all other stations. One station wants to transmit
and senses the carrier idle. Why can a collision still occur after the start of
transmission?
7. Mention the basic purpose of DHCP. Also list the entities of DHCP.
10. How does multifactor security model provide security in a mobile network?
(10x3=30)
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Describe the design considerations of three tier architecture of mobile (6)
computing.
(b) Explain any four functions and applications of mobile computing. (8)
OR
12. (a) Explain Internet-Ubiquitous networks mentioning the significance and (6)
functions of core, edge and access network.
(b) With the help of a neat sketch explain the three-tier architecture of mobile (8)
computing.
13. (a) Check to see if the following set of chips can belong to an orthogonal system. (6)
[+1, +1, +1, +1] , [+1, -1, -1, +1] , [-1, +1, +1, -1] , [+1, -1, -1, +1]
(b) Summarize the routing and localization process in satellite systems. (8)
OR
14. (a) Apply Direct Sequence Spread Spectrum to the data 101 using Barker (6)
sequence 10110111000. Show the encoding and decoding steps.
(b) Describe the system architecture of GSM networks. (8)
OR
16. (a) Describe the protocol architecture of IEEE 802.11. (6)
(b) Explain the Medium Access Control management features provided in an (8)
IEEE 802.11 station.
17. (a) With the help of an example, show the routing table creation using (7)
Destination Sequence Distance Vector Routing protocol in mobile ad-hoc
networks.
(b) Describe the router discovery methods used in mobile IP. (7)
OR
18. (a) Compare the features of flat routing and hierarchical routing. (6)
(b) List the entities of a mobile IP. With the help of an example, explain how (8)
packet delivery is done to and from a fixed node.
OR
20. (a) Describe the services of Wireless Asynchronous Transfer Mode. (6)
TEACHING PLAN
No Contents [Link]
Lecture
Hrs
(35 hrs)
Module – 1 (Mobile Computing Basics) (6 hrs)
3.6 HIPERLAN-1 1
3.7 Bluetooth 1
SEMESTER VIII
PROGRAM ELECTIVE V
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
HIGH PERFORMANCE CATEGORY L T P CREDIT INTRODUCTION
CST418
COMPUTING
PEC 2 1 0 3 2019
Preamble: This course helps the learners to understand the different architectural features of
high-end processors. This course discusses the Basics of high-end processors Architecture,
Instruction-Level Parallelism, Data-Level Parallelism, Thread Level Parallelism, and GPU
Architectures. This course enables the students to provide solutions to real-world problems
making use of the capabilities of HPC systems.
Prerequisite: Basic knowledge in Computer System architecture, Microprocessors, Operating
systems, and System software.
Course Outcomes: After the completion of the course the student will be able to
CO1 Describe different types of modern processing environments and parallel computing
hardware (Cognitive Knowledge Level: Understand)
CO3 Appreciate the idea of Data Level Parallelism (Cognitive Knowledge Level: Apply)
CO4 Demonstrate the concept of Thread Level Parallelism (Cognitive Knowledge Level:
Apply)
CO5 Describe the basics of GPU architecture. (Cognitive Knowledge Level: Understand)
CO1
CO2
CO3
CO4
C05
COMPUTER SCIENCE AND ENGINEERING
Assessment Pattern
Remember 20 20 20
Understand 50 50 50
Apply 30 30 30
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
COMPUTER SCIENCE AND ENGINEERING
Syllabus
Module-1 ( Basics of Architecture )
Classes of Computers - Classes of Parallelism and Parallel Architectures – Defining Computer
Architecture – Dependability – Quantitative Principles of Computer Design – Basics of Memory
Hierarchies – Virtual Memory and Virtual Machines – Pipelining
2. Assume a single-issue pipeline. Unroll the loop as many times as necessary to schedule it
without any stalls, collapsing the loop overhead instructions. How many times must the
loop be unrolled? Show the instruction schedule. What is the execution time per element of
the result?
3. Explain the SIMD Instruction Set Extensions for Multimedia.
QP CODE:
PART A
5. What is the equation of CPI (cycles per instruction) for a pipelined processor? How
can we set the ideal pipeline CPI?
6. Explain the two types of name dependencies between an instruction i that precedes
instruction j in program order.
8. Why SMP architectures are called UMA multiprocessors and DSM multiprocessors
as NUMA processors.
COMPUTER SCIENCE AND ENGINEERING
3x10=30
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Describe the quantitative principle of computer design with Amdahl's law. (8)
(b) Discuss in detail the importance of considering processor performance for (6)
the design of an efficient computer system.
OR
12. (a) Illustrate how processes are protected with the help of virtual memory. (7)
(b) Discuss the role played by virtual machines in providing protection for (7)
processes.
(b) With neat sketches explain how data-level parallelism is achieved in vector, (6)
and SIMD architectures.
OR
14. (a) Describe the unique features of very long instruction word processors. (8)
(b) Consider a three-way superscalar machine renaming these three instructions (6)
concurrently:
COMPUTER SCIENCE AND ENGINEERING
If the value of x1 starts at 5, then what will be its value when after this
sequence is executed?
15. (a) The following loop has multiple types of dependences. Find all the true (8)
dependences, output dependencies, and anti-dependencies, and eliminate the
output dependencies and anti-dependencies by renaming.
OR
16. (a) Demonstrate the different types of hardware approaches required for the (8)
working of multithreading.
Are there exist dependencies between S1 and S2? Determine whether the
above loop is parallel? If not, show how to make it parallel.
17. (a) Consider an 8-processor multicore where each processor has its own L1 and (8)
L2 caches. Here snooping is performed on a shared bus among the L2
caches. Assume that the average L2 request is 15 cycles for a coherence
miss or other miss and a clock rate of 3.0 GHz, a CPI of 0.7, and a load/store
frequency of 40%. If the goal set is that no more than 50% of the L2
bandwidth is consumed by coherence traffic, then what is the maximum
coherence miss rate per processor?
OR
(b) With a neat diagram, demonstrate invalidate cache coherence protocol for a (8)
private write-back cache, showing the states and state transitions for each
block in the cache.
OR
20. (a) Discuss in detail the characteristics of GPU memory spaces. (8)
Teaching Plan
No. of
Lecture
No Contents Hours
(36 hrs)
Module 1 - Basics of Architecture (7 hours)
YEAR OF
BLOCKCHAIN CATEGORY L T P CREDIT INTRODUCTION
CST428
TECHNOLOGIES
PEC 2 1 0 3 2019
Preamble: The purpose of this course is to create awareness and understanding among students
on the foundation of blockchain technology. The course introduces the cryptographic principles
behind blockchain and helps the students understand concepts like consensus, crypto-currency,
smart contracts, use cases etc. The course enables students to develop simple decentralized
applications using blockchain networks such as Ethereum.
Prerequisite: Basic knowledge in data structures and operating systems.
Course Outcomes: After the completion of the course the student will be able to
CO5 Explain the use of smart contracts and its use cases. (Cognitive Knowledge Level:
Understand)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2
CO1
CO2
COMPUTER SCIENCE AND ENGINEERING
CO3
CO4
CO5
CO6
Assessment Pattern
Remember 30 30 30
Understand 50 50 50
Apply 20 20 20
Analyze
Evaluate
Create
COMPUTER SCIENCE AND ENGINEERING
Mark Distribution
150 50 100 3
Text Book
1. Imran Bashir, Mastering Blockchain: A deep dive into distributed ledgers, consensus
protocols, smart contracts, DApps, cryptocurrencies, Ethereum, and more, Packt Publishing,
Third edition, 2020.
References
2. Ritesh Modi, Solidity Programming Essentials: A beginner's guide to build smart contracts
for Ethereum and blockchain, Packt Publishing, First edition, 2018.
3. Kumar Saurabh, Ashutosh Saxena, Blockchain Technology: Concepts and Applications,
First Edition, Wiley Publications, First edition, 2020.
4. Chandramouli Subramanian, Asha A George, et al, Blockchain Technology, Universities
Press (India) Pvt. Ltd, First edition, August 2020.
COMPUTER SCIENCE AND ENGINEERING
QP CODE:
PART A
5. If your blockchain network has 5 Byzantine nodes, what is the minimum number of
nodes that are required to ensure Byzantine fault tolerance using PBFT protocol?
7. Explain how smart contracts can be used for enforcing agreements between parties
in the form of business logic.
10. With the help of a figure show the relationship between the transaction, transaction (10x3=30)
trie, and block header in Ethereum.
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Explain the design of SHA-256 and its compression function using a (9)
diagram.
(b) Explain how hash functions are used to build Merkle trees in blockchain. (5)
OR
12. (a) Explain public and private keys. Perform encryption and decryption using (7)
RSA for p=3, q=11, e= 7 and M=5.
13. (a) Illustrate and explain how blockchain works using a neat diagram. (7)
OR
14. (a) Explain consensus mechanisms used in blockchain. List out any six (7)
consensus algorithms used in the context of blockchain.
15. (a) Explain and illustrate how Paxos protocol can be used to achieve consensus. (7)
(b) Show how Practical Byzantine Fault Tolerance can achieve consensus in the (7)
presence of Byzantine faults.
OR
16. (a) Describe the various fields that make up a transaction in Bitcoin. (7)
(b) What is the role of a Bitcoin miner? Explain the mining algorithm used in (7)
COMPUTER SCIENCE AND ENGINEERING
17. (a) Illustrate how blockchain technology can be implemented in finance sector. (7)
(b) Discuss oracles in a blockchain ecosystem. Explain the generic data flow from (7)
a smart contract to an oracle.
OR
18. (a) Explain the design process of decentralized applications with diagrams. (7)
(b) Explain the use of blockchain technology in supply chain management. (7)
19. (a) Using Solidity language, create a simple bank contract that allows a user to (7)
deposit, withdraw and view balance.
(b) Define block difficulty. Explain how block difficulty is adjusted in Ethereum (7)
blockchain network.
OR
20. (a) Using Solidity language, create a simple voting smart contract where a (7)
chairperson will give the right to vote to each address individually.
(b) Explain the concept of Gas in Ethereum. Explain how transaction cost can be (7)
calculated in an Ethereum blockchain network.
COMPUTER SCIENCE AND ENGINEERING
Teaching Plan
No. of
Lecture
No Contents Hours
(35 hours)
Module-1 (Fundamentals of Cryptography) (7 hours)
YEAR OF
IMAGE PROCESSING CATEGORY L T P CREDIT INTRODUCTION
CST438
TECHNIQUE
PEC 2 1 0 3 2019
Preamble: This course helps the learners understand the core concepts and applications of Digital
Image Processing. It covers Digital Image Fundamentals, Image Transforms, Image Enhancement
in Spatial and Frequency Domain, Image Restoration & Image Segmentation and Morphological
Operations & Representation and Description. The learners will be able to develop new
algorithms, tools, and application software for real-world applications involving image processing.
Prerequisite: A basic knowledge of Computer Graphics and Image representation
Course Outcomes: After the completion of the course, the student will be able to
CO1 Explain the concepts of image formation and the basis of digital image processing.
(Cognitive Knowledge Level: Understand)
CO2 Demonstrate the role of image transforms in representing, highlighting, and modifying
image features. (Cognitive Knowledge Level: Apply)
Solve image enhancement problems using spatial and frequency domain techniques.
CO3
(Cognitive Knowledge Level: Apply)
CO4 Make use of the concept of image restoration and image segmentation techniques in
real-world problems. (Cognitive Knowledge Level: Apply)
Assessment Pattern
Remember 30 30 30
Understand 40 40 40
Apply 30 30 30
Analyze
Evaluate
Create
Mark Distribution
150 50 100 3
COMPUTER SCIENCE AND ENGINEERING
Syllabus
Module – 1 (Digital Image Fundamentals)
Elements of Visual Perception, A Simple Image Formation Model. Spatial and Intensity
Resolution. Image Interpolation. Classification of Digital Images. Image Types. Image Storage
Mechanisms. Arithmetic and Logical Operations. Geometric Spatial Transformations and Image
Registration. Image File Formats. Colour Fundamentals and Colour Models.
Module - 2 (Image Transforms)
Basic concept of spatial domain and frequency domain, Unitary transform, Discrete Fourier
Transform- 2D DFT, 4 order DFT Transform coefficients, Forward and inverse transform,
Discrete Cosine Transform- 2D DCT, 4 order DCT Transform Coefficients(No derivation
needed), Forward and Inverse DCT, Hadamard Transform.
Module - 3 (Image Enhancement in Spatial and Frequency Domain)
Point operations- Clipping and Thresholding, Digital Negative, Intensity Level Slicing, Bit
Extraction, Range Compression. Spatial Operations- Fundamentals of spatial convolution and
COMPUTER SCIENCE AND ENGINEERING
correlation, Spatial averaging and spatial Low pass filtering, Directional Smoothing, Median
Filtering, Unsharp masking and Crispening.
3. Use Discrete Fourier transform to construct 2D DFT for a 4x4 image given below. Assume that
indices start from (0,0)
1. Perform intensity level slicing on the 3 BPP (Bit Per Pixel) image. Let r1=3 and r2=5. Draw
the modified image with/without background transformations.
2. Let y(m) = {2,3,8,4,2}. Obtain the median filter output for the window W = [-1,0,1,2] and
show how salt and pepper noise is reduced.
3. Consider a 3*3 spatial mask that averages the four closest neighbors of a point(x,y), but
excludes the point itself from the average.
2. Consider a noisy image that is restored using arithmetic mean filter of size 3x3 and
using the geometric mean filter of the same size. Which image will be less blurred and
why?
3. Suppose that you want to help a radiologist to extract the tumor portion from an MRI
image for volumetric analysis. This volumetric analysis determines the effect of
treatment on the patient, which can be judged from the extracted size and shape of the
abnormal portion. Manual tracing of the tumor regions is very difficult since the tumor
portion on the MRI image is inhomogeneous, with complex shapes and ambiguous
boundaries. Suggest a sequence of steps that you may use to automate this process as an
image processing student. (ASSIGNMENT)
5. Sketch perspective plot of a 2-D ideal low pass filter transfer function and filter
cross-section. List its usefulness in Image enhancement.
6. Explain the significance of directional smoothing technique.
7. Specify the significance of the Zero crossing detector.
(b) Explain the significance of image interpolation and describe its various types. (7)
13. (a) State the advantages of Discrete Cosine Transform over Discrete Fourier (4)
Transform.
(b) You are given a 4 X 4 image patch Compute 2D DCT for the image patch. (10)
Reconstruct the original image patch by neglecting the last four coefficients in
2D DCT. Comment on the observed result.
OR
14. (a) Discuss the concept of sequency in Hadamard transform. (4)
(b) Find the 2D forward DFT of the image segment (10)
1 1 1 1
1 1 1 1
1 1 1 1
Prove the unitary property of the given image segment.
15. (a) Explain the output and application of the following point processing (9)
techniques
(i)Range Compression (ii) Bit Extraction (iii) Thresholding
(b) State and explain the features of median filtering. Compute the output of the (5)
median filtering for Y(m)={2,4,8,3,2} , w={-1,0,1,2} where Y(m) is an array
and w is a window.
OR
16. (a) Describe the role of Unsharp masking with its applications (4)
(b) Explain and compare the basic frequency domain filters for image sharpening (10)
2 4 8 7
12 6 9 8
13 7 4 3
8 12 4 9
COMPUTER SCIENCE AND ENGINEERING
(b) Illustrate the split and merge algorithm for image segmentation using neat (6)
sketches.
19. (a) Explain the purpose of morphological operations in digital image? Describe (7)
the opening and closing operations with examples.
(b) Illustrate Hit or Miss Transformation. (7)
OR
20. (a) Explain the concept of the chain coding scheme with its applications. (6)
(b) Describe in detail any two boundary representation schemes and illustrate (8)
with examples.
Teaching Plan
No. of
Lecture
No Contents Hours
(36 hrs)
Module-1 (Digital Image Fundamentals) (7 hours)
3.4 Spatial averaging and spatial Low pass filtering, Directional Smoothing. 1
3.7 Smoothing Frequency Domain Filters : Ideal Low Pass Filter; Gaussian Low 1
Pass Filter; Butterworth Low Pass Filter;
3.8 Sharpening Frequency Domain Filters: Ideal High Pass Filter; Gaussian High 1
Pass Filter; Butterworth High Pass filter.
Module-4 (Image Restoration & Image Segmentation) ( 6 hours)
4.1 Image degradation model, Noise models. 1
4.2 Mean Filters – Order Statistic filter – Adaptive filters. 1
4.3 Edge Detection, Gradient operators, Laplace operators and zero crossings. 1
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
CATEGORY L T P CREDIT INTRODUCTION
CST448 INTERNET OF THINGS
PEC 2 1 0 3 2019
Preamble: This course equips the learners with fundamental of the Internet of Things(IoT) and
the IoT ecosystem. It covers the architecture of IoT, communication mechanisms, protocols,
hardware, software, data analytics, and the cloud platforms for IoT. This course enables the
students to design smart IoT applications for real world problems using Raspberry Pi.
Course Outcomes: After the completion of the course the students will be able to
Outline the fundamentals of IoT and its underlying physical and logical architecture(Cognitive
CO1
Knowledge Level: Understand)
CO4 Implement data analytics on the IoT platforms (Cognitive Knowledge Level : Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
COMPUTER SCIENCE AND ENGINEERING
CO5
CO6
Conduct investigations of
PO4 PO10 Communication
complex problems
Assessment Pattern
Remember 30 20 30
Understand 60 50 40
Apply 10 30 30
Analyze
COMPUTER SCIENCE AND ENGINEERING
Evaluate
Create
Mark Distribution
Attendance 10 marks
Continuous Assessment Tests 25 marks
Continuous Assessment Assignment 15 marks
Syllabus
Module- 1 ( IoT Architecture)
What is IoT, Genesis of IoT, IoT and Digitization, IoT Impact, Convergence of IT and IoT, IoT
Challenges, IoT Network Architecture and Design, Drivers Behind New Network Architectures,
Comparing IoT Architectures, A Simplified IoT Architecture, The Core IoT Functional Stack,
IoT Data Management and Compute Stack.
Smart Objects: The “Things” in IoT, Sensors, Actuators, and Smart Objects, Sensor Networks,
Connecting Smart Objects, Communications Criteria, IoT Access Technologies
IP as the IoT Network Layer, The Business Case for IP, The need for Optimization, Optimizing
IP for IoT, Profiles and Compliances, Application Protocols for IoT, The Transport Layer, IoT
Application Transport Methods
Data and Analytics for IoT, An Introduction to Data Analytics for IoT, Machine Learning, Big
Data Analytics Tools and Technology, Edge Streaming Analytics, Network Analytics, Securing
IoT, A Brief History of OT Security, Common Challenges in OT Security, Differences between
IT and OT Security Practices and Systems, Formal Risk Analysis Structures: OCTAVE and
FAIR.
IoT Logical Design using Python, IoT Physical Devices and Endpoints - Raspberry Pi interfaces,
Programming Raspberry Pi using Python, Other IoT devices, IoT Physical devices and Cloud
offerings, Cloud Storage Models, WAMP - Autobahn for IoT, Django, Designing RESTful Web
API, Cloud Web Services for IoT.
Textbooks
1. David Hanes, Gonzalo Salgueiro, Patrick Grossetete, Robert Barton, Jerome Henry, "IoT
Fundamentals: Networking Technologies, Protocols, and Use Cases for the Internet of
Things”, 1st Edition, Pearson Education (Cisco Press Indian Reprint)
COMPUTER SCIENCE AND ENGINEERING
References
1. Rajkamal, “Internet of Things: Architecture and Design Principles”, McGraw Hill (India)
Private Limited
2. Dieter Uckelmann, Mark Harrison, Michahelles Florian (Ed.), Architecting the internet of
things, Springer, 2011
3. Dr. Ovidiu Vermesan, Dr. Peter Friess, Internet of Things: Converging Technologies for
Smart Environments and Integrated Ecosystems, River Publishers, 2013
4. Simon Monk, “Programming Arduino: Getting Started with Sketches”, McGraw Hill
Publications
2. Describe the functions of the various layers of simplified IoT Architecture Model.
6. With neat diagrams compare the IoT protocol stacks using 6LoWPAN and IP.
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Illustrate the impact of IoT in at least 2 domains of normal human life. (9)
(b) Describe the Application and Analytics sublayer of IoT Architecture (6)
OR
12. (a)
Describe the Standardized IoT architectures.
(8)
(b) Explain the functions of Access Network Sublayer of IoT Architecture (6)
13. (a)
Describe the LoRaWAN technology as an IoT communication paradigm.
(10)
(b) (4)
Describe various types of sensors.
OR
14. (a) Define actuators. Describe the roles of actuators in IoT systems. (6)
(b) Explain the IEEE 802.15.4 standard for wireless communication. (8)
15. (a) Explain Message Queuing Telemetry Transport framework and message (8)
format.
(b) Explain tunneling of legacy SCADA over IP Networks with a neat diagram. (6)
OR
17. (a) Explain the Hadoop ecosystem with a neat diagram. (7)
OR
18. (a) Explain the “The Purdue Model for Control Hierarchy” and OT network (8)
characteristics.
OR
20. (a) Demonstrate an example of Raspberry Pi applications for Industrial IoT. (8)
TEACHING PLAN
No Contents No of
Lecture
Hrs (35
Hrs)
1.6 The Core IoT Functional Stack, IoT Data Management and Compute Stack. 1
5.7 Django 1
YEAR OF
CATEGORY L T P CREDIT INTRODUCTION
CST458 SOFTWARE TESTING
PEC 2 1 0 3 2019
Preamble: This is a course in theoretical computer science that introduces the concepts and
methods in software testing. It covers various techniques for test case design used to test software
artifacts, including requirements, design, and code, the different techniques for test case design
based on graphs, programming language syntaxes and symbolic execution using PEX tool. It
enables the learners to follow a systematic software testing approaches while developing
applications.
Prerequisite: Nil
Course Outcomes: After the completion of the course the student will be able to:-
List a range of different software testing techniques and be able to apply specific unit
CO1 testing method to the projects using Junit.(Cognitive Knowledge Level:
Understand)
Illustrate using appropriate tools the mutation testing method for a given piece of code
CO2 to identify hidden defects that can’t be detected using other testing
methods.(Cognitive Knowledge Level: Apply)
CO3 Explain graph coverage criteria in terms of control flow graph and data flow graph
for a given program.(Cognitive Knowledge Level: Understand)
CO5 Illustrate the use of PEX tool with symbolic execution.(Cognitive Knowledge Level:
Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO 9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
COMPUTER SCIENCE AND ENGINEERING
CO5
Assessment Pattern
Remember 30 30 30
Understand 40 40 40
Apply 30 30 30
Analyze
Evaluate
Create
Mark Distribution
Attendance 10 marks
Continuous Assessment Tests(Average of SeriesTests1& 2) 25 marks
Syllabus
Module - 1 (Introduction to Software Testing)
Some Popular Errors – Ariane 5, Therac 25, Intel Pentium Bug. What is Software testing? Why should it
be tested? Software Quality, Role of Testing. Testing Process - Level 0 thinking, Level 1 thinking, Level 2
thinking, Level 3 thinking, Level 4 thinking. Software Testing Terminologies - Verification, Validation
and Testing, Faults, Error and Bug, Test cases, Coverage Criteria. Types of Testing- Unit testing,
integration testing, System testing, Acceptance testing, Beta testing, Functional testing, Stress testing,
Performance testing, Usability testing and Regression testing. Testing Methods - Black Box testing, White
Box testing, Grey Box testing.
Overview of Graph Coverage Criteria. Structural Graph Coverage Criteria - Node/vertex coverage, Edge
coverage, Edge pair coverage, Path coverage, Complete path coverage, Prime path coverage, Complete
round trip coverage, Simple round trip coverage. Data Flow Criteria - du paths, du pairs. Subsumption
Relationships among Graph Coverage Criteria. Graph Coverage for Source Code - Control flow graphs for
code, CFG: If statement, CFG: If statement with return, CFG: Switch-case, CFG: Loops, CFG: Exceptions
(try-catch). Example program – Statistics. Graph Coverage for Design Elements - Call graphs and classes,
Class inheritance testing: Coverage criteria, Coverage criteria on inheritance graph, Data flow at the design
level, Inter-procedural DU pairs, Coupling du-pairs example. Example - Quadratic Root. Case Study -
Graph Based testing using JUnit Framework.
Text Books
1. Paul Ammann and JeffOffutt , Introduction to Software Testing, Cambridge University Press
2. Kshirasagar Naik and Priyadarshi Tripathy, Software Testing And Quality Assurance: Theory And
Practice, Wiley.
Reference Materials
1. King, James C, “Symbolic Execution and Program Testing”, Association for Computing Machinery,
July 1976.
intrslt;
rslt = Left;
if (Right == 0)
{
rslt = 1;
}
else
{
for (int i = 2; i <= Right; i++)
rslt = rslt * Left;
}
return (rslt);
}
Course Outcome 3 (CO3):
Draw the control flow graph and data flow graph of given piece of code.
public static double ReturnAverage(int value[],int AS, int MIN, int MAX){
/*
Function: ReturnAverageComputes the averageof all those numbers in the input array in
the positive range [MIN, MAX]. The maximum size of the array is AS. But, the array size
could be smaller than AS in which case the end of input is represented by -999.
*/
int i, ti, tv, sum;
doubleav;
i = 0; ti = 0; tv = 0; sum = 0;
while (ti< AS && value[i] != -999) {
ti++;
if (value[i] >= MIN && value[i] <= MAX) {
tv++;
sum = sum + value[i];
}
i++;
}
COMPUTER SCIENCE AND ENGINEERING
if (tv> 0)
av = (double)sum/tv;
else
av = (double) -999;
return (av);
}
Course Outcome 4 (CO4):
Explain the following with examples.
1. Input domain modelling.
2. All Combinations Coverage (ACoC)
3. Each Choice Coverage (ECC)
4. Pair-wise Coverage
5. T-wise Coverage
6. Base Choice Coverage
7. Multiple Base Choices Coverage.
Course Outcome 5 (CO5):
Draw the symbolic execution tree for the following program code and explain the symbolic
execution of testme (α1, α2).
int twice (int v) {
return 2 ∗ v;
}
void testme (int x, int y ) {
z = twice ( y);
if ( z == x ){
if ( x > y + 10)
ERROR;
}
}
int main() {
x = sym input();
y = sym input();
testme ( x , y);
COMPUTER SCIENCE AND ENGINEERING
return(0);
QP CODE: PAGES: 3
PART A
Answer all Questions. Each question carries 3 Marks
4. What are the functions of Test driver and Test stubs in dynamic unit testing?
5. Define Node coverage, Edge coverage and Prime path coverage in a control flow
graph?
10. Explain the concept of symbolic execution with the help of a toy example?
(10x3=30)
Part B
(Answer any one question from each module. Each question carries 14 Marks)
(i) Black Box testing (ii) White Box testing (iii) GreyBox testing (14)
(iv) Unit testing (v) Integration testing (vi) System testing (vii) Acceptance
testing
OR
12. (a) Explain the following coverage criterias based on the code fragment given
below? (i) Functional coverage (ii) Statement coverage (iii)Conditional (8)
coverage (iv)Branch coverage
int foo (int x, int y){
int z = 0;
if ((x > 0) && (y > 0)){
z = x;}
return z;
}
(b) Write positive and negative test cases for an ATM Machine? (6)
13. (a) Explain Dynamic unit test environment with a neat figure.
(8)
(b) Explain the major difference between control flow testing and data flow
testing. (6)
OR
14. (a) Explain seven types of mutation operators with neat examples? (14)
15. (a) Explain touring, side trips and detours with a neat example (7)
(b) Explain simple path coverage and prime path coverage with the help of CFG (7)
given below? 1
2 3
OR
COMPUTER SCIENCE AND ENGINEERING
OR
18. (a) Consider the triangle classification program with a specification: (6)
The program reads floating values from the standard input. The three values
A, B, and C are interpreted as representing the lengths of the sides of
triangle. The program then prints a message to the standard output that states
whether the triangle, if it can be formed, is scalene, isosceles, equilateral,
orright angled. Determine the following for the above program:
(i) For the boundary condition A +B > C case (scalene triangle),
identify test cases to verify the boundary.
(ii) For the boundary condition A = C case (isosceles triangle), identify
testcases to verify the boundary.
(iii) For the boundary condition A = B = C case (equilateral triangle),
identify testcases to verify the boundary.
(b) Develop a decision table to generate test cases for this specification. (8)
19. (a) Explain the importance of grey box testing, its advantages and disadvantages? (9)
OR
3. J ← 1;
4. LAB: IF Y ≥ J THEN
5. DO; Z← Z * X;
6. J ← J + 1;
7. GO TO LAB; END;
8. RETURN (Z) ;
9. END;
a) Explain Symbolic execution of POWER (αl, α2).
TEACHING PLAN
No Contents No of
Lecture Hrs
(35 hrs)
1.1 Some Popular Errors– Ariane 5, Therac 25, Intel Pentium Bug. 1 Hour
Testing Methods - Black Box testing, White Box testing, Grey Box
1.7 testing. 1 Hour
Dynamic Unit testing - Control Flow testing, Data Flow testing, Domain
2.2 testing, Functional Program testing. 1 Hour
Graph Coverage for Source Code – Control Flow Graphs (CFG) for code,
3.5 CFG: If statement, CFG: If statement with return, CFG: Switch-case, 1 Hour
CFG: Loops, CFG: Exceptions (try-catch). Example program - Statistics
Graph Coverage for Design Elements – Structural graph coverage and
3.6 data flow graph coverage for design elements 1 Hour
3.7 Case Study - Graph Based testing using JUnit Framework. (Lecture 1) 1 Hour
3.8 Case Study - Graph Based testing using JUnit Framework. (Lecture 2) 1 Hour
4.7 Case Study - Black Box testing approaches using JUnit. 1 Hour
Introduction to Grey Box testing - Why Grey Box testing, Gray Box
5.1 Methodology, Advantages and Disadvantages. 1 Hour
YEAR OF
CATEGORY L T P CREDIT
CST468 BIOINFORMATICS INTRODUCTION
PEC 2 1 0 3 2019
Preamble: This course helps the learners to understand the fundamental concepts in Molecular
Biology, Genomics, Proteomics and Modelling. This course introduces bio macromolecules such
as genes and proteins, different biological databases, and tools and algorithms for biological data
processing, analysis and interpretation, and the elements of the systems approach to Molecular
Biology. This course enables the learners to contribute towards drug discovery and
computational analysis and modelling of biological process.
Course Outcomes: After the completion of the course, the student will be able to
CO 2 Identify biological data formats and databases, retrieve bio-sequences, and align bio-
sequences to identify similarity (Cognitive knowledge level : Apply)
CO 3 Employ similarity searching tools and algorithms to align sequences to highlight the
similarity, and describe the structure of genes (Cognitive knowledge level : Apply)
CO 4 Demonstrate Protein Structure, visualize protein structure using tools, and explain how
proteins interact (Cognitive knowledge level : Apply)
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
COMPUTER SCIENCE AND ENGINEERING
CO4
CO5
Assessment Pattern
Mark Distribution
Attendance 10 marks
Syllabus
Module-1 (Introduction to bioinformatics)
Introduction to bioinformatics, Nature & Scope of Bioinformatics, DNA, RNA, and Protein: The
Central Dogma, Messenger RNA, tRNA, rRNA, Genetic code, Gene Structure and Control,
Transcription, translation
Introduction to Biological Databases, NCBI, Genbank, Bio sequence formats- FASTA, Sequence
alignment- Global Alignment and Local Alignment, Dot Matrix Method, Dynamic Programming
Method, Gap Penalties, Amino Acid Scoring Matrices - PAM and BLOSUM
Module-4 (Proteomics)
Introduction to Systems Biology, Models and Modelling, Properties of models, Systems state
and steady state, Variables, Parameters, and Constants in modelling, Purpose and Adequateness
of Models, Advantages of Computational Modelling, Model Development, Network Versus
Elements, Modularity, Robustness and Sensitivity, Data Integration
Text books
1. Zvelebil, Marketa J., and Jeremy O. Baum. Understanding bioinformatics. Garland Science,
2007.
2. Xiong, Jin. Essential bioinformatics. Cambridge University Press, 2006.
3. Klipp, E., Herwig, R., Kowald, A., Wierling, C., &Lehrach, H. Systems biology in practice:
concepts, implementation and application. John Wiley & Sons. 2005
References
1. Baxevanis, Andreas D., Gary D. Bader, and David S. Wishart, eds. Bioinformatics. John
Wiley & Sons, 2020.
2. Shaik, Noor Ahmad, et al. Essentials of Bioinformatics, Volume I. Springer, 2019
COMPUTER SCIENCE AND ENGINEERING
3. Selzer, Paul M., Richard J. Marhöfer, and Andreas Rohwer, Applied bioinformatics. An
introduction–Springer, Verlag,, 2008.
4. S C Rastogi, N Mendiratta and PRastogi, Bioinformatics: Methods and Applications , PHI
Learning Private Limited, New Delhi, 2015.
5. D E Krane and M L Raymer, Fundamental Concepts of Bioinformatics, Pearson Education,
2006.
6. Andreas [Link], B F Francis Ouellette, Bioinformatics - A Practical Guide to the
Analysis of Genes and Proteins, Third Edition, John Wiley & Sons INC. , U.K. 2006
7. Neil C Jones and Pavel A Pevzner, An Introduction to Bioinformatics Algorithms, MIT press,
2004.
5. Write short note on Gap penalties and its usage in comparing Biological
sequences.
6. List any three typesof BLAST and make short description on each.
OR
12. (a) Discuss translation process in protein synthesis. (6)
(b) Explain bio-molecules involved in central dogma, its structure and types. (8)
13. (a) Explain the importance of Primary and secondary databases in (6)
Bioinformatics
(b) Illustrate the methods of pairwise sequence alignment. What is the use of (8)
assigning gap penalties in alignment?
OR
14. (a) Illustrate sequence alignment. What are the applications of sequence (7)
alignment in Bioinformatics?
(b) What is the use of scoring matrices? Differentiate between PAM and (7)
BLOSUM matrices and its usage in alignment.
15. (a) Using Needleman and Wunsch dynamic programming method, construct the (9)
partial alignment score table for the following two sequences, using the
scoring parameters: match score: +5, mismatch score: -1, gap penalty: -2.
CCATGCU
GATTACA
Also write down the optimal global alignment between these sequences along
with the optimal score.
(b) Interpret the blast result and statistical significance of the alignment by (5)
analyzing the results.
OR
16. (a) Using Smith Waterman method construct the partial alignment scoring table (9)
and obtain the optimal local alignment of the following two sequences:
ACGTATCGCGTATA
GATGCTCTCGGAJAA
(b) Illustrate multiple sequence alignment. (5)
17. (a) Discuss hierarchies of protein structure. (6)
(b) Explain how the protein structure is determined by using experimental (8)
techniques.
OR
18. (a) Discuss protein interaction. How it contributes to the complexity of an (9)
organism?
19. (a) Discuss systems biology approach of understanding complex biological (6)
systems.
(b) Explain on Variables, Parameters, and Constants in modeling biological (8)
systems.
OR
20. (a) Explain on advantages of Computational Modeling of biological system. (7)
(b) What are the properties of models in biological system? (7 )
TEACHING PLAN
No Contents No of Lecture
(36 Hrs)
Module-1 (Introduction to bioinformatics)(8 hrs)
Text 1 (Relevant topics from chapter 1.1, 1.2, 1.3)
YEAR OF
COMPUTATIONAL CATEGORY L T P CREDIT INTRODUCTION
CST478 LINGUISTICS
PEC 2 1 0 3 2019
Preamble: The course aims to teach the basics of Computational Linguistics to the students
viewing language phenomena from a computational/statistical standpoint. This involves ideas about
statstical and computational models and how these could be linked with various language
processing tasks. The course helps the learner to appreciate the complexities involved in language
processing tasks using a machine, in contrast with the ease with which human beings handle them.
Some practical aspects are also discussed using the Python and NLTK framework to equip the
student with the capability to design solutions to linguistic problems.
Prerequisite: Nil
Course Outcomes: After the completion of the course the student will be able to
CO# CO
Develop simple systems for linguistic tasks using Python and NLTK.
CO6
(Cognitive Knowledge Level: Apply)
COMPUTER SCIENCE AND ENGINEERING
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
CO6
Assessment Pattern
Continuous Assessment Tests
Bloom’s End Semester Examination
Category Marks (%)
Test 1 Test 2
(%) (%)
Remember 30 30 30
Understand 30 30 30
Apply 40 40 40
Analyze
Evaluate
COMPUTER SCIENCE AND ENGINEERING
Create
Mark Distribution
There will be two parts; Part A and Part B. Part A contains 10 questions with 2 questions from
each module, having 3 marks for each question. Students should answer all questions. Part B
contains 2 full questions from each module of which student should answer any one. Each
question can have maximum 2 sub-divisions and carries 14 marks.
COMPUTER SCIENCE AND ENGINEERING
Syllabus
Module- 1 (Preliminaries)
Introduction: Rationalist and Empiricist Approaches to Language-Questions that linguistics
should answer-Noncategorical phenomena in language-Language and cognition as
probabilistic phenomena
The Ambiguity of Language: Why natural language processing is difficult-Lexical resources-
Word counts-Zipf’s laws-Collocations-Concordances
Linguistic Essentials:
Parts of Speech and Morphology -Nouns and pronouns-Words that accompany nouns:
Determiners and adjectives-Verbs-Other parts of speech-Phrase Structure-Phrase structure
grammars -Semantics and Pragmatics-Corpus Based Work
Module -4 (Grammar)
Part-of-Speech Tagging-The Information Sources in Tagging-Markov Model Taggers-
Hidden Markov Model Taggers-Applying HMMs to POS tagging-The effect of initialization
on HMM training-Transformation Based Learning of Tags
Text Books :
1. C.D. Manning and H. Schutze. Foundations of Statistical Natural Language
Processing. MIT Press.
2. Steven Bird, Ewan Klein, Edward Loper, Natural Language Processing with Python and
NLTK. O’reilly Pub.
References:
1. D. Jurafsky and J.H. Martin: Speech and Language Processing: Introduction to Natural
Language Processing, Computational Linguistics and Speech Recognition, PHI.
2. James Allen: Natural Language Understanding. Pearson Pub.
3. Nitin Hardeniya, Jacob Perkins, Deepti Chopra, Nisheeth Joshi, ItiMathur: Natural
Language Processing: Python and NLTK., 1stEdition. Packt Publishing
QP CODE:
PART A
4. State Bayes’ theorem and explain briefly. Comment on its usefulness in NLP.
6. Consider the sentence: "the children ate the cake with a spoon". Construct the
parse tree for it and explain the attachment ambiguity.
10. Write a Python program to extract different date formats from a text document.
(10x3=30)
COMPUTER SCIENCE AND ENGINEERING
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) Write a note on the following terms with example: (9)
(i) Collocations (ii) Concordances (iii) Phrase structure grammars
OR
12. (a) Write a note on all parts of speech tags of English language (9)
(b) What are the differences between Rationalist and Empiricist to Language (5)
approaches
(b) Give a formal definition of Hidden Markov Model (HMM) and state the (9)
relevant assumption while using HMM for language modeling
OR
14. (a) Assume that a particular type of syntactic error detected by a system A occurs (5)
once in 1,00,000 sentences on an average. This system detects an error
correctly with a probability 0.05. Suppose the system reports an error in a test
sentence. What is the probability that this is true?
(b) List some of the problems associated with sparse data in SNLP. (9)
Write a note on n-gram Models over Sparse Data
15. (a) What do you understand by Disambiguation based on sense definitions. (9)
Write and explain any one algorithm for this.
(b) With the help of Bayes’ rule, explain the Bayesian disambiguation algorithm. (5)
OR
(b) What is meant by attachment ambiguity? List different attachment issues. (9)
COMPUTER SCIENCE AND ENGINEERING
17. (a) Write a note on Transformation-Based Learning of tags. Give it’s algorithm (9)
(b) How can HMM be used for parts of speech tagging (5)
OR
(b) How do you find the probability of a string using inside and outside (9)
probabilities ?
19. (a) Write a Python program for PoS tagging using the necessary Python (9)
packages.
OR
20. (a) Write a regular expression for removing punctuations, numbers and white (9)
spaces in a piece of text.
(b) Write a Python program to count the number of sentences, words and line (5)
numbers in a given piece of text. Display each sentence along with that.
COMPUTER SCIENCE AND ENGINEERING
TEACHING PLAN
No Contents No of
Lecture Hrs
(36 hrs)
Module - 1 (Preliminaries) (9 hrs)
SEMESTER VIII
MINOR
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
CATEGORY L T P CREDIT
INTRODUCTION
CSD482 MINI PROJECT
PWS 0 0 3 4 2019
Preamble: The objective of this course is to apply the fundamental concepts of different courses
learned in respective Minor Streams: Software Engineering, Machine Learning and Networking.
This course helps the learners to get an exposure to the development of application
software/hardware solutions/ software simulations in the field of Computer Science and
Engineering. It enables the learners to understand the different steps to be followed such as
literature review and problem identification, preparation of requirement specification &design
document, testing, development and deployment. Mini project enables the students to boost their
skills, widen the horizon of thinking and their ability to resolve real life problems.
CO# CO
Identify technically and economically feasible problems (Cognitive
CO1 Knowledge Level: Apply)
Identify and survey the relevant literature for getting exposed to related
CO2 solutions. (Cognitive Knowledge Level: Apply)
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Assessment Pattern
Mark Distribution
Total CIE ESE Marks
Marks Marks
150 75 75
Student Groups with 4 or 5 members should identify a topic of interest in consultation with a
Faculty Advisor/Project Coordinator/Guide. Review the literature and gather information
pertaining to the chosen topic. State the objectives and develop a methodology to achieve the
objectives. Carryout the design/fabrication or develop codes/programs to achieve the objectives
by strictly following steps specified in the teaching plan. Innovative design concepts,
performance, scalability, reliability considerations, aesthetics/ergonomic, user experience and
security aspects taken care of in the project shall be given due weight.
COMPUTER SCIENCE AND ENGINEERING
The progress of the mini project is evaluated based on a minimum of two reviews. The review
committee may be constituted by a senior faculty member, Mini Project coordinator and project
guide. The internal evaluation shall be made based on the progress/outcome of the project,
reports and a viva-voce examination, conducted internally by a 3-member committee. A project
report is required at the end of the semester. The project has to be demonstrated for its full design
specifications.
TEACHING PLAN
SEMESTER VIII
HONOURS
COMPUTER SCIENCE AND ENGINEERING
YEAR OF
CATEGORY L T P CREDIT
INTRODUCTION
CSD496 MINI PROJECT
PWS 0 0 3 2 2019
Preamble: The objective of this course is to apply the fundamental concepts of courses
learned in respective Honors Streams: Security in Computing, Machine Learning and Formal
Methods. This course helps the learners to get an exposure to the development of application
software/hardware solutions/ software simulations in the field of Computer Science and
Engineering. It enables the learners to understand the different steps to be followed such as
literature review and problem identification, preparation of requirement specification &design
document, testing, development and deployment. Mini project enables the students to boost
their skills, widen the horizon of thinking and their ability to resolve real life problems.
CO# CO
Identify technically and economically feasible problems (Cognitive
CO1 Knowledge Level: Apply)
Identify and survey the relevant literature for getting exposed to related
CO2 solutions. (Cognitive Knowledge Level: Apply)
Perform requirement analysis, identify design methodologies and develop
CO3 adaptable & reusable solutions of minimal complexity by using modern tools
& advanced programming techniques (Cognitive Knowledge Level: Apply)
Prepare technical report and deliver presentation (Cognitive Knowledge
CO4 Level: Apply)
Apply engineering and management principles to achieve the goal of the
CO5 project (Cognitive Knowledge Level: Apply)
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING
Assessment Pattern
Mark Distribution
Student Groups with 4 or 5 members should identify a topic of interest in consultation with a
Faculty Advisor/Project Coordinator/Guide. Review the literature and gather information
pertaining to the chosen topic. State the objectives and develop a methodology to achieve the
objectives. Carryout the design/fabrication or develop codes/programs to achieve the objectives
by strictly following steps specified in the teaching plan. Innovative design concepts,
COMPUTER SCIENCE AND ENGINEERING
The progress of the mini project is evaluated based on a minimum of two reviews. The review
committee may be constituted by a senior faculty member, Mini Project coordinator and project
guide. The internal evaluation shall be made based on the progress/outcome of the project,
reports and a viva-voce examination, conducted internally by a 3-member committee. A project
report is required at the end of the semester. The project has to be demonstrated for its full design
specifications.
TEACHING PLAN