CSE Syllabus 2018-19
CSE Syllabus 2018-19
CSE Syllabus 2018-19
COURSE STRUCTURE
PROGRAM OBJECTIVES
PO-5 Modern tool usage: Create, select, and apply appropriate techniques,
resources, and modern engineering and IT tools including prediction and
modeling to complex engineering activities with an understanding of the
limitations.
PO-6 The engineer and society: Apply reasoning informed by the contextual
knowledge to assess societal, health, safety, legal, and cultural issues and the
consequent responsibilities relevant to the professional engineering practice.
PO-8 Ethics: Apply ethical principles and commit to professional ethics and
responsibilities and norms of the engineering practice.
PO-12 Life-long learning: Recognize the need for, and have the preparation
and ability to engage in independent and life-long learning in the broadest
context of technological change.
ELECTIVE-III
Subject Total
S. No. Category Code Name of the Subjects Course Hours Credits
Code Hours
L T P
1 Professional Elective 18B1WCI638 Pattern Recognition 2 0 0 2 2
2 Professional Elective 18B1WCI635 Data Mining & Data Warehousing 2 0 0 2 2
3 Professional Elective 18B1WCI632 Parallel and Distributed Algorithms 2 0 0 2 2
4 Professional Elective 18B1WCI636 Digital Image processing 2 0 0 2 2
5 Professional Elective 18B1WCI678 Pattern Recognition Lab 0 0 2 1 2
Professional Elective 18B1WCI675 Data Mining & Data Warehousing
6 0 0 2 1 2
Lab
Professional Elective 18B1WCI672 Parallel and Distributed Algorithms
7 0 0 2 1 2
Lab
8 Professional Elective 18B1WCI676 Digital Image processing Lab 0 0 2 1 2
9 Professional Elective 19B1WCI632 Information Security 2 0 0 2 2
10 Professional Elective 19B1WCI672 Information Security Lab 0 0 2 1 2
11 Professional Elective 20B1WCI732 From Graph to Knowledge
2 0 0 2 2
Graph
12 Professional Elective 20B1WCI772 From Graph to Knowledge
0 0 2 1 2
Graph Lab
13 Professional Elective 19B1WCI635 Architecting Distributed Cloud 2 0 0 2 2
Applications
14 Professional Elective 19B1WCI675 Architecting Distributed Cloud 0 0 2 1 2
Applications Lab
15 Professional Elective 19B1WCI637 Statistics and Exploratory Data 2 0 0 2 2
Analytics
16 Professional Elective 19B1WCI677 Statistics and Exploratory Data 0 0 2 1 2
Analytics Lab
ELECTIVE-IV
Subject Total
S. No. Category Code Name of the Subjects Course Hours Credits
Code Hours
L T P
1 Professional Elective 18B1WCI734 Cryptography& network security 2 0 0 2 2
2 Professional Elective 18B1WCI743 Advanced Algorithms 2 0 0 2 2
3 Professional Elective 18B1WCI741 R-Programming 2 0 0 2 2
4 Professional Elective 18B1WCI742 Artificial Intelligence 2 0 0 2 2
Professional Elective 18B1WCI774 Cryptography& network security
5 0 0 2 1 2
Lab
6 Professional Elective 18B1WCI773 Advanced Algorithms Lab 0 0 2 1 2
7 Professional Elective 18B1WCI771 R-Programming Lab 0 0 2 1 2
8 Professional Elective 18B1WCI772 Artificial Intelligence Lab 0 0 2 1 2
9 Professional Elective 19B1WCI731 Computational Data Analysis 2 0 0 2 2
10 Professional Elective 19B1WCI771 Computational Data Analysis lab 0 0 2 1 2
11 Professional Elective 19B1WCI732 Game Development and Design 2 0 0 2 2
12 Professional Elective 19B1WCI772 Game Development Lab 0 0 2 1 2
ELECTIVE-V
Subject Total
S. No. Category Code Name of the Subjects Course Hours Credits
Code Hours
L T P
1 Professional Elective 18B1WCI736 Storage Networks 3 0 0 3 3
2 Professional Elective 18B1WCI738 Internet of Things 3 0 0 3 3
3 Professional Elective 18B1WCI735 Mobile Computing 3 0 0 3 3
4 Professional Elective 18B1WCI737 Cloud Computing 3 0 0 3 3
Professional Elective 18B1WCI740 Computational Techniques and
5 Algorithms in Engineering 3 0 0 3 3
6 Professional Elective 19B1WCI736 Information Auditing & Risk 3 0 0 3 3
Management
7 Professional Elective 19B1WCI737 Optimization Methods in 3 0 0 3 3
Business Analytics
8 Professional Elective 18B1WCI840 Computer Vision 3 0 0 3 3
9 Professional Elective 19B1WCI738 Introduction to Deep Learning 3 0 0 3 3
ELECTIVE-VI
Subject Total
S. No. Category Code Name of the Subjects Course Hours Credits
Code Hours
L T P
1 Professional Elective 18B1WCI843 Data Analytics 3 0 0 3 3
2 Professional Elective 18B1WCI844 BIG DATA 3 0 0 3 3
3 Professional Elective 18B1WCI845 Network Management 3 0 0 3 3
4 Professional Elective 18B1WCI846 Graph Theory 3 0 0 3 3
5 Professional Elective 19B1WCI831 Ethics and Information 3 0 0 3 3
Technology
6 Professional Elective 18B1WCI832 Social and Information 3 0 0 3 3
Network Analysis
7 Professional Elective 19B1WCI832 Probabilistic Graphical Models 3 0 0 3 3
8 Professional Elective 19B1WCI833 Information Modeling 3 0 0 3 3
9 Professional Elective 19B1WCI834 Information Visualization 3 0 0 3 3
10 Professional Elective 19B1WCI835 Cloud Computing Security 3 0 0 3 3
11 Professional Elective 19B1WCI836 Knowledge-Based AI: 3 0 0 3 3
Cognitive Systems
12 Professional Elective 19B1WCI837 Reinforcement Learning 3 0 0 3 3
SYLLABUS
Pre-requisite: None
Course Objectives:
1. To formulate simple algorithms for arithmetic and logical problems.
2. To translate the algorithms to programs (in C language).
3. To test and execute the programs and correct syntax and logical errors.
4. To implement conditional branching, iteration and recursion.
5. To decompose a problem into functions and synthesize a complete program using divide and conquer
approach.
6. To use arrays, pointers and structures to formulate algorithms and programs.
7. To apply programming to solve matrix addition and multiplication problems and searching and sorting
problems.
8. To apply programming to solve simple numerical method problems, namely rot finding of function,
differentiation of function and simple integration
Course outcomes:
Level of
S.NO Course outcomes Attainment
CO-1 To formulate simple algorithms for arithmetic and logical problems. Familiarity
From algorithms to programs; source code, variables (with data types) variables and
memory locations, Syntax and Logical Errors in compilation, object and executable
Approved in Academic Council held on 25.10.2018
code- (2
lectures)
2 Arithmetic expressions and precedence 2
3 Loops: 6
Conditional Branching and Loops (6 lectures)
1. Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Prentice Hall of India
Evaluation Scheme:
Attendance - 5
Course Outcomes (COs) contribution to the Programme Outcomes(POs)
Course
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
outcomes
Average
(Programming
for Problem
Solving )
CO-1 3 2 3 2 2 3 2 3 2 2 3 3 2.5
CO-2 3 2 3 2 2 3 3 2 2 3 3 3 2.6
CO-3 2 2 2 2 2 3 3 3 2 2 3 3 2.4
CO-4 3 2 3 2 3 2 2 3 3 3 2 2 2.5
CO-5 3 2 2 2 3 2 2 2 2 3 3 3 2.4
CO-6 2 3 3 3 3 2 3 2 2 3 3 2 2.6
CO-7 2 2 2 2 2 3 3 3 2 2 3 3 2.4
CO-8 3 2 3 2 2 3 2 3 2 2 3 3 2.5
Average 2.6 2.1 2.6 2.1 2.4 2.6 2.5 2.6 2.1 2.5 2.9 2.8
Course Objectives:
1. Develop problem solving ability using programming.
2. To impart adequate knowledge on the need of programming languages and problem solving techniques.
3. To develop a methodological way of problem solving
4. Analyze and construct effective algorithms
5. Employ good programming practices such as incremental development, data integrity checking and
adherence to style guidelines
6. Learn a programming approach to solve problems
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
CO-1 Understand the Typical C Program Development Environment, compiling, debugging, Familiarity
Linking and executing.
CO-2 Introduction to C Programming using Control Statements and Repetition Statement Usage
Apply and practice logical formulations to solve some simple problems leading to specific Assessment and
CO-3
applications. Usage
Assessment &
CO-4 Design effectively the required programming components that efficiently solve computing
problems in real world. Usage
List of Experiments:
S.No Description Hours
1 Getting acquainted with the C program Structure and basic I/O. 2
Getting acquainted with the various data types and arithmetic operator used in C.
2 Write a program to obtain the reversed number and to determine whether the original and 2
reversed numbers are equal or not.
Write a program to check whether a triangle is valid or not, when the three angles of
triangle are entered through the keyboard. A triangle is valid if the sum of all three angles
is equal to 180 degrees.
Check a given I/P is character, number or special symbol.
3 WAP to check a given number is Armstrong or not. Calculate 2
factorial of a number
Given number is prime or not.
4 Write a program to add first seven terms of the following series using any loop: 1/1! + 2/2! + 2
3/3! +…..
Any five pattern program.
5 WAP to swap two numbers with function using 3rd variable or without using (call by value & 2
reference).
CO1 3 3 1 1 2 2 1 1 1 2 1 2 1.7
CO2 3 3 2 1 3 1 1 1 1 2 1 2 1.8
CO3 3 3 2 2 2 3 2 1 1 2 2 2 2.1
Pre-requisites: C/C++
Course Objectives:
Course Contents:
Unit Contents Lectures
required
1. “Algorithms, Data Structures, and Problem Solving with C++”, Illustrated Edition by Mark Allen
Weiss, Addison-Wesley Publishing Company
2. “How to Solve it by Computer”, 2nd Impression by R. G. Dromey, Pearson Education.
th
3. “Data structures and Algorithms Made Easy” 5 edition by Narasimha Karumanchi, Career
monk publications
4. “Data Structure and Algorithms in C” 2nd edition by Mark Allen Weiss (2002), Pearson
Education
Other useful resource(s):
Attendance - 5
Average
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course Outcomes
(Data Structure and
Algorithms)
CO-1 3 3 3 2 2 3 2 2 2 3 1 3 2.4
CO-2 3 3 3 2 3 2 3 2 2 3 1 3 2.5
CO-3 3 3 3 2 2 3 1 2 3 3 1 3 2.4
CO-4 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-5 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-6 3 3 3 2 3 3 2 2 2 3 1 3
2.5
Pre-requisites: None
Course Objectives:
Course outcomes:
- Design a program that picks the characters at equal interval from the given text/paragraph and generate
a new paragraph in which each set of word can’t have more than 4 characters. Last word of the
paragraph can have <=4 characters.
- Program to input following data into disk file. Code, name, department and salary of employee in a
firm. After creating file read the file and find following-
Methodology
algorithms
Code execution
Future scope
Count number of employees as per department
Search record of employee
Display record of employee
Display list of employee in alphabetical order as per department
Read record from file
Approved in Academic Council held on 25.10.2018
Suggested Books/Resources:
1. Langsam, Augestein, Tenenbaum : Data Structures using C and C++, 2nd Edn, 2000, Horowitz and
nd
Sahani : Fundamental of Data Structures in C, 2 Edn, 2008
2. Weiss : Data Structures and Algorithm Analysis in C/C++, 3rd Edn, 2006
3. Sahani : Data Structures, Algorithms and applications in C++, 1997.
4. Corman et al : Introduction to Algorithms, 3rd Edn., 2009
5. http://www.nptel.iitm.ac.in/video.php?subjectId=106102064, last accessed Mar 13, 2014.
6. http://www.cs.auckland.ac.nz/~jmor159/PLDS210/ds_ToC.html, last accessed Mar 13, 2014.
7. http://courses.cs.vt.edu/csonline/DataStructures/Lessons/index.html, last accessed Mar 13, 2014.
8. Link to topics related to course:
a. http://cse.iitkgp.ac.in/~pallab/pds16/pds16.htm
b. https://onlinecourses.nptel.ac.in/programming101/preview
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO-1 3 2 3 2 2 3 3 3 2 3 2 2 2.5
CO-2 3 3 3 2 3 3 3 3 2 3 2 3 2.8
CO-3 3 3 3 2 2 3 3 3 3 3 2 2 2.7
CO-4 3 3 3 3 3 3 3 2 2 3 3 3 2.8
CO-5 3 3 3 2 2 2 3 3 3 3 2 2 2.6
CO-6
3 3 3 3 3 3 3 2 2 3 3 3 2.8
CO-7
3 3 3 3 3 3 2 2 3 3 3 3 2.8
CO-8
3 3 3 2 3 3 3 3 3 3 2 3 2.8
CO-9
3 3 2 3 3 3 3 3 3 2 3 3 2.8
Average 3 2.9 2.9 2.4 2.7 2.9 2.9 2.7 2.6 2.9 2.4 2.7
Pre-requisite: None
Course Objectives:
Course Contents:
Unit Contents Lectures
required
1 Informal introduction to Python programming language: 5
What is a program?, What is debugging?, Formal and natural languages,
Downloading and installing Python., The first program, Debugging
Variables, expressions and Functions in Python Values and types,
Variables, Variable names and keywords, Operators and operands,
Expressions and statements, Interactive mode and script mode, Order of
operations, String operations, Function calls, Type conversion
functions, Math functions, Composition, Adding new functions,
Definitions and uses, Flow of execution Parameters and arguments
2 Branching and Iteration: Loops, Multiple assignment, Updating 8
variables, The while statement, Break String Manipulation, Guess and
Check, Approximations, Bisection: String manipulation, Guess and
check algorithms(e.g: find Square Root etc), Approximate solutions(e.g
Approved in Academic Council held on 25.10.2018
Successive approximation), Bisection method.
3 Decomposition, Abstractions: divide and conquer (modules), 7
Abstraction
Tuples, Lists, Dictionaries, Illustrative programs:
- Lists: list operations, list slices, list methods, list loop, mutability,
aliasing, cloning lists, list parameters;
- Tuples: tuple assignment, tuple as return value;
- Dictionaries: operations and methods; advanced list processing – list
comprehension;
Illustrative programs: selection sort, insertion sort, mergesort, histogram
4 Files, Modules, Packages: Files and exception: text files, reading and 7
writing files, format operator, Packages, Illustrative programs: word
count, copy file.
Testing, Debugging, Exceptions, Assertions: Unit testing framework(unit
test), debugger for Python program(pdb),
Handling an exception
5 Object Oriented Programming: 7
-Classes, objects, attributes and methods; defining classes; design with
classes, data modeling; persistent storage of objects
-OOP, continued: inheritance, polymorphism, operator
overloading, abstract classes.
6 Illustrative programs(examples): 8
Sorting and Searching
Regular expressions
o Match function
o Search function
o Matching vs. Searching
o Modifiers
o Patterns
GUI :
Introduction, Tkinter programming, Tkinter widgets
Total lectures 42
Suggested Text Book(s):
1. Kenneth A. Lambert, The Fundamentals of Python: First Programs, 2011, Cengage Learning, ISBN: 978-
1111822705
Suggested Reference Book(s):
1. Kenneth A. Lambert, The Fundamentals of Python: First Programs, 2011, Cengage Learning,
ISBN: 978-1111822705.
2. Chun, Wesley. Core python programming. Vol. 1. Prentice Hall Professional, 2001.
3. Zelle, John M. Python programming: an introduction to computer science. Franklin, Beedle &
Associates, Inc., 2004.
4. Gold, Steve. "Python: Python Programming Learn Python Programming In A Day-A Comprehensive
Introduction To The Basics Of Python & Computer Programming." (2016).
Other useful resource(s):
1. https://onlinecourses.nptel.ac.in/noc18_cs35/preview
2. https://nptel.ac.in/courses/106106145/
Attendance
*
In Test-I Paper the 20% of 15 Marks will be allocated to Introduction to Computers portion and 80% of 15 Marks will be
allocated to Introduction to Programming portion.
#
In Test-II Paper the 20% of 25 Marks will be allocated to syllabus of Test-I and 80% of 25 Marks will be allocated to further
covered portion.
$
In Test-III Paper the 40% of 30 Marks will be allocated to syllabus of Test-I+ Test-II and 60% of 30 Marks will be allocated
to further covered portion.
~
Internal Assessment will purely be focused on the assignments and quizzes based on Python
Programming.
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes
Average
(Python
Programming
Essentials)
CO-1 2.1
3 2 3 1 2 3 3 2 1 1 1 3
CO-2
2.3
3 3 3 1 2 3 3 3 2 1 1 3
CO-3 2.3
3 3 3 1 2 3 2 3 2 1 1 3
CO-4 2.5
3 3 3 3 3 3 3 2 2 1 1 3
CO-5 2.4
3 3 3 2 2 3 3 3 2 1 1 3
CO-6 2.3
3 3 3 2 3 2 3 2 2 1 1 3
Pre-requisite: None
Course Objectives:
1. To use object modelling technique to analyze problem requirements, design a solution to the problem and then
implement the solution in Object-Oriented Programming Language(s) or database.
2. To strengthen their problem solving ability by applying the characteristics of an object-oriented approach.
3. To strengthen ability to design and represent solutions to problems using UML notations
4. To introduce object oriented concepts in C++ and Java.
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
To learn the concepts of Objects, Classes, Methods, Constructors and
CO-1 Usage
Destructors
To learn the designing of complex classes: Friend Functions and Static member
CO-2 Usage
functions, Inline functions, constant functions.
To learn Inheritance: Single Inheritance, Multiple Inheritance, Multi-
CO-3 levelInheritance, Hierarchical Inheritance and Hybrid Inheritance. Usage
CO-4 To learn the concept of Abstract classes and interfaces Usage
CO-5 To learn the concepts of Operator overloading and conversion function Usage
CO-6 To learn File Handling. Writing and reading data from the file, reading and Usage
writing the objects into the file.
CO-7 To learn the Exception Handling: try --catch and finally block, making user- Usage
defined exceptions.
To learn the Unified Modeling Language (UML): Use Case Diagrams, State
CO-8 Diagrams, Sequence Diagrams, Communication Familiarity
Diagrams, and Activity Diagrams.
Course Contents:
Unit Contents Lectures
required
1 Structured versus Object-Oriented programming, Object-Oriented paradigm. 12
Defining Objects, Classes, Data members, Member functions, Constructors and
Destructors in C++.
Inline Functions, Friend Functions, Constant member functions, and Static
members (static data and static member functions).
Function overloading, Operator overloading and Conversion functions.
Using the concepts of File handling
2 Polymorphism and Inheritance in C++. Abstract classes, virtual 6
function, pure virtual functions, and virtual base classes in C++.
3 Function templates and Class templates 3
4 Introduction to Java and its features. Defining Classes in Java, 7
Wrapper classes, Packages and Exception handling in Java
5 Inheritance and Interfaces in Java. Abstract class, abstract methods, 5
Approved in Academic Council held on 25.10.2018
final class and final method in Java
6 Basic principles of Software engineering. System analysis, design, testing and 9
debugging. Unified Modeling Language (Class Diagram, Use Case Diagram,
State Diagram, Sequenced Diagram, Communication Diagram, Activity
Diagram)
Total lectures 42
Suggested Text Book(s):
1. Lafore R., Object oriented programming in C++, Waite Group
2. Java 2: The Complete Reference, Fifth Edition -- by Herbert Schildt
3. Satzinger, Jackson, Burd, Object-Oriented Analysis & Design
Suggested Reference Book(s):
a. https://onlinecourses.nptel.ac.in/noc16_cs17/preview
b. http://www.nptelvideos.com/java/java_video_lectures_tutorials.php
c. https://onlinecourses.nptel.ac.in/noc17_cs25/announcements
a. https://www.tutorialspoint.com/cplusplus/
b. http://www.cplusplus.com/doc/tutorial
Evaluation Scheme:
Attendance
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes
Average
(Object-Oriented
Systems and
Programming)
CO-1
3 3 3 3 2 2 3 3 2 3 3 3 2.8
CO-3
3 3 2 2 2 1 2 2 2 3 3 3 2.3
CO-4
3 3 3 2 2 1 2 3 2 3 3 3 2.5
CO-5
3 3 3 3 2 1 2 3 2 1 3 3 2.4
CO-6
3 3 3 3 2 3 2 3 2 2 3 3 2.7
CO-7
3 3 2 2 2 3 3 2 2 3 3 3 2.6
CO-8
3 3 3 3 3 2 3 3 2 1 3 1 2.5
Course Objectives:
1. To study the physical and logical database designs, database modeling, relational, hierarchical, and
network models
2. To understand and use data manipulation language to query, update, and manage a database.
3. To develop an understanding of essential DBMS concepts such as: database security, integrity,
concurrency, distributed database, and intelligent database, Client/Server (Database Server), Data
Warehousing.
4. To design and build a simple database system and demonstrate competence with the fundamental tasks
involved with modeling, designing, and implementing a DBMS.
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
Explain the characteristics, architecture of database approach, its components,
CO-1 Familiarity
different data models and the examples of
their usage.
For a given query write relational algebra expressions for that
CO-2 Usage
query and optimize the developed expressions.
For a given specification of the requirement, design the
CO-3 Usage
databases using E-R method and normalization.
Determine the functional dependency between two or more attributes,
CO-4 compute the closure of a set of attributes, evaluate Assessment
a proposed decomposition
Give examples of the application of primary, secondary, and
CO-5 clustering indexes, explain the theory and application of internal and external Assessment
hashing techniques.
Implement the isolation property, including locking, time
CO-6 stamping based on concurrency control and Serializability of scheduling. Assessment
Familiarize with the security in databases and gaining familiarity with
CO-7 other popular databases used in the industry Familiarity
Course Contents:
Unit Contents Lectures
required
1 Database system architecture: Data Abstraction, Data Independence, Data 5
Definition Language (DDL), Data Manipulation Language (DML).
Data models: Entity-relationship model, network model, relational and object oriented
data models, integrity constraints, data manipulation operations.
2 Relational query languages: Relational algebra, Tuple and domain relational 15
calculus, SQL3, DDL and DML constructs, Open source and Commercial DBMS -
Approved in Academic Council held on 25.10.2018
MYSQL, ORACLE, DB2, SQL server.
Attendance
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes
Average
(Database Management
Systems)
CO-1 3 3 2 1 2 2 2 1 2 3 2 2.2
3
CO-2 3 3 3 2 2 2 3 2 2 2 2 2.3
1
CO-3 3 3 2 1 1 3 3 3 3 1 1 2.3
3
CO-4 3 2 3 1 2 2 2 2 1 1 2 1.9
2
CO-5 3 2 2 1 2 3 3 2 1 2 1 2.1
3
CO-6 3 2 3 1 1 3 2 1 1 2 1 1.9
3
CO-7 3 3 2 1 1 3 3 1 3 3 1 2.3
3
3 2.6 2.4 1.1 1.6 2.6 2.6 1.7 1.9 2.6 2 1.4
Average
Pre-requisite: None
Course Objectives:
1. Learn syntax, semantics and create Functions in Python.
2. Understand the usage of Lists, Dictionaries, and arrays in Python.
3. Learn the Implementation of object oriented programming concepts in Python
4. Learn different data structure in Python.
5. Understand file handling in Python
6. Implement GUI applications and browser.
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
Familiarity about concepts of Python Programming. Broaden the knowledge Familiarity
CO1 about Variables, expressions and Functions in Python.
Broaden the knowledge about Branching and Iteration. To have hands on skills Assessment
CO2 on String Manipulation, Guess and Check, Approximations, Bisection
CO3 To learn about Decomposition Abstractions, Tuples, Lists, Dictionaries and Assessment
Illustrative programs:
CO4 Files, Modules, Packages and Testing, Debugging, Exceptions, Usage
Assertions:
CO5 Familiarity
Understanding and analyzing Object Oriented Programming:
CO6 To have hands on skills on Illustrative programs(examples Sorting and Usage
Searching, Regular expressions) and GUI
List of Experiments
S.No. Description Hours
1 1. Write a Python program to get the Python version you are using. 2
2. Write a Python program which accepts the radius of a circle from the user and
compute the area.
2 1. Write a Python program to display the current date and time. 2
2. Write a Python program which accepts the radius of a circle from the user and
compute the area.
3 1. Write a Python program which accepts the user's first and last name and print them 2
in reverse order with a space between them.
2. Write a Python program to display the first and last colors from the following list.
color_list = ["Red","Green","White" ,"Black"].
4 1. Write a Python program to print the documents (syntax, description etc.) of 2
Python built-in function(s).
Samplefunction :abs()
ExpectedResult :
abs(number)->number
Return the absolute value of the argument.
5 Write a Python program to get the difference between a given number and 17, if the 2
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO1 3 2 3 1 2 3 3 2 1 1 1 3 2.1
CO2 3 3 3 1 2 3 3 3 2 1 1 3 2.3
CO3 3 3 3 1 2 3 2 3 2 1 1 3 2.3
CO4 3 3 3 3 3 3 3 2 2 1 1 3 2.5
CO5 3 3 3 2 2 3 3 3 2 1 1 3 2.4
C06 3 3 3 2 3 2 3 2 2 1 1 3 2.3
Pre-requisite: None
Course Objectives:
1.To use object modelling technique to analyze problem requirements, design a solution to the problem and
then implement the solution in Object-Oriented Programming Language(s) or database.
2. To strengthen their problem solving ability by applying the characteristics of an object-oriented approach.
3. To strengthen ability to design and represent solutions to problems using UML notations.
4. To introduce object-oriented concepts in C++ and Java.
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
CO1 To learn the concepts of Objects, Classes, Methods, Constructors and Destructors Usage
To learn the designing of complex classes: Friend Functions and Static member
CO2 functions, Inline functions, constant functions. Usage
To learn Inheritance: Single Inheritance, Multiple Inheritance, Multi-level
CO3 Inheritance, Hierarchical Inheritance and Hybrid Inheritance. Usage
CO4 To learn the concept of Abstract classes and interfaces Usage
CO5 To learn the concepts of Operator overloading and conversion function Usage
To learn File Handling. Writing and reading data from the file, reading and writing
CO6 the objects into the file. Usage
CO7 To learn the Exception Handling: try --catch and finally block, making user-defined Usage
exceptions.
To learn the Unified Modeling Language (UML): Use Case Diagrams, State
CO8 Diagrams, Sequence Diagrams, Communication Diagrams, and Activity Diagrams. Familiarity
List of Experiments
S.No Description Hours
1 Create a class called Complex in C++ for performing arithmetic with complex 2
numbers. Use double variables to represent the private data of the class. Provide
public member functions for each of the following: (Define all the member functions
outside the class)
11 Define a class Directory with members: name and phone number. Use the class 2
object to store each set of data into a text file “phone.txt”. The names contain only
one word and the names and telephone numbers are separated by white spaces.
Write a C++ program to read the file and output the list in two columns, such as:
John 23456
Ahmed 9876
12 Write an interactive, menu-driven program that will access the file created in the 2
experiment 11 and implement the following tasks:
In the main() function invoke above functions for the list of integer numbers,
floating numbers and complex numbers.
20 Define a class Employee in Java with members: name, age and salary and methods: 2
enterData() to enter the record of the employee through keyboard: displayData() to
display the details of the employee. Define two user defined exceptions that are
thrown when
Many word processors, graphical editors and similar tools provide cut, copy and
paste operations by means of some kind of a clipboard facility. At run-time
suppose that such a system consists of an instance of an Editor class linked to a
number of instances of a Element class. Elements are the items manipulated by a
tool, such as words or shapes. Some of the elements may have been selected by the
user. The editor is also linked to an instance of a Clipboard class, which in turn
maintains links to all the elements that have been placed in the clipboard. An
element cannot simultaneously be displayed by the editor and on the clipboard.
Draw a sequence diagram showing what happens when the editor receives a cut
message from a client. The effect of this is that all the currently selected elements
are moved to the clipboard.
CO1 3 3 3 3 2 2 3 3 2 3 3 3 2.8
CO2 3 3 3 2 1 1 2 3 2 3 3 3 2.4
CO3 3 3 2 2 2 1 2 2 2 3 3 3 2.3
CO4 3 3 3 2 2 1 2 3 2 3 3 3 2.5
CO5 3 3 3 3 2 1 2 3 2 1 3 3 2.4
C06 3 3 3 3 2 1 2 3 2 2 3 3 2.5
CO7 3 3 2 2 2 3 3 2 2 3 3 3 2.6
CO8 3 3 3 3 3 2 3 3 2 1 3 1 2.5
Average 3 3 2.8 2.5 2 1.5 2.4 2.8 2 2.4 3 2.8
Pre-requisite: None
Course Objectives:
1. Develop the ability to design, implement and manipulate databases.
2. Introduce students to build database management systems.
3. Apply DBMS concepts to various examples and real life applications.
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
CO1 Design and implement a database schema Usage
CO2 Design different views of tables for different users and to apply embedded and nested Usage
queries
Understand the use of structured query language and its syntax , transactions,
CO3 database recovery and techniques for query optimization Familiarity
CO4 Understand , analyze and apply common SQL statements including DDL , DML , Assessment &
DCL statements to perform different operations Usage
CO5 Usage
Develop application programs using PL/SQL
CO6 Design and implement a project using embedded SQL and GUI Usage
List of Experiments
S.No Description Hours
1 To implement Data Definition language commands Create database/table, 2
alter, drop, truncate
2 To implement Constraints as a part of Data Definition language Primary key, Foreign 2
Key, Check, Unique
3 To implement Constraints as a part of Data Definition language Null, Not null, 2
Default, Enable Constraints, Disable Constraints,
Drop Constraints
4 To implement Data Manipulation Language Commands Insert, Select, 2
Update, Delete
5 To implement Data Control Language, Transfer Control Language Commands 2
commit, rollback, save point, grant, revoke
6 To practice in Built Functions 2
Date functions, numerical functions, character functions, conversion functions, group
functions, count functions etc.
7 To practice group by, having clause and special operators such 2
as between, like, in etc.
8 To practice Nested Queries 2
9 To practice Nested Queries and Join Queries Inner join, Left join, 2
Right join, Full join
10 To implement Set Operators Union, Intersect, 2
Minus
11 To implement Views 2
12 To implement and practice PL/SQL control structure If, if then else, else if, 2
nested if
13 To implement and practice PL/SQL control structure For loop, while loop 2
Approved in Academic Council held on 25.10.2018
14 To implement and practice PL/SQL procedures 2
15 To implement and practice PL/SQL functions 2
16 To implement triggers 2
17 To study about various Visual Basic (front end) tools 2
18 To design and implement forms using visual basic 2
19 To design and implement a menu design using Visual Basic 2
20 To implement report generation using VB. 4
21 To create a database for payroll processing system using SQL 4
22 Implement the above created database using VB. 4
23,24,2 Minor Projects – (Only for 2 credit lab) 6
5 Banking System University System
Company System
Hospital Management System Passport Automation
System
Total Lab hours 56
Suggested Books/Resources:
1. "Fundamentals of Database Systems" Elmasri, Navathe, Pearson Education.
2. “Database system concepts” Henry F Korth, Abraham Silberschatz, S. Sudurshan, McGraw-Hill
3. “Database Systems: A Practical Approach to design, Implementation and Management”. Thomas
Connolly, Carolyn Begg; Third Edition, Pearson Education.
4. Bipin C Desai, ?An Introduction to Database Systems?, Galgotia. Publications Pvt Limited, 2001
5. “An Introduction to Database Systems”, C.J.Date, Pearson Education.
6. “A first course in Database Systems”, Jeffrey D. Ullman, Jennifer Windon, Pearson, Education.
7. Orcacle manual
8. Link to topics related to course:
a. https://www.youtube.com/watch?v=EUzsy3W4I0g&list=PL9426FE14B809CC41
b. https://www.w3schools.com/sql/
c. https://www.codementor.io/collections/learn-sql-bwclmlodl
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO1 3 3 2 2 2 2 2 1 2 3 3 1 2.2
CO2 3 1 3 2 2 2 3 2 2 3 2 2 2.3
CO3 3 3 2 1 1 3 3 3 3 3 1 1 2.3
CO4 3 2 2 2 2 2 2 2 1 2 1 1 1.8
CO5 3 3 2 1 2 3 3 2 1 2 2 1 2.1
C06 3 3 2 1 1 3 3 1 3 3 3 1 2.3
Average 3 2.5 2.2 1.5 1.7 2.5 2.7 1.8 2 2.7 2 1.2
Pre-requisite: None
Course Objectives:
1. To introduce the students with the basic features of Matlab for problem solving
2. To introduce the students about the Mathematical functions like matrix generation and Plotting with
multiple data sets, line styles and colors.
3. To introduce the students about the Array operations and solving Linear equations in Matlab.
4. To introduce the students about the control flow and operators using if-end structures and loops.
5. To introduce the students about the writing M-file scripts and Debugging M-files
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
CO1 Writing fundamental programs in Matlab, creating variables and mathematical
Familiarity
functions
Programming the fundamentals concepts of basic Plotting consisting of simple and
CO2 multiple data sets in one plot
Usage
Understand how to program matrix operations, array operations and how to solve
CO3 the system of linear equations
Assessment
CO4 Understand how to program M-file scripts , M- file functions, Input –output
Assessment
Arguments
CO5 Program control flow operators, loops, flow structures and debugging M-files
Assessment
List of Experiments
S.N Description Hours
o
1 1. Create variable, pounds, to store a weight in pounds. Convert this to kilograms and 2
assign the result to variable kilos. The conversion factor is 1 kilogram = 2.2 pounds.
2. The combined resistance RT of three resistors R1, R2, and R3 in parallel is given
by
Create variables for the three resistors and store values in each, and then calculate the
combined resistance.
2 Write a MATLAB program to calculate the following expression and round the 2
answers to the nearest integer.
a) z = 5x2 + y2 where x=2, y=4
b) z = 4cos(x)+ j6sin(x) where x=π/4
c) z = 3sin(x)+4cos(x)+3ey where x=π/3 , y=2
d) y=sin(x) / x where 0 ≤ x ≤ 2π
2. Solve the following system x + y - 2z =
Approved in Academic Council held on 25.10.2018
3
2x + y = 7
x+y-z=4
3 1. Write a program for three bits parity generator using even-parity bit. 2
2. Write a program to convert a three bits binary number into its equivalent gray
code.
3. if q=[1 5 6 8 3 2 4 5 9 10 1],x=[ 3 5 7 8 3 1 2 4 11 5 9], then:
a) find elements of (q) that are greater than 4.
b) find elements of (q) that are equal to those in (x).
c) find elements of (x) that are less than or equal to 7.
4. If x=[10 3 ; 9 15], y=[10 0; 9 3], z=[-1 0; -3 2], what is the output of the following
statements:
a) v = x > y
b) w = z >= y
c) u = ~z & y
d) t = x & y < z
4 1. Plot sin(x) on the interval [-pi,pi] using spacing 0.5, 0.1 and 0.01 between the 2
points where you will sample the function. (This will change the resolution).
Experiment with the hold on command.
2. Attach labels to the axis of the previous plot and give a title to the graph.
3. Plot 5 cos(x2+1) on [-2pi,2pi]. Note that the squaring operation will require you to
use the dot . in order for the squaring operation to act on each element individually.
However, the addition operation (+)
automatically acts on elements individually.
5 1. Type x=[1 2 3] 2
y =[4 5 6]
a=2 x+y x-y a*x
and observe what happens.
If want to apply an operation such as squaring each element in a matrix we have to
use a dot . before the operation we wish to apply. Type the following commands in
MATLAB.
x=1:10
x.^2
A=[1 2 3 ; 4 5 6 ; 7 8 9 ] A.^2
A^2
and observe the result. The dot allows us to do operations element wise.
A= is created by typing
A=[1 2 3 ; 4 5 6; 7 8 9],
i.e., rows are separated with semi-colons. If we want to use a specific
element in a vector or a matrix, study the following example:
Example:
x=[10 20 30]
A=[ 1 2 3 ; 4 5 6 ; 7 8 9]
x(2)
A(3,1)
Here we extracted the second element of the vector by typing the
variable and the position within parentheses. The same principle holds
for matrices; the first number specifies the row of the matrix, and the
second number specifies the column of the matrix. Note that in
MATLAB the first index of a vector or matrix starts at 1, not 0 as is
common with other programming languages.
6 1. A Pythagorean triple is a set of positive integers (a,b,c) such that a2 + b2 = c2. 2
Write a function ispythag that will receive three positive integers (a, b, c in that
order) and will return 1 for true if they form a Pythagorean triple, or 0 for false if
not.
2. Whether a storm is a tropical depression, tropical storm, or hurricane is
determined by the average sustained wind speed. In miles per hour, a storm is a
tropical depression if the winds are less than 38 mph. It is a tropical storm if the
winds are between 39 and 73 mph, and it is a hurricane if the wind speeds are > =
74 mph. Write a script that will prompt the user for the wind speed of the
storm, and will print which
type of storm it is.
7 1. Write a script that will prompt the user for N integers, and then write the 2
positive numbers (>= 0) to an ASCII file called pos.dat and the negative numbers
to an ASCII file called neg.dat. Error-check to make sure that the user enters N
integers.
2. Write a script that will continue prompting the user for positive numbers, and
storing them in a vector variable, until the user types a negative number.
3. Write a script that will use the menu function to present the user with choices
for functions fix, floor, and ceil. Error-check by looping to display the menu until
the user pushes one of the buttons (an error could occur if the user clicks the X on
the menu box rather than pushing one of the buttons). Then, generate a random
number and print the result of
the user‟s function choice of that number (e.g., fix(5)).
.
The more terms you keep in the summation, the more accurate your answer will
be. (In fact, the series converges to PI as m goes to infinity.) See how many terms
you need to approximate PI with 5 decimals. (Note: This is by no means the most
efficient way to approximate PI, but the formula is quite beautiful...)
3. Use the sum given in Exercise 2 to approximate PI using 10, 100, 1000, 10000
and 100000 terms. For each of these numbers, compute the error of the
approximation. Plot the error as a function of the number of
terms used in the sum.
9 1. In Europe daylight time starts on the last Sunday of March and ends on the last 2
Sunday of October. Write a function that determines whether a given daynumber
is in the summertime period or in the wintertime period of the Daylight Saving
Time
2. Write a function that will receive the radius of a circle and will print both the
radius and diameter of the circle in a sentence format. This
function will not return any value; it simply prints
10 1. Write a program to calculate and print the area and circumference of a circle. 2
There should be one script and three functions to accomplish this (one that
prompts for the radius, one that calculates the area and circumference, and one
that prints).
2. The lump sum S to be paid when interest on a loan is compounded annually is
given by S = P(1 + i)n, where P is the principal invested, i is the interest rate, and
n is the number of years. Write a program that will plot the amount S as it
increases through the years from 1 to n. The main script will call a function to
prompt the user for the number of years (and error-check to make sure that the
user enters a positive integer). The script will then call a function that will plot
S for years 1
through n. It will use 0.05 for the interest rate and $10,000 for P.
1 74–95 4–5
2 96–110 6–8
3 111–130 9–12
4 131–155 13–18
5 >155 >18
Write a function that will receive as an input argument the wind speed, and will
return the category number and the minimum value of the typical storm surge.
13 1. Create a vector of five random integers, each in the range from –10 to 2
10. Perform each of the following two ways: using built-in functions, and also
using loops (with if statements if necessary):
Subtract 3 from each element. Count
how many are positive.
Get the absolute value of each element. Find the
maximum.
2. Create a 3 × 5 matrix. Perform each of the following two ways: using built-in
functions, and also using loops (with if statements if necessary): Find the
maximum value in each column.
Find the maximum value in each row.
Find the maximum value in the entire matrix.
3. Write a script that will print the following multiplication table:
1
2 4
36 9
4 8 12 16
4. 5 10 15 20 25
18 1. Write a function to receive a matrix and return its transpose (for more 2
programming practice, do not use the built-in operator for the transpose).
2. We have already seen the zeros function, which returns a matrix of all 0‟s.
Similarly, there is a function ones that returns a matrix of all 1‟s. Note: No, there
aren‟t functions called twos, threes, and such (just ones and zeros!). However,
write a fives function that will receive two arguments for the number of rows and
columns and will return a matrix
with that size of all 5‟s.
2. A weighted mean is used when there are varying weights for the data values.
For a data set given by x = {x1, x2, x3, x4, . . . , xn} and corresponding weights
for each xi, w = {w1, w2, w3, w4, . . . , wn}. Write a function that will receive
two vectors as input arguments: one
for the data values and one for the weights, and will return the weighted mean.
27 1. Write a function matsort to sort all the values in a matrix (decide whether the 2
sorted values are stored by row or by column). It will receive one matrix
argument and return a sorted matrix. Do this without loops, using the built-in
functions sort and reshape. For example:
>> mat mat = 4 5 2
136
784
915
>> matsort(mat) ans = 1
46
147
258
359
2. Write a function that will receive two arguments: a vector and a character
(either „a‟ or„d‟) and will sort the vector in the order specified
by the character (ascending or descending).
Suggested Books/Resources:
1. Stormy Attaway, Matlab: a Practical Introduction to Programming and Problem Solving, Elsevier
2. Essentials of MATLAB Programming Stephen J. Chapman , 2005
3. MATLAB for Engineers Holly Moore, 2007
4. MATLAB Programming for Engineers Stephen J. Chapman , 1999
5. Matlab, An Introduction With Applications Amos Gilat , 2003
6. MATLAB Guide 2000
7. https://nptel.ac.in/courses/103106118/
8. Link to topics related to course:
i. https://www.mccormick.northwestern.edu/documents/students/undergraduate/introduction-to-
matlab.pdf
ii. https://www.math.utah.edu/~wright/misc/matlab/matlabintro.html
iii. https://web.stanford.edu/class/ee254/software/using_ml.pdf
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO1 3 3 3 1 1 2 1 2 1 2 2 2 1.9
CO2 3 3 3 1 3 2 1 2 1 2 3 2 2.2
CO3 3 3 3 3 2 1 2 2 2 2 3 2 2.3
CO4 3 3 3 3 2 1 2 2 2 2 3 2 2.3
CO5 3 3 3 3 2 1 2 2 2 2 2 2 2.3
Course Objectives
1. To simplify and evaluate any logical expression and to express logical statements in terms of logical
connectives, predicates and quantifiers.
2. Use of various set operations, relations and functions concept to solve applied problems.
3. To solve counting problems using elementary counting techniques.
4. To learn and perform various graphs and trees terminologies, traversals & their applications.
5. Problem solving using recursion and recurrence relations by analyzing algorithms.
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
Students will be able to express logical statements in terms of logical
CO-1 Familiarity
connectives, predicates and quantifiers.
Students will be able to apply various proving techniques such as direct, indirect
CO-2 Assessment
proofs, mathematical induction, etc.
They will learn basic set operations along with relations & functions with their
CO-3 types and usage. Familiarity
They will be familiar with graph & tree terminologies along with their
CO-4 Familiarity
various applications in computer science.
Students will be able to solve counting problems using
CO-5 Assessment
permutation, combinations techniques.
They will learn about algebraic structures such as group,
CO-6 Familiarity
abelian group, rings, integral domain, fields, etc
Students will be able to analyze and solve various algorithms
CO-7 Assessment
using recurrence relation methods
Course Contents:
Unit Contents Lectures required
1 Introduction and Applications of Discrete Mathematics, Mathematical Logic: 6
Propositional & Predicate; Quantifiers, Proving Techniques: Direct Proof,
Contra positive, Contradiction, Principle of Mathematical Induction; Pigeonhole
Principle
2 Sets, Types of Sets, Various set operations, Venn Diagrams, Identities in sets, 3
Principle of Inclusion & Exclusion
3 Relations: Types & Representation; Properties of Binary Relations, Equivalence 5
Relations, Partial Ordering Relations, Partitions. Functions, Types of Functions,
inverse of function, composition of functions.
4 Graph, Graph Terminologies, Types of Graphs, Paths & Circuits, Euler & 7
Hamiltonian Graphs, Planar Graphs, Graph Traversals: Breadth First Search &
Depth First Search, Shortest Path Algorithms.
1. B. Kolman, R. Busby & S.C. Ross, “Discrete Mathematical Structures”, 6th Edition,
Pearson Education.
2. S. Lipschutz & M. Lipson, “Discrete Mathematics”, 3rd Edition, TMH.
3. J.P. Tremblay & R. S. Manohar, “Discrete Mathematical Structures with Applications to Computer
Science, TMH, New York 1997.
4. Richard Hammack, “Book of Proof”, 2nd Edition, VCU Mathematics Text Book Series
Attendance - 5
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes
Average
(Discrete
Computational
Mathematics )
CO-1 3 3 2 1 2 2 2 1 2 3 3 2 2.2
CO-2 3 3 3 2 2 2 3 2 2 1 2 2 2.3
CO-3 3 3 2 1 1 3 3 3 3 3 1 1 2.3
CO-4 3 2 2 1 2 2 2 2 1 2 1 2 1.8
CO-5 3 2 2 1 2 3 3 2 1 3 2 1 2.1
CO-6 3 2 3 1 1 3 2 1 1 3 2 1 1.9
CO-7 3 3 2 1 1 3 3 1 3 3 3 1 2.3
Average 3 2.6 2.3 1.1 1.6 2.6 2.6 1.7 1.9 2.6 2 1.4
Course Objectives:
1. Student will model real-world systems and implement the model as a computer program
2. Student will learn model design and development comparison to analytical models.
3. Student will learn important methods of computing and statistics.
4. Student will learn important techniques of real world project development and management.
5. Student will learn to evaluate the performance of real-world systems by analyzing the output of the model
under various conditions..
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
To learn the basic concepts, applications and terminology of computer simulation
CO-1 Familiarity
and modeling.
To learn statistical methods of estimation and testing and other relevant
CO-2 Technical
concepts
To explain the working and applications of different types of simulation such as
CO-3 Technical
Monte Carlo, VS. Discrete Event
You will learn how to model a system and the execution of simulation
CO-1
tools.
Technical
You will learn to analyze input data, its parameters, and the use of
CO-2
random number in a typical simulation study.
Technical
Student will learn different techniques for the Verification and Validation of a
CO-3 Technical
simulation study
Course Contents:
Unit Contents Lectures
required
1 Introduction to Simulation and Modeling: Simulation: Definition, 5
Methods, Systems, Variability, Complexity, Advantages. Modelling:
Definition, characteristics, description, categories.
2 Statistical Concepts: Hypothesis, Estimation, Statistical Significance, 5
Error/Risks. Statistical tests, Bounds and Correlation. Input Data Modelling,
Output Data Analysis.
3 Discrete-Event Simulation, Monte Carlo Simulation: Queuing System Model 8
Components, Simulation Methodology, DES Example,
Implementation, Arena Simulation. The Monte Carlo Method, Sensitivity
Analysis
4 Systems Modeling: System Model Types, Modeling Methodologies and 8
Tools, Analysis of Modeling and Simulation, Operation Research Methods,
Coding the Model, Use of Pseudo Random Number Streams.
5 Data Collection and Analysis : Obtaining Data, Data Format, Representing 8
Unpredictable Variability, Distributions, Bootstrapping,
Approved in Academic Council held on 25.10.2018
Fitting Statistical Distributions to Empirical Data
6 Verification, Validation, and Accreditation: Definition and concepts, 8
Difficulties, Confidence as Validity. Conceptual Model Validation, Data
Validation, White-Box Validation, Black-Box Validation,
Experimentation Validation, Solution Validation, Independent
Verification and Validation
Total lectures 42
Suggested Text Book(s):
1. Modeling and Simulation: Exploring Dynamic System Behavior, Authors: Birta, Louis
G., Arbez, Gilbert
2. Simulation (5th Edition) , Authors: Sheldon Ross.
Suggested Reference Book(s):
Attendance - 5
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes
Average
(Data Simulation
and Modeling
Techniques)
CO-1 3 3 3 1 2 1 3 3 2 3 3 3 2.5
CO-3 3 3 3 3 2 2 3 3 2 3 3 3 2.8
CO-4 3 3 3 3 2 2 3 3 2 3 3 3 2.8
CO-5 3 3 3 3 2 2 3 3 2 3 3 3 2.8
CO-6 3 3 3 1 2 3 3 3 3 3 3 3 2.8
Pre-requisite: C/C++
Course Objectives:
1. To learn the mechanisms of OS to handle processes and threads and their communication.
2. To learn the mechanisms involved in memory management in contemporary OS.
3. To gain knowledge on distributed operating system concepts that includes architecture, Mutual exclusion
algorithms, deadlock detection algorithms and agreement protocols.
4. To know the components and management aspects of concurrency management.
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
CO-1 An appreciation of the role of an operating system. Familiarity
CO-2 Create processes and threads. Assessment
Develop algorithms for process scheduling for a given specification of
CO-3 CPU utilization, Throughput, Turnaround Time, Waiting Time, Response Time. Assessment
For a given specification of memory organization develop the techniques for
CO-4 optimally allocating memory to processes by Increasing memory utilization and Assessment
for improving the access time
CO-5 Design and implement file management system. Assessment
For a given I/O devices and OS (specify) develop the I/O management functions
CO-6 in OS as part of a uniform device abstraction by performing operations for Usage
synchronization between CPU and I/O controllers. .
Course Contents:
Unit Contents Lectures
required
1 Introduction: Concept of Operating Systems, Generations of Operating 4
systems, Types of Operating Systems, OS Services, System Calls, Structure of
an OS - Layered, Monolithic, Microkernel Operating Systems, Concept of
Virtual Machine. Case study on UNIX and WINDOWS Operating System.
2 Process: Definition, Process Relationship, Different states of a Process, Process 4
State transitions, Process Control Block (PCB), Context switching. Thread:
Definition, Various states, Benefits of threads, Types of threads, Concept of
multithreads.
3 Process Scheduling: Foundation and Scheduling objectives, Types of 4
Schedulers, Scheduling criteria: CPU utilization, Throughput, Turnaround Time,
Waiting Time, Response Time; Scheduling algorithms: Pre-emptive and Non
pre-emptive, FCFS, SJF, Priority, RR; Multiprocessor scheduling: Real Time
scheduling: RM and EDF
4 Inter-process Communication: Critical Section, Race Conditions, Mutual 10
File Management: Concept of File, Access methods, File types, File operation,
Directory structure, File System structure, Allocation methods (contiguous,
linked, indexed), Free-space management (bit vector, linked list, grouping),
directory implementation (linear list, hash table), efficiency and performance.
Disk Management: Disk structure, Disk scheduling - FCFS, SSTF, SCAN, C-
SCAN, Disk reliability, Disk formatting, Boot-block, Bad blocks.
Total lectures 42
Suggested Text Book(s):
1. “Operating System Concepts” 9th Edition by Silberschatz, Peter Galvin, Greg Gagne, Wiley
Asia Student Edition.
2. “Operating Systems: Internals and Design Principles” 9th Edition, William Stallings, Pearson.
1. “Operating System: A Design-oriented Approach, 1st Edition by Charles Crowley, Irwin Publishing
2. “Operating Systems: A Modern Perspective” 2nd Edition by Gary J. Nutt, Addison-Wesley
3. Design of the Unix Operating Systems, 8th Edition by Maurice Bach, Prentice-Hall of India.
4. Understanding the Linux Kernel, 3rd Edition, Daniel P. Bovet, Marco Cesati, O'Reilly and Associates
Other useful resource(s):
1. Link to NPTEL course contents: https://nptel.ac.in/courses/106108101//
2. Link to topics related to course:
i. https://nptel.ac.in/courses/106106144/
ii. https://www.class-central.com/course/udacity-introduction-to-operating-systems-3419
Evaluation Scheme:
Attendance - 5
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course
Average
outcomes
(Operating
System )
CO-1
3 3 3 2 2 3 2 2 2 3 1 3 2.4
CO-2
3 3 3 2 3 2 3 2 2 3 1 3 2.5
CO-3
3 3 3 2 2 3 1 2 3 3 1 3 2.4
CO-4
3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-5
3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-6
3 3 3 2 3 3 2 2 2 3 1 3 2.5
Average
3 3 3 2 2.7 2.8 2 2 2.5 3 1 3
Course Objectives:
CO-1 For a given algorithms analyze worst-case running times of algorithms based on
Technical
asymptotic analysis and justify the correctness of algorithms.
CO-2 Describe the greedy paradigm and explain when an algorithmic design situation
calls for it. For a given problem develop the greedy algorithms. Technical
CO-3 Describe the divide-and-conquer paradigm and explain when an algorithmic
design situation calls for it. Synthesize divide-and- Technical
conquer algorithms. Derive and solve recurrence relation.
Describe the dynamic-programming paradigm and explain when an
CO-4 algorithmic design situation calls for it. For a given problems of dynamic-
Technical
programming and develop the dynamic programming
algorithms, and analyze it to determine its computational complexity.
CO-5 For a given model engineering problem model it using graph and write
Technical
the corresponding algorithm to solve the problems.
CO-6 Explain the ways to analyze randomized algorithms (expected running time,
Technical
probability of error).
CO-7 Explain what an approximation algorithm is. Compute the approximation factor of
an approximation algorithm (PTAS and FPTAS). Technical
Course Contents:
Unit Contents Lectures
required
1 Introduction: Characteristics of algorithm. Analysis of algorithm: Asymptotic 10
analysis of complexity bounds – best, average and worst-case behavior;
Performance measurements of Algorithm, Time and space trade-offs, Analysis of
recursive algorithms through recurrence relations: Substitution method, Recursion
tree method and Masters‟ theorem. Examples: Binary counter, Recursive
Fibonacci in LogN
2 Fundamental Algorithmic Strategies: Brute-Force, Greedy, Dynamic 8
Programming, Branch and Bound and Backtracking methodologies for the design
Approved in Academic Council held on 25.10.2018
of Algorithms; Illustrations of these techniques for Problem- Solving , Bin
Packing, Knap Sack TSP. Heuristics characteristics and their application domains.
Examples: Greedy and dynamic scheduling, Hoffman encoding, Dynamic
programming: Longest common subsequence, Matrix chain multiplication,
Dynamic programming: Bin packing, Knapsack, Dynamic programming: TSP,
Branch and Bound TSP, Backtracking: SAT, Maze Sudoku solver, 8 queen
3 Graph and Tree Algorithms: Traversal algorithms: Depth First Search (DFS) and 8
Breadth First Search (BFS); Shortest path algorithms, Transitive closure,
Minimum Spanning Tree, Topological sorting, Network Flow Algorithm.
Examples: Best first search, Binomial heap MST: Prims, Kruskal, Fibonacci heap
MST: Tarjan, Lazy decrease key implementation and Dijkstra, MaxFlow/ MinCut
Ford-Fulkersion
4 Tractable and Intractable Problems: Computability of Algorithms, Computability 8
classes – P, NP, NP-complete and NP-hard. Cook‟s theorem, Standard NP-
complete problems and Reduction techniques. Examples: Set Cover, Vertex
cover, Map coloring, chromatic number
5 Advanced Topics: Approximation algorithms, Randomized algorithms, Class of 8
problems, beyond NP – P SPACE, Examples: Approximate matrix inversion,
Randomized Eigen vector computation
Total lectures 42
Suggested Text Book(s):
1. Rntroduction to Algorithms, 4TH Edition, Thomas H Cormen, Charles E Lieserson,
Ronald L Rivest and Clifford Stein, MIT Press/McGraw-Hill.
2. Fundamentals of Algorithms – E. Horowitz et al.
Suggested Reference Book(s):
Attendance - 5
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes
Average
(Design and
Analysis of
Algorithms)
CO-1 3 3 3 3 3 1 1 3 3 3 1 3 2.5
CO-2 2 2 2 2 2 1 1 1 2 1 2 1.6
CO-3 3 3 3 3 3 1 1 1 3 1 1 3 2.2
CO-4 2 2 2 2 2 2 1 1 2 2 2 1.8
CO-5 2 2 2 2 2 3 1 1 2 2 2 2 1.9
CO-6 2 2 2 2 2 2 1 2 2 2 2 2 1.9
CO-7 2 2 2 2 2 2 1 2 2 2 2 2 1.9
Average 2.3 2.3 2.3 2.3 2.3 1.7 1 1.6 2.3 2 1.6 2.3
Pre-requisite: None
Course Objectives:
1. Student will learn simulation of real world problems using python, numpy, scipy and simpy.
2. Students will learn structural development of complex system in terms of process, resources and lavels
3. Student will learn to use random number generator.
4. Students will learn to monitor and tally simulation results.
5. Students will apply simulation and modeling techniques in many real examples and develop projects.
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
Student will learn simulation of real world problems using python,
CO-1 Familiarity
scipy and simpy.
Students will learn structural development of complex system in
CO-2 Assessment
terms of process, resources and levels
CO-3 Student will learn to use random number generator. Assessment
CO-4 Students will learn to monitor and tally simulation re0sults. Assessment
Students will apply simulation and modelling techniques in many
CO-5 Usage
real examples.
Students will apply simulation and modelling techniques in a real
CO-6 Usage
life project.
List of Experiments
S.No Description Hours
1 Simpy Getting started 2
2 Simple simulation 2
3 Simulation with tracing 2
4 Executing simulations event-by-event 2
5 Synchronizing simulation time with wallclock time 2
6 Event stepping of models with a GUI 2
7 Debugging 2
8 GUI for SimPy simulations 2
9 Plot for simulation 2
10 Statistical parameters 2
11 Random number 2
12 Inference and Output monitoring 2
13 MID SEM TEST 2
14 DES simulation on simpy 2
15 Simpy more features 2
16 Simpy internals 2
17 Example: MACHINE BREAKDOWN 2
18 Example: CAR WASH 2
19 Example: CELL PHONE NETWORK 2
20 Example: Resource pool 2
Approved in Academic Council held on 25.10.2018
21 Group Project 2
22 Group Project 2
23 Group Project 2
24 Group Project 2
25 Group Project 2
26 Group Project 2
27 Group Project 2
28 End Semester Test 2
Total Lab hours 56
Suggested Books/Resources:
i. T. H Cormen, C E Leiserson, R L Rivest and C Stein: Introduction to Algorithms, 3rd Edition,
Prentice-Hall of India, 2010.
ii. Kenneth A. Berman, Jerome L. Paul: Algorithms, Cengage Learning, 2002.
iii. Ellis Horowitz, Sartaj Sahni, S.Rajasekharan: Fundamentals of Computer Algorithms, 2nd Edition,
Universities press, 2007
iv. https://nptel.ac.in/courses/106104019/26
v. https://nptel.ac.in/courses/106104019/2Ev
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO1 3 3 3 1 2 1 3 3 2 3 3 3 2.5
CO2 3 3 3 3 2 2 3 3 2 3 3 3 2.8
CO3 3 3 3 3 2 2 3 3 2 3 3 3 2.8
CO4 3 3 3 3 2 2 3 3 2 3 3 3
2.8
CO5 3 3 3 3 2 2 3 3 2 3 3 3 2.8
C06 3 3 3 1 2 3 3 3 3 3 3 3 2.8
Pre-requisite: None
Course Objectives:
CO1 3 3 3 2 2 3 2 2 2 3 1 3 2.4
CO2 3 3 3 2 3 2 3 2 2 3 1 3 2.5
CO3 3 3 3 2 2 3 1 2 3 3 1 3 2.4
CO4 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO5 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO6 3 3 3 2 3 3 2 2 2 3 1 3 2.5
Average 3 3 3 2 2.7 2.8 2 2 2.5 3 1 3
Pre-requisite: None
Course Objectives:
1. Student will understand the running time using time library functions. Learn to prepare table for input size
vs. running time. Learn to measure best run and worst run of the experiments.
2. Students will learn to implement various types of design for an algorithms and compare the approaches.
3. Students will learn to implement network algorithms and their applications.
4. Students will learn to implement approximate algorithms for real world problems.
5. Students will learn to implement randomized solution for difficult real world problems.
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
Student will understand the running time using time library functions. Learn to
CO1 prepare table for input size vs. running time. Learn to measure best run and
Technical
worst run of the experiments.
CO2 Students will learn to implement various types of
Technical
design for algorithms and compare the approaches.
CO3 Students will learn to implement network algorithms
Technical
and their applications.
CO4 Student will learn to implement classical NP
Technical
problems
CO5 Students will learn to implement approximate
Technical
algorithms for real world problems.
CO6 Students will learn to implement randomized
Technical
solution for difficult real world problems.
List of Experiments
S.No Description Hours
1 Getting acquainted with time.h, clocktick, cputime, I/O time 2
2 Getting acquainted with worst case time 2
3 Getting acquainted with Average case time 2
4 Getting acquainted with recursive program 2
5 Recursive Fibonacci in log n 2
6 Greedy and dynamic scheduling 2
7 Hoffman encoding 2
8 Dynamic programming: Longest common subsequence, Matrix chain 2
multiplication
9 Dynamic programming: Bin packing, Knapsack 2
10 Dynamic programming: TSP 2
11 Branch and Bound TSP 2
12 Backtracking: SAT, Maze 2
2.5
CO1 3 3 3 3 3 1 1 3 3 3 1 3
1.6
CO2 2 2 2 2 2 1 1 1 2 1 2
2.2
CO3 3 3 3 3 3 1 1 1 3 1 1 3
1.8
CO4 2 2 2 2 2 2 1 1 2 2 2
1.9
CO5 2 2 2 2 2 3 1 1 2 2 2 2
1.9
CO6 2 2 2 2 2 2 1 2 2 2 2 2
2.3 2.3 2.3 2.3 2.3 1.7 1 1.5 2.3 2 1.5 2.3
Average
Pre-requisite: None
Course Objectives:
3 3 3 2 2 3 2 2 2 3 1 3
2.4
CO1
3 3 3 2 3 2 3 2 2 3 1 3
2.5
CO2
CO3 3 3 3 2 2 3 1 2 3 3 1 3 2.4
3 3 3 2 3 3 2 2 3 3 1 3
2.6
CO4
3 3 3 2 3 3 2 2 3 3 1 3
2.6
CO5
CO6 3 3 3 2 3 3 2 2 2 3 1 3
2.5
3 3 3 2 2.7 2.8 2 2 2.5 3 1 3
Average
Approved in Academic Council held on 25.10.2018
Computer Graphics
COURSE CODE: 18B11CI515
COURSE CREDITS: 3
CORE/ELECTIVE: CORE
L-T-P: 3-0-0
Pre-requisites: Elementary Knowledge about the algorithms, programming, matrices and linear algebra
is required
Course Objectives:
1. To learn and understand the basics of computer graphics applications and graphics devices
2. To learn and understand the geometric figure drawing algorithm on graphic device
3. To learn and understand the Two-Dimensional transformations
4. To learn and understand the Three-Dimensional transformations
5. To understand the concepts of solid modelling and representation
6. To learn about the Visible-Surface, Illumination and Shading
Course Outcomes:
S. Course Outcomes Level of
No. Attainment
Student will learn about the overview of computer graphic applications and graphics
CO 1 Familiarity
devices (Display Technologies, Raster Refresh (Raster- Scan), CRT, LCD displays, etc.)
Student will learn about the scan conversion - lines, circles and Ellipses, filling, clipping
CO 2 and aliasing Usage
Student will learn about the Two-Dimensional transformations and matrix representation
CO 3 of 2D Transformations (Translations, Rotation, Reflection, Scaling and Combined Familiarity
Transformation) and Window-to- Viewport transformations
CO 4 Student will learn about the Three-Dimensional transformations and viewing in 3D Assessment
Student will learn about the solid modelling: representing solids, regularized Boolean Set
CO 5 operations, primitive instancing, sweep representations, spatial-partitioning Assessment
representations - Octree representation, B-Reps and Constructive Solid Geometry
CO 6 Student will learn about the visible surface detection, illumination and shading Usage
Course Contents:
Unit Contents Lectures
required
1 Introduction to Computer Graphics: Overview of Computer Graphics, Computer
Graphics Application and Software, Description of some graphics devices, Input
Devices for Operator Interaction, Active and Passive Graphics Devices, Display
Technologies, Storage Tube Graphics Displays, Calligraphic Refresh Graphics
Displays, Raster Refresh (Raster-Scan) Graphics Displays, Cathode Ray Tube Basics, 4
Colour CRT Raster Scan Basics, Video Basics, The Video Controller, Random-Scan
Display Processor, LCD displays, Touch screen,
Graphics Primitives.
2 Scan conversion – lines, circles and Ellipses; Filling polygons and clipping
algorithms, Scan Converting Lines, Mid-point criteria, Problems of Aliasing, end-
point ordering and clipping lines, Scan Converting Circles, Scan Converting Ellipses,
Filling Polygons, edge data structure, Clipping Lines algorithms– Cyrus-Beck, 14
Approved in Academic Council held on 25.10.2018
Cohen-
Sutherland and Liang-Barsky, Clipping Polygons, problem with multiple components
3 Two-Dimensional Transformations: Transformations and Matrices, Transformation
Conventions, 2D Transformations, Homogeneous Coordinates and Matrix
Representation of 2D Transformations, Translations and Homogeneous Coordinates,
Rotation, Reflection, Scaling, Combined Transformation, Transformation of Points,
Transformation of The Unit Square, Solid Body Transformations, Rotation About an 6
Arbitrary Point, Reflection through an Arbitrary Line,
A Geometric Interpretation of Homogeneous Coordinates, The Window- to-Viewport
Transformations
4 Three-Dimensional Transformations and Viewing in 3D: Introduction, Three-
Dimensional Scaling, Three-Dimensional Shearing, Three- Dimensional Rotation,
Three-Dimensional Reflection, Three- Dimensional Translation, Multiple
Transformation, Rotation about an Arbitrary Axis in Space, Reflection through an
Arbitrary Plane, Matrix Representation of 3D Transformations, Composition of 3D
Transformations, Affine and Perspective Geometry, Perspective Transformations, 10
Techniques for Generating Perspective Views, Vanishing Points, the Perspective
Geometry and camera models, Orthographic Projections, Axonometric Projections,
Oblique
Projections, View volumes for projections.
5 Solid Modelling: Representing Solids, Regularized Boolean Set Operations, Primitive
Instancing, Sweep Representations, Spatial- Partitioning Representations: Octree
3
representation, B-Reps,
Constructive Solid Geometry, Comparison of Representations
6 Visible-Surface Determination: Techniques for efficient Visible-Surface Algorithms,
Categories of algorithms, Back face removal, The z-Buffer Algorithm, Scan-line
3
method, Painter‟s algorithms (depth sorting), Area
sub-division method, BSP trees, Visible-Surface Ray Tracing,
comparison of the methods
7 Illumination and Shading: Illumination and Shading Models for Polygons,
Reflectance properties of surfaces, Ambient, Specular and Diffuse reflections,
2
Atmospheric attenuation, Phong‟s model, Gouraud
shading, some examples.
8 Image Manipulation and Storage: What is an Image? Digital image file formats, Self- Learning
Image compression standard – JPEG, Image Processing - Digital image enhancement,
contrast stretching, Histogram Equalization,
smoothing and median Filtering.
Total Lectures 42
Attendance - 5
Course Outcomes (COs) contribution to the Programme Outcomes (POs)
Average
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Sr. No.
1.8
CO-1 2 2 2 2 2 1 2 1 2 1 2 2
2.6
CO-2 3 3 3 3 3 1 2 1 3 3 3 3
2.3
CO-3 3 3 3 3 3 1 1 1 3 1 3 3
2.5
CO-4 3 3 3 3 3 3 1 1 3 1 3 3
1.9
CO-5 2 2 2 2 2 2 2 1 2 2 2 2
1.9
CO-6 2 2 2 2 2 2 2 1 2 2 2 2
2.5 2.5 2.5 2.5 2.5 1.7 1.7 1 2.5 1.7 2.5 2.5
Average
Pre-requisites: Graduate level courses in C programming, algorithms and complexity of algorithms are
desirable.
Course Objectives:
1. https://nptel.ac.in/courses/111103016/
2. Link to topics related to course:
i. https://ocw.mit.edu/courses/mathematics/18-404j-theory-of-computation-fall-2006/
ii. http://www.aduni.org/courses/theory/
iii. http://www.cse.iitd.ernet.in/~sak/courses/toc/
iv. http://cse.iitkgp.ac.in/~abhij/course/theory/FLAT/Spring13/
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of Examination
1 T-1 15 1 Hour. Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3. T-3 35 2 Hours Entire Syllabus
Average
Languages
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
and
Automata)
2.2
CO-1 3 2 2 2 2 3 3 2 1 3 2 1
2.5
CO-2 3 3 3 2 2 3 3 3 1 3 3 1
2.5
CO-3 3 3 3 2 2 3 2 3 2 2 3 2
2.4
CO-4 3 3 3 2 2 2 3 2 2 3 2 2
2.1
CO-5 3 3 3 2 2 2 2 2 1 2 2 1
2.6
CO-6 3 3 3 3 2 3 3 2 2 3 2 2
2.6
CO-7 3 3 3 3 2 3 3 2 2 3 2 2
2.7
CO-8 3 3 3 2 2 3 3 3 2 3 3 2
2.7
CO-9 3 3 3 2 2 3 3 3 2 3 3 2
2.7
CO-10 3 3 3 2 2 3 3 3 2 3 3 2
3 2.9 2.9 2.2 2 2.8 2.8 2.5 1.7 2.8 2.5 1.7
Average
Course Objectives:
1. To calculate the performance of a modern digital computer from parameters such as processor speed, cycles per
instruction.
2. To understand the fixed-point and floating-point numbers are represented in a computer.
3. Discuss about pipelining in a processor functions and describe how hazards are resolved in various ways.
4. Wide understanding of memory organization and management in a modern digital computer, including virtual
and physical memory, address translation, multilevel, unified, and multi-way set-associative caches, the
translation-look-aside buffer (TLB), and the page table.
5. To understand the working strategies of parallel processing and multi-core computers.
Course Outcomes:
Course Contents:
Unit Contents Lectures
required
1 Basic Structure of Computers: Functional units: Basic operational concepts –
Bus structures – Performance and metrics – Instructions and 7
instruction sequencing – Hardware – Software Interface – Instruction set
architecture – Addressing modes – RISC – CISC.
2 Basic Processing Unit of Computers: ALU design – Integer
Representation, floating point and its Arithmetic. 7
Interconnection Structure, Bus interconnection Structure, point to point
interconnection PCI express structure.
3 Computer Memory: Cache Memory: Overview of computer Memory,
Cache memory principles and its elements to design P-4 Cache 6
organization.
4 Internal and External Memory: Semiconductor Memory: Semiconductor Main
Memory, Error correction. External Memory: Magnetic Disk and Tape, RAID, SSD,
Optical Memory.
5 Input/output: Access of I/O devices, I/O ports, I/O control mechanisms -
Program controlled I/O Interrupt controlled I/O and DMA controlled I/O I/O 6
interfaces Program controlled I/O, Interrupt controlled I/O, and DMA controlled
I/O, I/O interfaces - Serial port,
Approved in Academic Council held on 25.10.2018
Parallel port, PCI bus, SCSI bus, USB bus
6 Central Processing Unit: 4
Processor Structure and Functions: Processor structure, register
organization, instruction cycle and pipelining.
7 Instruction level Parallelism: Overviews, design issues, vector 3
processing
8 Parallel Processing: Multiple Processor Organization, Symmetric Multi- 5
processors, cache coherence, multithreading, clusters, non- uniform memory
access, and vector computation.
Total lectures 42
Suggested Text Book(s):
1. William Stallings, Computer Organization & Architecture - Designing for Performance Eighth Edition, Pearson,
2010. ISBN 978-81-317-3245-8.
2. M. Morris Mano, Computer System Architecture, Pearson.
Suggested Reference Book(s):
1. John L. Hennessy and David A. Patterson ,Computer Architecture: A Quantitative Approach, Fourth Edition,
Morgan Kaufmann Publishers
2. M. Morris Mano , Computer System Architecture, Third Edition, Pearson Education Inc
3. Luiz Andre Barroso and Urs Holzle;The Datacenter as a Computer – An Introduction to the Design of
Warehouse Scale Machines Morgan and Claypool Publishers
Other useful resource(s):
1. Link to NPTEL course contents: https://nptel.ac.in/syllabus/106103068/
2. Link to topics related to course: https://www.geeksforgeeks.org/computer-organization-and-architecture-
tutorials/
Evaluation Scheme:
Attendance - 5
Course Outcomes (COs) contribution to the Programme Outcomes (POs):
Course
Outcomes
Average
(Computer
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Organization
and
Architecture
)
1.8
CO-1 3 2 2 2 2 2 2 1 2 1 1 2
2.3
CO-2 3 3 3 3 1 3 1 2 2 2 2 2
2.3
CO-3 3 2 3 3 2 2 2 2 2 2 2 2
2.4
CO-4 3 3 3 2 2 3 2 2 3 2 2 2
2.4
CO-5 3 2 2 3 2 3 3 2 3 2 2 2
2.2
CO-6 3 2 2 2 3 2 2 2 3 1 2 2
3 2.3 2.5 2.5 2 2.5 2 1.8 2.5 1.7 1.8 2
Average
Approved in Academic Council held on 25.10.2018
Computer Graphics Lab
COURSE CODE: 18B17CI575
COURSE CREDITS: 2
CORE/ELECTIVE: CORE
: 0-0-4
Pre-requisite: None
Course Objectives:
1. Using OpenGL for Graphics
2. Programming User-interface issues
3. Concepts of 2D & 3D object representation
4. Implementation of various scan & clipping algorithms
5. 2D modelling
6. Implementation of illumination model for rendering 3D objects
7. Visibility detection & 3D viewing
8. Implementation of a project based on learned concepts.
Course Outcomes:
1. Donald Hearn and M. Pauline Baker. “Computer Graphics with OPENGL” 3rd Edition Pearson
Publishers, 2011.
2. James D. Foley, Van Adams, K.Fenier and F. Hughes, “Computer Graphics-Principle and
Practices”, 3rd Edition Pearson Publishers, 2002.
3. Harrington, S. “Computer Graphics: A Programming Approach” Mc-Graw Hill Book Co.
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO-1 3 3 3 2 2 3 2 2 2 3 1 3 2.4
CO-2 3 3 3 2 3 2 3 2 2 3 1 3 2.5
CO-3 3 3 3 2 2 3 1 2 3 3 1 3 2.4
CO-4 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-5 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-6 3 3 3 2 3 3 2 2 2 3 1 3
2.5
Pre-requisite: None
Course Objectives:
1. To get familiar with the working scenario of logic gates.
2. Understanding the way in which arithmetic operations are done.
3. Structure of ALU and its Design
4. Understanding of Memory Design and its issues
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
Ability to understand basic structure of computer. Assessment
CO-1
Ability to perform arithmetic operations on computer. Assessment
CO-2
Ability to understand the memory concepts including Cache. Assessment
CO-3
CO-4 Familiarity with CPU design. Familiarity
List of Experiments:
S. Description Lab Hours
No
1 To Study And Verify The Truth Table Of Logic Gates 2
2 Realization Of A Boolean Function 2
3 Adders And Subtractors 2
4 Multiplexer And Demultiplexer 2
5 Registers and Counters 2
6 Booth‟s Multiplier 2
7 Design Of ALU 4
8 Memory Design 4
9 Associative Cache Design 4
10 Direct Mapped Cache Design 2
11 CPU Design 2
Total Lab Hours 28
Suggested/Resources:
1. Computer Organization & Design: The Hardware/Software Interface - David Patterson and John
Hennessey.
2. William Stallings, Computer Organization & Architecture - Designing for Performance Eighth Edition,
Pearson, 2010. ISBN 978-81-317-3245-8.
3. Dr. M. Usha, T. S. Srikanth, “Computer System Architecture and Organization”,First Edition, Wiley-
India.
4. “Computer Organization” by ISRD Group, Tata McGraw-Hill.
5. Link to topics related to course:
i. http://cse10-iitkgp.virtual-labs.ac.in/index.html
PO PO PO PO PO PO PO PO PO PO PO PO
CO/PO Average
1 2 3 4 5 6 7 8 9 10 11 12
CO-1 3 2 2 2 2 3 2 2 2 2 2 2 2.2
CO-2 3 3 3 2 2 3 3 2 2 2 1 1 2.3
CO-3 3 3 3 2 2 2 3 2 2 2 3 2 2.4
CO-4 3 3 2 2 2 2 2 2 3 2 2 3 2.3
Pre-requisite: None
Lab Course Objectives: This course focuses on the development of applications that manipulate media assets.
Significant time is spent on intermediate to advanced programming and scripting as well as the synchronization of
aural and graphical components. Students are requited to plan, design and implement lab projects.
Course Outcomes:
Level of
S.No. Course Outcomes
Attainment
CO-1 To learn how to design and develop multimedia for real world e-learning. Familiarity
CO-2 To learn how to implement multimedia e-leaning in Macromedia Flash. Assessment
CO-5 Students will learn to write interactive programs on the Android. Assessment
CO-6 Students will learn to analyze and design's to interact with other apps on the device Usage
List of Experiments:
S. No Description Hours
Write a program to justify a text entered by the user on both left and right hand side.
for example the test “ An architect may have a graphics program to draw an entire
building but be interested in only ground floor”, can be 2
1 justified in 30 columns. An architect may have a graphics programs draw an entire
building but interested in ground floor.
2 Study the notes of a piano and stimulate them using the keyboard and store 1
them in file.
Write a program to read a paragraph and store it to a file name suggested by the author. 2
3 Devise a routine to produce the animation effect of a square transforming to a triangle
and then to a circle
4 To implement text and image compression algorithms: Huffman coding, 3
Lempel-Ziv algorithm, Lempel–Ziv–Markov chain algorithm (LZMA), run length
encoding, entropy encoding, area image compression, DPCM and
predictive coding
5 Write a program to show a bitmap image on your computer screen. 2
6 Create a web page for a clothing company which contains all the details of 2
that company and at least five links to other web pages.
Write a program by which we can split mpeg video into smaller pieces for 4
7 the purpose of sending it over the web or by small capacity floppy diskettes and then
joining them at the destination.
8 Write a program to simulate the game of pool table. 4
9 Write a program to simulate the game mine sweeper. 4
10 Write a program to play “wave” or “midi” format sound files. 4
Approved in Academic Council held on 25.10.2018
28
Total Lab Hours
Suggested/Resources:
1. Flash MX Action Script Programming, Robert Reinhardt and Joey Lott, Wiley.
2. Flash 5 Magic with Action Script, J. Scott Hamlin and David J. Emberton, Techmedia
3. Beginning Android Application Development, Wei-Meng Lee, paperback
4. An introduction, Villamil & Molina, Multimedia Mc Milan, 1997
5. Multimedia: Sound & Video, Lozano, 1997, PHI, (Que)
6. Multimedia: Production, planning and delivery, Villamil & Molina,Que, 1997
7. Multimedia on the PC, Sinclair,BPB
8. Multimedia: Making it work, Tay Vaughan, fifth edition, 1994, TMH.
9. Multimedia in Action by James E Shuman, 1997, Wadsworth Publ.,
10. Multimedia in Practice by Jeff coate Judith, 1995,PHI.
11. Multimedia Systems by Koegel, AWL
12. Multimedia making it Work by Vaughar, etl.
13. Multimedia Systems by John .F. Koegel, 2001, Buford.
14. Multimedia Communications by Halsall & Fred, 2001,AW
15. Link to topics related to course:
a. https://nptel.ac.in/courses/117105083/
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO1 2 1 1 2 1 2 2 1 2 1 1 1.5
CO2 1 1 1 1 1 1 1 1 1 1 1
CO3 1 1 1 1 1 1 1 1 1 1 1 1
CO4 1 1 1 1 1 1 1 1 1 1 1 1 1
CO5 1 1 1 1 1 1 1 1 1 1 1 1
CO6 1 1 1 1 1 1 1 1 1 1
ELECTIVE I
Course Objectives:
Audio Compression:
Sound, Digital Audio, The Human Auditory System , μ-Law and A-Law
Companding, ADPCM Audio Compression, MLP Audio, Speech Compression,
Shorten MPEG-1 Audio Layers
8 Other Methods and Application: Zip and Gzip, PNG, The Burrows-Wheeler 6
Method, Symbol Ranking, ACB, SortBased Context Similarity, Sparse Strings,
Word-Based Text Compression, Textual Image Compression, Dynamic Markov
Coding, FHM Curve Compression, Sequitur, Triangle Mesh
Compression: Unicode Compression
Total Lectures 42
Suggested Text Book(s):
1. David Salomon , A Concise Introduction to Data Compression, 1st edition, Springer, 2008
2. Sayood, Khalid, Introduction to Data Compression, 3rd Edition, Morgan Kaufmann, 2006
Suggested Reference Book(s):
1. David Salomon, G. Motta, D. Bryan, Data Compression: The Complete Reference, 4nd edition,
Springer(2006)
2. D.C. Hankerson, Greg A. Harris , Peter D. Johnson Jr, Introduction to Information Theory and Data
Compression, Second Edition, Chapman & Hall/CRC; 2 edition 2003
3. Anderson, J.B. and Mohan, S., Source and Channel Coding, Kluwer, 1991.
4. Gersho, A. and Gray, R.M., Vector Quantization and Signal Compression, Kluwer, 1992.
Other useful resource(s):
1. Link to NPTEL course contents: https://nptel.ac.in/courses/108104098/41
2. Link to topics related to course:
i. https://london.ac.uk/sites/default/files/study-guides/data-compression.pdf
ii. http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE523.htm
iii. http://www.nhu.edu.tw/~chun/CS-ch15-Data%20Compression.pdf
iv. http://apachetechnology.in/ati/www/KC/dw/Saloman%20-
%20Data_Compression_Complete_Reference.pdf
Evaluation Scheme:
Attendance - 5
Average
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course Outcomes
(Data Compression)
CO-1 2.4
3 3 3 1 1 3 2 3 3 3 3 1
CO-2 2.4
2 2 2 2 3 3 2 3 3 3 1 3
CO-3 3
3 3 3 3 3 3 3 3 3 3 3 3
CO-4 2.5
3 3 2 3 3 3 2 1 1 3 3 3
CO-5 2.6
3 3 3 1 2 3 2 3 3 3 3 2
CO-6
2 2 2 3 3 3 2 3 3 3 1 3 2.5
CO-7
3 3 3 3 3 3 3 3 3 3 3 3 3
Average 2.7 2.7 2.6 2.3 2.6 3 2.3 2.7 2.7 3 2.4 2.6
Pre-requisites: Familiarity with any one of the procedural or object oriented language such as C/C++/Java is
mandatory.
Course Objectives:
1. Compare programming languages.
2. Describe the main principles of imperative, functional, object oriented and logic oriented programming
languages;
3. Recite the high points of programming language history.
4. Read the central formalisms used in the description of programming languages.
5. Assess programming languages critically and in a scientific manner;
6. Analyze the principles of an imperative, functional, object oriented or logic oriented programming
language; and
7. Use a formalism to describe a programming language.
Course Outcomes:
Level of
S. No. Course Outcomes
Attainment
To learn major programming paradigms and techniques involved in design and
CO-1 implementation of modern programming languages. To learn the structure of a Familiarity
compiler and interpretation. To learn syntax and symantic of programming language.
CO-2 To learn the structured and object oriented programming paradigm. Familiarity
To different programming paradigm to improving the clarity, quality, and development
CO-3 time of a program (structured programming). To learn Haskell (an advanced purely- Assessment
functional programming style and lambda calculus (for variable binding and
substitution).
To learn To understand basic logic programming through Prolog. Case study of a
CO-4 logic programming language – Prolog knapsack Usage
CO-5 To learn the concurrency in programming languages, Exception handling and Scripting Familiarity
languages
Case study of a markup language – XML. Common web development languages &
technologies – XML, JavaScript, AJAX, Mashups, etc.
CO-6
Assessment
Course Contents:
Unit Contents Lectures
required
1 Introduction to the course 4
Introduction to major programming languages History of major
programming languages.
Introduction to the programming language paradigms
2 Compilation and Interpretation Syntax of a programming 5
language Programming language semantics
Approved in Academic Council held on 25.10.2018
Structured Programming Procedure Activations
3 Type systems in programming languages Object oriented programming 5
language features Java Virtual Machine
4 Introduction to functional programming paradigm 16
Case study of a functional programming language – Haskell Introduction to the
lambda calculus
Introduction to logic programming paradigm
Case study of a logic programming language – Prolog
5 Introduction to concurrency in programming languages Exception handling 7
Scripting languages
6 Markup languages 4
Case study of a markup language – XML
Common web development languages & technologies XML, JavaScript, AJAX,
Mashups, etc.
Total Lectures 42
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of Examination
1 T-1 15 1 Hour. Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3. T-3 35 2 Hours Entire Syllabus
4. Teaching Entire Semester Assignment (2) - 10
Assessment
Quizzes (2) - 10
Attendance - 5
(Principles of
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Programming
Languages
)
CO-1 3 2 3 1 2 3 2 2 1 1 1 3 2
CO-3 3 2 3 1 1 2 2 2 1 1 1 3 1.8
CO-4 3 3 3 1 1 2 2 2 1 1 1 3 1.9
CO-5 3 2 3 2 2 3 2 2 1 1 1 3 2.1
CO-6 3 2 3 2 2 3 2 2 2 1 1 3 2.2
1. Using Graphics, Animations and Multithreading for designing Simulation and Game based applications.
2. Design and develop GUI applications using Abstract Windowing Toolkit (AWT), Swing and Event
Handling.
3. Design and develop Web applications
4. Designing distributed applications using Remote Method Invocation (RMI)
Course Outcomes:
Level of
S. No Course Outcomes
Attainment
To learn the graphics and animation on the web pages, using Java Applets. To learn and
design a full set of Event driven UI widgets and other components, including windows,
CO-1 menus, buttons, checkboxes, text fields, scrollbars and scrolling lists, using Abstract Usage
Windowing Toolkit (AWT) & Swings
To learn Java Data Base Connectivity (JDBC) so as to retrieve and manipulate the
Usage
CO-2 information on any relational database through Java programs.
Usage
CO-3 To learn the server side programming using Servlets and JSP.
To learn the invocation of the remote methods in an application using RMI Usage
CO-4
Course Contents:
Unit Contents Lectures
required
1 Applet Programming: Structure and Life Cycle of a Java Applet, Graphics, 8
Multithreading and Animation, Abstract Windowing Toolkit, Swings and
Event Handling.
2 Java Database Connectivity (JDBC): JDBC Product, Types of Drivers, Two- Tier 6
Client/Server Model, Three-Tier Client/Server Model, Basic Steps of JDBC, Creating
and Executing SQL Statement, The Result Set Object, Working with Database
MetaData Interface.
3 Java Servlets: Servlet Interaction & Advanced Servlets, Life cycle of Servlet, Java 10
Servlet Development Kit, Javax.servlet package, Reading Servlet Parameters, Reading
Initialization Parameters, The javax.servlet.http Package, Handling HTTP.
Java Server Pages (JSP): JSP Technologies, Understanding the Client-Server Model,
Understanding Web server software, Configuring the JSP Server, Handling JSP Errors,
JSP Translation Time Errors, JSP Request Time Errors, Creating a JSP Error Page, JSP
with Java Bean.
4 Remote Method Invocation (RMI): RMI Architecture, Designing RMI application, 4
Executing RMI application.
Total Lectures 28
1. Java the Complete Reference, ninth edition by Herbert Schild, Publisher: McGraw Hills
2. Advanced Java Programming by Uttam K. Roy, Publisher: Oxford University Press
Suggested Reference Book(s):
1. Head First Servlets and JSP by Bryan Basham, Kathy Sierra & Bert Bates, Publisher: O'Reilly Media
Other useful resource(s):
1 Link to NPTEL course contents:
i. http://www.nptelvideos.com/java/java_video_lectures_tutorials.php
ii. https://nptel.ac.in/courses/106105084/28
2 Link to topics related to course:
i. https://www.javatpoint.com/
ii. https://www.tutorialspoint.com/
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of Examination
1 T-1 15 1 Hour. Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3. T-3 35 2 Hours Entire Syllabus
4. Teaching Entire Semester Assignment (2) - 10
Assessment
Quizzes (2) - 10
Attendance - 5
Course Outcomes (COs) contribution to the Programme Outcomes (POs)
Average
PO-10
PO-11
PO-12
Course Outcomes (
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Java Programming)
CO-1 3 3 2 2 1 2 2 3 1 3 1 3 2.2
CO-2 3 3 2 2 1 2 1 3 2 2 3 3 2.3
CO-3 3 3 2 3 3 3 1 3 2 3 3 2 2.6
CO-4 3 3 2 3 3 3 1 3 2 3 3 2 2.6
Course Objectives:
1. Understand and appreciate how information theory is concerned with the fundamental limits of
communication i.e. limit to data compression, and reliable communication over a noisy channel
2. Understand how coding theory is concerned with techniques to realize the limits specified by information
theory, and learn the techniques of source coding and channel coding.
3. Get an idea of the broad areas where information theory is used i.e. in statistics, data analysis,
cryptography, etc.,
4. Identify how development of information theory and coding theory has been crucial to the development of
communications.
Course Outcomes:
Level of
S. NO Course Outcomes
Attainment
Understand the basics of information theory and how it is concerned with the
CO-1 fundamental limits of communication Familiarity
Attendance - 5
PO-11
PO-12
Information
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Theory and
Coding)
CO-1 2.2
3 3 2 1 2 2 2 1 2 3 3 2
CO-2 2.3
3 3 3 2 2 2 3 2 2 1 2 2
CO-3 2.3
3 3 2 1 1 3 3 3 3 3 1 1
CO-4 1.8
3 2 2 1 2 2 2 2 1 2 1 2
CO-5 2.1
3 2 2 1 2 3 3 2 1 3 2 1
CO-6 2.3
3 3 2 1 1 3 3 1 3 3 3 1
Average 3 2.7 2.2 1.2 1.7 2.5 2.7 1.8 2 2.5 2 1.5
Pre-requisite: None
Course Objectives:
CO-1 3 3 3 1 2 3 2 3 3 3 3 2 2.6
CO-2 2 2 2 3 3 3 2 3 3 3 1 3 2.5
CO-3 3 3 3 3 3 3 3 3 3 3 3 3 3
CO-5 3 3 3 1 2 3 2 3 3 3 3 1 2.5
CO-6 2 2 2 3 3 3 2 3 3 3 1 3 2.5
CO-7 3 3 3 3 3 3 3 3 3 3 3 3 3
Average 2.7 2.7 2.6 2.4 2.7 3 2.3 2.7 2.7 3 2.4 2.6
Pre-requisite: None
Course Objectives:
CO-2 To learn the structured and object oriented programming paradigm. Familiarity
To different programming paradigm to improving the clarity, quality, and development
time of a program (structured programming). To learn Haskell (an advanced purely-
CO-3 functional programming style and lambda calculus (for variable binding and Assessment
substitution).
CO-4 To learn the concurrency in programming languages, Exception handling and Scripting Familiarity
languages
List of Experiments:
S. No Description Hours
1 1. To understand the value of records in a programming language, write a small 2
program in a C-based language that uses an array of structs that store student
information, including name, age, GPA as a float, and grade level as a string (e.g.,
“freshmen,” etc.). Also, write the same program in the same language without
using structs.
2. To understand the value of recursion in a programming language, write a program
that implements quicksort, first using recursion and then without
recursion.
2. Write three functions in C or C++: one that declares a large array statically,
one that declares the same large array on the stack, and one that creates the
same large array from the heap. Call each of the
subprograms a large number of times (at least 100,000) and output the time
required by each. Explain the results
5 1. Write a program in the language of your choice that behaves differently if the 2
language used name equivalence than if it used structural equivalence..
2. Write a Java program that exposes Java‟s rule for operand evaluation order
when one of the operands is a method call.
Assume all variables are integer type. Discuss the relative merits of the use of these
languages for this particular code.
7 1. Write a Perl program that passes by reference a literal to a 2
subprogram, which attempts to change the parameter. Given the
3. Write a generic Ada function that takes an array of generic elements and a
scalar of the same type as the array elements. The type of the array elements
and the scalar is the generic parameter. The subscripts of the array are positive
integers. The function must search the given array for the given scalar and
return the subscript of the scalar in the array. If the scalar is not in the array,
the function must return –1 .
Instantiate the function for Integer and Float types and test both.
8 1. Write a program that includes two subprograms, one that takes a single 2
parameter and performs some simple operation on that parameter and one that
takes 20 parameters and uses all of the parameters, but only for one simple
operation. The main program must call these two subprograms a large number
of times. Include in the program timing code to output the run time of the calls
to each of the two subprograms. Run the program on a RISC machine and on
a CISC machine and compare the ratios of the time required by the two
subprograms. Based on the results, what can you say about
the speed of parameter passing on the two machines?
9 1. Write an abstract data type for queues whose elements store 10- character 2
names. The queue elements must be dynamically allocated from the heap.
Queue operations are enqueue, dequeue, and empty. Use either Ada, C++,
Java, C#, or Ruby.
2. Write an abstract data type for rational numbers (a numerator and a
denominator). Include a constructor and methods for getting the numerator,
getting the denominator, addition, subtraction, multiplication, division,
equality testing, and display. Use Java, C#,
C++, Ada, or Ruby.
10 1. Design and implement a C++ program that defines a base class A, which has a 2
subclass B, which itself has a subclass C. The A class must implement a
method, which is overridden in both B and C. You must also write a test class
that instantiates A, B, and C and includes three calls to the method. One of the
calls must be statically bound to A‟s method. One call must be dynamically
bound to B‟s method, and one must be dynamically bound to C‟s method. All
of the method calls must be through a pointer to class A.
2. The reader-writer problem can be stated as follows: A shared memory location
can be concurrently read by any number of tasks, but when a task must write
to the shared memory location, it must
have exclusive access. Write a Java program for the reader-writer problem.
11 1. Write a Java program that inputs a list of integer values in the range of - 100 to 2
100 from the keyboard and computes the sum of the squares of the input
values. This program must use exception
handling to ensure that the input values are in range and are legal
Suggested Books/Resources:
1. https://cs444pnu1.files.wordpress.com/2014/02/concepts-of-programming-languages-10th-sebesta.pdf
2. Principles of Programming Languages: Design, Evaluation, and Implementation 3rd Edition by Bruce
J. MacLennan
3. Programming Languages: Concepts & Constructs, 2nd Edition by Ravi Sethi; Pearson Education Asia
4. Programming Language Principles and Paradigms 2nd Edition, Tucker, Allen B. Michael and Noonan
Robert E. , TMH 2007
5. Programming Languages and Paradigms, D. A. Watt., Prentice-Hall,1990
6. Essentials of Programming Languages, Daniel Friedman, Mitchell Wand, and Christopher Haynes,
MIT Press (Indian edition - Prentice Hall, India)
7. Concepts of Programming Languages, Robert W. Sebesta, Pearson Education Asia
8. https://nptel.ac.in/courses/106102067/
9. https://www.cs.bgu.ac.il/~ppl162/Assignments
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO-1 3 2 3 1 2 3 2 2 1 1 1 3 2
CO-2 3 2 3 1 1 3 2 3 2 1 1 3 2.1
CO-3 3 2 3 1 1 2 2 2 1 1 1 3 1.8
CO-4
3 2 3 2 2 3 2 2 1 1 1 3 2.1
Pre-requisite: None
Course Objectives:
1. Using Graphics, Animations and Multithreading for designing Simulation and Game based applications.
2. Design and develop GUI applications using Abstract Windowing Toolkit (AWT), Swing and Event
Handling.
3. Design and develop Web applications
4. Designing distributed applications using Remote Method Invocation (RMI)
Course Outcomes:
Level of
S. No. Course Outcomes
Attainment
To learn the graphics and animation on the web pages, using Java Applets. To learn and
design a full set of Event driven UI widgets and other components, including windows,
CO-1 menus, buttons, checkboxes, text fields, scrollbars and scrolling lists, using Abstract Usage
Windowing Toolkit (AWT) & Swings
To learn Java Data Base Connectivity (JDBC) so as to retrieve and manipulate the
CO-2 Usage
information on any relational database through Java programs.
Usage
CO-3 To learn the server side programming using Servlets and JSP.
To learn the invocation of the remote methods in an application using RMI Usage
CO-4
List of Experiments:
S. No. Description Hours
Design an applet to continuously scroll a string from the right to the left 2
1 of the applet window.
Design an applet called Checker in which a black oval moves from a green square to a 2
blue square. To reduce the flickering override the update method to clear only that part
of the screen that is changing
2 during the animation.
Write a swing-based GUI to create a tabbed pane with two tabs: Table and Tree. The 2
first tab contains a table displaying the information of Employee {empid, ename, age}.
The second tab contains a tree structure. Insert both JTable and JTree in JScrollPane.
JScrollPane has to be inserted at the centre of the BorderLayout manager (with panels).
When user clicks on any node of the tree, its path should be displayed on the TextField.
3
Consider a table Bank {account_no, customer_name, balance, phone_no, and address}. 2
Write a database application which allows insertion, updation and deletion of records in
the Bank table. Print
4 values of all customers whose balance is less than 5,000.
User enters the name and password through an HTML form. Both these parameters are 2
being passed to the Servlet1. The Servlet1 after retrieving the parameters generates a
Cookie with username being stored in the cookie. The Servlet1 generates an HTML
form, which is linked to the Servlet2. Along with the response object, the Cookie is
stored permanently on the client‟s hard disk. The same user then submits the form to
5 invoke the Servlet2. The Servlet2 must have the provision to access and display the
Approved in Academic Council held on 25.10.2018
cookie name. Modify the above program to use the concept of Hidden form field, instead
of Cookie.
Write a Servlet to validate the username and password entered by the user. If the 2
username and password are „abc’ and ‘def’ respectively, the Sevlet should forward the
request to WelcomeServlet; otherwise, it
6 should display an error message: “Incorrect username or password!”
Write a Servlet that connects to the database (MySql) and creates a table emp with the 2
following schema:
emp{empid char(5) Primary Key, ename varchar2 not null , age number(2) not null,
7 salary number(7, 2) , address varchar2};
Write a Servlet that connects to the database (MySql), runs a query to retrieve the ids 2
and names of the emp table and displays the list to the client.
Write a Servlet to insert data into a table, using executeUpdate()
and then display the result using executeQuery()
Modify the above Servlet to insert the data into the emp table, using
PreparedStatement interface
8
Write a JSP program to display your brief profile including your image, date of birth, 2
address, and educational qualification. Do proper
9 formatting and coloring of this web page.
Write an online phone directory based application using JSP and JDBC. Use the 2
following table to store the phone details:
Directory{phone_no, first_name, last_name, address}. The application
10 should have the search facility on all the fields.
Write a JSP program using Java Bean to register users into a web-site. The registration 2
details of users are kept in USER table with attributes as userid varchar2(10), username
varchar2(15), and email_id
11 varchar2(15).
Write a distributed application using RMI where a user running an application on the 2
client‟s JVM invokes a remote method String getName(String) running on the server‟s
JVM. After invoking this method, the name entered by the user is displayed on the
client‟s
12 application.
Write an RMI application where client sends empno and server returns 2
13 corresponding salary by querying database
Write one RMI application for banking to perform the deposit and 2
14 withdrawal operations by client.
Total Lab hours 28
Suggested Books/Resources:
1. Java the Complete Reference, ninth edition by Herbert Schild, Publisher: McGraw Hills
2. Advanced Java Programming by Uttam K. Roy, Publisher: Oxford University Press
3. Head First Servlets and JSP by Bryan Basham, Kathy Sierra & Bert Bates, Publisher: O'Reilly Media
4. Link to topics related to course:
i. http://www.nptelvideos.com/java/java_video_lectures_tutorials.php
ii. https://nptel.ac.in/courses/106105084/28
iii. https://www.javatpoint.com/
iv. https://www.tutorialspoint.com/
Evaluation Scheme
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
CO-1 3 3 2 2 1 1 2 3 1 3 2 3 2.2
CO-2 3 3 2 2 1 1 1 3 2 2 3 3 2.2
CO-3 3 3 2 3 3 3 1 3 2 3 3 2 2.6
CO-4 3 3 2 3 3 3 1 3 2 3 3 2 2.6
Pre-requisite: None
Course Objectives:
1. To develop skills for designing programs on different coding techniques.
2. Understand how coding theory is concerned with techniques to realize the limits specified by
information theory, and learn the techniques of source coding and channel coding.
3. Get an idea of the broad areas where information theory is used i.e. in statistics, data analysis,
cryptography, etc.,
4. Identify how development of information theory and coding theory has been crucial to the
development of communications.
Course Outcomes:
Level of
S. NO Course Outcomes
Attainment
Understand the basics of information theory and how it is concerned with the
CO-1 fundamental limits of communication Familiarity
CO-2 Design and implement concept of coding and compression techniques Familiarity
CO-3 Design applications with error control Usage
Design and implement Compression And Decompression Techniques.
CO-4 Usage
Construct and implement efficient codes for data on imperfect communication channels.
CO-5 Assessment
Design and use the concepts Of Multimedia Communication
CO-6 Assessment
List of Experiments:
S. No. Description Hours
1 Write a program for determination of various entropies and mutual information of a 2
given channel. Test various types of channel such as a) Noise free channel. b) Error
free channel c) Binary symmetric channel d)
Noisy channel Compare channel capacity of above channels.
2 Write a Program to implement an algorithm for Determination of 2
Entropy, Information, and Information Rate.
3 Write a program for generation and evaluation of variable length source 2
coding using Shannon – Fano coding and decoding
4 Write a program for generation and evaluation of variable length source coding using 2
Huffman Coding and decoding
5 Write a Program for coding & decoding of Linear block codes. 2
6 Write a Program for coding & decoding of Cyclic codes. 2
7 Write a program for coding and decoding of Convolutional codes. 2
8 Write a program for coding and decoding of BCH codes. 2
9 Write a program for coding and decoding of RS codes. 2
Suggested Books/Resources:
1. Cover, Thomas M., and Joy A. Thomas. Elements of information theory. John Wiley & Sons, 2012.
2. Simon Haykin, “Communication Systems”, 4th Edition, John Wiley And Sons, 2001.
3. Fred Halsall, “Multimedia Communications, Applications Networks Protocols And Standards”,
Pearson Education, Asia 2002
4. Bose, Ranjan. Information theory, coding and cryptography. Tata McGraw-Hill Education, 2008.
5. Mark Nelson, “Data Compression Book”, BPB Publication 1992.
6. Watkinson J, “Compression in Video And Audio”, Focal Press, London, 1995.
7. Link to NPTEL course contents:https://nptel.ac.in/courses/117101053/
8. Link to topics related to course:
i. http://chamilo2.grenet.fr/inp/courses/PHELMA4PMSTHI9/document/Info_Th_ChI-II-
III.pdf?cidReq=PHELMA4PMSTHI9&id_session=0&gidReq=0&origin=
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO-1 3 3 2 2 2 2 2 1 2 3 3 1 2.2
CO-2 3 1 3 2 2 2 3 2 2 3 2 2 2.3
CO-3 3 3 2 1 1 3 3 3 3 3 1 1 2.3
CO-4 3 2 2 2 2 2 2 2 1 2 1 1 1.8
CO-5 3 3 2 1 2 3 3 2 1 2 2 1 2.1
CO-6 3 3 2 1 1 3 3 1 3 3 3 1 2.3
Average 3 2.5 2.2 1.5 1.7 2.5 2.7 1.8 2 2.7 2 1.2
Pre-requisites: Perquisite for this course is programming languages like C, C++, java and basic
knowledge of formal language and automata theory. This is a programming-intensive course. The
primary languages used are C and Java and familiarity with them is assumed.
Course Objectives:
1. To understand the basic concept of compilation particular, lexical analyzer, syntax and semantic analysis,
code generation and optimization phases of compilation.
2. Ability to create lexical rules and grammars for a programming language.
3. Ability to use flex or similar tools to create a lexical analyzer and Yacc/Biscon tools to create a parser
4. Ability to implement a various parser such as a bottom-up SLR parser without using any compiler-
generation tools
5. Ability to implement a various intermediate code generation techniques without using any compiler
generation tools
6. Ability to implement various code optimizing techniques without using any compiler-generation tools
7. Ability to implement semantic rules into a parser that performs attribution while parsing
8. Ability to design a compiler for a concise programming language.
Course Outcomes
Level of
S. No. Course Outcomes
Attainment
To understand the basic concept of compilation particular, lexical analyzer, syntax
CO-1 and semantic analysis, code generation and optimization phases of compilation Familiarity
CO-2 Ability to create lexical rules and grammars for a programming language Familiarity
Ability to use flex or similar tools to create a lexical analyzer and Yacc/Biscon tools Computational
CO-3
to create a parser skills
Ability to implement a various parser such as a bottom-up SLR parser without using
CO-4 Technical skills
any compiler-generation tools
Ability to implement a various intermediate code generation techniques without
CO-5 Technical skills
using any compiler generation tools
Ability to implement various code optimizing techniques without using any
CO-6 Technical skills
compiler-generation tools
Ability to implement semantic rules into a parser that performs attribution while
CO-7 Assessment
parsing
CO-8 Ability to design a compiler for a concise programming language Assessment
Course Contents:
Lectures
Unit Contents
required
Introduction: Compilers, Analysis of Source Program, Phases of Compiler,
1 Issues in a Compiler Structure, Major Data Structures in 3
Compiler, Bootstrapping and Porting
Lexical Analysis: Role of the Lexical Analyzer, Scanning Process- Input
Buffering, Specification of Tokens, Recognition of Tokens, Regular Language,
Approved in Academic Council held on 25.10.2018
2 Finite Automata, Regular Expression, Regular 4
Expression to Finite automata, Scanner Generator (lex, flex)
Syntax Analysis: Parsing Process, Context-Free Grammar, Handle, Ambiguity,
Parse Tree, Push-Down Automata , Top Down Parsing: Basic Concept, Recursive
Descent Parsing, First Function, Follow Function, Conflicts-Shift Reduce,
Reduce-Reduce, LL(1) Grammar, LL(1) Parser, Error Recovery, Bottom up
3 parsing :Basic Concept, Shift Reduce Parsing, Operator Grammar, Operator 12
Precedence Parsing, Augmented Grammar, LR(0) Item Set, LR(0) Parsing,
LR(1) Item Set, SLR(1) Parsing, Canonical LR Parser, LALR parsing, Error
Recovery, YACC and BISON
Semantic Analysis: Syntax-Direct Definitions, Implementation of Syntax-
4 directed Translators, Bottom-up Evaluation of S-attributed 5
Definitions, L-attributed Definitions, and Top-down Translation
Intermediate Code Generation: Postfix Notation, Parse Trees & Syntax Trees,
Three Address Code, Quadruple & Triples, Translation of Assignment
Statements, Boolean Expressions, Statements That Alter Flow of Control,
5 5
Postfix Translation, Array References in Arithmetic Expressions, Procedures
Call, Declarations and Case Statements
6 Code Generation: Issues in the design of a Code Generator, Target Machine,
Run-Time Storage Management, Basic blocks and Flow graphs 4
Code Optimization: Machine-Independent Optimizations, Machine Dependent
7 Optimization, Loop optimization, DAG representation of basic blocks, value
5
numbers and algebraic laws, Global Data-Flow analysis
Run-time environment and Symbol: Procedure activation, parameter passing,
8 value return, memory allocation, and scope, Symbol Table, Definition,
4
Structure, Types, symbol attributes and management
Total Lectures 42
Suggested Text Book(s):
1. Compilers: Principles, Techniques, and Tools by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey
D. Ullman, Pearson Publisher
2. Compiler Construction, Kenneth C. Louden, 582 pages
3. Modern Compiler Implementation in C, Andrew W. Appel, 544 pages
Suggested Reference Book(s):
1. http://ecomputernotes.com/compiler-design
2. http://www.diku.dk/~torbenm/Basics/basics_lulu2.pdf
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of Examination
1 T-1 15 1 Hour. Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3. T-3 35 2 Hours Entire Syllabus
4. Teaching Entire Semester Assignment (2) - 10
Assessment
Quizzes (2) - 10
Attendance - 5
Average
PO-10
PO-11
PO-12
outcomes
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
(Compiler
Design)
CO-1 3 2 2 1 2 3 3 2 1 3 2 1 2.1
CO-2 3 3 2 1 1 3 3 1 3 3 3 1 2.3
CO-3 3 3 2 1 2 2 2 1 2 3 3 2 2.2
CO-4 3 3 3 2 2 2 3 2 2 1 2 2 2.3
CO-5 3 3 3 2 2 2 2 2 1 3 2 1 2.2
CO-6 3 3 3 3 2 3 3 2 2 3 2 2 2.6
CO-7 3 3 3 3 2 3 3 1 2 3 2 2 2.5
CO-8 3 3 3 3 2 3 3 2 2 2 3 2 2.6
Average 3 2.9 2.6 2 1.9 2.6 2.8 1.6 1.9 2.6 2.4 1.6
Pre-requisites: None
Course Objectives:
1. The course introduces the concepts and fundamental design principles of modern computer
networking, focusing on the Internet‟s architecture and protocols.
2. The course introduces the concepts of data and computer communications, computer network
introduction and its applications in our real life.
3. Reference models such as OSI and TCP/IP and its way toward the physical layer concepts, data link
layer and its protocols, multiple access protocols.
4. Provide students Network layer and its different routing protocols, the concepts/design of IP
addressing.
5. To provide students Transport layer and its protocols such as TCP, UDP and SCTP to application layer
and its protocol such as HTTP, FTP, SMTP and DNS.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
CO-1 To learn the basic concepts and terminology in computer networks Familiarity
To learn about the layered models in computer networks and different types of
CO-2 Assessment
network topologies and protocols
To learn about the data link layer and MAC layer protocols and related
CO-3 Assessment
issues
To learn concepts associated with subnetting and routing mechanisms.
Understand network industry standards such as: Routing Protocols, Address
CO-4 Assessment
Resolution and Reverse Address Resolution Protocols, IP
Addresses and Subnetting, MAC Addressing.
CO-5 To learn about the transport layer protocols and related issues Assessment
You will learn about the session, presentation and application layers protocols.
CO-6 Usage
Further, to learn about the some advanced topics in networks such as
CO-7 Cryptographic algorithms, Network security and management, and concepts of Familiarity
wireless networks
Course Contents:
Unit Contents Lectures
required
1 Introduction to Computer Networks: Network Software Architecture:
layers and protocols, OSI vs. TCP, Network Model, Connection Oriented and 4
Connectionless services, Network Topology, Delay.
2 Physical Layer: Transmission Terminology, Analog and Digital Signal,
Transmission Impairments, Transmission Media, Modulation, Switching 8
Techniques, Multiplexing Techniques
1. UNIX Network Programming, Volume 1, Second Edition: Networking APIs: Sockets and XTI,
Prentice Hall, 1998, ISBN 0-13-490012-X.
2. Arnold Robbins, “UNIX in a Nutshell”, O‟Reilly 4th Edition
3. David I. Schawartz, “Introduction to UNIX”, Prentice Hall, Second Edition
4. BEHROUZ a. Forouzan and Richard F. Gilberg, “UNIX and Shell Programming: A Textbook”
5. NS Simulator for Beginner‟s, Lecture notes Univ. de Los Andes, France.
6. Angela Orebaugh, Gilbert Ramirez,Josh Burke, Larry Pesce, Joshua Wright, Greg Morris, “Wireshark
& Ethereal Network Protocol Analyzer Toolkit”, Syngress Publishing, Inc.
Other useful resource(s):
3. Link to topics related to course:
i. https://www.coursera.org/specializations/networking-basics
ii. https://nptel.ac.in/courses/106105080/
iii. https://swayam.gov.in/course/4066-computer-networks
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of Examination
1 T-1 15 1 Hour. Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3. T-3 35 2 Hours Entire Syllabus
4. Teaching Entire Semester Assignment (2) - 10
Assessment Quizzes (2) - 10
Attendance - 5
Approved in Academic Council held on 25.10.2018
Course Outcomes (COs) contribution to the Programme Outcomes (POs)
Average
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes
(Computer
Networks)
CO-1 2.4
3 3 3 2 2 3 2 2 2 3 1 3
CO-2 2.5
3 3 3 2 3 2 3 2 2 3 1 3
CO-3 2.4
3 3 3 2 2 3 1 2 3 3 1 3
CO-4 2.6
3 3 3 2 3 3 2 2 3 3 1 3
CO-5 2.6
3 3 3 2 3 3 2 2 3 3 1 3
CO-6 2.5
3 3 3 2 3 3 2 2 2 3 1 3
CO-7 2.5
3 3 3 2 2 3 3 2 2 3 1 3
Course Objectives:
1. The lab course provides the complete description about inner working of a compiler.
2. The main focus is on the design of compilers and optimization techniques.
3. The course also aims to convey the language specifications, use of regular expressions and context free
grammars behind the design of compiler.
4. It builds an understand ability of various parsing techniques like predictive parsing, LR parsing, LALR
parsing. It also focuses on the design of Compiler writing tools.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
CO-1 Gain an in-depth understanding of the principles underlying the design Familiarity
CO-2
Construction of compilers Familiarity
CO-3
Functioning of Compiler writing tools Computational
skills
CO-4 Building various parsing techniques Technical skills
List of Experiments:
S. No. Description Hours
Suggested Books/Resources:
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO-1 3 2 2 1 2 3 3 2 1 3 2 1 2.1
CO-2 3 3 2 1 1 3 3 1 3 3 3 1 2.3
CO-3 3 3 2 1 2 2 2 1 3 3 3 2 2.3
CO-4 3 3 3 2 2 2 3 2 2 1 2 2 2.3
Average 3 2.8 2.3 1.3 1.8 2.5 2.8 1.5 2.3 2.5 2.5 1.5
Course Outcomes:
Level of
S.No. Course Outcomes
Attainment
CO-1 To understand the working concepts of Networking and inter – networking Devices. Familiarity
CO-2 To understand the concepts of different shortest path algorithms. Assessment
To understand different error detection and correction
CO-3 Assessment
techniques/algorithms.
CO-4 To understand Flow control techniques/algorithms. Assessment
To understand the concepts of client – server interaction using connection oriented
CO-5 Assessment
and connectionless protocols.
CO-6 To understand the proficiency in Traffic Shaping Algorithms. Usage
CO-7 You shall be exposed to working of encryption and decryption algorithms. Familiarity
List of Experiments:
S. No. Description Hours
Representation of a computer network using matrix representation of a 4
1 graph
Finding shortest path between any two nodes in a computer network using 4
2 Dikjstra‟s shortest path algorithm
3 Finding shortest path between any two nodes in a computer network using Prim‟s 4
shortest path algorithm
4 Study of network troubleshooting using Ping and Traceroute commands 4
5 Study of various networking and inter – networking devices 4
6 Implementation of CRC generator and checker algorithm in C / C++ / Java 4
7 Implementation of Hamming code algorithm in C / C++ / Java 4
Study of client – server programming using sockets in a UNIX / Linux and 4
8 Windows environment
9 Implementing client – server program using TCP / UDP sockets 4
Implementation of Stop – and – Wait protocol in C / C++ / Java in a client 4
10 – server environment using sockets
Implementation of Sliding Window protocol in C / C++ / Java in a client – 4
11 server environment using sockets
Suggested Books/Resources:
1. James F. Kurose, Keith W. Ross, “Computer Networking: A Top-Down Approach Featuring the Internet”
3rd Edition Pearson Education
2. Andrew S. Tanenbaum, “Computer Networks” 4th Edition PHI
3. UNIX Network Programming, Volume 1, Second Edition: Networking APIs: Sockets and XTI, Prentice
Hall, 1998, ISBN 0-13-490012-X.
4. Arnold Robbins, “UNIX in a Nutshell”, O‟Reilly 4th Edition
5. David I. Schawartz, “Introduction to UNIX”, Prentice Hall, Second Edition
6. BEHROUZ a. Forouzan and Richard F. Gilberg, “UNIX and Shell Programming: A Textbook”
7. NS Simulator for Beginner‟s, Lecture notes Univ. de Los Andes, France.
8. Link to topics related to course:
i. https://www.coursera.org/specializations/networking-basics
ii. https://nptel.ac.in/courses/106105080/
iii. https://swayam.gov.in/course/4066-computer-networks
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
Course Outcomes (COs) contribution to the Programme Outcomes(POs)
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
2.5
CO-1 3 3 3 3 3 1 1 3 3 3 1 3
1.6
CO-2 2 2 2 2 2 1 1 1 2 1 2
2.2
CO-3 3 3 3 3 3 1 1 1 3 1 1 3
CO-4 1.8
2 2 2 2 2 2 1 1 2 2 2
CO-5 1.9
2 2 2 2 2 3 1 1 2 2 2 2
CO-6 1.9
2 2 2 2 2 2 1 2 2 2 2 2
CO-7 1.9
2 2 2 2 2 2 1 2 2 2 2 2
Average 2.3 2.3 2.3 2.3 2.3 1.7 1 1.6 2.3 2 1.6 2.3
ELECTIVE - II
Course Objectives:
1. Employ correct testing terminology throughout the testing process
2. Execute specific software tests with well-defined objectives and targets.
3. Modelling techniques: UML: FSM and State charts, combinatorial design; and others.
4. Apply various testing techniques, including domain, code, fault, usage and model-based.
5. Perform a complete testing process, taking into account practical considerations.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
Investigate the reason for bugs and analyze the principles in software testing to
CO-1 Familiarity
prevent and remove bugs.
CO-2 Implement various test processes for quality improvement. Assessment
CO-3 Design test planning and manage the test process. Assessment
CO-4 Apply the software testing techniques in commercial environment. Assessment
CO-5 Design test adequacy assessment and enhancement criteria. Assessment
Use practical knowledge of a variety of ways to test software and an understanding
CO-6 Usage
of some of the tradeoffs between testing techniques.
Course Contents:
Unit Contents Lectures
required
1 Introduction: Error, Fault, Failure, Test automation and the importance of testing, 6
Developer and tester as two roles, Principles of Testing, ETVX Model, Testing
Maturity Model, V-Model, Software quality, Testing and debugging (preparing,
Constructing, Executing, Specifying, Assessing a test plan), test Generation
Strategies, Types of testing and Classifiers C1, C2, C3, C4, and C5, Static testing
Preliminaries mathematical: Predicates and Boolean Expressions, Control Flow
Graph, Program Dependence Graph, Strings languages
and regular expressions,
2 Test Generation: 10
a) From Domain Partitioning: The test selection problem, Equivalence
partitioning, Boundary value analysis, Category- partition method, Cause-
effect graphing.
b) From Finite State Models: Finite State machines, Conformance testing, A
Fault model, Characterization Set, The w-Method, The partial W-methos.
c) From Combinatorial design: Combinatorial designs, A combinatorial test
design process, Fault model, Latin Squares, Mutually orthogonal Latin
squares, Pairwise designs: binary factors, Pairwise design: multi-valued
factors, Orthogonal
Approved in Academic Council held on 25.10.2018
Arrays.
3 Test Adequacy Assessment and Enhancement: 8
a) Using Control flow: Test adequacy basics, adequacy criteria based on
control flow – Statement coverage, Decision coverage, condition coverage,
MCC, LCSAJ, basis path coverage,
b) Using data Flow: Definitions, C-use, p-use, Data flow graphs, du-path, dc-
path, c-use coverage, p-use coverage, All-use coverage, k-dr chain
coverage.
c) Using Mutation: Mutation and Mutants, Test Assessment using mutation,
Mutation operators, Founding principles of
mutation testing, Equivalent mutants, Fault detection using mutation, Types
of mutants.
4 Phases of testing I: 4
Regression testing: Regression test process, Regression test selection, Selecting
regression tests, test selection using execution trace, test selection using dynamic
slicing
5 Phases of testing II: 4
Unit Testing, Integration Testing, System testing, Acceptance testing.
Total lectures 32
Suggested Text Book(s):
1. “Foundations of Software testing,” 2nd edition by Aditya P mathur, Pearson 2013
2. “Practical Software testing,” 8th edition by Ilene Burnstein, Springer 2010
Suggested Reference Book(s):
1. Paul C. Jorgensen, Software testing: a Craft‟s man approach, CRC Press
2. Srinivasan Desikan and G. Ramesh, Software Testing: Principles and Practices, Pearson Education
3. Glenford Myers, “The Art of Software Testing”, John Wiley & Sons Inc., New York, 1979.
4. Cem Kaner, Jack Falk, Nguyen Quoc, “Testing Computer Software”, Second Edition, Van Nostrand
Reinhold, New York, 1993.
5. Boris Beizer, “Software Testing Techniques”, Second Volume, Second Edition, Van Nostrand
Reinhold, New York, 1990.
6. Roger S. Pressman, “Software Engineering – A Practitioner‟s Approach”, Fifth Edition, McGraw- Hill
International Edition, New Delhi, 2001.
7. Boris Beizer, “Black-Box Testing – Techniques for Functional Testing of Software and Systems”, John
Wiley & Sons Inc., New York, 1995.
8. K.K. Aggarwal & Yogesh Singh, “Software Engineering”, New Age International Publishers, New
Delhi, 2003.
Other useful resource(s):
Evaluation Scheme:
Average
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes
(Software Testing
Fundamentals)
CO-1 3 3 3 2 2 3 2 2 2 3 1 3 2.4
CO-2 3 3 3 2 3 2 3 2 2 3 1 3 2.5
CO-3 3 3 3 2 2 3 1 2 3 3 1 3 2.4
CO-4 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-5 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-6 3 3 3 2 3 3 2 2 2 3 1 3 2.5
Pre-requisite: None
Course Objectives:
1. Have a good understanding of the fundamental issues and challenges of machine learning: data, model
selection, model complexity, etc.
2. Have an understanding of the strengths and weaknesses of many popular machine learning approaches.
3. Appreciate the underlying mathematical relationships within and across Machine Learning algorithms and
the paradigms of supervised and un-supervised learning.
4. Be able to design and implement various machine learning algorithms in a range of real-world applications.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
To learn the basic concepts and terminology in machine learning Familiarity
CO-1
To learn about the definition of learning systems, their goals and applications in
Familiarity
CO-2 machine learning
To understand concepts associated with classification and experimental
Assessment
CO-3 evaluation of classification algorithms
To learn concepts associated with decision trees and experimental evaluation of
Assessment
CO-4 classification algorithms
To learn about instance-based learning, clustering and unsupervised learning
Usage
CO-5
Course Contents:
Unit Contents Lectures
required
1 Introduction: Definition of learning systems. Goals and applications of machine 5
learning. Aspects of developing a learning system: training data, concept
representation, function approximation.
Inductive Classification: The concept learning task. Concept learning as search
through a hypothesis space. General-to-specific ordering of hypotheses.
Finding maximally specific hypotheses. Version spaces and the
candidate elimination algorithm. Learning conjunctive concepts. The importance of
inductive bias.
2 Decision Tree Learning: Representing concepts as decision trees. 5
Recursive induction of decision trees. Picking the best splitting attribute: entropy
and information gain.Overfitting, noisy data, and pruning, Linear regression
3 Artificial Neural Networks: Neurons and biological motivation. Perceptrons, 5
Multilayer networks and back propagation. Bayesian Learning: Probability theory
and Bayes rule. Naive Bayes learning algorithm. Logistic regression
4 Support Vector Machine, Kernel function and Kernel SVM 5
Instance-Based Learning: Constructing explicit generalizations
versus comparing to past specific examples. k-Nearest Neighbor algorithm. Case-
based learning.
PO-11
PO-12
Averag
Course outcomes
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
(Machine Learning)
e
CO-1 2.4
3 3 3 2 2 3 2 2 2 3 1 3
CO-2 2.5
3 3 3 2 3 2 3 2 2 3 1 3
CO-3 2.6
3 3 3 2 3 3 2 2 3 3 1 3
CO-4 2.5
3 3 3 2 3 3 2 2 2 3 1 3
CO-5 2.5
3 3 3 2 3 3 2 2 2 3 1 3
3 3 3 2 2.8 2.8 2.2 2 2.2 3 1 3
Average
Approved in Academic Council held on 25.10.2018
C# and VB.NET
COURSE CODE: 18B1WCI637
COURSE CREDITS: 2
CORE/ELECTIVE: ELECTIVE
L-T-P: 2-0-0
Course Objectives:
1. Knowledge of .NET Framework.
2. Programming in C # and VB.NET in Visual Studio Environment
3. Knowledge of object-oriented programming in the C # and VB.NET languages
4. Programming for windows application development
5. Programming for web application development
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
CO-1 Comprehensive knowledge of .NET Framework, C#.NET and VB.NET Familiarity
Knowledge of C#.NET and VB.NET languages.
CO-2 Assessment
CO-3 Students will able to develop windows applications using C# and VB.NET Assessment
CO-4 Students will able to develop web applications using ASP.NET with C# and VB.NET Assessment
Develop a data driven windows and web application
CO-5 Usage
Course Contents:
Unit Contents Lectures
Required
1 .NET Framework: Introduction to C#.NET, VB.NET and VS.NET, Features of 7
C#.NET,VB.NET and VS.NET, The Common Language Runtime (CLR), Memory
Management, Cross Language Integration, metadata and the IL Disassembler. C#
and VB.NET basics ,Class, Objects, Inheritance, Polymorphism, Error Handling,
Common Type System (CTS), .NET Framework Class Library (FCL), Microsoft
Intermediate Language(MSIL), Just In Time(JIT) Compiler, Garbage Collection
2 Windows Programming: Intro to C# and VB.NET GUI dev in Visual Studio, 7
Windows Forms and built in controls, Delegates and Events, Common Controls,
Button, CheckBox, Label, Dialog boxes, TreeView and ListView, Custom
Controls etc.
3 ASP.NET using C# and VB.NET: Introduction of ASP.NET using C# and 11
VB.NET, Concept of Web Applications, ASP.NET Architecture, Page Composition
Parts ASP.NET, Page Life Cycle, Page Life Cycle Events, ASP.NET Server
Controls, HTML Server Controls, Web Server Controls, List Controls, Validation
Controls, User Controls & their uses, Navigation
Controls, Login Controls, Custom Controls
4 ADO.NET: Introduction of SQL, Components of SQL, Basic SQL Commands, 7
Data Binding in ASP.Net, Data Binding Expressions, Data Sources & Controls,
Insert, Update, Delete Operations using Data Source Controls, Working with Grid
View Control Data bound controls DetailsView control
Security and Deployment: Security in the .NET framework and Deployment in the
.NET
Approved in Academic Council held on 25.10.2018
Total lectures 32
Attendance - 5
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
CO-2 4.2
3 3 3 2 3 2 3 2 2 3 21 3
CO-3 2.6
3 3 3 2 3 3 2 2 3 3 1 3
CO-4 2.5
3 3 3 2 3 3 2 2 2 3 1 3
CO-5 2.5
3 3 3 2 3 3 2 2 2 3 1 3
Pre-requisites: Data Structures, Compilers, Operating Systems, Computer Networks, Machine Learning
and Genetic Algorithms.
Course Objectives:
1. Apply array and stack data structures in mathematical problem solving and implementing various
compiler and operating systems mechanisms, respectively.
2. Apply queue and linked list to implement various compiler and operating systems mechanisms.
3. Apply tree and graphs to implement various compiler, computer networks and real time google map
applications.
4. Apply priority queue to implement scheduling jobs, sorting huge files and shortest path computation.
Apply hashing in implementation of programming languages, file systems, pattern search, and
distributed system concepts.
5. Apply data structures in Computer Networks, databases, and image & computer vision.
6. Understanding data structures used in audio/video files, 2D/3D maps, and machine learning & genetics.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
To learn to apply array and stack data structures in mathematical
CO-1 problem solving and implementing various compiler and operating systems Assessment
mechanisms, respectively.
To learn to apply queue and linked list to implement various compiler and operating
CO-2 systems mechanisms. Assessment
To learn to apply Apply tree and graphs to implement various compiler, computer
Assessment
CO-3 networks and real time google map applications.
To learn to apply priority queue to implement scheduling jobs, sorting huge files and
shortest path computation. Apply hashing in implementation of programming
CO-4 Assessment
languages, file systems, pattern
search, and distributed system concepts.
To learn to apply data structures in Computer Networks, databases, and image &
CO-5 Assessment
computer vision.
To learn and understand data structures used in audio/video files, 2D/3D maps, and
CO-6 machine learning & genetics. Usage
Course Contents:
Unit Contents Lectures
required
1 Arrays: finding maximum, minimum, mean, median, average; performing 7
operations – sorting, merging, traversal and retrieval; representing matrices in
computer‟s memory for solving many complex mathematical problems and image
processing transformations
Stacks: evaluating arithmetic expressions, storing function arguments and local
data as programs are executed, storing local variables used inside a function block
in compilers/operating systems, undo mechanisms in text editors, backtracking in
a series of elements, parsing computer languages in compilers, processing
Approved in Academic Council held on 25.10.2018
function calls and implementing recursive functions, creating space for parameters
and local variables in language processing, compiler‟s syntax check for
matching braces
2 Queues: interrupts in operating system, how application programs store incoming 5
data, process synchronization in operating system, CPU job scheduling and disk
scheduling,
Linked lists: dynamic memory management, representing polynomials and
performing addition, subtraction, multiplication, etc. with polynomials, symbol
tables for balancing parenthesis and representing
sparse matrix
3 Trees: syntax validation in compilers, implementing sorted dictionary, usage in 5
Internet protocols, storing router tables, quick traversal and searching of directory
structures
Graphs: representing link structure of a website using directed graph, job
scheduling problems of CPU, simultaneous execution of jobs problem between set
of processors and set of jobs, real time
applications of data structures: determination of cities using google maps to find
population, finding addresses on maps
4 Priority queues: efficiently schedule jobs (either in the context of a computer 5
operating system or in real life), sorting huge files (which are the most important
building block for any Big Data processing algorithm), and efficiently computing
shortest paths in graphs. Minimum spanning trees greedy algorithms: Kruskal‟s
and Prim‟s Hashing: implementating file systems, pattern search, distributed key-
value storage, hash functions used in modern distributed systems optimizing
storage of services like Dropbox, Google Drive and Yandex
Disk!
5 Data structure for Computer Networks- Routing tables, DNS Query, IP 5
Config, Netstat, Address IP, Hashing for MAC tables, protocols Data structure
for popular databases: Representing indexes with B- trees, buffer trees, quad
trees, R-trees, interval trees, hashing etc.
Image & Computer Vision- Data structure for image representation, pattern
recognition, for object recognition – face, house activity
analysis, Disjoint sets data structure in dynamic graph connectivity and image
processing
6 Data structure for video and audio systems: Video – MPEG-4 Video File 5
(.mp4), MPEG Video File (.mpg), Adobe Flash Video (.flv), Windows Media
Video File (.wmv), Uncompressed Audio Formats – Waveform Audio File
Format (WAV), Audio Interchange File Format (AIFF), Lossy Compressed
Audio Formats – MPEG-1 Audio Layer-3
(MP3), Windows Media Audio (WMA), Lossless Compressed Audio
Formats – Free Lossless Audio Codec (FLAC), Apple Lossless Audio Codec
(ALAC), Windows Media Audio (WMA).
Data structure for 2D/3D maps: Vector and Raster data structures, Entity-by-
entity data structure (point, line, area), Topological data structures, Tessellations
and the tin, Quad Trees, Maps as matrices, Map and attributes
Learned Data structures for machine learning algorithms: Learned indexes
(Cumulative Distribution Functions (CDFs)), Learned Hash-
Maps, Learned Bloom filters, Comparison of traditional and learned data
structures. Introduction to data structure for genetics
Total lectures 32
5. Compiler construction by William M. Waite and Gerhard Goos, Springer Verlag, ISBN-0-387-90821-8.
6. Data Structures for Databases by Jaochim Hammer and Markus Schneider,
https://www.cise.ufl.edu/~mschneid/Research/papers/HS05BoCh.pdf
7. Genetic Algorithms + Data Structures = Evolution Programs by Zbigniew Michalewicz, Springer, ISBN-3-
540-60676-9 and ISBN-3-540-58090-5 (2nd edition).
8. Algorithms for graphics and image processing by Theo Pavlidis, Computer Science Press , Inc.
Fundamentals of Database Systems" Elmasri, Navathe, Pearson Education.
9. “Database system concepts” Henry F Korth, Abraham Silberschatz, S. Sudurshan, McGraw-Hill
10. Deo, N., Graph Theory with Applications to Engineering and Computer Science, Prentice-Hall, 1974.
11. Digital Image Processing, R.C. Gonzalez and R.E. Woods, 2nd edition, Pearson Prentice Hall,
2008
12. Operating System Concepts by Silberschatz and Galvin, 9th Edition, John Wiley & Sons.
Other useful resource(s):
1. Data structure for 2D/3D maps: http://www.geog.ucsb.edu/~kclarke/AACC/Chapter08.pdf
2. Audio Formats : https://www.makeuseof.com/tag/audio-file-format-right-needs/Video Formats :
3. https://www.lcps.org/cms/lib/VA01000195/Centricity/Domain/1349/Resources/Video_file_formats.pdf
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of Examination
1 T-1 15 1 Hour. Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3. T-3 35 2 Hours Entire Syllabus
4. Teaching Entire Semester Assignment (2) - 10
Assessment
Quizzes (2) - 10
Attendance - 5
Course Outcomes (COs) contribution to the Programme Outcomes (POs)
Average
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
CO-2 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-3 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-4 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-5 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-6 3 2 2 3 3 3 3 2 3 2 3 3 2.7
Pre-requisite: Object Oriented Analysis and Design with UML, Software Engineering, Software Metrics, Basics
of Mathematics.
Course Objectives:
1. Have an ability to apply software testing knowledge and engineering methods.
2. Have an ability to design and conduct a software test process for a software testing project.
3. To learn how to planning a test project, design test cases and data, conduct testing operations, manage
software problems and defects, generate a testing report.
4. To discuss various software testing issues and solutions in software unit test; integration, regression, and
system testing.
5. To gain the techniques and skills on how to use modern software testing tools to support software testing
projects.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
Have an ability to apply software testing knowledge and engineering methods.
CO-1 Familiarity
Have an ability to design and conduct a software test process for a software testing
CO-2 Usage
project.
Have an ability to identify the needs of software test automation, and define and
CO-3 Assessment
develop a test tool to support test automation.
Have an ability understand and identify various software testing problems, and solve
CO-4 these problems by designing and selecting Assessment
software test models, criteria, strategies, and methods.
Have an ability to use various communication methods and skills to
CO-5 communicate with their teammates to conduct their practice-oriented software testing Usage
projects.
Have basic understanding and knowledge of contemporary issues in software testing,
CO-6 Usage
such as component-based software testing problems.
Have an ability to use software testing methods and modern software testing tools for
CO-7 Usage
their testing projects.
List of Experiments:
S. No Description Hours
1 Revision of Java coding using Eclipse 2
Developing Black box test cases 1: 2
2 a) Using Boundary Value Analysis
3 Developing Black box test cases 2:
a) Using Equivalent Classes 2
Developing Black box test cases 3: 2
4 a) Using Decision Tables
Approved in Academic Council held on 25.10.2018
Developing WhiteBox test cases 1: 2
5 a) Performing Path testing
Developing WhiteBox test cases 2:
6 a) Performing orthogonal testing 2
Developing WhiteBox test cases 3:
7 a) Performing Coverage Analysis 2
8 Mutation testing and developing Mutants 2
9 Regression testing and Developing Regression test Cases 2
10 Performing GUI testing for a designed application 2
11 Performing Load testing for a designed application 2
12 Getting familiar with Profiler and performing CPU, Memory 4
analysis in real time
Total Lab Hours 26
Suggested Books/Resources:
1. 1. A Practitioner‟s Guide to Software Test Design, Lee Copeland, 2003,
2. The Art of Software Testing, 2nd edition, Glenford Myers, et. el., 2004
3. Software Testing Techniques, 2nd edition, Boris Beizer, 1990
4. How to Break Software: A Practical Guide to Testing, James Whittaker, 2002.
5. Testing Object-Oriented Systems: Models, Patterns, and Tools, Robert V. Binder, 1999.
6. Software Testing and Quality Assurance: Theory and Practice Paperback – 2010
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO-1 3 2 3 2 2 3 3 3 2 3 2 2 2.5
CO-2 3 3 3 2 3 3 3 3 2 3 2 3 2.8
CO-3 3 3 3 2 2 3 3 3 3 3 2 2 2.7
CO-4 3 3 3 3 3 3 3 2 2 3 3 3 2.8
CO-5 3 3 3 2 2 2 3 3 3 3 2 2 2.6
CO-6 3 3 3 3 3 3 3 2 2 3 3 3 2.8
CO-7 3 3 3 3 3 3 2 2 3 3 3 3 2.8
Average 3 2.9 3 2.4 2.6 2.9 2.9 2.6 2.4 3 2.4 2.6
Pre-requisite: None
Course Objectives:
1. To understand the working of Machine learning tools and languages.
2. To learn the implementation of classification techniques for any dataset.
3. To conduct experiments for clustering techniques for any dataset.
4. To discuss different classification and clustering algorithms based on the analysis of results obtained from
experimental evaluation.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
CO-1 To implement classification algorithms in python Usage
CO-2 To implement Clustering algorithms in python Usage
CO-3 To implement Genetic Algorithms in Python Usage
Top compare different algorithms based on some common factors
CO-4 Assessment
List of Experiments:
S. No. Description Hours
Selection of dataset and brief introduction about Python framework for 2
1 machine learning experiments.
Dataset upload and visualization in Python. 2
How to upload a dataset in Python
How to retrieve rows and data in the dataset
2 How to create visualization of data
3 Decision tree using Entropy and Information Gain 2
4 Random forest tree and evaluation of Decision Tree 2
5 Linear Regression 2
6 Artificial Neural Network 4
Perceptron
Multi-Layer Neural Network
7 Back propagation
8 Naive Bayes Classifier 2
9 Logistic regression 2
10 Support Vector Machine, Kernel function and Kernel SVM 2
11
12 Genetic Programming 2
13
14 Clustering: k-means 2
Total Lab hours 26
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10PO11 PO12 Average
CO-1 3 2 2 2 3 1 1 1 1 1 2 2 1.8
CO-2 3 3 3 3 3 2 1 2 2 1 2 3 2.3
CO-3 3 3 2 3 3 2 1 2 2 1 2 3 2.3
CO-4 3 3 3 3 3 2 1 2 2 1 2 3 2.3
Pre-requisite: None
Course Objectives:
1. Knowledge of .NET Framework.
2. Programming in C # and VB.NET in Visual Studio Environment
3. Knowledge of object-oriented programming in the C # and VB.NET languages
4. Programming for windows application development
5. Programming for web application development
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
Comprehensive knowledge of .NET Framework, C#.NET and VB.NET.
CO-1 Assessment
Knowledge of C#.NET and VB.NET languages.
CO-2 Assessment
Students will able to develop windows applications using C# and VB.NET.
Assessment
CO-3
Students will able to develop web applications using ASP.NET with C# and VB.NET
CO-4 Usage
.
CO-5 Develop a data driven windows and web application. Usage
List of Experiments:
Experiment Details Lab Hours
Experiment 1 Implementation of Class (class, objects, member variable, 2
properties, member functions, constructors)
Experiment 2 Implementation of Inheritance (Single , Multilevel, ) 2
Experiment 3 Implementation of Polymorphism (virtual function, 2
overriding, abstract class)
Experiment 4 Develop GUI Scientific Calculator. 2
Experiment 5 Develop a Mini Word application using menu controls. 2
Experiment 6 Develop mini browser application using browser control 2
Experiment 7 Create simple web form for registration page using standard 2
web controls
Experiment 8 Apply validation controls on registration page 2
Experiment 9 ASP.NET Page Life Cycle, ASP.NET Page Life Cycle 2
Events
Experiment 10 Create 5 ASP.NET pages (Home, Department, Library, Downloads, 2
Contact us) and apply navigational controls
using site map
Experiment 11 Create Table in SQL Server for registration page created in experiment 7 2
and apply database connectivity i.e., on click
submit button data should be inserted to Table.
Experiment 12 Create Login Page with database connectivity 2
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO-1 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-2 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-3 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-4 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-5 3 3 3 3 2 3 3 2 3 2 3 3 2.8
Average 3 3 3 3 2 3 3 2 3 2 3 3
Pre-requisite: None
Course Objectives:
1. Apply array and stack data structures in mathematical problem solving and implementing various compiler
and operating systems mechanisms, respectively.
2. Apply queue and linked list to implement various compiler and operating systems mechanisms.
3. Apply tree and graphs to implement various compiler, computer networks and real time google map
applications.
4. Apply priority queue to implement scheduling jobs, sorting huge files and shortest path computation.
Apply hashing in implementation of programming languages, file systems, pattern search, and
distributed system concepts.
5. Apply data structures in Computer Networks, databases, and image & computer vision.
6. Understanding data structures used in audio/video files, 2D/3D maps, and machine learning & genetics.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
To learn to apply array and stack data structures in mathematical problem solving and
CO-1 implementing various compiler and operating Assessment
systems mechanisms, respectively.
To learn to apply queue and linked list to implement various compiler and operating
CO-2 systems mechanisms. Assessment
To learn to apply Apply tree and graphs to implement various compiler, computer
Assessment
CO-3 networks and real time google map applications.
To learn to apply priority queue to implement scheduling jobs, sorting huge files and
shortest path computation. Apply hashing in
CO-4 Assessment
implementation of programming languages, file systems, pattern search, and
distributed system concepts.
To learn to apply data structures in Computer Networks, databases, and image &
CO-5 Assessment
computer vision.
To learn and understand data structures used in audio/video files, 2D/3D maps, and
CO-6 machine learning & genetics. Usage
List of Experiments:
S. No. Description Hours
1 Using arrays to 3
(a) find maximum, minimum, mean, median, average
(b) performing operations – sorting, merging, traversal and retrieval
(c) complex mathematical problems and image processing transformations
2 Using stack to 4
(a) evaluating arithmetic expressions
(b) storing function arguments and local data as programs are executed
(c) storing local variables used inside a function block in compilers/operating
systems
Suggested Books/Resources:
1. Horowitz and Sahani: Fundamental of Data Structures in C, 2nd Edn, 2008
2. Data structures and network algorithms by Robert Endre Tarjan, Society for Industrial and Applied
Mathematics (SIAM), ISBN-0-89871-187-8.
Approved in Academic Council held on 25.10.2018
3. Computer Networks, 5th edition, Andrew S. Tanenbaum and David J. Wetherall, Pearson Education.
4. Data structure and operating system (Wiley series in computing) by Teodor Rus, John Wiley & Sons Ltd.,
ISBN-13: 978-0471995173
5. Compiling Techniques by F.R.A. Hopgood, Macdonalds
6. http://www.chilton-computing.org.uk/acl/literature/books/compilingtechniques/contents.htm
7. Compiler construction by William M. Waite and Gerhard Goos, Springer Verlag, ISBN-0-387-90821-8.
8. Data Structures for Databases by Jaochim Hammer and Markus Schneider,
https://www.cise.ufl.edu/~mschneid/Research/papers/HS05BoCh.pdf
9. Genetic Algorithms + Data Structures = Evolution Programs by Zbigniew Michalewicz, Springer, ISBN-3-
540-60676-9 and ISBN-3-540-58090-5 (2nd edition).
10. Algorithms for graphics and image processing by Theo Pavlidis, Computer Science Press , Inc.
Fundamentals of Database Systems" Elmasri, Navathe, Pearson Education.
11. “Database system concepts” Henry F Korth, Abraham Silberschatz, S. Sudurshan, McGraw-Hill
12. Deo, N., Graph Theory with Applications to Engineering and Computer Science, Prentice-Hall, 1974.
13. Digital Image Processing, R.C. Gonzalez and R.E. Woods, 2nd edition, Pearson Prentice Hall, 2008
14. Operating System Concepts by Silberschatz and Galvin, 9th Edition, John Wiley & Sons.
15. Data structure for 2D/3D maps: http://www.geog.ucsb.edu/~kclarke/AACC/Chapter08.pdf
16. Audio Formats : https://www.makeuseof.com/tag/audio-file-format-right-needs/Video Formats :
17. https://www.lcps.org/cms/lib/VA01000195/Centricity/Domain/1349/Resources/Video_file_formats.pdf
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
Course Outcomes (COs) contribution to the Programme Outcomes(POs)
PO1 PO PO1
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 Average
0 11 2
CO-1 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-2 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-3 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-4 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-5 3 3 3 3 2 3 3 2 3 2 3 3 2.8
CO-6 3 2 2 3 3 3 3 2 3 2 3 3 2.7
ELECTIVE - III
Pre-requisites: Students who have just finished a first course in programming. Knowledge of writing programs in
any programming language is expected. No prior experience with data structuers is required.
Course Objectives:
1. This course will introduce the fundamentals of statistical pattern recognition.
2. Generative methods such as those based on Bayes decision theory and related techniques of parameter
estimation and density estimation.
3. Discussion of discriminative methods such as nearest-neighbor classification and support vector
machines.
4. Applications such as information retrieval, data mining, document image analysis and recognition,
computational linguistics, forensics, biometrics and bioinformatics with pattern recognition.
Course outcomes:
S.No. Course outcomes Level of
Attainment
CO-1 Understanding of the fundamentals of statistical pattern recognition. Familiarity
Generative methods such as those based on Bayes decision theory and related techniques
CO-2 of parameter estimation and density estimation. Assessment
Discussion of discriminative methods such as nearest-neighbor classification and support
CO-3 vector machines. Assessment
Clustering of data and related algorithms are to be learned.
CO-4 Assessment
Clustering in large databases and related algorithms are to be learned.
CO-5 Assessment
Combinations of Classifiers are to be understood and learned with applications.
CO-6 Usage
Applications such as information retrieval, data mining, document image analysis and
CO-7 recognition, computational linguistics, forensics, biometrics and bioinformatics with Familiarity
pattern recognition.
Course Contents:
Unit Contents Lectures
required
1 Introduction – Definitions, 6
data sets for Pattern Recognition, Different Paradigms of Pattern Recognition,
Representations of Patterns and Classes, Metric and non-metric proximity measures
2 Feature extraction, Different approaches to Feature 3
Selection
3 Nearest Neighbour Classifier and variants, Efficient 3
algorithms for nearest neighbor classification
4 Different Approaches to Prototype Selection, Bayes Classifier, Decision 10
Trees, Linear Discriminant Function,
Support Vector Machines
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Average
Course outcomes (Pattern
Recognition)
CO-1 3 2 3 2 2 3 2 3 2 2 3 3 2.5
CO-2 3 2 3 2 2 3 3 2 2 3 3 3 2.6
CO-3 2 2 2 2 2 3 3 3 2 2 3 3 2.4
CO-4 3 2 3 2 3 2 2 3 3 3 2 2 2.5
CO-5 3 2 2 2 3 2 2 2 2 3 3 3 2.4
CO-6 2 3 3 3 3 2 3 2 2 3 3 2 2.6
CO-7 2 2 2 2 2 3 3 3 2 2 3 3 2.4
Average 2.6 2.1 2.6 2.1 2.4 2.6 2.6 2.6 2.1 2.6 2.9 2.7
Pre-requisites: Data Structures, Compilers, Operating Systems, Computer Networks, Machine Learning
and Genetic Algorithms.
Course Objective:
1. To describe the concept of Data warehouse & its attributes
2. To study different data warehouse models, architectures and implementation
3. To understand the basic concept of data mining and its functionality
4. To understand the concept of classification techniques and its implementation
5. To understand the concept of association rules, different techniques and implementation details
6. To understand the concept of cluster analysis, anomaly detection and its usage and implementation details
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
CO-1 To describe the concept of Data warehouse & its attributes Assessment
To study different data warehouse models, architectures and implementation
CO-2 Assessment
To understand the basic concept of data mining and its functionality Assessment
CO-3
To understand the concept of classification techniques and its implementation
CO-4 Assessment
To understand the concept of association rules, different techniques and
CO-5 implementation details Assessment
To understand the concept of cluster analysis, anomaly detection and its usage and
CO-6 implementation details Usage
Course Contents:
Unit Contents Lectures
required
1 Introduction: Concepts of Data Warehouse and Data Mining including its 5
functionalities, stages of Knowledge discovery in database(KDD) , Setting up a
KDD environment, Issues in Data Warehouse and Data Mining, Application of
Data Warehouse and
Data Mining
2 Architecture: DBMS vs. Data Warehouse, Data marts, Metadata, 6
Multidimensional data model, Data Cubes, Schemas for
Multidimensional Database: Stars, Snowflakes and Fact
Constellations, Data Warehouse Architecture, Distributed and Virtual Data
Warehouse, Data Warehouse Manager, OLTP, OLAP, MOLAP, HOLAP, types of
OLAP, servers
3 Introduction: Data Mining, Motivation, Challenges, Origins of Data Mining, Data 3
Mining Tasks, Data: Types of Data, Data Quality, Data Pre-processing, Measures
of Similarity and Dissimilarity, Exploring Data: Iris Data Set, Summary Statistics,
Attendance - 5
Course outcomes
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
3 3 3 3 2 2 1 2 3 2 3 3 2.5
CO 3
3 1 2 1 2 1 1 2 1 2 2 2 1.7
CO 4
CO 5 3 3 3 3 2 3 1 2 3 2 3 3 2.6
3 2 1 2 2 1 2 2 2 1 1 2 1.8
CO 6
3 2.3 2.2 2.3 2.2 2 1.5 2.2 2.3 1.5 1.8 2.5
Average
Pre-requisites: You should be comfortable programming in C and /or Java in particular. No prior
knowledge of parallel computing is required. Good knowledge of undergraduate level algorithms, data
structures, operating system and computer architecture.
Course Objectives:
1. To acquaint students with the basic concepts of parallel and distributed computing.
2. To learn general principles of parallel and distributed algorithms
3. To analyse their time complexity.
4. To acquaint students with various parallel and distributed approaches of problem solving.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
To reason about ways to parallelize a problem and be able to evaluate a parallel
CO-1 platform for a given problem. Familiarity
To understand and explore the concepts with programming with MPI and Map
CO-2 Reduce/Hadoop. Assessment
To demonstrate the general concepts on Cloud computing, grid computing, and
CO-3 peer-to-peer systems. Usage
CO-4 To become familiar with evaluation of online social networks and their potential. Usage
Course Contents:
Unit Contents Lectures
required
1 Introduction: The power and potential of parallelism 6
The power and potential of parallelism, purpose of using parallelism, different
parallel architecture, Reasoning about performance of parallel programs.
2 Data, Task Parallelism and Java Multithreading Introduction of data and task 6
parallelism, Independent parallelism, Introduction to Java multithreading, Fork-
join parallelism, Analyze fork and join parallelism, parallel prefix, parallel pack
3 Mutual exclusion, Deadlocks and Parallel Computational Models 6
Concurrency, STM, Mutual exclusion, locks, Deadlocks, race condition,
Read/write locks, condition variables, Flynn‟s Taxonomy, PRAM, EREW,
CREW, ERCW, CRCW, Simulating CRCW, CREW and EREW, PRAM
algorithms. Parallel Programming Models, PVM, MPI Paradigms
4 Parallel Algorithms and Programming Languages 6
Parallel Programming Language, Brent‟s Theorem, Simple parallel programs in
MPI environments, Parallel algorithms on network, Addition of Matrices,
Multiplication of Matrices., Parallel quick sort, Synchronizing shared data
structure, Shared memory
5 Distributed System Model and Cases 8
Distributed system models, Inter process communication, Message passing,
Message passing algorithm, Distributed synchronization, Consistency,
Approved in Academic Council held on 25.10.2018
replication, Cluster computing, MapReduce, Distributed storage, Wide area
computing, Distributed hash table, Peer-to-peer systems.
Cases
a) Parallel computing algorithms and representative programming
models,
b) Convergence of parallel, distributed and cloud computing,
c) Cluster Computing, its performance model and system evolution.
Total lectures 32
Suggested Text Book(s):
1. “A. Grama, A. Gupta, G. Karypis and V. Kumar. Introduction to Parallel Computing (2nd edition),
Addison Wesley (2002), ISBN 0-201-64865-2.
2. H. El-Rewini and T.G. Lewis. Distributed and Parallel Computing, Manning (1997), ISBN 0-13-795592-8.
3. I. Foster. Designing and Building Parallel Programs, Addison Wesley (1995), ISBN 0-201-57594-9.
Suggested Reference Book(s):
1. Kai Hwang and Zhiwei Xu. Scalable Parallel Computing, McGraw Hill (1998), ISBN 0-07-031798-4.
2. Michael J. Quinn. Parallel Programming in C with MPI and OpenMP, McGraw Hill (2003), ISBN 0-07-
282256-2.
3. Barry Wilkinson and Michael Allen. Parallel Programming: Techniques and Applications Using
Networked Workstations and Parallel Computers (2nd Edition), Prentice Hall PTR (2005), ISBN 0-13-
140563-2
Other useful resource(s):
1. Link to NPTEL course contents: https://nptel.ac.in/courses/106102114/
2. Link to topics related to course: https://nptel.ac.in/courses/106106107/
i. https://nptel.ac.in/courses/106106112/
ii. https://nptel.ac.in/courses/106106112/2
iii. https://nptel.ac.in/courses/106106112/3
iv. https://nptel.ac.in/courses/106106112/3
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of Examination
1 T-1 15 1 Hour. Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3. T-3 35 2 Hours Entire Syllabus
4. Teaching Entire Semester Assignment (2) - 10
Assessment
Quizzes (2) - 10
Attendance - 5
Course
Average
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
outcomes
(Parallel and
Distributed
Algorithms )
CO-1 1.6
2 2 2 2 2 1 1 1 2 1 1 2
CO-3 1.9
2 3 3 3 3 1 1 1 2 2 1 1
CO-4 2
2 3 3 3 2 1 1 1 1 3 2 2
Course Objectives:
1. Introduction to various image processing techniques.
2. Learning the basics of Image fundamentals, describing the main characteristics of digital images and how
they are represented.
3. Learning of mathematical transforms such as such as Fourier, Cosine transforms, Singular value
decomposition.
4. Understanding the concepts of 2D Wavelet transform, image enhancement techniques, Image restoration
and denoising, segmentation.
5. Discussing and understanding the concepts of lossy and lossless data compression algorithms, binary and
color image processing.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
To learn the basic concepts and terminology in digital Image Processing.
CO-1 Familiarity
To learn about image transformation techniques and issues related to image
CO-2 Assessment
transformation.
CO-3 To learn the basic techniques for Image Compression Assessment
To learn about enhancing images through techniques like filtering and equalization
CO-4 Assessment
CO-5 To learn about image restoration, segmentation and denoising. Assessment
To implement graph theory in vector space models and colouring methodologies for
CO-6 Usage
images in MATLAB
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of Examination
1 T-1 15 1 Hour. Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3. T-3 35 2 Hours Entire Syllabus
4. Teaching Entire Semester Assignment (2) - 10
Assessment Quizzes (2) - 10
Attendance - 5
Approved in Academic Council held on 25.10.2018
Course Outcomes (COs) contribution to the Programme Outcomes (POs)
Average
Course
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
outcomes
(Digital Image
Processing)
CO-1 2.5
3 3 3 1 1 3 2 3 3 3 3 2
CO-2 2.5
2 2 2 3 3 3 2 3 3 3 1 3
CO-3 3
3 3 3 3 3 3 3 3 3 3 3 3
CO-4 2.3
3 3 2 3 3 3 2 1 1 1 3 3
CO-5 2.4
3 3 3 1 2 3 2 3 3 1 3 2
CO-6 2.3
2 2 2 3 3 3 2 3 3 1 1 3
CO-7 2.8
3 3 3 3 3 3 3 3 3 1 3 3
2.7 2.7 2.6 2.4 2.6 3 2.3 2.7 2.7 1.9 2.4 2.7
Average
Pre-requisites: None
Course Objectives:
1. Learning about related tools as IU Box, Labs, SPSS, PsycINFO, Web of Science
Suggested Books/Resources:
1. Devi V.S.; Murty, M.N. (2011) Pattern Recognition: An Introduction, Universities Press, Hyderabad.
2. R. O. Duda, P. E. Hart and D. G. Stork, Pattern Classification, Wiley, 2000.
3. https://cse20-iiith.vlabs.ac.in/
4. https://www.mathworks.com/discovery/pattern-recognition.html
5. http://nptel.iitm.ac.in
6. Link to topics related to course:
https://www5.cs.fau.de/
https://www.tudelft.nl/ewi/over-de-faculteit/afdelingen/intelligent-systems/pattern-recognition-
bioinformatics/pattern-recognition-laboratory/
https://www.dei.unipd.it/node/370
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO-1 3 2 3 2 2 3 2 3 2 2 3 3 2.5
CO-2 3 2 3 2 2 3 3 2 2 3 3 3 2.6
CO-3 2 2 2 2 2 3 3 3 2 2 3 3 2.4
CO-4 3 2 3 2 3 2 2 3 3 3 2 2 2.5
CO-5 3 2 2 2 3 2 2 2 2 3 3 3 2.4
CO-6
2 3 3 3 3 2 3 2 2 3 3 2 2.6
CO-7
2 2 2 2 2 3 3 3 2 2 3 3 2.4
Average 2.6 2.1 2.6 2.1 2.4 2.6 2.6 2.6 2.1 2.6 2.9 2.7
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
Course Outcomes (COs) contribution to the Programme Outcomes (POs)
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO-1 3 3 1 2 2 2 2 2 2 1 1 2 1.9
CO-2 3 3 3 3 3 3 2 3 3 1 1 3 2.6
CO-3 3 3 3 3 2 3 1 2 3 2 3 3 2.6
CO-4 3 1 2 1 2 1 1 2 1 1 1 2 1.5
CO-5 3 3 3 3 2 3 1 2 3 2 3 3 2.6
Average 3 2.6 2.4 2.4 2.2 2.4 1.4 2.2 2.4 1.4 1.8 2.6
Pre-requisite: None
Course Objectives:
1. To acquaint students with the basic concepts of parallel and distributed computing.
2. To learn general principles of parallel and distributed algorithms
3. To analyse their time complexity.
4. To acquaint students with various parallel and distributed approaches of problem solving.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
To reason about ways to parallelize a problem and be able to evaluate a parallel
CO-1 platform for a given problem. Familiarity
To understand and explore the concepts with programming with MPI and
CO-2 MapReduce/Hadoop. Assessment
To demonstrate the general concepts on Cloud computing, grid computing, and
CO-3 peer-to-peer systems. Usage
CO-4 To become familiar with evaluation of online social networks and their potential. Usage
List of Experiments:
S. No. Description Lab Hours
1 Design, develop a program to implement task parallelism with Java 4
multithreading.
2 Design, develop a program to implement Fork-join parallelism and 4
Analyse fork and join parallelism, parallel prefix, parallel pack.
3 Design, develop a program for PRAM algorithms. 4
4 Design, develop a program to implement Parallel Programming 4
Models, PVM, MPI Paradigms.
5 Design, develop a program to implement Brent‟s Theorem. 4
6 Design, develop a program to solve base on MapReduce. 8
Total Lab Hours 28
Suggested Books/Resources:
1. “A. Grama, A. Gupta, G. Karypis and V. Kumar. Introduction to Parallel Computing (2nd edition),
Addison Wesley (2002), ISBN 0-201-64865-2.
2. H. El-Rewini and T.G. Lewis. Distributed and Parallel Computing, Manning (1997), ISBN 0-13-
795592-8.
3. Foster. Designing and Building Parallel Programs, Addison Wesley (1995), ISBN 0-201-57594-9.
Approved in Academic Council held on 25.10.2018
4. Kai Hwang and Zhiwei Xu. Scalable Parallel Computing, McGraw Hill (1998), ISBN 0-07-031798-4.
5. Michael J. Quinn. Parallel Programming in C with MPI and OpenMP, McGraw Hill (2003), ISBN 0-
07-282256-2.
6. Barry Wilkinson and Michael Allen. Parallel Programming: Techniques and Applications Using
Networked Workstations and Parallel Computers (2nd Edition), Prentice Hall PTR (2005), ISBN 0-13-
140563-2
7. Link to NPTEL course contents: https://nptel.ac.in/courses/106102114/
8. Link to topics related to course: https://nptel.ac.in/courses/106106107/
i. https://nptel.ac.in/courses/106106112/
ii. https://nptel.ac.in/courses/106106112/2
iii. https://nptel.ac.in/courses/106106112/3
iv. https://nptel.ac.in/courses/106106112/3
Evaluation Scheme:
CO1 3 3 3 3 2 2 1 1 1 1 1 1 1.9
CO2 3 3 3 3 3 1 1 1 1 1 1 3 2
CO3 3 3 2 3 2 3 2 1 1 1 2 1 2
CO4 3 3 3 2 3 2 1 1 1 1 1 1 1.8
CO5 2 2 3 3 3 3 1 1 1 1 1 1 1.8
CO6 2 3 3 3 2 2 2 2 2 2 2 2 2.3
Average 2.7 2.8 2.8 2.8 2.5 2.2 1.3 1.2 1.2 1.2 1.3 1.6
Pre-requisite: None
Course Objectives:
1. Introduction to various image processing techniques.
2. Implementing the basics of Image fundamentals, describing the main characteristics of digital images and
how they are represented.
3. Learning and implementing mathematical transforms such as such as Fourier, Cosine transforms Singular
value decomposition.
4. Implementing the concepts of 2D Wavelet transform, image enhancement techniques, Image restoration
and denoising, segmentation.
5. Discussing and implementing the concepts of lossy and lossless data compression algorithms, binary and
color image processing.
Course Outcomes :
S. No. Course Outcomes Level of
Attainment
To learn the basic concepts and terminology in digital Image Processing.
CO-1 Familiarity
To learn about image transformation techniques and issues related to image
CO-2 Assessment
transformation.
CO-3 To learn the basic techniques for Image Compression Assessment
To learn about enhancing images through techniques like filtering and equalization
CO-4 Assessment
CO-5 To learn about image restoration, segmentation and denoising. Assessment
To implement graph theory in vector space models and colouring methodologies for
CO-6 Usage
images in MATLAB
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO-1 3 3 3 1 2 2 2 3 3 3 3 2 2.5
CO-2 2 2 2 3 3 3 2 3 3 3 1 3 2.5
CO-3 3 3 3 3 3 3 3 3 3 3 3 3 3
CO-4 3 3 2 3 3 3 2 1 1 3 3 3 2.5
CO-5 3 3 3 1 2 3 2 3 3 3 3 2 2.6
CO-6 2 2 2 3 3 3 2 3 3 3 1 3 2.5
CO-7 3 3 3 3 3 3 3 3 3 3 3 3 3
Average 2.7 2.7 2.6 2.4 2.7 2.9 2.3 2.7 2.7 3 2.4 2.7
ELECTIVE IV
Course Objectives:
Course Contents:
Unit Contents Lectures
required
1 Block Symmetric Ciphers 2
Foundation of Security & Cryptography: OSI security architecture, Security Policy,
Classical encryption techniques(Substitution Techniques, Transposition Techniques
and Staganography)
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of
Examination
Average
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
outcomes
(Cryptography
and Network
Security)
CO-1 3 2 1 3 2 2 1 1 1 1 1 1 1.6
CO-2 3 2 1 2 2 3 1 3 3 1 2 3 2.2
CO-3 2 2 3 1 2 2 3 2 2 3 2 1 2.1
CO-4 2 3 3 3 2 3 2 3 2 1 2 1 2.3
CO-5 3 2 3 1 2 3 3 2 3 1 2 3 2.3
CO-6 3 2 1 1 2 2 2 3 2 1 1 1 1.8
Average 2.7 2.2 2 1.8 2 2.5 2 2.3 2.2 1.3 1.7 1.7
Pre-requisites: Analysis of Data Structures and Algorithms (this pre-requisite will not be waived). You
are also expected to have the mathematical maturity to write formal proofs and algorithms.
Course Objectives:
1. Learn to analyze algorithms for Time and Space Complexity
2. Learn asymptotic notations for performance analysis of algorithms.
3. Learn various computing algorithms and data structure used in solving complex problems.
4. Apply important algorithmic design paradigms and method of analysis.
5. Synthesize efficient algorithm design in common engineering design situations.
Course outcomes:
S.No. Course outcomes Level of
Attainment
Analyze the asymptotic performance of algorithms.
CO-1 Familiarity
Write rigorous correction proof s of algorithms.
CO-2 Assessment
Demonstrate a familiarity with major algorithms and data structure.
CO-3 Assessment
Apply important algorithmic design paradigms and method of analysis.
CO-4 Usage
Course Contents:
Unit Contents Lectures
required
1 Review of Analysis Techniques: Growth of Functions: Asymptotic notations; 8
Standard notations and common functions; Recurrences and Solution of
Recurrence equations- The substitution method, The recurrence – tree method,
The master method; Amortized Analysis: Aggregate,Accounting and Potential
Methods.
2 Graph Algorithms: Bellman - Ford Algorithm; Single source shortest paths in a 8
DAG; Johnson’s Algorithm for sparse graphs; Flow networks and Ford-
Fulkerson method; Maximum bipartite matching.
3 Polynomials and the FFT: Representation of polynomials;The DFT and FFT; 6
Efficient implementation of FFT.
4 Number -Theoretic Algorithms: Elementary notions; GCD; Modular 6
Arithmetic; Solving modular linear equations; The Chinese remainder theorem;
Powers of an element; RSA cryptosystem; Primality testing; Integer factorization
5 String-Matching Algorithms: Naïve string Matching; Rabin 8
- Karp algorithm; String matching with finite automata; Knuth-Morris-Pratt
algorithm; Boyer – Moore algorithms.
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes
(Advanced
Algorithms)
CO-1 1.8
2 2 2 2 2 1 1 1 2 2 2 2
CO-2 2
2 3 3 3 3 1 1 1 2 2 1 2
CO-3 1.8
2 2 2 2 3 1 1 1 2 2 1 2
CO-4 2.1
2 3 3 3 2 1 1 1 2 3 2 2
Course Outcomes:
S. No. Course outcomes Level of
Attainment
CO-1 To identify the usages of available R packages and associated Open Source
Familiarity
software to meet different scientific objectives
CO-2 To understand how to programming in R, reading data into R, accessing R
Assessment
packages,
CO-3 Able to write R functions, debugging, profiling R code, and organizing and
Assessment
commenting R code.
CO-4 To design and write efficient programs using R to perform routine and
Assessment
specialized data manipulation/management and analysis tasks
CO-5 To do data analysis using R for real life applications.
Assessment
Course Contents:
Attendance - 5
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Programming)
CO-1 2 1 1 2 1 2 2 2 2 1 1 2 1.6
CO-2 3 3 3 3 3 2 2 2 2 1 1 3 2.3
CO-3 3 3 3 3 2 2 1 2 3 2 3 3 2.5
CO-4 3 3 3 3 2 2 1 2 3 2 3 3 2.5
CO-5 3 3 3 3 3 2 2 2 2 1 2 3 2.4
Average
2.8 2.6 2.6 2.8 2.2 2 1.6 2 2.4 1.4 2 2.8
Course Objectives:
1. Describe introductory techniques in Artificial Intelligence
2. Heuristic search and adversarial search, Logic for knowledge representation and reasoning
3. Reasoning under uncertainty
4. Machine Learning
5. Apply introductory techniques in Artificial Intelligence to solve realistic problems.
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
CO-1 Determine the characteristics of a given problem that an intelligent system must solve. Familiarity
CO-2 Apply Bayes rule to determine the probability of a hypothesis given evidence. Assessment
CO-3 Identify examples of knowledge representations for reasoning under uncertainty. Assessment
List the differences among the three main styles of learning: supervised,
CO-4 reinforcement, and unsupervised. Assessment
Identify examples of classification tasks, including the available input features and
CO-5 output to be predicted. Assessment
Course Contents:
Unit Contents Lectures
Required
1 Introduction: Intelligence, Definitions of Intelligent Agents 7
Average
PO-10
PO-11
PO-12
Course
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
outcomes (
Artificial
Intelligence )
3 3 3 1 1 2 1 2 1 2 1.9
2 2
CO-1
3 3 3 1 3 2 1 2 1 2 2.2
CO-2 3 2
3 3 3 3 2 1 2 2 2 2 2.3
CO-3 3 2
3 3 3 3 2 1 2 2 2 2 2.3
CO-4 3 2
3 3 3 3 2 1 2 2 2 2 2.3
CO-5 2 2
3 3 3 2.2 2 1.4 1.6 2 1.6 2 2.6 2
Weightage
Course Objectives:
List of Experiments:
S.No Description Hours
Implementation of Substitution and Transposition Techniques a) Caesar Cipher b)
1 Playfair Cipher c) Hill Cipher d) Vignere Cipher e) Rail Fence Cipher 3
Implementation of Cryptographic Algorithms a) DES-AES b) RSA Algorithm c)
2 Diffie-Hellman Algorithm 3
3 Implementation of Cryptographic Algorithms d) MD5 e) SHA-1 2
4 Implement the SIGNATURE SCHEME - Digital Signature Standard(DSS/DSA) 3
5 Providing secure data storage, secure data transmission and creating digital 2
signatures
6 Setup a Honey Pot and Monitor the Honeypot on Network 2
8 Perform wireless audit on an access point or a router and decrypt WEP and WPA( Net 2
Stumbler)
Approved in Academic Council held on 25.10.2018
9 Develop and Demonstrate intrusion detection system 3
10 Implement Electronic Mail Security:S/MIME 3
11 Implement IPSEC 4
Total Lab hours 28
Suggested Books/Resources:
1. “Cryptography & Network Security” by Stallings, William (Seventh Edition or later) will be used as the main
text book, however the inputs will be supplemented with information from elsewhere wherever the same is
required.
2. Virtual Labs: http://cse29-iiith.virtual-labs.ac.in/index.php?section=Experiments Students are advised to
practice virtual lab experiments at above link as and when the topics are covered in the class.
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO1 3 2 1 3 2 2 1 1 1 1 1 1 1.6
CO2 3 2 1 2 2 3 1 3 3 1 2 3 2.2
CO3 2 2 3 1 2 2 3 2 2 3 2 1 2.1
CO4 2 3 3 3 2 3 2 3 2 1 2 1 2.3
CO5 3 2 3 1 2 3 3 2 3 1 2 3 2.3
C06 2 2 2 1 2 2 2 3 2 1 1 1 1.8
Average 2.5 2.2 2.2 1.8 2 2.5 2 2.3 2.2 1.3 1.7 1.7
Pre-requisites: None
Course Objectives:
Learn to analyze algorithms for Time and Space Complexity
1.
Learn asymptotic notations for performance analysis of algorithms.
2.
Learn various computing algorithms and data structure used in solving complex problems.
3.
Apply important algorithmic design paradigms and method of analysis.
4.
Synthesize efficient algorithm design in common engineering design situations.
5.
Design Bellman-Ford algorithm and determine its performance.
6.
Design a Miller Rabin algorithm and Monte Carlo algorithm to test the primality of a given integer and
7.
determine its performance.
8. Design a string matching problems.
Course outcomes:
S.NO Course outcomes Level of
Attainment
Analyze the asymptotic performance of algorithms.
CO-1 Familiarity
Write rigorous correction proof s of algorithms.
CO-2 Assessment
Demonstrate a familiarity with major algorithms and data structure.
CO-3 Assessment
CO-4 Apply important algorithmic design paradigms and method of analysis. Usage
List of Experiments:
S.No Description Hours
1 Design, develop a program to implement the Bellman-Ford algorithm and 4
determine its performance.
2 Design, develop a program to implement a Miller Rabin algorithm to test the 4
primality of a given integer and determine its performance.
3 Design, develop a program to implement a Monte Carlo algorithm to test the 4
primality of a given integer and determine its performance.
4 Design, develop a program to solve the string matching problem using naïve 4
approach and the KMP algorithm and compare their performances.
5 Design, develop a program to solve string matching problem using Finite 6
Automata and determine its performance.
6 Design, develop and write program to solve string matching problem using 6
Robin Karp algorithm and determine its performance.
Total Lab hours 28
Suggested Books/Resources:
1. T. H Cormen, C E Leiserson, R L Rivest and C Stein: Introduction to Algorithms, 3rd
2. Edition, Prentice-Hall of India, 2010.
3. Kenneth A. Berman, Jerome L. Paul: Algorithms, Cengage Learning, 2002.
4. Ellis Horowitz, Sartaj Sahni, S.Rajasekharan: Fundamentals of Computer Algorithms, 2nd
Approved in Academic Council held on 25.10.2018
5. Edition, Universities press, 2007
6. S. Muthukrishnan, "Data streams: Algorithms and applications", Foundations and Trends in Theoretical
Computer Science, Volume 1, issue 2, 2005.
7. Bach, E., and J. Shallit. Algorithmic Number Theory. Vol. 1. Cambridge, MA: MIT Press, August 26,
1996. ISBN: 9780262024051.
8. Link to topics related to course:
i. https://tejaswinihbhat.blogspot.com/2016/07/program-1-bellman-ford-algorithm-design.html
ii. https://www.sanfoundry.com/c-program-implement-rabin-miller-primality-test-check-number-prime/
iii. https://www.cs.bu.edu/fac/lnd/toc/z/node21.html
iv. http://cs.indstate.edu/~kmandumula/abstract.pdf
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO-1 1.8
2 2 2 2 2 1 1 1 2 2 2 2
CO-2 2 3 3 3 3 1 1 1 2 2 1 2 2
CO-3 2 2 2 2 3 1 1 1 2 2 1 2 1.8
CO-4 2.1
2 3 3 3 2 1 1 1 2 3 2 2
Pre-requisites: None
Course Objectives:
1. Understand the Usages of R Programming, Installation of R, Configure and Execute Program.
2. Use of different packages in R Software for different problems
3. Usages of Functions and Classes in R Software
4. Able to draw the Graphs and Plots for better visualization of real life problems using plot methods.
5. Able to understand how the R Programming could be used for different case studies.
Course Outcome (CO)
S.No. Course outcomes Level of
Attainment
CO-1 To identify the usages of methods and classes in R to meet different scientific
objectives Familiarity
CO-2 To identify the usages of plot functions in R to represent data in better form Familiarity
CO-3 Usage of R packages, How to download new packages and use them in R. Computationa
l skills
CO-4 To do data analysis tasks on sample data set using R Programming. Technical
skills
CO-5 To do data analysis and exploration using R for real life applications. How it could be Computation
used further in research and analysis on datasets. al skills &
Assessment
List of Experiments:
S.No Description Hours
Suggested Books/Resources:
1. Hands-On Programming with R, by Garrett Grolemund, Shroff/O'Reilly; First Edition (2014)
2. Beginning R: The Statistical Programming Language, by Mark Gardener, Wiley (2013)
3. Peter Dalgaard. Introductory Statistics with R. Springer, 2nd edition, 2008. ISBN 978-0-387-79053-4.
4. John Maindonald and John Braun. Data Analysis and Graphics Using R. Cambridge University Press,
Cambridge, 2nd edition, 2007. ISBN 978-0-521-86116-8.
5. Alain F. Zuur, Elena N. Ieno, and Erik Meesters. A Beginner’s Guide to R. Use R. Springer, 2009. ISBN:
978-0-387-93836-3.
6. Link to NPTEL course contents:
https://onlinecourses.nptel.ac.in/noc17_ma17/preview
7. Important URLs:
R Manuals: http://cran.r-project.org/ > Documentation > Manuals
R Journal: http://journal.r-project.org/
R Forum: http://www.nabble.com/R-f13819.html
CRAN Home Page: http://cran.r-project.org/
8. Link to topics related to course:
a. https://www.coursera.org/learn/r-programming
b. https://www.edx.org/course/data-science-r-basics
c. https://www.edx.org/learn/r-programming
d. http://web.math.ku.dk/~helle/R-intro/exercises.pdf
e. https://afit-r.github.io/basics
f. https://www.cs.upc.edu/~robert/teaching/estadistica/rprogramming.pdf
g. https://faculty.washington.edu/tlumley/Rcourse/R-fundamentals.pdf
3 2 2 1 2 2 3 2 1 3 2 1 2
CO-1
3 3 2 1 1 3 3 1 3 3 3 1 2.3
CO-2
3 3 2 1 2 2 2 1 2 3 3 2 2.2
CO-3
CO-4 3 3 3 2 2 2 3 2 2 1 2 2 2.3
3 3 2 2 2 2 2 2 2 3 3 3 2.4
CO-5
3 2.8 2.2 1.4 1.8 2.2 2.6 1.6 2 2.6 2.6 1.8
Average
Pre-requisite: None
Course Objectives:
1. Describe introductory techniques in Artificial Intelligence
2. Heuristic search and adversarial search, Logic for knowledge representation and reasoning
3. Reasoning under uncertainty
4. Machine Learning
5. Apply introductory techniques in Artificial Intelligence to solve realistic problems.
Course Outcomes:
S.No. Course Outcomes Level of
Attainment
Determine the characteristics of a given problem that an intelligent system must
CO-1 solve. Familiarity
Apply Bayes’ rule to determine the probability of a hypothesis given evidence.
CO-2 Assessment
Identify examples of knowledge representations for reasoning under uncertainty.
CO-3 Assessment
List the differences among the three main styles of learning: supervised,
CO-4 reinforcement, and unsupervised. Assessment
Identify examples of classification tasks, including the available input features and
CO-5 output to be predicted. Assessment
List of Experiments:
S.No Description Hours
1 Implementation of DFS and BFS Searching Algorithms 2
2 Implementation of A* Algorithm 2
3 Study of Prolog Language 2
4 Write simple fact for the statements using PROLOG. 2
Write predicates One converts centigrade temperatures to Fahrenheit, the other 2
5 checks if a temperature is below freezing
WAP in turbo prolog for medical diagnosis and show that advantage and 2
6 disadvantage of green and red cuts.
7 Write a program to solve the Monkey Banana problem 2
8 Study of LISP Language 2
9 Write a program to solve water jug problem using LISP 2
Consider House-votes dataset provided in lab. The task is to predict whether the 2
voter is a republican or a democrat based on their votes using Naive Bayes algorithm
10 with 5-fold cross validation. It has 16 binary attributes and 2 classes.
In Experiment 10, Estimate the accuracy of Naive Bayes algorithm using 5-fold 2
11 cross validation on the house-votes data set.
Suggested Books/Resources:
1. Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp by Peter Norvig
2. Programming in Prolog-Springer by William F. Clocksin, Christopher S. Mellish
3. Machine Learning by Tom M. Mitchell
4. Prediction Machines: The Simple Economics of Artificial Intelligence by Ajay Agrawal , Joshua Gans ,
Avi Goldfarb
5. Artificial Intelligence a Modern Approach, 3rd Edition. Prentice Hal
6. Artificial Intelligence Hardcover by Elaine Rich and Kevin Knight
7. Link to topics related to course:
i. https://www.ibm.com/developerworks/library/cc-beginner-guide-machine-learning-ai-
cognitive/index.html
ii. https://ai.google/education/
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
Approved in Academic Council held on 25.10.2018
Course Outcomes (COs) contribution to the Programme Outcomes (POs)
Avera
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
ge
CO-1 3 3 3 2 1 2 1 2 1 2 2 2 2
CO-2 3 3 3 2 3 2 1 2 1 2 3 2 2.3
CO-3 3 3 3 3 2 1 2 2 2 2 3 2 2.3
CO-4 3 3 3 3 2 1 2 2 2 2 3 2 2.3
CO-5 3 3 3 3 2 1 2 2 2 2 2 2 2.3
ELECTIVE V
Pre-requisites: None
Course Objectives:
1. To learn the ability to design and implement the various aspects of storage networks.
2. To know the design model SAN, NAS, DAS, CAS, etc.
3. To learn the various technologies like SCSI, Fibre Channel, INFINIBAND, IP Stoarge etc.
4. To learn the concepts of virtualization.
5. To learn the protocols of Distributed storage networks.
Course outcomes:
Level of
S.NO Course Outcomes
Attainment
CO-1 Basics of Storage networks Familiarity
CO-2 Design and Implement the RAID Levels. Assessment
CO-3 Discussing algorithms related to storage networks. Assessment
CO-4 Designing the SAN, NAS, CAS, and DAS based storage networks Assessment
CO-5 Concepts of Data Deduplication, and File Systems. Assessment
Discussion of advanced topics of Distributed storage networks, protocols, and
CO-6 Assessment
architecture.
Course Contents:
Unit Contents Lectures
required
1 Intorduction to Storage Technology: Data proliferartion, Overview of storage 6
infrastructure components, Evolution of
storage, Information Lifecycle Management concept, Basic storage management
skills and activities.
2 Technologies for Storage Networks: Disk Subsystems, Overview Architecture of 8
Intelligent Disk Subsytem, JBOD: Just A Bunch Of Disks, RAID & RAID Levels,
Hot Sparing, Hard Disks and Internal I/O Channels, Caching: Acceleration of Hard
Disk Access.
3 I/O Techniques: DAS, SAN, NAS, evolution, Storage Area Networks (SAN): 10
elements & connectivity, Fibre Channel SAN & Products, IP SAN Technology &
Products, IP SAN elements, standards (iSCSI, iFCP, mFCP, FCIP and iSNS),
Migration from SCSI and Fibre Channel to IP storage,
Network attached Storage: elements & connectivity.
4 Management of Storage Network: Requirements of Management 6
Systems, Management Interfaces Standardized and Proprietary Mechanisms, In-
Approved in Academic Council held on 25.10.2018
band & Out- band Management.
5 Storage Virtualization: The concept of storage virtualization, Storage 7
virtualization on various levels of the storage network, Symmetric & Asymmetric
Storage virtualization, Performance of SAN virtualization, Scaling
storage with virtualization.
6 Distributed Storage Networks: Architecture, Protocols Applications, Data 5
Deduplications, File Systems
Total lectures 42
Suggested Text Book(s):
1. Storage Networks Explained", Ulf Troppens, Rainer Erkens, ISBN 0-470-86182-7, John Wiley&
Sons.
Suggested Reference Book(s):
1. "Storage Networks: The Complete Reference", R. Spalding, ISBN:0072224762, McGraw-Hill
2. "Storage Networking Fundamentals: An Introduction to Storage Devices, Subsystems,
Applications, Management, and Filing Systems", Marc Farley, ISBN: 1-58705-162-1, Cisco
Press.
3. "Designing Storage Area Networks: A Practical Reference for Implementing Fibre Channel and
IP SANs, Second Edition", Tom Clark, ISBN: 0-321-13650-0, Addison Wesley
Evaluation Scheme:
S.No Exam Marks Duration Coverage / Scope of Examination
1 T-1 15 1 hour.
Syllabus covered upto Test-1
2 T-2 25 1.5 hours
Syllabus covered upto Test-2
3 T-3 45 2 hours
Syllabus covered upto Test-3
3. Teaching Assessment 25 Assignment (2) - 10
Entire
Quizzes (2) -10
Semester
Attendance - 5
Course Outcomes (COs) contribution to the Programme Outcomes (POs)
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Average
Course outcomes
(Storage networks)
CO-1 3 3 3 2 2 3 2 2 2 3 1 3 2.4
CO-2 3 3 3 2 3 2 3 2 2 3 1 3 2.5
CO-3 3 3 3 2 2 3 1 2 3 3 1 3 2.4
CO-4 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-5 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-6 3 3 3 2 3 3 2 2 1 3 1 3
2.4
Course Objectives:
1. Understand the basics of IoT, The various IoT protocols and applications of various IoT technologies.
2. Be familiar with the basics of Contiki OS and standardized protocols for IPv6 Low power networking
3. Know the IEEE 802.15.4 standard and 6 LoWPAN technology
4. Understand the RPL protocol and to understand the various routing Issues in IoT
5. Be exposed to the security issues, data collection and distributed computing
Course outcomes:
Level of
S.NO Course outcomes
Attainment
To learn IoT Architecture, Security Concerns, Security challenges and Issues, IoT five layers
CO-1 Familiarity
Security at different layers, The IoT protocols
To learn about Contiki Operating System, The Hardware Platforms, IP networking, The
CO-2 standardized protocols for IPv6 Low power Familarity
networking, The COOJA network simulator.
To learn The IPv6 packet format, IEEE 802.15.4 standard, IPv6 over IEEE 802.15.4,
6LoWPAN packet format, Addressing, Forwarding and Routing, Header compression,
CO-3 Assessment
Fragmentation and Reassembly,
Multicasting.
To study the Routing Issues in IoT, The RPL protocol and Distance Vector Routing, Storing
and Non-Storing Mode of Operation, RPL control messages (ICMPv6) i.e, DIO-DAO-DIS,
CO-4 The objective Assessment
function, Loop detection and Repair mechanisms, RPL implementation with COOJA
simulator
To study the various development boards and their interfacing with IoT
CO-5 Assessment
To learn about Security Issues in RPL, Data collection for IoT applications, Distributed
CO-6 Usage
Computing in IoT
Course Contents:
Unit Contents Lectures
required
1 Introduction to Internet-of-Things (IoT) 4
Introduction to IoT, The IoT Architecture, Security Concerns, Security challenges and
Issues, Security at different layers, The IoT protocols
2 Contiki Operating System 4
The Overview of Contiki Operating System, The Hardware
Platforms, IP networking, The standardized protocols for IPv6 Low power networking, The
COOJA network simulator
3 IEEE Standards 12
The IPv6 packet format, IEEE 802.15.4 standard, IPv6 over IEEE 802.15.4, 6LoWPAN
packet format, Addressing, Forwarding and Routing, Header compression,
Approved in Academic Council held on 25.10.2018
Fragmentation and Reassembly, Multicasting
4 Routing 12
Routing Issues in IoT, The RPL protocol and Distance Vector Routing, Storing and Non-
Storing Mode of Operation, RPL control messages (ICMPv6) i.e, DIO-DAO-DIS, The
objective function, Loop detection and Repair mechanisms, RPL implementation with
COOJA simulator
5 Security Issues 10
Security Issues in RPL, Data collection for IoT applications, Distributed Computing in IoT
Total Lectures 42
i. https://nptel.ac.in/courses/106105166/1
ii. https://nptel.ac.in/courses/106105166/6
iii. https://nptel.ac.in/courses/106105166//3
iv. https://nptel.ac.in/courses/106105166//10
v. https://nptel.ac.in/courses/106105166//12
vi. https://nptel.ac.in/courses/106105166//15
vii. https://nptel.ac.in/courses/106105166/21
viii. https://nptel.ac.in/courses/106105166//29
Evaluation Scheme:
S.No Exam Marks Duration Coverage/Scope of Examination
1 T-1 15 1 hr. Syllabus covered up to Test- 1.
T-2 Syllabus covered up to Test- 2.
2 25 1.5 hr.
3 T-3 35 2 hr. Entire Syllabus
Teaching Assessment Assignment (2) - 10
Quizzes (2) - 10
Entire
4 25 Attendance - 5
Semester
Course
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Average
Outcomes
(Internet of
Things)
CO-1 3 3 3 2 2 3 2 2 2 3 1 3 2.4
CO-2 3 3 3 2 3 2 3 2 2 3 1 3 2.5
CO-3 3 3 3 2 2 3 1 2 3 3 1 3 2.4
CO-4 3 3 3 2 3 3 2 2 3 3 1 3
2.6
CO-5 3 3 3 2 3 3 2 2 3 3 1 3
2.6
CO-6 3 3 3 2 3 3 2 2 1 3 1 3
2.4
Suggested Textbooks
1. R. Meier, Professional Android application development. Indianapolis, IN: Wiley, 2009.
2. Microsoft Open Technologies, Inc., Windows Phone 8 Guide for Android Application Developers.
3. Stalling, William, 2002. Wireless Communications and Networks. 2nd ed. Upper Saddle River, NJ 07458:
Pearson
Suggested Reference books:
1 W. Lee and K. Mittal, Beginning Android application development. Indianapolis, Ind.: Wiley Pub., 2011.
2 A. Whitechapel and S. McKenna, Windows Phone 8 development internals. Redmond, Wash.: Microsoft
Press, 2012.
3 I. Stojmenovic, Handbook of Wireless Networks and Mobile Computing. Hoboken, NJ: John Wiley &
Sons, 2002.
4 Dr.S.S.Dhenakaran, A.Parvathavarthini (2013) 'An Overview of Routing Protocols in Mobile Ad-Hoc
Network', International Journal of Advanced Research in Computer Science and Software Engineering,
3(2), pp. [Online]. Available at: www.ijarcsse.com.
Evaluation Scheme
S. No Exam Marks Duration Coverage / Scope of Examination
Course
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Average
Outcomes
(Mobile
Computing)
CO-1 3 2 3 2 2 3 3 3 3 3 1 3 2.6
CO-2 3 3 3 2 2 3 3 3 3 3 1 3 2.7
CO-3 3 3 3 3 3 3 3 3 3 3 1 3 2.8
CO-4 3 3 3 2 3 3 3 3 3 3 1 3 2.8
CO-5 3 3 3 3 2 3 3 3 2 3 1 3 2.7
CO-6 2 3 3 3 3 2 3 3 3 3 1 3 2.7
CO-7 3 2 2 3 3 3 3 3 2 2 2 2 2.5
CO-8 3 2 2 2 2 3 3 3 3 2 2 2 2.4
Average 2.9 2.6 2.8 2.5 2.5 2.9 3 3 2.8 2.8 1.3 2.8
Course Objectives:
1. To demonstrate an understanding of cloud computing concepts and standards.
2. To understand all enabling technologies of Cloud computing.
3. To discuss issues and challenges pertaining to management of emerging cloud computing technologies
and learn approaches to manage them.
4. To demonstrate the practical implementation and usage scenarios of Cloud computing.
Course outcomes:
Level of
S.No. Course outcomes
Attainment
To learn the basic concepts, applications and terminology of cloud computing. Familiarity
CO-1
To understand different enabling technologies for Cloud computing environment.
Assessment
CO-2
To design Cloud computing data-center for effective utilization of available
Usage
CO-3 resources
To study different managers related to Cloud computing services Assessment
CO-4
To understand dofferent case studies of Cloud computing and its advance topics
Usage
CO-5
Course Contents:
Unit Contents Lectures
required
1 Understanding Cloud Computing: 7
Basic Concepts and terminology, Goals and Benefits. Risks and Challenges,
Roles and boundaries, Cloud characteristics, Cluster Computing, Grid
Computing, NIST Architecture, Cloud Deployment models, Cloud service
models.
2 Cloud Enabling Technologies: 7
Virtualization, Types of virtualization, Server Consolidation, virtualization
management, Web Technology, Service, Oriented Architecture, Datacenter and
Multi-tenancy
3 Cloud Infrastructure Management: 7
Cloud datacenter design, Workloads and software infrastructure for a datacenter,
Datacenter hardware, energy and power efficiency in a datacenter., Cloud usage
monitor,
Monitoring agent, Resource agent, Polling Agent
4 Cloud Mechanisms: 7
Automated Scaling, Load Balancer, SLA Monitor, Failover System, Multi-Cloud
Broker
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Average
Course outcomes (
Cloud Computing)
CO-1 3 1 1 1 2 2 1 2 2 1 2 3 1.8
CO-2 3 2 1 2 2 2 1 2 2 1 3 2 1.9
CO-3 2 2 3 2 2 1 3 2 1 1 1 1 1.8
CO-4 2 2 3 2 2 1 3 2 1 1 1 1 1.8
CO-5 3 3 3 3 3 1 2 1 2 2 3 2 2.3
Course Objectives:
1. To Solve systems of linear equations using multiple methods, including Gaussian elimination and matrix
inversion. Algorithms for vector and matrix operations.
2. Positive Definite Systems, Cholesky Decomposition, LU Decomposition, Sensitivity and round-off errors.
3. To discuss Least Squares Problem, OR Decomposition.
4. To determine Eigen values and eigenvectors and solve Eigen value problems.
Course outcomes:
Level of
S.No. Course outcomes
Attainment
Solve systems of linear equations using multiple methods, including Gaussian
CO-1 elimination and matrix inversion. Algorithms for vector and matrix operations.
Usage
Positive Definite Systems, Cholesky Decomposition, LU
CO-2 Decomposition, Sensitivity and round-off errors Usage
CO-3 Least Squares Problem, OR Decomposition Usage
CO-5 ,Determine Eigen values and eigenvectors and solve Eigen value problems Assessment
PO-11
PO-12
Course outcomes
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Average
(Advanced
Computational
Techniques in
Engineering)
CO-2 3 2 3 2 2 3 3 2 2 3 3 3 86.1
CO-3 2 2 2 2 2 3 3 3 2 2 3 3 80.6
CO-4 3 2 3 2 3 2 2 3 3 3 2 2 83.3
CO-5 3 2 2 2 3 2 2 2 2 3 3 3 80.6
CO-6 2 3 3 3 3 2 3 2 2 3 3 2 86.1
88.9 72.2 88.9 72.2 83.3 83.3 83.3 83.3 72.2 88.9 94.4 88.9
Average
ELECTIVE VI
Course outcomes:
S.No. Course outcomes Level of
Attainment
Gaining factual knowledge regarding data acquisition, data cleansing, and
CO-1 various aspects of data analytics and visualization Familiarity
Learning the principles of data analytics and its underlying methods and
CO-2 algorithms Assessment
Learning to apply the methods of data collection and data analytics to solve
business and related problems in support of business decision- making
CO-3 Assessment
Developing the skills necessary to use related software tools to perform
CO-4 data collection, cleansing, and analytics Usage
Course Contents:
Unit Contents Lectures
required
1 Introduction to the course, Descriptive Statistics, Probability Distributions 5
2 Inferential Statistics through hypothesis tests, Permutation & Randomization Test 4
3 Regression, ANOVA(Analysis of Variance) 5
4 Differentiating algorithmic and model based frameworks Regression : Ordinary 7
Least Squares, Ridge Regression,
Lasso Regression, K Nearest Neighbours Regression & Classification
5 Bias-Variance Dichotomy, Model Validation Approaches Logistic Regression, 8
Linear Discriminant Analysis Quadratic Discriminant Analysis Regression and
Classification Trees
Support Vector Machines
6 Ensemble Methods: Random Forest, Neural Networks, Deep 4
learning
7 Clustering, Associative Rule Mining, Challenges for big data 4
anlalytics
8 Creating data for analytics through designed experiments, Creating data for 5
analytics through Active learning Creating,
data for analytics through Reinforcement learning
Total lectures 42
2. Montgomery, Douglas C., and George C. Runger. Applied statistics and probability for engineers. John
Wiley & Sons, 2010.
Average
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes (Data
Analytics)
CO-1 1.8
2 2 2 2 2 1 1 1 2 2 2 2
CO-2 2
2 3 3 3 3 1 1 1 2 2 1 2
CO-3 1.8
2 2 2 2 3 1 1 1 2 2 1 2
CO-4 2.1
2 3 3 3 2 1 1 1 2 3 2 2
Pre-requisites: None
Course Objectives:
1. To learn the basic concepts and terminology in big data analytics
2. To learn about the map reduce and the new software stack
3. To learn about the mining of data streams, estimating moments and windowing, link analysis: page
rank and efficient computation of page rank
4. To learn concepts associated with frequent item sets from big data and counting frequent items from
stream
5. To learn about clustering for big data and mining of social network graph
6. To learn about recommendation systems, collaborative filtering and dimensionality reduction
Course outcomes:
Level of
S.No. Course outcomes
Attainment
CO-1 To learn the basic concepts and terminology in big data analytics Familiarity
CO-2 To learn about the map reduce and the new software stack Familiarity
To learn about the mining of data streams, estimating moments and windowing, link
CO-3 analysis: page rank and efficient computation of Assessment
page rank
To learn concepts associated with frequent item sets from big data and counting
CO-4 Assessment
frequent items from stream
To learn about clustering for big data and mining of social network graph
CO-5 Assessment
To learn about recommendation systems, collaborative filtering and dimensionality
CO-6 Usage
reduction
Course Contents:
Unit Contents Lectures
required
1 Introduction to Big Data: Big data time line, Why this topic is relevant now? Is 5
big data fad? Where using big data makes a difference? Introduction to statistical
modelling and machine learning, Ordinary data processing versus big data
processing: Challenges and opportunities
2 Map Reduce and the New Software Stack: Distributed File Systems, Map 6
Reduce, Algorithms Using Map Reduce, Complexity Theory for Map Reduce
3 Mining Data Streams: The Stream Data Model, Sampling Data in a Stream, 8
Filtering Streams, Counting Distinct Elements in a Stream, Estimating Moments
and Windowing,
Decaying Windows
4 Link Analysis: Page Rank and Efficient Computation of Page 8
Rank, Topic-Sensitive Page Rank, Link Spam, Hubs and Authorities
5 Frequent Item sets from Big Data: The Market-Basket Model, Market Baskets 8
and the A-Priori Algorithm, Handling Larger Datasets in Main Memory,
Limited-Pass Algorithms,
Approved in Academic Council held on 25.10.2018
Counting Frequent Items in a Stream
6 Clustering for Big Data: Introduction to Clustering 7
Techniques, Hierarchical Clustering, Clustering in Non- Euclidean Spaces,
Clustering for Streams and Parallelism
Total lectures 42
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Average
CO-1 3 3 3 2 2 3 2 2 2 3 1 3 2.4
CO-2 3 3 3 2 3 2 3 2 2 3 1 3 2.5
CO-3 3 3 3 2 2 3 1 2 3 3 1 3 2.4
CO-4 3 3 2 2 3 3 2 2 2 3 1 3 2.4
CO-5 3 3 3 2 3 3 2 2 3 3 2 2 2.6
CO-6 3 3 3 2 3 3 2 2 2 3 1 2
2.4
Course Contents:
Unit Contents Lectures
required
1 Data Communications and Network Management Overview 10
Review of Computer Network Technology, Basic Foundations of
Network management, standards, models and
languages
2 Network Management Models 14
SNMP v1 Organisation and Information models, SNMP v1 Communication and
functional Models, SNMP v2, SNMP v3, SNMP management RMON
3 Network Design 6
Design of Data Communication Networks, Design of Tele Communication
Networks, Design of Trasportation networks
4 Broadband Network Management: 6
ATM Networks, Broadband Network Management: Access Networks, TMN
5 Network Management Tools: 4
Network Management Tools systems and applications, Network Management
applications
6 Web Based Network Management: 2
Ubiquitous Web Based Network Management
Total lectures 42
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of
Examination
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course
Average
outcomes
(Network
Managemen)
CO-1 3 2 3 2 2 3 2 3 2 2 3 3 2.5
CO-2 3 2 3 2 2 3 3 2 2 3 3 3 2.6
CO-3 2 2 2 2 2 3 3 3 2 2 3 3 2.4
CO-4 3 2 3 2 3 2 2 3 3 3 2 2 2.5
CO-5 3 2 2 2 3 2 2 2 2 3 3 3 2.4
CO-6 2 3 3 3 3 2 3 2 2 3 3 2 2.6
Average 2.7 2.2 2.7 2.2 2.5 2.5 2.5 2.5 2.2 2.7 2.8 2.7
Pre-requisites: None
Course Objectives:
1. To present a rigorous introduction to the fundamentals of Graph Theory
and Graph algorithms.
2. To enable the students to model various applications from Computer
Science and Engineering using Graphs.
3. To introduce the techniques to store, manipulate and answer queries about a
graph using a computer.
4. To learn proof techniques and algorithms involving graphs.
5. To learn about open problems in graph theory
Course Outcomes:
Course outcomes Level of
S.No.
Attainment
CO-1 To learn the basic terminology and underlying principles of Graph theory Familiarity
To learn the Applications of Connectivity and Applications of Trees.
CO-2 Assessment
To learn the Applications of Matchings, Colourability, and Planarity.
CO-3 Assessment
Model real world problems using graph theory
CO-4 Usage
Course Contents:
Unit Contents Lectures
required
1 Introduction: Scope, Basic concepts and terminology 4
Representation: Adjacency Matrix, Incidence Matrix, Cycle Matrix, Cut-set
Matrix, Path Matrix, etc
2 Applications to Theoretical Computer Science: Determining 4
lower bounds, Adversary arguments, Problem reductions, NP-
completeness, etc.
3 Applications of Connectivity: Reliable communication network design, 4
Cycle detection, Searches, etc.
4 Applications of Traversability: Shortest paths, Optimal tours, TSP, etc. 6
Applications of Trees: Spanning trees, Minimum cost constructions,
Coding theory, Phylogeny construction, etc.
5 Applications of Matchings/Partitioning: Personnel assignment, 6
Optimal assignment, Territory demarcation, etc.
6 Applications of Coverings: Geometric problems, etc. 6
Approved in Academic Council held on 25.10.2018
Applications of Colourability: Storage management, Timetable schedules,
etc.
7 Applications of Planarity: Planarity detection, PCB design, Facilities layout 6
and floor plan design, Software testing, Defense
strategies, etc.
8 Applications of Digraphs: Circuit theory and electrical network analysis, 6
Transport networks, Job sequencing, Disk scheduling, Participant rankings in
tournaments, Choice consistency, Project planning, etc.
Applications of Flows: Max-flow min-cut, Feasible flows,
Transportation problems, etc.
Total lectures 42
Suggested Text Book(s):
1. Narsingh Deo, Graph Theory with Applications to Engineering and
Computer Science, Prentice-Hall, 1974.
2. Douglas B. West, Introduction to Graph Theory, PHI, second edition, 2001.
Suggested Reference Book(s):
1. Kenneth H. Rosen, Discrete Mathematics and its Applications, 6e, McGraw-Hill, 2007.
2. Thomas H Cormen, Charles E Leiserson, Ronald L. Rivest, and Cliff Stein,
3. Introduction to Algorithms, 2e, MIT Press, 2001.
4. Reinhard Diestel, Graph Theory, 3e, Springer-Verlag, 2005.
5. A Gibbons, Algorithmic Graph Theory, Cambridge University Press, 1985.
Other useful resource(s):
1. Link to NPTEL course contents: https://nptel.ac.in/courses/106108054/
2. Link to topics related to course:
i. https://swayam.gov.in/course/3795-graph-theory
ii. https://www.coursera.org/learn/graphs
Course Outcomes (COs) contribution to the Programme Outcomes(POs)
Average
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes
(Graph Theory
)
CO-1 1.8
2 2 2 2 2 1 1 1 2 2 2 2
CO-2 2
2 3 3 3 3 1 1 1 2 2 1 2
CO-3 1.8
2 2 2 2 3 1 1 1 2 2 1 2
CO-4 2.1
2 3 3 3 2 1 1 1 2 3 2 2
Introduction to C++
Programming
COURSE CODE: 19B1WCI733
COURSE CREDITS: 2
ELECTIVE: OPEN ELECTIVE
L-T-P: 2-0-0
Pre-requisite: C Programming
Course Objectives:
The object oriented programming paradigm is one of the popular programming paradigms of today.
Due to its characteristics object orientation has added new dimensions in the software development
process. In this course concept of Object Oriented Programming (OOP) is introduced and for this
purpose C++ programming language is being used. C++ a very powerful general purpose programming
language, which supports object oriented programming paradigm. This course covers basics of C++
programming language which includes data types, variables, operators, and array and pointers. Also,
object oriented features such as class and objects, inheritance, polymorphism are covered in this course.
Finally exceptions handling, I/O operations and STL are explained.
Course Outcomes:
Level of
S. No. Course Outcomes
Attainment
CO-1 Learn the concepts of an Object-Oriented Programming Familiarity
Learn to define class, objects, object members, class members, data
CO-2 Usage
members, constructors and destructors
CO-3 Learn the concepts of Inheritance and Polymorphism in C++ Usage
CO-4 Learn the advanced features of C++, such as file handling, templates,
Usage
and exception handling
Course Contents:
Lectures
S No. Contents
required
Object Oriented Programming Structured vs. Object Oriented
1 Programming, Object Oriented Programming Concepts, Benefits of Object 2
oriented programming, Object Oriented Languages.
Objects and Classes classification, Defining Classes, Encapsulation,
2 Instantiating Objects, Member Functions, Accessibility labels, Static 5
Members.
Constructors and Destructors Purpose of Constructors, Default Constructor,
3 Parameterized Constructors, Copy Constructor, Destructor, Memory 3
Management
Approved in Academic Council held on 25.10.2018
Inheritance Concept of Reusability, Types of Inheritance, Single and
4 3
Multiple Inheritance, Multilevel Inheritance.
Operator Overloading Function and Operator Overloading, Overloading
5 3
Unary and Binary Operators.
Polymorphism and Virtual Function Abstract Class, Function Overriding,
6 3
Dynamic Binding, Pure Virtual Functions.
Streams and Files Stream Classes, Types of I/O, Formatting Outputs, File
7 3
Pointers, Buffer.
Templates and STL Function and Class Templates, Use of Templates,
8 3
Standard Template Library.
Exception Handling Exceptions in C++ Programs, Try and Catch
9 3
Expressions, Exceptions with arguments.
Total Lectures 28
Suggested Text Book(s):
Average
PO-10
PO-11
PO-12
Course
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
outcomes
CO-1 2 1 2 2 1 2 2 1 1 1 3 3 1.75
CO-2 1 1 3 1 3 3 3 1 2 1 1 3 1.92
CO-3 2 2 1 2 1 1 2 3 1 3 2 1 1.75
CO-4 1 3 3 3 3 3 1 1 2 1 2 1 2
Average 1.5 1.75 2.25 2 2 2.25 2 1.5 1.5 1.5 2 2
Course Outcomes:
Level of
S No Course Outcomes
Attainment
CO-1 Learn the concepts of an Object-Oriented Programming Familiarity
Learn to define class, objects, object members, class members, data
CO-2 Usage
members, constructors and destructors
CO-3 Learn the concepts of Inheritance and Polymorphism in C++ Usage
CO-4 Learn the advanced features of C++, such as file handling, templates,
Usage
and exception handling
List of Experiments
S No Description Hours
Design and implement a class using C++ that keeps the basic information
about an account in a bank (the basic information must include account
number and balance). The class should have a constructor that is used to
1 2
create a new account object. The class should also have a function that
transfers a requested amount from an account (identified by an account
number) to another account.
Design and implement a class BCD using C++. The BCD class accepts an
integer value (maximum five decimal digit input) using an input function of
the class and which separates the digits and then stores them in a data
member array of the class. For example, if input was 123 then it will be
2 stored in data member array as num (0) = 3, num (1) = 2; and num (2) =1; 2
similarly if input number was 2345 then it will be stored as num (0) = 5,
num (1) = 4, num (2) = 3 and num (3) = 2. The class has another member
function that calculates the reverse of integer value and prints it. For
example, the input value 2345 will be reversed and printed as 5432.
Approved in Academic Council held on 25.10.2018
Design and implement a class "circle". You may assume that the circle may
be represented by the centre and the radius. The class should have functions
3 2
to calculate the area of the circle and at least one overloaded operator
function (you may overload << or >> or any other operator).
Define a class Employees having data members as: employee number, name,
date of birth (dd-mm-yyyy), rank, and salary. When an employee is first
recruited then all these are given values of 0. Upon confirmation, the actual
4 2
values of these are entered for the employee. The employee’s rank can be
incremented by 1 and when this happens an employee gets an increment of
25%.
Students are registered in a University. When students are created then they
are given default values (zeroes or blanks) for roll_number, department,
5 year, and semester of study. At registration time, the values of these 2
attributes of student are updated with the proper values. Students can be
promoted and their departments can be changed.
Define two classes Distance1 and Distance2. Distance1 stores distance in
miles and Distance2 in kmeters & meters. Write a program that reads values
of the class objects and adds one object of Distance1 with the object of
6 2
Distance2 class. The display should be in the format of miles or kmeters &
meters depending on the type of object (Distance1 or Distance2) being used
to invoke the function. (Hint: Make use of friend function).
7 Mid-Semester Practical Examination 2
Imagine a publishing company that markets both books and audio-cassette
version of its works. Create a class Publication that stores the title (a string)
and price (type float) of a publication. From this class derive two classes:
Book, which adds a page count and Tape, which adds playing time in
8 2
minutes. These classes should have getdata() function to get its data from the
user and the putdata() function to display its data. Write a main() program to
test the book and tape classes by creating instances of them, asking the user
to fill in their data with getdata() and displaying the data with putdata().
Define a class Shape with two pure virtual functions as enterData() and
displayArea(). Now, define a classes Rectangle and Circle that inherit the
9 2
Shape class. Both the classes override and define the pure virtual functions.
In the main() method, illustrate the concept of dynamic binding.
10 Define a class Directory with members: name and phone number. Use the 2
class object to store each set of data into a text file “phone.txt”. The names
contain only one word and the names and telephone numbers are separated
by white spaces. Write a program to read the file and output the list in two
columns, such as:
John 23456
Denvar 9876
…… ……
Create a class named Student. Data members include the student’s roll
number, first name, last name, class and the program of study. Member
functions include enter() and display() to enter and display the record of the
11 2
Approved in Academic Council held on 25.10.2018
student. In the main() method, write multiple objects of this class into the
file stud.txt. There should be an option to search a student’s record on the
basis of his/her roll number and delete it from the file.
A programmer wants to manipulate arrays. Two arrays are equal if (a) they
have the same dimension, (b) are of the same size, and (c) contain identical
values in their corresponding elements. Comparison is done using the
12 2
operator ‘= =’ which returns true or false. Also, arrays can be copied to one
another using the operator ‘=’. Define a template function to sort an array of
elements of int type, float type, and string type.
Define an exception called “NoMatchException” that is thrown when a
13 2
string is not equal to “India”. Write a program that uses this exception.
14 End-Semester Practical Examination 2
Total Lab hours 28
Evaluation Scheme:
S No Exam Coverage/Scope of Examination Marks
1 Mid Term Test Viva and Written Exam 20
2 End Term Test Viva and Written Exam 20
3 Lab Records 15
Teacher Assessment (Quality and quantity of experiment
4 30
performed, learning laboratory skills)
Attendance and
5 15
discipline in lab
6 Total 100
Course Outcomes (COs) contribution to the Programme Outcomes (POs)
Average
PO-10
PO-11
Course PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
outcomes
CO-1 2 1 2 2 1 2 2 1 1 1 3 3 1.75
CO-2 1 1 3 1 3 3 3 1 2 1 1 3 1.92
CO-3 2 2 1 2 1 1 2 3 1 3 2 1 1.75
CO-4 1 3 3 3 3 3 1 1 2 1 2 1 2
Average 1.5 1.75 2.25 2 2 2.25 2 1.5 1.5 1.5 2 2
Course Outcomes:
S Level of
Course Outcomes
No Attainment
CO1 Understanding the features and concepts of Object-Oriented
Familiarity
Programming using Java
CO2 Defining classes, objects, constructors, methods in Java Usage
CO3 Inheritance, Interfaces, and Polymorphism Usage
CO4 Packages, Exception Handling, and Multithreading Usage
Course Contents:
Lectures
S No Topics
required
Object-Oriented Concepts: Classes and Objects, Abstraction and
1 2
Encapsulation, Inheritance, and Polymorphism.
Java Language Basics Introduction To Java, Basic Features, Java Virtual
Machine Concepts, A Simple Java Program, Primitive Data Type And
2 Variables, Java Keywords, Integer and Floating Point Data Type, 3
Character and Boolean Types, Declaring and Initialization Variables, Java
Operators.
Expressions, Statements and Arrays Expressions, Statements, Control
3 Statements, Selection Statements, Iterative Statements, Jump Statements, 2
Arrays.
Class and Objects Class Fundamentals, Creating objects, Assigning
4 5
object reference variables, Introducing Methods, Static methods,
Constructors, Overloading constructors, This Keyword, Using Objects as
Parameters, Argument passing, Returning objects, Method Overloading,
Garbage Collection, The finalize () Method.
Approved in Academic Council held on 25.10.2018
Strings and Characters Fundamentals of Characters and Strings, The String
5 Class, String Operations, Data Conversion using valueOf() 2
Methods, String Buffer Class and Methods.
Inheritance and Polymorphism Inheritance Basics, Access Control,
6 Multilevel Inheritance, Method Overriding, Abstract Classes, 4
Polymorphism, Final Keyword.
Packages and Interfaces Package, Defining Package, CLASSPATH,
Package naming, Accessibility of Packages, Using Package Members,
7 3
Interfaces, Implementing Interfaces, Interface and Abstract Classes,
Extends and Implements Together.
Exceptions Handling Exception, Handling of Exception, Using try-catch,
8 Catching Multiple Exceptions, Using finally clause, Types of Exceptions, 3
Throwing Exceptions, Writing Exception Subclasses
Multithreaded Programming Multithreading: An Introduction, The Main
9 Thread, Java Thread Model, Thread Priorities, Synchronization in Java, 4
Inter-thread Communication.
Total 28
PO-11
PO-12
Course
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
outcomes
CO-1 2 1 2 2 1 2 2 1 1 1 3 3 1.75
CO-2 1 1 3 1 3 3 3 1 2 1 1 3 1.92
CO-3 2 2 1 2 1 1 2 3 1 3 2 1 1.75
CO-4 1 3 3 3 3 3 1 1 2 1 2 1 2
Average 1.5 1.75 2.25 2 2 2.25 2 1.5 1.5 1.5 2 2
Course Objectives:
Today almost every branch of computer science is feeling presence of object- orientation. Object
oriented technology is successfully incorporated in various fields of computer science. Since its arrival
on the scene in 1995, the Java has been accepted as one of the primary programming language. This
course is designed to give you exposure to basic concepts of object-oriented technology. This course
will help in learning to write programs in Java using object-oriented paradigm. Approach in this course
is to take Java as a language that is used as a primary tool in many different areas of programming
work.
Course Outcomes:
S Level of
Course Outcomes
No Attainment
CO1 Understanding the features and concepts of Object-Oriented
Familiarity
Programming using Java
CO2 Defining classes, objects, constructors, methods in Java Usage
CO3 Inheritance, Interfaces, and Polymorphism Usage
CO4 Packages, Exception Handling, and Multithreading Usage
List of Experiments
S No Description Hours
i. Write a Java program to check if a number is a palindrome in Java.
ii. Write a Java program to print following structure.
*
1 *** 2
*****
***
*
2 Write a program in Java to print the Fibonacci series up to a given number? 2
Write both iterative and recursive versions.
3 Define a class Queue in Java with methods to insert and delete the data (int 2
type) from the queue. The queue must be implemented using array.
Define a class LinkedList in Java with members data of integer type and a
4 reference next of LinkedList type. Define methods to insert and display the 2
elements of the linked list.
Define a class named Television in Java that has data members to hold
the model number of a television, the screen size in inches, and the
price. The class has methods to enter and display the details of the
television. The class throws an exception “TelevisionException under
9 2
the following conditions:
If more than 4 digits are entered for the model number
If the screen size is smaller than 12 inches or greater than 70 inches.
If the price is negative or greater than Rs 50,000.
You may include additional data members in the classes. The class
Programme is defined inside the package pack1.pack2, whereas classes
10 FullTime and PartTime are defined inside the package pack1. You should 2
include at least one constructor in each class. All the classes should have two
methods as getProgrammeInfo() and printProgrammeInfo() to enter and
display all the information of that object, respectively.
Define a class First inside a package pack1 with an integer data member i
and methods to enter and display the value of i. Define another class inside a
11 package pack2, which is a sub package of pack1. The class Second has a 2
float type data member f and methods to enter and display the value of f.
Now, import both of the above classes and instantiate their objects in the
main method. Thereafter, call the methods of both the classes.
<<interface>>
Bird
<<package>> <<package>>
non_flying_package non_flying_package
<<class>> <<class>>
NonFlyingBird NonFlyingBird
Write a program for generating two threads using Runnable interface. One
13 thread is used for printing the numbers (1 to 26) and the other for printing 2
alphabets (A to Z). Which of the two threads will be executed first
(assuming that both of the threads are set to the same priority)?
14 End-Semester Practical Examination 2
Total Lab hours 28
Evaluation Scheme:
S No Exam Coverage/Scope of Examination Marks
1 Mid Term Test Viva and Written Exam 20
2 End Term Test Viva and Written Exam 20
3 Lab Records 15
Teacher Assessment (Quality and quantity of experiment
4 30
performed, learning laboratory skills)
Attendance and
5 15
discipline in lab
6 Total 100
Course Outcomes (COs) contribution to the Programme Outcomes (POs)
Average
PO-10
PO-11
PO-12
Course
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
outcomes
CO-1 2 1 2 2 1 2 2 1 1 1 3 3 1.75
CO-2 1 1 3 1 3 3 3 1 2 1 1 3 1.92
CO-3 2 2 1 2 1 1 2 3 1 3 2 1 1.75
CO-4 1 3 3 3 3 3 1 1 2 1 2 1 2
Average 1.5 1.75 2.25 2 2 2.25 2 1.5 1.5 1.5 2 2
Course Objectives:
1. Employ correct testing terminology throughout the testing process
2. Execute specific software tests with well-defined objectives and targets.
3. Modelling techniques: UML: FSM and State charts, combinatorial design; and others.
4. Apply various testing techniques, including domain, code, fault, usage and model-
based.
5. Perform a complete testing process, taking into account practical considerations.
Course Outcomes:
Level of
S. No. Course Outcomes
Attainment
Investigate the reason for bugs and analyze the principles in
CO-1 Familiarity
software testing to prevent and remove bugs.
CO-2 Implement various test processes for quality improvement. Assessment
CO-3 Design test planning and manage the test process. Assessment
CO-4 Apply the software testing techniques in commercial environment. Assessment
CO-5 Design test adequacy assessment and enhancement criteria. Assessment
Use practical knowledge of a variety of ways to test software and
CO-6 an understanding of some of the tradeoffs between testing Usage
techniques.
Course Contents:
Lectures
Unit Contents
required
Introduction: Error, Fault, Failure, Test automation and the
importance of testing, Developer and tester as two roles, Principles of
Testing, ETVX Model, Testing Maturity Model, V-Model, Software
quality, Testing and debugging (preparing, Constructing, Executing,
1 Specifying, Assessing a test plan), test Generation Strategies, Types of 4
testing and Classifiers C1, C2, C3, C4, and C5, Static testing
Preliminaries mathematical: Predicates and Boolean Expressions,
Control Flow Graph, Program Dependence Graph, Strings languages
and regular expressions,
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of Examination
1 T-1 15 1 Hour. Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3 T-3 35 2 Hours Entire Syllabus
Assignment (2) - 1
Teaching Entire
4 Quizzes (2) - 10
Assessment Semester
Attendance - 5
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
(Software
Testing
Fundamentals)
CO-1 3 3 3 2 2 3 2 2 2 3 1 3 2.4
CO-2 3 3 3 2 3 2 3 2 2 3 1 3 2.5
CO-3 3 3 3 2 2 3 1 2 3 3 1 3 2.4
CO-4 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-5 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-6 3 3 3 2 3 3 2 2 2 3 1 3 2.5
Average 3 3 3 2 2.7 2.8 2 2 2.5 3 1 3
Pre-requisite: Object Oriented Analysis and Design with UML, Software Engineering, Software
Metrics, Basics of Mathematics.
Course Objectives:
1. Have an ability to apply software testing knowledge and engineering methods.
2. Have an ability to design and conduct a software test process for a software testing
project.
3. To learn how to planning a test project, design test cases and data, conduct testing
operations, manage software problems and defects, generate a testing report.
4. To discuss various software testing issues and solutions in software unit test;
integration, regression, and system testing.
5. To gain the techniques and skills on how to use modern software testing tools to
support software testing projects.
Course Outcomes:
Level of
S. No. Course Outcomes
Attainment
Have an ability to apply software testing knowledge and engineering
CO-1 Familiarity
methods.
Have an ability to design and conduct a software test process for a
CO-2 Usage
software testing project.
Have an ability to identify the needs of software test automation, and
CO-3 Assessment
define and develop a test tool to support test automation.
Have an ability understand and identify various software testing
CO-4 problems, and solve these problems by designing and selecting software Assessment
test models, criteria, strategies, and methods.
Have an ability to use various communication methods and skills to
CO-5 communicate with their teammates to conduct their practice-oriented Usage
software testing projects.
Have basic understanding and knowledge of contemporary issues in
CO-6 Usage
software testing, such as component-based software testing problems.
Have an ability to use software testing methods and modern software
CO-7 Usage
testing tools for their testing projects.
List of Experiments:
S. No Description Hours
1 Revision of Java coding using Eclipse 2
Developing Black box test cases 1:
2 2
a) Using Boundary Value Analysis
Approved in Academic Council held on 25.10.2018
Developing Black box test cases 2:
3
a) Using Equivalent Classes 2
Developing Black box test cases 3:
4 2
a) Using Decision Tables
Developing WhiteBox test cases 1:
5 2
a) Performing Path testing
Developing WhiteBox test cases 2:
6
a) Performing orthogonal testing 2
Developing WhiteBox test cases 3:
7
a) Performing Coverage Analysis 2
8 Mutation testing and developing Mutants 2
9 Regression testing and Developing Regression test Cases 2
10 Performing GUI testing for a designed application
2
11 Performing Load testing for a designed application 4
Getting familiar with Profiler and performing CPU, Memory analysis
12 4
in real time
Total Lab Hours 28
Suggested Books/Resources:
1. 1. A Practitioner’s Guide to Software Test Design, Lee Copeland, 2003,
2. The Art of Software Testing, 2nd edition, Glenford Myers, et. el., 2004
3. Software Testing Techniques, 2nd edition, Boris Beizer, 1990
4. How to Break Software: A Practical Guide to Testing, James Whittaker, 2002.
5. Testing Object-Oriented Systems: Models, Patterns, and Tools, Robert V. Binder,
1999.
6. Software Testing and Quality Assurance: Theory and Practice Paperback – 2010
Evaluation Scheme:
1 Mid Sem. Evaluation 20 Marks
2 End Sem. Evaluation 20 Marks
3 Attendance 15 Marks
4 Lab Assessment 45 Marks
Total 100 marks
Course Outcomes (COs) contribution to the Programme Outcomes(POs)
CO/PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 Average
CO-1 3 2 3 2 2 3 3 3 2 3 2 2 2.5
CO-2 3 3 3 2 3 3 3 3 2 3 2 3 2.8
CO-3 3 3 3 2 2 3 3 3 3 3 2 2 2.7
CO-4 3 3 3 3 3 3 3 2 2 3 3 3 2.8
CO-5 3 3 3 2 2 2 3 3 3 3 2 2 2.6
CO-6 3 3 3 3 3 3 3 2 2 3 3 3 2.8
CO-7 3 3 3 3 3 3 2 2 3 3 3 3 2.8
Average 3 2.9 3 2.4 2.6 2.9 2.9 2.6 2.4 3 2.4 2.6
Pre-requisite: None
Course Objectives:
To understand the fundamentals of software defined networks.
To understand the separation of the data plane and the control plane.
To study about the SDN Programming.
To study about the various applications of SDN
Course Outcomes:
Level of
S. No. Course Outcomes
Attainment
CO-1 Analyze the evolution of software defined networks Familiarity
CO-2 Express the various components of SDN and their uses Assessment
CO-3 Explain the use of SDN in the current networking scenario Assessment
CO-4 Design and develop various applications of SDN Usage
Course Contents:
Unit Contents Lectures
required
Introduction: Basic Packet-Switching Terminology, Historical Background, The
Modern Data Center, Traditional Switch Architecture, Autonomous and Dynamic 7
1
Forwarding Tables. Open
Source and Technological Shifts
Why SDN?: Evolution of Switches and Control Planes, Cost, SDN Implications
2 for Research and Innovation, Data Center Innovation, Data Center Needs 7
The Genesis of SDN :The Evolution of Networking Technology, Forerunners of
SDN, Software Defined Networking is Born., Sustaining SDN Interoperability,
3 7
Open Source Contributions. Legacy Mechanisms Evolve Toward SDN, Network
Virtualization
How SDN Works: Fundamental Characteristics of SDN, SDN Operation, SDN
4 Devices, SDN Controller, SDN Applications, Alternate SDN Methods. 7
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Average
Course Outcomes
CO-1 1 2 2 2 3 1 1 1 1 2 2 3 1.75
CO-2 3 3 2 2 2 2 2 1 2 2 1 2 2
CO-3 3 1 2 1 2 2 2 2 2 3 1 1 1.83
CO-4 3 3 2 2 2 2 1 2 1 2 2 1 1.91
Average 2.5 2.25 2 1.75 2.25 1.75 1.5 1.5 1.5 2.25 1.5 1.75
Course Contents:
Lectures
Unit Contents
required
Introduction to statistical learning: Prediction accuracy, Model
1 interpretability, Supervised and Unsupervised learning, Assessing 6
model accuracy
Regression and Classification: Regression- Linear, MultiLinear and
2 kNN, Classification-Logistic regression, Linear and quadratic 8
discriminant analysis, and kNN
Resampling, Model Selection and Regularization: Cross- validation,
3 the bootstrap, Subset selection, Shrinkage methods, Dimension 8
reduction methods, considerations in high dimension
Non-linear Regression: Polynomial regression, Step functions,
Regression splines, Smoothing splines, Local regression, Generalized
4 10
additive methods, Tree Based Regression: the basics of decision trees,
Bagging, Random forest and Boosting,
Support Vector Machines: Maximal margin classifier, Support Vector
Classifier and Support Vector Machines, Unsupervised Learning: The
5 10
challenges, Principal Component Analysis, Clustering methods
Total lectures 42
Gareth James, Daneila Witten, Trevor Hastie and Robert Tibshirani, “An
Introduction to Statistical Learning with Applications in R”, Springer, 8th
Printing, 2017.
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of
Examination
1 T-1 15 1 Hour Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3 T-3 35 2 Hours Entire Syllabus
4 Teaching Assessment 25 Entire Assignment (2) - 10
Semester Quizzes (2) - 10
Attendance - 5
Course Outcomes (COs) contribution to the Programmed Outcomes (POs)
Average
PO-10
PO-11
PO-12
Course Outcomes
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
CO-1 3 3 3 3 3 3 1 1 2 1 3 2 2.33
CO-2 3 3 3 3 3 3 2 1 2 1 3 2 2.42
CO-3 3 3 3 3 3 3 2 1 2 1 3 2 1.42
CO-4 3 3 3 3 3 3 1 1 2 1 3 2 2.33
Average 3 3 3 3 3 3 1.5 1 3 1 3 3
Evaluation Scheme:
Coverage / Scope of
S. No Exam Marks Duration
Examination
1 T-1 15 1 Hour Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3 T-3 35 2 Hours Entire Syllabus
Assignment (2) – 10
Entire
4 Teaching Assessment 25 Quizzes (2) - 10
Semester
Attendance – 5
PO-11
PO-12
Average
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course outcomes
(Software Defined
Network )
CO-1 3 3 3 2 2 3 2 2 2 3 1 3 2.4
CO-2 3 3 3 2 3 2 3 2 2 3 1 3 2.5
CO-3 3 3 3 2 2 3 1 2 3 3 1 3 2.4
CO-4 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-5 3 3 3 2 3 3 2 2 3 3 1 3 2.6
Average 3 3 3 2 2.6 2.8 2 2 2.6 3 1 3
Course Pre-requisites (if any): Some programming experience (at least one year suggested). Potential
students will need to pass a brief programming assessment for enrollment in the course.
Course Objectives:
Level of
S No Course Outcomes (Block Chain Technologies) 18B1WCI836
Attainment
Explain how bitcoin works, from when a transaction is created to
CO-1 Familiarity
when it is considered part of the blockchain
Thoroughly explain private and public keys as well as addresses
CO-2 Familiarity
and how exactly they are constructed and used
Expose students to the different kinds of forking and explain the
CO-3 Assessment
Bitcoin’s network mechanisms for maintaining and upgrading
Decompose a blockchain system’s fundamental components, how
CO-4 they fit together and examine a modular blockchain system in Assessment
more detail
Detailed understanding of naïve Attacks and Trustless Networks
CO-5 Assessment
of block chain
Provide a thorough understanding of smart contracts, their
CO-6 technical capabilities, practical applications, limitations and Usage
security constraints they operate within
Explain to students both fundamental and implied differences
CO-7 between Ethereum and Bitcoin protocol by covering historical, Assessment
conceptual and architectural distinctions
Detailed Course Contents:
Module Contents Lectures
required
Module-1 The story of a transaction 2
a) From Transactions to Blocks
b) Blocks and Distributed Consensus
c) Basic interaction with a Bitcoin node
Module-2 Keys and Addresses 2
a) Basic cryptography
b) From private keys to addresses
Module-3 The Bitcoin Script language 8
a) Introduction to the Bitcoin Script language
b) Script writing and execution
c) Advanced scripting
d) Tools and libraries to access Bitcoin’s API and scripting
capabilities
Blockchain deployment
a) Mining and forking
Pre-requisite: None
Course Objectives:
To understand the fundamentals of Computational Molecular Biology.
To understand the computational methods for biological sequence analysis.
To study about the dynamic programming for sequence alignments, methods for
genomics and structural bioinformatics.
To study about the various applications of computer science techniques in
computational biology.
Course Outcomes:
Level of
S. No. Course Outcomes
Attainment
CO-1 Fundamentals of Computational Molecular Biology Familiarity
Express the use of computational methods for biological
CO-2 sequence analysis Assessment
Explain the use of sequence alignments, methods for genomics and
CO-3 structural bioinformatics Assessment
Applications of computer science techniques in computational biology
CO-4 Usage
Course Contents:
Lectures
Unit Contents
required
Introduction: Basic knowledge of molecular biology including DNA,
RNA, Proteins and Genetic code systems. Biological sequences types
1 5
and data. Computers in biology, medicine and healthcare.
Biological Databases: Evolution of biological databases.
2 4
Collection, storage and analysis of biological data through biological
databases. Sequence formats and storage, Access databases,
limitations of existing databases.
Sequence Alignment and Analysis: Local alignment, Global
alignment, Scoring matrices - PAM, BLOSUM, Gaps and penalties, Dot
plots. Dynamic programming approach: Needleman and Wunsch
3 7
Algorithm, Smith and Waterman Algorithm, Hidden Markov Model:
Viterbi Algorithm. Heuristic approach: BLAST, FASTA. Building
Profiles, Profile based functional identification.
Computational Genomics: Introduction to Next Generation
Sequencing technologies. Annotations through Functional and
comparative genomics approaches, Human genome project. GWAS,
ENCODE, HUGO projects. Personalized and precision medicines.
4 Software tools in Biology: Visualization tools including Artemis and 10
Vista for genome comparison. Applications of Grid computing in
Biology. Compute Clusters and nature of problems dealt with them.
Algorithms in Computational Biology: Whole Genome Assembly and
Approved in Academic Council held on 25.10.2018
challenges, Fragment assembly algorithms, semi- global alignment,
5 exon chaining and spliced algorithms, brute force, median string and 6
other motif finding algorithms. Recent algorithms for MSA.
Chemoinformatics: Introduction, representing 2D & 3D structures, 2D
chemical database applications & molecular descriptors and their
6 5
classifications, database searching and applications in computer aided
drug design.
Quantitative structure activity relationship (QSAR): QSAR
methodology, biological and physicochemical parameters, feature
7 selection (PLS, PCA, MLR, etc.), model building and validation, QSAR 5
applications in drug design, Quantitative structure-property
relationships (QSPR), CoMFA, 3D and nD-QSAR methods.
Total lectures 42
Suggested Text and Reference Book(s):
1. Dan E. Krane and Michael L. Raymer, ‘Fundamental concepts of Bioinformatics’,
Pearson Education (low Priced Edition).
2. Claverie & Notredame, ‘Bioinformatics - A Beginners Guide’, Wiley- Dreamtech India
Pvt Ltd.
3. J. Pevnezer, ‘Bioinformatics and functional genomics’, John Wiley.
4. David Mount, Bioinformatics: sequence and Genome Analysis, Latest Edition. Cold
Spring Harbour Labortory Press.
5. Discovering Genomics, Proteomics and bioinformatics, 2/E by A. Malcolm Campbell
and Laurie J.Heyer, Publisher:Benjamin Cummings.
6. ICRF handbook of genome analysis, by NK Spurr, BD Young, SP Bryant. Volumes I &
II. - Blackwell science publishers.
7. Isaac S. Kohane, Alvin T. Kho, Atul J. Butte Microarrays for an Integrative Genomics,
MIT Press.
8. Philip E. Bourne, Jenny Gu, Structural Bioinformatics, Wiley Blackwell Publisher.
Evaluation Scheme:
Coverage / Scope of
S No Exam Marks Duration
Examination
1 T-1 15 1 Hour Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3 T-3 35 2 Hours Entire Syllabus
Assignment (2) - 10
Entire
4 Teaching Assessment 25 Quizzes (2) - 10
Semester
Attendance - 5
Course Outcomes (COs) contribution to the Programmed Outcomes (POs)
Average
PO-10
PO-11
PO-12
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Course Outcomes
CO-1 1 2 2 2 3 1 1 1 1 2 2 3 1.75
CO-2 3 3 2 2 2 2 2 1 2 2 1 2 2
CO-3 3 1 2 1 2 2 2 2 2 3 1 1 1.83
CO-4 3 3 2 2 2 2 1 2 1 2 2 1 1.91
Average 2.5 2.25 2 1.75 2.25 1.75 1.5 1.5 1.5 2.25 1.5 1.75
Course Objectives:
fundamentals of multimedia systems
basic concepts related to multimedia communication.
the evolution, latest trends, and state-of-the-art in multimedia technology, standards, and
applications
Overall, the aim of the course would be to cover all aspects related to multimedia systems and
applications ranging from basic concepts and fundamentals to more advanced discussions on the
state-of-the-art in this field..
Course Outcomes:
S. No. Course Outcomes Level of
Attainment
Demonstrate mastery of scripting in a multimedia development
CO-1 Familiarity
environment.
Create multi-user multimedia applications.
CO-2 Assessment
Create an image/audio/video multimedia application.
CO-3 Assessment
Apply image-processing algorithms to multimedia content within a
CO-4 Assessment
scripting environment.
Apply current standards and guidelines for multimedia application
CO-5 Usage
development and delivery
Course Contents:
Lectures
Unit Contents
required
Introduction to Multimedia System and Processing
Introduction to Multimedia, Application Areas, Interdisciplinary Aspects
1 6
of Multimedia, Multimedia Data representations, Multimedia Data
Encoding (Audio, Image, Video and Animation),
Multimedia Compression Basics
Concept of data compression in multimedia field, lossless techniques
(Huffman Coding, Arithmetic and Lempel-Ziv Coding, Other Coding
2 Techniques) and lossy compression techniques (Transform Coding & K- 12
L Transforms, Discrete Cosine Transforms, and BTC), Multi- Resolution
Analysis, and Still Image Compression Standards (JBIG and JPEG),
Color image processing.
Audio and Video Processing:
Basics of digital audio, quantization and transmission of Audio. Audio
3 6
Approved in Academic Council held on 25.10.2018
compression, Audio MPEG, Video Coding Standards (MPEG video
coding, MPEG4, 7, and beyond).
Media Server & Networks :
Media Server Architecture, Storage Management, Services, Protocols,
Layers, Requirements to Services and Protocols, Layers of the ISO-OSI
4 Model, ATM Networks, Traditional network protocols and their support 6
for Multimedia, Traditional transport protocols
and their support for Multimedia, New protocols for transport of
multimedia
Quality of Service & Multimedia Operating System
Requirements and Constraints, Quality of Services Concept, Resource
Management, Establishment Phase (QoS Translation, QoS Scaling, QoS
5 6
Routing, Admission Control), Run-time Phase of Multimedia Call,
Process Management, Inter process Communication and
Synchronization, Memory Management, Device Management.
6 Multimedia Applications: Case studies 6
Total lectures 42
Suggested Text Book(s):
Ralf Steinmetz, Klara Nahrstedt. Multimedia Systems, Springer, Springer International Edition,
(Textbook)
Fundamentals of Multimedia: Ze-Nian Li & Mark S. Drew, Pearson Prentice Hall, 2004
Suggested Reference Book(s):
John. F. Koegel Buford. Multimedia Systems. Pearson Education.
Robert Reinhardt and Joey Lott. Flash MX Action Script Programming. Wiley.
James E. Shuman. Multimedia in Action. Cengage Learning.
Khalid Shayood, Data Compression.
Other useful resource(s):
IEEE Transactions on Multimedia Systems.
Multimedia Systems (ACM Press)
ACM SIGMM conference
Evaluation Scheme:
S. No Exam Marks Duration Coverage / Scope of Examination
1 T-1 15 1 Hour. Syllabus covered upto T-1
2 T-2 25 1.5 Hours Syllabus covered upto T-2
3 T-3 35 2 Hours Entire Syllabus
4 Teaching Entire Assignment (2) - 10
Assessment Semester Quizzes (2) - 10
Attendance - 5
PO-11
PO-12
Course
PO-1
PO-2
PO-3
PO-4
PO-5
PO-6
PO-7
PO-8
PO-9
Outcomes
CO-1 3 3 3 2 2 3 2 2 2 3 1 3 2.4
CO-2 3 3 3 2 3 2 3 2 2 3 1 3 2.5
CO-3 3 3 3 2 2 3 1 2 3 3 1 3 2.4
CO-4 3 3 3 2 3 3 2 2 3 3 1 3 2.6
CO-5 3 3 3 2 3 3 2 2 3 3 1 3 2.6
Average 3 3 3 2 2.6 2.8 2 2 2.6 3 1 3
Approved in Academic Council held on 25.10.2018
Approved in Academic Council held on 25.10.2018