0% found this document useful (0 votes)
1K views440 pages

Computer Science and Engineering s7 & s8

This document describes a course on artificial intelligence. It covers 5 modules: (1) introduction to AI, intelligent agents, and problem solving; (2) uninformed and informed search techniques; (3) adversarial search and constraint satisfaction problems; (4) knowledge representation using logic and reasoning; and (5) machine learning techniques. The course aims to introduce fundamental AI principles and help students understand design of self-learning systems and their applications. Assessment includes two mid-term tests, assignments, and a final exam testing different cognitive levels from remember to apply.

Uploaded by

Shanu N
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views440 pages

Computer Science and Engineering s7 & s8

This document describes a course on artificial intelligence. It covers 5 modules: (1) introduction to AI, intelligent agents, and problem solving; (2) uninformed and informed search techniques; (3) adversarial search and constraint satisfaction problems; (4) knowledge representation using logic and reasoning; and (5) machine learning techniques. The course aims to introduce fundamental AI principles and help students understand design of self-learning systems and their applications. Assessment includes two mid-term tests, assignments, and a final exam testing different cognitive levels from remember to apply.

Uploaded by

Shanu N
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

COMPUTER SCIENCE AND ENGINEERING

SEMESTER VII
COMPUTER SCIENCE AND ENGINEERING

ARTIFICIAL CATEGORY L T P CREDIT


CST401
INTELLIGENCE PCC 2 1 0 3

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)

Illustrate uninformed and informed search techniques for problem solving in


CO2
intelligent systems. (Cognitive Knowledge Level: Understanding )

Solve Constraint Satisfaction Problems using search techniques.


CO3 (Cognitive Knowledge Level: Apply )
Represent AI domain knowledge using logic systems and use inference techniques
CO4 for reasoning in intelligent systems. (Cognitive Knowledge Level: Apply )
Illustrate different types of learning techniques used in intelligent systems
CO5 (Cognitive Knowledge Level: Understand)

Mapping of course outcomes with program outcomes


PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation


PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics


PO3 Design/Development of solutions PO9 Individual and team work
Conduct investigations of complex
PO4 problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Continuous Assessment Tests End Semester


Bloom’s Examination Marks (%)
Category
Test 1 (%) Test 2 (%)
Remember 30 30 30
Understand 60 30 40
Apply 20 40 30
Analyze
Evaluate
Create

Mark Distribution
Total Marks CIE Marks ESE Marks ESE Duration
150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of SeriesTests1& 2) 25 marks

Continuous Assessment Assignment 15 marks


COMPUTER SCIENCE AND ENGINEERING

Internal Examination Pattern:


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.

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 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.

Module – 2 (Problem Solving)


Solving Problems by searching-Problem solving Agents, Example problems, Searching for
solutions, Uninformed search strategies, Informed search strategies, Heuristic functions.

Module - 3 (Search in Complex environments)


Adversarial search - Games, Optimal decisions in games, The Minimax algorithm, Alpha-Beta
pruning. Constraint Satisfaction Problems – Defining CSP, Constraint Propagation- inference in
CSPs, Backtracking search for CSPs, Structure of CSP problems.

Module - 4 (Knowledge Representation and Reasoning)


Logical Agents – Knowledge based agents, Logic, Propositional Logic, Propositional Theorem
proving, Agents based on Propositional Logic. First Order Predicate Logic – Syntax and
Semantics of First Order Logic, Using First Order Logic, Knowledge representation in First
Order Logic. Inference in First Order Logic – Propositional Vs First Order inference, Unification
and Lifting, Forward chaining, Backward chaining, Resolution.
COMPUTER SCIENCE AND ENGINEERING

Module - 5 (Machine Learning)


Learning from Examples – Forms of Learning, Supervised Learning, Learning Decision Trees,
Evaluating and choosing the best hypothesis, Regression and classification with Linear
models.

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.

Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Explain about the basic types of agent programs in intelligent systems.
2. For the following activities, give a PEAS description of the task environment and characterize
it in terms of the task environment properties.
a) Playing soccer.
b) Bidding on an item at an auction.

Course Outcome 2 (CO2):


1. Differentiate between uninformed and informed search strategies in intelligent systems.
2. Illustrate the working of Minimax search procedure.

Course Outcome 3 (CO3):


1. Solve the following crypt arithmetic problem by hand, using the strategy of backtracking
with forward checking and the MRV & least-constraining-value
heuristics.

Course Outcome 4 (CO4):


1. Prove, or find a counter example to, the following assertion:
If α |= γ or β |= γ (or both) then (α ∧β) |= γ
2. For each pair of atomic sentences, find the most general unifier if it exists:
a) P (A, B, B), P (x, y, z).
b) Q(y, G(A, B)), Q(G(x, x), y).

Course Outcome 5 (CO5):


1. Consider the following data set comprised of three binary input attributes (A1 , A2 , and
COMPUTER SCIENCE AND ENGINEERING

A3 ) and one binary output.

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.

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST401

Course Name: Artificial Intelligence

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1 What is a rational agent? Explain.

2 Describe any two ways to represent states and the transitions between them in
agent programs.

3 Differentiate between informed search and uninformed search.

4 Define heuristic function? Give two examples.


COMPUTER SCIENCE AND ENGINEERING

5 What are the components of a Constraint Satisfaction Problem? Illustrate with an


example.

6 Formulate the following problem as a CSP. Class scheduling: There is a fixed


number of professors and classrooms, a list of classes to be offered, and a list of
possible time slots for classes. Each professor has a set of classes that he or she can
teach.

7 What is a knowledge based agent? How does it work?

8. Represent the following assertion in propositional logic:


“A person who is radical (R) is electable (E) if he/she is conservative (C), but
otherwise is not electable.”

9 Describe the various forms of learning?

10 State and explain Ockham’s razor principle (10x3=30)

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.

(b) Discuss about any five applications of AI. (6)

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

14 (a) Write and explain A* search algorithm. (6)


.
(b) Explain the components of a well defined AI problem? Write the standard (8)
formulation of 8-puzzle problem.

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

16 (a) Illustrate the use of alpha-beta pruning in games. (6)


.
(b) Consider the following game tree in which static evaluation score are all from (8)
the players point of view: static evaluation score range is (+10 to -10)

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

Did Curiosity kill the cat?

(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).

19 (a) How is best hypothesis selected from alternatives? (8)


.
(b) Explain Univariate Linear Regression. (6)

OR

20 (a) Consider the following data set comprised of two binary input attributes (A1 (8)
. and A2) and one binary output.

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.

(b) Explain Linear classification with logistic regression (6 )


COMPUTER SCIENCE AND ENGINEERING

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

Module - 4 (Knowledge Representation and Reasoning) (9 hrs)


4.1 Logical Agents – Knowledge based agents and logic 1

4.2 Propositional Logic 1


4.3 Propositional Theorem proving 1
4.4 Agents based on Propositional Logic 1
4.5 First Order Predicate Logic – Syntax and Semantics of First Order 1
Logic
4.6 Using First Order Logic, Knowledge representation in First Order Logic 1
4.7 Inference in First Order Logic – Propositional Vs First Order inference, 1
Unification and Lifting
4.8 Forward chaining, Backward chaining 1
4.9 Resolution 1
Module - 5 ( Machine Learning)( 6 hrs)
5.1 Learning from Examples – Forms of Learning 1
5.2 Supervised Learning 1
5.3 Learning Decision Trees 1
5.4 Generaliztion and overfitting 1
5.5 Evaluating and choosing the best hypothesis 1
5.6 Regression and classification with Linear models. 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.

Prerequisite: A sound knowledge in C programming, Data Structures, Formal languages and


Automata Theory and Compiler design.

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)

CO 4 Design and Implement Top-Down parsers. (Cognitive Knowledge Level: Apply)

CO 5 Design and Implement Bottom-Up parsers. (Cognitive Knowledge Level: Apply)

CO 6 Implement intermediate code for expressions. (Cognitive Knowledge Level: Apply)

Mapping of course outcomes with program outcomes

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

Total CIE ESE ESE


Marks Duration

150 75 75 3 hours

Continuous Internal Evaluation Pattern:

Attendance : 15 marks
Continuous Evaluation in Lab : 30 marks
Continuous Assessment Test : 15 marks
Viva-voce : 15 marks

Internal Examination Pattern: The marks will be distributed as Algorithm 30 marks,


Program 20 marks, Output 20 marks and Viva 30 marks. Total 100 marks which will be
converted out of 15 while calculating Internal Evaluation 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.

Operating System to Use in Lab : Linux


Compiler/Software to Use in Lab : gcc, lex, yacc
Programming Language to Use in Lab : Ansi C
Fair Lab Record: COMPUTER SCIENCE AND ENGINEERING

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

1. Implementation of lexical analyzer using the tool LEX.

2. Implementation of Syntax analyzer using the tool YACC.

3. Application problems using NFA and DFA.

4. Implement Top-Down Parser.

5. Implement Bottom-up parser.

6. Simulation of code optimization Techniques.

7. Implement Intermediate code generation for simple expressions.

8. Implement the back end of the compiler.

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.

6. Generate a YACC specification to recognize a valid arithmetic expression that uses

operators +, – , *,/ and parenthesis.


7. Generate a YACC specification to recognize aCOMPUTER SCIENCE
valid identifier ANDwith
which starts ENGINEERING
a letter

followed by any number of letters or digits.

8. Implementation of Calculator using LEX and YACC

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.

12. Write a program to convert NFA to DFA.

13. Write a program to minimize any given DFA.

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.

16. Construct a Shift Reduce Parser for a given language.

17. Write a program to perform constant propagation.

18. Implement Intermediate code generation for simple expressions.

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:

 To do literature survey in a selected area of study.


 To understand an academic document from the literate and to give a presentation
about it.
 To prepare a technical report.

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).

CO5 Prepare a technical report (Cognitive knowledge level: Create).

Mapping of course outcomes with program outcomes:

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

PO# Broad PO PO# Broad PO


PO1 Engineering Knowledge PO7 Environment and Sustainability
PO2 Problem Analysis PO8 Ethics
Design/Development of
PO3 PO9 Individual and team work
solutions
Conduct investigations of complex PO10 Communication
PO4 problems

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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

Total marks: 100, only CIE, minimum required to pass 50

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).

Seminar Coordinator: 20 marks (Seminar Diary – 10 (Each student shall maintain a


seminar diary and the guide shall monitor the progress of the seminar work on a weekly
basis and shall approve the entries in the seminar diary during the weekly meeting with the
student), Attendance – 10).

Presentation: 40 marks to be awarded by the IEC (Clarity of presentation – 10,


Interactions – 10 (to be based on the candidate's ability to answer questions during the
interactive session of her/his presentation), Overall participation – 10 (to be given based on
her/his involvement during interactive sessions of presentations by other students), Quality
of the slides – 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).

Mapping of course outcomes with program outcomes

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

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work


Conduct investigations of PO10 Communication
PO4
complex problems
PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Lifelong learning

PROJECT PHASE I
Phase 1 Target

 Literature study/survey of published literature on the assigned topic


 Formulation of objectives
 Formulation of hypothesis/ design/ methodology
 Formulation of work plan and task allocation.
 Block level design documentation
 Seeking project funds from various agencies
 Preliminary Analysis/Modeling/Simulation/Experiment/Design/Feasibility study
 Preparation of Phase 1 report

Evaluation Guidelines & Rubrics

Total: 100 marks (Minimum required to pass: 50 marks).

 Project progress evaluation by guide: 30 Marks.


 Interim evaluation by the Evaluation Committee: 20 Marks.
 Final Evaluation by the Evaluation Committee: 30 Marks.
 Project Phase - I Report (By Evaluation Committee): 20 Marks.

(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

No. Parameters Marks Poor Fair Very Good Outstanding


The team has identified a topic.
Topic The team has failed to come Good evidence of the group The group has brainstormed in an
The originally selected topic
identification, with a relevant topic in time. thinking and brainstorming on excellent manner on what they were
lacks substance and needs to
selection, Needed full assistance to find what they are going to build. The going to build. The topic selected is
be revised. There were
formulation of a topic from the guide. They results of the brainstorming are highly relevant, real world problem
suggestions given to improve
objectives do not respond to documented and the selection of and is potentially innovative. The
1-a 10 the relevance and quality of the
and/or suggestions from the topic is relevant. The review of group shows extreme interest in the
project topic. Only a few
literature evaluation committee and/or related references was good, but topic and has conducted extensive
relevant references were
survey. the guide. No literature there is scope of improvement. literature survey in connection with
consulted/ studied and there is
(Group review was conducted. The Objectives formed with good the topic. The team has come up
no clear evidence to show the
assessment) team tried to gather easy clarity, however some objectives with clear objectives which are
team's understanding on the
information without verifying are not realistic enough. feasible.
same. Some objectives
[CO1] the authenticity. No
identified, but not clear enough.
objectives formed yet.

(0 – 3 Marks) (4 – 6 Marks) (7 - 9 Marks) (10 Marks)


Excellent evidence of enterprising
and extensive project planning.
Gantt charts were used to depict
Project detailed project scheduling. A
Good evidence of planning
Planning, No evidence of planning or Some evidence of a primary project management/version
done. Materials were listed and
Scheduling scheduling of the project. plan. There were some ideas on control tool is used to track the
thought out, but the plan
and The students did not plan the materials /resources project, which shows familiarity
wasn't quite complete.
Resource/ what they were going to required, but not really thought with modern tools. All materials /
Schedules were prepared, but
Tasks build or plan on what out. The students have some resources were identified and listed
not detailed, and needs
Identification materials / resources to use idea on the finances required, and anticipation of procuring time
1-b 10 improvement. Project journal is
and in the project. The students but they have not formalized a is done. Detailed budgeting is done.
presented but it is not complete
allocation. do not have any idea on the budget plan. Schedules were All tasks were identified and
in all respect / detailed. There
(Group budget required. The team not prepared. The project incorporated in the schedule. A
is better task allocation and
assessment) has not yet decided on who journal has no details. Some well-kept project journal shows
individual members understand
does what. No project journal evidence on task allocation evidence for all the above, in
[CO4] about their tasks. There is
kept. among the team members. addition to the interaction with the
room for improvement.
project guide. Each member knows
well about their individual tasks.

(0 – 3 Marks) (4 – 6 Marks) (7 - 9 Marks) (10 Marks)


Phase 1 Interim Evaluation Total Marks: 20
EVALUATION RUBRICS for PROJECT Phase I: Final Evaluation
Sl.
No. Parameters Marks Poor Fair Very Good Outstanding

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.

(0 – 1 Marks) (2 – 3 Marks) (4 Marks) (5 Marks)

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.

(0 – 3 Marks) (4 – 6 Marks) (7 - 9 Marks) (10 Marks)

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.

(0 – 1 Marks) (2 – 3 Marks) (4 Marks) (5 Marks)

Total 30 Phase - I Final Evaluation Marks: 30


EVALUATION RUBRICS for PROJECT Phase I: Report Evaluation
Sl.
No. Parameters Marks Poor Fair Very Good Outstanding

Project report shows


The prepared report is Project report follows the
evidence of systematic
shallow and not as per standard format to some The report is exceptionally good. Neatly
documentation. Report is
standard format. It does not extent. However, its organized. All references cited
1-g Report [CO6] 20 following the standard
follow proper organization. organization is not very good. properly. Diagrams/Figures, Tables and
format and there are only a
Contains mostly Language needs to be equations are properly numbered, and
few issues. Organization of
Unacknowledged content. improved. All references are listed and clearly shown. Language is
the report is good. Most
Lack of effort in preparation not cited properly in the excellent and follows standard styles.
of references are cited
is evident. report.
properly.
(0 - 7 Marks) (8 - 12 Marks) (13 - 19 Marks) (20 Marks)
Phase - I Project Report Marks: 20
COMPUTER SCIENCE AND ENGINEERING

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)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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
Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of Internal Tests 1 & 2) 25 marks

Continuous Assessment Assignment 15 marks


Internal Examination Pattern
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.
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 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 (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

SVM - Introduction, Maximum Margin Classification, Mathematics behind Maximum Margin


Classification, Maximum Margin linear separators, soft margin SVM classifier, non-linear SVM,
Kernels for learning non-linear functions, polynomial kernel, Radial Basis Function(RBF).
Module-4 (Unsupervised Learning)
Clustering - Similarity measures, Hierarchical Agglomerative Clustering, K-means partitional
clustering, Expectation maximization (EM) for soft clustering. Dimensionality reduction –
Principal Component Analysis.
Module-5 (Classification Assessment)
Classification Performance measures - Precision, Recall, Accuracy, F-Measure, Receiver
Operating Characteristic Curve(ROC), Area Under Curve(AUC. Bootstrapping, Cross Validation,
Ensemble methods, Bias-Variance decomposition. Case Study: Develop a classifier for face
detection.
Text Book
1. Ethem Alpaydin, Introduction to Machine Learning, 2nd edition, MIT Press 2010.
2. Mohammed J. Zaki and Wagner Meira, Data Mining and Analysis: Fundamental Concepts
and Algorithms, Cambridge University Press, First South Asia edition, 2016.
3. Jake VanderPlas, Python Data Science Handbook, O'Reilly Media, 2016
4. Tom Mitchell, Machine Learning, McGraw-Hill, 1997.

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

Course Level Assessment Questions


Course Outcome1 (CO1):
1. A coin is tossed 100 times and lands heads 62 times. What is the maximum
likelihood estimate for θ, the probability of heads.
2. Suppose data x1, ..., xn are independent and identically distributed drawn from an
exponential distribution exp(λ). Find the maximum likelihood for λ.
3. Suppose x1, ..., xn are independent and identically distributed(iid) samples from a
distribution with density

Find the maximum likelihood


estimate(MLE) for θ.
4. Find the maximum likelihood
estimator (MLE) and maximum a posteriori (MAP) estimator for the mean of a univariate
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. What
happens to the MLE and MAP estimators as the number of samples goes to infinity.

Course Outcome 2(CO2):


1. Suppose that you are asked to perform linear regression to learn the function that
outputs y, given the D-dimensional input x. You are given N independent data
points, and that all the D attributes are linearly independent. Assuming that D is
around 100, would you prefer the closed form solution or gradient descent to
estimate the regressor?

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

(probability distribution) do you need to know to classify an example using the


Naive Bayes classifier?

Course Outcome 3(CO3):


1. What are support vectors and list any three properties of the support vector
classifier solution?
2. Why do you use kernels to model a projection from attributes into a feature space,
instead of simply projecting the dataset directly?
COMPUTER SCIENCE AND ENGINEERING

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.

Course Outcome 4(CO4): .


1. Which similarity measure could be used to compare feature vectors of two images? Justify
your answer.
2. Illustrate the strength and weakness of k-means algorithm.
3. Suppose you want to cluster the eight points shown below using k-means

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

Course Outcome 5(CO5):


1. What is ensemble learning? Can ensemble learning using linear classifiers learn
classification of linearly non-separable sets?
2. Describe boosting. What is the relation between boosting and ensemble learning?
3. 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.
4. What are ROC space and ROC curve in machine learning? In ROC space, which points
correspond to perfect prediction, always positive prediction and always negative
prediction? Why?
5. Suppose there are three classifiers A,B and C. The (FPR, TPR) measures of the three
classifiers are as follows – A (0, 1), B (1, 1) , C (1,0.5). Which can be considered as a
perfect classifier? Justify your answer.

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST413

Course Name: Machine Learning

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Define supervised learning? Name special cases of supervised learning depending


on whether the inputs/outputs are categorical, or continuous.
COMPUTER SCIENCE AND ENGINEERING

2. Differentiate between Maximum Likelihood estimation (MLE) and Maximum a


Posteriori (MAP) estimation?

3. What is overfitting and why is it a problem?

4. Specify the basic principle of gradient descent algorithm.

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?

7. Expectation maximization (EM) is designed to find a maximum likelihood setting


of the parameters of a model when some of the data is missing. Does the algorithm
converge? If so, do you obtain a locally or globally optimal set of parameters?

8. Illustrate the strength and weakness of k-means algorithm.

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

were taken from such a distribution: (3, 0, 2, 1, 3, 2, 1, 0, 2, 1). What is the


maximum likelihood estimate of θ.

(b) Suppose you have a three class problem where class label y ∈ 0, 1, 2 (7)

and each training example X has 3 binary attributes X1, X2, X3 ∈ 0, 1.


How many parameters (probability distribution) do you need to know
COMPUTER SCIENCE AND ENGINEERING

to classify an example using the Naive Bayes classifier?

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.

Answer the following questions :


1) Find the value of hθ (2) if θ0= 0 and θ1 = 1.5
2) Find the value of J(0,1)
3) Suppose the value of J( θ0, θ1) = 0. What can be inferred from this.

(b) Assume we have a classification problem involving 3 classes: professors, (3)


students, and staff members. There are 750 students, 150 staff members
and 100 professors. All professors have blond hair, 50 staff members have
blond hair, and 250 students have blond hair. Compute the information
gain of the test ”hair color = blond” that returns true or false.
COMPUTER SCIENCE AND ENGINEERING

(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.

(c) Compare ReLU with Sigmoid function (3)

OR

16. (a) State the mathematical formulation to express Soft Margin as a constraint (10)
optimization problem.

(b) What is the basic idea of back propagation algorithm (4)

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

18. (a) Suppose that we have the following data: (8)


(2, 0), (1, 2), (2, 2), (3, 2), (2, 3), (3, 3), (2, 4), (3, 4), (4, 4), (3, 5)
Identify the cluster by applying the k-means algorithm, with k = 2. Try using
initial cluster centers as far apart as possible
COMPUTER SCIENCE AND ENGINEERING

(b) Describe EM algorithm for Gaussian Mixtures (8)

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.8 Soft margin SVM, Solution of Soft margin SVM 1 hour

3.9 Non-linear SVM , Kernels for learning non-linear functions, Examples - 1 hour
Linear, RBF, Polynomial
Module-4 (Unsupervised Learning) (7 hours)

4.1 Similarity measures- Minkowski distance measures( Manhattan, Euclidean), 1 hour


Cosine Similarity
4.2 Clustering - Hierarchical Clustering (TB 2: Chapter 14) 1 hour
4.3 K-means partitional clustering (TB 2: Chapter 13) 1 hour
4.4 Expectation maximization (EM) for soft clustering (TB 2: Chapter 13) 1 hour
4.5 Expectation maximization (EM) for soft clustering (TB 2: Chapter 13) 1 hour

4.6 Dimensionality reduction – Principal Component Analysis (TB 1: Section 1 hour


6.3)
4.7 Dimensionality reduction – Principal Component Analysis (TB 1: Section 1 hour
6.3)
Module-5 (Classification Assessment) (7 hours)

5.1 Performance measures - Precision, Recall, Accuracy, F-Measure, ROC, 1 hour


AUC. (TB 2: Chapter 22.1)
5.2 Boot strapping, Cross validation 1 hour
5.3 Ensemble methods- bagging, boosting 1 hour
5.4 Bias-Variance decomposition (TB 2: Chapter 22.3) 1 hour
5.5 Bias-Variance decomposition (TB 2: Chapter 22.3) 1 hour

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.

Prerequisite: Basic understanding of computer networks and operating systems.

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)

Demonstrate the significance of implementing virtualization techniques.


CO2 (Cognitive Knowledge 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)

Compare the different popular cloud computing platforms (Cognitive Knowledge


CO6
Level: Understand)
COMPUTER SCIENCE AND ENGINEERING

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5

CO6

Abstract POs defined by National Board of


Accreditation

PO# Broad PO PO# Broa


d PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of PO9 Individual and team work


solutions
Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning


COMPUTER SCIENCE AND ENGINEERING

Assessment Pattern

Continuous Assessment Tests


End Semester
Bloom’s Category
Test1 (Percentage) Test2 (Percentage) Examination Marks

Remember 30 30 30

Understand 40 40 40

Apply 30 30 30

Analyze

Evaluate

Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3 hours

Continuous Internal Evaluation Pattern:

Attendance : 10 marks

Continuous Assessment Tests : 25 marks

Continuous Assessment Assignment : 15 marks

Internal Examination Pattern:

Each of the two internal examinations has to be conducted out of 50 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 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

Module 1: Fundamental Cloud Computing (7 Hours)

Traditional computing- Limitations. Overview of Computing Paradigms-Grid Computing,


Cluster Computing, Distributed Computing, Utility Computing, Cloud Computing. NIST
reference Model-Basic terminology and concepts. Cloud characteristics, benefits and challenges,
Roles and Boundaries. Cloud delivery (service) models-Infrastructure-as-a-Service (IaaS),
Platform-as-a-Service(PaaS),Software-as-a-Service (SaaS), XaaS (Anything-as-a-service)-Cloud
deployment models- Public cloud, Community cloud, Private cloud, Hybrid cloud.

Module 2: Virtualization (7 Hours)

Introduction to virtualization-Virtualizing physical computing resources, Virtual Machines


(Machine virtualization), non-virtualized v/s virtualized machine environments. Types of VMs-
process VM v/s system VM, Emulation, interpretation and binary translation. Hardware-level
virtualization- Hypervisors/VMM. Types of Hypervisors. Full Virtualization, Para-
Virtualization, Hardware-assisted virtualization, OS level virtualization. Basics of Network
Virtualization, Storage Virtualization and Desktop Virtualization, Pros and cons of
virtualization. Case Study- Xen: Para-virtualization, VMware: full virtualization.
COMPUTER SCIENCE AND ENGINEERING

Module 3: Cloud-Enabling Technologies, Private cloud platforms and programming (7


Hours)

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.

Module 4: Fundamental Cloud Security (7 Hours)

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.

Module 5: Popular Cloud Platforms (9 Hours)

Amazon Web Services(AWS):- AWS ecosystem- Computing services, Amazon machine


images, Elastic Compute Cloud (EC2), Advanced compute services. Storage services-Simple
Storage System (Amazon S3), Elastic Block Store (Amazon EBS), Database Services, Amazon
CDN Services and Communication services.
Google Cloud Platform:- IaaS Offerings: Compute Engine (GCE), Cloud Storage, PaaS
Offerings: Google App Engine (GAE), Storage services, Application services, Compute services,
Database Services, SaaS Offerings: Gmail, Docs, Google Drive.
Microsoft Azure: Azure Platform Architecture, Hyper-V, Azure Virtual Machine, Compute
services, Storage services.

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.

Course Level Assessment Questions


Course Outcome 1 (CO1):
1. “A hybrid cloud is a combination of two or more other cloud deployment models”. Justify
the statement with an example.
2. What are the main characteristics of a Platform-as-a-Service solution?
3. How does cloud computing help to reduce the time to market for applications and to cut
down capital expenses?
4. Differentiate public and private clouds in terms of flexibility.
Course Outcome 2 (CO2):
1. Define virtualization. What is the role of VMM in virtualization?
2. Explain various implementation levels of Virtualization.
3. State the differences between a traditional computer and a virtual machine.
Course Outcome 3 (CO3):
1. Differentiate between on-premise and cloud-based internetworking.
2. What are the benefits of Data Center Technologies?
3. What are the characteristics of Multi-tenant technology?
4. How can virtualization be implemented at the hardware level?
Course Outcome 4 (CO4):
1. Write a Hadoop MapReduce program that counts the number of occurrences of each
character in a file.
2. Write a Hadoop MapReduce program to find the maximum temperature in the weather
dataset.
Course Outcome 5 (CO5):
1. Why is it harder to establish security in the cloud?
2. Explain in detail about the security issues one should discuss with a cloud-computing
vendor.
3. List and Explain major cloud security challenges.
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 6 (CO6):


1. Explain the cloud based databases.
2. With a neat diagram, write about Google App Engine for PaaS applications.
3. Differentiate between amazon SimpleDB and Amazon RDS.
4. “Storage services in the cloud are offered in two different forms as IaaS and as SaaS”.
Explain.

Model Question Paper

QP Code: Total Pages : 3


Reg No:_________________ Name :____________________

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY


SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST423


Course Name: Cloud Computing

Duration: 3 Hrs Max. Marks :100


PART A
Answer all Questions. Each question carries 3 Marks (10 x 3 = 30 Marks)
1. Is the IT outsourcing model of traditional computing similar to cloud computing?
Justify.

2. Why is grid computing considered as the predecessor of cloud computing? Explain.

3. What is virtualization and what are its benefits?

4. Explain why a hypervisor is also called a virtual machine monitor?

5. Differentiate between multi-tenancy and virtualization.

6. “The field of service technology is a keystone foundation of cloud computing”. Explain.

7. Discuss any two identity management techniques used in cloud computing.

8. Differentiate between mandatory access control (MAC) and discretionary Access


Control (DAC).

9. Differentiate between Amazon S3 and Amazon EBS.

10. Explain the database service offered by google cloud.


COMPUTER SCIENCE AND ENGINEERING

(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)

13. (a) List and discuss various types of virtualization. (8)


(b) Differentiate between full virtualization and paravirtualization. (6)
OR
14. (a) What is Xen? Discuss its elements for virtualization. (8)
(b) Explain the design requirements for Virtual Machine Monitor (VMM). (6)

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)

Module 1 (Fundamental Cloud Computing) (6 hours)

1.1 Traditional computing: Limitations. 1

1.2 Overview of Computing Paradigms: Grid Computing, Cluster Computing, 1


Distributed Computing, Utility Computing, Cloud Computing.

1.3 NIST reference Model, Basic terminology and concepts. 1

1.4 Cloud characteristics and benefits, challenges. Roles and Boundaries. 1

1.5 Cloud delivery (service) models: Infrastructure-as-a-Service (IaaS), Platform-as- 1


a-Service (PaaS), Software-as-a-Service (SaaS), XaaS (Anything-as-a-service).

1.6 Cloud deployment models: Public cloud, Community cloud, Private cloud, 1
Hybrid cloud.
COMPUTER SCIENCE AND ENGINEERING

Module 2( Virtualization)(7 Hours)

2.1 Introduction to virtualization, Virtualizing physical computing resources Virtual 1


Machines (Machine virtualization):- non-virtualized v/s virtualized machine
environments.

2.2 Types of VMs: process VM v/s system VM, Emulation, interpretation and 1
binary translation.

2.3 Hardware-level virtualization: Hypervisors/VMM, Types of Hypervisors. 1

2.4 Full Virtualization, Para-Virtualization, Hardware-assisted virtualization, OS 1


level virtualization.

2.5 Basics of Network Virtualization, Storage Virtualization and Desktop 1


Virtualization, Pros and cons of virtualization.

2.6 Case Study: Xen: Para-virtualization. 1

2.7 Case Study: VMware: full virtualization. 1

Module 3 (Cloud-Enabling Technologies, Private cloud platforms and programming)


(9 Hours)

3.1 Broadband networks and internet architecture: Internet Service Providers (ISPs), 1
Data center technology, Web technology, Multitenant technology, Service
technology.

3.2 Resource provisioning techniques: static and dynamic provisioning. 1

3.3 Open-source software platforms for private cloud: OpenStack, CloudStack. 1

3.4 Basics of Eucalyptus, Open-Nebula, Nimbus. 1

3.5 Cloud Programming: Parallel Computing and Programming Paradigms. 1

3.6 Map Reduce. 1

3.7 Hadoop Library from Apache, HDFS. 1

3.8 Pig Latin High Level Languages 1

3.9 Apache Spark. 1


COMPUTER SCIENCE AND ENGINEERING

Module 4 (Fundamental Cloud Security) (7 Hours)

4.1 Basic terms and concepts in security, Threat agents. 1

4.2 Cloud security threats/risks, Trust. 1

4.3 Operating system security, Virtual machine security. 1

4.4 Security of virtualization. 1

4.5 Security Risks posed by Shared Images, Security Risks posed by Management 1
OS.

4.6 Infrastructure security: - Network Level Security, Host Level Security, 1


Application level security, Security of the Physical Systems.

4.7 Identity & Access Management, Access Control. 1

Module 5 (Popular Cloud Platforms) (8 Hours)

5.1 Amazon Web Services(AWS):- AWS ecosystem, Computing services: Amazon 1


machine images, Elastic Compute Cloud (EC2).

5.2 Advanced computing services, Storage services: Simple Storage System 1


(Amazon S3), Elastic Block Store (Amazon EBS).

5.3 Database Services, Amazon CDN Services and Communication services. 1

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.

5.6 Database Services, SaaS Offerings: Gmail, Docs, Google Drive. 1

5.7 Microsoft Azure: Azure Platform Architecture, Hyper-V, Azure Virtual 1


Machine.

5.8 Azure Compute services, Storage services. 1


COMPUTER SCIENCE AND ENGINEERING

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.

Prerequisite: A fundamental knowledge in mathematical foundations of security.

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

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5

CO6

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad


PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of PO9 Individual and team work


solutions
Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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

Continuous Internal Evaluation Pattern:

Attendance : 10 marks
Continuous Assessment Test : 25 marks
Continuous Assessment Assignment : 15 marks

Internal Examination Pattern:

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.

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 maximum 2 sub-divisions and carries 14 marks.
COMPUTER SCIENCE AND ENGINEERING

Syllabus

Module-1 (Basics of Security and Traditional Cryptosystems)


OSI security architecture – Security attacks, Services, Mechanisms. Cryptography vs
Cryptanalysis. Classical encryption techniques – Symmetric cipher model. Substitution ciphers
– Monoalphabetic vs Polyalphabetic ciphers, Caesar cipher, Affine cipher, Playfair cipher,
Vigenere cipher, Hill cipher. Transposition ciphers – Keyless, Keyed, Double transposition.

Module-2 (Modern Symmetric Key Cryptosystems)


Symmetric key ciphers – Block vs Stream ciphers, Block cipher components, Product ciphers,
Feistel and Non-Feistel ciphers. Data Encryption Standard (DES) – Structure, Key generation,
Design criteria, Weaknesses, Double DES, Triple DES. Advanced Encryption Standard
(AES) – Structure, Key expansion. Block cipher modes of operation – Electronic Codebook
Mode (ECB), Cipher Block Chaining Mode (CBC), Cipher Feedback Mode (CFB), Output
Feedback Mode (OFB), Counter Mode (CTR). Stream ciphers – Structure, RC4.

Module-3 (Public Key Cryptosystems)


Introduction to public key cryptosystems – Principles, Applications, Requirements,
Conventional vs Public key cryptosystems. RSA cryptosystem – Algorithm, Security, Attacks.
ElGamal cryptosystem – Algorithm. Diffie-Hellman key exchange – Algorithm, Man-in-the-
middle attack. Elliptic Curve Cryptography (ECC) – ElGamal ECC, Key exchange using ECC.

Module-4 (Message Integrity and Authentication)


Hash functions – Security requirements, Secure Hash Algorithm (SHA-512). Message
Authentication Code (MAC) – Requirements, Uses, Hash-based MAC (HMAC), Cipher-based
MAC (CMAC). Digital signatures – Attacks, Forgeries, Requirements, Direct vs Arbitrated
digital signatures, RSA digital signature, ElGamal digital signature, Digital Signature Standard
(DSS).

Module-5 (Key Distribution and System Security)


Key management – Distribution of secret keys using symmetric and asymmetric encryption,
Distribution of public keys. System security – Intruders, Intrusion detection techniques,
Password management. Malicious software – Viruses, Related threats, Countermeasures.
Distributed Denial of Service (DDoS) attacks – Types, Countermeasures.

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.

Sample Course Level Assessment Questions

Course Outcome 1 (CO1):

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.

Course Outcome 2 (CO2):

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)

Course Outcome 3 (CO3):

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)

Course Outcome 4 (CO4):

1. Describe the steps involved in generating a Hash-based MAC.


2. Using ElGamal scheme, generate the signatures for the message M=400 with p=881,
d=700 and r=17.
3. A company wishes to implement a secure authentication mechanism for
communication. As a system security admin suggest any two ways of implementing
such a mechanism. (Assignment)
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 5 (CO5):

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.

Course Outcome 6 (CO6):

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)

Model Question Paper

QP CODE: PAGES: ___

Reg No:_______________
Name:_________________

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST433


Course Name: SECURITY IN COMPUTING

Max Marks: 100 Duration: 3 Hours


PART A
(Answer All Questions. Each question carries 3 marks)
1. Differentiate between passive attack and active attack.

2. Use an Affine cipher to encrypt the message “SECURITY” with the key pair(7,2)
in modulus 26.

3. Compare stream cipher and Block cipher with example.


COMPUTER SCIENCE AND ENGINEERING

4. Differentiate between diffusion and confusion.

5. Define the elliptic curve logarithm problem.

6. Consider an ElGamal scheme with a common prime q = 71 and a primitive root α


= 7. If B has a public key YB = 3 and A chose the random number k = 2, what is
the ciphertext of the message M = 30?

7. Give the requirements of MAC function.

8. Specify the different types of forgery in digital signature.

9. List three different classes of intruders.

10. Mention the phases of operation of a virus.


(10x3=30)

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)

(b) A Hill cipher is setup with the key matrix 9 4 .


57 (10)
Encrypt the text “COMPUTER”. Show the calculations for the corresponding
decryption of the ciphertext to recover the original text back.

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”.

13. (a) How is round key generated in DES? (4)

(b) Illustrate AES encryption in detail. (10)

OR
COMPUTER SCIENCE AND ENGINEERING

14. (a) Explain the construction of S-box in AES. (5)

(b) Summarize the primitive operations in RC4 algorithm. (9)

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)

(b) Explain Cipher – Based Message Authentication Code. (8)

OR

18. (a) Explain the attacks on digital signature. (5)

(b) Describe the working of SHA-512 with diagrams. (9)

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)

Module-1 (Basics of Security and Traditional Cryptosystems) (6 hrs)

1.1 OSI security architecture – Security attacks, Services, Mechanisms 1


1.2 Cryptography vs Cryptanalysis. Classical encryption techniques – Symmetric 1
cipher model
1.3 Substitution ciphers – Monoalphabetic vs Polyalphabetic ciphers, Caesar cipher, 1
Affine cipher
1.4 Playfair cipher, Vigenere cipher 1
1.5 Hill cipher 1
1.6 Transposition ciphers – Keyless, Keyed, Double transposition 1

Module-2 (Modern Symmetric Key Cryptosystems) (9hrs)

Symmetric key ciphers – Block vs Stream ciphers, Block cipher components,


2.1 Product ciphers, Feistel and Non-Feistel ciphers 1

Data Encryption Standard (DES) – Structure, Key generation 1


2.2
2.3 Design criteria, Weaknesses 1
2.4 Double DES, Triple DES 1
2.5 Advanced Encryption Standard (AES) – Overall Structure 1
2.6 Stages of encryption/decryption 1
2.7 Key expansion 1
2.8 Block cipher modes of operation – Electronic Codebook Mode (ECB), Cipher 1
Block Chaining Mode (CBC), Cipher Feedback Mode (CFB), Output Feedback
Mode (OFB), Counter Mode (CTR).
2.9 Stream ciphers – Structure, RC4 1
Module-3 (Public Key Cryptosystems)(7hrs)

