1865imguf BTCSE Course Structure and Syllabus Batch 2020 2024
1865imguf BTCSE Course Structure and Syllabus Batch 2020 2024
DIT UNIVERSITY
Dehradun
of
With Specializations in
AI, Machine Learning and Robotics
Data Science and Analytics
Internet of Things and Edge Computing
Cybersecurity and Privacy
Computer Vision and Biometrics
Cloud Computing and Blockchain*
Full Stack and DevOps*
Introduction
The Ministry of Human Resource Development (MHRD), Govt. of India, has initiated development of
a New Education Policy (NEP) to bring out comprehensive reforms in the Indian education system.
The University Grants Commission (UGC) has subsequently initiated several steps to foster academic
excellence through introduction of paradigm shift in learning and teaching pedagogy, innovation and
improvement in course curricula, examination and education system.
While a majority of education institutions have started following the semester-based system of
education, it has been observed that this new system is still producing graduates who lack knowledge,
values, skills and are not job ready professional. The reason for this lacking could be attributed to the
rigidity of our program structures and lack of flexibility to have choices among core subject education,
liberal arts, ability enhancement, skill development, etc., that is fundamental to overall development and
employability of these graduates.
To make this possible, a fully flexible choice-based credit system (FFCBCS), a well-established
internationally known system, is proposed. This fully flexible choice-based credit system allows
students the flexibility to learn at their own pace, and register for both core subjects and a variety of
courses from other areas, leading to holistic development of an individual. The FFCBCS will facilitate
us to bench mark our programs with best international liberal arts based academic programs.
1. A minimum of 150-160 credits has to be earned by a student to be eligible for an Under Graduate
degree in Engineering. Each department will decide their total credits for each program, and it can vary
across disciplines.
2. Courses are categorized into 11 baskets, and a student will have the option to choose courses in
most baskets and earn minimum number of credits required in each basket for the award of his/her
degree. For each basket, Engineering departments have the flexibility to identify course(s) which will
be a core requirement for their program.
Committee will be chaired by the Dean Academic Affairs/ Deans of respective Schools/ Competent
Authority.
5. To provide sufficient flexibility and room during the program for additional Certificates,
Specializations, and Minors, 8-week summer semesters (Summer 1, Summer 2, and Summer 3) may
have to run. Summer semesters are critical for implementing a fully flexible system. Each department
will decide a priori which courses to offer in the summer semester and get them finalized at the
Academic Advisory Committee meeting.
6. Project based learning has to be incorporated as a core component of evaluation in each course,
and depending on the level and type of the course, the project can be of several types - Study Oriented
Project, Lab Oriented Project, Design Oriented Project, Computer Oriented Project, Projects of
Organizational Aspects, Research Projects, or Entrepreneurship and Start Up Projects. A Capstone
Project has been introduced in the 8th semester for all Bachelor of Technology students.
8. Each student will be advised by a faculty advisor of his/her department for registration of
courses from each basket in the beginning of semester, depending upon the availability of seats. A
student advising centre may be formed where students will have access to department faculty advisers.
Faculty advisers should have complete access to view individual student’s academic transcript for
advising purposes.
9. A student getting an F grade in a core course (departmental or otherwise) at the end of the
semester will have to earn those credits by registering for the same course whenever it is offered in
subsequent semesters. If the course is not a core course, the student may choose to register for any other
course next semester in that basket as advised by the department faculty adviser. Additional fees for
those number of credits may apply.
10. Students may opt for summer training/internships/industrial tours as advised by the department.
However, these activities will not have credits.
Baskets of FFCBCS
11 baskets of courses have been identified to provide student comprehensive exposure to a large number
of areas, leading to the holistic development of an individual. These baskets are as follows:
1. Language and Literature: These include courses related to English or other popular languages
worldwide, communication skills, and literature. These courses are of 3 credits each.
2. Core Science: These courses include science courses from the disciplines of Physics and
Chemistry. These courses are of 5 credits each.
3. Core Mathematics: This basket includes courses from Mathematics department, crafted for
Engineering students. These courses are of 4 credits each.
4. Engineering Sciences: This basket includes introductory courses from various disciplines of
Engineering designed to provide the student solid foundation to the domain of engineering. These
courses are of 4 credits each.
5. Discipline Core: This basket includes compulsory courses in the discipline in which the student
is admitted to the University. These courses are of 4 credits each.
6. Discipline Elective: This basket provides students courses other than discipline core, and are
normally in certain specialized areas. These courses are of 3 credits each.
7. Humanities and Liberal Arts: This basket includes liberal arts courses in various disciplines
like psychology, management, economics, etc., and are of 3 credits each.
8. Skill Enhancement: Courses in this basket are primarily hands-on and aims to allow students
acquire skills required in certain disciplines that are currently in high demand in the job market. These
courses are of 2 credits each.
9. Ability Enhancement: These courses aim to enhance knowledge and ability of an individual
in certain required areas related to national and societal interest. Courses in this basket are of 2 credits
each.
10. Free Electives: Student can register for any three courses outside their department of his/her
choice. These courses can also be taken from MOOCs, and a minimum of 9 credits have to be taken by
a student in this basket. These courses are of 3 credits each.
11. Capstone Project: Capstone project is a semester long multifaceted experimental/research
assignment that serves as a culminating academic and intellectual experience for students, taken in the
last semester of study. It is of 12 credits and may be done groups of not more than three students, and in
three modes as follows:
• Mode A: Project with a department faculty.
• Mode B: Project as part of Industry Internship arranged only by the career and placement service
of the University. Students securing this assignment on their own will not be allowed, unless the project
is secured at a well-known industry, and duly approved by the department. The department's decision in
all such cases will be final.
• Mode C: Semester long project in an academic institute/lab of National/International
Importance, secured by students on their own. The department's decision to allow in all such cases will
be final.
Basket/Area Credits
Language and Literature (LL) 6
Core Sciences (CoS) 10
Core Mathematics (CM) 12
Engineering Sciences (ES) 20
Discipline Core (DC) 48
Discipline Elective (DE) 18
Humanities and Social Sciences (HSS) 9
Skill Enhancement Courses (SEC) 8
Ability Enhancement Courses (AEC) 8
Free Electives (FE) 9
Project (PRJ) 12
Total 160
Course Baskets: University FFCBCS Baskets (other than DC/DE) for B.Tech. Programs.
A * against a course means it is a core course for all B.Tech. students.
Abbreviations
11 CD Compiler Design
12 IJP Introduction to Java Programming
13 AJP Advanced Java Programming
14 CN Computer Networks
After release of Final Exam results, Academic Advisory Committee meets to decide & finalize
Courses are created in SAP and in LMS with required number of seats
Students get advised and registers for courses in the Student Advising Centre
Class Starts
COURSE OUTLINE:
This course contains the fundamental concepts about the computer hardware and intends to provide to
students about the knowledge of C language.
COURSE OBJECTIVE:
The objective of the course is to make the students to understand the key hardware components in a
modern computer system and as to how the software is mapped to the hardware. The student shall also be
able to learn make the computer programs using C language by exploring the various features of C.
COURSE OUTCOMES:
At the end of the course, the student will be able to:
CO1. To formulate simple algorithms for arithmetic and logical problems.
CO2. To implement conditional branching, iteration and recursion.
CO3. To decompose a problem into functions and synthesize a complete program using divide and
conquer approach.
CO4. To use arrays, pointers and structures to formulate algorithms and programs.
CO5. To apply programming to solve matrix addition and multiplication problems and searching and
sorting problems
CURRICULUM CONTENT
UNIT 1: Introduction to Computer, Programming & algorithms (8 L)
Introduction to components of a computer system (disks, memory, processor, where a program is stored
and executed, operating system, compilers etc.)
Idea of Algorithm: steps to solve logical and numerical problems. Representation of Algorithm:
Flowchart/Pseudocode with examples, From algorithms to programs; source code, variables (with data
types) variables and memory locations, Syntax and Logical Errors in compilation, object and executable
code
Searching & Sorting: Searching, Basic Sorting Algorithms (Bubble, Insertion and Selection), Finding
roots of equations, notion of order of complexity through example programs (no formal definition
required)
TEXT BOOKS
1. Byron Gottfried, “Schaum's Outline of Programming with C”, 2nd edition 2006 McGraw-Hill.
2. E. Balaguruswamy, “Programming in ANSI C”, 8th Edition 2019, McGraw-Hill Eduaction India.
REFERENCES
1. Brian W. Kernighan and Dennis M. Ritchie, “The C Programming Language”, 2nd edition 1988,
Prentice Hall of India.
LIST OF EXPERIMENTS:
COURSE SUMMARY
The course is a foundation level course and requires the knowledge of the C programming language. The
course outlines the detailed architecture and implementation of basic data structures such as Stacks,
Queues, Linked Lists, Trees, and Graphs. It also covers the time and space complexity analysis of different
searching and sorting techniques. Some of the searching methods include Linear Search, Binary Search,
and sorting mechanism includes Bubble sort, Insertion sort, Selection sort, Quick sort, Merge sort, and
Heap Sort. The course also incorporates different hashing techniques, designing hash functions, hash table
implementation, and collision resolution technique.
COURSE OBJECTIVES
The main objective of this course is to introduce the concept of data structure, how to choose a particular
data structure, and how the choice of a data structure impacts the performance of programs. The other
objective may include:
CO1: How to select the appropriate data structure model specific to some application.
CO2: Solve problems using data structures like Stacks, Queues, Linked Lists, Trees, Graphs, and writing
programs for these solutions using C code.
CO3: Introduce the concept of algorithm writing, analyzing algorithms, converting pseudocode to
appropriate C code, and showing how one solution is better than others by analyzing their computational
complexities.
COURSE OUTCOMES
On successful completion of the course, students will be able to achieve the following:
CO1: The student will develop an ability to read, write, and analyze the time and space complexity of any
algorithms.
CO2: Able to describe the properties, behaviour, and implementation of basic data structures like Stacks,
Queues, Linked List, Trees, and Graphs.
CO3: Able to convert pseudocode to its appropriate C code implementation.
CO4: Able to compare different searching and sorting techniques in terms of their memory usage and
time consumption.
CO5: Able to design and implement different hash functions, analyze the collision effect, and hash table
implementations.
CURRICULUM CONTENT
Linked Lists: Introduction to Dynamic Memory Allocation, Representation and Implementation of Single,
Double, and Circular Linked Lists, Operations on Linked List: Insert, Delete, Traverse etc. Applications
of Linked List, Linked List representation of Stack and Queue. Trees: Basic Tree terminologies, Types
of Trees: Binary Tree, Binary Search Tree (BST), AVL Tree, B-Tree, and Heap. Representation and
Implementations of different types of trees, Tree Traversal algorithms, Operation on trees: Insert, Delete,
etc., Applications of Tress.
Unit4: Graphs (7 L)
Graphs: Introduction to Graph and their Terminologies, Types of Graph, Representations of Graph, Graph
traversal algorithms, Topological Sorting, Minimum Spanning Tree, Shortest Path Algorithms: Single
Source Shortest Path like Bellman-Ford, Dijkstra and All Pair Shortest Path like Floyd-Warshall.
Sorting Algorithms and their Analysis: Selection Sort, Bubble sort, Insertion sort, Quick sort, Merge sort,
Heap Sort. Performance Analysis and Comparison of all sorting techniques. Hashing: Hash Functions and
its type, Hash Table construction, Collision Resolution, Universal Addressing, Open Hashing.
TEXTBOOK(S)
1. Aaron M. Tenenbaum, Yedidyah Langsam, Moshe J. Augenstein, Data Structures using C
Pearson.1st Edition.2019
2. Schaum’s outline series ,Data structures with C, McGraw Hill Education; 1st edition (July 2017)
REFERENCE BOOKS
1. Horowitz and Sahani, “Fundamentals of Data Structures”, Galgotia Publication,2nd Edition. 2008.
2. Robert Kruse, Data Structures and Program Design in C PHI.2nd Edition.2006.
3. Willam J. Collins, Data Structure and the Standard Template library –2003, T.M.H.1st Edition.
4. Kyle Loudon, Mastering Algorithms with C, O’Reily Publication, 1st Edition, 1999
List of Experiments
S.NO. EXPERIMENT NAME
1 Program in C for the implementation of Array for various operations.
2 Program in C for the creation of Stack for its various operation implementation.
3 Program in C for the creation of Queue for its various operation implementation.
4 Program in C for the creation of Link list for its various operation implementation.
5 Program in C for the creation of Circular Link list for its various operation
implementation.
6 Program in C for the creation of Doubly Link list for its various operation implementation.
7 Program in C for the creation of Binary Search Tree for its various operation
implementation.
8 Program in C for the Implementation of sorting Algorithms.
9 Program in C for the Implementation of basic Graph Algorithms.
COURSE SUMMARY
The course is proposed to teach the students the concepts of computer organization for several engineering
computing systems. Students will develop the ability and confidence to use the fundamentals of computer
organization as a tool in the engineering of digital systems.
COURSE OBJECTIVES-
This course will facilitate the students to learn the fundamentals of computer organization and its
relevance to classical and modern problems of computer design.
COURSE OUTCOMES –
On successful completion of the course students will be able to -
CO1: This will help the students to be familiarized with the hardware components and concepts related
to the control design
CO2: This will also help the students to be familiarized with addressing modes, different types of
instruction formats
CO3: Students will learn about various I/O devices and the I/O interface.
CO4: The student will be able to learn the hardware components and concepts related to the memory
organization.
CO5: Students will be able to get the theoretical concept of parallel processing and different types of
multiprocessor’s interconnection structures.
CURRICULUM CONTENT
TEXT BOOKS:
1. John P. Hayes. Computer Architecture and Organization, 3rd Edition, McGraw Hill, 2012
2. M. Morris Mano. Computer System Architecture 3rd Ed, Pearson Education-2017
3. Carl Hamacher, Zvonko Vranesic, Safwatzaky. Computer Organization, 5th Edition, TMH 2011
REFERENCE BOOKS:
1. John L. Hennessey and David A. Patterson: Computer Architecture, A Quantitative Approach, 4th
Edition, Morgan Kaufmann;2006
2. Kai Hwang: Advanced Computer Architecture Parallelism, Scalability, Programmability, 2nd
Edition, Tata Mc Graw Hill, 2010
COURSE SUMMARY
This course covers elementary discrete mathematics for computer science and engineering. It emphasizes
mathematical definitions and proofs as well as applicable methods. Topics include formal logic notation,
proof methods; induction, well-ordering; sets, relations; elementary graph theory; integer congruence;
asymptotic notation and growth of functions; permutations and combinations, and counting principles.
COURSE OBJECTIVES
The objectives of this course is to learn concepts of Discrete Mathematics and by applying the algorithms
to solve the problems related to Recursion, combinatorial mathematics and problems on basic graph
theory.
COURSE OUTCOMES
On successful completion of the course, students will be able to achieve the following:
CO1: An ability to perform operations on discrete structures such as sets, functions, relations, and
sequences.
CO2: An ability to construct proofs using direct proof, proof by contradiction, proof by cases, and
mathematical induction.
CO3: An ability to demonstrate the ability to solve problems using counting techniques and combinatorics
in the context of discrete probability.
CO4: An ability to solve problems involving recurrence relations and generating functions.
CO5: An ability to prove computational theorem
CO6: Understand and implement various types of searching, sorting and hashing.
CURRICULUM CONTENT
TEXTBOOK(S)
1. Liu C.L., Elements of Discrete Mathematics, McGraw Hill Education. 4th edition2017.
2. Kolman B & Busby C.R., Discrete Mathematical Structure for Computer Science, Prentice Hall
of India Ltd. 6th Edition 2008.
3. Deo N., Graph Theory, Prentice Hall of India 1974.
REFERENCE BOOKS
1. Trembley J.P. &Manohar R., Discrete Mathematical Structures with Applications to Computer
Science, Tata McGraw Hill.1st Indian Edition 2017
COURSE SUMMARY
This course covers Java and fundamental programming techniques with primitive data types, variables,
constants, assignments, expressions, and operators, selection statements, mathematical functions,
characters, and strings, loops, methods, and arrays. Students will learn how to write recursive methods
for solving inherently recursive problems. The next part will introduce object-oriented programming.
Java is an object-oriented programming language that uses abstraction, encapsulation, inheritance, and
polymorphism to provide great flexibility, modularity, and reusability in developing software. Students
will learn programming with objects and classes, class inheritance, polymorphism, exception handling,
abstract classes, interfaces, Text I/O and binary I/O.
COURSE OBJECTIVES
The objectives of this course are to learn object oriented programming paradigm using Java as
programming language. Students will be exposed to fundamental concepts in java programming language,
followed by object oriented paradigm and its building blocks.
COURSE OUTCOMES
On successful completion of the course, students will be able to achieve the following:
CO1: Understand and implement fundamental programming techniques and data types, variables,
constants, assignments, expressions, and operators of Java programming language.
CO2: Understand and implement selection statements, mathematical functions, characters, and strings,
loops,
CO3: Understand and implement methods, arrays and recursion using Java.
CO4: Understand and implement object-oriented paradigm using abstraction, encapsulation, inheritance,
and polymorphism.
CO5: Understand and implement the objects and classes, exception handling, abstract classes, interfaces,
Text I/O and binary I/O.
CURRICULUM CONTENT
UNIT5: Exception handling, Abstract Classes and Interfaces, Binary I/O. Generics (6 L)
Exception-Handling Overview, Exception Types, the finally Clause, When to Use Exceptions, Defining
Custom Exception Classes.
Abstract Classes, Interfaces, The Comparable Interface, The Clone able Interface, Interfaces vs. Abstract
Classes.
Introduction, How Is Text I/O Handled in Java?, Text I/O vs. Binary I/O, Binary I/O Classes
Motivations and Benefits, Defining Generic Classes and Interfaces, Generic Methods.
TEXTBOOK(S)
1. Intro to Java Programming (Comprehensive Version), by Y. Daniel Liang. Publisher: Pearson
Education; Tenth edition (2018), ISBN-10: 935306578X, ISBN-13: 978-9353065782
REFERENCE BOOKS
1. Java - The Complete Reference, by Herbert Schildt, Publisher: McGraw Hill Education; Tenth
edition (2017), ISBN-10: 9789387432291, ISBN-13: 978-9387432291
COURSE SUMMARY
This course covers advanced Java programming concepts that includes Java user interface programming
and design, collections framework, multithreading, networking, java database programming. Students
will also be introduced to technologies like Java beans, Servlets and JSP.
COURSE OBJECTIVES
The objectives of this course are to learn advanced java programming techniques and technologies
required to build applications at enterprise level with good user interface.
COURSE OUTCOMES
On successful completion of the course, students will be able to achieve the following:
CO1: Understand and implement JavaFX technologies.
CO2: Understand and implement java collections framework.
CO3: Understand and implement multithreading in Java.
CO4: Understand and implement networking and java database programming.
CO5: Understand and implement enterprise level technologies like beans, servlets and jsp.
CURRICULUM CONTENT
UNIT 3: Multithreading (8 L)
Thread Concepts, Creating Tasks and Threads, The Thread Class, Thread Pools, Thread Synchronization,
Synchronization Using Locks, Cooperation among Threads, Case Study: Producer/Consumer, Blocking
Queues, Semaphores, Avoiding Deadlocks, Thread States, Synchronized Collections.
TEXTBOOK(S)
1. Intro to Java Programming (Comprehensive Version), by Y. Daniel Liang. Publisher: Pearson
Education; Tenth edition (2018), ISBN-10: 935306578X, ISBN-13: 978-9353065782
REFERENCE BOOKS
1. Java - The Complete Reference, by Herbert Schildt, Publisher: McGraw Hill Education; Tenth
edition (2017), ISBN-10: 9789387432291, ISBN-13: 978-9387432291
List of Experiments
S. No. EXPERIMENT NAME
1 WAP in java to perform basic arithmetic operations.
2 WAP in java to create database connectivity with organization database & display the record
of employee table.
3 WAP to implement Runnable Interface.
4 WAP to create 5 thread by extending thread class.
5 WAP to create table Register in database and perform navigation operation using Result Set.
6 WAP in JDBC to perform Transaction Management by using Set Auto Commit (), Commit ()
& rollback () in the table student.
7 WAP in JDBC to insert Organization details by using Prepared Statement Interface.
8 WAP to demonstrate Life Cycle of Servlet.
9 WAP to switch ON and OFF the bulb by using visible bean.
10 Create a java application by implementing Generic Servlet Class.
11 WAP to display the utilization of Http Servlet Class.
12 Create login application in java by using MVC and mysql.
13 WAP using JSP code for describing all types of directive.
COURSE SUMMARY
This course will introduce the core concepts of operating systems, such as processes and threads,
scheduling, synchronization, memory management, file systems, input and output device management
and security. The course will consist of assigned reading, weekly lectures, a midterm and final exam, and
a sequence of assignments. The goal of the readings and lectures is to introduce the core concepts. The
goal of the assignments is to give students some exposure to operating system code. Students are expected
to read the course materials prior to each class, and to participate in in-class discussions.
COURSE OBJECTIVES
• To understand the services provided by and the design of an operating system.
• To understand the structure and organization of the file system.
• To understand what a process is and how processes are synchronized and scheduled.
• To understand different approaches to memory management.
• Students should be able to use system calls for managing processes, memory and the file system.
COURSE OUTCOMES
On successful completion of the course, students will be able to achieve the following:
CO1: Learn the general architecture& functioning of computers with operating system.
CO2: Describe, contrast and compare differing structures for operating systems.
CO3: Understand and analyze theory and implementation of: processes, resource control (concurrency
etc.).
CO4: Understands physical and virtual memory, scheduling, I/O and files
CURRICULUM CONTENT
TEXT BOOKS
1. Silberschatz, Galvin and Gagne, “Operating Systems Concepts”, Wiley, 9th Edition 2018.
REFERENCES
1. Harvey M. Dietel, “ An Introduction to Operating System”, PearsonEducation ,1st Edition 2009.
2. D M Dhamdhere, “Operating Systems: A Concept based Approach”, PHI. 3rd Edition.2017.
List of Experiments
1 Implement the following algorithm FCFS, SJF, Round Robin, Priority in Linux.
2 Implement the concept of fork() system call using C programming in Linux environment
only.
COURSE SUMMARY
The students will learn the basic theory of database. They will be able to design and develop database
using conceptual schema, logical schema and physical schema and are expect to learn how to write
database management system software. They will also learn some of the specialized databases.
COURSE OBJECTIVES
This course aims to educate students on the role of a well-structured relational database management
system (RDBMS) to the efficient functioning of an organization. This course covers theory and practice
in designing a relational database management system with example of a current database product of
MYSQL. Students also learn about the important concepts of database integrity, security and availability
with techniques like normalization, concurrency control and recoverability control.
COURSE OUTCOMES
On successful completion of the course, students will be able to achieve the following:
CO1: Apply and create Relational Database Design process with Normalization and De-normalization of
data.
CO2: Analyze and design database using E-R data model by identifying entities, attributes and
relationships.
CO3: To work on MySQL database management system.
CO4: To create database and query the database for information retrieval.
CO5: To design a database so that data redundancy, data inconsistency and data loss problems may be
resolved. Understand and implement Graphs and Graph Algorithms.
CURRICULUM CONTENT
SQL: Form of Basic SQL Query, Nested Queries, Aggregative Operators, NULL values, Logical
operators, Outer Joins, Complex Integrity Constraints in SQL.
TEXT BOOKS
1. Raghurama Krishnan, Johannes Gehrke, Data base Management Systems, TATA McGrawHill
3rd Edition,2014
2. Silberschatz, Korth, Data base System Concepts, McGraw hill, 6th edition,2013
3. ElmasriNavate, Fundamentals of Database Systems, Pearson Education,7th edition 2016
REFERENCES
1. Peter Rob & Carlos Coronel, Data base Systems design, Implementation, and Management,
Course Technology Inc, 7thEdition, 2006.
2. C.J.Date ,Introduction to Database Systems, Pearson Education,8th edition,2012
3. Bayross I., SQL, PL/SQL the Programming Language of Oracle, BPB Publications (2009) 4th
ed.
4. HofferJ., Venkataraman, R. and Topi, H., Modern Database Management, Pearson (2016) 12thed.
List of Experiments
COURSE SUMMARY
Software Engineering (SE) comprises the core principles consistent in software construction and
maintenance: fundamental software processes and life-cycles, mathematical foundations of software
engineering, requirements analysis, software engineering methodologies and standard notations,
principles of software architecture and re-use, software quality frameworks and validation, software
development, and maintenance environments and tools. An introduction to object-oriented software
development process and design.
COURSE OBJECTIVES
Knowledge of basic SW engineering methods and practices, and their appropriate application. Describe
software engineering layered technology and Process framework. A general understanding of software
process models such as the waterfall and evolutionary models. Understanding of software requirements
and the SRS documents. Understanding of the role of project management including planning, scheduling,
risk management, etc. Describe data models, object models, context models and behavioral models.
Understanding of different software architectural styles. Understanding of implementation issues such as
modularity and coding standards. Understanding of approaches to verification and validation including
static analysis, and reviews. Understanding of software testing approaches such as unit testing and
integration testing. Describe software measurement and software risks. Understanding of software
evolution and related issues such as version management. Understanding on quality control and how to
ensure good quality software.
COURSE OUTCOMES
On successful completion of the course, students will be able to achieve the following:
CO1: Methods and tools to design, implement, test, document and maintain a software system.
CO2: Access, retrieve and evaluate relevant professional information reliably.
CO3: Apply empirical and mathematics research methods, technique and problem solving approaches for
developing software.
CO4: Be receptive to new ideas and innovation.
CO5: Ability to apply software engineering principles and techniques to develop large-scale software
systems. Understand and implement various types of searching, sorting and hashing.
CURRICULUM CONTENT
Unit I (8 L)
Introduction to Software Engineering, Software Characteristics, Software Crisis, Software Engineering
Processes, Software Development Life Cycle (SDLC) Models: Water Fall Model, Prototype Model, Spiral
Model, Evolutionary Development Models, Iterative Enhancement Models
Unit II (9 L)
Software Requirement Analysis and Specifications: Requirement Engineering Process: Elicitation,
Analysis, Documentation, Review and Management of User Needs, Data Flow Diagrams, Data
Dictionaries, Entity-Relationship diagrams, Software Requirement and Specifications, Functional and
non-Functional requirements, Software Prototyping, Feasibility Study, Information Modeling, Decision
Tables, SRS Document, IEEE Standards for SRS, Software Quality Assurance (SQA),SEI-CMM Model.
Unit III (9 L)
Design: Basic Concept of Software Design, Architectural Design, Low Level Design: Modularization,
Design Structure Charts, Pseudo Codes, Flow Charts, Coupling and Cohesion Measures, Design
Strategies: Function Oriented Design, Object Oriented Design, Top-Down and Bottom-Up Design.
Software Measurement and Metrics: Various Size Oriented Measures: Halestead‟s Software Science,
Function Point (FP) Based Measures, Cyclomatic Complexity Measures: Control Flow Graphs.
Unit IV (10 L)
Software Reliability: Failure and Faults, Reliability Models: Basic Model, Logarithmic Poisson Model,
Calendar time Component, Reliability Allocation. Coding: Top-Down and Bottom –Up programming,
structured programming, Compliance with Design and Coding Standards.
Software Project Management:Project planning and Project scheduling. Software Metrics: Size Metrics
like LOC, Token Count, Function Count. Cost estimation using models like COCOMO. Risk management
activities. Software Reliability and Quality Assurance: Reliability issues, Reliability metrics, reliability
models, Software quality, ISO 9000 certification for software industry, SEI capability maturity model.
Computer-aided software engineering (CASE), software reuse, component-based software development,
extreme programming.
Unit V (10 L)
Testing: Objectives, Testing Tools & Standards. Unit Testing, Integration Testing, Acceptance Testing,
Regression Testing, Top-Down and Bottom-Up Testing Strategies: Test Drivers and Test Stubs, Path
Testing, Structural Testing (White Box Testing), Functional Testing (Black Box Testing),
Maintenance: Corrective and Perfective Maintenance, Maintenance Process, Maintenance Models,
Maintenance Cost, Software Re-Engineering, Reverse Engineering. Constructive Cost Models
(COCOMO).
Software Quality Management: Software Quality Factors, Quality Assurance, Quality Standards,
Software Maintenance.
TEXTBOOKS
1. R. S. Pressman, “Software Engineering – A practitioner’s approach”, McGraw Hill Education; 7 edition
(2009)
2. K.K. Aggarwal & Yogesh Singh, “Software Engineering”, New Age International, 2nd Ed. 2006.
3. Pankaj Jalote, Software Engineering, Wiley India,2010
REFERENCE BOOKS
1. Rajib Mall, Fundamentals of Software Engineering, PHI Publication, 4th Edition, 2014.
2. Ian Sommerville, Software Engineering, Addison Wesley, 10th Edition,2015
3. James Peter, W Pedrycz, “Software Engineering”, John Wiley & Sons,2000
COURSE SUMMARY
The course introduces some fundamental concepts in theory of computations and formal languages,
including language, their type, and related grammar, finite automaton, regular expression, formal
language, pushdown automaton and Turing machines. It also includes introductory concepts of its
applications into other area of computer science.
COURSE OBJECTIVES
This course will facilitate the students to learn the mathematical foundations of computation including
automata theory; the theory of formal languages and grammars; the notions of algorithm, decidability,
complexity, and computability.
COURSE OUTCOMES
On successful completion of the course, students will be able to achieve the following:
CO1. Analyze and design finite automata, pushdown automata, Turing machines, formal languages, and
grammars.
CO2. Demonstrate their understanding of key notions, such as algorithm, computability, decidability, and
complexity through problem solving.
CO3. Proof of the basic results of the Theory of Computation.
CO4. Use of Turing machine in computational mathematics
CO5. Use of automata theory in application problems
CURRICULUM CONTENT
Context free grammar: Grammar for CFL, Derivation trees, sentential forms. Ambiguity in context free
grammars; Normal forms: Chomsky normal form and Greibach normal form; Pumping Lemma for
Context Free Languages, Closure property of CFL.
TEXTBOOK(S)
1. Hopcroft H.E. and Ullman J. D ,“Introduction to Automata Theory Language and Computation”,.,
Pearson Education.3rd Edition.2006.
2. J. C. Martin, “Introduction to Languages and the Theory of Computation“, 4th edition, Tata McGraw-
Hill.2010.
3. K.L.P. Mishra, “Theory of Computer Science”, PHI.3rd Edition 2014.
REFERENCE BOOKS
1. Lewis H.P. & Papadimitrou “Elements of Theory of Computation”, C.H. Pearson, PHI.2nd Edition
2011.
2. Michael Sipser“ Introduction to the Theory of Computation”, Thomson India 2nd
Edition(international) 2004
COURSE SUMMARY
The course is proposed to teach the students basic techniques that are used for the compiler design. The
course introduction to all the phases of compiler and will introduce the theory and tools that are standardly
employed in order to perform conversion of a high-level programming language into machine level code.
COURSE OBJECTIVES-
The main objective of this course in to learn about different phases of compiler design and various types
of grammars used in compiler design with practical exposure.
COURSE OUTCOMES –
On successful completion of the course students will be able to -
CO1: Find out the tokens from high level language program and also understand the working of lexical
analyzer.
CO2: Understand Different type of parsing techniques and will be able to differentiate between them.
CO3: Understand the importance of semantic rules.
CO4: Understand importance of symbol table and error handling while compilation process.
CO5: Student should analyze the program and minimize the code by using optimizing techniques which
helps in reducing the no. of instructions in a program and also utilization of registers in an effective way.
CURRICULUM CONTENT
Unit I: Introduction: (7 L)
Compiler and Interpreter- Basic Concepts. Phases and Passes, Design Issues using Finite State Machines,
Review of Languages & Grammar, Derivation and Parse Trees, Capabilities of CFG, Ambiguous
Grammar, BNF Notation.
TEXT BOOK:
1. Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, “Compilers-Principles, Techniques & Tools”,
Pearson Education, 2nd Edition, 2008
List of Experiments
S. No EXPERIMENT NAME
1 Write a program in C to count number of spaces in a line.
4 Write a C program to test whether a given identifier is valid or not. (Logical, arithmetic)
5 Write a program using Lex to print any arithmetic expression in the form of tokens E.g. 2 +
4*3
O/p – Number plus/op Number Multi/op Number
6 Write a program in Lex to identify whether letter is consonant or vowel. E.g. gari
O/P – consonant vowel consonant vowel
COURSE SUMMARY
The course is a foundation level course and provides an in-depth description of computer networks. It
begins by introducing the fundamentals of data communication and proceeds through the protocol
layering architecture. It covers the physical layer by introducing the conversion of the analog and digital
signals, transmission impairments, and transmission media. It also includes the data link layer and its
services through protocols, network layer, IP address, delivery & forwarding packets, and network-layer
protocols. Finally, it describes the transport layer & application layer that includes flow control, error
control, congestion control, and application layer protocols like HTTP, FTP, SMTP, etc.
COURSE OBJECTIVES
The main objective of this course is to introduce you the fundamental concept of computer networks, how
to build a network, what are the software & hardware requirements, how to analyze a network for
performance and quality of service, and how two computers connected to a network communicate with
each other.
COURSE OUTCOMES
On successful completion of the course, students will be able to achieve the following:
CO1: The student will develop an ability to describe what a computer network is and how data
communication takes place between two computers connected to a network.
CO2: Able to explain the protocol layering architecture and what are the different functions of each layer.
CO3: Able to identify the requirements for network design in terms of hardware and software used in
network construction.
CO4: Able to explain the IPV4 addressing technique, including classful & classless address along with
subnetting.
CO5: Develop an ability to analyze a network for their performance, quality of service, and throughput.
CURRICULUM CONTENT
Data Communication and Network Fundamentals: Components of a Data Communication System, Data
Flow, Computer Network and Internet, Network Topology, Network Models, Network Protocols, The
Internet, History of Computer Network and the Internet.
Network Model and Layering Architecture: Network core: Packet Switch and Circuit Switch Network, A
Network of Networks, Delay, Loss, and Throughput in Packet-Switched Networks, Protocol Layer and
their Service Model: Layered Architecture, OSI and TCP/IP model.
Introduction to Network Layer, Packet switching at network layer, Network Layer Services, Logical
Addressing, IPV4 addresses: classful and classless, Subnetting, Delivery and Forwarding of Packets:
Direct Delivery, Indirect Delivery, Next-hop method, Network Specific Method, Host Specific Method,
Forwarding with classful and classless addressing, Routing, Structure of a Router and switching
techniques, Network Layer Protocols like ARP, RARP, ICMP etc. Unicast Routing Protocol: RIP, OSPF,
BGP , Multicast Routing Protocol.
TEXTBOOK(S)
1. Behrouz Forouzan, Data Communications, and Networking; McGraw Hill Education; 4th
Edition (2017).
2. James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach Pearson
Education; Sixth edition (2017)
REFERENCE BOOKS
1. Andrews S. Tanenbaum, David J Wetherall; Computer Networks; Pearson Education; 5th
Edition, 2013
2. Peterson, Larry L., and Bruce S. Davie. Computer networks: a systems approach. Elsevier, 2007.
List of Experiments
COURSE SUMMARY
Comprehensive introduction to the study of computer algorithms with its analysis (time and space
complexity). Study of various techniques (Divide & Conquer, Greedy, Dynamic Programming,
Backtracking, and Branch & Bound) to design an algorithm. Introduction of the problems that comes
under category of P and NP.
COURSE OBJECTIVES
This course aims to provide the knowledge and understanding the complexity issues of algorithms
1. To introduce algorithms analysis and design techniques
2. To understand and design of algorithms used for searching, sorting, indexing operation.
COURSE OUTCOMES
CO1. Analyzing complexity issues of algorithms
CO2. Ability in using the appropriate algorithm for searching, sorting, indexing operations
CO3. Designing of new algorithms
CO4. Student will be able to learn NP Class problems.
CURRICULUM CONTENT
Unit-I (6 L)
Introduction: Algorithms, Performance Analysis: Space and Time Complexity, Asymptotic Notations-
Big Oh, Omega, theta notations, finding complexity of the algorithm, Sorting: Insertion sort, Bubble sort,
selection sort, count sort.
Unit –II (8 L)
Recurrence relation and its solution (substitution, recurrence tree and master method).
Divide and Conquer: General method, binary search, quick sort, merge sort, heap sort
Unit –III (8 L)
Greedy Method: General method, Activity Selection, job scheduling with deadlines, fractional knapsack
problem, Minimum cost spanning tree: Kruskal’s and Prim’s, single source shortest path, Huffman tree.
Unit – IV (9 L)
Dynamic Programming: General Method, 0-1 Knapsack, Matrix chain multiplication, longest
subsequence, all pair shortest paths,
Backtracking- Travelling Salesman Problem, Graph Coloring, n-Queen Problem, Hamiltonian Cycles and
Sum of subsets.
Unit –V (6 L)
Branch and Bound: Travelling Salesman Problem
NP-Hard and NP-Complete problems: Basic Concepts, non-deterministic algorithms, NP-Hard and NP-
Complete classes.
TEXT BOOKS:
1. Ellis Horowitz, SatrajSahni and Rajasekharam, Fundamentals of Computer Algorithms, Universities
Press; Second edition (2008).
2. T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, “Introduction to Algorithms”, MIT Press; 3rd
edition ( 2009).
3. Anany Levitin, “Introduction to the Design and Analysis of Algorithm”, Pearson Education India; 2nd
edition (2008).
4. M.T.Goodrich and R.Tomassia, Algorithm Design: Foundations, Analysis and Internet examples, John
Wiley & Sons; 1st edition (2001)
REFERENCE BOOKS:
1. R.C.T.Lee, S.S.Tseng, R.C.Chang and T.Tsai, Introduction to Design and Analysis of Algorithms A
strategic approach, McGraw-Hill Education (Asia) ,2005
2. Aho, Ullman and Hopcroft ,Design and Analysis of algorithms, Pearson Education India; 1st edition
2002
List of Experiments
S.NO. EXPERIMENT NAME
1 Program in C to Implement Insertion sort, selection sort
2 Program in C to Implement Quick Sort
3 Program in C to Implement Merge Sort
4 Program in C to Implement Binary Searching, Heap sort
5 Program in C to Implement Activity Selection problem
6 Program in C to Implement job scheduling with deadlines
7 Program in C to Implement fractional knapsack problem
8 Program in C to Implement single source shortest path (Dijkstra Algorithm)
9 Program in C to Implement 0-1 Knapsack problem using Dynamic Programming
10 Program in C to Implement all pair shortest path
COURSE SUMMARY
The course will start with a brief introduction to artificial Intelligence. This course includes basic AI
search techniques like A*, BFS, DFS. Introduction to Prolog is also important part of the content.
Knowledge Representation, Reasoning Planning and Learning being requirement for development of
expert system is also part of this course.
COURSE OBJECTIVES
The course is proposed to teach concepts of Artificial Intelligence. The subject will provide the
foundations for AI problem solving techniques and knowledge representation formalisms.
COURSE OUTCOMES
On successful completion of the course, students will be able to achieve the following:
CO1: Ability to identify and formulate appropriate AI methods for solving a problem.
CO2: Ability to implement AI algorithms.
CO3: Ability to compare different AI algorithms in terms of design issues, computational complexity,
and assumptions.
CO4: Student will be able to use the concepts of AI for real world problem solving.
CO5: Visualize the basic use of AI algorithms and their implementations in laboratory.
CURRICULUM CONTENT
Unit I (8 L)
Introduction- Definitions, Intelligent Agents, Problem solving and Search- Uninformed Search, Informed
Search, MiniMax Search, Constraint Satisfaction Problem, A*, Best Search, DFS, BFS.
Unit II (7 L)
Prolog-Introduction to Prolog, Syntax and Meanings of Prolog Programs, Operators and Arithmetic,
Prolog for Artificial Intelligence.
Unit III (7 L)
Knowledge Representation- Introduction, Approaches and Issues in Knowledge Representation,
Propositional Logic and Inference, First-Order Logic and Inference, Unification and Resolution, Expert
Systems.
Unit IV (8 L)
Reasoning- Introduction, Types of Reasoning, Probabilistic Reasoning, Probabilistic Graphical Models,
Certainty factors and Rule Based Systems, Introduction to Fuzzy Reasoning.
Unit V (7 L)
Planning and Learning- Introduction to Planning, Types-Conditional, Continuous, Multi-Agent.
Introduction to Learning, Categories of Learning, Inductive Learning, Supervised and Unsupervised &
Reinforcement Learning, Basic Introduction to Neural Net Learning.
TEXT BOOKS:
1. Stuart J. Russell and Peter Norvig, "Artificial Intelligence: A Modern Approach", Pearson Education
India; 3rd edition (2015).
2. Elaine Rich, Kevin Knight and Shivashankar B.Nair, “Artificial Intelligence”, McGraw Hill
Education; 3rd edition (2017).
3. Nils J. Nilsson, “Artificial Intelligence - A New Synthesis", Morgan Kaufmann Publishers, Inc.; 1st
edition ( 1998).
REFERENCE BOOKS:
1. Ivan Bratko, “Prolog Programming for Artificial Intelligence”, Addison Wesley; 4 th edition (August
2011).
2. Dan W. Patterson, “Introduction to Artificial Intelligence and Expert Systems”, Prentice-Hall (1990)
List of Experiments
S. No. EXPERIMENT NAME
1 Introduction to PROLOG programming, PROLOG platform. “Hello World” program.
2 Defining Clauses and Predicates, Variables, Anonymous Variables.
Arithmetic Operators, Arithmetic Functions and Logical Operators (NOT, conjunction
3
disjunction).
4 Binding Variables and Backtracking & Concept of Unification.
5 Implementation of Recursion in PROLOG.
6 Implementation of LIST and built-in predicates of LIST in PROLOG.
Implementation of State-Space Searching Problem using PROLOG (Water-Jug or 8 Queens
7
problem).
8 Universal and Existential Quantifier Variables in PROLOG.
9 Knowledge Base and Rule Base Creation for a specific domain in PROLOG.
10 Implementation of Resolution process in PROLOG.
11 Implementation of an Expert System for a particular domain.
Course Summary
This course is designed to provide an introduction to techniques, and algorithms in machine learning,
beginning with topics such as classification and linear regression and ending up with more recent topics
such as support vector machines, decision tree, and Bayesian networks. The course will give the student
the basic ideas and intuition behind modern machine learning methods as well as a bit more formal
understanding of how, why, and when they work.
Course Objectives
This course is designed to provide knowledge about basic concepts of Machine Learning, identify
machine learning techniques suitable for a given problem, solve the problems using various machine
learning techniques, apply Dimensionality reduction techniques and design application using machine
learning techniques.
Course Outcomes
1. On successful completion of the course, students will be able to achieve the following:
2. Differentiate various learning approaches, and to interpret the concepts of supervised and
unsupervised learning.
3. Compare the different dimensionality reduction techniques.
4. Illustrate the working of classifier models like SVM, Neural Networks and identify classifier
model for typical machine learning applications.
5. Apply clustering algorithms and identify its applicability in real life problems.
Curriculum Content
Unit 2:
Regression & Clustering [5]
Regression: Linear Regression, Ridge Regression, Sensitivity Analysis, Multivariate Regression.
Clustering: Distance measures, Different clustering methods (Distance, Density, Hierarchical), Iterative
distance-based clustering, dealing with continuous, categorical values in K-Means, Constructing a
hierarchical cluster, K-Medoids, k-Mode and density-based clustering, Measures of quality of clustering,
Hidden Markov Model.
Textbook(s)
Reference Books
1. Christopher Bishop, Pattern Recognition and Machine Learning, Springer, 2nd edition, 2013.
2. Stephen Marsland, Machine Learning: An Algorithmic Perspective, CRC Press, 2nd edition, 2014.
List of Experiments:
b. boxplots, histograms, bar plot, pie chart, scatter plot, two way tables,
c. covariance, correlation analysis, Chi-Square test for two way tables
Exp 5: Supervised Learning- Regressions
• Linear Regression with one variable
5
• Linear Regression with multiple variable
• Polynomial regression
Exp 6: Supervised Learning- Classifications
a. Logistic Regression
6 b. Decision Tree
c. k-Nearest Neighbours
d. Support Vector Machine
Exp 7: Unsupervised Learning- Clustering
7 a. K-means clustering
b. Hierarchical clustering
Exp 8: Deep Learning
a. Implementation of ANN
8
b. Implementation of CNN
c. Implementation of RNN
Exp 9: Data Transfer Learning
9 a. Importing pre-trained models
b. Implementation of pre-trained models with a new learning model
Benchmarking:
Course Summary: The course is proposed to teach students the concepts of Fuzzy Logic and Neural
Networks. Students will develop understanding of the different neural network algorithms and fuzzy
functions.
Course Objective: The course will facilitate the students to learn the fundamentals of Fuzzy Logic and
Neural Networks.
Course Outcome:
On successful completion of this course, students will learn the following.
1. This will help students to understand the concepts of Fuzzy Logic.
2. This will also help the students to apply different fuzzy operations and functions.
3. Students will be able to learn the concepts of Neural Network.
4. Students will also be able to understand and implement different Activation Functions.
5. Students will be able to implement different Neural Network techniques on different real-life
problems.
Curriculum Content
Unit I [3]
Introduction to Soft Computing: Concept of computing systems, "Soft" computing versus "Hard"
computing, Characteristics of Soft computing. Fuzzy Computing, Neural Computing, Applications of Soft
computing techniques.
Unit II [6]
Fundamentals of Fuzzy Logic: Basic Concepts: Fuzzy Set Theory, Basic Concepts of Crisp sets and
fuzzy set, complements, union, intersection, combination of operations, general aggregation operation,
fuzzy relations, fuzzy proposition, fuzzy implication, compatibility relation. Fuzzy membership function,
Defuzzification Techniques.
Unit V [6]
Advanced Neural Networks: Architecture of Cognitron and Neocognitron, Auto Encoders, Gated
Recurrent Unit, Long Short-Term Memory, Kohonen Self Organizing Network, Modular Neural
Network.
Suggested Books:
1. Simon S. Hayk in, Neural Networks, Prentice Hall, 3rd edition, 2009.
2. Zimmermann, Fuzzy Set theory and its application”, 4th edition, 2016.
BENCHMARK
• https://cse.iitkgp.ac.in/~dsamanta/courses/sca/index.html
• https://nptel.ac.in/content/syllabus_pdf/127105006.pdf
• https://www.seas.harvard.edu/courses/cs281/files/syllabus.pdf
Course Summary
The evolution of computers has been phenomenal in the last decades with computers becoming part of
each and every aspect of human lives. This course seeks to use the concepts of human evolution to become
a part of the further evolution of computers. Using biological evolution as a motivation many computer
problems can be solved much faster. This course seeks to guide students to how to implement and think
these algorithms.
Course Objectives
The main goal of this course is to help students learn an evolutionary method for computer solvable
problems. The course seeks to find out the solution for complex computing problems using Darwinian
laws as its basic motivation in order to find better solutions to certain problems. Students shall be able to
get familiar with advanced concepts of mutation and the implementation of these biological concepts
through methods such as neural networks and statistical methods.
Course Outcomes
On successful completion of the course, students will be able to achieve the following:
1. Understand the fundamental of evolution based learning algorithms, advanced searching and
optimization techniques.
2. Understand and implement the concepts of genetic algorithms and genetic programming
3. Ability to solve problems using swarm intelligence, Ant Colony Optimization
4. Understand multimodal problems and their solution and understand the concept of Spatial Distribution
5. Visualize the basic use of evolutionary computing algorithms and its implementations with neural
network and parallel Evolutionary Computing.
Curriculum Content
GENETIC ALGORITHMS
GENETIC PROGRAMMING
Introduction, Representation, Mutation, Recombination, Parent Selection, Survivor Selection,
Initialisation, Bloat in Genetic Programming, Problems Involving ``Physical" Environments, Example
Applications.
Textbook(s)
Reference Books
S. No. Programme
1
Write A Program For Implementing Linear Saturating Function.
2
Write A Program For Error Back Propagation Algorithm (Ebpa) Learning.
3
Study And Analysis Of Genetic Algorithm Life Cycle.
4
Study And Analysis Of Fuzzy Vs Crisp Logic.
5
Write A Program Of Perceptron Training Algorithm.
6
Write A Program To Implement Hebb’s Rule
Course Summary: The course is proposed to teach the students the concepts of Robotics. Students will
develop understanding of the different principles of sensors and methods of robot.
Course Objective: The course will start with a brief introduction to robots and robotics. Various methods
of robot teaching will be explained with some suitable examples. The working principles of various
sensors used in robots will be explained in detail. The principles of motion planning algorithms will be
explained in detail.
Course Outcome: At the end of the course, the student will learn the following:
1. Learn how to keep robots in modern industries.
2. Learn how to apply robots in different areas (space, medical, manufacturing etc.).
3. Students will have brief idea of different components of robots system and their working principle.
4. Understand the notion of an agent, how agents are distinct from other software.
5. Understand the key issues in designing societies of agents that can effectively cooperate in order to
solve problems, including an understanding of the key types of multi-agent interactions possible in such
systems.
6. Understand the main application areas of agent-based solutions, and be able to develop a meaningful
agent-based system using a contemporary agent development platform.
Curriculum Content
Suggested Books:
1. Introduction to Robotics Analysis, Systems, Applications by Saeed B Niku, Prentice Hall, 2nd edition,
2001.
2. Fundamentals of Robotics Analysis and Control, Robert J Schilling, PHI, 5th edision, 2003.
3. An Introduction to MultiAgent Systems - Second Edition. Michael Wooldridge Wiley, latest edition.
4. Mikell P Groover, Nicholas G Odrey, Mitchel Weiss, Roger N Nagel, Ashish Dutta, “Industrial
Robotics, Technology programming and Applications", McGraw Hill, 2nd edision, 2017.
5. Craig. J. J. “Introduction to Robotics- mechanics and control”, Addison- Wesley, 3rd edition, 2004.
BENCHMARK
1. University of Minnesota:
https://www.cs.umn.edu/research/research_areas/robotics-and-artificial-intelligence
2. University of Liverpool:
https://intranet.csc.liv.ac.uk/teaching/modules/module.php?code=COMP310
3. Gujarat Technological University: http://gtu.ac.in/syllabus/NEW%20ME/Sem2/2725001.pdf
LIST OF EXPERIMENTS:
1. Develop a working robot using a V-rep tool
2. To develop the programs for (1) Water Jug Problem, (2) Knights Tour, (3) Crypto Arithmetic
Problems & (4) Implementing Searching algorithm.
3. Inter-robot communication.
4. Speed control of a robot.
5. Grabbing an object by a robot.
6. Robot carrying a heavy object from location l1 to l2.
7. Multiple robots carrying a heavy object from location l1 to l2.
Course Summary
This course aims to provide a basic understanding of deep learning concepts, implementation of
supervised and unsupervised algorithms. This course introduces students to enterprise data and the process
and technologies to integrate data from a variety of sources.
Course Objectives
The objective of this course is to cover the fundamentals of neural networks as well as some advanced
topics such as recurrent neural networks, long short term memory cells and convolutional neural networks.
The course also requires students to implement programming assignments related to these topics.
Course Outcomes
• Understand the concept of artificial neural networks, convolutional neural networks, and
recurrent neural networks
• Discuss how to speed up neural networks along with regularization techniques to reduce
overfitting
• Understand the concept of generative models
• Implement deep learning algorithms, and learn how to train deep networks
Curriculum Content
Textbook(s)
1. Deep Learning”, Ian Goodfellow and Yoshua Bengio and Aaron Courville, MIT Press, 2016.
Reference Books
2. “Neural Networks: A Systematic Introduction”, Raúl Rojas, 1996 2. Pattern Recognition and
Machine Learning, Christopher Bishop, 2007
List of Experiments:
Benchmarking:
IIT Kharagpur (https://cse.iitkgp.ac.in/~saptarshi/courses/ml2018spring/)
Illinois Institute of Technology, Chicago (http://www.cs.iit.edu/~agam/cs584/#syllabus Massachusetts
Institute of Technology, Massachusetts (http://lcsl.mit.edu/courses/ml/1718/)
6. R Programming 2013
Course Summary
This course aims to provide a basic understanding of Data Science concepts. This course introduces
students to the data science principles required to tackle real-world, data-rich problems in business
Course Objectives
Data Science is the study of the generalizable extraction of knowledge from data. This course serves as
an introduction to the data science principles required to tackle real-world, data-rich problems in business
and academia, including:
• Data acquisition, cleaning, and aggregation
• Exploratory data analysis and visualization
• Feature engineering
• Model creation and validation
• Basic statistical and mathematical foundations for data science
Course Outcomes
• An understanding of problems solvable with data science and an ability to attack them from
a statistical perspective.
• An understanding of when to use supervised and unsupervised statistical learning methods
on labeled and unlabeled data-rich problems.
• The ability to create data analytical pipelines and applications in Python.
• Familiarity with the Python data science ecosystem and the various tools needed to continue
developing as a data scientist.
Curriculum Content
Text Books:
1. “Doing Data Science, Straight Talk from the Frontline”, Cathy O’Neil and Rachel Schutt, O’Reilly.
2014.
2. “Data Mining: Concepts and Techniques”, Jiawei Han, Micheline Kamber and Jian Pei., Third
Edition. ISBN 0123814790. 2011.
Reference Books:
1. “Data Mining and Analysis: Fundamental Concepts and Algorithms”, Mohammed J. Zaki and
Wagner Miera Jr.. Cambridge University Press. 2014.
List of Experiments:
All materials (ppts, assignments, labs, etc.) will be uploaded in Moodle. Teaching of students will be
conducted through power point lectures, tutorials, short classroom exercises.
Course Summary
This course aims to provide a basic understanding of Data ware housing and mining concepts,
implementation of Data Mining algorithms. This course introduces students to enterprise data and the
process and technologies to integrate data from a variety of sources.
Course Objectives
This course will covers the basic concepts of Data Warehouse and Data Mining techniques, Examine the
types of the data to be mined and apply pre-processing methods on raw data. It also discover interesting
patterns, analyze supervised and unsupervised models and estimate the accuracy of the algorithms
Course Outcomes
Upon successful completion of the course, the student will be able to:
Curriculum Content
UNIT I: OVERVIEW: Motivation (for Data Mining), Data Mining-Definition & Functionalities. Data
Warehousing: Overview, Definition, Delivery Process, Difference between Database System and Data
Warehouse, Multi Dimensional Data Model, Data Cubes, Stars, Snow Flakes, Fact Constellations,
Concept hierarchy, Process Architecture, 3 Tier Architecture, Data Marting. ROLAP, MOLAP, HOLAP.
[5]
UNIT V CLUSTER ANALYSIS: Data types in cluster analysis, Partitioning methods. Hierarchical
Clustering- CURE and Chameleon, Density Based Methods-DBSCAN, OPTICS, Grid Based Methods-
STING, CLIQUE, Outlier Analysis [6]
Text Books:
1. “Data Mining Concepts and Techniques”, Jiawei Han and Micheline Kamber, Elsevier, Third Edition,
2012.
Reference Books:
1. “Data-Mining. Introductory & Advanced Topics”, Margaret H.Dunham, Pearson Education, India, 3rd
edition, 2012.
List of Experiments:
Build Data Warehouse and Explore WEKA . List all the categorical (or nominal) attributes
1 and the real-valued attributes separately. What attributes do you think might be crucial in
making the credit assessment?
Perform data preprocessing tasks and Demonstrate performing association rule mining on
2
data sets.
Demonstrate performing classification on data sets.
3
Task 1: Credit Risk Assessment. Sample Programs using German Credit Data.
6
Task 2: Sample Programs using Hospital Management System -Simple Project on Data
7
Preprocessing.
All materials (ppts, assignments, labs, etc.) will be uploaded in Moodle. Teaching of students will be
conducted through power point lectures, tutorials, short classroom exercises.
Course Summary
In this course student will learn how to program in R and how to use R for effective data analysis. The
course includes the installation and configuration of R programming a statistical programming
environment, discuss generic programming language concepts and R data objects as they are implemented
in a high-level statistical language. The course covers practical issues in statistical computing which
includes programming in R, reading data into R, accessing R packages, writing R functions for Data
Science and Machine Learning algorithms.
Course Objectives
The objective of this course is to develop a broad perspective about the R programming and its
applications to solve basic mathematical problems, statistical manipulations and scientific tasks such as
data science and machine learning. R programming has its own built in functions to perform any
specialized task. The course is intended to learn the basics of R software in this course.
Course Outcomes
Curriculum Content
Multimedia datasets: text dataset, image dataset, audio dataset, video dataset.
Textbook(s)
1. Practical Data Science with R. Author(s): Nina Zumel, John Mount, Manning Shelter Island,
2014.
2. Beginning R: The statistical programming language. Mark Gardener, John Wiley & Sons, 2012
Reference Books
List of Experiments:
Benchmarking:
1. Introduction to R software, IIT Kanpur (NPTEL), (https://nptel.ac.in/courses/111104100/#)
2. IIIT Bangalore
(https://www.iiitb.ac.in/pg-diploma-data-science)
3. R Programming, John Hopkins University (Coursera)
(https://www.coursera.org/learn/r-programming.
4. Data Science for Engineers, IIT Madras (NPTEL) (https://nptel.ac.in/courses/106106179/
Course Summary
To learn the need for Big Data Analytics, and to acquire modern tools to implement in real life
applications.
Course Objectives
Understanding the fundamentals of various big data analysis techniques, Hadoop structure,
environment and framework.
Course Outcomes
• Understand the need and process of data analysis.
• Learn the different component of Hadoop Ecosystem.
• Understand the Map Reduce and the use of Apriori and Fp-Growth.
• Learn to analyse the data using R.
• Analyse different software for processing Big Data.
Curriculum Content
Types of Digital Data, Introduction to Big Data, Big Data Analytics, Analytic Processes and Tools,
Analysis vs Reporting, Statistical Concepts: Sampling Distributions, Re-Sampling, Statistical Inference,
Prediction Error, Modern Data Analytic Tools - History of Hadoop, Apache Hadoop, Analysing Data
with Unix tools, Analysing Data with Hadoop, Hadoop Streaming, Hadoop Echo System, IBM Big Data
Strategy.
The Design of HDFS, HDFS Concepts, Command Line Interface, Hadoop file system interfaces, Data
flow, Data Ingest with Flume and Scoop and Hadoop archives, Hadoop I/O: Compression, Serialization,
Avro and File-Based Data structures.
Comparison with Traditional Databases, HiveQL, Tables, Querying Data and User Defined Functions.
Hbase: HBasics, Concepts, Clients, Example, Hbase Versus RDBMS. Big SQL: Introduction.
Textbook(s)
Reference Books
1. Making Sense of Data, I, Glenn J. Myatt, 2/e, John Wiley & Sons, 2014
2. Big Data Glossary, Pete Warden,1/e, O’Reilly, 2011.
3. Data Mining Concepts and Techniques, Jiawei Han, Micheline kamber, 2/e, Elsevier,
Reprinted 2015.
List of Experiments:
Installation of Hadoop.
1
8 Pig, Latin Scripts to sort, Group, Join Project and Filter the data.
All materials (ppts, assignments, labs, etc.) will be uploaded in Moodle. Teaching of students will be
conducted through power point lectures, tutorials, short classroom exercises.
Benchmarking:
1. Columbia University, New York (https://www.ee.columbia.edu/~cylin/course/bigdata/ )
2. The Graduate Institute Geneva
(https://www.karstendonnay.net/download/spring2018/Syllabus_MINT-078.pdf )
3. NSUT Delhi
(http://www.nsit.ac.in/static/documents/IS.pdf )
4. IIIT Delhi
(https://www.iiitd.ac.in/academics/courses/institute#CSE510A )
Course Summary
This course aims to provide a basic understanding of deep learning concepts, implementation of
supervised and unsupervised algorithms. This course introduces students to enterprise data and the process
and technologies to integrate data from a variety of sources.
Course Objectives
The objective of this course is to cover the fundamentals of neural networks as well as some advanced
topics such as recurrent neural networks, long short term memory cells and convolutional neural networks.
The course also requires students to implement programming assignments related to these topics.
Course Outcomes
• Understand the concept of artificial neural networks, convolutional neural networks, and recurrent
neural networks
• Discuss how to speed up neural networks along with regularization techniques to reduce overfitting
• Understand the concept of generative models
• Implement deep learning algorithms, and learn how to train deep networks
Curriculum Content
Textbook(s)
Deep Learning”, Ian Goodfellow and Yoshua Bengio and Aaron Courville, MIT Press, 2016.
Reference Books
“Neural Networks: A Systematic Introduction”, Raúl Rojas, 1996 2. Pattern Recognition and
Machine Learning, Christopher Bishop, 2007
List of Experiments:
Benchmarking:
IIT Kharagpur (https://cse.iitkgp.ac.in/~saptarshi/courses/ml2018spring/)
Illinois Institute of Technology, Chicago (http://www.cs.iit.edu/~agam/cs584/#syllabus Massachusetts
Institute of Technology, Massachusetts (http://lcsl.mit.edu/courses/ml/1718/)
Course Summary
The course is designed for the smooth and fast data transportation over the wired and wireless medium.
The course introduces the queuing model and Markovian theory to handle process state at the various
stages of the switches and routers. The course introduces the basic Wireless security to understand the
various network's attack and prevention. Number of advance network protocol is included in this course
to understand the various network challenges for wired as well as the wireless medium.
Course Objectives
This course is designed to provide knowledge about the basic concepts of Advance Computer Network.
The Course includes switching concept for packet forwarding, wireless security, and smooth and secure
data transmission over the wired and wireless medium. The course includes the queuing model and
Markovian theory for smooth data transportation. The main purpose of this course is to help the student
to understand the basic concept about the secure and smooth transportation of data, which is a real world
challenging problem.
Course Outcomes
At the end of the course the student should be able to:
1. Understand and explain the basic concepts of Advance Computer Network.
2. Describe the real-life applications based on the fundamental concepts.
3. Understand how to handle the multi state process for fast data transportation over any medium.
4. Understand how to design the secure ‘wired and wireless’ network.
Curriculum Content
Unit 1: Network Design
Design Principles, Determining Requirements, Analysing the Existing Network, Preparing the
Preliminary Design, Completing the Final Design Development, Deploying the Network, Monitoring and
Redesigning, Maintaining, Design Documentation, Cisco PDIOO Model, Modular Network Design,
Hierarchical Network Design, The Cisco Enterprise Composite Network Model.
(8L)
Subnet Masks, Hierarchical IP Address Design, Deploying IPv6 in Campus Networks. Router Design:
Configuring a Router, Routing Protocols. (8L)
(8L)
Textbook(s)
1. Diane Tiare and Catherine Paquet, “Campus Network Design Fundamentals”, Pearson Education,
2006.
2. Arnold O. Allen, “ Probability Statistics, and Queuing Theory with Computer Science
Application,” Academic Press, Inc.6277 Sea Harbor Drive Orlando, FL United States, 2nd Edition
3. Gunter Bolch, Stefan Greiner, Hermann de Meer, Kishor S. Trivedi, “ Queueing Networks
and Markov Chains” John Wiley & Sons, Inc., Publication, 2nd Edition.
Reference Books
5. Craig Zacker, “The Complete Reference: Upgrading and Troubleshooting Networks”, Tata McGraw-
Hill, 2000 Edition.
Course Summary
This course is designed to provide an introduction to cloud computing and virtualization technologies. It
provides the basic knowledge of public cloud, private cloud and multi cloud. it will also cover the security
perspective/ challenges in the cloud environment.
Course Objectives
This course is designed to provide knowledge about basic concepts of Cloud computing. Public cloud and
its service and deployment models, private cloud and its need and challenges, Multi-cloud and business
cloud, security threats in the cloud.
Course Outcomes
On successful completion of the course, students will be able to achieve the following:
1. Define cloud computing its service and deployment models.
2. Describe the importance of virtualization, multi-tenancy in the cloud environment.
3. Use and Examine different cloud computing services.
4. Describe the different security threats and challenges faced by cloud provider.
5. Differentiate the different types of business cloud and its uses.
Curriculum Content
Unit 1: (3L)
Overview of cloud computing: What is a cloud, Definition of cloud , Definition of cloud ,characteristics
of cloud, Traditional vs. Cloud Computing, Importance of Cloud Computing, Cloud service models (IaaS,
PaaS & SaaS). Cloud deployment models (Public, Private, Hybrid and Community Cloud), Benefits and
Challenges of Cloud Computing.
Unit 2: (6L)
Private Cloud – Concept of Hypervisor, Basics of virtualization, Virtualization technologies, Server
virtualization, VM migration techniques, Role of virtualization in Cloud Computing. Business cases for
the need of Cloud computing environment, Concept of Private Cloud, Characteristics of Private Cloud,
Private Cloud deployment models, Private Cloud Vendors, Virtual Private Cloud. Multitenancy, Types
of tenancy, Application programming interfaces (API), Billing and metering of services.
Unit 3: (6L)
Public Cloud- Concept of Public Cloud, Importance of Public Cloud, When to opt for Public Cloud,
Public Cloud Service Models, and Public Cloud players. Infrastructure as a Service Offerings, IaaS
Vendors, PaaS offerings, PaaS vendors, Software as a Service. Implementing public cloud AWS,
Introduction, Service Offered, Creation of EC2 instance, Microsoft Azure: Introduction, Service Offered,
Creation of DB instance. Implementing Security in public Cloud,
Comparison of Public Cloud Vendors (AWS, Microsoft, Google, IBM, Salesforce),
Textbook(s)
1. Raj Kumar Buyya, James Broberg, AndrezeiM.Goscinski Cloud Computing: Principles and
paradigms. John Wiley & Sons, (2011),
2. Anthony T. Velte, Toby J. Velte, and Robert Elsenpeter (2010) Cloud Computing: A Practical
Approach, McGraw Hill.
Reference Books
1. Sosinsky, Barrie. Cloud computing bible. John Wiley & Sons, 2010.
2. Kailash Jayaswal,. Cloud Computing Black Book. John Wiley & Sons, 2014.
List of Experiments:
Exp 4: Install Google App Engine. Create hello world app and other simple web applications
4
using python/java.
Exp 5: Installation and demonstration of Xen bare metal hypervisor/ KVM Cloud Platform
5
on workstation
Exp 6: Implementation and demonstration of VPN setup on the windows environment.
6
Exp 7: Implementation of Open stack environment and designing of Cloud based migration
7
solution Architecture
Tools/Software for experiments: Python, KVM, XEN, Virtual box, VMWare, open stack, Google app
engine.
Benchmarking:
Course Summary
This course deals with the basics of cellular concept and mobile communication systems, multiple radio
access procedures and channel allocation techniques, the architecture and functioning of satellite systems
including global positioning systems, different wireless LAN technologies and personal area networks.
Course Objectives
This course aims to provide students a comprehensive overview of different types of wireless and mobile
systems with a detailed focus on architecture of modern-day cellular systems. Students will learn concepts
about mobile communication systems architecture, wireless standards, satellite systems as well as
personal area networks.
Course Outcomes
Curriculum Content
Unit 1: History of wireless systems. Introduction to various types of wireless and mobile systems. (3L)
Unit 2: Types of Radio Waves, Propagation Mechanisms, Free Space Propagation, Land Propagation,
Path loss and Fading, Doppler Effect, Delay Spread and Intersymbol Interference. (3L)
Unit 3: Cellular Concept, Cell Area, Signal Strength and Cell parameters, Capacity of a cell, Frequency
reuse, How to form a cluster, Cochannel Interference, Cell Splitting and Cell Sectoring, Multiple division
Techniques, Concepts and Models of Multiple Divisions (FDMA, TDMA, etc.), Channel Allocation,
Static Allocation versus Dynamic Allocation, Fixed Channel Allocation, Dynamic Channel Allocation,
Hybrid Channel Allocation, Allocation in specialized System Structure. (12L)
Unit 4: Mobile Communication Systems, Cellular System Infrastructure, Registration, Handoff and
Roaming Support, Multicasting, Security and Privacy. (6L)
Unit 5: Wireless MANs, LANs and PANs, Wireless Metropolitan Area Networks (4G systems), Wireless
Local Area Networks (IEEE 802.11x), Wireless Personal Area Network (Bluetooth Networks), Case
Studies of all these types of networks. (12L)
Textbook(s)
Reference Books
9. Course Objectives
The objective of this course is to provide both conceptual and hands-on knowledge to students for IoT
systems. Students will learn how to build and use end-to-end IoT systems, perform analytics on the data
collected and understand security aspects of an IoT system.
LAB CONTENTS:
• Lab 1 and 2: Develop prototype using Arduino Uno,
• Lab 3, 4, 5: Setup and Develop prototype using Raspberry Pi and environmental sensors
• Lab 6, 7, 8, 9: Temperature, Humidity (DHT22), Movement detection and distance measurement using
RPI, Detect movement using an HC-SR501 passive infrared (PIR) motion detector, and HC-SR04
ultrasonic ranging module.
• Lab 10-11: Cloud interfacing with SOC devices, sample data upload for visualization and Analysis.
• Lab 12, 13, 14: End-to-End IoT Projects integration, testing and demo.
13. Bibliography
Textbook: No Textbook. Instructors will provide reading materials.
Course Summary
This course deals with the internals of Android Operating System, GUI, various services, graphics design,
database connectivity, network connectivity and integration of various APIs.
Course Objectives
The objective of this course is to teach mobile application programming to students using Android.
Students will learn about the technologies and the tools used to develop Android mobile applications.
Students will be introduced to the internals of the Android OS and mobile application development using
the Android SDK.
Course Outcomes
Curriculum Content
Unit 1: Overview of mobile applications, installing the development environment, Android Overview,
architecture overview and Android development environment, Anatomy of an Android App, App
lifecycle. (6L)
Unit 2: GUI development: XML for UI design, development tools, Activities, multiple activities, Activity
lifecycle, Intents, MVC, GUI development, Lists, fragments, dialogs, Action Bar, 2D graphics and
drawables. (6L)
Unit 3: Services and Broadcast Services, Database connectivity with SQLite,Web service integration
using JSON, XML, SOAP and RESTful services. (6L)
Textbook(s)
Head First Android Development: A Brain-Friendly Guide, by Dawn Griffiths and David Griffiths.
Reference Books
Android Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides), 2017.
Laboratories:
1. Write an application that has two Activities and two related screens. Name the Activities
ActivityScreen1 and ActivityScreen2. Place a button on each screen that allows you to click that button
to open the other Activity and related screen.
2. Create an information logging message and add it to the on Create method in any program that you
have created. The logging message can say anything you want it to say. After you run the program using
the Run Debug Configuration, look for your logging message in the Log Cat section in Eclipse.
3. Open your Graphical User Interface Example application in the emulator, In Eclipse, go to Window
and Open Perspective. Open a Hierarchy View. Explore the user interface in the Hierarchy View. What
value can this view add in your development? Examine other perspectives discussed in Chapter 4 such as
Pixel Perfect and DDMS. Think about how you might use each of these perspectives in your future
development projects.
4. Create a new application called Test Layouts. For this application add three string variables in the
strings.xml file under resources, and add values that you want to assign to each (such as your own email
address and phone number and a website of your choice that you want the user to link to). Create a
graphical layout in which all three of these variables are clickable on the display.
5. Using the Test Layouts application created in Lab 4, add an Edit Text field and include a hint for the
user about what to type in the field. Add a Spinner control that has seven selection items.
6. Create a new application called Date/Time. Add the Date Picker control to the layout screen. Use the
Date Picker. On Date Changed Listener to get the date selected by the user and then display that date in a
Text Field.
7. Write a simple program using the Grid Layout and display a box that shows a column span of 3 across
the top and bottom, with the top labeled North and the bottom labeled east and which shows the left and
right sections labeled East and West.
8. Write a program in which you place a List View within a Linear Layout. Have the list view display
seven colors in the list, and display the selection at the bottom of the screen after the selection is clicked.
Instead of using the set Content View(int) method, how is the screen displayed?
9. Create a program that will display and allow the user to update the following preferences:
a. Their username (enter into a text field)
b. Welcome Message (enter into a text field)
c. How they want to handle Application Updates (checkbox)
d. Type of data they want to download (from a list selection)
10. Write the code snippet that would allow you to create a text file called “myData” and write the
following line of data to this new file “This is my first line of data in a new file.” Locate where this file
was stored and write the path to that file.
COURSE OUTLINE:
This course will introduce the basic concepts of cryptography, which includes the Substitution &
Transposition Techniques, Public Key and Secret Key Cryptography. The course will consist of assigned
reading, weekly lectures, weekly practical, a midterm and final exam, and a sequence of class test and
assignments. The goal of the readings and lectures is to introduce the core concepts. The goal of the
practical is to give students some exposure to secure code designing.
COURSE OBJECTIVE:
1. To introduce the student to elementary number theory, as required for further study of important
cryptographic protocols.
2. To introduce the student to the fundamentals of modern symmetric cryptography.
3. To enable the student to appreciate the significance of cryptography as a means of securing
information in the modern world.
COURSE OUTCOMES:
At the end of the course, the student will be able to:
CO 1. Understand the significance of cryptography to the modern world and the internet.
CO 2. Understand the rationale behind block cipher designs.
CO 3. Perform the cryptanalysis of a simple block ciphers.
CO 4. Solve elementary problems in number theory relating to cryptography.
CURRICULUM CONTENT
UNIT 1: (6 L)
Basic Cryptography Concepts- Basic Cryptography Concepts, Purpose of Cryptography Need for
security, Security Goals, Principles of security,Types of attacks.
Encryption Techniques: Plaintext, Cipher text, Substitution & Transposition Techniques,
Classical methods: Caesar cipher, Vigenere cipher, The one-time pad, Mechanical rotor systems,
Vernam Cipher, Affine Cipher, Hill Cipher, Playfair Cipher, Rail Fence Cipher, Columnar Cipher
UNIT 2: (6 L)
Modern ciphers: Block ciphers and their applications, Structure of a block cipher, The Fiestel structure,
Key and block size length, The Data Encryption Standard (DES), Double DES, Triple DES, AES.
UNIT 3: (5 L)
Elementary Number Theory: Finite fields, Modular arithmetic, Efficient algorithms for modular
arithmetic, Fermat's little theorem, Euler's criteria, Euler's totient function.
UNIT-4 (5L)
Advanced Number Theory: Primality testing, prime factorisation, The Chinese remainder theorem,
Quadratic residues and calculating modular square roots and cube roots.
UNIT- 5: (5 L)
Public Key Cryptography &Key Distribution: The key distribution problem, The Diffie-Hellman
method, RSA and related methods, Linear cryptanalysis, Differential cryptanalysis, Meet-in-the-middle
attacks, Symmetric &Asymmetric key together.
TEXT BOOKS
1. Stallings, “Cryptography and Network Security- Principles and Practice”, Pearson Ed., 2017.
2. Â NealKoblitz, “A Course in Number Theory and Cryptography”, Springer 2006
3. Jill Pipher, Jeffrey Hoffstein, Joseph H. Silverman, “An Introduction to Mathematical Cryptography”,
Springer, 2008.
REFERENCES
1. Niven, Zuckerman and Montgomery, “An Introduction to theory of numbers”, Wiley 2006.
2. Kahate, “Cryptography and Network Security”, McGraw-Hill Higher Ed., 2009.
LIST OF EXPERIMENTS:
S. No. Experiment Name
1 Write a program to perform encryption and decryption using the following algorithms
a. Caeser cipher
b. Generalized Caesar Cipher
2. Write a program to perform encryption and decryption using the playfair cipher for the
following data:
5 2 11
3 1 21
Plaintext= CRYPTOGRAPHY, Key= 7 0 15
3 Write a program to perform encryption and decryption using the following algorithms
a. Vigenere Cipher
b. Affine Cipher
4 Write a program to implement following transposition ciphers:
a. Rail Fence Cipher
b. Columnar Cipher
5 Write a program to perform show the key generation process for a single round of DES
algorithm.
6 Write a program to perform show the working of Euler’s Totient Function.
7 Use Extended Euclidean Algorithm and Calculate the Multiplicative inverse.
8 Write a program to show the working of S-DES algorithm for data encryption.
9 Write a program to show the working of Asymmetric Encryption Scheme – RSA.
10 Write a program to show the working of Diffie-Hellman Key Exchange mechanism.
COURSE OUTLINE:
The course deals with the underlying principles of cryptography and network security. Starting from the
classical encryption techniques to the more advanced tools of network security, the course imparts an
immense coverage of the authentication and practices for securing network. The course deals with
user/message authentication, IP security fundamentals. The course wraps up with the understanding of
ACL, Firewalls and VPNs.
COURSE OBJECTIVE:
This course will cover the concept of security, types of attack experienced, encryption and authentication
for deal with attacks, what is Network Perimeter Security, Access Control Lists and Virtual Private
Networks.
COURSE OUTCOMES:
At the end of the course, the student will be able to:
CO1: To Understand the significance of authentication process using digital signature.
CO2: To Understand the significance of hash functions in data security.
CO3: Understand the concept of IP security and significance of Access control lists in network security.
CO4: Understand the concept of Communication Model, Network Perimeter Security Lists and Virtual
Private Networks.
CURRICULUM CONTENT
UNIT 1: (6 L)
Symmetric & Asymmetric Key Cryptography: Algorithm types & Modes, Substitution and
Transposition Ciphers
User Authentication Mechanism: Authentication basics, Passwords, Authentication tokens, Certificate
based & Biometric authentication, Digital Signatures: Digital Signatures, authentication protocols, digital
signature standards (DSS), proof of digital signature algorithm.
UNIT 2: (6 L)
Message Authentication and Hash Function: Approaches to Message Authentication, authentication
functions, message authentication code, hash functions, birthday attacks, security of hash functions and
MACS, MD5 message digest algorithm, secure hash algorithm (SHA).
Authentication Applications: Kerberos and X.509, directory authentication service, electronic mail
security-pretty good privacy (PGP), S/MIME
UNIT 3: (5 L)
IP Security: Architecture, Authentication header, Encapsulating security payloads, combining security
associations, key management.
Network Perimeter Security Fundamentals: Introduction to Network Perimeter, Multiple layers of
Network Security, Security by Router.
UNIT-4 (5 L)
Access Control Lists: Ingress and Egress Filtering, Types of Access Control Lists, ACL types: standard
and extended, ACL commands.
Firewalls: Firewall Basics, Types of Firewalls, Network Address Translation Issues.
UNIT- 5: (5 L)
Virtual Private Networks: VPN Basics, Types of VPN, IPsec Tunneling, IPsec Protocols. VLAN:
introduction to VLAN, VLAN Links, VLAN Tagging, VLAN Trunk Protocol (VTP).
TEXT BOOKS
1. Forouzan, B.A., “Cryptography & Network Security”, Tata McGraw-Hill Education, 2010.
2. Stallings, “Cryptography and Network Security- Principles and Practice”, Pearson Ed., 2017.
REFERENCES
1. Kahate, A., “Cryptography and Network Security”, McGraw-Hill Higher Ed., 2009.
2. Godbole, N., “Information Systems Security: Security Management, Metrics, Frameworks and
Best Practices” John Wiley & Sons India, 2009
LIST OF EXPERIMENTS:
S.No. Experiment Name
1 Write a program to show the Implementation of digital signature standard.
3 Write a program to calculate the message digest of a text using the MD5 algorithm.
4 Write a program to calculate the message digest of a text using the SHA-1 algorithm.
5 Perform VTP configuration to establish client/server connection.
7 Implement Caesar Cipher & perform brute force attack on Caesar cipher.
8 Create a Virtual Private Network (VPN) over WAN.
9 Implement and demonstrate IDS using any tool (using any relevant software)
10 Design and implementation of a simple client/server model and running application using
sockets and TCP/IP.
COURSE OUTLINE:
This course aims to give an outline of cyber security. The course will equip students with a vibrant view of
the existing cyber security landscape considering not only technical measures and defenses, but also the other
theme areas including legal, management, crime, risk, social and human factors.
COURSE OBJECTIVE:
• To understand the crucial necessity of cyber security in computer systems, networks and enlighten
numerous threat scenarios.
• To understand the well-known cyber-attack events, clarify the attack scenarios, and enlighten
mitigation techniques.
• To understand the variance between Systems Cyber Security, Network Cyber Security, and
cryptography, crypto-protocols etc.
• To analyses the cyber threats to critical structures.
COURSE OUTCOMES:
At the end of the course, the student will be able to:
CO1: The cyber threat landscape, both in terms of recent developing issues and those issues which persist
over time.
CO2: The roles and effects of governments, commercial and other organisations, citizens and criminals
in cyber security affairs.
CO3: General values and policies that can be functional to systems to make them more vigorous to attack.
CO4: Key factors in cyber security from different corrective views including computer science,
management, law, criminology, and social sciences.
CURRICULUM CONTENT
TEXT BOOKS
1. Micki Krause, Harold F. Tipton, “Handbook of Information Security Management”, Vol 1-3,
CRC Press LLC, 2004.
REFERENCES
1. Bill Nelson, “Computer Forensics and Investigations”, Cengage Learning, India Edition, 2016.
2. Matt Bishop “Computer Security Art and Science”, Pearson/PHI, 2002.
COURSE OUTLINE:
This course will introduce students about Hacking windows, Network hacking, Password hacking,
TCP / IP – Checksums, Dos attacks – SYN attacks, Smurf attacks, UDP flooding, DDOS Models.
Firewalls, Packet filter firewalls, Packet Inspection firewalls, Application Proxy Firewalls. Batch File
Programming, Fundamentals of Computer Fraud, Strategic Planning Process, Architecture strategies for
computer fraud prevention, Penetrating testing process, Key Fraud Indicator selection process customized
taxonomies, Computer Forensics, Accounting Forensics, Journal risk and control matrix, Misuse
detection and Novelty detection
COURSE OBJECTIVE:
This course provides an introduction the concepts of Ethical Hacking and provides an understanding of
Computer forensics fundamentals. This course will provide the opportunity to learn about different tool
and techniques in Ethical Hacking and will analyse various computer forensics technologies and methods
for data recovery.
COURSE OUTCOMES:
At the end of the course, the student will be able to:
CO1: Identify and analyse the stages an ethical hacker requires in order to compromise a target system.
CO2: To understand the concepts of computer forensics fundamentals and types of computer forensics.
CO3: To evaluate security techniques used to protect system and user data.
CO4: Illustrate the methods for data recovery, evidence collection and data seizure.
CURRICULUM CONTENT
UNIT 1: (6 L)
Hacking windows – Network hacking – Web hacking – Password hacking. A study on various attacks –
Input validation attacks – SQL injection attacks – Buffer overflow attacks - Privacy attacks.
UNIT 2: (6 L)
TCP / IP – Checksums – IP Spoofing port scanning, DNS Spoofing. Dos attacks – SYN attacks, Smurf
attacks, UDP flooding, DDOS – Models. Firewalls – Packet filter firewalls, Packet Inspection firewalls –
Application Proxy Firewalls. Batch File Programming.
UNIT 3: (5 L)
Fundamentals of Computer Fraud – Threat concepts – Framework for predicting inside attacks –
Managing the threat – Strategic Planning Process.
UNIT-4 (5 L)
Architecture strategies for computer fraud prevention – Protection of Web sites – Intrusion detection
system – NIDS, HIDS – Penetrating testing process – Web Services – Reducing transaction risks.
UNIT- 5: (5 L)
Key Fraud Indicator selection process customized taxonomies – Key fraud signature selection process –
Accounting Forensics – Computer Forensics – Journaling and it requirements – Standardized logging
criteria – Journal risk and control matrix – Neural networks – Misuse detection and Novelty detection.
TEXT BOOKS
1. Stuart McClure, Joel Scambray and Goerge Kurtz, “Hacking Exposed 7: Network Security
Secrets & Solutions”, Tata McGraw Hill Publishers, 2010.
2. Bensmith, and Brian Komer, “Microsoft Windows Security Resource Kit”, Prentice Hall of India,
2010.
REFERENCES
1. Kenneth C.Brancik, “Insider Computer Fraud” Auerbach Publications Taylor & Francis Group,
2008.
2. Ankit Fadia, “ Ethical Hacking” 2nd Edition Macmillan India Ltd, 2006 MTCF -202 Database S
3. Stuart McClure, Joel Scambray and Goerge Kurtz, “Hacking Exposed Network Security Secrets
& Solutions”, 5th Edition, Tata McGraw Hill Publishers, 2010.
LIST OF EXPERIMENTS:
S.No. Experiment Name
1 Study of Security fundamentals, Ethical Hacking.
2. Study of System threat attacks - Denial of Services.
COURSE OUTLINE:
This course provides an impression of cybercrime and the investigation practices put in place to respond
to them. The course will emphasis on the types and extent of present cybercrimes, how the justice system
responds to these crimes, the various legal protections afforded to computer users, the regulation and
policies that govern cybercrime detection and prosecution, and related machineries.
COURSE OBJECTIVE:
• To describe the nature and area of cybercrime.
• To grow knowledge of key incidents of cybercrime and their subsequent influence.
• To study and debate national and global digital law implementation efforts.
• To categorize and assess the precise technology that enables cybercrime and digital law enforcement.
• To assess the influence of cybercrime on information professions.
COURSE OUTCOMES:
Having successfully completed this course, students will be able to reveal facts and understanding of:
CO1: Analyse the essential concepts of cybercrime and forensics.
CO2: Distinguish the object and causes for cybercrime, detection and handling.
CO3: Define the extents affected by cybercrime and investigation.
CO4: Demonstrate tools used in cyber forensic.
CO5: Validate their knowledge of report writing and forensic ethics.
CURRICULUM CONTENT
TEXT BOOKS
1. Sunit Belapure and Nina Godbole. “Cyber Security: Understanding Cyber Crime, Computer Forensic
and Legal Perspectives”, Wiley India Pvt Ltd, ISBN: 978-81-265-2179, publish date 2013.
2. Bil Nelson, Amelia Philips and Christopher Steuart, “Guide to Computer Forensics and Investigation”,
4th Edition, Cengage Learning 2015.
REFERENCES
1. Thomas J Mowbray, “Cybersecurity Managing Systems, Conducting Testing, and investigating
Intrusions”, copyright 2014 by John Wiley & sons, ISBN: 978-1-118-84965, 2014.
2. James Graham, Ryan Olson, Rick Howard, “Cyber Security Essentials”, CRC press, 15 Dec 2010.
COURSE OUTLINE:
This course will introduce students about Mobile and Wireless Networks, Vulnerabilities of Wired and
Wireless Networks. It also includes overview of Fundamental Security Mechanisms, Hash functions,
Electronic signatures and MAC, Cryptographic protocols. Topics would also include Wi-Fi Security
Dedicated Architectures and Bluetooth Security.
COURSE OUTCOMES:
The purpose of this course is to provide In-depth knowledge about cellular design concepts and
understanding of 3G Wireless network. It also provides an understanding of various security concerns and
protocols in wireless networks (e.g., WiFi and mobile cellular networks) and mobile systems and
applications.
COURSE OUTCOMES:
On successful completion of the course, students will be able to achieve the following:
CO1: Understand the security threats and vulnerabilities in wireless and mobile systems.
CO2: Understand the security mechanisms and authentication procedures.
CO3: Understand the strategies for developing secure mobile applications.
CO4: Use of mobile security penetration tools for evaluating the robustness of mobile applications.
CO5: Gain knowledge about some of the models, design principles and solutions used in wireless network
security to obtain authentication.
CURRICULUM CONTENT
Socket Layer (SSL) and Transport Layer Security (TLS), IPsec protocol suite, Comparison between SSL
and IPsec security protocols, IPsec VPN and SSL VPN, Authentication, Access control, Firewalls,
Intrusion detection
Unit-4 (8 L)
Wi-Fi Security Dedicated Architectures: Introduction,Hot spot architecture: captive portals, Captive
portal overview, Security analysis, Wireless intrusion detection systems: architecture, events, example;
Wireless honeypots: design, requirements.
Wi-Fi Security: Introduction, Attacks on wireless networks, Passive attacks, Active attacks, TCP attacks,
Trojan attack, Dictionary attacks, Security in the IEEE 802.11 standard, IEEE 802.11 security
mechanisms, WEP (Wired Equivalent Privacy), WEP shortcomings, Attacks, Security in 802.1x,
Authentication in wireless networks, RADIUS, EAP authentication procedures, PKI, Level 3 VPN, IPsec
Unit- 5: (7L)
Bluetooth Security: Introduction, Organization of Bluetooth nodes in the network, Bluetooth technical
specification, Radio physical layer, Baseband, Link controller, Bluetooth device addressing, HCI layer,
L2CAP layer, Bluetooth security, Bluetooth encoding, Attacks.
TEXT BOOKS
1. Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, Chapman & Hall/CRC
Cryptography and Network Security Series, 2nd edition 2014.
2. Frank Adelstein, Sandeep K.S. Gupta, Golden G. Richard III, and Loren Schwiebert,
Fundamentals of Mobile and Pervasive Computing, 2005.
REFERENCES
1. LeventeButtyán and Jean-Pierre Hubaux, Security and Cooperation in Wireless Networks, 2008.
2. James Kempf, Wireless Internet Security: Architectures and Protocols, 2008.
3. PatrickTraynor, Patrick McDaniel, and Thomas La Porta, Security for Telecommunications
Networks, 2008.
8. Course Summary
Biometrics is the science of identifying or authenticating an individual’s identity based on behavioural or
physiological characteristics. Government Ids, secure electronic banking, retail
sales, and health and social services all have benefited from the use of biometric technology and will
continue to do so as biometric research advances. This course introduces students to the basic principles
and methods used for biometric identification. The objective is to provide students with the scientific
foundations needed to design, implement, and evaluate large scale biometric identification systems.
9. Course Objectives
The aim is to give students an understanding of biometric systems based on a number of biometric traits
such as face, fingerprint, iris, and hand shape. In this course, we will cover basic and advanced techniques
for biometrics applications using MATLAB, biometric system modalities such as face recognition,
fingerprint recognition, iris recognition, and hand shape recognition, Biometric system design and
performance evaluation, multi-modal biometric systems, and privacy and ethical issues.
Unit-1 [9]
Introduction- Authentication systems, Development of biometric authentication. Basic terms, biometric
data, biometric characteristics, biometric features, biometric templates and references. Expected
properties of biometric identifiers. Basics in biometric errors estimation. Enrolment, verification and
identification. How Authentication Technologies work, Benefits of biometrics over traditional
authentication systems, How Biometrics work. Applications of Biometrics.
Unit-2 [9]
Fingerprints and Hand Geometry: Technical description, Characteristics, Competing technologies,
Strengths–Weaknesses, Deployment. Face and Voice Recognition: Technical description, Characteristics,
Strengths-Weaknesses, Deployment.
Unit-3 [9]
Biometric System Security: Secure transfer of biometric data. Secure storage, use of smart cards,
principles of match-off-card and match-on-card techniques. Biometrics in the cloud. Points of attack.
Privacy models. Spoofing: Static and dynamic liveness features. Liveness detection in biometrics.
Selected liveness detection techniques, frequency analysis for paper printouts detection.
Unit-4 [9]
Protection: Overview of principles from cryptography to secure fuzzy data. Template protection
strategies: feature protection, key-binding, key-generating, hybrids. Overview of fuzzy vaults, fuzzy
commitment, fuzzy extractors and revocable bio tokens. Bio cryptographic infrastructures for secure
template management.
Text Books
1. John D. Woodward, Jr. Nicholas M. Orlans Peter T. Higgins, “Biometrics”, dream tech, 2003
2. Samir Nanavathi, Michel Thieme, Raj Nanavathi,”Biometrics -Identity verification in a network”,
Wiley Eastern, 2002
Reference Books
1. John Chirillo and Scott Blaul,” Implementing Biometric Security”, Wiley Eastern Publications, 2005
8. Course Summary
Computer vision is the science and technology of machines that can see. As a scientific discipline,
computer vision is concerned with the theory behind artificial systems that extract information from
images. The image data can take many forms, such as video sequences, views from multiple cameras, or
multi-dimensional data from a medical scanner. As a technological discipline, computer vision seeks to
apply its theories and models to the construction of computer vision systems. Various research areas
includes: Applications in Display Technology, Computer Vision for Navigation, Metrology, High Level
Video Analysis, and Human Computer Interfaces.
9. Course Objectives
This course is designed to provide knowledge about computer vision algorithm, methods and concepts;
which will enable the students to implement computer vision systems with emphasis on applications and
problem solving.
Unit-1 [4]
Introduction of Image Formation, Geometric Camera Models, Light and Shading, Human Color
perception, Linear filters, Local image features, texture. Binary Image Analysis and Segmentation:
Properties, digital geometry, Segmentation. Machine learning for machine vision: Learning and inference
in vision, modelling complex data densities, regression models, Classification models
Unit-2 [6]
Image segmentation by clustering: Basic Clustering methods, watershed algorithm, segmentation using
K-means, Mean Shift: Finding Local Modes in Data, Clustering and Segmentation with Mean Shift,
Segmentation, Clustering and Graph, Hough Transformation. Motion segmentation: Optical flow and
motion, flow models, motion segmentation with layers; Model Selection: Cross-Validation.
Unit-3 [8]
Tracking: Tracking by detection, Tracking translation by matching, Affine transformation; The kalman
filter, Forward-backward Smoothing; Data association; Particle filtering Classification Strategies:
Mahalanobis distance, Class-Conditional histograms, Naïve Bayes, Nearest Neighbours, Linear Support
vector machine, Kernel Machines, Boosting and adaboost Object detection in Images: Sliding window
methods: Face detection, detecting Humans, Detecting boundaries; detecting deformable Objects.
Unit-4 [8]
Image processing for feature detection and Image synthesis, edge detection, corner detection, line and
curve detection, SIFT operator, Image-based modelling and rendering, Mosaics, snakes
Stereo: shape from shading, photometric stereo, texture, Occluding contour detection, motion analysis:
Motion detection and optical flow structure from motion; Object recognition: Hough transforms and other
simple object recognition
Text Books
1. David A. Forsyth and Jean Ponce. Computer Vision: A Modern Approach. Second Edition Pearson
2015
2. Robert Haralick and Linda Shapiro. Computer and Robot Vision. Vol-I/II, Addison Wesley, 1993
Reference Books
1. Milan Sonka, Vaclav Hlavac, and Roger Boyle. Image Processing, Analysis, and Machine Vision.
Fourth Edition. CENGAGE Learning
8. Course Summary
This course will introduce students about the basis of digital image processing, various types of image
models and conversion from one model to another. They can learn about spatial and frequency domain
models for image processing and will able to implement various image enhancement techniques like
filtering, object extraction. They will also able to understand the classification of objects through feature
extraction.
9. Course Objectives
The participants will learn the basic concepts of digital image processing, working with images using
spatial and frequency domain, implement various image enhancement techniques like filtering to an image
using these domains. Moreover, classification of content presents in an image through objects detection
and feature extraction from the given input image will be clear.
Text Books
1. Digital Image Processing (3rd Edition) Rafael C. Gonzalez, Richard E. Woods Prentice Hall, 2007
Reference Books
1. Robert J. Schalkoff, Digital Image Processing and Computer Vision, John Wiley and Sons, NY, 1st
Edition, 1989.
2. Anil K. Jain, Fundamentals of Digital Image Processing, Prentice Hall, Upper Saddle River, NJ
8. Course Summary
Information retrieval is the process through which a computer system can respond to a user's query for
text-based information on a specific topic. IR was one of the first and remains one of the most important
problems in the domain of natural language processing (NLP). Web search is the application of
information retrieval techniques to the largest corpus of text anywhere, the web and it is the area in which
most people interact with IR systems most frequently.
9. Course Objectives
The aim is to give students an understanding of the fundamental techniques for hypermedia architectures,
design and usability, document management and retrieval, metadata management, and searching the web.
In this course, we will cover basic and advanced techniques for building text-based information systems,
including the Efficient text indexing, Boolean and vector-space retrieval models, Evaluation and interface
issues, IR techniques for the web, including crawling, link-based algorithms, and metadata usage,
Document clustering and classification, Traditional and machine learning-based ranking approaches.
Text Books
1. Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schütze. 2008. Introduction to Information
Retrieval, Cambridge university press
Reference Books
1. David Lowe and Wendy hall, Hypermedia and the Web: an Engineering Approach, John Wiley, 1999,
ISBN: 0-417-98312-8
2. R.K. Belew, Finding out about--A cognitive perspective on search engine technology and the www,
Cambridge University Press, 2001
8. Course Summary
This course is designed to provide an introduction to techniques, and algorithms in machine learning,
beginning with topics such as classification and linear regression and ending up with more recent topics
such as support vector machines, decision tree, and Bayesian networks. The course will give the student
the basic ideas and intuition behind modern machine learning methods as well as a bit more formal
understanding of how, why, and when they work.
9. Course Objectives
This course is designed to provide knowledge about basic concepts of Machine Learning, identify
machine learning techniques suitable for a given problem, solve the problems using various machine
learning techniques, apply Dimensionality reduction techniques and design application using machine
learning techniques.
Unit-1 [8]
The Machine Learning Landscape: What Is Machine Learning, Why Use Machine Learning, Types of
Machine Learning Systems, Supervised/Unsupervised Learning, Batch and Online Learning, Instance-
Based Versus Model-Based Learning, Main Challenges of Machine Learning, Testing and Validating.
Unit-2 [9]
Classification: MNIST, Training a Binary Classifier, Performance Measures: Measuring Accuracy Using
Cross-Validation, Confusion Matrix, Precision and Recall, Precision/Recall Trade-off, the ROC Curve.
Multiclass Classification, Error Analysis, Multilevel Classification, Multi-Output Classification.
Unit-3 [9]
Training Models: Linear Regression, The Normal Equation, And Computational Complexity. Gradient
Descent, Batch Gradient Descent, Stochastic Gradient Descent, Mini-batch Gradient Descent. Polynomial
Regression, Learning Curves, Regularized Linear Models, Ridge Regression, Lasso Regression, Elastic
Net, Early Stopping, and Logistic Regression, Estimating Probabilities, Training and Cost Function,
Decision Boundaries, Softmax Regression.
Text Books
1. Aurélien Géron, Hands on Machine Learning with Scikit-Learn & Tensor Flow, O'Reilly
Reference Books
1. Tom Mitchell, Machine Learning, McGraw Hill, 1997
2. Ethem Alpaydin, Introduction to Machine Learning, PHI
1. Environment Set-up
Download set-up files
Installation
Environment Set-up
Demo Program
2. Data Handling
Downloading Dataset
Import/Export Dataset Files
Summarization of dataset
3. Data Pre-processing
Missing Value
Outlier Handling
Formatting data
4. Descriptive Statistics
variance, standard deviation, shape – skewness, kurtosis, percentiles, five point summary
boxplots, histograms, bar plot, pie chart, scatter plot, two way tables,
covariance, correlation analysis, Chi-Square test for two way tables
5. Supervised Learning- Regressions
Linear Regression with one variable
Linear Regression with multiple variable
Polynomial regression
6. Supervised Learning- Classifications
Logistic Regression
Decision Tree
k-Nearest Neighbours
Support Vector Machine
7. Unsupervised Learning- Clustering
K-means clustering
Hierarchical clustering
8. Deep Learning
Implementation of ANN
Implementation of CNN
Implementation of RNN
9. Data Transfer Learning
Importing pre-trained models
Implementation of pre-trained models with a new learning model
15. References
a) IIT Kharagpur (https://cse.iitkgp.ac.in/~saptarshi/courses/ml2018spring/)
b) VNIT, Nagpur (http://cse.vnit.ac.in/people/rbkeskar/teaching-2/current-courses/machine-
learning/)
c) Illinois Institute of Technology, Chicago (http://www.cs.iit.edu/~agam/cs584/#syllabus)
d) Massachusetts Institute of Technology, Massachusetts (http://lcsl.mit.edu/courses/ml/1718/)
8. Course Summary
This course will introduce students about the basis of digital image processing, various types of image
models and conversion from one model to another. They can learn about spatial and frequency domain
models for image processing and will able to implement various image enhancement techniques like
filtering, object extraction. They will also able to understand the classification of objects through feature
extraction.
9. Course Objectives
The objective of the course is to describe about the procedure of satellite data acquisition and analysis.
Moreover, interpretation and classification of content presents in a satellite image through objects
detection and feature extraction from the given input image.
Text Books
1. Lilliesand and T.M. and Kiefer, R.W., "Remote Sensing and Image Interpretation ", John Wiley and
Sons, 1994
2. Mather M. Paul “Computer Processing of Remotely-Sensed Images: An Introduction”, 3rd Edition,
2005.
Reference Books
1. Charles Elachi and Jakob J. van Zyl , Introduction To The Physics and Techniques of
Remote Sensing , Wiley Series in Remote Sensing and Image Processing, 2006.
2. George Joseph, Fundamentals of Remote Sensing, Second Edition, Universities Press
(India) Pvt Ltd, Hyderabad, 2005, ISBN: 8173715351, 9788173715358
3. Sabins, F.F.Jr, Remote Sensing Principles and Image interpretation, W.H.Freeman & Co,1978