Computer UG New Syllabus.
Computer UG New Syllabus.
Course content:
1. Programming Fundamentals & Control Statements:
Block Diagram of Computer, Hardware vs software, concept of operating system and compiler,
software development life cycle and structured programming. Introduction to C programming, basic
programming using input and output operators and expressions, programming using if and if-else,
Programming using looping-for, while, do-while; use of switch and break.
BOOKS
1. Byron S. Gottfried, Programming with C Language, Schaum Series, Tata McGraw Hill, 2015.
2. E Balaguruswamy, Programming with C, Tata McGraw Hill, 2015.
3. Kernighan & Richie, C Programming, Prentice Hall of India, 2002.
Course Outcomes:
1. Understand the use of software and programming for problem solving.
2. Learn programming using simple concepts of input, output and control statements.
3. Use arrays, functions, strings and structure for problem solving.
Course content:
1. Overview of CSE & IT as a discipline, differentiation between CS & IT, Broader industrial applications
of CSE &IT such as software development, Database oriented applications, computer networks and
related applications, System oriented scope at operating system level and hardware level.
3. Overview of adding intelligence to machines using soft computing, Importance of Information security
and introduction to basis terminologies such as virus, worm, Trojan, vulnerabilities, denial of services,
ethical hacking Overview of Applications and scope of mobile application development, image
processing and natural language processing.
4. Recent Developments in the area of Computer Vision, and Human Computer Interaction Awareness
about cloud and distributed computing Technologies and issues behind Social networking oriented
system design and development Futuristic areas like machine learning, big data analytics.
Course Outcomes:
1. Student will be aware of different domains of the computer engineering and information technology.
2. Student will be able to distinguish between core and elective courses being offered in the programme
of study.
3. Student will become aware of facilities and infrastructure of the department.
Course Content
1. Number Systems and Codes
Introduction to the positional number system, signed magnitude numbers, floating point numbers,
binary arithmetic: addition, subtraction, multiplication and division, Base conversion, conversion
formulas with examples, one’s and two’s compliment arithmetic, Computer codes – BCD codes, gray
codes, excess-3 codes, parity checks, Hamming and alphanumeric codes.
Reference Books:
1. R.P. Jain: Modern Digital Electronics, Tmh.
2. Z Kohavi: Switching and Finite Automata Theory, Tmh
3. M.M. Mano: Digital Logic Design, Phi.
4. Dr. B.R. Gupta: Digital Electronics, Katson.
5. James W. Bignell& Robert Donovan: Digital Electronics, Cengage Learning.
6. Sanjay Kumar Bose: Digital Systems, New Age International Publishers
Course outcomes:
1. Understand the basic fundamentals of digital systems.
2. Apply fundamental to implement real systems that are useful for the society.
3. Understand the basic concept of synthesis of synchronous as well as asynchronous sequential
circuits.
Course Content
1. Fundamentals of pointers & Files:
Pointers in C: pointer declaration, passing pointer to functions, pointers and arrays, dynamic memory
allocation, Files and related operations. Searching techniques: Linear and Binary, Sorting techniques:
Selection, Bubble, Insertion, Merge sort, Quicksort.
Reference Books
1. E Horowitz and S. Sahni: Fundamentals of Data Structures in C, Second Edition, Universities Press,
Hyderabad.
2. R.L. Kruse: Data Structures & Program Design in C, PHI.
Page 3 of 46 (Final Scheme & Syllabus after Senate changes)
3. D.F. Knuth: The art of Computer Programming Vol 1, Narosa Publications, 1985.
4. Byron S. Gottfried & J K Chhabra: Theory and Problems of Programming with C Language, Schaum’s
Outlines Series, TMH, 2005.
Course Outcomes
1. Develop skill to identify and determine the usage of various data structures, operations, associated
algorithms and implement their applications.
2. Apply knowledge of pointers, memory allocation and string handling for solving programming
problems.
3. Understand the concept of trees and graphs, their implementation and applications.
4. Able to implement standard algorithms for searching and sorting.
5. Analyze efficiency of different algorithms using time and space complexity.
Course Content:
1. Object Oriented Programming and Design
Review of Abstraction, Objects and other basics, Encapsulation, Information hiding, Method,
Signature, Classes and Instances, Polymorphism, Inheritance, Exceptions and Exception Handling
with reference to object modeling, Object Oriented Design – Process, Exploration and Analysis.
5. Introduction to Java
BOOKS
1. Herb Schildt: C++ - The Complete Reference, TMH, Delhi
2. R.Venugopal :Mastering C++,TMH, Delhi
3. Bruce Eckel : Thinking in C++ Volume I ,Pearson Education, Delhi.
4. Horstmann: Computing Concepts with C++ Essentials, John Wiley.
5. Joseph O’Neil and Herb Schildt: Teach Yourself JAVA, TMH, Delhi.
6. Gary Cornell, Sun Microsystems: Core Java 2,Pearson Education, Delhi.
Course Outcomes
1. Able to differentiate between structure oriented programming and object oriented programming and
to specify simple abstract data types and design implementations
2. Recognize features of object-oriented design such as encapsulation, polymorphism, inheritance and
composition of systems based on object identity.
3. Able to use object oriented programming language like C++ and associated library to develop object-
oriented programs.
4. Able to understand and to use basic fundamentals of Java.
Course Content:
1. Introduction: Brief history of internet, introduction to world wide web, basic principles involved in
developing a web site, rules of web designing, web standards, audience requirements, Design
concept.
2. Web essentials and standards: Clients, servers, introduction to Markup languages, scripting
languages, Introduction to elements of HTML, XHTML and CSS, Introduction to Document object
model (DOM), working with text, list, tables, frames, hyperlinks, Images multimedia, forms and
controls. CSS properties, Id and Class, Box Model, creating page Layout and Site Designs
3. Javascript Javascript as programming language, Data types, Values, Variables, Expressions and
Operators. JavaScript Statements, loops, arrays, strings, methods, Defining and Invoking functions
and their closure, random functions and maths library, representing dates. Pattern Matching and
Regular Expressions. Javascript in web browsers, difference between server side and client side
javascript, embedding javascript in HTML and frameworks, Changing CSS style, hiding HTML
elements, showing hidden HTML elements. DOM and event handling, error handling, mouse, text,
drag, drop and keyboard events and node operations, Node operations, Cookies, Scripted HTTP,
Animation and multimedia Forms of Debugging.
4. Website Development Tools Google Web Designer, Macaw, Sketch, Firefox, YSlow, Wordpress,
openElement etc.
Page 5 of 46 (Final Scheme & Syllabus after Senate changes)
Reference Books:
1. Thomas A Powell, HTML: The Complete Reference, Tata McGraw Hill Publications.
2. Scott Guelich, Shishir Gundavaram, Gunther Birzniek; CGI Programming with Perl 2/e, O’Reilly
3. Doug Tidwell, James Snell, Pavel Kulchenko; Programming Web Services with SOAP, O’ Reilly
4. Robert. W. Sebesta, "Programming the World Wide Web", Fourth Edition, Pearson Education, 2007.
5. Yong, XML Step by Step, PHI.
6. Chris Bales, “Web programming- Building Internet Application”.
7. Deitel, Deitel, Goldberg, "Internet & World Wide Web How To Program", Third Edition, Pearson
Education, 2006.
8. Marty Hall and Larry Brown, “Core Web Programming” Second Edition, Volume I and II, Pearson
Education, 2001.
Course outcomes
1. Understand basic principles of web site design, considering the information architecture.
2. Incorporate best practices in navigation, usability in website design
3. Design of website adhering to current web standards (HTML, XML, CSS)
4. Learning various scripting languages to create interactive components in web pages.
Course Content:
1. Introduction
Concept of Time and space complexity, analysis of algorithms, asymptotic notation, recurrence
relations, design and analysis of D & C problems like quick sort etc, heap sort, priority queues, sorting
in linear time, hashing, binary search trees.
2. Graph Algorithms
Graph representation & traversal (search), topological sort, strongly connected components,
minimum spanning trees – Kruskal and Prim’s, Single source shortest paths, relaxation, Dijkstra’s
algorithm, Bellman-Ford algorithm, single source shortest paths for directed acyclic graphs, all-pairs
shortest path.
BOOKS
1. Cormen, Leiserson and Rivest: Introduction to Algorithms, 3/e, PHI.
Page 6 of 46 (Final Scheme & Syllabus after Senate changes)
2. Horowitz, Sahni, and Rajasekaran: Fundamentals of Computer Algorithms, Second Edition,
Universities Press, Hyderabad.
3. Aho, Hopcroft, and Ullman: The Design and Analysis of Computer Algorithms, Addison Wesley.
Course Content:
1. The overview of Java’s architecture and the architecture of the Java Virtual Machine (JVM).
Classes: Declaring Members (Fields and Methods), Instance Members, Static Members.
Objects: Class Instantiation, Reference Values, and References, Object Aliases. Basic Language
Elements, Primitive Data Types, Variable Declarations, Initial Values for Variables, Class
Declarations, Method Declarations, this reference, Method Overloading, Constructors, The Default
Constructor and Constructors overloading. Arrays, Anonymous Arrays, Multidimensional Arrays,
Variable Arity Methods, The main() Method, Program Arguments.
2. Packages: Defining Packages, Using Packages, Compiling Code into Packages, Running Code from
Packages. Scope Rules, Accessibility Modifiers, Overview of other Modifiers for Members. Operators
and Expressions, Overview of Control Flow Statements.
Exception Handling: The try Block, The catch Block, The finally Block, The throw Statement, The
throws Clause, Checked and Unchecked Exceptions, Defining New Exceptions.
4. Multithreading: Overview of Threads, the Main Thread, Thread Creation, Synchronization, Thread
Transitions. Basics of Event Handling, Graphics Programming using AWT and Swing, An overview of
the new Features of Java 7 & 8.
Reference Books:
1. Bruce Eckel, Thinking In Java, Pearson Education, 4th Ed., 2006.
2. Dietel & Deitel, Java How to Program, Pearson Education, 10th Ed., 2015.
3. Kathy Sierra & Bert Bates, Head First Java, O’REILLY, 2nd Ed., 2005.
Course outcomes:
1. Write Java programs that solve simple business problems.
2. Create java applications that are robust and multithreaded.
3. Write simple GUI interfaces for a program to interact with users, and to understand the event-based
GUI handling principles.
Course Content:
1. Introduction: Overview of file systems and Database Systems , Software Architecture of a typical
DBMS, Data Models, Relational Data Model, Network Data Model, Hierarchical Data Model,
Schemas and Instances, Database Administration and Control.
2. Relational Model and Query Language: Overview of Relational Database, Key Integrity constraint,
Relational Algebra, Relational Calculus: Domain Relational Calculus, Tuple Relational Calculus, SQL
Fundamentals, Basic operators, Missing Information, Null Values, Additional Operations, Advanced
SQL features, Embedded SQL, Dynamic SQL, Database Views.
Reference Books
1. A Silberschatz, H.F. Korth & S. Sudarshan: Data Base System Concepts, TMH, 1997.
2. A.K. Majumdar and Bhattacharyya: Database Management Systems, THM, 1996.
3. C.J. Date: An Introduction to Database systems 7th Ed. Addison Wesley, Indian Edition, 2000.
4. Elmasri & Navathe : Fundamentals of Database Systems/Oracle 9i Programming 5th Ed. Pearson,
2009.
Course Outcomes
1. To understand fundamental concepts, principles and applications of database system.
2. To demonstrate database related programming languages and perform the basics of commercial
relational systems.
Page 8 of 46 (Final Scheme & Syllabus after Senate changes)
3. To apply the concepts of normalization on database design.
4. To Design and Implement a small database project, considering the issues like concurrency control,
recovery and security.
5. Comprehend contemporary issues related to industry and government related to database domain.
Course Content:
1. Introduction: Introduction of Software (SW), Type of Software, SW Components: Process, People,
Project, Product, Software crisis, Software Process Models: Details of People involve in each
Process, SDLC methods/models: Build & Fix, Waterfall, Prototype (Evolutionary & Throw-away),
Iterative, Incremental iterative, Spiral, RAD, Agile methodology.
3. Software Design and Testing: Design Architecture and Patterns, Modularity, Function oriented
design, Object Oriented Design, Software Testing: Software Testing Strategy and Techniques,
Functional testing, Structural testing, Debugging and testing tools, SW/HW reliability, Reliability
concepts and models, Reliability allocation, Software Maintenance: Introduction to SW Maintenance
and types, SW Maintenance models: Re-engineering & Forward Engineering.
4. Software Project Planning: Role of Software Project Planning, Estimation method, Estimation of
Effort & Schedule, Software Metrics: Introduction to Size metrics, Data structure metrics, information
flow metrics, entropy-based measures, metric analysis. Basic COCOMO, Intermediate COCOMO,
Detailed COCOMO, Quality Planning, Planning Parameter, Quality Defect Removal Cycle, Role of
Risk Analysis.
Reference Books
1. R.S. Pressman, Software Engineering – A Practitioner’s Approach, 6th Edition, TMH, 2013.
2. Ian Sommerville, Software Engineering, 8th Edition, Addison Wesley, 2009.
3. Pankaj Jalote, An Integrated Approach to Software Engineering, Narosa Publishing, 2010.
4. K.K.Aggarwal, Yogesh Singh: Software Engineering, New Age International Ltd, 2001.
Course Outcomes
1. Able to apply the concepts and choose an appropriate SDLC process model for user requirements.
2. To analyze requirement techniques like Data flow diagram, Entity relationship diagram etc.
3. Understanding the concept of Software Design and emphasizing upon various software metrics used
for analyzing the software.
4. Demonstrate various testing methodologies and debugging tools for a prototype software.
5. Design various software reliability measures to assess the quality of software in case of various faults
and failures.
Page 9 of 46 (Final Scheme & Syllabus after Senate changes)
Course Code : CSPC29
Course Title : Computer Organization and Architecture
Number of Credits : 4
Prerequisites : CSPC10
Course Type : PC
Course Content
1. Introduction
Introduction to digital electronics: combinational circuits and sequential circuits. Basic Machine
Principle, Structure and representation of real world data. Subroutine, Branching & Macro facility.
2. Processor Design
Processor Organization, Information representation and Number format, Instruction cycle and
Instruction format, Addressing modes, Arithmetic operation, timed point addition, subtraction,
multiplication and division, ALU design, Parallel processing – Performance consideration, Pipeline
processor.
3. Control Design
Instruction sequencing and Interpretation, Hardware Control design method and Microprogrammed
Control.
4. Memory organization
Memory device characteristic, Random access and serial access memories, Virtual memory – memory
hierarchies, Page replacement policies, Segments, pages and file organization, High speed memories
– cache and associative memory.
5. System Organization
Programmed I/O, DMA and interrupts, I/O processors & CPU – I/O interaction.
Reference Books:
1. M.M. Mano: Computer System Architecture, 3rd Ed. PHI.
2. J.P. Hayes: Computer Architecture and Organization, 3rd Ed. TMH, 1999.
3. C.W. Gear: Computer organization and Programming, TMH.
4. T.C. Bartee: Digital Computer Fundamental, TMH.
5. A. S. Tanenbaum: Computer System Organization, PHI.
Course outcomes:
1. Understand the Computer System concepts.
2. Understand the organization of a computer system in terms of its main components
3. Understand the processor and control design of a computer system.
4. Understand the various types of memory.
5. Understand input/output mechanisms.
Course Content:
1. Computer system architecture and organization, Introduction and evolution of OS, Introduction to
distributed OS, Real time systems and multimedia systems. OS structures: OS services, system calls
and programs, OS design and implementation. Processes: Process concept, scheduling policies,
algorithms, multilevel queuing, operations on process, Inter-process communication. Threads:
multithreading models and threading issues. CPU scheduling: Criteria and algorithms, multiprocessor
and thread scheduling.
2. Process synchronization: critical sections, classical two process and n-process solutions, hardware
primitives for synchronization, semaphores, monitors, classical problems in synchronization
(producer-consumer, readers-writer, dining philosophers, etc.). Deadlocks: modeling, resource
allocation, characterization, prevention and avoidance, detection and recovery.
4. File system interface: access methods, access control, directory structures, file organization, file
sharing and protection. system performance, protection and security, access matrix, Security
breaches, types of attacks, attack prevention methods, security policy and access control, OS design
considerations for security, access, policy and access control, OS design considerations for security,
access control lists and OS support, internet and general network security.
Reference Books:
1. A. Silberschatz, Peter B. Galvin and G. Gagne, "Operating System Concepts," (6th or newer edition),
Wiley.
2. H. Brinch, "Operating System Principles," Prentice Hall of India.
3. Dhamdhere, "Systems programming & Operating systems," TataMcGraw Hill.
4. A. N. Habermann, "Introduction to Operating System Design," Galgotia publication, New Delhi.
5. A.S. Tanenbaum, "Modern Operating Systems," Prentice Hall of India.
Course outcomes:
At the end of the course student will be able to:
1. Understand functions, structures and history of operating systems.
2. Able to know the design issues associated with operating systems.
3. Master various process management concepts such as scheduling, synchronization, multithreading
and deadlocks.
4. Understand the various concepts associated with memory management such as virtual memory,
demand paging, page replacements algorithms.
5. Be familiar with various protection and security mechanisms.
Page 11 of 46 (Final Scheme & Syllabus after Senate changes)
Course Code : CSPC22
Course Title : Microprocessor and Interfacing
Number of Credits : 4
Prerequisites : CSPC10, CSPC29
Course Type : PC
Course Content:
1. Introduction & Architecture
History of microprocessors, 8086 architecture, internal operation, Machine language instructions,
Instruction execution time (Timing Diagram: Fetch Cycle, Execution Cycle).
Reference Books:
1. Liu and Gibson, Microcomputer Systems: 8086/8088 family: Architecture, Programming and Design,
PHI.
2. D.V. Hall, Microprocessors and Interfacing, TMH.
3. A. K. Ray & K.M. Bhurchandi, Advanced Microprocessors and Peripherals: Architecture,
Programming and interfacing, TMH.
4. Bray, the Intel Microprocessor 8086/8088-Pentium: Architecture, Programming and interfacing, PHI
5. James L. Antonakos, The Intel Microprocessor family H/W and S/W Principles and Applications,
Cengage Learning
Course outcomes:
1. Develop an understanding of basic concepts of microprocessors.
2. Understand the instruction set of 8086.
3. Able to apply the knowledge of assembly language to solve various problems.
4. Grasp an understanding of various peripheral device interfaces with 8086.
5. Able to design and implement various interfaces in real life different applications.
Course Content:
1. Linux Startup and Shell Programming
User accounts, accessing linux- starting and shutting process, Logging in and Logging out, Command
line, simple command, Unix file system: Linux/Unix files, inodes and structure and file system related
commands, Shell as command processor, shell variables, creating command substitution, scripts,
functions, conditionals, loops, customizing
4. Processes in Linux
Processes, starting and stopping processes, initialization processes, rc and init files, job control- at,
batch, cron, time, network files, security, privileges, authentication, password administration,
archiving, Signals and signal handlers, Linux I/O system.
Reference Books:
1. Sumitabha Das: Your Unix- The Ultimate Guide, TMH, 2012
2. Behrouz A. Forouzan, Richard F. Gilberg: UNIX and Shell Programming, Brooks/Cole-Thomson
Learning (CENGAGE Learning, India) , 2009
3. John Goerzen: Linux Programming Bible, IDG Books, New Delhi, 2000
4. Neil Matthew, Richard Stones: Beginning Linux Programming, Wrox-Shroff, 2007
5. Welsh & Kaufmann: Running Linux, O’Reiley & Associates, 2000
6. Guido van Rossum: An Introduction to Python, Network Theory Ltd, 2011
7. The Python Tutorial Online Book (http://docs.python.org/3/tutorial/index.html)
Course content
1. Introduction
Network Functions, Network Topology, Network Services, Switching Approaches, Transmission
media and systems, multiplexing and signaling techniques, Error detection and correction, Internet
checksum algorithm.
2. Layered Architectures
Examples, OSI Reference Model, Overview of TCP/IP architecture, Socket system calls, SNMP,
Electronic Mail.
3. Peer-to-Peer Protocols
Protocols, Service Models and End-to-End requirements, ARQ, Sliding Window Protocols, RTP,
HDLC, PPP protocols, Statistical Multiplexing.
6. TCP/IP
Architecture, Internet protocols – IP packet, Addressing, Subnet addressing, IP routing, CIDR, ARP,
RARP, ICMP, Reassembly, IPv6, UDP, Transmission Control Protocol – TCP, DHCP, Mobile IPv6,
Internet Routing protocols, Multicast Routing.
BOOKS
1. Leon Garcia and IndraWidjaja: Communication Networks – Fundamental Concepts and Key
Architectures, TMH, 2000.
2. A.S. Tanenbaum: Computer Networks, Fourth Edition, Pearson Education, 2003.
3. Forouzan: Data Communications and Networks, Fourth Edition, McGraw Hill, 2007.
4. William Stallings: Data and Computer Communications 5/e, PHI.
Course Content:
1. JDBC Architecture, a Relational Database Overview, Processing SQL Statements with JDBC
Establishing a Connection, Connecting with DataSource Objects, Handling SQLExceptions,
Retrieving and Modifying Values from Result Sets, Using Prepared Statements, Using Transactions,
Using RowSet Objects
2. Generics & Collection Framework APIs. Introduction to Design Patterns: the Factory Design Pattern,
the Singleton Design Pattern..
3. Why use Servlets & JSPs: an introduction to web servers & clients, HTML, HTTP Protocol, HTTP
GET and POST requests, HTTP responses. Web App Architecture: high-level overview. A Model-
View-Controller (MVC) overview and example, life cycle of a servlet, request & response objects, Init
Parameters and ServletConfig, JSP init parameters, Context init parameters, attributes and listeners,
session management.
4. Create a simple JSP using “out” and a page directive, JSP expressions, variables, and declarations,
implicit objects, The Lifecycle and initialization of a JSP, other directives. Scriptless JSP: Standard
actions, Expression Language, The EL implicit objects & EL functions, using JSTL.
Reference Books:
1. Dietel & Deitel, Java How to Program, Pearson Education, 10th Ed., 2015.
2. Bryan Basham, Kathy Sierra, Bert Bates, Head First Servlets & JSPs , O’REILLY, 2nd Ed., 2008.
3. Eric Freeman , Elisabeth Freeman, Kathy Sierra and Bert Bates, Head First Design Patterns,
O’REILLY, 1st Ed., 2004.
Course outcomes:
1. Able to interact with a database using java-programming language.
2. Able to write generic programs with the usage of collection framework APIs
3. Able to design a web application using various J2EE constructs such as servlets and JSPs.
Course Content:
1. The concept of data types; variables, assignments; immutable variables; numerical types; arithmetic
operators and expressions; comments in the program; understanding error messages; Conditions,
boolean logic, logical operators; ranges; Control statements: if-else, loops (for, while); short-circuit
(lazy) evaluation; Strings and text files; manipulating files and directories, os and sys modules; text
files: reading/writing text and numbers from/to a file; creating and reading a formatted file (csv or tab-
separated); String manipulations: subscript operator, indexing, slicing a string.
2. Lists, tuples, and dictionaries; basic list operators, replacing, inserting, removing an element;
searching and sorting lists; dictionary literals, adding and removing keys, accessing and replacing
values; traversing dictionaries; Design with functions: hiding redundancy, complexity; arguments and
return values; formal vs actual arguments, named arguments.
3. Simple Graphics and Image Processing: “turtle” module; simple 2d drawing - colors, shapes; digital
images, image file formats, image processing: Simple image manipulations with 'image' module
(convert to bw, greyscale, blur, etc). Classes and OOP: classes, objects, attributes and methods;
defining classes; design with classes, data modeling; persistent storage of objects; inheritance,
polymorphism, operator overloading (_eq_, _str_, etc); abstract classes; exception handling, try block
4. Graphical user interfaces; event-driven programming paradigm; tkinter module, creating simple GUI;
buttons, labels, entry fields, dialogs; widget attributes - sizes, fonts, colors layouts, nested frames.
Reference Books:
1. T.R. Padmanabhan, Programming with Python, Springer, 1st Ed., 2016.
2. Kenneth Lambert, Fundamentals of Python: First Programs, Cengage Learning,, 1st Ed., 2012.
Course outcomes:
1. Write python programs that solve simple business problems.
2. Create python applications that are robust and multithreaded.
3. Write simple GUI interfaces for a program to interact with users, and to understand the event-based
GUI handling principles in python.
Course content
1. Elementary Number Theory: Divisibility, Division Algorithm, Euclidean Algorithm; Congruences,
Complete Residue systems, Reduced Residue systems; Fermat's little theorem, Euler's
Generalization, Wilson's Theorem; Chinese Remainder Theorem, Generalized Chinese Remainder
Theorem-Euler Phi-function, multiplicative property; Finite Fields, Primitive Roots; Quadratic
Residues, Legendre Symbol, Jacobi Symbol; Gauss's lemma, Quadratic Reciprocity Law.
3. Private Key Cryptosystems: Classical methods: Caesar cipher, Vigenere cipher, one-time pad and
others; Block ciphers, Fiestel structure, DES, AES and its security properties; Linear Cryptanalysis,
Differential Cryptanalysis; Hash functions: MD5, SHA-1 and its properties
4. Public Key Cryptosystems: Traditional Cryptosystem, limitations; Public Key Cryptography; Diffie-
Hellmann key exchange; Discrete Logarithm problem; One-way functions, Trapdoor functions; RSA
cryptosystem; Digital signature schemes; Digital signature standards; RSA signature schemes;
Knapsack problem; ElGamal Public Key Cryptosystem; Attacks on RSA cryptosystem: Common
modulus attack; Homomorphism attack, timing attack; Forging of digital signatures; Elliptic curve
cryptography: Cubic Curves, Singular points, Discriminant; Introduction to Elliptic Curves, Geometry
of elliptic curves over reals; point at infinity; Addition of two points; Elliptic Curves over finite fields,
ElGamal Public Key Cryptosystem for elliptic curves.
Course outcomes
1. To understand Mathematical foundations of Cryptography theory.
2. To analyze the robustness of Cryptosystems.
3. To design robust cryptosystem for real time applications.
4. To develop prototype Cryptosystems and demonstrate their performance.
Course Content:
1. Random variables, Functions of random variables, joint1y distributed random variables. Expectation,
Expectation of functions of more than one random variable, Covariance and Correlation, Auto and
Cross Correlation, Correlation Co-efficient, Parameter Estimation – Maximum Likelihood Estimation
and Maximum a Posteriori.
Course outcomes
1. Develop an understanding to the basic concepts of Random Processes, Expectations and Parameter
Estimation.
2. Able to understand and apply the Stochastic processes to Science and Engineering problems and
applications.
3. Able to calculate the n-step transition probabilities for any Markov chain and understand about the
birth and death of processes.
4. Able to apply Markov chain & Birth Death process to real life problems.
5. Develop an understanding of various Queuing Systems.
Course content:
1. Conventional Software Management.
Evolution of software economics. Improving software economics: reducing product size, software
processes, team effectiveness, automation through software environments. Principles of modern
software management.
Books
1. Software Project management, Walker Royce, Addison Wesley, 1998.
2. Project management 2/e, Maylor.
3. Managing the Software Process, Humphrey.
4. Managing global software Projects, Ramesh, TMH, 2001.
Course Outcomes:
1. Understanding the evolution and improvement of software economics according to the basic
parameters and transition to the modern software management.
2. Learning the objectives, activities and evaluation criteria of the various phases of the life cycle of
software management process.
3. Gaining knowledge about the various artifacts, workflows and checkpoints of the software
management process and exploring the design concept-using model based architecture from
technical and management perspective.
4. Develop an understanding of project planning, organization, responsibilities, automation and control
of the processes to achieve the desirable results.
Course content
1. Introduction : Fundamentals of data mining, Data Mining Functionalities, Classification of Data Mining
systems, Major issues in Data Mining, Data Warehouse and OLAP Technology for Data Mining Data
Warehouse, Multidimensional Data Model, Data Warehouse Architecture, Data Warehouse
Implementation, Further Development of Data Cube Technology, From Data Warehousing to Data
Mining, Data Preprocessing : Needs Preprocessing the Data, Data Cleaning, Data Integration and
Transformation, Data Reduction, Discretization and Concept Hierarchy Generation.
3. Mining Association Rules in Large Databases : Association Rule Mining, Mining Single-Dimensional
Boolean Association Rules from Transactional Databases, Mining Multilevel Association Rules from
Transaction Databases, Mining Multidimensional Association Rules from Relational Databases and
Data Warehouses, From Association Mining to Correlation Analysis, Constraint-Based Association
Mining. Classification and Prediction: Issues Regarding Classification and Prediction, Classification
by Decision Tree Induction, Bayesian Classification, Classification by Backpropagation, Classification
Based on Concepts from Association Rule Mining, Other Classification Methods, Prediction, Classifier
Accuracy.
4. Cluster Analysis Introduction : Types of Data in Cluster Analysis, A Categorization of Major Clustering
Methods, Partitioning Methods, Density-Based Methods, Grid-Based Methods, Model-Based
Clustering Methods, Outlier Analysis. Mining Complex Types of Data: Multimensional Analysis and
Descriptive Mining of Complex, Data Objects, Mining Spatial Databases, Mining Multimedia
Databases, Mining Time-Series and Sequence Data, Mining Text Databases, Mining the World Wide
Web.
Text Book:
1. Data Mining – Concepts and Techniques - Jiawei Han & Micheline Kamber Harcourt India.
References:
1. Data Mining Introductory And Advanced Topics –Margaret H Dunham, Pearson Education
2. Data Mining Techniques – Arun K Pujari, University Press.
3. Data Warehousing In the Real World – Sam Anahory & Dennis Murray. Pearson Edn Asia.
4. Data Warehousing Fundamentals – Paulraj Ponnaiah Wiley Student Edition.
5. The Data Warehouse Life Cycle Tool Kit – Ralph Kimball Wiley Student Edition.
Course Outcomes:
1. Develop an understanding on the basic concepts, principles and applications of data mining and
warehousing, also able to identify the scope and necessity of system.
2. Describe the theoretical constructs and core processes of data mining and warehousing, also
demonstrate the importance of paradigms from the fields of Artificial Intelligence and Machine
Learning to data mining.
3. To understand the strengths and limitations of various data mining and warehousing models and
techniques in solving the real world problems.
4. Able to design and analyse, a lightweight prototype or simulation that supports the concept of data
mining and warehousing.
5. Comprehend contemporary issues related to research domain, industry and government, also able to
inculcate professional, ethical issues and social responsibilities.
Course Content
1. Advanced Data Structures
Threaded binary trees, Binomial heaps, Fibonacci heaps, data structures for disjoint sets, Balanced
trees- AVL, red-black trees
2. String Matching
String-matching algorithm, Rabin-Karp algorithm, String matching with automata, Knuth-Morris-Pratt
algorithm.
4. Advanced Algorithms
Introduction to approximation algorithms, absolute approximation, ɛ-approximation, polynomial time
approximations, randomized algorithms.
Suggested Books:
1. E Horowitz and S. Sahni, Fundamentals of Data Structures, Universities Press.
2. Cormen, Leiserson and Rivest, Introduction to Algorithms, 3/e, PHI.
3. Horowitz, Ellis and Sahni, Fundamentals of Computer Algorithms, Universities Press..
Reference Books:
1. Oded Goldreich. P, NP, and NP-Completeness: The Basics of Computational Complexity, Cambridge
University Press, 2010.
2. Anne Benoit, Yves Robert, Frédéric Vivien. A Guide to Algorithm Design: Paradigms, Methods, and
Complexity Analysis, Taylor & Francis, 2013.
3. A.V. Aho, J.E. Hopcroft, and J.D. Ullman, Data Structures and Algorithms, Addison Wesley, Reading
Massachusetts, USA, 1983.
4. Donald Knuth. The Art of Computer Programming: Fundamental Algorithms, Third Edition. Addison-
Wesley, 1997.
5. Donald Knuth. The Art of Computer Programming Volume 3: Sorting and Searching, Third Edition.
Addison-Wesley, 1997. ISBN 0-201-89685-0.
Course Outcome:
1. Compare, contrast, and apply the key algorithmic design paradigms: brute force, divide and conquer,
decrease and conquer, transform and conquer, greedy, dynamic.
2. Compare, contrast, and apply key data structures: trees, lists, stacks, queues, hash tables, and graph
representations.
3. Compare, contrast, and apply algorithmic tradeoffs: time vs. space, deterministic vs. randomized, and
exact vs. approximate.
4. Implement, empirically compare, and apply fundamental algorithms and data structures to real-world
problems.
Course content:
1. Soft Computing and Artificial Intelligence: Introduction of Soft Computing, Soft Computing vs.
Hard Computing, Various Types of Soft Computing Techniques, Applications of Soft Computing, AI
Search Algorithm, Predicate Calculus, Rules of Interference, Semantic Networks, Frames, Objects,
Hybrid Models.
2. Artificial Neural Networks and Paradigms: Introduction to Neuron Model, Neural Network
Architecture, Learning Rules, Perceptrons, Single Layer Perceptrons, Multilayer Perceptrons, Back
propagation Networks, Kohnen'sself organizing networks, Hopfield network, Applications of NN.
3. Fuzzy Logic: Introduction, Fuzzy sets and Fuzzy reasoning, Basic functions on fuzzy sets, relations,
rule based models and linguistic variables, fuzzy controls, Fuzzy decision-making, applications of
fuzzy logic.
Suggested Books :-
1. Simon S. Haykin, Neural Networks, Prentice Hall, 2nd edition.
2. B. Yegnanrayana , “Artificial Neural Networks” , PHI.
3. Jacek M. Zurada, Introduction to Artificial Neural Systems, Jaico Publishing House,1994
4. Zimmermann, “Fuzzy Set Theory and its Application”, 3rd Edition.
5. Jang J.S.R., Sun C.T. and Mizutani E, "Neuro-Fuzzy and Soft computing", Prentice Hall, 1998.
6. Timothy J. Ross, "Fuzzy Logic with Engineering Applications", McGraw Hill, 1997.
7. D.E. Goldberg, "Genetic Algorithms: Search, Optimization and Machine Learning", Addison Wesley,
N.Y, 1989.
Course Outcomes
1. Understand various biologically inspired algorithms.
2. Apply different intelligent algorithms in classification, prediction, optimization, pattern recognition
applications.
3. Design hybrid system incorporating neural network, genetic algorithms, fuzzy systems.
Course content
1. UML & Object-Oriented Modeling [1] [3]
An Overview of UML, architecture, UML Modeling Concepts – system models & views, datatypes,
classes, objects, event & messages, object-oriented modeling; Modeling Relations- association,
Reference Books:
1. Bernd Bruegge, Allen H. Dutoit, Object-Oriented Software Engineering Using UML, Patterns and
Java, Pearson, 3rd Edition, 2013.
2. Ken Schawber, Mike Beedle, Agile Software Development with Scrum, Pearson, 2001.
3. Grady Booch, James Rumbaugh, Ivar Jacobson, Unified Modeling Language User Guide, Addison
Wesley, 2nd Edition, 2012.
4. Robert C. Martin, Agile Software Development- Principles, Patterns and Practices, Prentice Hall,
2013.
Course Outcomes:
On completion of the course the student will be able to:
1. Understand the concepts of Unified Modeling Language (UML) and UML diagrams during object
oriented analysis and design.
2. Software development and process control using agile and scrum methodology.
Course Outcomes
1. To understand the foundations finite automata (deterministic or non-deterministic), FSM and master
regular languages.
2. Be exposed to types of languages (type-0, type-1, type-2, type-3), context-free languages (type-2)
and using pushdown automata (PDA) as its acceptor.
3. To design the Turing machines for various mathematical function, string function etc
4. To demonstrate concept of decidability, unsolvability and recursive.
Course Content:
1. Introduction to Testing & Software Verification [1]
Review of Functional and Structural Testing Techniques- Slice Based testing and Mutation Based
testing. Verification methods, SRS document verification, SDD document verification, source code
reviews, User document verification, Software project Audit
Reference Books:
1. Yogesh Singh, Software Testing, Cambridge Publication, 2013.
2. Paul C. Jorgensen, Software Testing- A Craftsman’s Approach, Auerbach Publication, 3rd Edition,
2012.
Course Outcomes:
On completion of the course, the student will be able to:
1. Describe techniques in the areas of software inspection, software testing and software validation.
2. Apply different techniques for verification of the software.
3. Generate test cases for validation object oriented and web based software.
Course Content:
1. Intel 8051 Micro controller: Basic differences between Microprocessors and Microcontroller.
Introduction to Intel 8051 Microcontroller, architecture, registers, Internal and External Memory.
Instruction Set. On Chip Counters / Timers, Serial I/O, Interrupts and their use. Assembly language
programming.
2. Atmel And PIC Microcontrollers: Introduction to Atmel and PIC C6X microcontrollers, architecture,
registers, Internal and External Memory, Instruction Set, On Chip Counters / Timers, Serial I/O,
Interrupts and their use. PWM, Watch dog Timer, ISP, IAP features. Assembly language
programming.
4. Open Source Embedded Development Board (Arduino): Overview of open source embedded
development board (Arduino), block diagram, pins of embedded development board, features of open
source tool used for programming a development board, programming of embedded development
board, Interface Serial Port with embedded development board, Program Raspberry Pi: a credit-card
sized computer, Python programming for Raspberry Pi, Interacting and configuring the RPi OS,
Porting of Linux Kernel and booting RPi.
CASE STUDIES: Design of Embedded Systems using the Microcontroller– 8051/ Amtel/ Arduino/
Raspberry Pi, for applications in the area of Communications, Automotives, and industry.
Course outcomes:
1. Learn the concept of structure of embedded system.
2. Identify the needs of Arduino/Rasberry Pi in real life applications.
Course content:
1. Introduction to mobile devices: Introduction to Mobile Computing, Introduction to Android
Development Environment, Mobile devices vs. desktop devices, ARM and intel architectures, Power
Management, Screen resolution, Touch interfaces, Application deployment, App Store, Google Play,
Windows Store, Development environments: XCode, Eclipse, VS2012, PhoneGAP, etc.; Native vs.
web applications. Factors in Developing Mobile Applications: Mobile Software Engineering,
Frameworks and Tools, Generic UI Development, Android User; Graphics and Multimedia:
Performance and Multithreading, Graphics and UI Performance, Android Graphics, Mobile Agents
and Peer-to-Peer Architecture, Android Multimedia.
2. Mobile OS Architectures: Comparing and contrasting architectures of all three – Android, iOS and
Windows, Underlying OS, Kernel structure and native level programming. Approaches to power
management, Security. Android/iOS/Win 8 Survival and basic apps: Building a simple “Hello World”
App in all three applications, App-structure, built-in Controls, file access, basic graphics. Platforms
and Additional Issues: Development Process, Architecture, Design, Technology Selection, Mobile
App Development Hurdles, Testing.
4. Advanced Topics: Power Management: Wake locks and assertions, Low-level OS support, Writing
power-smart applications. Augmented Reality via GPS and other sensors: GPS, Accelerometer,
Camera. Mobile device security, in depth: Mobile malware, Device protections, iOS “Jailbreaking”,
Android “rooting” and Windows’ “defenestration”; Security and Hacking: Active Transactions, More on
Security, Hacking Android.
Reference Books:
1. Bill Phillips, Chris Stewart, Brian Hardy, and Kristin Marsicano, Android Programming: The Big Nerd
Ranch Guide, Big Nerd Ranch LLC, 2nd edition, 2015.
2. Valentino Lee, Heather Schneider, and Robbie Schell, Mobile Applications: Architecture, Design and
Development, Prentice Hall, 2004.
3. Tomasz Nurkiewicz and Ben Christensen, Reactive Programming with RxJava, O’Reilly Media, 2016.
4. Brian Fling, Mobile Design and Development, O’Reilly Media, Inc., 2009.
5. Maximiliano Firtman, Programming the Mobile Web, O’Reilly Media, Inc., 2nd ed., 2013.
6. Cristian Crumlish and Erin Malone, Designing Social Interfaces, 2nd ed., O’Reilly Media, Inc., 2014.
7. Suzanne Ginsburg, Designing the iPhone User Experience: A User-Centered Approach to Sketching
and Prototyping iPhone Apps, Addison-Wesley Professional, 2010.
Course outcomes:
1. Understand technology and business trends impacting mobile applications
2. Be competent with the characterization and architecture of mobile applications.
3. Understand enterprise scale requirements of mobile applications.
4. Design and develop mobile applications using one application development framework.
Course content:
1. Ad hoc wireless networks, Challenges in wireless sensor networks, clustering algorithms, MST base,
Lowest-ID based, and Dominating-set based clustering, Ad hoc routing in MANET and Sensor
Networks, Time Synchronization, Localization, Target tracking, and other applications.
2. Peer-to-peer overlay networks, 1st and 2nd generation P2P networks, Koorde and De Bruijn Graph,
Bittorrent and free riding. Analysis of Complex Networks, Vertex degrees, communities, Matching
Index, centrality, Network motifs, Random networks, Small world networks, Scale-free networks,
3. Distance, Centrality and Prestige, Relationships, Special subgraphs, Data Clustering, Graph based
clustering, Network motif discovery, Structural balance, cohesive subgroups, affiliation networks,
Structural, Automorphic, and Regular Equivalence, Community detection algorithms, Social networks,
Opportunistic Mobile Social Networks, Architecture, Community Detection, and Middleware, Routing,
Books
1. Stefano Basagni, Marco Conti, Silvia Giordano, and Ivan Stojmenovic, Mobile Ad Hoc Networking:
Cutting Edge Directions, 2/e Wiley 2013.
2. Maarten van Steen, Graph Theory and Complex Networks: An Introduction, 2010.
3. KayhanErciyes, Complex Networks: An Algorithmic Perspective, CRC Press 2015.
4. Jie Wu and Yunsheng Wang, Opportunistic Mobile Social Networks, CRC Press 2015.
Course Outcomes:
1. Able to explain the main concepts of complex network analysis.
2. Able to identify network models and explain their structures.
3. Explain emergent features of complex networks with network models.
4. Analyse and design network models.
5. Familiarity with the new research in this evolving area.
Course Content
1. Introduction: Overview of Distributed Database, Data Delivery Alternatives, Promises of DDBSs,
Distributed DBMS Architecture, Design Issues, Fragmentation: Horizontal, Vertical, Hybrid
Fragmentation, Allocation and Information Requirements, Allocation Model, DD Design approach:
Top-down and Bottom-Up Design Methodology, Schema Matching, Schema Heterogeneity, Linguistic
Matching Approaches, Constraint-based Matching Approaches, Learning-based Matching, Combined
Matching Approaches, Schema Integration, Schema Mapping.
Reference Books
Course Outcomes
1. To understand fundamental concepts, principles and applications of Adv. Database Systems.
2. To demonstrate the knowledge of database system and evaluate Database design.
3. To apply state-of-art techniques to design advanced techniques in Database Systems.
4. Comprehend contemporary trend and issues in Advance Database System design related to
research domain, industry and government.
Course Content
1. Introduction: Fundamentals of Service Oriented Architecture, Characteristics of SOA, Comparison of
SOA with Client-Server and Distributed Internet Architectures, Anatomy of SOA, Principles of Service
Orientation
Course content
1. Introduction to Parallel Processing
Parallelism in uni-processor system, pipelining, basic assumptions, design techniques, designing
pipelined data path, propagating an instruction queue through the pipeline, pipeline hazards and their
detection, forwarding, instruction level parallelism, super-scalar architecture, general pipeline and
reservation tables, principles of linear pipelining, Instruction and arithmetic pipeline, principlesof
designing pipelined processor, micro-programming, general approach, micro-code engine, control
store, branching and looping, horizontal and vertical micro-code scheme with example, alternative
approach to micro-coding.
(f) Naming (Tanenbaum-Steen, Ch. 4), Transactions and Concurrency control (CDK, Ch. 12),
Distributed Transaction (CDK, Ch. 13), Replication (CDK, Ch. 14)
BOOKS
Page 30 of 46 (Final Scheme & Syllabus after Senate changes)
1. Hwang and F.A.Briggs: Computer Architecture and Parallel Processing, McGraw Hill.
2. Distributed Systems: Concepts and Design; G Colouris, J Dollimore, T Kindberg 3/e Pearson Ed.
2002. (CDK)
3. Distributed Systems: Principles and Paradigm; Andrew S Tanenbaum, Maarten van Steen 3/e
Pearson Ed. 2002.
4. Elements of Distributed Computing, VK Garg, Wiley-Interscience Publishers, 2002.
Course Outcomes
1. Understand the modern concepts of computer architecture.
2. Investigate modern design structures of Pipelined and Multiprocessors systems.
3. Design new multiprocessors systems.
Course Content:
1. Introduction
Image Processing Fourier Transform and Z-Transform, Causality and stability, Toeplit and Circulate
Matrics, orthogonal and unitary Matrices and Kroenker product, Markov Processes, KI Transform,
Mean square Estimates and Orthogonal Principles
Image sampling & Quantization: Band Limited Image, Sampling Versus Replication, Reconstruction
of Image from samples Sampling Theorem, Sampling Theorem for Random Fields, Optimal
Sampling, Non-rectangular Grid Sampling, Sampling Aperture, Display Aperture/ Interpolation
Functions, Lagrange Interpolation, Moire Effect
Image Quantization: Uniform Optimal Quantizer, Properties of Mean Square Quantizer, Compandor
Design, Visual Quantization
2. Image Transforms
Two Dimensional Orthogonal and Unitary Transforms and their properties, One Dimensional and Two
Dimensional DFT, Cosine, Sine, Hadamard, SLANT, HAAR and KI Transforms and their properties,
Approximation to KI Transforms.
Image representation by stochastic models: One Dimensional Causal Models, AR, ARMA models,
Spectral factorization, Non Causal Representation, Image Decomposition.
Reference Books:
1. Anil Jain, Fundamentals of Digital Image Processing, Pearson, 1988.
2. Richard E Woods and Rafael C Gonzales, Digital Image Processing, Pearson, 3rd edition, 2009.
3. William. K. Pratt, Digital Image Processing, John Wiley & Sons, 4th edition, 2007.
Course outcomes:
1. Acquire the fundamental concepts of a digital image processing system
2. Apply knowledge of various mathematical tools used for 1D and 2D signal analysis and processing
3. Analyze 2D signals in the spatial and frequency domain.
4. Design and implement algorithms for digital image processing operations.
5. Ability to apply image processing techniques to solve various real time problems.
Course Contents:
1. Introduction
Basic definitions, types of learning, hypothesis space and inductive bias, evaluation, cross-validation,
Instance based learning, Feature reduction, Collaborative filtering based recommendation, Gradient
Decent learning.
4. Deep Learning
Neural network: Perceptron, multilayer network, backpropagation, Introduction to deep neural
network: Convolutional Neural Networks, its Architectures, convolution layers, pooling strategies and
softmax layer,
Reference Books:
Page 32 of 46 (Final Scheme & Syllabus after Senate changes)
1. T. Hastie, R. Tibshirani, J. Friedman. The Elements of Statistical Learning, 2e, 2008.
2. Christopher Bishop. Pattern Recognition and Machine Learning. 2e.
3. Machine Learning. Tom Mitchell. First Edition, McGraw- Hill, 1997.
4. Introduction to Machine Learning Edition 2, by Ethem Alpaydin
Course Outcome:
1. Recognize major programming languages.
2. Explain the stages of programming language interpretation and compilation.
3. Understand fundamental concepts in machine learning and popular machine learning algorithms.
4. Explain basics of computational learning theory.
5. Hands-on problem solving with programming in Python and MatLab
Course content
1. Fundamental issues in Distributed Systems, Models of Distributed Computations, Handling time
through clocks, Physical Time and Hardware Clock Synchronization, Logical Time and Software
Clocks, Message Ordering Protocols, Interprocess Communication, Shared Memory Vs Message
Passing Models, Distributed and Localized Algorithms, Evaluation of Correctness and Performance.
2. Protocols for Routing and Designing Virtual Constructs, MST, MIS, and CDS, Distributed Mutual
Exclusion, Leader Election,
3. Distributed Deadlock Detection, Termination Detection, Global State Computation and Snapshot
Recording.
4. Global Predicate Detection, Fault-Tolerance Issues, Basic Techniques for handling Crash Failure in
Distributed Systems, Checkpointing and Rollback Recovery, Z-path and Z-cycles, Other Types of
Failures in Distributed Computing Systems, Consensus and Agreement Protocols, FLP impossibility,
Byzantine Generals Problem, Failure Detectors, Wait Freedom, Self-Stabilization, Peer-to-Peer
Computing, Overlay Structures, Distributed Scheduling and Load Balancing, Naming, Security.
Text Books, and/or reference material
1. A D Kshemkalyani and MukeshSinghal, Distributed Computing: Principles, Algorithms, and Systems,
Cambridge University Press 2008.
2. G Colouris, J Dollimore, and T Kindberg, Distributed Systems: Concepts and Design, 3/e Pearson Ed.
2002.
3. A S Tanenbaum and M van Steen, Distributed Systems: Principles and Paradigms, 3/e Pearson Ed.
2002.
4. V K Garg, Principles of Distributed Systems, Kluwer Academic Publishers, 1996.
5. Sukumar Ghosh, Distributed Systems: An Algorithmic Approach, 2/e Chapman& Hall.
6. V K Garg, Principles of Distributed Computing, IEEE Press.
7. Nancy Lynch, Distributed Algorithms, Morgan Kaufmann Press.
Gerard Tel, Introduction to Distributed Algorithms, Cambridge University Press.
Page 33 of 46 (Final Scheme & Syllabus after Senate changes)
Course Outcome
1. Able to apply knowledge of operating systems and networks to distributed systems
2. Design distributed algorithms for complex computing problems
3. Analyze the performance of algorithms and evaluate the scalability of solutions
4. Adapt existing centralized algorithms to distributed set up
5. Simulate the algorithms in distributed environment
Course Content:
1. Introduction
Meaning of security, privacy, attacks, vulnerabilities and protection, CIA Triad, threat, control, layers
of information security, Computer Criminals, Methods of defense, Cryptography, Steganography,
ciphers, encryption, decryption, Key exchange, Uses of Encryption, digital signature.
Suggested Books:
1. Charles P. Pfleeger, Share Lawrence Pfleeger, Security in Computing, Pearson Education, 2/e.
2. William Stallings, Cryptography and Network Security, PHI, 4/e
3. Neal Koblitz, A Course in Number Theory and Cryptography, Springer 2006.
Reference Books:
1. An Introduction to theory of numbers, Niven, Zuckerman and Montgomery, (Wiley 2006)
2. Elliptic curves: number theory and cryptography, Lawrence C. Washington, (Chapman & Hall/CRC
2003)
3. Charlie Kaufman, Perlman & S Peeciner, Network Security, Pearson Education, 2/e.
Programme Elective – V
Course Content
1. Overview of Computing Paradigm, Recent trends in Computing. Distributed Computing, Cluster
Computing, Grid Computing, Utility Computing.
2. Cloud Computing, Introduction to Cloud Computing, History of Cloud Computing, Cloud service
providers, Pros and Cons of Cloud Computing, Benefits of Cloud Computing, Cloud computing vs.
Cluster computing vs. Grid computing, Cloud Computing Architecture, Service Models (XaaS),
Infrastructure as a Service(IaaS), Platform as a Service(PaaS), Software as a Service(SaaS).
3. Deployment Models, Public cloud, Private cloud, Hybrid cloud, Community cloud, Dynamic
provisioning and resource management,Cloud security,
4. Case Study on Open Source & Commercial Clouds: Eucalyptus, Microsoft Azure, Amazon EC2.
Reference Books:
1. Cloud Computing (Wind) by Kumar Saurabh, 2nd Edison, Wiley India.
2. Cloud Computing: Principles and Paradigms, Editors: Rajkumar Buyya, James Broberg, Andrzej M.
Goscinski, Wiley, 2011.
3. Cloud Computing: Principles, Systems and Applications, Editors: Nikos Antonopoulos, Lee Gillam,
Springer, 2012.
Course outcomes
1. To understand and apply the knowledge of systems protocols and mechanisms to support Grid and
Cloud computing
2. To analyze and implement the concepts of Cloud Computing
3. To deploy applications on cloud middleware
4. To understand and resolve security issues in various applications
2. Words and Phonetics: Regular expressions and Automata, Morphology and phonetics
fundamentals, morphological diversity of Indian languages, morphology paradigms, and finite state
machine based morphology, Computational Phonology and Text-to-Speech, Probabilistic Models of
Pronunciation and Spelling, N-grams, HMMs and Speech Recognition, Wordnet and linking.
3. Parsing: Part-of Speech Tagging, theories of parsing, syntactic and statistical parsing, parsing
algorithms, hybrid of rule based and probabilistic parsing, scope ambiguity and attachment ambiguity
resolution, Tree banks.
5. Discourse and dialogue: discourse and dialogue analysis, anaphora resolution, named entity
resolution, event anaphora, Information extraction and retrieval.
Reference Books:
1. Jurafsky, D. & J. Martin, "Speech and Language Processing: An Introduction to Natural Language
Processing Computational Linguistics, and Speech Recognition" Prentice Hall, 2000.
2. Grosz, B.J., Sparck Jones, K. & Webber, B.L. (eds) "Readings in natural language processing", Los
Altos, CA. Morgan Kaufmann, 1986.
3. Allen, J., "Natural Language Understanding", Redwood City, CA: 1994. Benjamin/Cummings.
4. Bharti, Akshar,Chaitanya Vineet, Sangal Rajeev, "Natural Language Processing", Prentice Hall.
Course Outcomes
1. Develop background of translation, information retrieval and statistical discourse processing.
2. Introduction to various recent statistical methods in natural language processing.
3. Develop familiarity to linguistics and their application to part-of-speech tagging.
Course content
1. Digital Image Formation and low-level processing
Overview and State-of-the-art, Fundamentals of Image Formation, Transformation: Orthogonal,
Euclidean, Affine, Projective, etc; Fourier Transform, Convolution and Filtering, Image Enhancement,
Restoration, Histogram Processing.
2. Feature Extraction
Edges - Canny, LOG, DOG; Line detectors (Hough Transform), Corners - Harris and Hessian Affine,
Orientation Histogram, SIFT, SURF, HOG, GLOH, Scale-Space Analysis- Image Pyramids and
Gaussian derivative filters, Gabor Filters and DWT.
4. Motion Estimation
Regularization Theory, Optical Computation, Stereo Vision, Motion Estimation, Structure from Motion.
Reference Books:
1. Richard Szeliski, Computer Vision: Algorithms and Applications, Springer-Verlag London Limited
2011.
2. Computer Vision: A Modern Approach, D. A. Forsyth, J. Ponce, Pearson Education, 2003.
3. Richard Hartley and Andrew Zisserman, Multiple View Geometry in Computer Vision, Second Edition,
Cambridge University Press, March 2004.
4. K. Fukunaga; Introduction to Statistical Pattern Recognition, Second Edition, Academic Press,
Morgan Kaufmann, 1990.
5. R.C. Gonzalez and R.E. Woods, Digital Image Processing, Addison- Wesley, 1992.
Journals
1. IEEE-T-PAMI (IEEE Transactions on Pattern Analysis and Machine Intelligence).
2. IJCV (International Journal of Computer Vision) - Springer.
Course Outcome:
1. Able to demonstrate knowledge and understanding of Human and computer vision systems.
2. Understand current approaches to image formation and image modeling.
3. Analyze and design a range of algorithms for image processing and computer vision
4. Develop and evaluate solutions to problems in computer vision
Course Content:
1. Introduction, Scan Conversion, 2D & 3D - Transformation and Viewing:
Overview of computer graphics, representing pictures, preparing pictures for presentation, presenting
previously prepared pictures, CRT technologies - Raster Scan Display, Computer graphics software.
Scan Conversion: Points & lines, Line drawing algorithms; DDA algorithm, Bresenham’s line
algorithm, Circle generation algorithm; Ellipse generating algorithm; scan line polygon, fill algorithm,
boundary fill algorithm, flood fill algorithm. 2D & 3D - Transformation and Viewing: Translation,
rotation, scaling; Matrix representations & homogeneous coordinates, transformations between
coordinate systems; reflection shear; Transformation of points, lines, parallel lines, intersecting lines;
Viewing pipeline, Window to Viewport co-ordinate transformation, clipping operations, point clipping,
line clipping, clipping circles, polygons & ellipse. 3D Transformation: Translation, rotation, scaling &
other transformations, Rotation about an arbitrary axis in space, reflection through an arbitrary plane,
general parallel projection transformation
2. Clipping, Curves Fractals, Geometric modeling, Hidden Surfaces and Color & Shading Models:
Viewport clipping, 3D viewing, perspectives & Depth Cueing. Curves and Fractals: Curve
representation, surfaces, designs, Bezier curves, B-spline curves, end conditions for periodic B-spline
curves, rational B-spline curves. Geometric modeling: Elementary geometric algorithms for polygons,
boundary representations, constructive solid geometry, spatial data structures. Hidden Surfaces and
Color & Shading Models: Depth comparison, Z-buffer algorithm, Back face detection, BSP tree
method, the Printer’s algorithm, scan-line algorithm; Hidden line elimination, wire frame methods,
fractal – geometry. Color & Shading Models: Introduction, Modeling Light Intensities and Sources,
Diffuse Reflection, Lambert’s Cosine Law, Specular Reflection, Halftoning, Color Models - RGB
Color, CMY Color, realistic image synthesis techniques, textures and image-based rendering
Reference Books:
1. Edward Angel and Dave Shreiner, Interactive Computer Graphics: A Top-Down Approach with
Shader-Based OpenGL, Pearson, 6th edition, 2011.
2. F.S. Hill Jr., Computer Graphics Using OpenGL, Pearson, 3rd edition, 2006.
Course outcomes:
1. Use the underlying architecture, algorithms, mathematical concepts, supporting computer graphics
2. Enhance their perspective of modern computer system with modeling, analysis and interpretation of
2D and 3D
3. Fundamental graphic design theory and principles as they relate to current trends in visual
communication
4. Organize information to make compelling and experimental visual expressions for presentation
5. Explain and understand fundamental concepts within information visualization and scientific
visualization
Course Content
1. Introduction: Overviews of Big Data, State of the Practice in Analytics, The Data Scientist, Big Data
Analytics in Industry Verticals, Data Analytics Lifecycle Challenges of Conventional Systems,
Statistical Concepts: Sampling Distributions, Re-Sampling, Statistical Inference, Prediction Error,
Regression Modelling , Multivariate Analysis , Bayesian Modelling .
2. Mining Data Streams: Stream Data Model and Architecture, Stream Computing, Sampling Data in a
Stream, Filtering Streams, Counting Distinct Elements in a Stream, Estimating Moments, Counting
Oneness in a Window, Decaying Window, Real time Analytics, Platform (RTAP) Applications, Case
Studies, Real Time Sentiment Analysis, Stock Market Prediction.
3. Frequent Itemset and Clustering : Mining Frequent Itemsets, Market Based Model: Apriori
Algorithm, Handling Large Data Sets in Main Memory, Limited Pass Algorithm, Counting Frequent
Itemsets in a Stream, Clustering based Techniques: Hierarchical, K-Means etc., Clustering High
Dimensional Data, CLIQUE And PROCLUS, Frequent Pattern based Clustering Methods,
Clustering in Non-Euclidean Space, Clustering for Streams and Parallelism.
4. Frameworks and Visualization: Overview of MapReduce, Hadoop, Hive, MapR, Sharding, NoSQL
Databases, S3, HADOOP, Distributed File System (HDFS), Visualizations: Visual Data Analysis
Techniques , Interaction Technique and Applications.
Reference Books
1. Michael Berthold, David J. Hand, Intelligent Data Analysis, Springer, 2007.
2. A. Rajaraman, J.D. Ullman, Mining of Massive Datasets, Cambridge University Press, 2012.
3. Bill Franks, Taming the Big Data Tidal Wave: Finding Opportunities in Huge Data Streams with
Advanced Analytics, John Wiley & sons, 2012.
4. Glenn J. Myatt, Making Sense of Data, John Wiley & Sons, 2007
5. Pete Warden, Big Data Glossary, O’Reilly, 2011.
Course Outcomes
1. To become proficient in recognizing challenges faced by applications dealing with very large data as
well as in proposing scalable solutions.
2. To design efficient algorithms for mining the data databases.
3. To model a framework for visualization of big data analytics for business user.
4. To understand the significance of Big Data Analysis in business intelligence, scientific discovery, and
day-to-day life.
Programme Elective – VI
Course Content:
1. Performance measures: Speedup, efficiency and scalability. Model of parallel computation and basic
communication primitives. Parallel prefix and applications, Parallel sorting, Embeddings, Parallel
matrix algorithms.
2. Communication networks for parallel computers and parallel models of computation, Parallel fast
Fourier transforms.
3. Parallel Programming with MPI: Writing and executing MPI programs, collective communication,
grouping data for communication, communicators and topologies.
4. Parallel random number generation, Parallel Octrees, Parallel N-body methods, Parallel Bayesian
network construction.
Suggested Books:
1. Introduction to Parallel Computing: Design and Analysis of Algorithms by A. Grama, A. Gupta, G.
Karypis and V. Kumar.
2. Parallel Programming with MPI by Peter S. Pacheco.
3. Introduction to High Performance Scientific Computing Victor Eijkhout, Edmond Chow, Robert van de
Geijn.
Course Outcomes
1. Understand in a general sense the architecture of high performance computers.
2. Understand how the architecture of high performance computers affects the speed of programs run
on HPCs.
3. Understand how memory access affects the speed of HPC programs.
4. Understand Amdahl’s law for parallel and serial computing.
5. Understand the importance of communication overhead in high performance computing.
6. Understand some of the general types of parallel computers.
7. Understand how different types of problems are best suited for different types of parallel computers.
8. Understand some of the practical aspects of message passing on MIMD machines.
Course Content:
1. Introduction, Task-centred system design, User-centred design and prototyping:
Human-Computer Interaction. Task-centred system design: Task-centered process, development of
task examples, evaluation of designs through a task-centered walk-through. User-centred design and
prototyping: Assumptions, participatory design, methods for involving the user, prototyping, low
fidelity prototypes, medium fidelity
2. Methods for evaluation of interfaces with users and Psychology of everyday things:
Goals of evaluation, approaches, ethics, introspection, extracting the conceptual model, direct
observation, constructive interaction, interviews and questionnaires, continuous evaluation via user
feedback and field studies, choosing an evaluation method. Psychology of everyday things:
Psychopathology of everyday things, examples, concepts for designing everyday things. Beyond
screen design: characteristics of good representations, information visualization, Tufte’s guidelines,
visual variables, metaphors, direct manipulation
Reference Books:
1. Dix A., Finlay J., Abowd G. D. and Beale R., Human Computer Interaction, Pearson Education, 3rd
edition, 2005.
2. Preece J., Rogers Y., Sharp H., Baniyon D., Holland S. and Carey T. Human Computer Interaction,
Addison Wesley, 1st edition, 1994.
Course outcomes:
1. Understand the basics of human and computational abilities and limitations
2. Understand basic theories, tools and techniques in HCI
3. Understand the fundamental aspects of designing and evaluating interfaces
4. Practice a variety of simple methods for evaluating the quality of a user interface
5. Apply appropriate HCI techniques to design systems that are usable by people
Reference Books
1. Aho A.V. and Ullman J.D. Principles of Compiler Design, Addison Wesley.
2. Donovan, J, System Programming, TMH.
3. D.M. Dhamdhere: Compiler Construction-Principles and Practice McMillan India.
4. David Gries: Compiler Construction for Digital Computer.
Course Outcomes
1. Learn the fundamentals of language translator and compiler design.
2. Ability to design algorithms for Parsers (Top-down and Bottom-Up).
3. Classify and discuss intermediate code generation and optimization techniques to improve the
performance of a program
4. Gain knowledge of techniques of symbol table organization, fundamentals of runtime environment
and Code generation.
Course content
1. Graph fundamentals: Walks, paths, directed graphs, knots, cycles, neighborhood, clique,
reachability, connectivity, spanning tree, knot detection algorithms.
2. Graph traversal: Tarry’s traversal algorithm, search algorithms, BFS algorithms and applications,
classical and Awerbuch’s DFS algorithm, DFS with neighbor knowledge, spanning tree construction
using flooding and DFS, GHS, Awerbuch, Korach-Kutten-Moran MST algorithms and applications,
synchronizers.
Matching: Unweighted and weighted matching algorithms, matching from edge coloring.
Vertex cover: Unweighted and weighted vertex cover algorithms, pricing algorithm, bipartite
matching-based algorithms.
4. Network Algorithms: Network analysis, vertex degrees, degree distribution, degree correlation,
distance statistics, clustering coefficient, local and global view, centrality, Topology control.
Suggested Books:
1. Douglas B. West, Introduction to Graph Theory, PHI.
2. David Avis, Alain Hertz, Odile Marcotte (Eds.), Graph Theory and Combinatorial Optimization,
Springer.
3. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Introduction to Algorithms,
PHI.
4. Sukumar Ghosh, Distributed Systems: An Algorithmic Approach, 2/EChapman & Hall/CRC.
5. KayhanErciyes, Distributed Graph Algorithms for Computer Networks, Springer.
Yvonne-Anne Pignolet, Thomas Locher, Roger Wattenhofer, Principles of Distributed
6. Computing, Available online.
7. Herbert S. Wilf, Algorithms and Complexity, Available online.
8. Michel Raynal, Distributed Algorithms for Message-Passing Systems, Springer.
9. Nancy Lynch, Distributed Algorithms, Morgan Kaufmann.
10. Gerard Tel, Introduction to Distributed Algorithms, Cambridge Univ. Press
Course Outcome:
1. Able to apply knowledge of Discrete Mathematics to model computer networks.
2. Design distributed graph algorithms for complex networks.
3. Analyze the performance of various graph algorithms and evaluate the scalability of solutions for
large and heterogeneous networks.
4. Adapt conventional graph algorithms to ad hoc networks and use knowledge of mathematics to
sketch proof
5. Simulate the algorithms in wireless environment.
Open Elective – I
Course Content
1. Computer system architecture and organization, Introduction and evolution of OS, Introduction to
distributed OS, Real time systems and multimedia systems. OS structures: OS services, system calls
and programs, OS design and implementation. Processes: Process concept, scheduling policies,
algorithms, multilevel queuing, operations on process, Inter-process communication. Threads:
multithreading models and threading issues. CPU scheduling: Criteria and algorithms, multiprocessor
and thread scheduling.
2. Process synchronization: critical sections, classical two process and n-process solutions, hardware
primitives for synchronization, semaphores, monitors, classical problems in synchronization
(producer-consumer, readers-writer, dining philosophers, etc.). Deadlocks: modeling, resource
allocation, characterization, prevention and avoidance, detection and recovery.
4. File system interface: access methods, access control, directory structures, file organization, file
sharing and protection. system performance, protection and security, access matrix, Security
breaches, types of attacks, attack prevention methods, security policy and access control, OS design
considerations for security, access, policy and access control, OS design considerations for security,
access control lists and OS support, internet and general network security.
Reference Books:
1. A. Silberschatz, Peter B. Galvin and G. Gagne, "Operating System Concepts," (6th or newer edition),
Wiley.
2. H. Brinch, "Operating System Principles," Prentice Hall of India.
3. Dhamdhere, "Systems programming & Operating systems," TataMcGraw Hill.
4. A. N. Habermann, "Introduction to Operating System Design," Galgotia publication, New Delhi.
5. A.S. Tanenbaum, "Modern Operating Systems," Prentice Hall of India.
Course outcomes
1. At the end of the course student will be able to
2. Understand functions, structures and history of operating systems
3. Able to know the design issues associated with operating systems
4. Master various process management concepts such as scheduling, synchronization, multithreading
and deadlocks
5. Understand the various concepts associated with memory management such as virtual memory,
demand paging, page replacements algorithms
6. Be familiar with various protection and security mechanisms
Course Content
1. Introduction: Overview of file systems and Database Systems , Software Architecture of a typical
DBMS, Data Models, Relational Data Model, Network Data Model, Hierarchical Data Model,
Schemas and Instances, Database Administration and Control.
2. Relational Model and Query Language: Overview of Relational Database, Key Integrity constraint,
Relational Algebra, Relational Calculus: Domain Relational Calculus, Tuple Relational Calculus, SQL
Fundamentals, Basic operators, Missing Information, Null Values, Additional Operations, Advanced
SQL features, Embedded SQL, Dynamic SQL, Database Views.
Reference Books
1. A Silberschatz, H.F. Korth & S. Sudarshan: Data Base System Concepts, TMH, 1997.
2. A.K. Majumdar and Bhattacharyya: Database Management Systems, THM, 1996.
3. C.J. Date: An Introduction to Database systems 7th Ed. Addison Wesley, Indian Edition, 2000.
4. Elmasri & Navathe : Fundamentals of Database Systems/Oracle 9i Programming 5th Ed. Pearson,
2009
Course Outcomes
1. To understand fundamental concepts, principles and applications of database system.
2. To demonstrate database related programming languages and perform the basics of commercial
relational systems.
3. To apply the concepts of normalization on database design.
4. To Design and Implement a small database project, considering the issues like concurrency control,
recovery and security.
5. Comprehend contemporary issues related to industry and government related to database domain.
Course content
1. Soft Computing and Artificial Intelligence: Introduction of Soft Computing, Soft Computing vs.
Hard Computing, Various Types of Soft Computing Techniques, Applications of Soft Computing, AI
Search Algorithm, Predicate Calculus, Rules of Interference, Semantic Networks, Frames, Objects,
Hybrid Models.
2. Artificial Neural Networks and Paradigms: Introduction to Neuron Model, Neural Network
Architecture, Learning Rules, Perceptrons, Single Layer Perceptrons, Multilayer Perceptrons, Back
propagation Networks, Kohnen'sself organizing networks, Hopfield network, Applications of NN.
3. Fuzzy Logic: Introduction, Fuzzy sets and Fuzzy reasoning, Basic functions on fuzzy sets, relations,
rule based models and linguistic variables, fuzzy controls, Fuzzy decision making, applications of
fuzzy logic.
Suggested Books :-
1. Simon S. Haykin, Neural Networks, Prentice Hall, 2nd edition.
2. B. Yegnanrayana , “Artificial Neural Networks” , PHI.
3. Jacek M. Zurada, Introduction to Artificial Neural Systems, Jaico Publishing House,1994
4. Zimmermann, “Fuzzy Set Theory and its Application”, 3rd Edition.
5. Jang J.S.R., Sun C.T. and Mizutani E, "Neuro-Fuzzy and Soft computing", Prentice Hall, 1998.
6. Timothy J. Ross, "Fuzzy Logic with Engineering Applications", McGraw Hill, 1997.
7. D.E. Goldberg, "Genetic Algorithms: Search, Optimization and Machine Learning", Addison Wesley,
N.Y, 1989.
Course Outcomes
1. Understand various biologically inspired algorithms.
2. Apply different intelligent algorithms in classification, prediction, optimization, pattern recognition
applications.
3. Design hybrid system incorporating neural network, genetic algorithms, fuzzy systems.