3.1 Public key cryptosystems – Principles, Applications, Requirements, 1


Conventional vs Public key cryptosystems
COMPUTER SCIENCE AND ENGINEERING

3.2 RSA cryptosystem – Algorithm 1


3.3 RSA Security, Attacks 1
3.4 ElGamal cryptosystem – Algorithm 1
3.5 Diffie-Hellman key exchange – Algorithm, Man-in-the-middle attack 1
3.6 Elliptic Curve Cryptography (ECC) – ElGamal ECC 1
3.7 Key exchange using ECC 1

Module-4 (Message Integrity and Authentication) (6 hrs)

4.1 Hash functions – Security requirements, Secure Hash Algorithm (SHA-512) 1

4.2 Message Authentication Code (MAC) – Requirements, Uses 1


Hash-based MAC (HMAC), Cipher-based MAC (CMAC)
4.3 1
4.4 Digital signatures – Attacks, Forgeries, Requirements, Direct Vs Arbitrated 1
digital signatures
4.5 RSA digital signature, ElGamal digital signature 1
4.6 Digital Signature Standard (DSS) 1

Module-5 (Key Distribution and System Security) (7hrs)

Key management – Distribution of secret keys using symmetric and asymmetric


5.1 1
encryption

5.2 Distribution of public keys 1


5.3 System security – Intruders, Intrusion detection techniques 1
5.4 Password management 1
5.5 Malicious software – Viruses, Related threats 1
5.6 Virus countermeasures 1

5.7 Distributed Denial of Service (DDoS) attacks – Types, Countermeasures 1


COMPUTER SCIENCE AND ENGINEERING

MODEL BASED CATEGORY L T P CREDIT


YEAR OF
INTRODUCTION
CST443 SOFTWARE
DEVELOPMENT PEC 2 1 0 3 2019

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.

Prerequisite: Software Engineering

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)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of complex


PO4 problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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

Total Marks CIE Marks ESE Marks ESE Duration


150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance : 10 marks
Continuous Assessment Test : 25 marks
Continuous Assessment Assignment : 15 marks

Internal Examination Pattern:


Each of the two internal examinations has to be conducted out of 50 marks. The 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 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 completed module), having 3 marks for each
COMPUTER SCIENCE AND ENGINEERING

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.

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 sub-divisions and carries 14 marks.

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).

Module - 2 (More on MBSD)

MBSD based software development – Requirements, Analysis, Design and Implementation.


Model-Driven Architecture - Definitions and Assumptions, Overview of MBSD methodology, The
modeling levels-Computation Independent Model (CIM), Platform Independent Model (PIM),
Platform Specific Model (PSM). Introduction to AADL, Basic Comparison of AADL with other
modeling languages - Comparison with UML.

Module -3 (Modeling using 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.

AADL: Components - Software, Hardware, Composite, Runtime semantics, Language syntax,


AADL declarations, AADL classifiers, AADL system models and specifications

Case Study: Powerboat Autopilot System.

Module - 4 (Model Analysis)

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

Module - 5 (Code Generation)

Need for code generation, Categorization, Code Generation Techniques, Code Generation in AADL
Model – Ocarina.

Text Books

1. Marco, Brambilla, Jordi Cabot, Manuel Wimmer, Model-Driven Software Engineering in


Practice, 2/e, Synthesis Lectures on Software Engineering, 2017.
2. Christel Baier and Joost-Pieter Katoen, Principles of model checking, The MIT Press.
3. Thomas Stahl and Markus Volter, Model-Driven Software Development, Wiley, 2006.
4. David P. Gluch, Peter H. Feiler, Model-Based Engineering with AADL: An Introduction to the
SAE Architecture Analysis & Design Language, Adison-Wesley, 2015.

References:

1. Automated software testing : [Link]


2. Peter H. Feiler, David P. Gluch, John J. [Link] Architecture Analysis & Design
Language(AADL): An Introduction.
3. de Niz, Dionisio, Diagrams and Languages for Model-Based Software Engineering of
EmbeddedSystems: UML and AADL
4. FAA System Safety Handbook, Chapter 8: Safety Analysis/Hazard Analysis Tasks
5. Enno Ruijters, Marielle Stoelinga, Fault tree analysis: A survey of the state-of-the-art in
modeling, analysis and tools.
6. Larson, Brian &Hatcliff, John & Fowler, Kim &Delange, Julien. (2013). Illustrating the AADL
error modeling annex (v.2) using a simple safety-critical medical device. ACM SIGAda Ada
Letters. 33. 65-84. 10.1145/2527269.2527271.
7. Delange, Julien&Feiler, Peter &Hudak, John &Gluch, Dave. (2016). Architecture Fault
Modeling and Analysis with the Error Model Annex, Version 2. 10.13140/RG.2.1.4224.7927.

Sample Course Level Assessment Questions

Course Outcome 1 (CO1):

1. Justify the need of model based software development?


2. Explain the advantages of model based software development?

Course Outcome 2 (CO2):

1. Explain infrastructure of model driven architecture.

2. Describe about MDA modeling levels.

Course Outcome 3 (CO3):

1. Illustrate the basic components of an AADL Model.


COMPUTER SCIENCE AND ENGINEERING

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.

Course Outcome 4 (CO4):

1. Suppose we have an isolette system which ensures the temperature is within a specified
temperature range with following components:

i) temperature sensor - detects air temperature.

iii) heat source - supply hot air to maintain temperature.

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.

Course Outcome 5 (CO5):

1. Illustrate code generation from an AADL model.

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST443

Course Name: Model Based Software Development

Max. Marks : 100 Duration: 3 Hours

PART A
COMPUTER SCIENCE AND ENGINEERING

Answer All Questions. Each Question Carries 3 Marks

1. List any three advantages of automated software testing.

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.

8. Define : (i) Fault Tree Analysis (ii) Minimal cutsets

9. Explain templates and filtering code generation technique.

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)

11. (a) Explain model based software development approach. (12)

(b) Why is model based software development important? (2)

OR

12. (a) What are software faults? Mention any three software faults and its (5)
consequences.

(b) Explain two approaches for ensuring software reliability? (9)


(i) Model Checking
(ii) Automated Testing

13. (a) Illustrate model based software development process. (8)


COMPUTER SCIENCE AND ENGINEERING

(b) Explain infrastructure of model driven architecture. (6)

OR

14. (a) What is AADL? Compare AADL and UML. (6)

(b) Explain in detail about MDA modeling levels. (8)

15. (a) Illustrate the components of an AADL model. (12)

(b) What is the AADL language syntax? (2)

OR

16. (a) Explain the following:


i) AADL classifiers
ii) AADL declarations (2)

(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

20. (a) Describe any four code generation techniques. (10)

(b) Explain the advantages of automatic code generation. (4)

Teaching Plan

Sl Contents Number of
No Lecture
Hours (35)

Module 1 (Introduction) (7 Hours)

1.1 Software faults 1

1.2 Introduction to Model Checking 1

1.3 Introduction to Automated Testing (Lecture 1) 1

1.4 Introduction to Automated Testing (Lecture 2) 1

1.5 Need for MBSD, MBSD Approach 1

1.6 Architecture centric model driven software development 1

1.7 AADL and architecture-centric model-based software systems 1

Module 2 ( Model Based Software Development) (7 Hours)

2.1 Model based software development process 1

2.2 Overview of MBSD methodology 1

2.3 Model Driven Architecture 1

2.4 MDA Definitions and Assumptions 1

2.5 The modeling levels 1

2.6 Introduction to AADL 1

2.7 Comparison of AADL with other modeling languages 1

Module 3 ( Modeling using AADL) (7 Hours)

3.1 Modeling in detail: AADL components 1

3.2 Modeling in detail: Developing a simple model 1


COMPUTER SCIENCE AND ENGINEERING

3.3 Modeling in detail: Define top level model with an example 1

3.4 AADL in detail: Explain AADL components, Language syntax 1

3.5 AADL declarations and classifiers 1

3.6 AADL system models and specifications 1

3.7 Case study: Power boat auto pilot system 1

Module 4 (Model Analysis )(7 Hours)

4.1 Introduction to safety analysis 1

4.2 Fault tree analysis, minimal cutsets 1

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

4.6 Error modelling with AADL - Compositional Abstraction of Error Behavior, 1


Use of Properties in Architecture Fault Models

4.7 Illustrate isolette error model 1

Module 5 (Code Generation) (7 Hours)

5.1 Code generation and its advantages 1

5.2 Categorization 1

5.3 Code generation techniques - Templates + filtering, Template + metamodel, 1


Frame processors

5.4 Code generation techniques - API-based generators, In-line generation, Code 1


attributes

5.5 Code generation techniques - Code weaving 1


Commonalities and Differences Between the Different Code generation
Approaches

5.6 Code generation in AADL - Ocarina 1

5.7 Illustration of code generation using AADL model 1


COMPUTER SCIENCE AND ENGINEERING

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)

Mapping of course outcomes with program outcomes

PO PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
1

CO1

CO2

CO3

CO4
COMPUTER SCIENCE AND ENGINEERING

CO5

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work


Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Continuous Assessment Tests


Bloom’s End Semester Examination
Category Marks (%)
Test 1 (%) Test 2 (%)

Remember 20 20 20

Understand 40 40 40

Apply 40 40 40

Analyze

Evaluate
Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests (Average of Internal Tests 1 & 2) 25 marks
Continuous Assessment Assignment 15 marks

Internal Examination Pattern


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 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 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.

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 full questions from each module of which student should answer any one. Each
question can have a maximum of 2 subdivisions and carries 14 marks.

Syllabus
Module – 1 (WWW, HTML)

Introduction to the Internet & WWW: Evolution of Internet & World Wide Web- Web Basics,
URI’s & URL-MIME.

Introduction to HTML5: Structuring & editing an HTML5 document, Fundamentals of HTML -


Headings-Hyper Links- Images - Special Characters & Horizontal Rules-Lists- Tables -Forms -
Internal Linking- Meta Elements-HTML5 Form input types -Input and Data List Elements and
autocomplete attribute- Page Structure Elements -Multimedia-HTML5 Audio & video elements..

Module -2 (CSS, JavaScript)

Introduction to Stylesheets : Introduction to CSS-Basic syntax and structure-Inline Styles,


Embedded Style Sheets, Conflict Resolution, Linking External Style Sheets-Exploring CSS
Selectors-Properties, values, Positioning Elements: Absolute Positioning, Relative Positioning -
COMPUTER SCIENCE AND ENGINEERING

Backgrounds-List Styles-Element Dimensions- Table Layouts-Box Model and Text Flow-div and
span -Basics of Responsive CSS, Media port & Media Queries.

Introduction to JavaScript : Introduction to Scripting- Programming fundamentals of JavaScript


-Obtaining User Input with prompt Dialogs-Arithmetic-Decision Making -Control Statements -
Functions -Arrays -Objects -Document Object Model (DOM) -Form processing

Module- 3 (PHP Basics)

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

Module -4 (PHP- MySQL, JSON)

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.

Module- 5 (JSON, Laravel)

JSON Data Interchange Format: Syntax, Data Types, Object, JSON Schema, Manipulating
JSON data with PHP

Web Development Frameworks: Laravel Overview-Features of Laravel-Setting up a Laravel


Development Environment-Application structure of Laravel-Routing -Middleware-Controllers-
Route Model Binding-Views-Redirections-Request and Responses.

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)

Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Construct a valid HTML document for your personal Profile registration page for a Job
Site [Link]. Add relevant HTML elements in a table, to accept a minimum of
10 different fields which includes your name, address, phone, email address, your picture,
your college; your branch, fields for your personal history (Minimum 3 fields), favourite
theory and practical subjects (Checkbox), Username, Password(password)
2. What is MIME? Give the expansion of MIME. List four examples for MIME types. State
the reason why MIME type specification is necessary in a request-response transaction
between a browser and server.
3. What is codec? Recognize the role of controls attribute in <video> & <audio> tag in
HTML. Use the COVID vaccination promotional video ‘MySafety.mp4’ in a web page
with suitable HTML code, ‘autoplay’ option enabled and displayed in a standard
dimension 750 X500.
Course Outcome 2 (CO2):
1. Organize a sample web page for the event ‘Raagam2021’ at your campus and use
embedded Style sheets to apply a minimum 5 styles. State the Style Specification
format of embedded style sheets.
2. Write CSS style rules to implement the following in a web page:
a. to display the content of hyperlinks with yellow background color and in italics
b. to display the contents of unordered lists in bold and in Arial font
c. to display a background image titled “[Link]” with no tiling.
3. Write the code for an HTML document with embedded JavaScript scripts, which
initially displays a paragraph with text "Welcome" and a button titled "Click". When
the button is clicked, the message "Hello from JavaScript" in bold should replace the
paragraph text
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 3 (CO3):


1. Write a PHP program to store the name and roll no of 10 students in an Associative
Array and Use foreach loop to process the array and Perform asort, rsort and ksort in
the array. Illustrate with suitable output data
2. Design an HTML page which enters a given number, write a PHP program to display
a message indicating, whether the number is odd or even, when clicking on the submit
button.
3. Write a PHP program to compute the sum of the positive integers up to 100 using do
while.
Course Outcome 4 (CO4):
1. Write a PHP form handling program to verify the user authentication credentials of a
web page using MySQL connection and store the userid value as a Session variable if
the userid is valid.
2. Create a valid HTML document for yourself, including your name, address, and email
address. Also add your college; your major and the course. Perform form handling in
PHP and process the output using POST method.
3. Write an embedded PHP script which displays the factorial of all numbers from 1 to 10 in a
table in the web page. The factorial should be calculated and returned from a function. The
table headings should be "Number" and "Factorial"
Course Outcome 5 (CO5):
1. What is Route Model Binding in Laravel? Which types of route model binding are
supported in Laravel?
2. Explain how laravel performs route handling using routes calling controller methods?
3. List the data types used in JSON? Explain the use of parse () and stringify()
functions in JSON with examples.
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST463

Course Name: Web Programming

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

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.

3. Illustrate the implementation of a JavaScript function greeting () using external .js


file, to display a welcome message, when you click on a Button in an HTML page.

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

7. Write a PHP program to check whether a number is prime number or not.

8. Discuss the various steps for establishing PHP-MySQL connection with a MySQL
COMPUTER SCIENCE AND ENGINEERING

database ?

9. Describe the schema of a document implemented in JSON with suitable examples

10. Explain the role of Resource controllers in Laravel.


(10x3=30)

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

of study. Include a picture of yourself and at least one other image


(friend/pet/role model) to the document with a short description about that.
Add three paragraphs about your personal history, with links to your social
media profile. Also create an ordered list for describing your Skill Set & an
unordered list showing your Strengths & Weaknesses.

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

(b) Why is PHP considered to be dynamically typed? Distinguish between (8)


COMPUTER SCIENCE AND ENGINEERING

implode and explode function in PHP with suitable examples.

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)

(b) Discuss in detail about Laravel’s Routing mechanisms. (8)

OR

20. (a) Enumerate the data types in JSON. Illustrate the document definition of a (8)
‘Student document ‘using JSON Schema.

(b) Discuss the following in Laravel Views (6)


i. Creating & Rendering Views
ii. Passing Data to Views
iii. Sharing Data with All Views
COMPUTER SCIENCE AND ENGINEERING

Teaching Plan

No of
Lecture
No Contents
Hrs (35
hrs)

Module 1 (7 hours)

Introduction to Internet and WWW

1.1 Evolution of Internet &World Wide Web- Web Basics URI’s & URL -MIME 1
[Book 1 - Chapter 1]

Introduction to HTML5

1.2 Structuring & editing an HTML5 document- Fundamentals of HTML, Headings- 1


Images [Book 1 - Chapter 2]

1.3 Hyper Links, Internal Linking- Lists [Book 1 - Chapter 2] 1

1.4 Special Characters & Horizontal Rules- meta Elements- div and span 1
[Book 1 - Chapter 2]

1.5 Tables- Forms [Book 1 - Chapter 2] 1

1.6 HTML5 Form input types, input and data list Elements and autocomplete 1
attributes-Page Structure Elements [Book 1 - Chapter 3]

1.7 Multimedia-HTML5 Audio & video elements [Book 1 - Chapter 9] 1

Module 2 (10 hours)

Introduction to Cascading Style Sheets(CSS)

2.1 Introduction to CSS3-Basic syntax and structure-Inline Styles [Book 1 - Chapter 4] 1

2.2 Embedded Style Sheets-Linking External Style Sheets [Book 1 - Chapter 4] 1

2.3 Exploring CSS Selectors-Properties-values [Book 1 - Chapter 4] 1

2.4 Positioning Elements: Absolute Positioning- Relative Positioning -Backgrounds- 1


List Styles- Table Layouts [Book 1 - Chapter 4]
COMPUTER SCIENCE AND ENGINEERING

2.5 Box Model and Text Flow, Basics of Responsive CSS-Media port & Media 1
Queries [Book 1 - Chapter 4]

Introduction to JavaScript

2.6 Introduction to Scripting- Programming fundamentals of JavaScript -Obtaining 1


User Input with prompt Dialogs [Book 1 - Chapter 6]

2.7 Arithmetic-Decision Making [Book 1 - Chapter 6] 1

2.8 Control Statements [Book 1 - Chapter 7]- Functions [Book 1 - Chapter 9] 1

2.9 Arrays [Book 1 - Chapter 10] - Objects [Book 1 - Chapter 11] 1

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.3 Control Statements -Working with Functions [Book 3- Chapters 6] 1

3.4 Initialising and Manipulating Arrays- Objects [Book 1- Chapters 19] 1

3.5 Working with Strings-String processing with Regular expression, Pattern Matching 1
[Book 1- Chapters 19]

3.6 Form processing and Business Logic [Book 1- Chapters 19] 1

Module 4 (6 hours)

PHP -MYSQL

4.1 Cookies- Sessions [Book 1- Chapters 19] 1

4.2 PHP& MySQL Integration-Connecting to MySQL with PHP . 1


[Book 4- Chapters 18]
COMPUTER SCIENCE AND ENGINEERING

4.3 Working with MySQL data [Book 4- Chapters 18] 1

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]

4.6 Building Dynamic Content in PHP application [Book1- Chapter19] 1

Module 5 (6 hours)

JSON

5.1 JSON Data Interchange Format -Syntax, Data Types, Object 1


[Book 2 - Chapters 1-2]

5.2 JSON Schema, Manipulating JSON data with PHP [Book 2 - Chapter 3,4] 1

LARAVEL

5.3 Laravel Overview- Design Pattern- Laravel Features [Book 4- Chapters 1] 1


Setting up a Laravel Development Environment-Application structure of Laravel
[Book 4- Chapters 2]

5.4 Laravel Basics Routing -middleware - Controllers [Book 4- Chapters 3] 1

5.5 Route Model Binding-Views-Redirections [Book 4- Chapters 3] 1

5.6 Blade Templating-echoing data, control structures [Book 4- Chapters 4] 1


COMPUTER SCIENCE AND ENGINEERING

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)

CO2 Demonstrate the relevance of pre-processing methods on text data(Cognitive


Knowledge Level: Apply)

CO3 Compare different language modelling techniques(Cognitive Knowledge Level:


Apply)

CO4 Make use of NLP techniques in Text Classification and Information


Retrieval(Cognitive Knowledge Level: Apply)

CO5 Explain Information Extraction, Relation Detection, QA Systems and Machine


Translation(Cognitive Knowledge Level: Understand)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests (Average of Internal Tests 1 & 2) 25 marks

Continuous Assessment Assignment 15 marks


Internal Examination Pattern
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.
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 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 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 Representation--Vector Space Models--Basic Vectorization Approaches--One-Hot


Encoding, Bag of Words, Bag of N-Grams TF-IDF; Distributed Representations-- Word
Embeddings, Doc2Vec.
Module - 3 ( Classification and Information Extraction)
Text Classification--Text classification applications – Pipeline for building text classification
systems, Naïve Bayes for Sentiment Classification – Naïve Bayes Classifier Training –
Optimizing for Sentiment Analysis, Logistic Regression, Support Vector Machine for Text
Classification
COMPUTER SCIENCE AND ENGINEERING

Information Extraction(IE)—IE Applications – The General Pipeline for IE - Named Entity


Recognition(NER), Ambiguity in Named Entity Recognition – NER as Sequence Labeling –
Evaluation of NER.
Module - 4 (Relation Detection and Information Retrieval)
Relation Detection and Classification – Supervised Learning Approaches to Relation Analysis –
Lightly Supervised Approaches to Relation Analysis – Evaluation of Relation Analysis systems
Information Retrieval – Term weighting and document scoring – Inverted Index – Evaluation of
Information Retrieval Systems.
Module - 5 (QA Systems and Machine Translation )
Question-Answering Systems – Factoid Question Answering – Question Processing – Passage
Retrieval – Answer Processing – Evaluation of Factoid Answers

Machine Translation – Why Machine Translation is Hard – Classical Machine Translation –


Direct Translation – Transfer – Statistical Machine Translation- The Phrase based Translation
model – Alignment in MT – Training Alignment Models – Symmetrizing Alignments for Phrase-
based MT – Decoding for Phrase-based Statistical MT

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.

Course Level Assessment Questions


Course Outcome1 (CO1):
1. Explain the fundamental tasks that make up an NLP system.
2. Why is NLP considered a challenging problem domain?
3. The following table shows data about the profile of customers and whether they
purchase computers or not. Given this data, use Naïve Bayes Classifier to classify
the customer X (age = youth, income = medium, student = yes, credit rating = fair)
COMPUTER SCIENCE AND ENGINEERING

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.

2. Show how is lemmatization done using Python Library.

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)

Course Outcome 3(CO3):


1. Compare Bag-of-Words model and Bag-of-n-gram model.
2. Illustrate how TF-IDF model is used to represent text. Mention the advantage of TF-
IDF over other models.
3. A corpus of data is given below :

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

Course Outcome 4(CO4): .


1. Given the following data about documents and contents, use tf-idf document scoring
method to retrieve the document for the query “best game”
The game was so exciting. The players excelled in every
Doc 1 department of the game.
Doc 2 It was an excellent game.
Doc 3 The game was not good. The moves were boring

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

Course Outcome 5(CO5):


1. Explain lightly supervised approaches to relational analysis.

2. Explain a statistical algorithm for word alignment in Machine Translation.


COMPUTER SCIENCE AND ENGINEERING

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST473

Course Name: Natural Language Processing

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Differentiate information extraction and information retrieval.

2. State Bayes’ Theorem.

3. List three preprocessing steps that are necessary for an HTML file.

4. Differentiate CBOW and Skipgram models

5. Explain the role of support vectors in SVM Classification.

6. Explain challenges in Name Entity Recognition.

7. How is a Relational Analysis System evaluated?

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.

9. How do you extract answers to DEFINITION questions?

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?

(c) Explain Heuristic-based NLP. (2)

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.

(b) Illustrate Bag-of-ngrams model with an example. (6)

OR

14. (a) Explain the concept of word embeddings as a model for text representation. (6)

(b) Compare word embeddings model with vectorization approaches. (4)

(c) Explain the concept of feature engineering in NLP Systems. (4)

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

(b) Explain challenges in Name Entity Recognition. (4)


COMPUTER SCIENCE AND ENGINEERING

OR

16. (a) Explain Logistic Regression for Text Classification. (6)

(b) Explain Name Entity Recognition using Sequence Labeling. (8)

17. (a) Explain supervised approach to relation analysis. What are its limitations? (10)

(b) How is term selection done for indexing? (4)

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”.

Doc 1 Sweet sweet nurse! Love


Doc 2 Sweet sorrow
Doc 3 How sweet is love?
Doc 4 Nurse!

(b) Explain the approaches to evaluate a relation analysis system. (4)

19. (a) Explain the phases of a factoid question-answering system. (8)

(b) Give an algorithm for word alignment in Machine Translation. (6)

OR

20. (a) How is decoding done in a Phrase-based Statistical Machine Translation (10)
System?

(b) Explain the concept of Mean Reciprocal Rank. (4)


COMPUTER SCIENCE AND ENGINEERING

Teaching Plan
No of
No Contents Lecture
Hrs: 35
Module 1 : Introduction to NLP (7 hours)

1.1 Introduction to NLP – Tasks and Applications 1

1.2 Language – Building Blocks, Challenges of NLP 1

Approaches to NLP - Heuristics-Based NLP, Machine Learning for


1.3 1
NLP
1.4 Machine Learning for NLP – Naïve Bayes Classifier 1

1.5 Logistic Regression 1

1.6 Support Vector Machines – Linearly Separable Data 1

1.7 Support Vector Machines – Linearly Inseparable Data 1

Module 2 : Pre-processing and Representation Models( 7 hours)

2.1 NLP System Pipeline – Stages – Overview, Data Acquisition 1

2.2 NLP System Pipeline – Text Extraction and Cleanup 1

NLP System Pipeline – Preprocessing - Sentence segmentation, Word


2.3 1
tokenization, Stemming and lemmatization

Feature Engineering, Model Building, Evaluation – Metrices, Post-


2.4 1
modeling phase

Text Representation – Vector Space Model, Vectorization


2.5 1
Approaches – One hot encoding, Bag of words

2.6 Bag of n-grams, TF-IDF 1

2.7 Word Embeddings – Word2Vec- CBOW, SkipGram models 1


Module 3: Classification and Information Extraction(7 hours)
Text Classification--Text classification applications – Pipeline for
3.1 1
building text classification systems

3.2 Sentiment Analysis using Naïve Bayes Classifier 1

3.3 Case Studies for Text Classification using Logistic Regression and 1
COMPUTER SCIENCE AND ENGINEERING

Support Vector Machines

Information Extraction (IE) and Applications, IE Tasks and the IE


3.4 1
Pipeline

3.5 Named Entity Recognition (NER) – Ambiguity in NER 1

3.6 NER as Sequence Labeling 1

3.7 Evaluation of NER, Practical NER Systems 1

Module 4 : Relation Detection and Information Retrieval(5 hours)

Relation Detection and Classification – Supervised Learning 1


4.1
Approaches to Relation Analysis

4.2 Relation Detection and Classification – Lightly Supervised 1


Approaches to Relation Analysis
Relation Detection and Classification -Evaluation of Relation
4.3 1
Analysis systems

4.4 Information Retrieval – Term weighting and document scoring 1

4.5 Inverted Index, Evaluation of Information-Retrieval Systems 1

Module 5 : QA Systems and Machine Translation (9 hours)

Question-Answering Systems – Factoid Question Answering,


5.1 1
Question Processing

5.2 Passage Retrieval 1

5.3 Answer Processing, Evaluation of Factoid Answers 1

5.4 Machine Translation – Why Machine Translation is Hard 1

5.5 Classical Machine Translation 1

5.6 Statistical Machine Translation 1

5.7 The Phrase based Translation model 1

5.8 Alignment in Machine Translation 1

5.9 Decoding for Phrase-based Statistical MT 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.

Prerequisite: A good knowledge of data communication and computer networks.

Course Outcomes: After the completion of the course the student will be able to

CO# Course Outcomes

CO1 Describe the mobile computing applications, services, design considerations


and architectures(Cognitive knowledge: Understand)
CO2 Identify the technology trends for cellular wireless networks(Cognitive
knowledge:Understand)
CO3 Summarize the Short Messaging Service and General Packet Radio Service
(Cognitive knowledge: Understand)
CO4 Outline the LAN technologies used in mobile communication (Cognitive
knowledge: Understand)

CO5 Describe the security protocols and apply suitable security algorithm to
secure the communication (Cognitive knowledge: Apply)

CO6 Explain the fundamental concepts of next generation mobile


networks(Cognitive knowledge: Understand)
COMPUTER SCIENCE AND ENGINEERING

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5

CO6

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

PO4 Conduct investigations of complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Continuous Assessment Tests End Semester Examination


Bloom’s Category
Test 1 (%) Test 2 (%) (%)

Remember 30 30 30
Understand 50 50 50
Apply 20 20 20
Analyse
Evaluate
COMPUTER SCIENCE AND ENGINEERING

Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration


150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance : 10 marks
Continuous Assessment Test : 25 marks
Continuous Assessment Assignment : 15 marks

Internal Examination Pattern:


Each of the two internal examinations shall be conducted for 50 marks. First series test shall
be conducted preferably after completing the first half of the syllabus and the second series
test shall be conducted preferably after completing the remaining part of the syllabus. There
shall be two parts for the question paper: Part A and Part B. Part A shall contain five questions
(preferably, two questions each from the fully completed modules and one question from the
partly covered module), having three marks for each question adding up to 15 marks for part
A. A student is expected to answer all questions from Part A. Part B shall contain seven
questions (preferably, three questions each from the fully completed modules and one question
from the partially completed module), each having seven marks. Out of the seven questions, a
student is expected to answer any five.

End Semester Examination Pattern:


There shall be two parts; Part A and Part B. Part A shall contain 10 questions with 2 questions
from each module, having 3 marks for each question. A student is expected to answer all
questions from Part A. Part B shall contain 2 questions from each module, out of which a
student is expected to answer any one. Each question shall have a maximum of two sub-
divisions and shall carry 14 marks.
COMPUTER SCIENCE AND ENGINEERING

Syllabus

Module-1 (Mobile Computing Architecture)


Introduction to mobile computing – Functions, Devices, Middleware and gateways,
Applications and services, Limitations. Mobile computing architecture – Internet: The
ubiquitous network, Three-tier architecture, Design considerations for mobile computing.

Module-2 (Communication Systems)


Mobile computing through telephony - Evolution of telephony, Multiple access
procedures - Frequency Division Multiple Access (FDMA), Time Division Multiple
Access (TDMA), Code Division Multiple Access (CDMA), Space Division Multiple
Access (SDMA). Satellite communication systems – Basics, Applications, Geostationary
Earth Orbit (GEO), Low Earth Orbit (LEO), Medium Earth Orbit (MEO), Satellite
phones. Mobile computing through telephone – Interactive Voice Response (IVR)
architecture, Overview of voice software, Developing an IVR application. Global System
for Mobile Communication (GSM) - Introduction, Architecture, Entities, Call routing,
Mobility management, Frequency allocation, Authentication and security.

Module-3 (Short Messaging Service and General Packet Radio Service)


Short Message Service (SMS) – Strengths, Architecture, Value added services, Accessing
the SMS bearer. General Packet Radio Service (GPRS) – Architecture, Network
operations, Data services, Applications, Limitations, Billing and charging.

Module-4 (Wireless Local Area Networks)


Wireless Local Area Network (WLAN) - Advantages, Evolution, Applications,
Architecture, Mobility, Security, Deploying WLAN. Wireless Local Loop (WLL) –
Architecture. High Performance Radio Local Area Network (HIPERLAN). WiFi Vs 3G.

Module-5 (Mobile Security and Next Generation Networks)


Security issues in mobile computing - Information security, Security techniques and
algorithms, Security protocols. Next generation networks – The Converged Scenario,
Narrowband to broadband, Orthogonal Frequency Division Multiplexing (OFDM), Multi
Protocol Label Switching (MPLS), Wireless Asynchronous Transfer Mode (WATM),
Multimedia broadcast services.

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.

Course Level Assessment Questions

Course Outcome 1 CO1):


1. Describe the design considerations in mobile computing.
2. Give five examples of mobile computing applications.
Course Outcome 2 (CO2):
1. Draw a call flow diagram for a theatre ticket booking system.
2. Illustrate the GSM architecture with figure.
Course Outcome 3 (CO3):
1. Illustrate the billing and charging services in GPRS.
2. Describe the SMS architecture.
Course Outcome 4 (CO4):
1. Compare IEEE 802.11, HIPERLAN with respect to their ad-hoc capabilities.
2. Discuss the security mechanism used in WLAN.
Course Outcome 5 (CO5):
1. With the help of a suitable example, show the working of Diffie-Hellman key
exchange algorithm.
2. Bob chooses 7 and 11 as two prime numbers and chooses e as 13. Find an
appropriate value for d and decrypt the plaintext 5 send by Alice to Bob.
3. Describe the security issues in mobile computing.
Course Outcome 6 (CO6):
1. Describe WATM and Multimedia broadcast services.
2. Describe the significance of Orthogonal Frequency Division Multiplexing
(OFDM) in next generation networks.
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper


QP CODE: PAGES: 3

Reg No:_______________
Name:_________________

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY


SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR
Course Code: CST415
Course Name : INTRODUCTION TO MOBILE COMPUTING
Max Marks: 100 Duration: 3 Hours
PART-A
(Answer All Questions. Each question carries 3 marks)

1. Explain the different types of middleware and gateways required in mobile


computing.

2. List any six limitations of mobile computing.

3. Compare and contrast the satellite systems – GEO, LEO and MEO.

4. How is frequency allocation done in GSM?

5. What are the various strengths of SMS?

6. How is billing and charging done in GPRS?

7. What are the different types of Wireless LANs?

8. Describe the architecture of a Wireless Local Loop.

9. Explain the key features of TLS protocol.

10. How are attacks classified?


(10x3=30)
Part B
(Answer any one question from each module. Each question carries 14 Marks)

11. (a) Describe any four mobile computing functions. (4)

(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.

(b) Explain the network operations in GPRS. (8)

OR

16. (a) How does operator-centric pull differ from operator-independent push and pull? (7)

(b) Describe the data services and applications of GPRS. (7)

17. (a) Compare the HIPERLAN and OSI layered architecture. (4)

(b) Explain the 802.11 architecture. (10)

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)

Module-1 (Mobile Computing Architecture) (6 hrs)


1.1 Introduction to mobile computing – Functions, Devices, 1
Middleware and gateways
1.2 Applications, services, limitations, Internet: The ubiquitous 1
network

1.3 Three-tier architecture (Lecture 1) 1

1.4 Three-tier architecture (Lecture 2) 1


1.5 Design considerations for mobile computing (Lecture 1) 1

1.6 Design considerations for mobile computing (Lecture 2) 1

Module-2 (Communication Systems) (7hrs)


Evolution of telephony, Multiple access procedures –
2.1 1
FDMA, TDMA, CDMA, SDMA

Satellite communication systems – GEO, MEO, LEO, 1


2.2
Satellite phones

2.3 Interactive Voice Response (IVR) architecture, Overview of 1


voice software, Developing an IVR application (Call flow
diagram)

2.4 Introduction to GSM,Architecture 1

2.5 GSM entities, Call routing 1

2.6 Mobility management 1

2.7 Frequency allocation, Authentication and security 1


Module-3 (Short Messaging Service and General Packet Radio Service) (8hrs)

3.1 SMS Strengths, Architecture, Short Message Mobile 1


Terminated (SM MT) and Short Message Mobile Originated
(SM MO) messages
3.2 SMS Architecture - Operator-centric pull, operator- 1
COMPUTER SCIENCE AND ENGINEERING

independent push/pull, Value added services

3.3 Accessing the SMS bearer (Lecture 1) 1

3.4 Accessing the SMS bearer (Lecture 2) 1

3.5 GPRS architecture 1

3.6 Network operations 1

3.7 Data services, Applications 1

3.8 Limitations, Billing and charging 1

Module-4 (Wireless Local Area Networks) (7 hrs)

WLAN Advantages, Evolution, Applications


4.1 1

4.2 WLAN Architecture (Lecture 1) 1


WLAN Architecture (Lecture 2)
4.3 1
4.4 Mobility, Security 1

4.5 Deploying WLAN 1

4.6 WLL Architecture, HIPERLAN 1

4.7 WiFi Vs 3G 1

Module-5 (Mobile Security and Next Generation Networks) (7hrs)

Information security – Attacks, Components


5.1 1

5.2 Security techniques and algorithms – Stream Vs Block cipher, 1


Symmetric Vs Asymmetric cryptography
5.3 Security techniques and algorithms – RSA, Diffie Hellman 1
Key exchange

5.4 Security protocols – Secure Socket Layer, Transport Layer 1


Security, Wireless Transport Layer Security

5.5 The Converged Scenario, Narrowband to broadband 1

5.6 Orthogonal Frequency Division Multiplexing (OFDM) and 1


Multi Protocol Label Switching (MPLS)
5.7 Wireless Asynchronous Transfer Mode (WATM) and 1
Multimedia broadcast services
COMPUTER SCIENCE AND ENGINEERING

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.

Prerequisite: Basics of linear algebra and probability.

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)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad


PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Lifelong learning

Assessment Pattern

Bloom’s Continuous Assessment Tests End Semester


Category Examination Marks (%)
Test 1 (%) Test 2 (%)

Remember 30 30 30

Understand 30 30 30

Apply 40 40 40

Analyze

Evaluate

Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration


150 50 100 3 hours

Continuous Internal Evaluation Pattern:

Attendance : 10 marks
Continuous Assessment Tests : 25 marks
Continuous Assessment Assignment : 15 marks
COMPUTER SCIENCE AND ENGINEERING

Internal Examination Pattern:

Each of the two internal examinations has to be conducted out of 50 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 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)

Key components - Data, models, objective functions, optimization algorithms, Learning


algorithms. Supervised learning- regression, classification, tagging, web search, page ranking,
recommender systems, sequence learning, Unsupervised learning, Reinforcement learning,
Historical Trends in Deep Learning. Other Concepts - overfitting, underfitting , hyperparameters
and validation sets, estimators, bias and variance.

Module- 2 (Optimization and Neural Networks)

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.

Module -3 (Convolutional Neural Network)

Convolutional Neural Networks – convolution operation, motivation, pooling, Convolution and


Pooling as an infinitely strong prior, variants of convolution functions, structured outputs, data
types, efficient convolution algorithms.
COMPUTER SCIENCE AND ENGINEERING

Module- 4 (Recurrent Neural Network)


Recurrent neural networks – Computational graphs, RNN design, encoder – decoder sequence to
sequence architectures, deep recurrent networks, recursive neural networks, modern RNNs
LSTM and GRU, Practical use cases for RNNs.

Module-5 (Application Areas)


Applications – computer vision, speech recognition, natural language processing. Research
Areas – Autoencoders, Representation learning, Boltzmann Machines, Deep belief networks.

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

1. Neural Smithing: Supervised Learning in Feed forward Artificial Neural Networks by


Russell Reed, Robert J MarksII, 1st edition, 1999, MIT Press.
2. Practical Convolutional Neural Networks by Mohit Sewak, Md. Rezaul Karim, Pradeep
Pujari, 1st edition, 2018, Packt Publishing Ltd.
3. Hands-On Deep Learning Algorithms with Python by Sudharsan Ravichandran, 1st edition,
2019, Packt Publishing Ltd.
4. Deep Learning with Python by Francois Chollet, 2nd edition, 2018, Manning Publications
Co.

Sample Course Level Assessment Questions


Course Outcome1(CO1):
1. Compare regression and classification.
2. Define supervised learning? Distinguish between regression and classification.
3. Discuss the different learning approaches used in machine learning.
4. You train an initial model that achieves a 90% accuracy on the training dataset. What
kind of problems your model is experiencing, and suggest a possible solution.
5. How does splitting a dataset into train, validation and test sets help identify
overfitting?
6. Consider solving a classification task. You first train your network on 20 samples.
Training converges, but the training loss is very high. You then decide to train this
network on 10,000 examples. Is your approach to fixing the problem correct? If yes,
explain the most likely results of training with 10,000 examples. If not, give a
solution to this problem.
COMPUTER SCIENCE AND ENGINEERING

7. Describe one advantage of using mini-batch gradient descent instead of full-batch


gradient descent.
8. Sketch the typical learning curves for the training and validation sets, for a setting
where overfitting occurs at some point. Assume that the training set and the validation
set are of the same size

Course Outcome 2(CO2):


1. What are hyperparameters? Why are they needed?
2. What issues are to be considered while selecting a model for applying machine
learning in a given problem?
3. Update the parameters V11 in the given MLP using back propagation with learning
rate as 0.5 and activation function as sigmoid. Initial weights are given as V11= 0.2,
V12=0.1, V21=0.1, V22=0.3, V11=0.2, W11=0.5, W21=0.2
4. Draw the architecture of a multi-layer perceptron.
5. Derive update rules for parameters in the multi-layer neural network through the
gradient descent.
6. Why is it important to place non-linearities between the layers of neural networks?
7. You design a fully connected neural network architecture where all activations are
sigmoids. You initialize the weights with large positive numbers. Is this a good idea?
Explain your answer.
8. You are doing full batch gradient descent using the entire training set (not stochastic
gradient descent). Is it necessary to shuffle the training data? Explain your answer.
9. Consider training 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?
10. Consider building a 10-class neural network classifier. Given a cat image, you want
to classify which of the 10 cat breeds it belongs to. What loss function do you use?
Introduce the appropriate notation and write down the formula of the loss function.
11. Why is the sigmoid activation function susceptible to the vanishing gradient
problem?

Course Outcome 3 (CO3):


1. Give two benefits of using convolutional layers instead of fully connected ones for
visual tasks.
2. Suppose that a CNN was trained to classify images into different categories. It
performed well on a validation set that was taken from the same source as the training
set but not on a testing set. What could be the problem with the training of such a
CNN? How will you ascertain the problem? How can those problems be solved?
3. You are given a dataset of 10 x 10 grayscale images. Your goal is to build a 5-class
classifier. You have to adopt one of the following two options: a) the input is
flattened into a 100-dimensional vector, followed by a fully-connected layer with 5
COMPUTER SCIENCE AND ENGINEERING

neurons, b) the input is directly given to a convolutional layer with five 10 x 10


filters. Explain which one you would choose and why.
4. Weight sharing allows CNNs to deal with image data without using too many
parameters. Does weight sharing increase the bias or the variance of a model?
5. Why do the layers in a deep architecture need to be non-linear?
6. A convolutional neural network has 4 consecutive layers as follows:
3 x 3 conv (stride 2) - 2 x 2 Pool - 3 x 3 conv (stride 2) - 2 x 2 Pool
How large is the set of image pixels which activate a neuron in the 4th non-image
layer of this network?
7. Consider a convolution layer. The input consists of 6 feature maps of size 20 x 20.
The output consists of 8 feature maps, and the filters are of size 5 x 5. The
convolution is done with a stride of 2 and zero padding, so the output feature maps
are of size 10 x 10. Determine the number of weights in this convolution layer

Course Outcome 4(CO4):


1. Explain how the cell state is updated in the LSTM model from Ct-1 to Ct
2. Show the steps involved in an LSTM to predict stock prices.
3. Illustrate the workings of the RNN with an example of a single sequence defined on a
vocabulary of four words.
4. If we have a recurrent neural network (RNN), we can view it as a different
type of network by "unrolling it through time". Briefly explain what that
means.
5. Briefly explain how “unrolling through time” is related to “weight sharing” in
convolutional networks.
6. Explain how the cell state is updated in the LSTM model from Ct-1 to Ct
7. Show the steps involved in an LSTM to predict stock [Link] one advantage of
using an RNN rather than a convolutional network.

Course Outcome 5 (CO5):


1. Development a deep learning solution for problems in the domain i) natural language
processing or ii Computer vision (Assignment)
2. Is an autoencoder for supervised learning or for unsupervised learning? Explain
briefly.
3. Sketch the architecture of an autoencoder network.
4. Describe how to train an autoencoder network.
5. Write down the formula for the energy function (E) of a Restricted Boltzmann
Machine (RBM).
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper


QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST425

Course Name: Introduction To Deep Learning

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Distinguish between supervised learning and Reinforcement learning. Illustrate


with an example.
2. Differentiate classification and regression.
3. Compare overfitting and underfitting. How it can affect model generalization.
4. Why does a single perceptron cannot simulate simple XOR function? Explain
how this limitation is overcome?
5. Illustrate the strengths and weaknesses of convolutional neural networks.
6. Illustrate convolution and pooling operation with an example
7. How many parameters are there in AlexNet? Why the dataset size (1.2 million) is
important for the success of AlexNet?
8. Explain your understanding of unfolding a recursive or recurrent computation into
a computational graph.
9. Illustrate the use of deep learning concepts in Speech Recognition.
10. What is an autoencoder? Give one application of an autoencoder
(10x3=30)
Part B
(Answer any one question from each module. Each question carries 14 Marks)

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?

(c) Draw and explain the architecture of convolutional network (5)

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.1 Perceptron, Stochastic Gradient descent, Gradient descent solution for 1


perceptron (TB3: Section 1.1 - 1.2.1)
2.2 Multilayer perceptron (TB3: Section 1.2.2), (TB1: Section 6.1,6.3) 1

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

3.4 Variants of convolution functions – multilayer convolutional network, tensors, 1


kernel flipping, downsampling, strides and zero padding. (TB1: Section 9.5)
3.5 Variants of convolution functions - unshared convolutions, tiled convolution, 1
training different networks. (TB1: Section 9.5)
3.6 Structured outputs, data types (TB1: Section 9.6-9.7) 1
3.7 Efficient convolution algorithms. (TB1: Section 9.8,9.10) 1
3.8 Case Study: AlexNet, VGG, ResNet. (TB3: Section 8.4.1, 8.4.3, 8.4.5) 1

Module 4 :Recurrent Neural Network (7 hours)


4.1 Computational graphs (TB1: Section 10.1) 1
4.2 RNN (TB1: Section 10.2-10.3) 1
4.3 Encoder – decoder sequence to sequence architectures. (TB1: Section 10.4) 1
4.4 Deep recurrent networks (TB1: Section 10.5) 1
4.5 Recursive neural networks , Modern RNNs, LSTM and GRU (TB1: Section 1
10.6, 10.10)
4.6 Practical use cases for RNNs. (TB1: Section 11.1-11.4) 1
4.7 Demonstrate the concepts of RNN using a suitable platform. 1
Module 5 : Applications and Research (5 hours)
5.1 Computer vision. (TB1: Section 12.2) 1
5.2 Speech recognition. (TB1: Section 12.3) 1
5.3 Natural language processing. (TB1: Section 12.4) 1
5.4 Brief introduction on current research areas- Autoencoders, Representation 1
learning. (TB1: Section 14.1-14.2, TB3: 9.3)
5.5 Brief introduction on current research areas- Boltzmann Machines, Deep belief 1
networks. (TB1: Section 20.1, 20.3)
COMPUTER SCIENCE AND ENGINEERING

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.

Prerequisite: A sound knowledge of Mathematics and concepts of any programming language.


Course Outcomes: After the completion of the course the student will be able to

CO# CO
Describe the working principles of graphics devices(Cognitive Knowledge
CO1 level: Understand)

Illustrate line drawing, circle drawing and polygon filling algorithms(Cognitive


CO2 Knowledge level: Apply)

CO3 Demonstrate geometric representations and transformations on 2D & 3D objects


(Cognitive Knowledge level: Apply)
CO4 Demonstrate the working of line and polygon clipping algorithms(Cognitive
Knowledge level: Apply)
CO5 Summarize visible surface detection methods and illustrate projection
algorithms. (Cognitive Knowledge level: Apply)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation


PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics


PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of complex


PO4 PO10 Communication
problems
PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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
Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration


150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests (Average of SeriesTests1& 2) 25 marks

Continuous Assessment Assignment 15 marks


COMPUTER SCIENCE AND ENGINEERING

Internal Examination Pattern:


Each of the two internal examinations has to be conducted out of 50 marks. The 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 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 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.

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 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

Module – 1(Basics of Computer graphics)


S
Basics of Computer Graphics and its applications. Video Display devices- Refresh Cathode Ray
Tubes(CRT), Random Scan Displays and systems, Raster scan displays and systems, Color CRT
displays, Flat panel display and its categories.
Module – 2 (Line drawing, Circle drawing and Filled Area Primitives)
Line drawing algorithms- DDA, Bresenham’s algorithm. Circle drawing algorithms- Midpoint
Circle generation algorithm, Bresenham’s algorithm. Filled Area Primitives- Scan line polygon
filling, Boundary filling and flood filling.
Module - 3 (Geometric transformations)
Two dimensional transformations-Translation, Rotation, Scaling, Reflection and Shearing,
Composite transformations, Matrix representations and homogeneous coordinates. Basic 3D
transformations.
Module - 4 (Clipping)
Window to viewport transformation. Cohen Sutherland and Midpoint subdivision line clipping
algorithms, Sutherland Hodgeman and Weiler Atherton Polygon clipping algorithms.
COMPUTER SCIENCE AND ENGINEERING

Module - 5 (Three dimensional graphics)


Three dimensional viewing pipeline. Projections- Parallel and Perspective projections. Visible
surface detection algorithms- Back face detection, Depth buffer algorithm, Scan line algorithm, A
buffer algorithm

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

Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Compare the working principle of raster scan systems and random scan systems.
2. How much time is spent scanning across each row of pixels during screen refresh on a
raster system with resolution of 1280*1024 and a refresh rate of 60 frames per second?
Course Outcome 2 (CO2):
1. Rasterize the line using Bresenham’s line drawing algorithm with end points (2,3) and
(5,8) accepted from the user and implement it using any appropriate programming
language. (Assignment)
2. Illustrate how the 4-connected boundary filling approach differs from 8-connected
boundary filling and implement it using any appropriate programming language.
(Assignment)
Course Outcome 3 (CO3):
1. Rotate a triangle ABC 45 degree counter clockwise about the pivot point (10,3) , where
the
position vector of the coordinates is given as A(4,1), B(5,2) and C(4,3).
2. Implement the above transformation using any appropriate programming language with
user inputs. (Assignment)
3. Illustrate the steps required for a general 3D rotation if the rotation axis is not 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.
Course Outcome 4 (CO4):
1. Given a clipping window A(20,20), B(60,20), C(60,40) and D(20,40). Using Cohen
Sutherland algorithm, find the visible portion of the line segment joining the points
P(40,80) and Q(120,30).
COMPUTER SCIENCE AND ENGINEERING

2. Implement Cohen Sutherland clipping algorithm using any appropriate programming


language with user inputs. (Assignment)
Course Outcome 5 (CO5):
1. Explain scan line algorithm for detecting visible surfaces in an object.
2. Derive the matrix for performing perspective projection and parallel projection.

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 3

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST435

Course Name: Computer Graphics

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Describe Flat Panel display and its categories.

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?

3. Justify the usage of integer arithmetic in Bresenham’s line drawing algorithm.

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.

6. Determine a sequence of basic transformations that is equivalent to x-direction


shearing.

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.

(b) Describe random graphics system with suitable illustrations. (6)

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

17. (a) Illustrate Weiler – Atherton polygon clipping algorithm. (6)

(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)

Module – 1 (Basics of Computer Graphics) (6 hrs)


1.1 Basics of Computer Graphics and applications 1
1.2 Refresh Cathode Ray Tubes 1
1.3 Random Scan Displays and systems 1
1.4 Raster scan displays and systems 1
1.5 Color CRT displays 1
1.6 Flat panel display and its categories. 1
Module - 2 (Line drawing, Circle drawing and Filled Area Primitives) (7 hrs)
2.1 DDA Line drawing Algorithm 1
2.2 Bresenham’s line drawing algorithm 1
2.3 Midpoint Circle generation algorithm 1
2.4 Bresenham’s Circle generation algorithm 1
2.5 Illustration of line drawing and circle drawing algorithms 1
2.6 Scan line polygon filling 1
2.7 Boundary filling and flood filling 1
Module - 3 (Geometric transformations) ( 8 hrs)
3.1 Basic 2D transformations-Translation and Rotation 1
3.2 Basic 2D transformations- Scaling 1
3.3 Reflection and Shearing 1
3.4 Illustration of 2D Transformations 1
3.5 Composite transformations 1
3.6 Matrix representations and homogeneous coordinates 1
3.7 Basic 3D transformations 1
3.8 Illustration of basic 3D transformations 1
Module - 4 (2D Clipping) (6 hrs)
4.1 Window to viewport transformation 1
4.2 Cohen Sutherland Line clipping algorithm 1
4.3 Midpoint subdivision Line clipping algorithm 1
4.4 Sutherland Hodgeman Polygon clipping algorithm 1
4.5 Weiler Atherton Polygon clipping algorithm 1
4.6 Practice problems on Clipping algorithms 1
Module - 5 (Three dimensional graphics)( 8 hrs)

5.1 Three dimensional viewing pipeline, Projections-Parallel 1


projections
COMPUTER SCIENCE AND ENGINEERING

5.2 Projections- Perspective projections 1


5.3 Visible surface detection algorithms- Back face detection. 1
5.4 Depth buffer algorithm 1
5.5 Depth buffer algorithm 1
5.6 Scan line visible surface detection algorithm 1
5.7 Scan line visible surface detection algorithm 1
5.8 A buffer algorithm 1
COMPUTER SCIENCE AND ENGINEERING

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

Write, test and debug Python programs (Cognitive Knowledge level:


CO1
Apply)
Illustrate uses of conditional (if, if-else, if-elif-else and switch-case) and
CO2 iterative (while and for) statements in Python programs (Cognitive
Knowledge level: Apply)
Develop programs by utilizing the modules Lists, Tuples, Sets and
CO3
Dictionaries in Python (Cognitive Knowledge level: Apply)
Implement Object Oriented programs with exception handling (Cognitive
CO4
Knowledge level: Apply)
Analyze, Interpret, and Visualize data according to the target application (Cognitive
CO5
Knowledge level: Apply)
Develop programs in Python to process data stored in files by utilizing the modules
CO6
Numpy, Matplotlib, and Pandas (Cognitive Knowledge level: Apply)
COMPUTER SCIENCE AND ENGINEERING

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5

CO6

Abstract POs defined by National Board of Accreditation

#PO Broad PO #PO Broad PO


PO1 Engineering Knowledge PO7 Environment and Sustainability
PO2 Problem Analysis PO8 Ethics
PO3 Design/Development of solutions PO9 Individual and team work
PO4 Conduct investigations of complex problems PO10 Communication
PO5 Modern tool usage PO11 Project Management and Finance
PO6 The Engineer and Society PO12 Life long learning

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

Total Marks CIE Marks ESE Marks ESE Duration


150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance : 10 marks
Continuous Assessment Test : 25 marks
Continuous Assessment Assignment : 15 marks

Internal Examination Pattern:


Each of the two internal examinations has to be conducted out of 50 marks. The 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 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 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.

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 sub-divisions and carries 14 marks.

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.

Module 2 (Functions and Python Data Structures)


Functions - Hiding redundancy and complexity, Arguments and return values, Variable scopes
and parameter passing, Named arguments, Main function, Working with recursion, Lambda
functions. Strings - String function. Lists - Basic list Operations and functions, List of lists,
Slicing, Searching and sorting list, List comprehension. Work with tuples. Sets. Dictionaries -
Dictionary functions, dictionary literals, adding and removing keys, accessing and replacing
values, traversing dictionaries, reverse lookup.
COMPUTER SCIENCE AND ENGINEERING

Module 3 (Object Oriented Programming)


Design with classes - Objects and Classes, Methods, Instance Variables, Constructor, Accessors
and Mutators. Structuring classes with Inheritance and Polymorphism. Abstract Classes.
Exceptions - Handle a single exception, Handle multiple exceptions.

Module 4 (Visualization and File handling)


Plotting - An Interactive Session with PyPlot, Basic Plotting, Logarithmic Plots, More Advanced
Graphical Output, Plots with multiple axes, Mathematics and Greek symbols, The Structure of
matplotlib, Contour and Vector Field Plots. File Processing - The os and sys modules,
Introduction to file I/O, Reading and writing text files, Working with CSV files.

Module 5 (Scientific Computing)


Numerical Routines. SciPy and NumPy - Basics, Creating arrays, Arithmetic, Slicing, Matrix
Operations, Special Functions, Random Numbers, Linear Algebra, Solving Nonlinear Equations,
Numerical Integration, Solving ODEs. Data Manipulation and Analysis – Pandas : Reading Data
from Files Using Pandas, Data Structures: Series and DataFrame, Extracting Information from a
DataFrame, Grouping and Aggregation.

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]

Sample Course Level Assessment Questions

Course Outcome1(CO1):
1. What is type conversion? How is it done in Python?

Course Outcome 2(CO2):


1. Given is a list of of words, wordlist, and a string, name. Write a Python function which
takes wordlist and name as input and returns a tuple. The first element of the output
tuple is the number of words in the wordlist which have name as a substring in it. The
second element of the tuple is a list showing the index at which the name occurs in each
of the words of the wordlist and a 0 if it doesn’t occur.
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 3(CO3):


1. Write a Python program to implement the addition, subtraction, and multiplication of
complex numbers using classes. Use constructors to create objects. The input to the
program consist of real and imaginary parts of the complex numbers.

Course Outcome 4(CO4):


1. Plot the function y = 3x2 for −1 ≤ x ≤ 3 as a continuous line. Include enough points so
that the curve you plot appears smooth. Label the axes x and y

Course Outcome 5(CO5):


1. Given a file “[Link]” of automobile data with the fields index, company, body-style,
wheel-base, length, engine-type, num-of-cylinders, horsepower, average-mileage, and
price, write python code to
i. Clean and Update the CSV file
ii. Print total cars of all companies
iii. Find the average mileage of all companies
iv. Find the highest priced car of all companies.

Model Question Paper


QP CODE: PAGES:

Reg No:_______________
Name:_________________

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY


SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR
Course Code: CST445
Course name : PYTHON FOR ENGINEERS
Max Marks: 100 Duration: 3 Hours
PART-A
(Answer All Questions. Each question carries 3 marks)

1. Explain the basic data types available in Python, with examples.


Write a Python program to reverse a number and also find the sum of digits of the number.
2.
Prompt the user for input.
3. Compare tuples, lists, and dictionaries.
Explain the concept of scope and lifetime of variables in Python programming language,
4.
with a suitable example.
5. What is polymorphism? Give an example in the context of OOP in Python.
6. How is exception handling accomplished in Python programs?
7. Describe the characteristics of the CSV format.
COMPUTER SCIENCE AND ENGINEERING

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

4. Contains at least one special character from $, #, @


5. Minimum length of password: 6
Module -3
15. (a) How can a class be instantiated in Python? Write a Python program to (5)
express the instances as return values to define a class RECTANGLE with
parameters height, width, corner_x, and corner_y and member functions to
find center, area, and perimeter of an instance.
(b) Explain inheritance in Python. Give examples for each type of inheritance. (9)
OR
16. (a) Write a Python class named Circle constructed by a radius and two methods (6)
which will compute the area and the perimeter of a given circle
(b) Define a class in Python to store the details of a ship (name, (8)
source,destination) with the following methods:
i) get_details( ) - to assign values to class attributes
ii) print_details( ) - to display the attribute values
Create an object of the class and invoke the methods
Module -4
17. (a) Plot the functions sin x and cos x vs x on the same plot with x going from −π (10)
to π. Make sure the limits of the x-axis do not extend beyond the limits of
the data. Plot sin x in the color orange and cos x in the color green and
include a legend to label the two curves. Place the legend within the plot,
but such that it does not cover either of the sine or cosine traces. Draw thin
gray lines behind the curves, one horizontal at y = 0 and the other vertical at
x = 0.
(b) Explain semi-log plots and log-log plots along with the functions used in (4)
creating such plots.
OR
18. (a) Explain how matplotlib can be used to create dimensional contour plots and (6)
vector field plots.
(b) Given a file “[Link]” of automobile data with the fields index, company, (8)
body-style, wheel-base, length, engine-type, num-of-cylinders, horsepower,
average-mileage, and price, write Python codes using Pandas to
1) Clean and Update the CSV file
2) Print total cars of all companies
3) Find the average mileage of all companies
4) Find the highest priced car of all companies.
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

1 Linus Torvalds Finland Linux Kernel 1991

2 Tim Berners-Lee England World Wide Web 1990

3 Guido van Rossum Netherlands Python 1991

(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

4.1 Plotting - An Interactive Session with PyPlot, Basic Plotting, 1 hour


4.2 Logarithmic Plots, More Advanced Graphical Output 1 hour
4.3 Plots with multiple axes, Mathematics and Greek symbols 1 hour
4.4 The Structure of matplotlib, Contour and Vector Field Plots 1 hour
File Processing -The os and sys modules, Introduction to file I/O, Reading
4.5 1 hour
and writing text files
4.6 Working with CSV files 1 hour

Module 5: Scientific Computing (7 hours)


Numerical Routines: SciPy and NumPy - Basics, Creating arrays,
5.1 1 hour
Arithmetic, Slicing
5.2 Matrix Operations, Special Functions, Random Numbers 1 hour
5.3 Linear Algebra, Solving Nonlinear Equations 1 hour
5.4 Numerical Integration, Solving ODEs 1 hour
Data Manipulation and Analysis: Pandas - Reading Data from Files Using
5.5 1 hour
Pandas
5.6 Data Structures - Series and DataFrame 1 hour
5.7 Extracting Information from a DataFrame, Grouping and Aggregation 1 hour
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

Develop Java programs using the object-oriented concepts - classes, objects,


CO1 constructors, data hiding, inheritance and polymorphism (Cognitive Knowledge
Level: Apply)

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)

Develop application programs in Java using multithreading (Cognitive Knowledge


CO4
Level: Apply)

Develop Graphical User Interface based application programs by utilising event


CO5
handling features and Swing in Java (Cognitive Knowledge Level: Apply)
COMPUTER SCIENCE AND ENGINEERING

Mapping of course outcomes with program outcomes

PO PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
1 0 2

CO1

CO2

CO3

CO4

CO5

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning


COMPUTER SCIENCE AND ENGINEERING

Assessment Pattern

Continuous Assessment Tests


Bloom’s End Semester
Category Examination Marks
Test 1 (%) Test 2 (%) (%)

Remember 20 20 20

Understand 40 40 40

Apply 40 40 40

Analyze

Evaluate

Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of Internal Tests1&2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern


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
COMPUTER SCIENCE AND ENGINEERING

from the partly completed module), each with 7 marks. Out of the 7 questions, a student should
answer any5.

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 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 (Object Orientation and Java basics)
Object Orientation Principles – Object and Class, Data abstraction and Encapsulation,
Inheritance, Polymorphism, Dynamic binding, Message communication, Benefits of using
Object orientation.
Introduction to Java - Java programming Environment and Runtime Environment, Development
Platforms -Standard, Enterprise. Java Virtual Machine (JVM), Java compiler, Bytecode, Java
applet, Java Buzzwords, Java program structure, Comments, Garbage Collection, Lexical Issues.

Primitive Data types - Integers, Floating Point Types, Characters, Boolean. Literals, Type
Conversion and Casting, Variables, Arrays, Strings, Vector class.

Module – 2 (Core Java Fundamentals)


Operators - Arithmetic Operators, Bitwise Operators, Relational Operators, Boolean Logical
Operators, Assignment Operator, Conditional (Ternary) Operator, Operator Precedence.
Control Statements - Selection Statements, Iteration Statements and Jump Statements.
Object Oriented Programming in Java - Class Fundamentals, Declaring Objects, Object
Reference, Introduction to Methods, Constructors, this Keyword, Method Overloading, Using
Objects as Parameters, Returning Objects, Recursion, Access Control, Static Members,
Command-Line Arguments, Variable Length Arguments.

Module - 3 (More features of Java)


Inheritance - Super Class, Sub Class, The Keyword super, protected Members, Calling Order of
Constructors, Method Overriding, the Object class, Abstract Classes and Methods, Using final
with Inheritance.

Packages and Interfaces - Defining Package, CLASSPATH, Access Protection, Importing


Packages, Interfaces.
COMPUTER SCIENCE AND ENGINEERING

Exception Handling - Checked Exceptions, Unchecked Exceptions, try Block and catch Clause,
Multiple catch Clauses, Nested try Statements, throw, throws and finally.

Module - 4 (Advanced features of Java)


Input/Output - I/O Basics, Reading Console Input, Writing Console Output, PrintWriter Class,
Reading and Writing Files.

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.

Module - 5 (GUI Programming, Event Handling and Multithreaded Programming)


Multithreaded Programming - The Java Thread Model, The Main Thread, Creating Thread,
Creating Multiple Threads, Suspending, Resuming and Stopping Threads.

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

Course Level Assessment Questions


Course Outcome1 (CO1):
1. Three types of employees work in an organization: Regular, Contract and Hourly.
Regular employees are permanent workers of the organization. Their salary is computed
as the sum of basic pay, DA (50% of basic pay) and HRA. Contract employees work for
the organization only for the contract period and earn a fixed salary. Hourly employees
work for a fixed number of hours each day. Their salary is computed based on the total
number of hours worked.
Using object oriented principles, write a Java program to prepare pay roll of the
organization.
2. Write a java program to create an abstract class named Shape that contains two integers
and an empty method named printArea(). Provide three classes named Rectangle, Square,
Triangle and Circle with proper class hierarchy. Each one of the classes contain only the
method printArea( ) that prints the area of the given shape.

Course Outcome 2(CO2):


1. Write a Java program that reads a file and displays the file on the screen, with a line
number before each line.
2. Write a Java program to prepare the rank list of computer science students based on
their performance in the first Semester [Link]. Degree examination at APJ Abdul
Kalam Technological University. The output should be stored in a file.

Course Outcome 3(CO3):


1. Write a program to demonstrate the use of throws clause to handle an exception occurred
within a method.
2. Write a program to demonstrate how exception handling is supported in Java.

Course Outcome 4(CO4):


1. Write a program to compute the sum of elements in an array using two 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
result.
2. Write a java program that implements a multi-thread application that has three threads.
First thread generates random integer every 1 second and ifthe value is even, second
thread computes the square of the number and prints. If the value is odd, the third thread
will print the value of cube of the number.
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 5(CO5):


1. Write a GUI based program to convert temperature from degree Celsius to Fahrenheit.
2. Write a java program that simulates a traffic light. The program lets the user select one of
three lights: red, yellow, or green with buttons. On selecting a button, an appropriate
message with “stop” or “ready” or “go” should appear above the buttons in a selected
color. Initially there is no message shown.

Model Question Paper


QP CODE:

Reg No: _______________

Name: _________________ PAGES :4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST455

Course Name: Object Oriented Concepts

[Link] Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Java is considered to be secure and portable. Justify this statement.

2. Describe the concept of dynamic binding.

3. Explain the different arithmetic operators in Java.

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;
}

5. Explain the use of CLASSPATH with an example.

6. What are the different types of exceptions?

7. Explain file handling features available in Java.

8. Write a simple program to read an integer value from console and print it.

9. Explain the concept of main thread in multi-threading.

10. Explain any two Event classes in Java. (10x3=30)

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.

(b) What is Java Virtual Machine? (5)

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

(b) Write a recursive program to compute the factorial of a number. (6)

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)

Module – 1 (Object Orientation and Java basics) (7 hrs)

Object Orientation Principles – Object and Class, Data abstraction and


1.1 1 hour
Encapsulation

1.2 Inheritance, Polymorphism 1 hour

Dynamic binding, Message communication, Benefits of using Object


1.3 1 hour
orientation.
Java programming Environment and Runtime Environment,
1.4 Development Platforms -Standard, Enterprise. JVM, Java compiler, 1 hour
Bytecode

Java applet, Java Buzzwords, Java program structure, Comments, Garbage


1.5 1 hour
Collection, Lexical Issues

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.

Module - 2 (Core Java Fundamentals) (7 hrs)


Operators - Arithmetic Operators, Bitwise Operators, Relational
2.1 Operators, Boolean Logical Operators, Assignment Operator, 1 hour
Conditional (Ternary) Operator, Operator Precedence.

Control Statements - Selection Statements, Iteration Statements and Jump


2.2 1 hour
Statements.
Object Oriented Programming in Java - Class Fundamentals,
2.3 1 hour
Declaring Objects

2.4 Object Reference, Introduction to Methods, Constructors, this Keyword 1 hour

2.5 Method Overloading, Using Objects as Parameters, Returning Objects 1 hour

2.6 Recursion, Access Control, static Members 1 hour

2.7 Command-Line Arguments, Variable Length Arguments 1 hour

Module - 3 (More features of Java) (8 hrs)


3.1 Inheritance - Super class, Sub class, the keyword super, protected Members 1 hour

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

Packages and Interfaces - Defining Package, CLASSPATH, Access


3.4 1 hour
Protection

3.5 Importing Packages, Interfaces 1 hour

Exception Handling - Checked Exceptions, Unchecked Exceptions, try


3.6 1 hour
Block and catch Clause

3.7 Multiple catch Clauses, Nested try Statements 1 hour

3.8 throw, throws and finally 1 hour

Module - 4 (Advanced features of Java) (6 hrs)


4.1 Input/Output - I/O Basics, Reading Console Input 1 hour

4.2 Writing Console Output, PrintWriter Class 1 hour

4.3 Working with Files (Lecture-1) 1 hour


COMPUTER SCIENCE AND ENGINEERING

4.4 Working with Files (Lecture-2) 1 hour

4.5 Java Library - String Handling – String Constructors, String Length 1 hour

Special String Operations - Character Extraction, String Comparison,


4.6 Searching Strings, Modifying Strings, Using valueOf( ), Comparison of 1 hour
StringBuffer and String.
Module - 5 (GUI Programming, Event Handling and Multithreaded
Programming) ( 8hrs)

Multithreaded Programming - The Java Thread Model, The Main Thread,


5.1 1 hour
Creating Thread

5.2 Creating Multiple Threads 1 hour

5.3 Suspending, Resuming and Stopping Threads. 1 hour


Event handling - Event Handling Mechanisms, Delegation Event
5.4 1 hour
Model

5.5 Event Classes,Sources of Events, Event Listener Interfaces 1 hour

5.6 Using the Delegation Model, Swing fundamentals, Swing Key Features 1 hour

Model View Controller (MVC), Swing Controls, Components and


5.7 1 hour
Containers

5.8 Exploring Swing –JFrame, JLabel, JButton, JTextField 1 hour


COMPUTER SCIENCE AND ENGINEERING

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)

Mapping of course outcomes with program outcomes


PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO# Broad


PO PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of PO9 Individual and team work


solutions

Conduct investigations of
PO4 PO10 Communication
complex problems

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Lifelong learning

Assessment Pattern
Mark Distribution

Total CIE ESE Marks


Marks Marks
150 75 75

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Project Guide 15 marks
Project Report 10 marks
Evaluation by the Committee (will be evaluating the level of completion
and demonstration of functionality/specifications, presentation,
oral examination, work knowledge and involvement) : 40 marks

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.

End Semester Examination Pattern:

The marks will be distributed as


Presentation : 30 marks
Demo : 20 marks
Viva : 25 marks.
Total : 75 marks.

TEACHING PLAN

Students are expected to follow the following steps.


1. Review of Literature and Identification of a problem
2. Create an abstract with a problem statement, solution approach, technology stack, team,
etc.
3. Create Requirements Specification
4. Create Design Document . This may include designs like,
a. System Architecture Design
b. Application Architecture Design
c. GUI Design
d. API Design
e. Database Design
f. Technology Stack
5. Deployment, Test Run & Get Results
6. Prepare Project Report

Guidelines for the Report preparation


A bonafide report on the mini project shall be submitted within one week after the final
presentation. Minimum number of pages should be 40.
● Use Times New Roman font for the entire report – Chapter/Section Title – Times New
Roman18, Bold; Heading 2 – Times New Roman16, Bold; Heading 3 – Times New
Roman14, Bold; Body- Times New Roman 12, Normal.
● Line Spacing – Between Heading 2 – 3 lines, between lines in paragraph 1.5 lines.
● Alignments – Chapter/Section Title – Center, Heading 2 & 3 should be Left Aligned.
Ensure that all body text is paragraph justified.
COMPUTER SCIENCE AND ENGINEERING

● 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.

● Suggestive order of documentation:


i. Top Cover
ii. Title page
iii. Certification page
iv. Acknowledgement
v. Abstract
vi. Table of Contents
vii. List of Figures and Tables
viii. Chapters
ix. Appendices, if any
x. References/Bibliography
COMPUTER SCIENCE AND ENGINEERING

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

Explain thebasic concepts in Cyber Forensics, Forensics Investigation Process and


CO1 Cyber security(Cognitive Knowledge Level: Understand)

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)

Summarize anti-forensics practices and data hiding methods (Cognitive Knowledge


CO5 Level: Understand)
COMPUTER SCIENCE AND ENGINEERING

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of complex


PO4 PO10 Communication
problems

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning


COMPUTER SCIENCE AND ENGINEERING

Assessment Pattern

Continuous Assessment Tests


End Semester
Bloom’s Category
Examination Marks
Test1 (Percentage) Test2 (Percentage)

Remember 30 30 30

Understand 40 40 40

Apply 30 30 30

Analyze

Evaluate

Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3 hours

Continuous Internal Evaluation Pattern:

Attendance : 10 marks

Continuous Assessment Tests : 25 marks

Continuous Assessment Assignment : 15 marks


COMPUTER SCIENCE AND ENGINEERING

Internal Examination Pattern:

Each of the two internal examinations has to be conducted out of 50 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 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.

Module-2 (File System Forensics)

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

Module-3 (Operating System Forensics)


Windows Forensics: Live Response- Data Collection- Locard’s Exchange Principle, Order of
Volatility Volatile and Non Volatile Data Live-Response Methodologies: Data Analysis- Agile
Analysis, Windows Memory Analysis, Rootkits and Rootkit detection.

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

Module-4 (Network Forensics)

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)

Anti-forensic Practices - Data Wiping and Shredding- Data Remanence,


Degaussing, Case Study: USB Oblivion, Eraser - Trail Obfuscation: Spoofing, Data Modification,
Case Study: Timestamp – Encryption, Case Study: VeraCrypt, Data Hiding: Steganography and
Cryptography, Case Study: SilentEye, Anti-forensics Detection Techniques, Case Study: Stegdetect

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

1. Michael. E. Whitman, Herbert. J. Mattord, Principles of Information Security, Course


Technology, 2011.
2. William Stallings, Cryptography and Network Security Principles and Practice, 4/e, Prentice
Hall.
3. Niranjan Reddy, Practical Cyber Forensics: An Incident-Based Approach to Forensic
Investigations, Apress, 2019.
COMPUTER SCIENCE AND ENGINEERING

Sample Course Level Assessment Questions

CourseOutcome1(CO1):Explain the Forensics principles and protocols for evidence acquisition.

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.

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 3

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST495

Course Name: Cyber Forensics

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Distinguish between public and private investigations.


COMPUTER SCIENCE AND ENGINEERING

2. What are the three computer forensics data acquisitions formats?

3. List any three features of NTFS which are not in FAT.

4. Define the terms file slack, RAM slack and drive slack.

5. What is Locard's exchange principle? Why is it important in forensic


investigations?

6. Why would you conduct a live response on a running system?

7. What are the different tools used in Network Forensics?

8. Explain how Risk Analysis and Penetration Testing are different.

9. Why we are using Steganography?

10. How is data wiping done in hard drive?


(10x3=30)

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?

13. (a) Discuss the FAT File Structure. (8)

(b) Does Windows NT use FAT or NTFS? Explain. (6)


COMPUTER SCIENCE AND ENGINEERING

14. (a) What is Metadata? Discuss the first 16 metadata records you would find in (6)
the MFT?

(b) Explain the different data categories in a File System. (8)

15. (a) What is Agile requirement analysis? (6)

(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)

(b) Discuss the types of penetration testing methodologies. (5)

(c) Define OSI Layers. (6)

19. (a) How is Steganography done? (7)

(b) Why does data need Cryptography? (4)

(c) What is the difference between a Cryptographer and a Crypter? (3)


COMPUTER SCIENCE AND ENGINEERING

OR

20. (a) Explain the different types of Anti-forensics Detection Techniques. (8)

(b) What is Spoofing? How to prevent spoofing attack? (6)

TEACHING PLAN

No of
[Link]. Contents Lecture Hrs
(44hrs)

Module-1 (Cyber Forensics and Cyber Security) (11 Hrs)

1.1 History of computer forensics, preparing for computer investigations 1 hour

Understanding Public and private investigations- Forensics


1.2 1 hour
Investigation Principles
1.3 Forensic Protocol for Evidence Acquisition 1 hour
1.4 Digital Forensics -Standards and Guidelines - Digital Evidence 1 hour
Data Acquisition - storage formats for digital evidence, determining
1.5 1 hour
the best acquisition method

1.6 Contingency planning for image acquisitions, Cyber Forensics tools 1 hour

Challenges in Cyber Forensics, Skills Required to Become a Cyber


1.7 1 hour
Forensic Expert

Cybercrimes, Types of Cybercrimes - Recent Data Breaches - Recent


1.8 1 hour
Cyber security Trends

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

1.11 Email Crimes, Phishing, Types of Phishing 1 hour

Module-2 (File System Forensics) (9 Hrs)


COMPUTER SCIENCE AND ENGINEERING

2.1 FAT and NTFS concepts and analysis 1 hour

2.2 File system category, Content category 1 hour

2.3 Metadata category 1 hour

2.4 File name category,Application category 1 hour

2.5 Application-level search techniques 1 hour

2.6 Specific file systems, File recovery, Consistency check 1 hour

2.7 FAT data structure-Boot sector 1 hour

2.8 FAT 32 FS info, directory entries 1 hour

2.9 Long file name directory entries 1 hour

Module-3 (Operating System Forensics) (11 Hrs)

3.1 Live Response- Data Collection- Locard’s Exchange Principle 1 hour

3.2 Order of Volatility, Volatile and Non Volatile Data 1 hour

3.3 Live-Response Methodologies: Data Analysis- Agile Analysis 1 hour

3.4 Windows Memory Analysis 1 hour

3.5 Rootkits and Rootkit detection 1 hour

3.6 Linux Forensics: Live Response Data Collection 1 hour

Prepare the Target Media, Format the Drive, Gather Volatile


3.7 1 hour
Information

3.8 Acquiring the Image, Initial Triage 1 hour

3.9 Data Analysis- Log Analysis, Keyword Searches, User Activity 1 hour
COMPUTER SCIENCE AND ENGINEERING

Data Analysis- Network Connections, Running Processes, Open File


3.10 1 hour
Handlers

3.11 The Hacking Top Ten, Reconnaissance Tools 1 hour

Module-4 (Network Forensics) ( 7 Hrs)

4.1 OSI Model 1 hour

Forensic Footprints, Seizure of Networking Devices, Network


4.2 1 hour
Forensic Artifacts
ICMP Attacks, Drive-By Downloads, Network Forensic Analysis
4.3 1 hour
Tools

4.4 Web Attack Forensics 1 hour

4.5 OWASP Top 10, Web Attack Tests 1 hour

4.6 Penetration Testing-1 1 hour

4.7 Penetration Testing.-2 1 hour

Module – 5 (Anti-Forensics) (6 Hrs)

5.1 Anti-forensic Practices - Data Wiping and Shredding 1 hour

5.2 Data Remanence, Degaussing 1 hour

5.3 Trail Obfuscation: Spoofing, Data Modification 1 hour

5.4 Role of Encryption in Forensics 1 hour

5.5 Data Hiding: Steganography and Cryptography 1 hour

5.6 Anti-forensics Detection Techniques 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

CO 1 Solve computational problems using probability and random variables. (Cognitive


Knowledge Level: Apply)
CO 2 Apply policy iteration and value iteration reinforcement learning algorithms.
(Cognitive Knowledge Level: Apply)
CO 3 Employ Monte Carlo reinforcement learning algorithms. (Cognitive Knowledge
Level: Apply)
CO 4 Apply temporal-difference reinforcement learning algorithms.(Cognitive Knowledge
Level: Apply)
CO 5 Apply on-policy and off-policy reinforcement learning algorithms with function
approximation. (Cognitive Knowledge Level: Apply)

Mapping of course outcomes with program outcomes

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

Abstract POs defined by National Board of Accreditation


PO# Broad PO PO# Broad PO
PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

PO4 Conduct investigations of complex PO10 Communication


problems

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Bloom’s Category Continuous Assessment Tests End Semester


1 2 Examination

Remember
30% 30% 30%
Understand
30% 30% 30%
Apply
40% 40% 40%
Analyse

Evaluate

Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3 hours

Continuous Internal Evaluation Pattern:

Attendance : 10 marks

Continuous Assessment Tests : 25 marks

Continuous Assessment Assignment : 15 marks


COMPUTER SCIENCE AND ENGINEERING

Internal Examination Pattern:

Each of the two internal examinations has to be conducted out of 50 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)

Probability concepts review - Axioms of probability, concepts of random variables, probability


mass function, probability density function, cumulative density functions, Expectation.
Concepts of joint and multiple random variables, joint, conditional and marginal distributions.
Correlation and independence.

Module 2 (Markov Decision Process)


Introduction to Reinforcement Learning(RL) terminology - Examples of RL, Elements of RL,
Limitations and Scope of RL.
Finite Markov Decision Processes - The Agent–Environment Interface, Goals and Rewards,
Returns and Episodes, Policies and Value Functions, Optimal Policies and Optimal Value
Functions.

Module 3 (Prediction And Control)


Dynamic Programming - Policy Evaluation (Prediction), Policy Improvement, Policy
Iteration, Value Iteration.
Monte Carlo (MC) for model free prediction and control - Monte Carlo Prediction, Monte
COMPUTER SCIENCE AND ENGINEERING

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.

Module 5 (Function Approximation Method)


On-policy Prediction with Approximation - Value-function Approximation, The Prediction
Objective, Stochastic-gradient Methods, Linear Methods.
Eligibility Traces - The λ-return, TD(λ), n-step Truncated λ-return Methods, Sarsa(λ).
Policy Gradient Methods - Policy Approximation and its Advantages, The Policy Gradient
Theorem, REINFORCE: Monte Carlo Policy Gradient, REINFORCE with Baseline, Actor–
Critic Methods.

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

Sample Course Level Assessment Questions.

Course Outcome 1 (CO1):

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:

Given that E(R)=2.85, find a and band P(R>2).


4 A biased coin (with probability of obtaining a head equal to p > 0) is tossed repeatedly
and independently until the first head is observed. Compute the probability that the first
head appears at an even numbered toss.

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).

Course Outcome 2 (CO2):

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

Course Outcome 3 (CO3):

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

Course Outcome 4 (CO4):

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?

Course Outcome 5 (CO5):

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

Model Question paper

QP Code : Total Pages: 4


Reg No.:_______________ Name:__________________________
APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY
SEVENTH SEMESTER [Link] DEGREE EXAMINATION (HONOURS), MONTH and YEAR
Course Code: CST497
Course Name: REINFORCEMENT LEARNING
Max. Marks: 100 Duration: 3 Hours
PART A
Answer all questions, each carries 3 marks.

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.

4 Write down the Bellman expectation equation for state-value functions.

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

14 a) Define the state-value function Vπ(s) for a discounted MDP. (5)

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

18 a) Consider the following Q[S,A] table (9)

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

20 a) Suppose that we have a Q-value function represented as a sigmoid function of a (8)


set of features:
COMPUTER SCIENCE AND ENGINEERING

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

1.2 Probability mass function 1 hour


1.3 Probability density function 1 hour
1.4 Cumulative density functions 1 hour

1.5. Expectation of random variables 1 hour

1.6. Joint and multiple random variables 1 hour

1.7 Conditional and marginal distributions


1 hour

1.8 Correlation and independence


1 hour

Module-2 (Markov Decision Process) TB-1(Ch 1,3)(8 hours)

2.1. Introduction to Reinforcement Learning(RL) terminology - Examples of RL,


1 hour
Elements of RL, Limitations and Scope of RL
2.2 Finite Markov Decision Processes 1 hour
2.3 The Agent–Environment Interface 1 hour
2.4. Goals and Rewards 1 hour
2.5. Returns and Episodes 1 hour
2.6. Policies and Value Functions 1 hour
2.7 Optimal Policies and Optimal Value Functions 1 hour
2.8 Optimal Policies and Optimal Value Functions 1 hour

Module-3 (Prediction And Control) TB-1(Ch 4,5) (9 hours)


COMPUTER SCIENCE AND ENGINEERING

3.1 Policy Evaluation (Prediction) 1 hour

3.2 Policy Improvement 1 hour


3.3 Policy Iteration, Value Iteration 1 hour
3.4 Monte Carlo Prediction 1 hour
3.5 Monte Carlo Estimation of Action Values 1 hour
3.6 Monte Carlo Control, Monte Carlo Control without Exploring Starts 1 hour
3.7 Off-policy Prediction via Importance Sampling 1 hour
3.8 Incremental Implementation 1 hour
3.9 Off-policy Monte Carlo Control 1 hour
Module-4 (Temporal-Difference( Td) Methods) TB-1 (Ch 6,7) (8 hours)
4.1 TD Prediction, Advantages of TD Prediction Methods 1 hour
4.2 Optimality of TD(0) 1 hour
4.3 Sarsa: On-policy TD Control 1 hour
4.4 Q-learning: Off-policy TD Control 1 hour
4.5 Expected Sarsa 1 hour
4.6 n-step TD Prediction, n-step Sarsa 1 hour
4.7 n-step Off-policy Learning 1 hour
4.8 Off-policy Learning Without Importance Sampling: The n-step Tree Backup 1 hour
Algorithm
Module-5 (Function Approximation Method) TB-1 (Ch 9,12,13) (9 hours)
5.1 Value-function Approximation 1 hour
5.2 The Prediction Objective 1 hour
5.3 Stochastic-gradient Methods 1 hour
5.4 Linear Methods 1 hour
5.5 The Lambda-return , TD(Lambda) 1 hour
5.6 n-step Truncated Lambda-return Methods, Sarsa(Lambda) 1 hour
5.7 Policy Approximation and its Advantages 1 hour
5.8 The Policy Gradient Theorem, REINFORCE: Monte Carlo Policy Gradient 1 hour
5.9 REINFORCE with Baseline, Actor–Critic Methods 1 hour
COMPUTER SCIENCE AND ENGINEERING

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

Mapping of course outcomes with program outcomes

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)

CO3 Illustrate model checking and program verification to prove correctness of


systems.(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)

Mapping of course outcomes with program outcomes


PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2

CO1

CO2

CO3

CO4
COMPUTER SCIENCE AND ENGINEERING

CO5

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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
Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of Internal Tests1&2) 25 marks

Continuous Assessment Assignment 15 marks


Internal Examination Pattern
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.
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 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 (Propositional Logic)
Declarative Sentences, Natural Deduction, Propositional Logic as a Formal Language, Semantics
of Propositional Logic, Normal Forms, SAT Solvers.
Module– 2(Predicate Logic)
The Need of a Richer Language, Predicate Logic as a Formal Language, Proof Theory of
Predicate Logic, Semantics of Predicate Logic, Undecidability of Predicate Logic,
Expressiveness of Predicate Logic.
Module - 3 (Verification by Model Checking)
Motivation for Verification, Linear Time Temporal Logic (LTL), Model Checking Systems, Tools,
Properties, Branching Time Logic, Computation Tree Logic (CTL) and the Expressive Powers of
LTL and CTL, Model Checking Algorithms, The Fixed Point Characterization of CTL.
COMPUTER SCIENCE AND ENGINEERING

Module–4 (Program Verification)


Why Should We Specify and Verify Code, A Framework for Software Verification, Proof
Calculus for Partial Correctness, Proof Calculus for Total Correctness, Programming by
Contract.
Module–5 (Modal Logics and Agents)
Modes of Truth, Basic Modal Logic, Logic Engineering, Natural Deduction, Reasoning about
Knowledge in a Multi-Agent System.
Text Books
1. Michael Huth and Mark Ryan, Logic in Computer Science, 2/e, Cambridge University Press,
2004.
Reference Books
1. Daniel Jackson, Software Abstractions, MIT Press, 2011.
2. Roberto Cavada, Alessandro Cimatti, Gavin Keighren, Emanuele Olivetti, Marco Pistore and
Marco Roveri, NuSMV 2.6 Tutorial (available at [Link]
3. Tutorial for Alloy Analyzer 4.0 (available at [Link]
Course Level Assessment Questions
Course Outcome1 (CO1):
1. Express the following statements as appropriate logic formulas.
a. If the barometer falls, either it will rain or it will snow.
b. No student attended every lecture.
c. Once you are on the field, you keep on playing until the game is over.
d. There are eight planets in the solar system.
2. Explain Horn Clause and Horn Formula.
3. Explain modal logic.
Course Outcome 2(CO2):

1. Prove the validity of the following sequents.

2. Prove the validity of

3. Prove that for all paths 𝜋𝜋 of all models, 𝜋𝜋 ⊨ 𝜙𝜙 𝑊𝑊 𝜓𝜓 ⋀ 𝐹𝐹 𝜓𝜓 implies 𝜋𝜋 ⊨ 𝜙𝜙 𝑈𝑈 𝜓𝜓.


COMPUTER SCIENCE AND ENGINEERING

Course Outcome 3(CO3):


1. Consider an LTL formula 𝜙𝜙 ≡ (𝑎𝑎 𝑈𝑈 𝑏𝑏) ⟶ 𝐹𝐹 𝑏𝑏. Is 𝜙𝜙 valid? If yes, give an automata-
theoretic proof of validity (i.e., construct a suitable NBA and use nested DFS to check an
appropriate persistence condition). Otherwise, give a transition system that violates the
formula. Illustrate the constructions clearly.

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.

Course Outcome 4(CO4): .


1. Use Alloy Analyzer to model and solve the following problem.
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?

Course Outcome 5(CO5):


1. Simulate the following system using NuSMV..

Verify that 𝐺𝐺 (𝑟𝑟𝑟𝑟𝑟𝑟 ⟶ 𝐹𝐹 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏) holds in all initial states.


COMPUTER SCIENCE AND ENGINEERING

Model Question Paper


QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

SEVENTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST499

Course Name: Logic for Computer Science

[Link] Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Check the validity of the following sequents.


a. ~p ⟶ ~q ⊢ q ⟶ p
b. ~(~𝑝𝑝 ⋁ 𝑞𝑞 ) ⊢ 𝑝𝑝)

2. For the formula 𝜙𝜙 = 𝑝𝑝 ⋀ ~(𝑞𝑞 ⋁ ~𝑝𝑝), we compute the inductively defined


translation as 𝑇𝑇(𝜙𝜙) = 𝑝𝑝 ˄ ~~(~𝑞𝑞 ˄ ~~𝑝𝑝). Draw the parse tree of 𝑇𝑇(𝜙𝜙).

3. Translate the following into predicate logic.


a. All red things are in the box.
b. No animal is both a cat and a dog.

4. Let 𝜙𝜙 be ∃𝑥𝑥 (𝑃𝑃(𝑦𝑦, 𝑧𝑧) ⋀ (∀𝑦𝑦 (~𝑄𝑄(𝑦𝑦, 𝑥𝑥) ⋁ 𝑃𝑃(𝑦𝑦, 𝑧𝑧)))), where 𝑃𝑃 and 𝑄𝑄 are predicate
symbols with two arguments. Identify all bound and free variables in 𝜙𝜙.

5. Show the syntax of Computation Tree Logic (CTL).

6. Prove that the LTL equivalence between 𝜙𝜙 𝑈𝑈 𝜓𝜓and~ �~𝜓𝜓 𝑈𝑈 (~𝜙𝜙 ⋀ ~𝜓𝜓)� ⋀ 𝐹𝐹𝐹𝐹.

7. Explain the need of specification and verification of code.

8. In what circumstances would 𝑖𝑖𝑖𝑖 (𝐵𝐵){𝐶𝐶1} 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 {𝐶𝐶2} fail to terminate?


COMPUTER SCIENCE AND ENGINEERING

9. Illustrate Kripke model.

10. With an example, explain the equivalences between modal formulas.


(10x3=30)

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.

(b) Check the satisfiability of the following Horn Formulas. (8)


a. (𝑝𝑝 ⋀ 𝑞𝑞⋀𝑠𝑠 ⟶ 𝑝𝑝) ⋀ (𝑞𝑞⋀𝑟𝑟 ⟶ 𝑝𝑝)⋀(𝑝𝑝⋀𝑠𝑠 ⟶ 𝑠𝑠)
b. (𝑇𝑇 ⟶ 𝑞𝑞)⋀(𝑇𝑇 ⟶ 𝑠𝑠)⋀(𝑤𝑤 ⟶⊥)⋀(𝑝𝑝⋀𝑞𝑞⋀𝑠𝑠 ⟶ 𝑣𝑣)⋀(𝑣𝑣 ⟶ 𝑠𝑠)⋀(𝑇𝑇 ⟶
𝑟𝑟)⋀(𝑟𝑟 ⟶ 𝑝𝑝)

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

14. (a) Model the following system in Alloy Analyzer. (7)

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

Add a predicate to check whether marriage between siblings is possible in the


above system.

(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)

(b) Explain the Fixed Point Characterization of CTL. (7)

17. (a) Illustrate partial correctness and total correctness in program verification. (7)

(b) (7)

Consider the method named withdraw which attempts to withdraw amount


from an integer field balance of the class within which the method withdraw
lives. This method makes use of another method isGood which returns true iff
the value of balance is greater than or equal to the value of amount.
Write a contract for the method isGood. Use that contract to show the validity
of the contract for withdraw:
Method name: withdraw
Input: amount of type int
Assumes: 0 <= balance
Guarantees: 0 <= balanace
Output: of type boolean
COMPUTER SCIENCE AND ENGINEERING

Modifies only: balance


Upon validation, this contract establishes that all calls to withdraw leave
0<=balance invariant.

OR

18. (a) Consider the program for computing the factorial of a number as given below. (7)

Find a partial correctness proof for the above program.

(b) Explain the proof calculus for total correctness. (7)

19. (a) Let ℱ = (𝑊𝑊, 𝑅𝑅) be a frame. Prove the two claims given below. (7)

(b) Explain the modal logics K, KT45 and KT4. (7)

OR

20. (a) Prove the following using Natural Deduction. (8)

(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)

1.1 Declarative Sentences, Natural Deduction 1 hour


1.2 Rule for Natural Deduction 1 hour
1.3 Derived Rules, Natural Deduction in Summary 1 hour
Provable Equivalence, Proof by Contradiction. Propositional Logic as a
1.4 1 hour
Formal language
Semantics of Propositional Logic – The Meaning of Logical Connectives,
1.5 Soundness of Propositional Logic, Completeness of Propositional Logic 1 hour
(Proof not required)
1.6 Semantic Equivalence, Satisfiability and Validity 1 hour
Normal Forms – Conjunctive Normal Forms and Validity, Horn Clauses and
1.7 1 hour
Satisfiability
1.8 SAT Solvers – A Linear Solver, A Cubic Solver 1 hour
Module-2(Predicate Logic) (7 hours)
The Need of a Richer language, Predicate Logic as a Formal Language –
2.1 1 hour
Terms, Formulas, Free and Bound Variables, Substitution
2.2 Proof Theory of Predicate Logic – Natural Deduction Rules 1 hour
2.3 Proof Theory of Predicate Logic – Quantifier Equivalences 1 hour
Semantics of Predicate Logic – Models, Semantic Entailment, The
2.4 1 hour
Semantics of Equality
Undecidabilty of Predicate Logic (no proof required), Expressiveness of
2.5 Predicate Logic – Existential Second Order Logic, Universal Second Order 1 hour
Logic
Micromodels of Software – State Machines, A Software Micromodel (Alloy)
2.6 1 hour
(Lecture 1)
2.7 A Software Micromodel (Alloy) (Lecture 2) 1 hour
Module-3(Verification by Model Checking) (13 hours)
COMPUTER SCIENCE AND ENGINEERING

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

A Framework for Software Verification – A Core Programming Language, Hoare


4.2 1 hour
Triples

A Framework for Software Verification – Partial and Total Correctness, Program


4.3 1 hour
Variables and Logical Variables

4.4 Proof Calculus for partial Correctness – Proof Rules 1 hour


4.5 Proof Calculus for partial Correctness – Proof Tableaux 1 hour
4.6 Proof Calculus for partial Correctness – A Case Study: Minimal-Sum Section 1 hour
4.7 Proof Calculus for Total Correctness 1 hour

4.8 Programming by Contract 1 hour

Module-5 (Modal Logics and Agents) (9 hours)


COMPUTER SCIENCE AND ENGINEERING

5.1 Modes of Truth, basic Modal Logic - Syntax 1 hour


5.2 Basic Modal Logic - Semantics 1 hour
Logic Engineering – The Stock of Valid Formulas, Important Properties of the
5.3 1 hour
Accessibility Relation

5.4 Logic Engineering – Correspondence Theory, Some Modal Logics 1 hour


5.5 Natural Deduction 1 hour
Reasoning about Knowledge in a Multi-Agent System –Examples (The Wise - Man
5.6 Puzzle, The Muddy – Children Puzzle)
1 hour

5.7 The Modal Logic KT45n 1 hour


5.8 Natural Deduction for KT45n 1 hour
5.9 Formalizing the Examples (The Wise - Man Puzzle, The Muddy – Children Puzzle) 1 hour
COMPUTER SCIENCE AND ENGINEERING

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)

CO6 Illustrate distributed file system architectures. (Cognitive Knowledge Level:


Understand)
COMPUTER SCIENCE AND ENGINEERING

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2

CO1

CO2

CO3

CO4

CO5

CO6

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning


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 50 50 50

Apply 20 20 20

Analyze

Evaluate
Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of Internal Tests1&2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern


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.
COMPUTER SCIENCE AND ENGINEERING

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
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 (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.

Module – 3 (Mutual exclusion and Deadlock detection)

Distributed mutual exclusion algorithms – System model, Requirements of mutual exclusion


algorithm. Lamport’s algorithm, Ricart–Agrawala algorithm, Quorum-based mutual exclusion
algorithms – Maekawa’s algorithm. Token-based algorithm – Suzuki–Kasami’s broadcast algorithm.
Deadlock detection in distributed systems – System model, Deadlock handling strategies, Issues in
deadlock detection, Models of deadlocks.
Module – 4 (Distributed shared memory and Failure recovery)

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.

Course Level Assessment Questions


Course Outcome1 (CO1):
1. Define logical clock and explain the implementation of the logical clock.
2. Explain different forms of load balancing.

Course Outcome 2(CO2):


1. Apply ring-based leader election algorithm with 10 processes in the worst-performing case.
Count the number of messages needed.
2. Apply spanning tree-based termination detection algorithm in the following scenario. The
nodes are processes 0 to 6. Leaf nodes 3, 4, 5, and 6 are each given tokens T3, T4, T5 and T6
respectively. Leaf nodes 3, 4, 5 and 6 terminate in the order, but before terminating node 5,it
sends a message to node 1.
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 3(CO3):


1. What are the requirements of mutual exclusion algorithms?
2. Illustrate Suzuki- Kasami’s broadcast algorithm.
Course Outcome 4(CO4):
1. Compare different models of deadlocks.
2. Illustrate the detailed abstraction of distributed shared memory and interaction with
application processes.
Course Outcome 5(CO5):
1. Explain how consensus problem differs from the Byzantine agreement problem.
2. Classify different log based roll back recovery techniques.
Course Outcome 6 (CO6):
1. Explain the directory service and its interface operations in a file service architecture.
2. Describe the architecture of Google file system.
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST402

Course Name: Distributed Computing

[Link] Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

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.

3. Specify the issues in recording a global state.

4. Explain the rules used to update clocks in scalar time representation.

5. Describe how quorum-based mutual exclusion algorithms differ from the other
categories of mutual exclusion algorithms.

6. Explain with example, how wait-for-graphs can be used in deadlock detection.

7. List any three advantages of using distributed shared memory.

8. Define the no-orphans consistency condition.


COMPUTER SCIENCE AND ENGINEERING

9. Define Byzantine agreement problem.

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.

(b) Explain any three different models of deadlock. (6)

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)

(b) What is check point-based rollback-recovery? Explain the three (10)


classifications of check point-based rollback-recovery.

19. (a) Explain consensus algorithm for crash failures under synchronous systems. (6)

(b) Summarize distributed file system requirements. (8)

OR

20. (a) Differentiate Andrew file system and NFS. (4)

(b) Explain Sun NFS architecture with diagram. (10)


COMPUTER SCIENCE AND ENGINEERING

Teaching Plan

No. of
Lecture
No Contents Hours
(35
hours)
Module – 1(Distributed systems basics and Computation model) (7 hours)

1.1 Distributed System – Definition, Relation to computer system components 1 hour


1.2 Primitives for distributed communication. 1 hour
1.3 Design issues, challenges and applications. 1 hour
1.4 Design issues, challenges and applications. 1 hour
A model of distributed computations – Distributed program, Model of
1.5 1 hour
distributed executions
Models of communication networks, Global state of a distributed system,
1.6 1 hour
Cuts of a distributed computation
Cuts of a distributed computation, Past and future cones of an event, Models
1.7 1 hour
of process communications.
Module – 2 (Election algorithm, Global state and Termination detection) (8 hours)
2.1 Logical time – A framework for a system of logical clocks, Scalar time 1 hour
2.2 Vector time. 1 hour
2.3* Leader election algorithm – Bully Algorithm, Ring Algorithm 1 hour
Global state and snapshot recording algorithms – System model and
2.4 1 hour
definitions
2.5* Snapshot algorithm for FIFO channels – Chandy Lamport algorithm. 1 hour
2.6 Termination detection – System model of a distributed computation 1 hour
2.7* Termination detection using distributed snapshots 1 hour
2.8* Termination detection by weight throwing, Spanning tree-based algorithm 1 hour
Module – 3 (Mutual exclusion and Deadlock detection) (6 hours)
Distributed mutual exclusion algorithms – System model, Lamport’s
3.1* 1 hour
algorithm
COMPUTER SCIENCE AND ENGINEERING

3.2* Ricart–Agrawala algorithm 1 hour


3.3* Quorum-based mutual exclusion algorithms – Maekawa’s algorithm 1 hour
3.4* Token-based algorithm – Suzuki–Kasami’s broadcast algorithm. 1 hour
Deadlock detection in distributed systems – System model, Deadlock
3.5 1 hour
handling strategies, Issues in deadlock detection
3.6 Models of deadlocks 1 hour
Module – 4 (Distributed shared memory and Failure recovery) (7 hours)
4.1 Distributed shared memory – Abstraction and advantages. 1 hour
4.2* Shared memory mutual exclusion – Lamport’s bakery algorithm. 1 hour
Checkpointing and rollback recovery – System model, consistent and
4.3 1 hour
inconsistent states
4.4 different types of messages, Issues in failure recovery 1 hour
4.5 checkpoint based recovery 1 hour
4.6 log based roll back recovery. 1 hour
4.7 log based roll back recovery. 1 hour
Module – 5(Consensus and Distributedfile system) (7 hours)
Consensus and agreement algorithms – Assumptions, The Byzantine
5.1 1 hour
agreement and other problems
Agreement in (message-passing) synchronous systems with failures –
5.2 1 hour
Consensus algorithm for crash failures
Agreement in (message-passing) synchronous systems with failures –
5.3* 1 hour
Consensus algorithm for crash failures
5.4 Distributed File System – File Service Architecture 1 hour
5.5 Case Studies: Sun Network File System 1 hour
5.6 Andrew File System 1 hour
5.7 Google File System. 1 hour

* Proof of correctness and performance analysis are not expected for this algorithm.
COMPUTER SCIENCE AND ENGINEERING

CATEGORY L T P CREDIT YEAR OF


CST404 COMPREHENSIVE INTRODUCTION
COURSE VIVA PCC 1 0 0 1 2019

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).

Mapping of course outcomes with program outcomes

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

PO # Broad PO PO# Broad PO


PO1 Engineering Knowledge PO7 Environment and Sustainability
PO2 Problem Analysis PO8 Ethics
PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO0 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Lifelong learning

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.

Evaluation Guidelines & Rubrics

Total: 150 marks (Minimum required to pass: 75 marks).


 Project progress evaluation by guide: 30 Marks.
 Two interim evaluations by the Evaluation Committee: 50 Marks (25 marks for each
evaluation).
 Final evaluation by the Final Evaluation committee: 40 Marks
 Quality of the report evaluated by the evaluation committee: 30 Marks

(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

Evaluation by the Guide


The guide/supervisor must monitor the progress being carried out by the project groups on
regular basis. In case it is found that progress is unsatisfactory it should 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:

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)

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. (9)

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.

(0 – 1 Marks) (2 – 3 Marks) (4 Marks) (5 Marks)

Good evidence of task allocation Excellent display of task identification and


being done, supported by project distribution backed by documentary
No task distribution of any kind. Task allocation done, but not journal entries, identification of tasks evidence of team brainstorming, and
Effectiveness of task
Members are still having no clue on effectively, some members do not through discussion etc. However, the project journal entries. All members are
2-b distribution among 5 what to do. have any idea of the tasks assigned. task distribution seems to be skewed, allocated tasks according to their
team members. Some of the tasks were identified but and depends a few members heavily capabilities, and as much as possible in an
[CO3] not followed individually well. than others. Mostly the tasks are being equal manner. The individual members are
[Group Evaluation]
followed by the individual members. following the tasks in an excellent manner.

(0 – 1 Marks) (2 – 3 Marks) (4 Marks) (5 Marks)

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.

(0 - 1 Marks) (2 - 3 Marks) (4 Marks) (5 Marks)


The team showed some interim The interim results showed were good
There were significant interim results
Interim Results. results, but they are not complete / and mostly consistent/correct with
There are no interim results to show. presented which clearly shows the progress.
2-d [CO6] 5 consistent to the current stage, Some respect to the current stage. There is
[Group assessment] corrections are needed. room for improvement.
(0 - 1 Marks) (2 - 3 Marks) (4 Marks) (5 Marks)
Very poor presentation and there is Presentation is average, and the Good presentation. Student has good Exceptionally good presentation. Student
Presentation
no interim results. The student has student has only a feeble idea about idea about the team's project. The has excellent grasp of the project. The
2-e [Individual 5 no idea about the project proposal. the team work. overall presentation quality is good. quality of presentation is outstanding.
assessment]
(0 - 1 Marks) (2 - 3 Marks) (4 Marks) (5 Marks)

Phase-II Interim Evaluation - 1 Total Marks: 25


EVALUATION RUBRICS for PROJECT Phase II: Interim Evaluation – 2
No Parameters Marks Poor Fair Very Good Outstanding

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.

(0 – 3 Marks) (4 – 6 Marks) (7 - 9 Marks) (10 Marks)

The individual contribution is evident.


Involvement of No evidence of any Individual There is evidence for some amount Evidence available for the student acting
The student has good amount of
individual participation in the project work. of individual contribution, but is as the core technical lead and has excellent
5 involvement in core activities of the
members limited to some of the superficial contribution to the project.
2-g [CO3] project.
tasks.
[Individual
Assessment] (0 - 1 Marks) (2 - 3 Marks) (4 Marks) (5 Marks)

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.

(0 - 1 Marks) (2 - 3 Marks) (4 Marks) (5 Marks)

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)

Phase-II Interim Evaluation - 2 Total Marks: 25


EVALUATION RUBRICS for PROJECT Phase II: Final Evaluation
No Parameters Marks Poor Fair Very Good Outstanding
The team is able to show evidence of Excellent knowledge in design procedure
Engineering The team does not show any evidence The team is able to show some of the
application of engineering knowledge and its adaptation. The team is able to
2-j knowledge. [CO1] of applying engineering knowledge design procedure and the
10 in the design and development of the apply knowledge from engineering
[Group Assessment] on the design and the methodology methodologies adopted, but not in a
project to good extent. There is scope domains to the problem and develop an
adopted. comprehensive manner.
for improvement. excellent solution.

(0 – 3 Marks) (4 – 6 Marks) (7 - 9 Marks) (10 Marks)


Relevance of the The project has some relevance with The project is relevant to the society The project is exceptionally relevant to
project with respect to The project as a whole do not have respect to social and/or industrial and/or industry. The team is mostly society and/or industry. The team has
2-k societal and/or any societal / industrial relevance at application. The team has however successful in translating the problem made outstanding contribution while
5 all.
industrial needs. made not much effort to explore into an engineering specification and solving the problem in a professional and/
[Group Assessment] further and make it better. managed to solve much of it. or ethical manner.
[CO2]
(0 - 1 Marks) (2 - 3 Marks) (4 Marks) (5 Marks)
Some of the aspects of the proposed Good evidence of an implementable
The project is not addressing any The project has evolved into incorporating
idea appears to be practical. There is project. There is some evidence for the
useful requirement. The idea is an outstandingly novel idea. Original work
still lack of originality in the work originality of the work done by the
evolved into a non-implementable which is not yet reported anywhere else.
done. The project is a regularly done team. There is fresh specifications/
Innovation / novelty / one. The work presented so far is Evidence for ingenious way of innovation
theme/topic without any freshness in features/improvements suggested by the
lacking any amount of original work which is also Implementable. Could be a
2-i Creativity 5 terms of specifications, features, and/ team. The team is doing a design from
[CO5] by the team. patentable publishable work.
or improvements. fundamental principles, and there is
[Group Assessment] some independent learning and
engineering ingenuity. Could be
translated into a product / process if
more work is done.

(0 - 1 Marks) (2 - 3 Marks) (4 Marks) (5 Marks)


Only a few of the expected outcomes
None of the expected outcomes are are achieved. A few inferences are Many of the expected outcomes are Most of the stated outcomes are met.
Quality of results / achieved. The team is unable to made on the observed failures/issues. achieved. Many observations and Extensive studies are done and inferences
conclusions / 10 derive any inferences on the No further work suggested. inferences are made, and attempts to drawn. Most of the failures are addressed
2-m solutions. [CO1] failures/issues observed. Any kind of identify the issues are done. Some and solutions suggested. Clear and valid
[Group Assessment] observations or studies is not made. suggestions are made for further work. suggestions made for further work.

(0 – 3 Marks) (4 – 6 Marks) (7 - 9 Marks) (10 Marks)


Presentation slides follow a good style
Presentation slides follow professional The presentation slides are exceptionally
The presentation slides are shallow style formats to some extent. However, format and there are only a few issues.
Organization of the slides is good. Most good. Neatly organized. All references
Presentation - Part I and in a clumsy format. It does not its organization is not very good.
of references are cited properly. The cited properly. Diagrams/Figures, Tables
Preparation of slides. 5 follow proper organization. Language needs to be improved. All and equations are properly numbered,
flow is good and team presentation is
[CO6] references are not cited properly, or and l i s ted. Results/ inferences clearly
neatly organized. Some of the results
[Group Assessment]. acknowledged. Presentation slides highlighted and readable.
are not clearly shown. There is room
needs to be more professional.
for improvement.

2-n (0 - 1 Marks) (2 - 3 Marks) (4 Marks) (5 Marks)


Good presentation/ communication by
Presentation - Part The student is able to explain some of Clear and concise communication
the student. The student is able to
II: Individual The student is not communicating the content. The student requires a lot exhibited by the student. The
explain most of the content very well.
Communication 5 properly. Poor response to of prompts to get to the idea. There are presentation is outstanding. Very
There are however, a few areas where
[CO6] questions. language issues. confident and tackles all the questions
the student shows lack of preparation.
[Individual without hesitation. Exceptional traits of
Language is better.
Assessment]. communicator.
(0 - 1 Marks) (2 - 3 Marks) (4 Marks) (5 Marks)

Phase-II Final Evaluation, Marks: 40


EVALUATION RUBRICS for PROJECT Phase II: Report Evaluation
Sl.
No. Parameters Marks Poor Fair Very Good Outstanding

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.

(0 - 11 Marks) (12 - 18 Marks) (19 - 28 Marks) (29 - 30 Marks)

Phase - II Project Report Marks: 30


COMPUTER SCIENCE AND ENGINEERING

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)

CO3 Implement the foundation layers of CNN (pooling, convolutions)


(Cognitive Knowledge Level: Apply)

CO4 Implement a sequence model using recurrent neural networks


(Cognitive Knowledge Level: Apply)

CO5 Use different neural network/deep learning models for practical applications.
(Cognitive Knowledge Level: Apply)
COMPUTER SCIENCE AND ENGINEERING

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work


Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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
COMPUTER SCIENCE AND ENGINEERING

Analyze

Evaluate
Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of Internal Tests 1 & 2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern


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.

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 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 (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.

Module-2 (Deep learning)

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.

Module-3 (Convolutional Neural Network)

Convolutional Neural Networks – convolution operation, motivation, pooling, Convolution and


Pooling as an infinitely strong prior, variants of convolution functions, structured outputs, data
types, efficient convolution algorithms.

Module- 4 (Recurrent Neural Network)

Recurrent neural networks – Computational graphs, RNN design, encoder – decoder sequence to
sequence architectures, deep recurrent networks, recursive neural networks, modern RNNs LSTM
and GRU.

Module-5 (Application Areas)

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

Course Level Assessment Questions


Course Outcome1 (CO1):
1. Suppose you have a 3-dimensional input x = (x1, x2, x3) = (2, 2, 1) fully connected
to 1 neuron which is in the hidden layer with activation function sigmoid. Calculate
the output of the hidden layer neuron.

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.

5. Give a method to fight vanishing gradients in fully-connected neural networks.


Assume we are using a network with Sigmoid activations trained using SGD.

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?

Course Outcome 2(CO2):


1. Derive a mathematical expression to show L2 regularization as weight decay.
Explain how L2 regularization improves the performance of deep feed forward
neural networks.

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.

Course Outcome 3(CO3):


1. Draw and explain the architecture of convolutional neural networks.
2. Consider a convolution layer. The input consists of 6 feature maps of size 20×20.
The output consists of 8 feature maps, and the filters are of size 5 x 5. The
convolution is done with a stride of 2 and zero padding, so the output feature maps
are of size 10 x 10.
a. Determine the number of weights in this convolution layer.
b. Determine the number of weights if we made this a fully connected layer,
but the number of input and output units are kept the same as in the network.
3. Suppose two people A and B have implemented two neural networks for
recognizing handwritten digits from 16 x 16 grayscale images. Each network has a
single hidden layer, and makes predictions using a softmax output layer with 10
units, one for each digit class.
a. A’s network is a convolutional net. The hidden layer consists of three 16 x
16 convolutional feature maps, each with filters of size 5 x 5, and uses the
logistic nonlinearity. All of the hidden units are connected to all of the
output units.
b. B’s network is a fully connected network with no weight sharing. The
hidden layer consists of 768 logistic units (the same number of units as in
A’s convolutional layer).
4. Briefly explain one advantage of A’s approach and one advantage of B’s approach.
5. Why do the layers in a deep architecture need to be non-linear?
6. Give two benefits of using convolutional layers instead of fully connected ones for
visual tasks.
7. You have an input volume of 32 x 32 x 3. What are the dimensions of the resulting
volume after convolving a 5 x 5 kernel with zero padding, stride of 1, and 2 filters?
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 4(CO4): .


1. Draw and explain the architecture of LSTM.
2. Name at least one benefit of the LSTM model over the bag-of-vectors model.
3. Give one advantage of GloVe over Skipgram/CBOW models.
4. What are two ways practitioners deal with having two different sets of word vectors
U and V at the end of training both Glove and word2vec?
5. If we have a recurrent neural network (RNN), we can view it as a different
type of network by "unrolling it through time". Briefly explain what that
means.
6. Briefly explain how “unrolling through time” is related to “weight sharing” in
convolutional networks.

Course Outcome 5(CO5):


1. Development a deep learning solution for problems in the domain i) natural
language processing or ii) Computer vision
2. Illustrate the workings of the RNN with an example of a single sequence defined on
a vocabulary of four words.
3. Is an autoencoder for supervised learning or for unsupervised learning?
Explain briefly.
4. Sketch the architecture of an autoencoder network.
5. Describe how to train an autoencoder network.
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST414

Course Name: Deep Learning

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Discuss the limitation of a single layer perceptron with an example.

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.

4. Discuss methods to prevent overfitting in neural networks.

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.

7. How does a recursive neural network work?

8. List down the differences between LSTM and RNN.

9. Illustrate the use of deep learning concepts in Speech Recognition.


COMPUTER SCIENCE AND ENGINEERING

10. What is an autoencoder? Give one application of an autoencoder


(10x3=30)

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) Discuss the architecture of GRU. (6)

19. (a) Explain any two word embedding techniques (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)

(b) Compare Boltzmann Machine with Deep Belief Network. (7)

Teaching Plan
No. of
Lecture
No Contents Hours
(36 hrs)

Module-1 (Neural Networks ) (7 hours)

1.1 Introduction to neural networks -Single layer perceptrons 1


1.2 Multi Layer Perceptrons (MLPs), Representation Power of MLPs 1
1.3 Activation functions - Sigmoid, Tanh, ReLU, Softmax. , Risk minimization,
1
Loss function
1.4 Training MLPs with backpropagation 1
1.5 Illustration of back propagation algorithm 1
1.6 Practical issues in neural network training - The Problem of Overfitting,
1
Vanishing and exploding gradient problems
1.7 Difficulties in convergence, Local and spurious Optima, Computational
1
Challenges.

Module-2 (Deep learning) (9 hours)

2.1 Introduction to deep learning, Deep feed forward network 1


2.2 Training deep models, Concepts of Regularization and optimization, 1
COMPUTER SCIENCE AND ENGINEERING

2.3 Gradient Descent (GD), GD with momentum, 1


2.4 Nesterov accelerated GD, Stochastic GD, 1
2.5 AdaGrad, RMSProp, Adam, 1
2.6 L1 and L2 regularization, Early stopping, Dataset augmentation, 1
2.7 Parameter sharing and tying, Injecting noise at input, Ensemble methods 1
2.8 Parameter sharing and tying, Injecting noise at input, Ensemble methods 1

2.9 Dropout, Parameter initialization.

Module-3 (Convolutional Neural Network) (6 hours)

3.1 Convolutional Neural Networks – convolution operation 1


3.2 motivation, pooling 1
3.3 Convolution and Pooling as an infinitely strong prior 1
3.4 Variants of convolution functions 1
3.5 structured outputs, data types. 1
3.6 Efficient convolution algorithms. 1

Module- 4 (Recurrent Neural Network) (5 hours)

4.1 Recurrent neural networks – Computational graphs, RNN design 1


4.2 Encoder – decoder sequence to sequence architectures 1
4.3 Deep recurrent networks, recursive neural networks 1
4.4 Modern RNNs LSTM 1
4.5 GRU 1

Module-5 (Application Areas)( 9 hours)

5.1 Computer vision. (TB1: Section 12.2) 1


5.2 Speech recognition. (TB1: Section 12.3) 1
5.3 Natural language processing. (TB1: Section 12.4) 1
Common Word Embedding - Continuous Bag-of-Words, Word2Vec (TB3:
5.4 1
Section 2.6)
COMPUTER SCIENCE AND ENGINEERING

Common Word Embedding - Global Vectors for Word


5.5 1
Representation(GloVe) (TB3: Section 2.9.1- Pennigton 2014)
Brief introduction on current research areas - Autoencoders, Representation
5.6 1
learning. (TB3: Section 4.10)
Brief introduction on current research areas - representation learning. (TB3:
5.7 1
Section 9.3)
Brief introduction on current research areas - Boltzmann Machines, Deep
5.8 1
belief networks. (TB1: Section 20.1, TB3 Section 6.3)
Brief introduction on current research areas - Deep belief networks. (TB1:
5.9 1
Section 20.3)
COMPUTER SCIENCE AND ENGINEERING

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)

Explain the characteristics of Object-Oriented Programming Languages (Cognitive


CO4
Knowledge Level: Understand)

Compare concurrency constructs in different programming languages (Cognitive


CO5
Knowledge Level: Understand)
COMPUTER SCIENCE AND ENGINEERING

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Continuous Assessment Tests


Bloom’s End Semester Examination
Category Marks (%)
Test 1 (%) Test 2 (%)

Remember 30 30 30

Understand 40 40 40
COMPUTER SCIENCE AND ENGINEERING

Apply 30 30 30

Analyze

Evaluate

Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests (Average of Internal Tests 1 & 2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern


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 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
two 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 two modules and 1
question from the partly completed module), each with 7 marks. Out of the 7 questions, 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 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

Course Level Assessment Questions


Course Outcome1 (CO1):
1. Compare any three programming languages based on the language evaluation criteria.
Prepare a list of characteristics that affect the language evaluation criteria.
2. Identify the advantages and disadvantages of imperative, functional and logic
programming languages.

Course Outcome 2 (CO2):


1. Two most important design issues that are specific to character string types are
(1) whether a string is simply a special kind of character array or a primitive type.
(2) whether strings have static or dynamic length.
Identify the implementations options for the above two cases.
2. Consider the following records of a particular language. Let the size of each char variable
be 1 byte, int be 4 bytes and and Boolean be 1 bit.
Struct Student
{
int id;
char name[2];
int age;
boolean scholarship;
}
Draw and comment on the possible memory layouts for the record for a 32-bit aligned
machine

Course Outcome 3(CO3):


1. Explain three situations where a combined counting and logical looping statement is
needed.
2. Describe the ways that aliases can occur with pass-by-reference parameters.
3. Identify the two fundamental design considerations for parameter-passing methods.
4. What will be the output of the given program segment if it uses the following parameter
passing mechanisms:
a) call by reference
b) call by value

x : integer – – global
procedure foo(y : integer)
y := 3
print x
...
COMPUTER SCIENCE AND ENGINEERING

x := 2
foo(x)
print x

Course Outcome 4 (CO4):


1. Describe the role of a virtual method table in implementing dynamic method binding.
2. Identify the merits and demerits of inheritance.
Course Outcome 5 (CO5):
1. Evaluate the use of semaphores and monitors for providing competition synchronization
and cooperation synchronization.

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

Functional and Imperative Languages. Logic Programming Languages – Basic Elements of


Prolog, Applications of Logic Programming.
Text Books
1. Robert W Sebesta, Concepts of Programming Languages, 10th Edition, Pearson.
2. Scott M L, Programming Language Pragmatics, 3rd Edition, Morgan Kauffman
Publishers.
ReferenceBooks
1. Kenneth C. Louden, Programming Languages: Principles and Practice, 2nd Edition,
Cengage Learning.
2. Tucker A. B. and R. E. Noonan, Programming Languages: Principles and Paradigms, 2nd
Edition. –TMH.
3. Ravi Sethi, Programming Languages: Concepts & Constructs, 2nd Edition., Pearson
Education.
4. David A. Watt, Programming Language Design Concepts, Wiley Dreamtech.

Model Question Paper


QP CODE:
Reg No: _______________
Name: _________________ PAGES : 4
APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY
EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR
Course Code: CST424
Course Name: Programming Paradigms
Max. Marks : 100 Duration: 3 Hours
PART A
Answer All Questions. Each Question Carries 3 Marks
1. Differentiate between readability and writability.
2. Define binding and binding time.
3. What are the advantages of user-defined enumeration types?
4. Define narrowing and widening conversions.

5. Why for statement in C language is more flexible than that of older languages?
COMPUTER SCIENCE AND ENGINEERING

6. What are the advantages and disadvantages of dynamic local variables in


subprograms?

7. Illustrate the concept of dynamic method binding with an example.

8. Is it mandatory to use constructors in object-oriented languages? Justify your answer.

9. What are the applications of logic programming languages?

10. Explain the working of let and let-rec constructs in Scheme.


(10x3=30)

Part B
(Answer any one question from each module. Each question carries 14 Marks)

11. (a) Explain different criteria used for evaluating languages. (7)

(b) Consider the following pseudocode: (7)


x : integer := 3
y : integer := 4
procedure add
x := x + y
procedure second(P : procedure)
x : integer := 5
P()
procedure first
y : integer := 6
second(add)
first()

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.

(b) What is meant by referencing environment of a statement? Show the (7)


COMPUTER SCIENCE AND ENGINEERING

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)

Introduction: Reasons for studying Concepts of programming languages,


1.1 1 hour
Programming Domains

1.2 Language Evaluation Criteria 1 hour

1.3 Influence on Language Design, Language Design Trade-offs 1 hour

1.4 Implementation Methods 1 hour

1.5 Names, Variables 1 hour

1.6 Concept of Binding 1 hour

1.7 Scope and Lifetime, Referencing Environments 1 hour

Module-2 (7 hours)

2.1 Primitive Data Types, Character String Types 1 hour

2.2 User-Defined Ordinal Types, Array Types 1 hour

2.3 Record Types, List Types, Pointer and Reference Types 1 hour

Implementation of pointer and reference types, Type Checking, Strong


2.4 1 hour
Typing, Type Equivalence

2.5 Expressions and Assignment Statements, Arithmetic Expressions 1 hour

2.6 Overloaded Operators, Type Conversions 1 hour

Relational and Boolean Expressions, Short-Circuit Evaluation, Assignment


2.7 1 hour
Statements, Mixed-mode Assignment

Module-3 (8 hours)

3.1 Selection Statements, Iterative Statements 1 hour

3.2 Unconditional Branching 1 hour


COMPUTER SCIENCE AND ENGINEERING

3.3 Guarded Commands 1 hour

3.4 Subprograms: Design Issues of Subprograms 1 hour

3.5 Local Referencing Environments 1 hour

3.6 Parameter Passing Methods 1 hour

3.7 Subprograms as Parameters, Overloaded Subprograms 1 hour

3.8 Closures, Co-routines 1 hour

Module-4 (7 hours)

4.1 Inheritance 1 hour

4.2 Dynamic Binding 1 hour

4.3 Design Issues for Object Oriented Languages 1 hour

4.4 Support for Object Oriented Programming in C++ 1 hour

4.5 Implementation of Object-Oriented Constructs 1 hour

4.6 Exception Handling – Basic Concepts 1 hour

4.7 Exception Handling - Design Issues 1 hour

Module-5 (7 hours)

5.1 Subprogram Level Concurrency 1 hour

5.2 Semaphores, Monitors 1 hour

5.3 Message Passing 1 hour

5.4 Introduction to LISP and Scheme 1 hour

5.5 Comparison of Functional and Imperative Languages 1 hour

5.6 Basic Elements of Prolog 1 hour

5.7 Applications of Logic Programming 1 hour


COMPUTER SCIENCE AND ENGINEERING

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.

Prerequisite: A fundamental knowledge in the concepts of Security in Computing.

Course Outcomes: After the completion of the course, the student will be able to

CO1 Explain authentication protocols, X.509 authentication service and Public


Key Infrastructure (PKI).(Cognitive Knowledge Level: Understand)
CO2 Identify the security mechanisms in E mail security services. (Cognitive
Knowledge Level: Understand)
CO3 Summarize the network and transport layer security services provided in a
secure communication scenario. (Cognitive Knowledge Level: Apply)
CO4 Describe real time communication security and application layer security
protocols. (Cognitive Knowledge Level: Apply)
CO5 Explain the concepts of firewalls and wireless network security. (Cognitive
Knowledge Level: Understand)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

PO4 Conduct investigations of complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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

Total Marks CIE Marks ESE Marks ESE Duration


150 50 100 3

Continuous Internal Evaluation Pattern:

Attendance : 10 marks
Continuous Assessment Test : 25 marks
Continuous Assessment Assignment : 15 marks
COMPUTER SCIENCE AND ENGINEERING

Internal Examination Pattern:

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.

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 maximum 2 sub-divisions and carries 14 marks.

Syllabus

Module-1 (Authentication Protocols)


Authentication Protocols – Mutual authentication, One way authentication. Kerberos –
Kerberos Version 4, Kerberos Version 5. X.509 Authentication service. Public Key
Infrastructure (PKI) – Trust models, Revocation.

Module-2 (E-mail Security)


Pretty Good Privacy (PGP) – Operational Description, Cryptographic keys and key rings,
Message format, PGP message generation, PGP message reception, Public key management.
S/MIME – Functionality, Messages, Certificate processing, Enhanced security services.

Module-3 (Network Layer Security and Web Security)


Internet Protocol Security (IPSec) – Overview, IP security architecture, Authentication
Header (AH), Encapsulating Security Payload (ESP), Combining Security Associations, Key
management. Internet Key Exchange (IKE) - Phases. Web Security – Web security
considerations. Secure Socket Layer and Transport Layer Security (SSL/TLS) – SSL
Architecture, SSL protocols, Cryptographic computations, Transport layer security.
COMPUTER SCIENCE AND ENGINEERING

Module-4 (Real-time Security and Application Layer Security)


Real-time communication security – Perfect Forward Secrecy (PFS), Denial-of-Service
protection, Endpoint identifier hiding, Live partner reassurance. Hypertext Transfer Protocol
Secure (HTTPS) – Connection initiation, Closure. Secure Shell (SSH) – Transport layer
protocol, User authentication protocol, Connection protocol. Secure Electronic Transaction
(SET) – Overview, Features, Participants, Dual signature, Payment processing.

Module-5 (System Security and Wireless Security)


Firewalls – Firewall characteristics, Types of Firewalls, Firewall configurations, Encrypted
Tunnels, Trusted systems – Data access control, The concept of Trusted Systems, Trojan
horse defense. IEEE 802.11i wireless LAN security - Services, Phases of operation, Wired
Equivalent Privacy (WEP), Wi-Fi Protected Access (WPA), WPA2.

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

Sample Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Identify the threats associated with user authentication over a network or Internet.
2. In the context of Kerberos, mention the significance of a realm.
Course Outcome 2 (CO2):
1. Mention the use of R64 conversion for an e-mail application.
2. Give the general structure of Private and Public Key rings in PGP.
Course Outcome 3 (CO3):
1. In AH protocol, identify the fields in an IP header which are included in MAC
calculation. For each of the fields in the IP header, indicate whether the field is
immutable, mutable but predictable, or mutable. Justify your decision for each
field.
COMPUTER SCIENCE AND ENGINEERING

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.

Model Question Paper


QP CODE: PAGES: ___

Reg No:_______________
Name:_________________

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST434


Course Name: NETWORK SECURITY PROTOCOLS

Max Marks: 100 Duration: 3 Hours


PART A
(Answer All Questions. Each question carries 3 marks)
1. List any three requirements of Kerberos.

2. Specify the significance of key pair recovery. When is the key pair updated?

3. Why does PGP generate signature before applying compression?

4. List the four principal services provided by S/MIME.

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?

8. Givethe significance of dual signature in SET.

9. List the IEEE 802.11i services.

10. How is the concept of association related to that of mobility in wireless


networks? (10x3=30)

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)

(b) Explain the significance of chain of certificates. (6)

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.

(b) Explain the functionalities provided by S/MIME. (6)

OR
14. (a) Give the format of a PGP message and specify the significance of each (8)
field in the message.

(b) Explain the enhanced security services provided in S/MIME. (6)

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

recommended rather than authentication before encryption?

(b) List and explain the purpose each Alert Codes supported by SSL. (6)

17. (a) Illustrate the significance ofperfect forward secrecy. (6)

(b) Explain the key features provided by SET. (8)

OR

18. (a) List and explain the SSH protocols. (8)

(b) “The HTTPS capability is built into all modern web browsers”. Justify. (6)

19. (a) Explain the phases of operations in IEEE 802.11i. (8)

(b) Give the significances of Encrypted Tunnels (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)

Module-1 (Authentication Protocols)(7hrs)


1.1 Authentication Protocols – Mutual authentication, One way 1
authentication
1.2 Kerberos –Version 4 1
1.4 Differences between Kerberos Version 4 and Version 5, Kerberos 1
Version 5
1.5 X.509 Authentication service – Certificates, Authentication 1
Procedures, X.509 Version 3
1.6 Public Key Infrastructure (PKI) – Trust models 1

1.7 Public Key Infrastructure (PKI) – Revocation 1


COMPUTER SCIENCE AND ENGINEERING

Module-2 (E-mail Security) (6 hrs)

1
2.1 Pretty Good Privacy (PGP) – Operational Description

Cryptographic keys and key rings, Message format 1


2.2
2.3 PGP message generation, PGP message reception 1
2.4 PGP -Public key management 1
2.5 S/MIME – Overview of MIME, Functionality, Messages 1

2.6 S/MIME - Certificate processing, Enhanced security services 1

Module-3 (Network Layer Security and Web Security)(8 hrs)

3.1 Internet Protocol Security (IPSec) – Overview, IP security 1


architecture
3.2 Authentication Header (AH) 1
3.3 Encapsulating Security Payload (ESP) 1
3.4 Combining Security Associations, Key management 1
3.5 Internet Key Exchange (IKE) – Phases 1
3.6 Web Security – Web security considerations. Secure Socket 1
Layer and Transport Layer Security (SSL/TLS) – SSL
Architecture
3.7 SSL Protocols - Record Protocol, Change Cipher Spec Protocol, 1
Alert Protocol
3.8 SSL Handshake Protocol, Cryptographic computations, 1
Transport Layer Security

Module-4 (Real-time Security and Application Layer Security) (8hrs)

4.1 Real-time communication security – Perfect Forward Secrecy 1


(PFS)

4.2 Denial-of-Service protection, Endpoint identifier hiding, Live 1


partner reassurance
Hypertext Transfer Protocol Secure (HTTPS) – Connection 1
4.3
initiation, Closure
4.4 Secure Shell (SSH) – Transport layer protocol 1
4.5 User authentication protocol 1
COMPUTER SCIENCE AND ENGINEERING

4.6 Connection protocol 1


4.7 Secure Electronic Transaction (SET) – Overview, Features, 1
Participants
4.8 Dual signature, Payment processing 1

Module-5 (System Security and Wireless Security) (6 hrs)

Firewalls – Firewall characteristics, Types of Firewalls 1


5.1

5.2 Firewalls – Firewall configurations, Encrypted Tunnels 1

5.3 Trusted systems – Data Access Control, The Concept of Trusted 1


Systems, Trojan Horse Defense
5.4 IEEE 802.11i wireless LAN security - Services, Phases of 1
operation
5.5 Wired Equivalent Privacy (WEP) 1
5.6 Wi-Fi Protected Access (WPA), WPA2 1
COMPUTER SCIENCE AND ENGINEERING

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.

Mapping of course outcomes with program outcomes

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)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Continuous Assessment Tests


Bloom’s End Semester
Category Examination
Test 1 (%) Test 2 (%) Marks (%)

Remember 30 30 30

Understand 30 30 30

Apply 40 40 40

Analyze

Evaluate

Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of Internal Tests 1 & 2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern


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.

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 full questions from each module of which student should answer any one. Each
question can have maximum 2 sub-divisions and carries 14 marks.

Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Describe the necessity of Activation function? Examine the various aspects of sigmoidal
activation function. List the drawbacks. Calculate the net output of the following neural
network using the bipolar and binary sigmoidal activation function.
COMPUTER SCIENCE AND ENGINEERING

2. Explain the architecture of McCulloch-Pitts Neuron network model. Implement


NAND(NOT-AND) gate function using M-P Neuron Model(with binary input).

Course Outcome 2(CO2):


1. Find the weights required to perform classification of patterns shown below using
perceptron network. The patterns (1,1,-1) and ( 1, -1,-1) are belonging to the target class
-1. The patterns (-1,1,1) and (-1,-1,1) are belonging to the target class +1. Assume suitable
learning rate and initial weights.
2. Explain the architecture and training algorithm of Adaline network . Use Adaline nerwork
to train NOR logic function with bipolar inputs and targets. Perform 2 epochs of training.

Course Outcome 3(CO3):


1. There is an imprecise relationship between the ambient temperature for clay masonry
bricks and their compressive strengths. Let X be a fuzzy set of fracture strengths and Y be
a fuzzy set of temperatures with the following membership functions:

(a) Find the Cartesian Product of X and Y and represent it as relation R.


Suppose there is a second fuzzy set of masonry lengths given as

(b) Find S=ZoR using max-min composition (c) Find T=ZoR using max-product composition
COMPUTER SCIENCE AND ENGINEERING

2. Given two universes X={x1,x2,x3,x4,x5} and Y={y1,y2,y3,y4,y5},the fuzzy sets A


defined on X and fuzzy set B defined on Y are given below:
0.4 0.7 1 0.8 0.6 0.2 0.6 1 0.9 0.7
𝐴𝐴 = � 𝑥𝑥1 + 𝑥𝑥2 + 𝑥𝑥3 + 𝑥𝑥4 + 𝑥𝑥5 � 𝐵𝐵 = � 𝑦𝑦1 + 𝑦𝑦2 + 𝑦𝑦3 + 𝑦𝑦4 + 𝑦𝑦5 �

(i)Find the relation R = A × B


0.4 1 0.8
Consider another fuzzy set C defined on the universe V={v1,v2,v3}, 𝐶𝐶 = � 𝑣𝑣1 + 𝑣𝑣2 + 𝑣𝑣3 �
(ii) Find P = B × C. Using max-min composition, Find RoP.

Course Outcome 4(CO4):


1. Illustrate the various types of cross over with suitable examples.
2. Using Genetic algorithm with Roulette wheel selection method maximize the function
f(x)=x2 over {0, 1, 2, ..., 31} with initial x values of (13, 24, 8, 19). Show one crossover
and mutation.

Course Outcome 5(CO5):


1. Explain strong dominance and weak pareto-optimality.
2. What are the different classifications of neuro-fuzzy hybrid systems?

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

Module - 4 (Fuzzy Inference System & Genetic Algorithm)


Fuzzy Inference Systems - Mamdani and Sugeno types. Fuzzy Logic Controller. Concepts of
genetic algorithm. Operators in genetic algorithm - coding, selection, cross over, mutation.
Stopping condition for genetic algorithm.
Module - 5 (Multi Objective Optimization & Hybrid Systems)
Multi objective optimization problem. Principles of Multi- objective optimization, Dominance and
pareto-optimality. Optimality conditions. Neuro-fuzzy hybrid systems. Genetic – neuro hybrid
systems.

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

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST 444

Course Name: Soft Computing

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Explain the architecture of a simple Artificial Neural network? Compare it with a


biological neuron.

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.

7. Explain Stochastic Universal Sampling with an example.

8. Explain any two mutation methods.

9. Differentiate between linear and nonlinear Multi Objective Optimization Problem.

10. What are the characteristics of neuro fuzzy hybrid systems?


(10x3=30)

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
Udoes 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.

15. (a) Three fuzzy sets are defined as follows: (10)


0.1 0.2 0.3 0.4 1 0.2 0.5 0.7 0.3 0
𝐴𝐴 = � 30 + 60 + 90 + 120 �,𝐵𝐵 = �1 + 2 + 3 + 4 + 5 + 6�,

0.33 0.65 0.92 0.21


𝐶𝐶 = � + + + �
100 200 300 400

Find: (i)𝑅𝑅 = 𝐴𝐴 × 𝐵𝐵 (ii)𝑆𝑆 = 𝐵𝐵 × 𝐶𝐶 (iii)𝑇𝑇 = 𝑅𝑅𝑅𝑅𝑅𝑅, using Max-Min composition


(iv)𝑇𝑇 = 𝑅𝑅𝑅𝑅𝑅𝑅, using Max-Product composition.

(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)

(b) Explain the stopping conditions for genetic algorithm. (6)

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)

(b) What are the properties of dominance relation? (4)

OR

20. (a) Explain Genetic Neuro-Hybrid System with block diagram. Also write the (8)
advantages of Genetic- Neuro Hybrid systems.

(b) Discuss the classification of Neuro-Fuzzy Hybrid System. (6)


COMPUTER SCIENCE AND ENGINEERING

Teaching Plan

No. of
Lecture
No Contents Hours
(35 hrs)

Module-1 (Introduction to Soft Computing & Artificial Neural Network) (6 hours)

1.1 Introduction to Soft Computing 1 hour

Difference between Hard Computing & Soft Computing & Applications of


1.2 1 hour
Soft Computing

Artificial Neurons Vs Biological Neurons, Basic models of artificial neural


1.3 1 hour
networks

1.4 Activation Functions 1 hour

1.5 McCulloch and Pitts Neuron 1 hour

1.6 Hebb network 1 hour

Module-2 (Supervised Learning Network) (7 hours)

2.1 Perceptron networks – Learning rule, Training and testing algorithm 1 hour

2.2 Perceptron networks – Problems 1 hour

2.3 Adaptive Linear Neuron (Lecture I) 1 hour

2.4 Adaptive Linear Neuron (Lecture II) 1 hour

2.5 Adaptive Linear Neuron-Problems (Lecture III) 1 hour

2.6 Back propagation Network (Lecture I) 1 hour

2.7 Back propagation Network (Lecture II) 1 hour

Module-3 (Fuzzy Logic & Defuzzification) (8 hours)

3.1 Introduction to Fuzzy Set, Properties & operations on fuzzy sets 1 hour

3.2 Fuzzy membership functions, Fuzzification 1 hour

3.3 Methods of membership value assignments 1 hour

3.4 Fuzzy relations, Operations on Fuzzy Relation 1 hour


COMPUTER SCIENCE AND ENGINEERING

3.5 Fuzzy Propositions & Fuzzy Implications 1 hour

3.6 Lamda cuts for fuzzy sets 1 hour

3.7 Defuzzification methods(Lecture I) 1 hour

3.8 Defuzzification methods(Lecture II) 1 hour

Module-4 (Fuzzy Inference System & Genetic Algorithm) (6 hours)

4.1 Fuzzy Inference Systems - Mamdani type 1 hour

4.2 Fuzzy Inference Systems - Sugeno type 1 hour

4.3 Fuzzy Logic Controller 1 hour

4.4 Introduction to genetic algorithm, operators in genetic algorithm - coding 1 hour

4.5 Selection, Cross over 1 hour

4.6 Mutation, stopping condition for genetic algorithm 1 hour

Module-5 (Multi-Objective Optimization & Hybrid System) (8 hours)

5.1 MOOP-Linear &Non linear, Convex & Non Convex 1 hour

Principles of MOO-Illustrating Pareto Optimal Solutions, Objectives in


5.2 1 hour
MOO

5.3 Dominance & Pareto-Optimality-Concept of Domination 1 hour

5.4 Properties of Dominance Relation, Pareto Optimality 1 hour

5.5 Procedure for finding a non dominated set 1 hour

5.6 Optimality Conditions 1 hour

5.7 Neuro Fuzzy hybrid system-Classification& characteristics 1 hour

5.8 Genetic –neuro hybrid systems 1 hour


COMPUTER SCIENCE AND ENGINEERING

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)

CO3 Develop fuzzy systems by selecting appropriate membership functions, fuzzification


and defuzzification methods (Cognitive Knowledge Level: Apply)

CO4 Develop solutions using graphical and rule-based methods(Cognitive Knowledge


Level: Apply)

CO5 Make use of fuzzy logic inference to solve real world problems(Cognitive Knowledge
Level: Apply)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2

CO1

CO2

CO3

CO4
COMPUTER SCIENCE AND ENGINEERING

CO5

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Continuous Assessment Tests


Bloom’s End Semester Examination
Category Marks (%)
Test 1 (%) Test 2 (%)

Remember 20 20 20

Understand 50 50 50

Apply 30 30 30

Analyze

Evaluate
Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of Internal Tests1&2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern


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.
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 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 (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

Module - 4 (Fuzzy Inference)


Classical Logic, Fuzzy Logic, Approximate Reasoning, Fuzzy (Rule-Based) Systems - Multiple
conjunctive antecedents, Multiple disjunctive antecedents, Aggregation of fuzzy rules, Graphical
Techniques of Inference.
Module - 5 (Fuzzy Applications)
Applications of Fuzzy Systems - Fuzzy Classification, Fuzzy Pattern Recognition, Fuzzy Control
Systems, Fuzzy Systems and Neural Networks, Fuzzy Clustering, Fuzzy Databases and
Information retrieval systems.
Text Books
1. Fuzzy Logic with Engineering Applications – Timothy J. Ross, Third Edition, John Wiley
and Sons, 2010
2. Fuzzy Sets and Fuzzy Logic: Theory and Applications - George J. Klir and Bo Yuan ,
Prentice Hall, 1995.
Reference Books
1. Kenneth H. Rosen, Discrete Mathematics and Its Applications with Combinatorics and
GraphTheory, Seventh Edition, MGH,2011
2. Trembly J.P and Manohar R, “Discrete Mathematical Structures with Applications to
Computer Science”, TataMc Graw Hill Pub. Co. Ltd., New Delhi,2003.
3. Bernard Kolman, Robert C. Busby, Sharan Cutler Ross, “Discrete Mathematical Structures”,
Pearson Education Pvt Ltd., New Delhi,2003
4. Kenneth H .Rosen, “Discrete Mathematics and its Applications”, 5/e, TataMc Graw Hill Pub.
Co. Ltd, New Delhi2003
Course Level Assessment Questions
Course Outcome1 (CO1):
1. What are the limitations of crisp systems?
2. Explain the difference between randomness and fuzziness.
3. Find some examples of prospective fuzzy variables in daily life.
Course Outcome 2(CO2):
1. The strength of two types of concrete needs to be compared. Four concrete masonry units
(CMUs) from each type of concrete are stressed until they fail. The lowest stress at failure
of a CMU is denoted 1, and the highest stress at failure is denoted 4,so the CMUs are rank
ordered by failure stress, that is, X = {1, 2, 3, 4}. Since “failure” of CMUs is fuzzy, the
membership value for a specific CMU represents the judgment that the CMU really failed.
The following fuzzy sets represent the failure estimates for the two different concrete
types:
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

a) Find the fuzzy relation for the Cartesian product, R, of A and B


b) Introducing another fuzzy set, C, which represents a set of “moderately good”
steel strengths
0.1 0.6 1
𝐶𝐶 = � + + �
𝑠𝑠1 𝑠𝑠2 𝑠𝑠3
Find C◦R using max–min composition

Course Outcome 3(CO3):


1. Using your own intuition and your own definitions of the universe of discourse,plot fuzzy
membership functions for “age of people” who are:
(i) very young
(ii) young
(iii) middle-aged
(iv) old
2. a) Define membership functions for approximately isosceles triangle, approximately
equilateral and approximately right-angled triangles.
b) Find the membership value for the triangle represented by the angles 80◦, 75◦, 25◦, in the
above triangles.
3. In metallurgy, materials are made with mixtures of various metals and other elements to
achieve certain desirable properties. In a particular preparation of steel, three elements,
namely, iron, manganese, and carbon, are mixed in two different proportions. The samples
obtained from these two different proportions are placed on a normalized scale and are
represented as fuzzy sets A1 and A2. Do a logical union of the membership functions A1 and
A2 and find the defuzzified value of the resulting membership function.
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 4(CO4): .


1. Consider the following two discrete fuzzy sets, which are defined on universeX = {−5, 5}:
0 0.5 1 0.5 0
𝐴𝐴 = "𝑧𝑧ⅇ𝑟𝑟𝑟𝑟" = � + + + + �
−2 −1 0 1 2
0 0.6 1 0.6 0
𝐵𝐵 = "𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚" = � + + + + �
0 1 2 3 4
Construct the relation for IF x is “zero” THEN y is “positive medium”

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.

Course Outcome 5(CO5):


1. A fuzzy systems needs to be designed to provide a rating for a web store as “excellent”,
“good” or “poor”. The web store can be rated based on the products available, the
customer service and the discount provided. Design appropriate membership functions and
fuzzy rules for generating the fuzzy based rating system.
2. Design a fuzzy control system for an air-conditioning application. Make appropriate
decisions regarding inputs and outputs.
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST454

Course Name: Fuzzy Set Theory and Applications

[Link] Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Illustrate where a fuzzy logic based application is suitable.

2. Consider a LAN using Ethernet protocol with maximum bandwidth of 10 Mbps.


Traffic rates can be represented using two fuzzy variables, Quiet and Congested. If
the universal set X = {0,1,2,3,4,5,6,7,8,9,10} represents bandwidth usage in Mbps,
then draw possible membership functions for the fuzzy variables.

3. Define fuzzy tolerance and equivalence relations.

4. Given two data points, illustrate how a similarity measure between them can be
computed.

5. Define a convex normalized fuzzy set.

6. How does augmented query help in information retrieval.

7. Given the propositions


(i) C˅D
(ii) ~H => (A ˄ ~B)
(iii) (C ˅ D) => ~H
COMPUTER SCIENCE AND ENGINEERING

(iv) (A ˄ ~B) => (R ˅ S)


Infer (R ˅ S) from the above propositions and state the tautologies used.

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.

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 ⎦

10. Define maximum approaching degree.


(10x3=30)

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

Find fuzzy Cartesian product, R, of A and B.

(b) Let a fuzzy set C= �0.1 + 0.6 1


+ � be introduced, which represents a set of (5)
𝑠𝑠1 𝑠𝑠2 𝑠𝑠3
“moderately good” steel strength. Find the max-min composition of C and R.

(c) Define 5 operations associated with crisp relations. (5)

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.

(c) Illustrate any 4 operations associated with a fuzzy relation. (6)


COMPUTER SCIENCE AND ENGINEERING

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.

(b) Given a fuzzy set “tall” = �0.1 + 0.6


+
1
�, illustrate how the fuzzy set “very (4)
𝑠𝑠1 𝑠𝑠2 𝑠𝑠3
tall” be defined?

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

X = universe of temperatures (degree fahrenheit) = {160, 165, 170, 175, 180,


185, 190, 195}.
Y = universe of distillate fractions (percentage) = {77, 80, 83, 86, 89, 92, 95,
98}.
Given two fuzzy sets
0 0.7 1 0.4
A = “temperature of input steam is hot”= �175 + 180 + 185 + 190 �
COMPUTER SCIENCE AND ENGINEERING

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)

(b) Illustrate how the join operation is performed in fuzzy databases. (7 )

Teaching Plan
No. of
Lecture
No Contents Hours
(36 hrs)
Module-1(Basic Fuzzy Set Theory) (6 hours)

Introduction to Fuzzy Concepts – Case for imprecision- utility and limitations


1.1 1 hour
of Fuzzy Systems
1.2 Classical Sets – Properties, Operations 1 hour
1.3 Fuzzy Sets – Properties, Operations 1 hour
1.4 Classical Relations – Properties, Operations – Cartesian Product, 1 hour
COMPUTER SCIENCE AND ENGINEERING

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

4.8 Illustration of Graphical Techniques for Inference 1 hour


COMPUTER SCIENCE AND ENGINEERING

4.9 Fuzzy Inference - Exercises 1 hour


Module-5 (Fuzzy Applications) (8 hours)
5.1 Fuzzy Control Systems 1 hour
5.2 Illustration of Fuzzy Control Systems 1 hour
5.3 Fuzzy Classification 1 hour
5.4 Fuzzy Pattern Recognition 1 hour
5.5 Fuzzy Systems and Neural Networks 1 hour
5.6 Fuzzy Clustering 1 hour
5.7 Fuzzy Databases 1 hour
5.8 Fuzzy Information Retrieval Systems 1 hour
COMPUTER SCIENCE AND ENGINEERING

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

CO1 Describe the characteristics of different hardware/software components of an


embedded system. (Cognitive Knowledge Level: Understand)

CO2 Map the design of an embedded system to an appropriate computational model.


(Cognitive Knowledge Level: Apply)

CO3 Recommend appropriate process synchronization / communication / scheduling


mechanisms for specific system scenarios. (Cognitive Knowledge Level: Analyze)

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)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2

CO1

CO2
COMPUTER SCIENCE AND ENGINEERING

CO3

CO4

CO5

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work


Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Lifelong learning

Assessment Pattern

Continuous Assessment Tests


Bloom’s End Semester Examination
Category Marks (%)
Test 1 (%) Test 2 (%)

Remember 20 20 20

Understand 50 50 50

Apply 30 30 30

Analyze

Evaluate
Create
COMPUTER SCIENCE AND ENGINEERING

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of Internal Tests 1 & 2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern


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 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 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.

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 full questions from each module of which student should answer any one. Each
question can have a maximum of 2 subdivisions and carries 14 marks.

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.

Module 4 – ( Embedded Firmware Design and Development, and EDLC )

Embedded Firmware Design and Development – Firmware Design Approaches, Firmware


Development Languages. Integration of Embedded Hardware and Firmware.

Embedded Product Development Life Cycle – Objectives, Different Phases, Modeling Techniques
– Waterfall Model, Incremental Model, Evolutionary Model, Spiral Model.

Module 5 ( Embedded System Industry – Case Studies and Applications )

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:

1. K. V. Shibu, Introduction to Embedded Systems, McGraw Hill Education, Second Edition,


2017.
2. James K. Peckol, Embedded Systems: A Contemporary Design Tool, John Wiley & Sons,
Second Edition, 2019.
3. Marilyn Wolf, Computers as Components-Principles of Embedded Computing System
Design, Morgan Kaufmann, Elsevier, Fourth Edition, 2016.

References:

1. Jorgen Staunstrup and Wayne Wolf, Hardware/Software Co-Design: Principles and


Practice, Springer Science & Business Media, 2013.
2. Raj Kamal, Embedded Systems: Architecture, Programming and Design. Tata McGraw-
Hill Education, 2011.
3. Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, and Gunar Schirner, Embedded
System Design: Modeling, Synthesis and Verification, Springer Science & Business
Media, 2009.
4. Peter Marwedel, Embedded System Design: Embedded Systems Foundations of Cyber-
Physical Systems, and the Internet of Things, Springer, 2017.

Course Level Assessment Questions


Course Outcome 1 (CO1):

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.

Course Outcome 2 (CO2):

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();

Course Outcome 3(CO3):


1. Explain the working of spin locks. When are spin locks preferred to sleep and wake up
mechanisms to synchronize process execution?
2. Assume 3 tasks with the following characteristics:

Task Arrival Time Execution Time


A 0 7
B 2 9
C 4 6

● 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): .

1. Differentiate General Purpose Operating System (GPOS) from Real-Time Operating


System (RTOS).

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.

Course Outcome 5(CO5):

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.

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST464

Course Name: Embedded Systems

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Differentiate between PLD and ASIC.

2. List the factors that need to be considered in the selection of memory for embedded
systems.

3. How does building an embedded system become a hardware-software co-design


problem?

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.

9. Why are traditional databases not preferred in embedded devices?

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)

Introduction–Embedded Systems, Characteristics and Quality Attributes of


1.1 1 hour
Embedded Systems
1.2 System Core (Microprocessors, Microcontrollers, DSP, ASICs, PLDs) 1 hour
1.3 System Core (Microprocessors, Microcontrollers, DSP, ASICs, PLDs) 1 hour
Memory (Different ROMs and RAMs), Sensors and Actuators, I/O
1.4 1 hour
Subsystem Interface
1.5 Communication Interface 1 hour
Embedded Firmware, Other System Components (Reset and Brown-out
1.6 Protection Circuits, Oscillator Unit, Real-Time Clock, Watchdog Timer), 1 hour
Printed Circuit Board.
Embedded System Design Process – Requirements, Specification,
1.7 1 hour
Architecture Design.
Embedded System Design Process–Designing Hardware and Software
1.8 1 hour
Components, System Integration.
Module-2 (System Modeling and Hardware Software Co-Design) (6 hours)
Computational Models in Embedded Design – Data Flow Graph, Control
2.1 1 hour
Data Flow Graph
Computational Models in Embedded Design – State Machine Model,
2.2 1 hour
Sequential Program Model
COMPUTER SCIENCE AND ENGINEERING

Computational Models in Embedded Design – Concurrent Process Model,


2.3 1 hour
Object-Oriented Model.
Hardware Software Co-Design – Traditional Embedded Development Cycle,
2.4 1 hour
History, Advantages of the Co-Design Methodology
2.5 The Co-Design Process 1 hour
Fundamental Issues in Hardware Software Co-Design. Hardware software
2.6 1 hour
trade-offs.
Module-3 (Real-Time Embedded System Design) (7 hours)
3.1 Task Communication–Shared Memory, Message Passing 1 hour
3.2 Task Communication–Remote Procedure Call and Sockets 1 hour
3.3 Task Synchronization–Synchronization Issues – Race Condition, Deadlock 1 hour
Task Synchronization–Synchronization Issues – Priority Inversion, Priority
3.4 1 hour
Inheritance, Priority Ceiling.
3.5 Synchronization Techniques – Spin Lock, Sleep & Wakeup, Semaphores 1 hour
3.6 Synchronization Techniques – Spin Lock, Sleep & Wakeup, Semaphores 1 hour
Selection of an RTOS for an Embedded Design – Functional and Non-
3.7 1 hour
Functional Requirements
Module-4 (Embedded Firmware Design and Development, and EDLC) (6 hours)
4.1 Firmware Design Approaches 1 hour
4.2 Firmware Development Languages 1 hour
4.3 Firmware Development Languages 1 hour
4.4 Integration of Embedded Hardware and Firmware 1 hour
4.5 Embedded Product Development Life Cycle–Objectives, Different Phases 1 hour
Embedded Product Development Life Cycle – Modeling Techniques –
4.6 Waterfall Model, Incremental Model, Evolutionary Model, Spiral Model 1 hour
(Review Only)
Module-5 (Embedded System Industry – Case Studies and Applications) (8 hours)
5.1 Design Case Studies–Battery Operated Smart Card Reader 1 hour
5.2 Design Case Studies–Automated Meter Reading System 1 hour
5.3 Design Case Studies–Smart Watch 1 hour
COMPUTER SCIENCE AND ENGINEERING

Automotive and Aerospace Systems – Networked Control Systems in Cars


5.4 1 hour
and Airplanes
Automotive and Aerospace Systems – Vehicular Networks – CAN bus,
5.5 1 hour
Time-triggered Architecture, FlexRay and LIN
Internet of Things Systems – IoT System Architectures – Use Cases (Smart
5.6 1 hour
Appliance, Monitoring and Control Systems)
Internet of Things Systems – Networks for IoT – Networking concepts,
5.7 1 hour
Bluetooth, Bluetooth Low Energy, 802.15.4, ZigBee and WiFi.
Internet of Things Systems – Databases and Timewheels, Smart Home
5.8 1 hour
Example
COMPUTER SCIENCE AND ENGINEERING

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).

Implement a computer vision system for a specific problem (Cognitive Knowledge


CO5
Level: Apply)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3
COMPUTER SCIENCE AND ENGINEERING

CO4

CO5

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Lifelong learning

Assessment Pattern

Continuous Assessment Tests


Bloom’s End Semester Examination
Category Marks (%)
Test 1 (%) Test 2 (%)

Remember 30 30 30

Understand 50 50 50

Apply 20 20 20

Analyze

Evaluate
Create
COMPUTER SCIENCE AND ENGINEERING

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of Internal Tests1&2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern


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.
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 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 (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

Module - 2(Local Image Features and Stereo Vision)


Image Gradients - Computing the Image Gradient, Gradient Based Edge and Corner Detection.
Stereopsis- Binocular Camera Geometry, Epipolar Constraint, Binocular Reconstruction, Local
Methods for Binocular Fusion, Global Methods for Binocular Fusion.
Module - 3 (Segmentation)
Segmentation - Background subtraction, Interactive segmentation, Forming image regions.
Segmentation by clustering - Watershed Algorithm. Motion Segmentation by Parameter
Estimation- Optical Flow and Motion, Flow Models, Motion Segmentation with Layers.
Module- 4 (Classification and Tracking)
Classification - Classification Basics, Two-class and Multiclass classifiers, Error, Overfitting and
Regularization, Cross Validation, Classifying Images of Single Objects.
Tracking - Tracking Basics, Simple Tracking Strategies, Tracking by detection, Tracking Linear
Dynamical models with Kalman filters.
Module - 5 (Finding Objects and other Applications)
Object detection - The Sliding Window Method. Object Recognition -Goals of Object Recognition
System. Applications - Robot Navigation by stereo vision, Face detection, Face recognition,
Activity Recognition, Tracking people.
Text Books
1. Forsyth, David, and Jean Ponce. Computer vision: A modern approach. Prentice hall,
2011.
Reference Books
1. Szeliski, Richard, Computer vision: algorithms and applications. Springer Science &
Business Media, 2010.
2. Medioni, Gerard, Emerging topics in computer vision. and Sing Bing Kang. Prentice Hall
PTR, 2004.
3. Trucco, Emanuele, and Alessandro Verri, Introductory techniques for 3-D computer vision.
Vol. 201. Englewood Cliffs: Prentice Hall, 1998.
4. Faugeras, Olivier, and Olivier Autor Faugeras, Three-dimensional computer vision: a
geometric viewpoint. MIT press, 1993.
Course Level Assessment Questions
Course Outcome 1 (CO1):
1. Explain the relationship between coordinates involved in a pinhole camera imaging setup.
2. Explain the basic principle behind geometric camera calibration.
3. Describe how linear filters can be used for smoothing digital images.
4. How does normalised correlation help in matching patterns in images?
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 2 (CO2):


1. Describe edge detection methods for computer vision.
2. List any five applications of object recognition.
3. Explain how the epipolar constraint simplifies the correspondence search between
two stereo images.
4. List and explain the different methods used for binocular fusion.
5. Explain the different corner detection methods.
Course Outcome 3 (CO3):
1. Explain the principle of background subtraction.
2. Describe the watershed algorithm for image segmentation.
3. What is meant by optical flow? How can it be utilized for segmenting images?
4. Describe motion segmentation with layers.
5. What is overfitting in the context of classification?
6. Explain the principle behind classification of single images.
Course Outcome 4 (CO4):
1. Explain ‘Mean Shift Algorithm’ to track an object using matching.
2. Describe an algorithm to track a moving object (dynamic object).
3. Explain the sliding window method for object detection.
4. Assume that we have the dynamics
𝑥𝑥𝑖𝑖 ~ 𝑁𝑁(𝑑𝑑𝑖𝑖 𝑥𝑥𝑖𝑖−1 , 𝜎𝜎𝑑𝑑2𝑖𝑖 )
𝑦𝑦𝑖𝑖 ~𝑁𝑁(𝑚𝑚𝑖𝑖 𝑥𝑥𝑖𝑖 , 𝜎𝜎𝑚𝑚2 𝑖𝑖 )
a. 𝑃𝑃(𝑥𝑥𝑖𝑖 |𝑥𝑥𝑖𝑖−1 ) is a normal density with mean 𝑑𝑑𝑖𝑖 𝑥𝑥𝑖𝑖−1 and variance 𝜎𝜎𝑑𝑑2𝑖𝑖 . Whatis(𝑥𝑥𝑖𝑖−1 |𝑥𝑥𝑖𝑖 ) ?
b. Show how to obtain a representation of 𝑃𝑃(𝑥𝑥𝑖𝑖 |𝑦𝑦𝑖𝑖+1 , . . . , 𝑦𝑦𝑁𝑁 ) usinga KalmanFilter.

Course Outcome 5(CO5):


1. Explain how to implement a computer vision system.
2. Illustrate a computer vision system with the help of a neat diagram.
3. Discuss the components of a computer vision system for object recognition.
4. Explain how activity recognition can be done using computer vision.
5. Illustrate a face recognition system with the help of a diagram.
Assignment Questions
6. Implement a voxel-based approach to visual hull construction.
7. Implement a computer vision system for object recognition.
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 3

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST474

Course Name: COMPUTER VISION

[Link] Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. State three properties of shift invariant linear systems.

2. Explain the term normalized correlation.

3. What is image rectification? Mention its significance?

4. Illustrate epipolar geometry and showepipolar lines and epipoles.

5. Explain the term flow model.

6. How does background subtraction help in segmenting an image?

7. What is a Kalman filter? Give its applications.

8. State any three simple tracking strategies.

9. State the goals of an object recognition system.

10. Explain the task of face recognition. (10x3=30)

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)

15. (a) Discuss the different interactive segmentation approaches. (7)

(b) What is meant by optical flow? How can it be utilized for segmenting (7)
images?

OR
16. (a) Explain the Watershed algorithm. (7)

(b) How can we perform motion segmentation by parameter estimation? (7)

17. (a) Explain tracking algorithm using Kalman filtering. (7)

(b) Illustrate the tracking by detection 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

3.1 Segmentation basics 1


3.2 Applications - Background Subtraction, Interactive 1
Segmentation
3.3 Forming Image Regions 1
3.4 Segmentation by clustering - The Watershed Algorithm 1
3.5 Motion Segmentation by Parameter Estimation - Optical 1
Flow and Motion
3.6 Flow Models and Motion Segmentation with Layers 1
Module 4 Classification and Tracking (8)
4.1 Classification Basics, Two-class and Multiclass classifier 1
4.2 Error, Overfitting and Regularization 1
4.3 Cross Validation, Classifying Images of Single Objects 1
4.4 Tracking Basics, Simple Tracking Strategies 1
4.5 Tracking by detection 1
4.6 Linear Dynamical models 1
4.7 The Kalman Filter background 1
4.8 Kalman filter algorithm 1
Module 5 Finding Objects and other Applications (7)
5.1 Detecting Objects in Images- The Sliding Window Method 1
5.2 Object Recognition - Goals of Object Recognition System 1
5.3 Application of binocular stereo vision - Robot Navigation 1
5.4 Face detection 1
5.5 Face recognition 1
5.6 Activity recognition 1
5.7 Tracking people 1
COMPUTER SCIENCE AND ENGINEERING

SEMESTER VIII
PROGRAM ELECTIVE IV
COMPUTER SCIENCE AND ENGINEERING

FORMAL METHODS AND CATEGORY L T P CREDIT


YEAR OF
INTRODUCTION
CST416 TOOLS IN SOFTWARE
ENGINEERING PEC 2 1 0 3 2019

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.

Pre-requisites: Fundamental knowledge in Formal Methods and Software Engineering

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)

CO2 Demonstrate conceptual modelling of systems using Alloy.(Cognitive Knowledge


Level: Apply)

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)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2

CO1

CO2

CO3

CO4
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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
Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of Internal Tests1&2) 25 marks

Continuous Assessment Assignment 15 marks


Internal Examination Pattern
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.
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 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)
Stages in software development; software defects –causes of software defects; techniques for
dealing with software defects-Testing and verification, formal methods and tools.
Module– 2 (Ensuring reliability in the design phase)
Conceptual modelling, the tool Alloy, conceptual modelling in Alloy, Analysing Alloy models,
Fixing bugs in modelling, How Alloy works? Show that the Konigsberg Bridge Problem has no
solution.
Module - 3 (Verification by Model Checking)
Verifier for Concurrent C (VCC): a Hoare-Triple- based tool for Verifying Concurrent C, intra-
procedure verification of programs, ghost statements.
Module–4 (Program Verification)
Inter-procedure verification of programs in VCC, function contracts, pure functions, loop-
invariants, proving total correctness of programs in VCC.
COMPUTER SCIENCE AND ENGINEERING

Module–5 (Ghost Language and Ownership in VCC)


Ghost Language of VCC, modelling programs in the ghost language, verification of a C program
with respect to a ghost model, ownerships in VCC, Refinement for proving correctness, Proving
refinements in VCC, Example problems
Text Books
1. Daniel Jackson, Software Abstractions, MIT Press, 2011.
Reference Materials
1. Tutorial for Alloy Analyzer 4.0
2. E. Cohen, M. A., Hillebrand, S. Tobies, M. Moskal, W. Schulte, Verifying C Programs: A
VCC Tutorial, Working draft, version 0.2, July 10, 2015.
3. The VCC Manual, Working draft, version 0.2, April 7, 2016.

Course Level Assessment Questions


Course Outcome1 (CO1):
1. Is the following code segment to increment a number safe? If not, provide the reason.
int increment(int x)
{
return ++x;
}
Course Outcome 2 (CO2):

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.

Course Outcome 3 (CO3):

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

Course Outcome 4 (CO4):

1. Write and verify a program that sorts the elements of an array in non-decreasing order. Use
VCC for verification.

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST416

Course Name: Formal Methods and Tools in Software Engineering

[Link] Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Give an example of a software defect.

2. Explain the benefits of formal models in software engineering.

3. Draw the architecture of Alloy.

4. With an example, explain a predicate in Alloy.

5. Define Loop Invariant. Give an example.

6. Describe the purpose of Hoare Logic.

7. State a sufficient condition required in the assert statement below to provide the
COMPUTER SCIENCE AND ENGINEERING

correctness of the function smallest.


int smallest(int x, int y)
{
int val;
if (x<=y)
val = x;
else
val = y;
assert(….);
return val;
}

8. Explain inter-procedure verification of programs in VCC.

9. Why do you need a specification language like Ghost for VCC?

10. Give the difference between \writable and \writes in VCC.


(10x3=30)

Part B
(Answer any one question from each module. Each question carries 14 Marks)

11. a Explain the stages in software development. (10)

b Differentiate between testing and verification. (4)

OR

12. (a) Explain the important causes of software defects. (7)

(b) Describe the terms Formal Methods and Formal Verification. (7)

13. (a) Model the following system in Alloy Analyzer. (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.

Add a predicate to check whether marriage between siblings is possible in the


above system.
COMPUTER SCIENCE AND ENGINEERING

(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

14. (a) Model an operating system as follows. (7)


// The following signature models the set of all tasks in the system
sig Task {}
// Following signature models the operating system
one sig OS {
free: set Task, // set of free tasks in the OS, which are ready to be created
ready: set Task, // set of ready tasks
deleted: set Task, // set of deleted tasks
running: one Task // the currently running task
}

Add the following properties


P1: The running task is also in the ready state.
P2: There is at least one free task (in order to enable task creation)
P3: Each task is in exactly one of the three states free, ready, deleted.

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.

15. (a) Use Hoare Logic to prove (6)


(i) {𝑧𝑧 = 2} 𝑦𝑦: = 𝑥𝑥 {𝑦𝑦 = 𝑥𝑥}
(ii) {𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡} 𝑥𝑥: = 2; 𝑦𝑦: = 𝑥𝑥 {𝑦𝑦 = 2 ˄ 𝑥𝑥 = 2}

(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}

(b) Illustrate assertions and assumptions in VCC. (6)

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.

(b) Write notes on inter-procedure verification of programs in VCC. (4)

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)

(b) Illustrate how refinements are proved in VCC. (7)

OR

20. (a) Explain the Ghost language of VCC (7)

(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)

1.1 Stages in software development. 1 hour

1.2 Software defects and causes of software defects. 1 hour

1.3 Techniques for dealing with software defects. 1 hour

1.4 Testing and verification. 1 hour

1.5 Formal methods and formal verification. 1 hour

Module-2 (Conceptual Modelling in Alloy) (7 hours)


2.1 Introduction to Conceptual modelling. 1 hour
2.2 Overview of Alloy, Architecture of alloy. 1 hour

2.3 Conceptual modelling in Alloy. 1 hour

2.4 Analysing Alloy models. 1 hour

2.5 Fixing bugs in modelling. 1 hour

2.6 How Alloy works? 1 hour

2.7 Show that the Konigsberg Bridge Problem has no solution. 1 hour

Module-3 (Hoare Logic and Introduction to VCC) (11 hours)

3.1 Introduction to VCC. 1 hour

Verifying C programs in VCC- Assertions, Logical Operators and


3.2 1 hour
Quantifiers, Assumptions, Overflows and unchecked arithmetic.
Hoare Logic - Simple Imperative Programming Language, Partial
3.3 1 hour
Correctness Specification.
Meaning of Hoare Triples, Hoare-Triple- based tool for Verifying
3.4 1 hour
Concurrent C.
COMPUTER SCIENCE AND ENGINEERING

3.5 Partial vs. Total Correctness, Proving Partial Correctness. 1 hour


Inference Rules for the Simple Imperative Programming Language (Lecture
3.6 1 hour
1).

Inference Rules for the Simple Imperative Programming Language (Lecture


3.7 1 hour
2).
3.8 Weakest Precondition. 1 hour
3.9 Invariant vs. Inductive Invariant. 1 hour
3.10 Intra-procedure verification of programs. 1 hour
3.11 Verification of Hoare Triples. 1 hour
Module-4 (Program Verification) (6 hours)
4.1 Inter-procedure verification of programs in VCC. 1 hour
4.2 Function contracts. 1 hour
4.3 Pure functions. 1 hour
4.4 Quantifiers, loop-invariants and Object invariant. 1 hour
4.5 Triggers in VCC. 1 hour
4.6 Proving total correctness of programs in VCC. 1 hour
Module-5 (Ghost Language and Ownership in VCC) (7 hours)
5.1 Ghost Language of VCC. 1 hour
5.2 Modelling programs in the ghost language. 1 hour
5.3 Verification of a C program with respect to a ghost model. 1 hour
5.4 Ownerships in VCC. 1 hour
5.5 Phrasing refinement conditions in VCC. 1 hour
5.6 Proving refinements in VCC, Example problems (Lecture 1). 1 hour
5.7 Proving refinements in VCC, Example problems (Lecture 2). 1 hour
COMPUTER SCIENCE AND ENGINEERING

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.

Prerequisite: Computer Networks

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)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of


Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Continuous Assessment Tests End Semester


Bloom’s Category Examination Marks
Test 1 (Marks) Test 2 (Marks)

Remember 30 30 30
Understand 70 70 50
Apply
Analyse

Evaluate

Create

Mark distribution

Total CIE ESE ESE


Marks Duration
Marks Marks
150 50 100 3 hours

Continuous Internal Evaluation Pattern:

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.

Sample Course Level Assessment Questions

Course Outcome 1 (CO1):


1. Explain the driving forces behind the development of Client/ Server system from
different perspectives.

Course Outcome 2 (CO2):


1. How two-tier computing and three-tier computing improves the performance of
Client/Server system.

Course Outcome 3(CO3):


1. Explain the role of client in Client/Server computing and also explain the various
services provided by client.
2. What is the primary motivation behind the RPC facility ? How does a RC facility
makes the job of distributed application programmers simpler?
3. Implement RPC concept using suitable language/tool(Assignment)

Course Outcome 4 (CO4):


1. Explain Connectivity and Communication Interface Technology in Client/Server
application. How does transmission protocol work in Client/Server application?

Course Outcome 5 (CO5):


[Link] the role of web browser for providing web service in Client/Server
environment.
2. Identify and explain the social relevance of web services (Assignment)
COMPUTER SCIENCE AND ENGINEERING
Syllabus
Module – 1 (Introduction)

Introduction to Client/Server computing - Driving forces behind Client/ Server, Client/


Server development tools, Development of client/server systems, Client/Server security,
Organizational Expectations, Improving performance of client/server applications, Single
system image, Downsizing and Rightsizing, Advantages of client server computing,
Applications of Client/Server.

Module -2 (Client/Server Application Components)

Classification of Client/Server Systems- Two-Tier Computing, Middleware, Three-Tier


Computing- Model View Controller (MVC), Principles behind Client/Server Systems.
Client/Server Topologies. Existing Client/Server Architecture. Architecture for Business
Information System.

Module -3 (Client/Server Network)

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).

Server- Detailed server functionality, Network operating system, Available platforms,


Server operating system.

Module -4 (Client/ Server Systems Development)

Services and Support- System administration, Availability, Reliability, Scalability,


Observability, Agility, Serviceability. Software Distribution, Performance, Network
management. Remote Systems Management- RDP, Telnet, SSH, Security. LAN and
Network Management issues, Training, Connectivity, Communication interface
technology, Interprocess communication, Wide area network technologies, Network
Acquisition, PC-level processing unit, X-terminals, Server hardware.

Module -5 (Client/Server Technology and Web Services)

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

1. Patrick Smith & Steave Guengerich, “Client / Server Computing”, PHI


2. Dawna Travis Dewire, “Client/Server Computing”, TMH

Reference Books

1. Jeffrey [Link], “Novell’s Guide to Client-Server Application & Architecture” Novell


Press
2. Robert Orfali, Dan Harkey, Jeri Edwards, Client/Server Survival Guide, Wiley-
India Edition, Third Edition
3. W. H. Inman, Developing Client Server Applications, BPB

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST426

Course Name : Client Server Architecture

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. How client/server computing environment is different from mainframe based


computing environment?

2. Write short notes on single system image and downsizing.

3. Discuss the topologies of Clients/Server system with suitable examples.

4. Discuss the relevance of Clients/Server system in adopting open system standards.


Justify your answer.
COMPUTER SCIENCE AND ENGINEERING

5. Enumerate the services provided in a client/server system.

6. List out the features of network operating system.

7. How interposes communication is established?.

8. Write short note on x-terminals.

9. Explain the history of web services.

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.

(b) Explain the various Clients/Server system development tools. (4)

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.

(b) List out the principles behind client/server systems . (4)

OR

14. (a) Explain the architecture of Business Information System. (10)

(b) Explain different ways to improve performance in Client/Server developed (4)


applications.

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

16. (a) Explain the architecture of CORBA. (10)

(b) Explain the server functionality in detail, for Client/Server computing. (4)

17. (a) Explain Connectivity and Communication Interface Technology in (10)


Client/Server application. How does transmission protocol work in
Client/Server application?

(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

(b) How remote systems management security is ensured in a Client/Server (4)


application.

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

20. (a) Explain end-to-end working of Client/Server web model. (10)

(b) Explain the architecture of Transformational system. (4 )


COMPUTER SCIENCE AND ENGINEERING
Teaching Plan

Sl Contents No. of
No Lecture
Hours (35)
Module- 1( Introduction) (7 hours)

Driving forces behind Client/ Server


1.1 1 hour
1.2 Client Server development tools 1 hour
1.3 Development of client/server systems
1 hour
1.4 Client/Server security, Organizational Expectations 1 hour

1.5 Improving performance of client/server applications 1 hour


1.6 Single system image, Downsizing and Rightsizing 1 hour
1.7 Advantages and Applications of client server computing 1 hour

Module- 2(Client/Server Application Components) (8 hours)

2.1 Classification of Client/Server Systems


1 hour
2.2 Open System Standards 1 hour

2.3 Two-Tier Computing 1 hour


2.4 Three-Tier Computing, Middleware 1 hour
2.5 Principles behind Client/Server Systems 1 hour

2.6 Client/Server Topologies 1 hour


2.7 Existing Client/Server Architecture 1 hour

2.8 Architecture for Business Information System 1 hour


Module- 3(Client/Server Network) (6 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

3.6 Available platforms, the server operating system 1 hour

Module- 4( Client Server Systems Development) (7 hours)

4.1 Services and Support, System administration 1 hour

4.2 Availability, Reliability, Scalability, Observability, Agility Serviceability, 1 hour


Software Distribution, Performance

4.3 Network management, Remote Systems Management, RDP,Telnet,SSH 1 hour


4.4 Security ,LAN and Network Management issues 1 hour
4.4 Training, Connectivity, Communication interface technology 1 hour

4.5 Interposes communication, wide area network technologies 1 hour

4.6 Network Acquisition, PC-level processing unit, x-terminals, server 1 hour


Hardware

Module -5(Client/Server Technology And Web Services) (7 hours)

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

5.5 SaaS, Web Sockets ,Client/Server Technology and Web Applications


1 hour
5.6 Balanced Computing and the Server’s Changing Role ,Thin client computing , 1 hour
Computing models, Computing Environment

5.7 Future of client/ server Computing Enabling Technologies, Transformational


system 1 hour
COMPUTER SCIENCE AND ENGINEERING

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.

Prerequisite: Knowledge in Computer Organization and Architecture.

Course Outcomes: After the completion of the course the students will be able to

Summarize the key parallel computational models (Cognitive Knowledge Level :


CO1
Understand)
Appreciate and apply parallel and distributed algorithms in problem Solving (Cognitive
CO2
Knowledge Level :Apply)
Appreciate the communication models for parallel algorithm development (Cognitive
CO3
Knowledge Level : Understand)
Develop parallel algorithms using message passing paradigm (Cognitive Knowledge
CO4
Level : Apply)
Formulate parallel algorithms for shared memory architectures. (Cognitive
CO5
Knowledge Level : Apply)
Demonstrate the fundamental skills of heterogeneous computing with GPUs(Cognitive
CO6
Knowledge Level : Apply)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4
COMPUTER SCIENCE AND ENGINEERING

CO5

CO6

Abstract POs Defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and teamwork

Conduct investigations of
PO4 PO10 Communication
complex problems

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Lifelong learning

Assessment Pattern

Blooms Category Continuous Assessment Tests End Semester


Examination Marks

Test 1 (Percentage) Test 2 (Percentage)

Remember 30 20 20

Understand 50 40 40

Apply 20 40 40
COMPUTER SCIENCE AND ENGINEERING

Analyze

Evaluate

Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3 Hours

Continuous Internal Evaluation Pattern:

Attendance 10 marks
Continuous Assessment Tests 25 marks
Continuous Assessment Assignment 15 marks

Internal Examination Pattern:


Each of the two internal examinations has to be conducted out of 50 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 anyone. Each question
can have a maximum 2 subdivisions and carries 14 marks.
COMPUTER SCIENCE AND ENGINEERING

Syllabus
Module- 1 (Principles of Parallel Algorithm Design)

Basic Introduction to Parallel Processing platforms. Preliminaries, Decomposition Techniques,


Characteristics of Tasks and Interactions, Mapping Techniques for Load Balancing, Methods for
Containing Interaction Overheads, Parallel Algorithm Models.

Module- 2 (Communication Operations)

Basic Communication Operations - One-to-All Broadcast and All-to-One Reduction, All-to-All


Broadcast and Reduction, All-Reduce and Prefix-Sum Operations, Scatter and Gather, All-to-All
Personalized Communication, Circular Shift, Improving the Speed of Some Communication
Operation

Module-3 (Programming Using the Message Passing Paradigm)

Principles of Message-Passing Programming, The Building Blocks: Send and Receive


Operations, MPI: The Message Passing Interface, Overlapping Communication with
Computation, Collective Communication and Computation Operations, Groups and
Communicators.

Module 4 (Programming Shared Address Space Platforms Thread Basics)

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

Module 5 (GPU Programming)


Heterogeneous Parallel Computing, Architecture of a Modern GPU, Speeding up Real
Applications, Data parallel computing, CUDA C Program Structure, A Vector Addition Kernel,
Device Global Memory and Data Transfer, Kernel Functions and Threading, Kernel Launch,
CUDA Thread Organization, Mapping Threads to Multidimensional Data, Synchronization and
Transparent Scalability, Resource Assignment, Querying Device Properties, Thread Scheduling
and Latency Tolerance, Importance of Memory Access Efficiency, Cuda Memory Types, Tiling
for Reduced Memory Traffic, Tiled Matrix Multiplication Kernel, Boundary Checks
COMPUTER SCIENCE AND ENGINEERING

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

1. Steven Brawer, Introduction to Parallel Computing, Academic Press, (1989)

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

Sample Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Differentiate between static and dynamic task mapping
2. Explain partitioning of data with an example
Course Outcome 2 (CO2):
1. Explain the handshaking sequence of Blocking Non-Buffered Send/Receive operation
with a neat diagram.
2. In the algorithm, assume a decomposition such that each execution of Line 7 is 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
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 3 (CO3):


1. Write a procedure for performing all-to-all reduction on a mesh
2. Give a hypercube algorithm to compute prefix sums of n numbers if p is the number of
nodes and n/p is an integer greater than 1. Assuming that it takes time tadd to add two
numbers and time ts to send a message of unit length between two directly-connected
nodes, give an exact expression for the total time taken by the algorithm.
Course Outcome 4(CO4):
1. Show how the two-dimensional matrix-vector multiplication program needs to be changed
so that it will work correctly for a matrix of size n x m on a q x r process grid
2. One of the advantages of non-blocking communication operations is that they allow the
transmission of the data to be done concurrently with computations. Discuss the type of
restructuring that needs to be performed on a program to allow for the maximal overlap of
computation with communication. Is the sending process in a better position to benefit
from this overlap than the receiving process
Course Outcome 5(CO5):
1. Implement a multi-access threaded queue with multiple threads inserting and multiple
threads extracting from the queue. Use mutex-locks to synchronize access to the queue.
Document the time for 1000 insertions and 1000 extractions each by 64 insertion threads
(producers) and 64 extraction threads (consumers).
2. Implement a producer-consumer framework in OpenMP using sections to create a single
producer task and a single consumer task. Ensure appropriate synchronization using locks.
Course Outcome 6 (CO6):
1. Consider a hypothetical block with 8 threads executing a section of code before reaching a
barrier. The threads require the following amount of time (in microseconds) to execute the
sections: 2.0, 2.3, 3.0, 2.8, 2.4, 1.9, 2.6, and 2.9 and to spend the rest of their time waiting
for the barrier. What percentage of the total execution time of the thread is spent waiting
for the barrier?
2. Write and explain the CUDA program for vector addition.
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper


QP CODE: PAGES :3
Reg No: _______________
Name: _________________
APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY
EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR
Course Code: CST436
Course Name: PARALLEL COMPUTING
[Link] Duration: 3 Hours
PART A
Answer All Questions. Each Question Carries 3 Marks

1. Explain partitioning of data with an example

2. Which are the characteristics of tasks influencing the selection of mapping scheme?

3. Describe the scatter - gather communication.

4. Explain the Circular Shift operation.

5. Explain the handshaking sequence of Blocking Non-Buffered Send/Receive


operation with a neat diagram.

6. Describe the six fundamental routines of MPI.

7. Explain thread cancellation.

8. Explain how concurrent tasks are specified in openMP

9. Explain the architecture of modern GPU with a diagram.

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

12. (a) (8)


Differentiate between static and dynamic task mapping

(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

14. (a) (8)


Explain the One-to-All Broadcast and All-to-One Reduction with an example

(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)

(b) Show the impact of finite buffers in message passing. (5)

OR

16. (a) Write algorithm for Collective Communication and Computation Operations
(9)
COMPUTER SCIENCE AND ENGINEERING

using MPI.

(b) How is deadlock avoided in MPI_Send and MPI_Recv (5)

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) Explain the parallel matrix multiplication using openMP (10)

19. (a) (6)


Describe the CUDA Kernel functions.

(b) (8)
How is synchronization between CUDA threads achieved?

OR

20. (a) (10)


Explain the two-level hierarchical organization of CUDA threads.

(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 – 1 (Basic Introduction to Parallel Processing ) (TB-1, Ch. 3) (7 hrs)

1.1 Basic Introduction to Parallel Processing platforms. Preliminaries 1

1.2 Decomposition Techniques – Recursive, Data 1

1.3 Decomposition Techniques – Exploratory, Speculative, Hybrid 1

1.4 Characteristics of Tasks and Interactions 1

1.5 Mapping Techniques for Load Balancing -Static 1

1.6 Mapping Techniques for Load Balancing - Dynamic 1

1.7 Methods for Containing Interaction Overheads, Parallel Algorithm Models. 1

Module- 2 (Basic Communication Operations ) (TB-1, Ch. 4) (6hrs)

2.1 One-to-All Broadcast and All-to-One Reduction 1

2.2 All-to-All Broadcast and Reduction 1

2.3 All-Reduce and Prefix-Sum Operations, Scallter Gather 1

2.4 All-to-All Personalized Communication 1

2.5 Circular Shift 1

2.6 Improving the Speed of Some Communication Operation 1

Module- 3 ( Programming Using the Message Passing Paradigm) (TB-1, Ch. 6 ) (7 hrs)

Principles of Message-Passing Programming, The Building Blocks: Send and


3.1 1
Receive Operations

3.2 MPI: The Message Passing Interface 1

3.3 MPI: The Message Passing Interface : Illustration 1


COMPUTER SCIENCE AND ENGINEERING

3.4 Overlapping Communication with Computation 1

3.5 Overlapping Communication with Computation : Illustration 1

3.6 Collective Communication and Computation Operations 1

3.7 Collective Communication and Computation Operations : Illustration 1

Module 4 (Programming Shared Address Space Platforms) (TB-1, Ch. 7, 8 ) (8hrs)

4.1 Thread Basics, Why Threads? The POSIX Thread API 1

4.2 Synchronization Primitives in POSIX 1

4.3 Controlling Thread and Synchronization Attributes 1

4.4 Thread Cancellation, Composite Synchronization Constructs, 1

4.5 OpenMP: a Standard for Directive Based Parallel 1


Programming

4.6 Specifying Concurrent Tasks in OpenMP, Synchronization Constructs in 1


OpenMP

4.7 Data Handling in OpenMP, OpenMP Library Functions 1

4.8 OpenMP Applications: Parallel algorithm development for Matrix 1


multiplication

Module 5 (GPU Programming) (TB-2, Ch. 1, 2 ) (9 hrs)

5.1 Heterogeneous Parallel Computing, Architecture of a Modern GPU, Speeding 1


up Real Applications

5.2 Data parallel computing – CUDA C Program Structure 1

5.3 Vector Addition Kernel, Device Global Memory and Data Transfer 1

5.4 Kernel Functions and Threading, Kernel Launch 1


COMPUTER SCIENCE AND ENGINEERING

5.5 CUDA Thread Organization, Mapping Threads to Multidimensional Data 1

5.6 Synchronization and Transparent Scalability, Resource Assignment, 1


Querying Device Properties, Thread Scheduling and Latency Tolerance

5.7 Importance of Memory Access Efficiency, Cuda Memory Types 1

5.8 Tiling for Reduced Memory Traffic 1

5.9 Tiled Matrix Multiplication Kernel, Boundary Checks 1


COMPUTER SCIENCE AND ENGINEERING

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.

Prerequisite: Knowledge of probability theory, computation on matrices, basic topics in data


structures, storage and efficiency
Course Outcomes: After the completion of the course the student will be able to

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)

Illustrate various image compression standards. (Cognitive Knowledge level:


CO3 Apply)

Summarize video compression mechanisms to reduce the redundancy in


CO4 video.(Cognitive Knowledge level: Understand)

Use the fundamental properties of digital audio to compress audio


CO5 data.(Cognitive Knowledge level: Understand)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2

CO3
CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation


PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics


PO3 Design/Development of solutions PO9 Individual and team work
Conduct investigations of complex
PO4 problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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

Total Marks CIE Marks ESE Marks ESE Duration


150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of SeriesTests1& 2) 25 marks

Continuous Assessment Assignment 15 marks


COMPUTER SCIENCE AND ENGINEERING

Internal Examination Pattern:

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.

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 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 (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.

Module – 2 (Basic Compression Methods)


Basic Compression Technique- Run length encoding, RLE Text compression. Statistical Methods-
Prefix Codes, Binary Huffman coding, non-binary Huffman Algorithms, Arithmetic Coding.
Module - 3 (Text & Image Compression)
Dictionary based Coding- LZ77, LZ78 and LZW [Link] Compression- Image
standards, JPEG image Compression- Baseline JPEG, JPEG-LS.

Module - 4 (Video Compression)


Video Compression- Analog video, Digital Video, Motion Compensation. MPEG standards-
MPEG 1, MPEG 4

Module - 5 (Audio Compression)


Audio Compression- Basics of Digital Audio, Basic Audio Compression Techniques, MPEG
Audio Compression-Layer 1 coding, Layer 2 coding and Layer 3 coding.
COMPUTER SCIENCE AND ENGINEERING

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.

Course Level Assessment Questions


Course Outcome 1 (CO1):

1. Discuss different types of compression performance metrics


2. Explain mathematical model for lossless compression

Course Outcome 2 (CO2):

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.

Course Outcome 3 (CO3):

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.

Course Outcome 4 (CO4):

1. Briefly explain MPEG-4 video compression standard


2. How H.261 video compression is completed.

Course Outcome 5 (CO5):

1. Explain critical bands, thresholding and masking related to audio compression


2. Explain the working of -law encoder and decoder with an example
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 2

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST446

Course Name: Data Compression Techniques

[Link] Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Specify different quantities used to measure the performance of a data


compression technique

2. Explain mathematical model for lossless compression

3. State and prove Kraft-McMillan inequality

4. Compare Huffman and Arithmetic coding

5. Describe LZ77 approach of encoding a string with the help of an example

6. Compare and contrast JPEG and JPEG-LS differences in working.

7. Discuss different components of video

8. Identify the advantage of MPEG-4 over MPEG

9. Explain critical bands, thresholding and masking related to audio compression

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)

(b) Identify the mathematical preliminaries for Lossless Compression (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)

(b) How Motion Compensation help in video compression (6)

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)

(b) Differentiate Spectral and Temporal Masking (5)

TEACHING PLAN

No Contents No of
Lecture
Hrs (36
Hours)

Module – 1 (Modelling and types of compression) (7 hrs)

1.1 Introduction to Compression Techniques- Lossy compression & Lossless 2


compression, Measures of Performance

1.2 Modelling and coding. 1

1.3 Physical model for lossless compression 1

1.4 Physical model for lossy compression 1

1.5 Probability model for lossless compression 1

1.6 Probability model for lossly compression 1

Module - 2 (Basic Compression Methods) (8 hrs)

2.1 Run length encoding, RLE Text compression 1

2.2 Statistical methods-Prefix Codes 1

2.3 Binary Huffman coding 1

2.4 Illustration of Binary Huffman coding 1

2.5 Non-binary Huffman Algorithms 1

2.6 Arithmetic Coding algorithm 1

2.7 Illustration of Arithmetic Coding algorithm 2


COMPUTER SCIENCE AND ENGINEERING

Module - 3 (Text & Image Compression) (8 hrs)

3.1 LZ77 compression 2

3.2 LZ78 Compression 1

3.3 LZW Compression 1

3.4 Basics of Image compression and Image standards 1

3.5 Baseline JPEG Image compression 1

3.6 JPEG-LS Image compression 1

Module - 4 (Video Compression) (7 hrs)

4.1 Basics of Video Compression- Analog video and Digital Video. 2

4.2 Motion Compensation 1

4.3 MPEG-1 standard and Video Syntax 1

4.4 MPEG-1 Pel Reconstruction 1

4.5 MPEG-4 standard 1

4.6 Functionalities for MPEG-4 1

Module - 5 (Audio Compression) ( 6 hrs)

5.1 Basics of Audio Compression, Digital Audio 1

5.2 Basic Audio Compression Techniques 1

5.3 MPEG Audio Compression basics- Frequency Domain Coding 1

5.4 Encoding: Layers I and II 1

5.5 Encoding: Layer II -Psychoacoustic Models 1

5.6 Psychoacoustic Models - Encoding: Layer III 1


COMPUTER SCIENCE AND ENGINEERING

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)

Mapping of course outcomes with program outcomes

PO PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
1 0 2

CO1

CO2

CO3
COMPUTER SCIENCE AND ENGINEERING

CO4

CO5

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work


Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Lifelong learning

Assessment Pattern

Continuous Assessment Tests


Bloom’s End Semester Examination
Category Marks (%)
Test 1 (%) Test 2 (%)

Remember 20 20 20

Understand 30 30 30

Apply 50 50 50

Analyze

Evaluate
Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Test(Average of Internal Test1&2) 25 marks

Continuous Assessment Assignment 15 marks


Internal Examination Pattern
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 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 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 seven questions, a student
should answer any five.
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 full questions from each module of which student should answer any one. Each
question can have a maximum 2 subdivisions and carries 14 marks.

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.

Module - 2 (Data Preprocessing)


Data Preprocessing-Need of data preprocessing, Data Cleaning- Missing values, Noisy data, Data
Integration and Transformation, Data Reduction-Data cube aggregation, Attribute subset selection,
Dimensionality reduction, Numerosity reduction, Discretization and concept hierarchy generation.
COMPUTER SCIENCE AND ENGINEERING

Module - 3 (Advanced classification and Cluster analysis)


Classification- Introduction, Decision tree construction principle, Splitting indices -Information
Gain, Gini indexDecision tree construction algorithms-ID3, Decision tree construction with
presorting-SLIQ, Classification Accuracy-Precision, Recall.
Introduction to clustering-Clustering Paradigms, Partitioning Algorithm- PAM, Hierarchical
Clustering-DBSCAN, Categorical Clustering-ROCK

Module 4: (Association Rule Analysis)


Association Rules-Introduction, Methods to discover Association rules, Apriori(Level-wise
algorithm), Partition Algorithm, Pincer Search Algorithm, Dynamic Itemset Counting Algorithm,
FP-tree Growth Algorithm.

Module 5 (Advanced Data Mining Techniques)


Web Mining - Web Content Mining, Web Structure Mining- Page Rank, Clever, Web Usage
Mining- Preprocessing, Data structures, Pattern Discovery, Pattern Analysis. Text Mining-Text
Data Analysis and information Retrieval, Basic measures for Text retrieval, Text Retrieval
methods, Text Indexing Techniques, Query Processing Techniques.

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

Course Level Assessment Questions


Course Outcome 1 (CO1):

1. (a) Explain the OLAP operations in a multidimensional model.


(b) Compare the techniques used in ROLAP, MOLAP and HOLAP
2. Explain the various data mining issues with respect to mining methodology, user
interaction and diversity of data types.
3. Suppose that a data warehouse consists of the three dimensions time, doctor, and patient,
and the two measures count and charge, where charge is the fee that a doctor charges a
patient for a visit.
a) Draw star and snowflake schema diagrams for the data warehouse.
b) Starting with the base cuboid [day; doctor; patient], what specific OLAP operations
should be performed in order to list the total fee collected by each doctor in 2004?

Course Outcome 2 (CO2):

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)

Course Outcome 3 (CO3):


1. Illustrate the working of ID3 algorithm with the following example

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)

Course Outcome 4 (CO4):

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)

Course Outcome 5 (CO5):

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.

Model Question Paper


QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST466

Course Name: Data Mining

[Link] Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Differentiate between OLTP and OLAP.

2. Compare the techniques of ROLAP, MOLAP and HOLAP

3. Explain Concept hierarchy with an example.

4. Explain heuristic methods of attribute subset selection techniques.

5. Consider a two-class classification problem of predicting whether a photograph


contains a man or a woman. Suppose we have a test dataset of 10 records with
expected outcomes and a set of predictions from our classification algorithm.
COMPUTER SCIENCE AND ENGINEERING

Calculate precision, recall of the data.

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.

9. Distinguish between focused crawling and regular crawling.

10. Describe any two-text retrieval indexing techniques. (10x3=30)

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

12 (a) Illustrate different OLAP operations in multidimensional data model (7)

(b) Describe different issues in data mining (7)

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.

Name Hair Height Weight Lotion Class


Sarah Blonde Average Light No Sunburn
Dana Blonde Tall Average Yes None
Alex Brown Tall Average Yes None
Annie Blonde Short Average No Sunburn
Emily Red Average Heavy No Sunburn
Pete Brown Tall Heavy No None
John Brown Average Heavy No None
Katie Blonde Short Light Yes None

(b) Explain the working of SLIQ algorithm. (4)

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

T5 I1, I2, I3, I5

T6 I1, I2, I3, I4

Find frequent itemsets using FP Growth algorithm and generate strong


association rules from a three item dataset.

(b) Write partitioning algorithm for finding large itemset and compare its (5)
efficiency with apriori algorithm
COMPUTER SCIENCE AND ENGINEERING

19 (a) Describe web content mining techniques. (7)

(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)

Module 1(Introduction to Data Mining and Data Warehousing) (Text3) (6 hours)

1.1 Data warehouse-Differences between Operational Database Systems and


Data Warehouses, Multidimensional data model- Warehouse schema 1

1.2 OLAP Operations 1

1.3 DataWarehouse Architecture, Data Warehousing to Data Mining 1

1.4 Datamining Concepts and Applications, Knowledge Discovery in Database 1


Vs Data mining

1.5 Architecture of typical data mining system,Data Mining Functionalities 1

1.6 Data Mining Functionalities, Data Mining Issues 1

Module 2(Data Preprocessing) (6 hours) (Text3)

2.1 Data Preprocessing: Need of Data Preprocessing, Data Cleaning- Missing 1


values, Noisy data.

2.2 Data integration 1

2.3 Data transformation 1

2.4 Data Reduction-Data cube aggregation, Attribute subset selection 1

2.5 Data Reduction-Dimensionality reduction 1


COMPUTER SCIENCE AND ENGINEERING

2.6 Numerosity reduction, Discretization and concept hierarchy generation 1

Module 3(Advanced classification and Cluster analysis)(9 hours)(Text2,Text3)

3.1 Classification- Introduction, Decision tree construction principle, Splitting 1


indices-Information Gain, Gini index

3.2 Decision Tree- ID3 1

3.3 Decision Tree- ID3 1

3.4 Decision tree construction with presorting- SLIQ 1

3.5 Accuracy and error measures, evaluation 1

3.6 Introduction to clustering, Clustering Paradigms 1

3.7 Partitioning Algorithm- PAM 1

3.8 Hierarchical Clustering-DBSCAN 1

3.9 Categorical Clustering-ROCK 1

Module 4(Association Rule Analysis) (8 hours) (Text2,Text3,Text1)

4.1 Association Rules: Introduction, Methods to discover association rules 1

4.2 A priori algorithm (Level-wise algorithm) 1

4.3 A priori algorithm (Level-wise algorithm) 1

4.4 Partition Algorithm 1

4.5 Pincer Search Algorithm 1

4.6 Pincer Search Algorithm 1

4.7 Dynamic Itemset Counting Algorithm 1

4.8 FP-tree Growth Algorithm 1

Module 5(Advanced Data Mining Techniques) (7 hours) (Text1, Text3

5.1 Web Mining - Web Content Mining 1

5.2 Web Structure Mining- Page Rank 1

5.3 Web Structure Mining –Clever algorithm 1

5.4 Web Usage Mining- Preprocessing, Data structures 1


COMPUTER SCIENCE AND ENGINEERING

5.5 Web Usage Mining -Pattern Discovery, Pattern Analysis 1

5.6 Text Mining-Text Data Analysis and information Retrieval, Basic 1


measures for Text retrieval

5.7 Text Retrieval methods, Text Indexing Techniques 1


Query Processing Techniques
COMPUTER SCIENCE AND ENGINEERING

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.

Prerequisite: A sound knowledge of computer networks.

Course Outcomes: After the completion of the course the student will be able to

CO# Course Outcomes

CO1 Explain the various mobile computing applications, services, design


considerations and architectures (Cognitive knowledge: Understand)
CO2 Describe the various technology trends for next generation cellular wireless
networks and use the spreading concept on data transmission (Cognitive
knowledge: Apply)
CO3 Summarize the architecture of various wireless LAN technologies
(Cognitive knowledge: Understand)
CO4 Identify the functionalities of mobile network layer and transport layer
(Cognitive knowledge: Understand)

CO5 Explain the features of Wireless Application Protocol (Cognitive


knowledge: Understand)
CO6 Interpret the security issues in mobile computing and next generation
technologies (Cognitive knowledge: Understand)

Mapping of course outcomes with program outcomes


PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4
COMPUTER SCIENCE AND ENGINEERING

CO5

CO6

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

PO4 Conduct investigations of complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

End Semester Examination


Bloom’s Category Test 1 (%) Test 2 (%)
(%)

Remember 30 30 30
Understand 50 50 50
Apply 20 20 20
Analyse
Evaluate
Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration


150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance : 10 marks
Continuous Assessment Test : 25 marks
Continuous Assessment Assignment : 15 marks

Internal Examination Pattern:


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.

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 maximum 2 sub-divisions and carries 14 marks.

Syllabus

Module - 1 (Mobile Computing Basics)


Introduction to mobile computing – Functions, Middleware and Gateways, Application
and services. Mobile computing architecture – Internet: The Ubiquitous network, Three-
tier architecture for Mobile Computing, Design considerations for mobile computing.

Module – 2 (Wireless Transmission and Communication Systems)


Spread spectrum – Direct sequence, Frequency hopping. Medium Access Control – Space
Division Multiple Access (SDMA), Frequency Division Multiple Access (FDMA), Time
Division Multiple Access (TDMA), Code Division Multiple Access (CDMA). Satellite
Systems – Basics, Applications, Geostationary Earth Orbit (GEO), Low Earth Orbit
(LEO), Medium Earth Orbit (MEO), Routing, Localization, Handover.
Telecommunication Systems - Global System for Mobile Communication (GSM)
COMPUTER SCIENCE AND ENGINEERING

services, Architecture, Handover, Security.

Module – 3 (Wireless LANs)


Wireless LAN - Advantages, Design goals, Applications, Infrastructure Vs Ad-hoc mode,
IEEE 802.11 System Architecture, Protocol Architecture, Physical layer, Medium Access
Control layer, HIPERLAN-1, Bluetooth.

Module – 4 (Mobile Network and Transport Layer)


Mobile network layer – Mobile Internet Protocol (IP), Dynamic Host Configuration
Protocol (DHCP), Mobile ad-hoc networks – Routing, Dynamic Source Routing (DSR),
Destination Sequence Distance Vector (DSDV), Ad-hoc routing protocols. Mobile
transport layer – Traditional Transmission Control Protocol (TCP), Improvements in
Classical TCP. Wireless Application Protocol (WAP) - Architecture, Wireless Datagram
Protocol (WDP), Wireless Transport Layer Security (WTLS), Wireless Transaction
Protocol (WTP), Wireless Session Protocol (WSP).

Module – 5 (Mobile Security and Next Generation Networks)


Security issues in mobile computing - Information security, Security techniques and
algorithms, Security models. Next generation networks - Orthogonal Frequency Division
Multiplexing (OFDM), Wireless Asynchronous Transfer Mode (WATM), Multi Protocol
Label Switching (MPLS), 10 pillars of 5G, Security for 5G communication.

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.

Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Give examples for five mobile computing applications.
2. Identify any three differences between middleware and gateways.

Course Outcome 2 (CO2):


1. There are four stations sending data 1,1,1,0 respectively. Station 3 receives station 1’s
COMPUTER SCIENCE AND ENGINEERING

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.

Course Outcome 3 (CO3):


1. Compare IEEE 802.11 and Bluetooth with respect to their ad-hoc capabilities.
2. Describe with neat sketch the major baseband states of a Bluetooth device.

Course Outcome 4 (CO4):


1. With the help of an example, show how routing process is handled by Dynamic Source
Routing protocol.
2. Describe the major differences between AODV and the standard Distance Vector
Routing algorithm. Why are extensions needed?
3. Simulate routing protocols using NS2.

Course Outcome 5 (CO5):


1. How does WAP push operation differ from pull operation?
2. With the help of a neat sketch explain the secure session establishment using WTLS.

Course Outcome 6 (CO6):


1. Explain the 3GPP security framework for mobile security.
2. Explain the features of policy-based security model.

Model Question Paper


QP CODE: PAGES: 3

Reg No:_______________
Name:_________________

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY


EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST476


Course Name : Mobile Computing
Max Marks: 100 Duration: 3 Hours
PART-A
(Answer All Questions. Each question carries 3 marks)

1. Explain the different types of middleware and gateways in the architecture of


mobile computing.

2. Explain the major segments to support mobile computing functions.


COMPUTER SCIENCE AND ENGINEERING

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?

5. List any three advantages and disadvantages of wireless LANs.

6. Compare the features of infrastructure and ad-hoc networks.

7. Mention the basic purpose of DHCP. Also list the entities of DHCP.

8. Identify the benefits of location information for routing in ad-hoc networks.

9. List any six pillars of 5G.

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)

15. (a) How is Quality-of-Service provided in Bluetooth? (6)


COMPUTER SCIENCE AND ENGINEERING

(b) Explain the phases in Elimination-yield non-preemptive priority multiple (8)


access of HIPERLAN-1.

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.

19. (a) How is orthogonality helpful in Orthogonal Frequency Division (4)


Multiplexing?
(b) Explain the functioning of Multi Protocol Label Switching technology. (10)

OR

20. (a) Describe the services of Wireless Asynchronous Transfer Mode. (6)

(b) Explain the different security models in mobile computing. (8)

TEACHING PLAN
No Contents [Link]
Lecture
Hrs
(35 hrs)
Module – 1 (Mobile Computing Basics) (6 hrs)

1.1 Introduction to mobile computing – Functions 1


1.2 Middleware and Gateways 1

1.3 Application and services 1

1.4 Internet: The Ubiquitous network 1


COMPUTER SCIENCE AND ENGINEERING

1.5 Three-tier architecture for Mobile Computing 1


1.6 Design considerations for mobile computing 1

Module – 2 (Wireless Transmission and Communication Systems) (8 hrs)

Direct sequence spread spectrum, Frequency hopping spread


2.1 1
spectrum

Space Division Multiple Access (SDMA), Frequency Division 1


2.2
Multiple Access (FDMA)

2.3 Time Division Multiple Access (TDMA) 1

2.4 Code Division Multiple Access (CDMA) 1

2.5 Satellite Systems Basics, Applications, Geostationary Earth Orbit 1


(GEO), Low Earth Orbit (LEO), Medium Earth Orbit (MEO)

2.6 Routing, Localization, Handover 1

2.7 Global System for Mobile Communication (GSM) services, 1


Architecture

2.8 Handover, Security 1

Module - 3 (Wireless LANs) (7 hrs)

3.1 Wireless LAN - Advantages, Design goals, Applications, 1


Infrastructure Vs Ad-hoc mode
3.2 IEEE 802.11 System Architecture 1

3.3 Protocol Architecture 1

3.4 Physical layer 1

3.5 Medium Access Control layer 1

3.6 HIPERLAN-1 1

3.7 Bluetooth 1

Module - 4 (Mobile Network and Transport Layer) (8 hrs)

Mobile Internet Protocol (IP), Dynamic Host Configuration


4.1 1
Protocol (DHCP)

4.2 Mobile ad-hoc networks – Routing, Dynamic Source Routing (DSR) 1


COMPUTER SCIENCE AND ENGINEERING

Destination Sequence Distance Vector (DSDV)


4.3 1
Ad-hoc routing protocols
4.4 1
4.5 Traditional Transmission Control Protocol (TCP), Improvements in 1
Classical TCP

4.6 Wireless Application Protocol (WAP) – Architecture, Wireless 1


Datagram Protocol (WDP)

4.7 Wireless Transport Layer Security (WTLS) 1

4.8 Wireless Transaction Protocol (WTP), Wireless Session Protocol 1


(WSP)

Module - 5 (Mobile Security and Next Generation Networks) (6 hrs)

Information security, Security techniques


5.1 1

5.2 Security algorithms, Security models 1


5.3 Introduction to Next generation networks, Orthogonal Frequency 1
Division Multiplexing (OFDM)

5.4 Wireless Asynchronous Transfer Mode (WATM) 1

5.5 Multi Protocol Label Switching (MPLS) 1

5.6 10 pillars of 5G, Security for 5G communication 1


COMPUTER SCIENCE AND ENGINEERING

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)

CO2 Summarize the concepts of Instruction Level Parallelism (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)

Mapping of course outcomes with program outcomes


PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

C05
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and teamwork


Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Continuous Assessment Tests


Bloom’s End Semester Examination
Category Marks (%)
Test 1 (%) Test 2 (%)

Remember 20 20 20

Understand 50 50 50

Apply 30 30 30

Analyze

Evaluate
Create

Mark Distribution

Total Marks CIE Marks ESE Marks. ESE Duration

150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests (Average of Internal Tests 1 & 2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern


Each of the two internal examinations have to be conducted out of 50 marks. The 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 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 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.
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 full questions from each module of which students should answer anyone. Each
question can have a maximum of 2 sub-divisions and carries 14 marks.

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

Module-2 ( Instruction-Level Parallelism)


Instruction-Level Parallelism: Concepts and Challenges – Basic Compiler Techniques for
Exposing ILP – Reducing Branch Costs With Advanced Branch Prediction – Hardware-Based
Speculation – Multithreading: Exploiting Thread-Level Parallelism to Improve Uniprocessor
Throughput
COMPUTER SCIENCE AND ENGINEERING

Module-3 (Data-Level Parallelism)


Vector Architecture – SIMD Instruction Set Extensions for Multimedia – Graphics Processing
Units – Detecting and Enhancing Loop-Level Parallelism

Module-4 ( Thread Level Parallelism)


Multiprocessor Architecture: Issues and Approach – Centralized Shared-Memory Architectures –
Performance of Symmetric Shared-Memory Multiprocessors– Distributed Shared-Memory and
Directory-Based Coherence – Synchronization: The Basics – Introduction to Memory
Consistency

Module-5 (GPU Architectures)


The CPU-GPU system as an accelerated computational platform – The GPU and the thread
engine – Characteristics of GPU memory spaces – The PCI bus: CPU to GPU data transfer
overhead – Multi-GPU platforms – Potential benefits of GPU – accelerated platforms
Text Books
1. John L. Hennessy, David A. Patterson Computer Architecture, Sixth Edition A
Quantitative Approach, Morgan Kaufman, Fifth Edition, 2012.
2. Robert Robey, Yuliana Zamora, Parallel and High-Performance Computing, Manning
Publications, First Edition, 2021.
Reference Books
1. Thomas Sterling, Matthew Anderson, and MaciejBrodowicz, High-Performance
Computing – Modern Systems and Practices, First Edition, 2017.
2. Charles Severance, Kevin Dowd,High-Performance Computing, O'Reilly Media, Second
Edition, 1998.
3. Kai Hwang, Faye Alaye Briggs, Computer Architecture and Parallel Processing,
McGraw-Hill, 1984.

Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Differentiate different classes of computer-based on features like microprocessor cost,
system cost, and system design issues.
2. Explain the different methods by which computer hardware exploits application-level
parallelism.
3. Explain in detail the instruction set architecture
4. Describe the encoding scheme specified as part of ISA
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 2 (CO2):


1. Differentiate data, name, and control dependencies with suitable examples.
2. Explain loop unrolling with suitable coding demonstration
3. Explain in detail about Tournament Predictors.
4. Describe the unique features of very long instruction word processors.

Course Outcome 3 (CO3):


1. What are the three things conveyed through a data dependence? Explain the Data
Dependencies of the following code:

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.

Course Outcome 4 (CO4):


1. With the help of a neat diagram illustrate a single-chip multicore with a distributed
cache.
2. Demonstrate the Implementation of cache coherence in a distributed-memory
multiprocessor by adding a directory to each node with a suitable diagram.
3. Consider the following code segments running on two processors P1 and P2.
Assume A, and B, are initially 0. Explain how an optimizing compiler might make it
impossible for B to be ever set to 2 in a sequentially consistent execution model.

Course Outcome 5 (CO5):


1. Explain the benefits of potential GPU.
2. Illustrate GPU system as an accelerated computational platform.
3. Discuss CPU to GPU data transfer overhead.
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 4

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST418

Course Name: High Performance Computing

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Differentiate between Data level parallelism and Task level parallelism

2. Explain the principle of locality

3. Define Instruction Level Parallelism with an example.

4. Devise the importance of loop unrolling with an example.

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.

7. Differentiate between module reliability and module availability measures with


suitable examples.

8. Why SMP architectures are called UMA multiprocessors and DSM multiprocessors
as NUMA processors.
COMPUTER SCIENCE AND ENGINEERING

9. Explain the need for GPU.

10. List the characteristics of GPU memory spaces.

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.

13. (a) Explain in detail data dependence and hazards. (8)

(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.

(b) Describe the limitations of Symmetric Shared-Memory Multiprocessors and (6)


Snooping Protocols

OR

16. (a) Demonstrate the different types of hardware approaches required for the (8)
working of multithreading.

(b) Consider the following loop: (6)

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?

(b) Explain the basic structure of a centralized shared-memory multiprocessor (6)


COMPUTER SCIENCE AND ENGINEERING

based on a multicore chip.

OR

18. (a) Suppose an application running on a 100-processor multiprocessor use 1, (6)


50, or 100 processors. If for 95% of the time all 100 processors are used,
illustrate how the remaining 5% of the execution time employs 50
processors for a speedup of 80?

(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.

19. (a) Explain the multi-GPU platform. (8)

(b) Explain some of the benefits of GPU. (6)

OR

20. (a) Discuss in detail the characteristics of GPU memory spaces. (8)

(b) Explain about GPU thread engine. (6)

Teaching Plan

No. of
Lecture
No Contents Hours
(36 hrs)
Module 1 - Basics of Architecture (7 hours)

1.1 Classes of Computers 1 hour


1.2 Classes of Parallelism and Parallel Architectures 1 hour
1.3 Dependability 1 hour
1.4 Quantitative Principles of Computer Design. 1 hour
COMPUTER SCIENCE AND ENGINEERING

1.5 Basics of Memory Hierarchies 1 hour


1.6 Virtual Memory and Virtual Machines 1 hour
1.7 Pipelining 1 hour

Module -2 (Introduction to Syntax Analysis) (7 hours)

2.1 Instruction-Level Parallelism: Concepts and Challenges 1 hour


2.2 Basic Compiler Techniques for Exposing ILP 1 hour
2.3 Reducing Branch Costs With Advanced Branch Prediction 1 hour
2.4 Hardware-Based Speculation 1 hour
2.5 Multithreading 1 hour
Exploiting Thread-Level Parallelism to Improve Uniprocessor Throughput – 1 hour
2.6
Lecture 1.
Exploiting Thread-Level Parallelism to Improve Uniprocessor Throughput – 1 hour
2.7
Lecture 2.

Module- 3 - Data-Level Parallelism (7 hours)

3.1 Vector Architecture -Lecture 1 1 hour


3.2 Vector Architecture -Lecture 2 1 hour
3.3 SIMD Instruction Set Extensions for Multimedia – Lecture 1 1 hour

3.4 SIMD Instruction Set Extensions for Multimedia – Lecture 2 1 hour


3.5 Graphics Processing Units 1 hour
Detecting and Enhancing Loop-Level Parallelism – Lecture 1 1 hour
3.6

Detecting and Enhancing Loop-Level Parallelism – Lecture 2 1 hour


3.7

Module 4– Thread Level Parallelism (8 hours)

4.1 Multiprocessor Architecture: Issues and Approach 1 hour


4.2 Centralized Shared-Memory Architectures – Lecture 1 1hour
4.3 Centralized Shared-Memory Architectures – Lecture 2 1hour
4.4 Performance of Symmetric Shared-Memory Multiprocessors 1hour
4.5 Distributed Shared-Memory 1hour
4.6 Directory-Based Coherence 1hour
4.7 Synchronization 1hour
COMPUTER SCIENCE AND ENGINEERING

4.8 Introduction to Memory Consistency 1hour

Module 5 – GPU Architectures (7 hours)

5.1 The CPU-GPU system as an accelerated computational platform 1 hour


5.2 The GPU and the thread engine – Lecture 1 1 hour
5.3 The GPU and the thread engine – Lecture 2 1 hour
5.4 Characteristics of GPU memory spaces 1hour
5.5 PCI bus: CPU to GPU data transfer overhead 1hour
5.6 Multi-GPU platforms 1hour
Potential benefits of GPU-accelerated platforms 1hour
5.7
COMPUTER SCIENCE AND ENGINEERING

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

CO1 Illustrate the cryptographic building blocks of blockchain technology. (Cognitive


Knowledge Level: Understand)

CO2 Explain the fundamental concepts of blockchain technology. (Cognitive Knowledge


Level: Understand)

CO3 Summarize the classification of consensus algorithms. (Cognitive Knowledge Level:


Understand)

CO4 Explain the concepts of first decentralized cryptocurrency bitcoin. (Cognitive


Knowledge Level: Understand)

CO5 Explain the use of smart contracts and its use cases. (Cognitive Knowledge Level:
Understand)

CO6 Develop simple applications using Solidity language on Ethereum platform.


(Cognitive Knowledge Level: Apply)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO1 PO11 PO1
0 2

CO1

CO2
COMPUTER SCIENCE AND ENGINEERING

CO3

CO4

CO5

CO6

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work


Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Continuous Assessment Tests


Bloom’s End Semester Examination
Category Marks (%)
Test 1 (%) Test 2 (%)

Remember 30 30 30

Understand 50 50 50

Apply 20 20 20

Analyze

Evaluate
Create
COMPUTER SCIENCE AND ENGINEERING

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of Internal Tests 1 & 2) 25 marks

Continuous Assessment Assignment 15 marks


Internal Examination Pattern
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.
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 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 (Fundamentals of Cryptography)
Introduction to Cryptography, Symmetric cryptography – AES. Asymmetric cryptography –
RSA. Elliptic curve cryptography, Digital signatures – RSA digital signature algorithms. Secure
Hash Algorithms – SHA-256. Applications of cryptographic hash functions – Merkle trees,
Distributed hash tables.

Module – 2 (Fundamentals of Blockchain Technology)


Blockchain – Definition, architecture, elements of blockchain, benefits and limitations, types of
blockchain. Consensus – definition, types, consensus in blockchain.
COMPUTER SCIENCE AND ENGINEERING

Decentralization – Decentralization using blockchain, Methods of decentralization, Routes to


decentralization, Blockchain and full ecosystem decentralization.

Module - 3 (Consensus Algorithms and Bitcoin)


Consensus Algorithms, Crash fault-tolerance (CFT) algorithms – Paxos, Raft. Byzantine fault-
tolerance (BFT) algorithms – Practical Byzantine Fault Tolerance (PBFT), Proof of work (PoW),
Proof of stake (PoS), Types of PoS.
Bitcoin – Definition, Cryptographic keys – Private keys, public keys, addresses. Transactions –
Lifecycle, coinbase transactions, transaction validation. Blockchain – The genesis block.
Mining – Tasks of miners, mining algorithm, hash rate. Wallets – Types of wallets.
Module - 4 (Smart Contracts and Use cases)
Smart Contracts – Definition, Smart contract templates, Oracles, Types of oracles, Deploying
smart contracts. Decentralization terminology – Decentralized applications, Decentralized
Autonomous Organizations.
Use cases of Blockchain technology – Government, Health care, Finance, Supply chain
management.
Blockchain and allied technologies – Blockchain and Cloud Computing, Blockchain and
Artificial Intelligence.
Module - 5 (Ethereum and Solidity)
Ethereum – The Ethereum network. Components of the Ethereum ecosystem – Keys and
addresses, Accounts, Transactions and messages. The Ethereum Virtual Machine, Blocks and
blockchain.
The Solidity language – The layout of a Solidity source code, Structure of a smart contract,
variables, data types, control structures, events, inheritance, libraries, functions, error handling.
Smart contracts Case study: Voting, Auction.

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

5. Lorne Lantz, Daniel Cawrey, Mastering Blockchain: Unlocking the Power of


Cryptocurrencies, Smart Contracts, and Decentralized Applications, O'Reilly Media, First
edition, 2020.
6. Andreas M. Antonopoulos, Gavin Wood, Mastering Ethereum: Building Smart Contracts
and DApps, O'Reilly Media, First edition, 2018.

Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Distinguish between Symmetric cryptography and asymmetric cryptography.
2. Explain the working of AES algorithm.

Course Outcome 2 (CO2):


1. Categorize consensus mechanism used in blockchain.
2. Define Blockchain. Explain how decentralization of computing or processing power is
achieved by a blockchain.

Course Outcome 3 (CO3):


1. Explain how Proof of Stake can achieve consensus among peers.
2. Explain the working of Raft protocol.

Course Outcome 4 (CO4):


1. Describe the use of genesis block.
2. Explain the mining algorithm used in bitcoin.

Course Outcome 5 (CO5):


1. Illustrate how blockchain technology can be used in supply chain management.
2. What are oracles in a blockchain ecosystem? Explain the generic data flow from a smart
contract to an oracle.
Course Outcome 6 (CO6):
1. Develop a smart contract for voting process. In this application, delegated voting is
allowed and the counting is automatic and completely transparent at the same time.
2. Develop a smart contract for auction process. The contract should be a blind auction
where it is not possible to see the actual bid until the bidding period ends.
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 2

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST428

Course Name: BLOCK CHAIN TECHNOLOGIES

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Discuss the role of secure hash functions in blockchain.

2. List out the properties of digital signatures.

3. Illustrate the blockchain based decentralized system.

4. Explain how Proof of Stake can achieve consensus among peers.

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?

6. How are transactions verified in a Bitcoin network?

7. Explain how smart contracts can be used for enforcing agreements between parties
in the form of business logic.

8. Explain the concept of blockchain-based digital identity cards.

9. Explain error handling in Solidity language.


COMPUTER SCIENCE AND ENGINEERING

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.

(b) Explain elliptic curve digital signature algorithm. (7)

13. (a) Illustrate and explain how blockchain works using a neat diagram. (7)

(b) Explain the benefits, features and limitations of blockchain. (7)

OR

14. (a) Explain consensus mechanisms used in blockchain. List out any six (7)
consensus algorithms used in the context of blockchain.

(b) Define blockchain. Explain how decentralization of computing or processing (7)


power is achieved by a 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

Bitcoin with the help of a flowchart.

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)

1.1 Introduction to cryptography 1 hour


1.2 Symmetric cryptography, AES 1 hour
1.3 Asymmetric cryptography, RSA 1 hour
1.4 Elliptic curve cryptography 1 hour
1.5 Digital signatures – RSA digital signature algorithm 1 hour
1.6 Secure Hash Algorithms – SHA-256 1 hour
Applications of cryptographic hash functions – Merkle trees, Distributed
1.7 1 hour
hash tables
Module-2 (Fundamentals of Blockchain Technology) (6 hours)
2.1 Blockchain – definition and architecture 1 hour
2.2 Elements of blockchain. 1 hour
2.3 Blockchain – benefits and limitations, types. 1 hour
2.4 Consensus – definition, types, consensus in blockchain 1 hour
2.5 Decentralization using blockchain, Methods of decentralization 1 hour
2.6 Routes to decentralization, Blockchain and full ecosystem decentralization 1 hour
Module-3 (Consensus Algorithms and Bitcoin) (7 hours)
Consensus Algorithms – Crash fault-tolerance (CFT) algorithms – Paxos,
3.1 1 hour
Raft (working is expected).
Byzantine fault-tolerance (BFT) algorithms – Practical Byzantine Fault
3.2 1 hour
Tolerance (PBFT) (working is expected).
3.3 Proof of work (PoW), Proof of stake (PoS), Types of PoS 1 hour
Bitcoin – Definition, Cryptographic keys – Private keys, public keys,
3.4 1 hour
addresses.
3.5 Transactions – Lifecycle, coinbase transactions, transaction validation 1 hour
COMPUTER SCIENCE AND ENGINEERING

3.6 Blockchain – The genesis block. Mining – Tasks of miners 1 hour


3.7 Mining – mining algorithm, hash rate. Wallets – Types of wallets. 1 hour
Module-4 (Smart Contracts and Use cases) (6 hours)
4.1 Smart Contracts – Definition, Smart contract templates 1 hour
4.2 Oracles, Types of oracles, Deploying smart contracts. 1 hour
Decentralization terminology –Decentralized applications, Decentralized
4.3 1 hour
Autonomous Organizations.
4.4 Use cases of Blockchain technology – Government, Health care. 1 hour
4.5 Use cases of Blockchain technology – Finance, Supply chain management. 1 hour
Blockchain and Allied Technologies – Blockchain and Cloud Computing,
4.6 1 hour
Blockchain and Artificial Intelligence.
Module-5 (Ethereum and Solidity) (9 hours)
Ethereum - The Ethereum network,
5.1 1 hour
Components of the Ethereum ecosystem – Keys and addresses, Accounts
5.2 Components of the Ethereum ecosystem – Transactions and messages 1 hour
5.3 The Ethereum Virtual Machine 1 hour
5.4 Ethereum Blocks and blockchain 1 hour
The Solidity language – The layout of a Solidity source code, Structure of a
5.5 1 hour
smart contract, variables, data types
5.6 The Solidity language – control structures, events, inheritance, libraries 1 hour
5.7 The Solidity language – functions, error handling. 1 hour
5.8 Smart contracts Case study: Voting. 1 hour
5.9 Smart contracts Case study: Auction. 1 hour
COMPUTER SCIENCE AND ENGINEERING

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)

CO5 Interpret morphological operations, image representation, and description techniques.


(Cognitive Knowledge Level: Understand)

Mapping of course outcomes with program outcomes


PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1
CO2
CO3
CO4
CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of PO9 Individual and teamwork


solutions
Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Continuous Assessment Tests End Semester


Bloom’s Examination
Category Marks (%)
Test 1 Test 2
(%) (%)

Remember 30 30 30

Understand 40 40 40

Apply 30 30 30

Analyze

Evaluate
Create

Mark Distribution

Total CIE ESE Marks ESE


Marks Marks Duration

150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests (Average of Internal Tests 1 & 2) 25 marks

Continuous Assessment Assignment 15 marks


Internal Examination Pattern
Each of the two internal examinations has to be conducted out of 50 marks. The 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 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 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.
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 full questions from each module of which students should answer anyone. Each
question can have a maximum 2 subdivisions and carries 14 marks.

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.

Basics of Filtering in Frequency Domain, Filters, Smoothing Frequency Domain Filters-


Sharpening Frequency Domain Filters

Module - 4 (Image Restoration & Image Segmentation)


Image degradation model, Noise models, Mean Filters, Order Statistic filter, Adaptive filters.
Edge Detection, gradient operators, Laplace operators and zero crossings. Thresholding, Basic
Global Thresholding, Optimum global thresholding using Otsu method, Multiple thresholds,
Variable thresholding, Multivariable thresholding. Region-Based Approach to Segmentation.

Module - 5 (Morphological Operations & Representation and Description)


Structuring Element, Dilation and Erosion, Opening and Closing, Hit or Miss Transformation.

Boundary Following. Chain Codes. Polygonal Approximation. Boundary Descriptors. Regional


Descriptors. Relational Descriptors.
Text Books
1. Rafael C. Gonzalez, Richard E. Woods, Digital Image Processing (English) 3rd Edition,
Pearson India, 2013
2. A K. Jain, Fundamentals of digital image processing, Prentice Hall of India, 1989.
Reference Books
1. Al Bovik, The Essential Guide to Image Processing, Academic Press, 2009.
2. Milan Sonka, Vaclav Hlavac and Roger Boyle, Image Processing, Analysis, and Machine
Vision, Thomson Learning, 2008.
3. S Jayaraman, S Esakkirajan and T Veerakumar, Digital Image Processing, McGraw Hill
Education, 2009.
Course Level Assessment Questions
Course Outcome1 (CO1) :
1. Find the number of bits required to store a 256 X 256 image with 32 gray levels.
2. Explain the reasons for blocking artifacts and false contours in an image.
Course Outcome 2 (CO2) :
1. Compare different image transforms based on their roles, properties and applications.
2. Compute the inverse 2D DFT of the transform coefficients F(k,l) given below.
COMPUTER SCIENCE AND ENGINEERING

3. Use Discrete Fourier transform to construct 2D DFT for a 4x4 image given below. Assume that
indices start from (0,0)

Course Outcome 3 (CO3) :

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.

(a) Find the equivalent filter H(u,v) in the frequency domain.

(b) Show that H(u,v) is a lowpass filter (ASSIGNMENT)

Course Outcome 4 (CO4) :


1. Compare Region and Edge-based techniques in segmentation.
COMPUTER SCIENCE AND ENGINEERING

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)

Course Outcome 5 (CO5) :


4. Explain the significance of structuring elements in morphological operations with
example.
5. Explain how chain codes are used to represent boundaries of a region with examples.
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper


QP CODE:
Reg No: _______________
Name: _________________ PAGES : 4
APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY
EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR
Course Code: CST438
Course Name: IMAGE PROCESSING TECHNIQUE
Max. Marks : 100 Duration: 3 Hours
PART A
Answer All Questions. Each Question Carries 3 Marks
1. Give an image representation model and describe how the representation changes
in different types of images.
2. Describe any three types of color models.

3. Obtain the HADAMARD basis matrix for N=8.


4. Prove that DFT is a unitary transform.

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.

8. Describe region growing technique for image segmentation.


9. Define ‘Structuring Element’ used in morphological operations. Give samples for
Structuring Elements.
10. Explain image boundary representation using polygonal approximation.
(10x3=30)
Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) (7)
Explain a Simple Image Formation Model with the help of a neat diagram.
(b) Explain the relationship between image size, spatial resolution, and image (7)
quality. Compare gray level and intensity resolution.
OR
12. (a) Describe arithmetic, logical and geometrical operations on Image. (7)
COMPUTER SCIENCE AND ENGINEERING

(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)

17. (a) A 4×4 image is given by (8)

2 4 8 7
12 6 9 8
13 7 4 3
8 12 4 9
COMPUTER SCIENCE AND ENGINEERING

Filter the above image using


(a) MIN filter (b) MAX filter using the filter mask
0 1 0
1 1 1
0 1 0
(Assume replicate padding of the input image)
(b) Explain any two types of thresholding techniques. Describe the threshold (6)
detection algorithm using Otsu’s method.
OR
18. (a) Explain Image degradation model with the help of a neat diagram. (8)

(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)

1.1 Elements of Visual Perception, A Simple Image Formation Model 1

1.2 Spatial and Intensity Resolution, Image Interpolation, Classification of 1


Digital Image.
1.3 Image Types, Image Storage Mechanisms. 1
1.4 Arithmetic and Logical Operations. 1
1.5 Geometric Spatial Transformations and Image Registration. 1
1.6 Image File Formats. 1
COMPUTER SCIENCE AND ENGINEERING

1.7 Colour Fundamentals and Colour Models. 1


Module-2 (Image Transforms) (8 hours)
2.1 Basic concept of spatial domain and frequency domain. 1
2.2 Need of Image Transform, Basic properties of unitary transform. 1
2.3 Discrete Fourier transform, Proof DFT is Unitary. 1
2.4 4 order DFT Transform coefficients (Derivation). 1
2.5 Problems ( 4 order DFT). 1
2.6 Discrete Cosine Transform- 2D DCT. 1
2.7 4 order DCT Transform Coefficients(No derivation needed). 1
2.8 Hadamard Transform. 1
Module-3 (Image Enhancement in spatial and frequency domain) (8 hours)

Point operations- Clipping and Thresholding, Digital Negative. Intensity


3.1 1
Level Slicing.

3.2 Bit Extraction, Range Compression + (Work out problems). 1

3.3 Spatial Operations-Fundamentals of spatial convolution and correlation. 1

3.4 Spatial averaging and spatial Low pass filtering, Directional Smoothing. 1

3.5 Median Filtering, Unsharp masking and Crispening. 1

3.6 Basics of Filtering in Frequency Domain. 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

Thresholding- Basic Global Thresholding, Optimum global thresholding


4.4 using Otsu method. 1

4.5 Multiple thresholds, Variable thresholding, Multivariable thresholding. 1


4.6 Region-Based Approach to Segmentation. 1
Module-5 (Morphological Operations & Representation and Description) (7 hours)
5.1 Structuring Element. Dilation and Erosion, 1
5.2 Morphological Opening, Closing. 1
5.3 Hit or Miss Transformation. 1
5.4 Boundary Following. Chain Codes, Polygonal Approximation. 1
5.5 Boundary Descriptors. 1
5.6 Regional Descriptors. 1
5.7 Relational Descriptors. 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.

Prerequisite: Basic knowledge in Data Communication, Computer Networks and Programming


in Python

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)

Explain the hardware architectures for IoT (Cognitive Knowledge Level :


CO2 Understand)
Outline the Network architectures for IoT(Cognitive Knowledge Level :
CO3 Understand)

CO4 Implement data analytics on the IoT platforms (Cognitive Knowledge Level : Apply)

Appreciate the security considerations in IoT (Cognitive Knowledge Level :


CO5 Understand)
Implement IoT applications using the available hardware and software. (Cognitive
CO6 Knowledge Level : Apply)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4
COMPUTER SCIENCE AND ENGINEERING

CO5

CO6

Abstract POs Defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and teamwork

Conduct investigations of
PO4 PO10 Communication
complex problems

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Lifelong learning

Assessment Pattern

Blooms Category Continuous Assessment Tests End Semester


Examination Marks

Test 1 (Percentage) Test 2 (Percentage)

Remember 30 20 30

Understand 60 50 40

Apply 10 30 30

Analyze
COMPUTER SCIENCE AND ENGINEERING

Evaluate

Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration

150 50 100 3 Hours

Continuous Internal Evaluation Pattern:

Attendance 10 marks
Continuous Assessment Tests 25 marks
Continuous Assessment Assignment 15 marks

Internal Examination Pattern:


Each of the two internal examinations has to be conducted out of 50 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 anyone. Each question
can have a maximum 2 subdivisions and carries 14 marks.
COMPUTER SCIENCE AND ENGINEERING

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.

Module- 2 (Engineering IoT Networks)

Smart Objects: The “Things” in IoT, Sensors, Actuators, and Smart Objects, Sensor Networks,
Connecting Smart Objects, Communications Criteria, IoT Access Technologies

Module- 3 (IoT Network Layer)

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

Module 4 (Data Analytics for IoT)

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.

Module 5 ( Developing IoT Systems)

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

2. Arshadeep Bahga, Vijay Madisetti, “Internet of Things: A hands-on approach”, University


Press, 2015 (First edition)

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

Sample Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Write a short note on the impact of IoT in the real world
2. Explain the challenges of IoT.
3. Compare OT and IT Technology.
4. Describe the elements of one M2M architecture of IoT
Course Outcome 2 (CO2):
1. Mention any four wireless technologies and its architectural characteristics
2. Comment things in IoT
3. Compare biosensors and biodegradable sensors used in IoT
4. Explain the term NBIoT(Narrow Band IoT)
Course Outcome 3 (CO3):
1. Discuss the need for optimization
2. Compare MQTT and COAP
3. Explain different schedule management and packet forwarding models of 6TiSCH
Course Outcome 4(CO4):
1. Compare Bigdata and edge analytics
2. Compare structured and unstructured data
3. Describe the components of FNF
COMPUTER SCIENCE AND ENGINEERING

Course Outcome 5(CO5):


1. What are the major challenges in IoT security?
2. Explain the impact of OT Network Characteristics onIoT Security.
Course Outcome 6(CO6):
1. Implement LDR interfacing with Raspberry Pi
2. Explain the development of a RESTful web API.

Model Question Paper


QP CODE: PAGES :3
Reg No: _______________
Name: _________________
APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY
EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR
Course Code: CST448
Course Name: Internet of Things

[Link] : 100 Duration: 3 Hours


PART A
Answer All Questions. Each Question Carries 3 Marks

1. Explain the role of IoT in connected roadways,

2. Describe the functions of the various layers of simplified IoT Architecture Model.

3. Explain the communication protocols employed in Wireless Sensor Networks

4. What are the essential performance considerations of constrained-node networks?

5. Explain the parameters to be considered while choosing between IP adaptation /


adoption for last mile communication.

6. With neat diagrams compare the IoT protocol stacks using 6LoWPAN and IP.

7. Differentiate the types of IoT data analytics results.


COMPUTER SCIENCE AND ENGINEERING

8. How can the insecure operational protocols be characterized?

9. Write a program to interface an LED and a switch with Raspberry Pi

10. List down the Raspberry Pi interfaces and explain. (10x3=30)

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

16. (a) Explain SCADA Transport over LLNs with MAP-T.


(7)

(b) Explain RPL encryption and authentication on constrained nodes. (7)


COMPUTER SCIENCE AND ENGINEERING

17. (a) Explain the Hadoop ecosystem with a neat diagram. (7)

(b) Explain the Flexible NetFlow Architecture. (7)

OR

18. (a) Explain the “The Purdue Model for Control Hierarchy” and OT network (8)
characteristics.

(b) Explain any twp formal risk analysis structures (6)

19. (a) (8)


Explain the working of WAMP protocol.

(b) Describehow AWS supports IoT development (6)

OR

20. (a) Demonstrate an example of Raspberry Pi applications for Industrial IoT. (8)

(b) Explain the Django Architecture (6 )

TEACHING PLAN

No Contents No of
Lecture
Hrs (35
Hrs)

Module – 1 ( IoT Architecture) (6 hrs) (TB-1, Chapter 1,2)

1.1 What is IoT, Genesis of IoT, IoT and Digitization, 1

1.2 IoT Impact, Convergence of IT and IoT, IoT Challenges 1

1.3 IoT Network Architecture and Design 1

1.4 Drivers Behind New Network Architectures, Comparing IoT Architectures 1

1.5 A Simplified IoT Architecture, 1


COMPUTER SCIENCE AND ENGINEERING

1.6 The Core IoT Functional Stack, IoT Data Management and Compute Stack. 1

Module- 2 (Engineering IoT Networks) (7hrs)(TB-1, Chapter 3,4)

2.1 Smart Objects: The “Things” in IoT, 1

2.2 Sensors, Actuators, and Smart Objects 1

2.3 Sensor Networks 1

2.4 Connecting Smart Objects 1

2.5 IoT Access Technologies –IEEE 802.15.4 (g/e), 1901.2a 1

2.6 IoT Access Technologies - 802.11ah, LoRaWAN 1

2.7 IoT Access Technologies – LoRaWAN, NBIoT, LTE 1

Module- 3 (IoT Network Layer) (7 hrs)(TB-1, Chapter 5,6)

3.1 IP as the IoT Network Layer, The Business Case for IP 1

3.2 The need for Optimizing IP for IoT 1

3.3 Optimizing IP for IoT, Profiles, and Compliance 1

3.4 Application Protocols for IoT - CoAP 1

3.5 Application Protocols for IoT - MQTT 1

3.6 The Transport Layer, IoT Application Transport Methods 1

3.7 The Transport Layer, IoT Application Transport Methods 1

Module 4 ( Data Analytics for IoT) (6hrs)(TB-1, Chapter 7,8)

4.1 An Introduction to Data Analytics for IoT, Machine Learning 1

4.2 Big Data Analytics Tools and Technology 1

4.3 Edge Streaming Analytics, Network Analytics 1


COMPUTER SCIENCE AND ENGINEERING

4.4 A Brief History of OT Security, Common Challenges in OT Security 1

4.5 Differences between IT and OT Security Practices and Systems 1

4.6 Formal Risk Analysis Structures: OCTAVE and FAIR 1

Module 5 ( Developing IoT Systems)(9 hrs) (TB-2, Chapter 6,7,8)

5.1 IoT Logical Design using Python, 1

5.2 IoT Physical Devices and Endpoints 1

5.3 Raspberry Pi interfaces, Programming Raspberry Pi using Python 1

5.4 Other IoT devices 1

5.5 Cloud Storage Models 1

5.6 WAMP-Autobahn for IoT 1

5.7 Django 1

5.8 Designing RESTful Web API 1

5.9 Cloud Web Services for IoT. 1


COMPUTER SCIENCE AND ENGINEERING

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)

CO4 Demonstrate the importance of black-box approaches in terms of domain and


functional testing.(Cognitive Knowledge Level: Apply)

CO5 Illustrate the use of PEX tool with symbolic execution.(Cognitive Knowledge Level:
Apply)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO 9 PO10 PO11 PO12

CO1

CO2

CO3

CO4
COMPUTER SCIENCE AND ENGINEERING

CO5

Abstract POs defined by National Board of Accreditation

PO# Broad PO PO# Broad PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of solutions PO9 Individual and team work

PO4 Conduct investigations of complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Bloom’s Category Continuous Assessment Tests End Semester Examination


Marks
Test 1 (Marks) Test 2 (Marks)

Remember 30 30 30

Understand 40 40 40

Apply 30 30 30

Analyze

Evaluate

Create

Mark Distribution

Total CIE ESE ESE


Marks Marks Marks Duration

150 50 100 3 hours


COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:

Attendance 10 marks
Continuous Assessment Tests(Average of SeriesTests1& 2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern:


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.

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 maximum 2 sub-divisions and carries 14 marks.
COMPUTER SCIENCE AND ENGINEERING

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.

Module - 2 (Unit Testing)


Concept of Unit testing. Static Unit testing. Dynamic Unit testing - Control Flow testing, Data Flow
testing, Domain testing, Functional Program testing. Mutation testing - Mutation and Mutants, Mutation
operators, Mutation score. Junit - Framework for Unit testing. Case Study - Mutation testing using Junit
and Muclipse.

Module - 3 (Unit Testing - White Box Approaches)

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.

Module - 4 (Unit Testing - Black Box Approaches)


Domain Testing / Input Space Partitioning - Partitions of a set. Input domain modelling - Interface-based
approach, Functionality-based approach. Identifying values. Multiple partitions of the input domain - All
Combinations Coverage (ACoC), Each Choice Coverage (ECC), Pair-wise Coverage, T-wise Coverage,
Base Choice Coverage, Multiple Base Choices Coverage. TriTyp example. Functional Testing - Functional
Testing Concepts of Howden. Functional testing - Important Steps. Types of Functional testing -
Equivalence Class Partitioning, Boundary Value Analysis, Decision Tables, Random Testing. Case Study -
Black Box testing approaches using JUnit.
COMPUTER SCIENCE AND ENGINEERING

Module - 5 (Grey Box Testing Approaches)


Introduction to Grey Box testing - Why Grey Box testing, Gray Box Methodology, Advantages and
Disadvantages. Techniques of Grey Box Testing - Matrix Testing, Regression Testing, Orthogonal Array
Testing or OAT, Pattern Testing. An Introduction to PEX - Parameterized Unit Testing, The Testing
Problem. Symbolic Execution – Example, Symbolic execution tree. PEX application Case Study – PEX.

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.

Sample Course Level Assessment Questions


Course Outcome 1 (CO1):
Explain the following types of testing methods with examples.
(i) Balck-box testing.
(ii) White-box testing.
(iii) Grey-box testing.
Course Outcome 2 (CO2):
Define 12 mutants for the following method power() using effective mutation operators. Try to use each
mutation operator at least once. Approximately, how many mutants do you think there would be, if all
mutants for power() were created?

public static int power (int left, int right)


{
//**************************************
// Raises Left to the power of Right
// precondition : Right >= 0
// postcondition: Returns Left**Right
//**************************************
COMPUTER SCIENCE AND ENGINEERING

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);

Model Question Paper

QP CODE: PAGES: 3

Reg No: Name :

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST458

Course Name: Software Testing

[Link] Duration: 3 Hours

PART A
Answer all Questions. Each question carries 3 Marks

1. Explain the differences between Validation and Verification?

2. Explain the differences between Fault, Error, and Bug?

3. Define Ground string, Mutation score, and Mutants?

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?

6. What are du paths and du pairs in a data flow graph?

7. Explain the two approaches in input domain modelling?

8. Explain the difference between Equivalence Class Partitioning and Boundary


Value Analysis?

9. Briefly explain three techniques of Grey box testing?

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)

11. (a) Explain the following types of testing


COMPUTER SCIENCE AND ENGINEERING

(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

16. (a) Draw CFG fragment for


(7)
(i) Simple if (ii) Simple while loop (iii) Simple for loop

(b) Explain the following concepts with examples? (7)


(i)Call graph (ii) Inheritance graph (iii) Coupling du-pairs
17. (a) What are the four important steps in functional testing? (7)

(b) Briefly explain input domain modelling approaches? (7)

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)

(b) Explain the concept of symbolic execution tree? (5)

OR

20. (a) Consider the code fragment given below: - (7)

1. POWER: PROCEDURE(X, Y);


2. Z ← 1;
COMPUTER SCIENCE AND ENGINEERING

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).

(b) Explain Execution tree for POWER (αl, α2). (7 )

TEACHING PLAN

No Contents No of
Lecture Hrs
(35 hrs)

Module 1 (Introduction to Software Testing) -(7 Hours)

1.1 Some Popular Errors– Ariane 5, Therac 25, Intel Pentium Bug. 1 Hour

What is Software testing? Why should it be tested? Software Quality,


1.2 Role of Testing. 1 Hour

Testing Process - Level 0 thinking, Level 1 thinking, Level 2 thinking,


1.3 Level 3 thinking, Level 4 thinking. 1 Hour

Software Testing Terminologies- Verification, Validation and Testing,


1.4 Faults, Error and Bug, Test cases, Coverage Criteria. 1 Hour

Types of Testing- Unit testing, integration testing, System testing,


1.5 Acceptance testing, Beta testing 1 Hour

Functional testing, Stress testing, Performance testing, Usability testing


1.6 and Regression testing. 1 Hour

Testing Methods - Black Box testing, White Box testing, Grey Box
1.7 testing. 1 Hour

Module 2 (Unit testing)- (6 Hours)

2.1 Concept of Unit testing, Static Unit Testing 1 Hour


COMPUTER SCIENCE AND ENGINEERING

Dynamic Unit testing - Control Flow testing, Data Flow testing, Domain
2.2 testing, Functional Program testing. 1 Hour

Mutation testing - Mutation and Mutants, Mutation operators, Mutation


2.3 score. 1 Hour

2.4 Junit - Framework for Unit testing. 1 Hour

2.5 Case Study - Mutation testing using Junit 1 Hour

2.6 Case Study - Mutation testing using Muclipse 1 Hour

Module 3 (Unit Testing:- White Box Approaches)- (8 Hours)

Structural Graph Coverage Criteria - Node/vertex coverage, Edge


3.1 coverage, Edge pair coverage, Path coverage 1 Hour

Complete path coverage, Prime path coverage, Complete round trip


3.2 coverage, Simple round trip coverage. 1 Hour

3.3 Data Flow Criteria - du paths, du pairs 1 Hour

3.4 Subsumption Relationships among Graph Coverage Criteria 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

Module 4 (Unit Testing:- Black Box Approaches) -(7 Hours)

4.1 Domain Testing / Input Space Partitioning - Partitions of a set. 1 Hour

Input domain modelling - Interface-based approach, Functionality-based


4.2 approach. 1 Hour
COMPUTER SCIENCE AND ENGINEERING

Multiple partitions of the input domain - All Combinations Coverage


4.3 (ACoC), Each Choice Coverage (ECC), Pair-wise Coverage, T-wise 1 Hour
Coverage, Base Choice Coverage, Multiple Base Choices Coverage.
Functional Testing - Functional Testing Concepts of Howden.
4.4 Important Steps. 1 Hour

Types of Functional testing - Equivalence Class Partitioning, Boundary


4.5 Value Analysis 1 Hour

4.6 Decision Tables, Random Testing. 1 Hour

4.7 Case Study - Black Box testing approaches using JUnit. 1 Hour

Module 5 (Grey Box Testing Approaches)- (7 Hours)

Introduction to Grey Box testing - Why Grey Box testing, Gray Box
5.1 Methodology, Advantages and Disadvantages. 1 Hour

Techniques of Grey Box Testing - Matrix Testing, Regression Testing,


5.2 Orthogonal Array Testing or OAT, Pattern Testing. 1 Hour

An Introduction to Pex - Parameterized Unit Testing, The Testing


5.3 Problem. 1 Hour

5.4 Symbolic Execution – Example, Symbolic execution tree. 1 Hour

5.5 Case Study – PEX (Lecture 1) 1 Hour

5.6 Case Study – PEX (Lecture 2) 1 Hour

5.7 Case Study – PEX (Lecture 3) 1 Hour


COMPUTER SCIENCE AND ENGINEERING

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.

Prerequisite: Basic background in higher secondary biology

Course Outcomes: After the completion of the course, the student will be able to

CO 1 Describe the basic concepts of Bioinformatics with an emphasis on structure, function


and synthesis of biomolecules (Cognitive knowledge level : Understand)

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)

CO 5 Explain the fundamental aspects of Systems Biology, Computational Modeling and


properties of models (Cognitive knowledge level : Understand)

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3
COMPUTER SCIENCE AND ENGINEERING

CO4

CO5

PO# Broad PO PO# Broad PO


PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics


PO3 Design/Development of solutions PO9 Individual and team work
Conduct investigations of complex
PO4 problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

Assessment Pattern

Bloom’s Category Continuous Assessment Tests End Semester


Test1 (%) Test2 (%) Examination
Remember 30 30 30
Understand 50 50 50
Apply 20 20 20
Analyse
Evaluate
Create

Mark Distribution

Total Marks CIE Marks ESE Marks ESE Duration


150 50 100 3
COMPUTER SCIENCE AND ENGINEERING

Continuous Internal Evaluation Pattern:

Attendance 10 marks

Continuous Assessment Tests (Average of Series Tests 1& 2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern:


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.

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 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 (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

Module-2 (Introduction to bio sequences and analysis)

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-3 (Database Similarity Searching and genomics)

Database Similarity Searching, BLAST – Variants -BLASTN, BLASTP, BLASTX, Statistical


Significance, Needleman and Wunsch and Smith–Waterman Method, Multiple Sequence
Alignment, scoring function, Clustal, introduction to structure of prokaryotic and eukaryote
gene

Module-4 (Proteomics)

Protein Structure, Ramachandran Plot, Hierarchies of Protein Structure, Determination of Protein


three-dimensional structure, protein structure database-PDB, Protein structure visualization,
introduction to Protein protein interaction, STRING database

Module-5 (Systems Biology)

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.

Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Compare and contrast the DNA and RNA on the basis of structure and functions.
2. Demonstrate with the help of a flow diagram the generation of protein using the
transcription and translation process.
Course Outcome 2 (CO2):
1. Download DNA sequence of human insulin form NCBI
2. Identify the following qualifiers for GenBank and give their definitions: [ACCN],
[ALL], [AUTH], [ECNO], [FKEY], [GENE], [JOUR], [KYWD]
3. Construct a dot plot and find the sequence alignment between the following two
sequences:
Sequence1: GATTCTATCTAACTA, Sequence2: GTTCTATTCTAAC
Course Outcome 3 (CO3):
1. Apply Needleman-Wunsch Algorithm to perform sequence alignment for the following
sequences: CGTGAATTCAT (sequence #1), GACTTAC (sequence #2)
2. Construct a BLAST procedure for sequence alignment(HSP) if a sequence and its
corresponding database sequence are given. Assume the necessary data and demonstrate
the procedure.
Course Outcome 4 (CO4):
1. Differentiate between the different protein molecular structure visualizations. Also
mention the advantages and uses of each visualization technique.
2. Make use of an example and demonstrate the steps in protein comparison. Show how
root mean square deviationis calculated while comparing two proteins.
Course Outcome 5 (CO5):
1. Explain how systems biology is used in data integration.
.
2. Explain the process of model development
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper


QP CODE:
Reg No: _______________

Name: _________________ PAGES : 3


APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY
EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR
Course Code: CST468
Course Name: Bioinformatics
Max. Marks : 100 Duration: 3 Hours
PART A
Answer All Questions. Each Question Carries 3 Marks
1. Differentiate DNA, Gene, genome and chromosome.

2. What are the functions of mRNA, tRNA and rRNA?

3. What do you mean by Gene expression?

4. Write difference between local and global alignment.

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.

7. What are the principle underlying the formation of Ramachandran plot?.

8. What are the experimental methods for determining protein structure?

9. What do you mean by steady state in a biological system.

10. Justify the statement - systems are modular. (10x3=30)


Part B
(Answer any one question from each module. Each question carries 14 Marks)
11. (a) What is the central dogma of molecular biology? (6)
(b) Explain the steps involved in the process of transcription. How is the primary (8)
transcript produced by a prokaryote different from that produced by a
eukaryotic cell?
COMPUTER SCIENCE AND ENGINEERING

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?

(b) Discuss on Protein Structure Database. (5)


COMPUTER SCIENCE AND ENGINEERING

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)

1.1 Introduction to bioinformatics 1

1.2 Nature & Scope of Bioinformatics 1

1.3 DNA, RNA, and Protein 1

1.4 The Central Dogma introduction 1

1.5 Messenger RNA, tRNA, rRNA, 1

1.6 Genetic code, 1

1.7 Gene Structure and Control 1

1.8 Transcription, Translation 1

Module-2 (Introduction to bio sequences and analysis) (7 hrs)


Text 2 (Relevant topics from chapter 2, 3)

2.1 Introduction to Biological Databases 1

2.2 NCBI Sequence retrieval 1

2.3 Genbank, Bio sequence formats- FASTA 1

2.4 Sequence alignment- Global Alignment and Local Alignment 1

2.5 Dot Matrix Method, Dynamic Programming Method 1


COMPUTER SCIENCE AND ENGINEERING

2.6 Gap Penalties 1

2.7 Amino Acid Scoring Matrices – PAM, BLOSUM 1

Module-3 (Database Similarity Searching and genomics) (7 hrs)


Text 2 (Relevant topics from chapter 4 5 and 8)

3.1 Database Similarity Searching, BLAST, Variants of BLAST - 1


BLASTN, BLASTP, BLASTX

3.2 BLAST Analysis - Statistical Significance 1

3.3 Needleman and Wunsch Method 1

3.4 Smith–Waterman Method 1

3.5 Multiple Sequence Alignment, scoring function 1

3.6 Clustal tool 1

3.7 Gene Structure of prokaryotic, eukaryote 1

Module-4 (Proteomics) (7 hrs)


Text 2 (Relevant topics from chapter 12, 13 and 19)
4.1 Protein Structure, Ramachandran Plot 1
4.2 Hierarchies of Protein Structure 1
4.3 Determination of Protein three-dimensional structure 1
4.4 protein structure database-PDB 1
4.5 Protein structure visualization 1
4.6 Protein protein interaction 1
4.7 Protein protein interaction networks, STRING database 1
Module-5 (Systems Biology) (7 hrs)
Text 3 (Relevant topics from Section 1.1-1.4)

5.1 Introduction to Systems Biology, Properties of models 1


5.2 Systems state and steady state 1
5.3 Variables, Parameters, and Constants in modelling 1
5.4 Purpose and Adequateness of Models 1
5.5 Advantages of Computational Modelling ,Model Development 1
(introduction only)
5.6 Network Versus Elements, Modularity, 1
COMPUTER SCIENCE AND ENGINEERING

5.7 Robustness and Sensitivity, Data Integration 1


COMPUTER SCIENCE AND ENGINEERING

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

Explain the fundamental concepts of language processing (Cognitive


CO1 Knowledge Level: Understand)

CO2 Demonstrate the concepts of probability, statistical inference and hidden


Markov model. (Cognitive Knowledge Level: Apply)

Compare and summarize the various methods of word sense disambiguation,


lexical acquisition and selectional preferences. (Cognitive Knowledge
CO3
Level: Apply)

Make use of different Part-of-Speech Tagging methods for language


CO4 modelling. (Cognitive Knowledge Level: Apply)

Examine Probabilistic Context Free Grammars and various probabilistic


CO5 parsing methods (Cognitive Knowledge Level: Apply)

Develop simple systems for linguistic tasks using Python and NLTK.
CO6
(Cognitive Knowledge Level: Apply)
COMPUTER SCIENCE AND ENGINEERING

Mapping of course outcomes with program outcomes

PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5

CO6

Abstract POs defined by National Board of


Accreditation
PO# Broad PO# Broad
PO PO
PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics


PO3 Design/Development of PO9 Individual and team work
solutions
Conduct investigations of
PO4 complex problems PO10 Communication

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Life long learning

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

Total CIE ESE Marks ESE


Marks Marks Duration
150 50 100 3Hrs

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Continuous Assessment Tests(Average of SeriesTests1& 2) 25 marks

Continuous Assessment Assignment 15 marks

Internal Examination Pattern:


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.

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 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 -2 (Mathematical Essentials:)


Probability Theory-Probability spaces-Conditional probability and independence-Bayes'
theorem-Random variables-Expectation and variance-Notation-Joint and conditional
distributions-Standard distributions-Bayesian statistics
Statistical Inference: n-gram Models over Sparse Data-Bins: Forming Equivalence Classes-
Reliability vs discrimination-n gram models
Markov Models-Hidden Markov Models-Why use HMMs?-General form of an HMM-
Finding the probability of an observation-Finding the best state sequence

Module -3 (Word Sense Disambiguation)


Methodological Preliminaries- Supervised and unsupervised learning-Pseudowords-Upper
and lower bounds on performance-Supervised Disambiguation-Bayesian classification-
Dictionary based Disambiguation-Disambiguation based on sense definitions-Thesaurus
based disambiguation
Lexical Acquisition-Evaluation Measures-Verb Subcategorization -Attachment
Ambiguity-PP attachment- Selectional Preferences
Semantic Similarity: Vector space measures-Probabilistic measures

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

Probabilistic Context Free Grammars-Some Features of PCFGs-Questions for PCFGs -The


Probability of a String -Using inside probabilities-Using outside probabilities-Finding the
most likely parse for a sentence-parsing for disambiguation-parsing model versus language
model
COMPUTER SCIENCE AND ENGINEERING

Module -5 (Language Processing with Python)


Introduction to NLTK, Text Wrangling and Text cleansing : Sentence Splitter, Tokenization,
Stemming, Lemmatization, Stop word removal , Rare word Removal, Spell Correction. Part
of Speech Tagging and NER. Parsing Structure in Text: Shallow versus deep parsing,
different types of parsers and dependency parsing.

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

Course Level Assessment Questions


Course Outcome 1 (CO1):
1. What do you understand by the term collocations? List their properties.
2. Define the term phrase structure grammar formally.
Course Outcome 2 (CO2):
1. State Bayes’ theorem and explain briefly. Comment on it’s usefulness in NLP.
2. How can n-grams be used to model natural language statistically?
Course Outcome 3 (CO3):
1. What is meant by attachment ambiguity? Show it using English sentences
2. What is meant by Word Sense Disambiguation (WSD)? Outline any one WSD
algorithm
Course Outcome 4 (CO4):
1. How can HMM be used for Parts of speech tagging?
2. Outline an implementation procedure for HMM
Course Outcome 5 (CO5):
1. Show with an example how can probabilistic grammars be used to model human
preferences in parsing.
2. Give the technique of Transformation-Based Learning of Tags
Course Outcome 6 (CO6):
1. Implement a python program for stop word removal in a simple paragraph.
2. Write a code to access a weather site and extract the forecast top temperature for your
town or city today.
COMPUTER SCIENCE AND ENGINEERING

Model Question Paper

QP CODE:

Reg No: _______________

Name: _________________ PAGES : 3

APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY

EIGHTH SEMESTER [Link] DEGREE EXAMINATION, MONTH & YEAR

Course Code: CST478

Course Name: Computational Linguistics

Max. Marks : 100 Duration: 3 Hours

PART A

Answer All Questions. Each Question Carries 3 Marks

1. Define Zipf's law.

2. List the uses of a corpus in language processing?

3. What is a Hidden Markov Model?

4. State Bayes’ theorem and explain briefly. Comment on its usefulness in NLP.

5. What is meant by supervised disambiguation? What are its prerequisites ?

6. Consider the sentence: "the children ate the cake with a spoon". Construct the
parse tree for it and explain the attachment ambiguity.

7. Discuss the properties of Markov chain useful in POS tagging.

8. Explain the features of PCFG.

9. What is NLTK? How is it useful in text processing ?

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

(b) Differentiate stemming and lemmatization with examples. (5)

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

13. (a) What do you mean by a probability distribution? (5)


What are the approaches used in SNLP to estimate probability distribution of
linguistic events?

(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

16. (a) Write a note on selectional preferences with an example (5)

(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

18. (a) Write the formal definition of PCFG. (5)


Apply probabilistic parsing on the following sentence and find the
correct parsing using the given grammar
Sentence: Astronomers saw stars with ears.
Probabilistic grammar:

(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.

(b) Explain the process of Named Entity Recognition. (5)


List its uses and challenges involved.

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)

1.1 Introduction: Rationalist and Empiricist Approaches to Language- 1


Questions that linguistics should answer-
1.2 Non-categorical phenomena in language-Language and cognition as 1
probabilistic phenomena
1.3 The Ambiguity of Language: Why natural language processing is 1
difficult
1.4 Lexical resources-Word counts 1
1.5 Zipf’s laws-Collocations-Concordances 1
1.6 Linguistic Essentials: Parts of Speech and Morphology -Nouns and 1
pronouns
1.7 Words that accompany nouns: Determiners and adjectives-Verbs-Other 1
parts of speech
1.8 Phrase Structure-Phrase structure grammars 1
1.9 Semantics and Pragmatics-Corpus Based Work 1
Module – 2 (Mathematical Essentials) (7 hrs)
2.1 Probability Theory-Probability spaces 1
2.2 Conditional probability and independence-Bayes' theorem 1
2.3 Random variables-Expectation and variance-Notation 1
2.4 Joint and conditional distributions-Standard distributions- 1
Bayesian statistics
2.5 Statistical Inference: n-gram Models over Sparse Data-Bins: Forming 1
Equivalence Classes
2.6 Markov Models-Hidden Markov Models: Why use HMMs? 1
2.7 General form of an HMM-Finding the probability of an observation- 1
Finding the best state sequence
Module – 3 (Word Sense Disambiguation) (7 hrs)
3.1 Methodological Preliminaries-Supervised and unsupervised learning 1
3.2 Upper and lower bounds on performance-Supervised Disambiguation 1
3.3 Bayesian classification-Dictionary based Disambiguation- 1
3.4 Disambiguation based on sense definitions-Thesaurus based 1
disambiguation
3.5 Lexical Acquisition-Evaluation Measures 1
COMPUTER SCIENCE AND ENGINEERING

3.6 Verb Subcategorization-Attachment Ambiguity, PP attachment- 1


Selectional Preferences
3.7 Semantic Similarity:Vector space measures-Probabilistic measures 1

Module – 4 (Grammar) (8 hrs)


4.1 Part-of-Speech Tagging-The Information Sources in Tagging 1
4.2 Markov Model Taggers-Hidden Markov Model Taggers- 1
4.3 Applying HMMs to POS tagging-The effect of initialization on 1
HMM training-
4.4 Transformation-Based Learning of Tags 1
4.5 Probabilistic Context Free Grammars-Some Features of PCFGs 1
4.6 Questions for PCFGs 1
4.7 The Probability of a String -Using inside probabilities 1
Using outside probabilities
4.8 Finding the most likely parse for a sentence-parsing for 1
disambiguation, parsing model vs. language model
Module - 5 (Language Processing with Python) ( 5 hrs)
5.1 Introduction to NLTK 1
5.2 Text Wrangling and Text cleansing : Sentence Splitter, 1
Tokenization, Stemming,
5.3 Lemmatization, Stop word removal , Rare word Removal, Spell 1
Correction.
5.4 Part of Speech Tagging and NER. 1
5.5 Parsing Structure in Text: Shallow versus deep parsing, types of 1
parsers
COMPUTER SCIENCE AND ENGINEERING

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.

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)

Mapping of course outcomes with program outcomes


PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO# Broad


PO PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of PO9 Individual and team work


solutions

PO4 Conduct investigations of PO10 Communication


complex problems

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Lifelong learning

Assessment Pattern
Mark Distribution
Total CIE ESE Marks
Marks Marks
150 75 75

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Project Guide 15 marks
Project Report 10 marks
Evaluation by the Committee (will be evaluating the level of completion
and demonstration of functionality/specifications, presentation,
oral examination, work knowledge and involvement) : 40 marks

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.

End Semester Examination Pattern:

The marks will be distributed as


Presentation : 30 marks
Demo : 20 marks
Viva : 25 marks.
Total : 75 marks.

TEACHING PLAN

Students are expected to follow the following steps.


1. Review of Literature and Identification of a problem
2. Create an abstract with a problem statement, solution approach, technology stack, team,
etc.
3. Create Requirements Specification
4. Create Design Document . This may include designs like,
a. System Architecture Design
b. Application Architecture Design
c. GUI Design
d. API Design
e. Database Design
f. Technology Stack
5. Deployment, Test Run & Get Results
6. Prepare Project Report

Guidelines for the Report preparation


A bonafide report on the mini project shall be submitted within one week after the final
presentation. Minimum number of pages should be 40.
● Use Times New Roman font for the entire report – Chapter/Section Title – Times New
Roman18, Bold; Heading 2 – Times New Roman16, Bold; Heading 3 – Times New
Roman14, Bold; Body- Times New Roman 12, Normal.
● Line Spacing – Between Heading 2 – 3 lines, between lines in paragraph 1.5 lines.
● Alignments – Chapter/Section Title – Center, Heading 2 & 3 should be Left Aligned.
Ensure that all body text is paragraph justified.
● 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.
COMPUTER SCIENCE AND ENGINEERING

● Suggestive order of documentation:


i. Top Cover
ii. Title page
iii. Certification page
iv. Acknowledgement
v. Abstract
vi. Table of Contents
vii. List of Figures and Tables
viii. Chapters
ix. Appendices, if any
x. References/Bibliography
COMPUTER SCIENCE AND ENGINEERING

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.

Prerequisite: A sound knowledge in courses studied in respective honor 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)

Mapping of course outcomes with program outcomes


PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1

CO2

CO3

CO4

CO5
COMPUTER SCIENCE AND ENGINEERING

Abstract POs defined by National Board of Accreditation

PO# Broad PO# Broad


PO PO

PO1 Engineering Knowledge PO7 Environment and Sustainability

PO2 Problem Analysis PO8 Ethics

PO3 Design/Development of PO9 Individual and team work


solutions

PO4 Conduct investigations of PO10 Communication


complex problems

PO5 Modern tool usage PO11 Project Management and Finance

PO6 The Engineer and Society PO12 Lifelong learning

Assessment Pattern
Mark Distribution

Total CIE ESE Marks


Marks Marks
150 75 75

Continuous Internal Evaluation Pattern:


Attendance 10 marks
Project Guide 15 marks
Project Report 10 marks
Evaluation by the Committee (will be evaluating the level of completion
and demonstration of functionality/specifications, presentation,
oral examination, work knowledge and involvement) : 40 marks

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

performance, scalability, reliability considerations, aesthetics/ergonomic, user experience and


security aspects taken care of in the project shall be given due weight.

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.

End Semester Examination Pattern:

The marks will be distributed as


Presentation : 30 marks
Demo : 20 marks
Viva : 25 marks.
Total : 75 marks.

TEACHING PLAN

Students are expected to follow the following steps.


1. Review of Literature and Identification of a problem
2. Create an abstract with a problem statement, solution approach, technology stack, team,
etc.
3. Create Requirements Specification
4. Create Design Document . This may include designs like,
a. System Architecture Design
b. Application Architecture Design
c. GUI Design
d. API Design
e. Database Design
f. Technology Stack
5. Deployment, Test Run & Get Results
6. Prepare Project Report

Guidelines for the Report preparation


A bonafide report on the mini project shall be submitted within one week after the final
presentation. Minimum number of pages should be 40.
● Use Times New Roman font for the entire report – Chapter/Section Title – Times New
Roman18, Bold; Heading 2 – Times New Roman16, Bold; Heading 3 – Times New
Roman14, Bold; Body- Times New Roman 12, Normal.
● Line Spacing – Between Heading 2 – 3 lines, between lines in paragraph 1.5 lines.
COMPUTER SCIENCE AND ENGINEERING

● Alignments – Chapter/Section Title – Center, Heading 2 & 3 should be Left Aligned.


Ensure that all body text is paragraph justified.
● Figures & Tables – Ensure that all Figures and Tables are suitably numbered and given
proper names/headings. Write figuretitle under the figure and table title above the table.

● Suggestive order of documentation:


i. Top Cover
ii. Title page
iii. Certification page
iv. Acknowledgment
v. Abstract
vi. Table of Contents
vii. List of Figures and Tables
viii. Chapters
ix. Appendices, if any
x. References/Bibliography

You might also like