Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Vidyasagar University: Midnapore - 721 102, West Bengal, India

Download as pdf or txt
Download as pdf or txt
You are on page 1of 46

VIDYASAGAR UNIVERSITY

MIDNAPORE -721 102, WEST BENGAL, INDIA

Faculty of Science

DEPARTMENT OF COMPUTER SCIENCE

The Syllabus for


MASTER IN COMPUTER APPLICATION
(MCA)

[w. e. f. 2020-21 Academic Session ]

Master of Computer Application (MCA) 1


FIRST YEAR FIRST SEMESTER (Semester-I)

Subjects Periods per Marks Distribution Credit


Week Points
Subject Subject Name L T P Theoretical Internal
Code Examination
MCA-101 Advanced 3 1 0 70 30 4
Database
Management
System
(ADBMS)
MCA-102 Theory of 3 1 0 70 30 4
Computing
MCA-103 Data Structure 3 1 0 70 30 4
and Algorithm
MCA-104 Object Oriented 3 1 0 70 30 4
Programming
using Python
MCA-105 Software Project 3 1 0 70 30 4
Management

Subjects Periods per Marks Distribution Credit


Week Points
Subject Subject Name L T P Practical Sessional
Code Examination
MCA-196 ADBMS Lab 0 0 4 35 15 2

MCA-197 OOPs Lab using 0 0 6 70 30 3


Python
MCA-198 Data Structure 0 0 6 70 30 3
and Algorithm
Lab
MCA-199 A. Industrial 0 0 0 0 25 1
Visit
B. Term Paper-I 0 0 0 0 25 1

15 5 16 525 275 30

Total Period/Week = 36 Total Marks = 800

Master of Computer Application (MCA) 2


FIRST YEAR SECOND SEMESTER (Semester-II)

Subjects Periods per Marks Distribution Credit


Week Points
Subject Subject Name L T P Theoretical Internal
Code Examination
MCA-201 Advanced 3 1 0 70 30 4
Computer
Architecture
MCA-202 Advanced 3 1 0 70 30 4
Operating System
MCA-203 Computer 3 1 0 70 30 4
Network
MCA-204 Compiler Design 3 1 0 70 30 4

MCA-205 Numerical 3 1 0 70 30 4
Methods and
Optimization
Technique

Subjects Periods per Marks Distribution Credit


Week Points
Subject Subject Name L T P Practical Sessional
Code Examination
MCA-296 Numerical 0 0 6 70 30 3
Methods and
Optimization
Technique Lab
MCA-297 Advanced 0 0 6 70 30 3
Operating System
Lab
MCA-298 Computer 0 0 4 35 15 2
Network Lab
MCA-299 Compiler Design 0 0 4 35 15 2
Lab
15 5 20 560 240 30

Total Period/Week = 40 Total Marks = 800

Master of Computer Application (MCA) 3


SECOND YEAR FIRST SEMESTER (Semester-III)

Subjects Periods per Marks Distribution Credit


Week Points
Subject Subject Name L T P Theoretical Internal
Code Examination
MCA-301 Advanced Java 3 1 0 70 30 4

MCA-302 Artificial 3 1 0 70 30 4
Intelligence
MCA-303 Internet and Web 3 1 0 70 30 3
Technology
MCA-304 Machine Learning 3 1 0 70 30 4

MCA-305 Elective-Paper 3 1 0 70 30 4

Subjects Periods per Marks Distribution Credit


Week Points
Subject Subject Name L T P Practical Sessional
Code Examination
MCA-396 Java Lab 0 0 6 70 30 3
MCA-397 AI Lab 0 0 4 35 15 2
MCA-398 Internet and Web 0 0 4 35 15 2
(A) Technology Lab
MCA-398 Machine Learning 0 0 4 35 15 2
(B) Lab
MCA-399 A. Term 0 0 0 0 25 2
Paper-II
B. Grand 0 0 0 0 25
Viva
15 5 18 525 275 30

Total Period/Week = 38 Total Marks = 800

Master of Computer Application (MCA) 4


SECOND YEAR SECOND SEMESTER (Semester-IV)

Subjects Periods per Marks Distribution Credit


Week Points
Subject Subject Name L T P Practical Sessional
Code Examination
MCA-491 Project Work / 0 0 9 0 400 8
Dissertation
MCA-492 Seminar 0 0 6 0 100 2
Presentation
00 00 15 0 500 10

Total Period/Week = 15 Total Marks = 500

Elective- Paper, Code : MCA- 305

(305A) Image Processing and Pattern Recognition


(305B) Mobile Computing
(305C) Cryptography and Steganography
(305D) Natural Language Processing
(305E) Cloud Computing
(305F) Digital Signal Processing

Program Outcome:

On completion of the MCA (Master of Computer Application) students are able to:

 Work as the Hardware Designers/Engineers with the knowledge of networking


concepts.
 Serve as the Programmers or the Software Engineers with the sound knowledge of
practical and theoretical concepts for developing software.
 Serve as the IT Officers in Banks and cooperative societies.
 Serve as the System Administrators with thorough knowledge of RDBMS.
 Improve communication and business management skills, especially in providing
technical support.
 Develop IT-oriented security issues and protocols.
 Serve as Computer Scientist in research and R & D laboratories.
 Serve as faculty in different general and technical academic institution.
 Serve as Research Staff Member
 Serve as System Analyst in different organization.
Master of Computer Application (MCA) 5
Detailed Syllabi of Revised Master of
Computer Applications (MCA) Course
Vidyasagar University, 2020

FIRST YEAR FIRST SEMESTER (Semester-I)

MCA-101 Advanced Database Management System (ADBMS)


[40 L]
Course Objective

 Understanding of the current theory and practice of database management systems.


 Providing a technical overview of database management systems.
 Get informed about data independence, integrity, security, recovery, performance,
database design principles, and database administration.
 Getting knowledge about advanced topics like distributed and parallel database,
object oriented database, deductive database and multimedia database.
 Understanding advanced transaction processing.

Course Outcome
At the completion of this course, students should be able to do the following:

 Understand the role of a database management system in an organization.


 Understand basic database concepts, including the structure and operation of the
relational data model.
 Construct simple and moderately advanced database queries using Structured Query
Language (SQL).
 Understand and successfully apply logical database design principles, including E-R
diagrams and database normalization.
 Design and implement a small database project using SQL.
 Understand the concept of a database transaction and related database facilities,
including concurrency control, journaling, backup and recovery, and data object
locking and protocols.
 Describe and discuss selected advanced database topics, such as distributed and
parallel database, object oriented database, deductive database and multimedia
database.
 Get informed about advanced transaction processing.
 Understand WEB database and its applications.

Syllabus:
Introduction: Concept & Overview of DBMS, Data Models, Database Languages, Database
Administrator, Database Users, Three Schema architecture of DBMS. [3L]
Relational Databases: Integrity Constraints revisited: Functional, Multi-valued and Join
Dependency, Template Algebraic, Inclusion and Generalized Functional Dependency, Chase
Algorithms and Synthesis of Relational Schemes. [2L]
Master of Computer Application (MCA) 6
Query Processing and Optimization: Evaluation of Relational Operations, Transformation
of Relational Expressions, Indexing and Query Optimization, Limitations of Relational Data
Model, Null Values and Partial Information. [3L]
Object-oriented Databases: Objects and Types, Specifying the behavior of objects,
Implementing Relationships, Inheritance. Sample Systems. New Database Applications.
[5L]
Multimedia Database: Multimedia and Object Oriented Databases, Basic features of
Multimedia data management, Data Compression Techniques, Integrating conventional
DBMSs with IR and Hierarchical Storage Systems, Graph Oriented Data Model,
Management of Hypertext Data, Client Server Architectures for Multimedia Databases.
[6L]
Deductive Databases:
Datalog and Recursion, Evaluation of Datalog program, Recursive queries with negation.
Objected Oriented and Object Relational Databases: Modeling Complex Data Semantics,
Specialization, Generalization, Aggregation and Association, Objects, Object Identity,
Equality and Object Reference, Architecture of Object Oriented and Object Relational
Databases. Case Studies: Gemstone, O2, Object Store, SQL3, Oracle xxi, DB2. [5L]
Parallel and Distributed Databases:
Distributed Data Storage: Fragmentation and Replication, Location and Fragment
Transparency, Distributed Query Processing and Optimization, Distributed Transaction
Modeling and Concurrency Control, Distributed Deadlock, Commit Protocols, Design of
Parallel Databases, Parallel Query Evaluation. [6L]
Advanced Transaction Processing:
Nested and Multilevel Transactions, Compensating Transactions and Saga, Long Duration
Transactions, Weak Levels of Consistency, Transaction Work Flows, Transaction Processing
Monitors. Active Databases: Triggers in SQL, Event Constraint and Action: ECA Rules,
Query Processing and Concurrency Control, Compensation and Databases Recovery. [6L]
WEB Databases:
Accessing Databases through WEB, WEB Servers, XML Databases, commercial Systems:
Oracle xxi, DB2. Data Mining: Knowledge Representation Using Rules, Association and
Classification Rules, Sequential Patterns, Algorithms for Rule Accessing. [4L]

Books:
1. Abraham Silberschatz, Henry Korth, and S. Sudarshan, Database System Concepts,
McGraw-Hill.
2. Raghu Ramakrishnan, Database Management Systems, WCB/McGraw-Hill.
3. Bipin Desai, An Introduction to Database Systems, Galgotia.
4. J. D. Ullman, Principles of Database Systems, Galgotia.
5. R. Elmasri and S. Navathe, Fundamentals of Database Systems8, Addison-Wesley.
6. Serge Abiteboul, Richard Hull and Victor Vianu, Foundations of Databases. Addison-
Wesley.
7. Khoshafian: Object Oriented Databases, John Wiley & Sons,1993.
8. S. Khoshafian & A.B. Baker, Multimedia and Imaging Databases,Morgan Kaufmann
Publishers, 1996.
9. Kemper & Moerkoette: Object-Oriented Database Management, PH, 1994.

Master of Computer Application (MCA) 7


MCA-102 Theory of Computing [40 L]

Course Objective:

Course should provide a formal connection between algorithmic problem solving and the
theory of languages and automata and develop them into a mathematical (and less magical)
view towards algorithmic design and in general computation itself. The course should in
addition clarify the practical view towards the applications of these ideas in the theoretical
computer science.

Course Outcome:

After completing the course, the student will be able to:


 Model, compare and analyse different computational models using combinatorial
methods.
 Apply rigorously formal mathematical methods to prove properties of languages,
grammars and automata.
 Construct algorithms for different problems and argue formally about correctness on
different restricted machine models of computation.
 Identify limitations of some computational models and possible methods of proving
them.
 Have an overview of how the theoretical study in this course is applicable to and
engineering application like designing the compilers.

Syllabus:

Finite State Machines : Definition, concept of sequential circuits, state table & state
assignments, concept of synchronous, asynchronous and liner sequential machines. [3L]
Finite State Models : Basic definition, mathematical representation, Moore versus Mealy
m/c, capability & limitations of FSM, state equivalence & minimization, machine
equivalence, incompletely specified machines, merger graph & compatibility graph, merger
table, Finite memory, definite, information loss less & inverse machines : testing table &
testing graph. [6 L]
Structure of Sequential Machines : Concept of partitions, closed partitions, lattice of closed
partitions, decomposition : serial & parallel. [4L]
Finite Automation : Preliminaries (strings, alphabets & languages, graphs & trees, set &
relations), definition, recognition of a language by an automata - idea of grammar, DFA,
NFA, equivalence of DFA and NFA, NFA with e-moves, regular sets & regular expressions :
equivalence with finite automata, NFA from regular expressions, regular expressions from
DFA, two way finite automata equivalence with one way, equivalence of Moore & Mealy
machines, applications of finite automata. [5L]
Closure Properties of Regular Sets : Pumping lemma & its application, closure properties
minimization of finite automata : minimization by distinguishable pair, Myhill-Nerode
theorem. [4L]
Context Free Grammars : Introduction, definition, derivation trees, simplification, CNF &
GNF. [5L]

Master of Computer Application (MCA) 8


Pushdown Automata : Definition, moves, Instantaneous Descriptions, language recognised
by PDA, deterministic PDA, acceptance by final state & empty stack, equivalence of PDA
and CFL. [6L]
Closure Properties of CFLs : Pumping lemma & its applications, ogden’s lemma, closure
properties, decision algorithms. [4L]
Introduction to Z. Regular language properties and their grammars. Context sensitive
languages. [3L]

Books :

1. Hopcroft JE. and Ullman JD., “Introduction to Automata Theory, Languages &
Computation”, Narosa.
2. K.L.P Mishra & N. Chandrasekharan – “Theory of Computer Science”, PHI
3. Ash & Ash – “Discrete Mathematics”,TMH
4. Martin—Introduction
5. Lewis H. R. and Papadimitrou C. H., “Elements of the theory of Computation”, P.H.I.
6. Kain, “Theory of Automata & Formal Language”, McGraw Hill.
7. Kohavi ZVI, “Switching & Finite Automata”, 2nd Edn., Tata McGraw Hill.
8. Linz Peter, “An Introduction to Formal Languages and Automata”, Narosa
9. “Introduction to Formal Languages”, Tata McGraw Hill, 1983.

MCA-103 Data Structure and Algorithm [40 L]


Course Objective:
Upon completion of this course, students will be able to do the following:
 Understand and remember algorithms and its analysis procedure.
 Introduce the concept of data structures through ADT including List, Stack, Queues.
 To design and implement various data structure algorithms.
 To introduce various techniques for representation of the data in the real world.
 To develop application using data structure algorithms.
 Compute the complexity of various algorithms
 Analyze the asymptotic performance of algorithms.
 Write rigorous correctness proofs for algorithms.
 Demonstrate a familiarity with major algorithms and data structures.
 Apply important algorithmic design paradigms and methods of analysis.
 Synthesize efficient algorithms in common engineering design situations.
Course Outcome:
Students who complete the course will have demonstrated the ability to do the following:
 Argue the correctness of algorithms using inductive proofs and invariants.
 Select appropriate data structures as applied to specified problem definition.
 Implement operations like searching, insertion, and deletion, traversing mechanism
etc. on various data structures.
 Students will be able to implement Linear and Non-Linear data structures.
 Implement appropriate sorting/searching technique for given problem.
 Design advance data structure using Non Linear data structure.
 Determine and analyze the complexity of given Algorithms.
Master of Computer Application (MCA) 9
 Analyze worst-case running times of algorithms using asymptotic analysis.
 Describe the divide-and-conquer paradigm and explain when an algorithmic design
situation calls for it. Recite algorithms that employ this paradigm. Synthesize divide-
and-conquer algorithms. Derive and solve recurrences describing the performance of
divide-and-conquer algorithms.
 Describe the dynamic-programming paradigm and explain when an algorithmic design
situation calls for it. Recite algorithms that employ this paradigm. Synthesize dynamic-
programming algorithms, and analyze them.
 Describe the greedy paradigm and explain when an algorithmic design situation calls
for it. Recite algorithms that employ this paradigm. Synthesize greedy algorithms, and
analyze them.
 Explain the major graph algorithms and their analyses. Employ graphs to model
engineering problems, when appropriate. Synthesize new graph algorithms and
algorithms that employ graph computations as key components, and analyze them.
 Explain the different ways to analyze randomized algorithms (expected running time,
probability of error). Recite algorithms that employ randomization. Explain the
difference between a randomized algorithm and an algorithm with probabilistic inputs.
 Analyze randomized algorithms. Employ indicator random variables and linearity of
expectation to perform the analyses. Recite analyses of algorithms that employ this
method of analysis.
 Explain what amortized running time is and what it is good for. Describe the different
methods of amortized analysis (aggregate analysis, accounting, potential method).
Perform amortized analysis.
 Explain what competitive analysis is and to which situations it applies. Perform
competitive analysis.
 Compare between different data structures. Pick an appropriate data structure for a
design situation.
 Explain what an approximation algorithm is, and the benefit of using approximation
algorithms. Be familiar with some approximation algorithms, including algorithms that
are PTAS or FPTAS. Analyze the approximation factor of an algorithm.
Syllabus: (Data Structure)

Introduction – Review of Data and Information, Array , Stack, Queue, Linked List [3L]
Searching and Sorting Algorithms – Linear and Binary Search – Sorting – Merge, Quick,
Heap, Bucket – Stable sorting , External Sorting [3L]
Trees – Binary Trees – Binary Search Tree – Balanced Trees – 2-3 Tree – B-Tree – B+-Tree
, Red-Black tree [6L]
Binomial Heap, Fibonacci Heap, Data structure for disjoint sets [4L]
Graphs – Adjacency Matrix and List – Graph Search Algorithms – Spanning Tree
Algorithms – Shortest Path Algorithms – Transitive Closure Matrix [2L]
Hashing – Terminologies – Hash functions – Collision Resolution Strategies – Types of
Hashing [2L]

Master of Computer Application (MCA) 10


Syllabus: (Algorithm)

Models of computation: RAM, TM etc. time and space complexity [1L]


Asymptotic Notation: Big-O, omega, theta etc.; finding time complexity of well-known
algorithms like- heapsort, search algorithm etc. [1L]
Algorithm Design techniques: Recursion- Definition, Use, Limitations, Examples: Hanoi
problem. Tail Recursion [1L]
Divide and Conquer: Basic method, use, Examples: Merge sort, Quick Sort, Binary Search
[2L]
Dynamic Programming: Basic method, use, Examples: matrix-chain multiplication, All pair
shortest paths, single-source shortest path, Travelling Salesman problem [2L]
Branch and Bound: Basic method, use, Examples: The 15-puzzle problem [1L]
Backtracking: Basic method, use, Examples: Eight Queens problem, Graph coloring
problem, Hamiltonian problem [2L]
Greedy Method: Basic method, use, Examples: Knapsack problem, Job sequencing with
deadlines, minimum spanning tree (Prim's and Kruskal's algorithms) [2L]
Lower Bound Theory: Bounds on sorting and sorting techniques using partial and total
orders. [1L]
Disjoint Set Manipulation: Set manipulation algorithm like UNION-FIND, union by rank,
Path compression. [1L]
Properties of graphs and graph traversal algorithms: BFS and DFS [1L]
Matrix manipulation algorithms: Different types of algorithms and solution of
simultaneous equations, DFT & FFT algorithm; integer multiplication schemes [2L]
Notion of NP-completeness: P class, NP-hard class, NP-complete class, Circuit Satisfiability
problem, Clique Decision Problem. [2L]
Approximation algorithms: Necessity of approximation scheme, performance guarantee,
Polynomial time approximation schemes: 0/1 knapsack problem. [1L]
Books:
1. Fundamentals of Data Structures in C by Horowitz, Sahni & Anderson-Freed, 2e
Universal Press
2. Data Structures and Algorithm Analysis in C by Mark Alan Weiss, 2nd ed., Pearson
Education
3. Data Structues and Algorithms by Aho, Hopcroft & Ullman
4. Data Structures and Program Design by Kruse et. al., PHI
5. Data Structures using C and C++ by Tanenbaum et. al., PHI
6. Fundamentals of Data Structures in C++ by Horowitz, Sahni & Mehta
7. Data Structures in Java by Sahni
8. Algorithms + Data Structures = Programs by N. Wirth, PHI
9. How to solve it by Computers by Dromey
10. A.Aho, J.Hopcroft and J.Ullman “The Design and Analysis of algorithms”
11. D.E.Knuth “The Art of Computer Programming”, Vol. I & Vol.2
12. Horowitz Ellis, Sahani Sartaz, R. Sanguthevar " Fundamentals of Computer Algorithms".
13. Goodman: Introduction to Design and Analysis Of Algorithms TMH
14. K.Mehlhorn, “Data Structures and algorithms- Vol. I & Vol. 2
15. E.Horowitz and Shani “Fundamentals of Computer algorithms”
16. E.M.Reingold, J.Nievergelt and N.Deo- “Combinational algorithms- Theory and
Practice”, Prentice Hall , 1997
17. A.Borodin and I.Munro, “The computational complexity of Algebraic and Numeric
problems”
Master of Computer Application (MCA) 11
MCA-104 Object Oriented Programming Using Python [40 L]
Course Objective:

The main objective of object oriented programming using Python is to understand the real
world problems into objects, inheritance, classes etc. The students will be able how to reuse
of code, how to model a problem for OOP.

Course Outcome:
At the end of this course students should:
 Know the basics of Python
 Know basic concepts of object oriented programming language.
 Learn to create classes, modules and packages in Python.
 Know the concept of constructor and destructor.
 They will able to learn function overloading, operator overloading, and virtual
function.
 Able to learn different types of inheritance.
 Know Operator Overloading.
 Learn Python Object-Oriented Shortcuts, Strings and Serialization and The Iterator
Pattern.

Topic Covered:

Python basics: Getting started with Python, essentials of a Python program, data types,
variables, control statements, loops, empty objects, tuples and named tuples, data classes,
dictionaries, lists, sets, extending built-in functions, errors and exceptions, functions.
[6 L]
Object-Oriented Design: Introduction, why object orientation, history and development of
Object Oriented Programming language, concepts of object oriented programming language,
objects and classes, Attributes and behaviors, Hiding details and creating the public interface
[5 L]
Objects in Python: Creating Python classes, modules and packages, organizing module
content, data access, third-party libraries, treat objects as objects, adding behaviors to class
data with properties, manager objects. [5 L]
Constructor and Destructor: Constructors, parameterized constructors, multiple
constructors in class, dynamic initialization of objects, destructors. [5 L]
Inheritance: Basic inheritance, multiple inheritance, polymorphism, abstract base classes,
raising exceptions. [5 L]
Operator Overloading: Defining operator overloading, overloading - (unary, binary
operators), overloading operators using friends, rules for overloading operators. [5 L]
Python Object-Oriented Shortcuts: Python built-in functions, an alternative to method
overloading, functions as objects. [3 L]
Strings and Serialization: Strings, regular expressions, file system paths, serializing objects.
[3 L]
The Iterator Pattern: Design patterns in brief, Iterators, comprehensions, generators,
coroutines. [3 L]

Master of Computer Application (MCA) 12


Books:

1. Dusty Phillips, “Python 3 Object-oriented Programming”, Second Edition, Packt


Publishing
2. Ali Bahrami, - “Object –Oriented System Development” - Mc Graw Hill.
3. Rambaugh, James Michael, Blaha - “Object Oriented Modelling and Design” -
Prentice Hall India/ Pearson Education
4. Bruce, Foundations of Object Oriented Languages, PHI

MCA-105 Software Project Management [40 L]

Course Objective:

 Knowledge of basic SW engineering methods and practices, and their appropriate


application.
 Describe software engineering layered technology and Process frame work.
 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 behavioural 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. 10. 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 Outcome:

 Manage the scope, cost, timing, and quality of the project, at all times focused on
project success as defined by project stakeholders.
 Align the project to the organization's strategic plans and business justification
throughout its lifecycle.
 Identify project goals, constraints, deliverables, performance criteria, control needs,
and resource requirements in consultation with stakeholders.
 Implement project management knowledge, processes, lifecycle and the embodied
concepts, tools and techniques in order to achieve project success.
 Adapt projects in response to issues that arise internally and externally.
 Interact with team and stakeholders in a professional manner, respecting differences,
to ensure a collaborative project environment.
 Utilize technology tools for communication, collaboration, information management,
and decision support.
Master of Computer Application (MCA) 13
 Implement general business concepts, practices, and tools to facilitate project success.
 Apply appropriate legal and ethical standards.
 Adapt project management practices to meet the needs of stakeholders from multiple
sectors of the economy (i.e. consulting, government, arts, media, and charity
organizations).
 Apply project management practices to the launch of new programs, initiatives,
products, services, and events relative to the needs of stakeholders.
 Appraise the role of project management in organization change.

Syllabus:

Introduction to Project management [3L]


Project Management Basics, Role of a Project Manager, Project Resources
Phases of Software Project
Introduction to PERT/CPM [5L]
Work Breakdown Structure, Network diagramming, Critical Path, PERT Probability,
Crashing, Resource Leveling, Exercises,
Software Effort Estimation [4L]
Estimations Basics, LOC Method, Function Points, Activity Based Estimation, COCOMO
Uncertainty in estimation.
Project Planning [5 L]
Management, Risk, Configuration, Quality Assurance, Induction, Schedule.
Configuration Management [4L]
Configuration Management Basics, Environment for Configuration Control , Configuration
Control vs. Version Control, Code Management, Change Management, Information
Management
Quality Assurance in Projects [4L]
Quality Basics: Quality Assurance Activities in Projects, i. Standards, ii. Coding Standards,
iii. Documentation Standards, iv. Design Standards, v. Templates, vi. Formats, vii. Processes
Quality Control Activities in Projects, i. Verification, ii. Validation, iii. Quality Metrics
Introduction to ISO 9000, SEI – CMM Maturity Levels, Six Sigma
Productivity Aspects [2L]
Productivity Basics, Productivity Measurement & Metrics
Human Factors and Leadership [4L]
Motivation, Communication, Handling Difficult People, Leadership, Team Dynamics
Progress Tracking & Control [3L]
Progress Assessment & Reporting, Scope Management, Risk Mitigation
Project Closeout [3L]
Project post-mortem, Collection of re-usable Components, Draw lessons from the good &
bad Practices of the project , Project-End Audit
Organizational Support for Effective Project Management [3L]
Recognition as a Specialist Discipline, Organize Knowledge Repository, Processes,
Standards & Guidelines, Training

Books:
1. Gilb, T., “Principles of Software Engineering Management”, Addison Weskey.
Reading. M.A 1988.
2. Putnam. L.H., Myers. W., “Industrial Sire: Software - Effective Management using
Measurement”. IEEE C.S. Press. 1997.
Master of Computer Application (MCA) 14
MCA-196 ADBMS Lab

Course Objective:

The key goal of ADBMS Lab is to incorporate, by query language programming, the
theoretical principles of various topics of the database management system into reality. The
students should increase their knowledge and develop their programming skills through the
programming framework PL / SQL.

Course Outcome:

 The students can implement databases, tables along with specifying data constraints.
 They will able to perform different operations on tables like insertion, deletion and
update.
 Student can able to handle aggregate function along with JOIN operation.
 They will able to write view for enhancing database security.
 They can manipulate user permission of database access.
 They also will able to create procedure using PL/SQL.
 The student is also enabled to use of user interfaces and generating report using
PL/SQL utilities.

Syllabus:

Experiments should include but not limited to :


Structured Query Language
1. Creating Database
 Creating a Database
 Creating a Table
 Specifying Relational Data Types
 Specifying Constraints
 Creating Indexes
2. Table and Record Handling
 INSERT statement
 Using SELECT and INSERT together
 DELETE, UPDATE, TRUNCATE statements
 DROP, ALTER statements 3. Retrieving Data from a Database
 The SELECT statement
 Using the WHERE clause
 Using Logical Operators in the WHERE clause
 Using IN, BETWEEN, LIKE , ORDER BY, GROUP BY and HAVING
3. Clause
 Using Aggregate Functions
 Combining Tables Using JOINS
 Subqueries
4. Database Management
 Creating Views
 Creating Column Aliases
Master of Computer Application (MCA) 15
 Creating Database Users
 Using GRANT and REVOKE
4. Cursors in Oracle PL / SQL
5. Writing Oracle PL / SQL Stored Procedures.
6. Use of user interfaces and report generation utilities typically available with RDBMS
products.
7. Developing mini projects based on PL/SQL

Books:

1. Abraham Silberschatz, Henry Korth, and S. Sudarshan, Database System Concepts,


McGraw-Hill.
2. Raghu Ramakrishnan, Database Management Systems, WCB/McGraw-Hill.
3. Bipin Desai, An Introduction to Database Systems, Galgotia.
4. SQL, PL/SQL the Programming Language of Oracle by Ivan Bayross, Paperback

MCA-197 OOPs Lab using Python

Course Objective: The main objective of OOPs Lab using Python is how to implement
theoretical concepts of OOP into practical using Python.

Course Outcome:

The students will able to implement

 Simple programs in Python


 Simple programs through class and object.
 Different types of constructor and destructor in Python.
 Overloading and overriding in Python.
 Problems related to inheritance in Python.

Syllabus:

Experiments should include but not limited to:

1. Assignments on Python basics.


2. Assignments on creating Python classes, modules and packages, organizing module
content.
3. Assignments on constructor and destructor.
4. Assignments on function overloading and overriding.
5. Assignments on Inheritance.
6. Assignments on abstract class, operator overloading.
7. Assignments on Python built-in functions, an alternative to method overloading,
functions as objects.
Master of Computer Application (MCA) 16
MCA-198 Data Structure and Algorithm Lab

Course objective:

The main aim of data structure lab is to implement the theoretical concepts of different topics
of data structure into practically through programs. The students will grow more interest and
deep knowledge of different items in linear and non-linear data structure.

Course outcome:

 The students can implement stack and queue using array and linked list in
programmatically.
 They will able to perform different operations of stack and queue.
 Student can implement sparse matrix.
 They will able to write programs for implementing polynomial and their operations.
 They can implement the traversal of binary tree.
 They will able to write programs for different sorting and searching algorithms.

Syllabus:

Stacks and Queues: adding, deleting elements Circular Queue: Adding & deleting elements
Merging Problem : Evaluation of expressions operations on Multiple stacks & queues :
Implementation of linked lists: inserting, deleting, inverting a linked list.
Implementation of stacks & queues using linked lists: Polynomial addition, Polynomial
multiplication Sparse Matrices : Multiplication, addition.
Recursive and Nonrecursive traversal of Trees
Threaded binary tree traversal.
AVL tree implementation Application of Trees.
Application of sorting and searching algorithms
Hash tables implementation: searching, inserting and deleting, searching & sorting
techniques.
List of Experiments: Experiments should include but not limited to:

Data Structure:
1. Write a program in C to implement simple Stack and their operations using array and
Linked list
2. Write a program in C to implement Queue and their operations using array and linked
list.
3. Write a program in C to implement Circular Queue and Priority Queue using array.
4. Write a menu driven program that implements singly linked list for the following
operations: Create, Display, Concate, merge, union, intersection
5. Write a menu driven program that implements singly linked list for the following
operations: a) Insert before first node, after last or any intermediate position. b) delete
first node, last or any intermediate node.
6. Write a program in C to insert a node in a sorted linked list.
Master of Computer Application (MCA) 17
7. Write a menu driven program that implements doubly linked list for the following
operations: Create, Display, Count, Insert, Delete, Search, Copy, Reverse, Sort
8. Write a menu driven program that implements doubly linked list for the following
operations: Create, Display, Concatenate, merge, union, intersection
9. Write a program in C to implement the deque opearions.
10. Write a menu driven program that implements Singly circular linked list for the
following operations: Create, Display, Count, Insert, Delete, Search, Copy, Reverse,
Sort
11. Write a program to implement Inorder, Preorder and Post Order traversal of a binary
tree both recursive and non-recursive way.
12. Write a menu driven program in C to Create a binary search tree, Traverse the tree in
Inorder, Preorder and Post Order , Search the tree for a given node and delete the node
13. Write a program in C to implement insertion and deletion in B tree.
14. Write a program in C to implement insertion and deletion in AVL tree ,
15. Write a menu driven program that implements Heap tree (Maximum and Minimum
Heap tree) for the following operations. (Using array) Insert, Delete .
16. Write a program in C to covert an infix to postfix expression.
17. Write a program in C to represent polynomial and also add and subtract two
polynomials.
18. Write a program to implement double hashing technique to map given key to the
address space.
19. Write a program to implement for the collision resolution (linear probing).
20. Write a program in C to represent KMP pattern matching algorithm.

Algorithms:

1. Write a program in C for sorting methods.


2. Write a program in C to sort a list of numbers using quick sort or mergesort.
3. Write a program in C to find the minimum number of multiplications needed to
multiply a chain of matrices using dynamic programming approach.
4. Write a program in C to find the longest common subsequence in a given string using
dynamic programming approach. 
5. Write a program in C to solve a given 0/1 knapsack problem using greedy approach.
6. Write a program in C to find the shortest distances between every pair of vertices in a
given edge weighted directed graph using dynamic programming. 
7. Write a program in C to solve the N Queen problem using backtracking.
8. Write a program in C to implement Dijkstra’s shortest path algorithm for a given
directed graph.
9. Write a program in C to insert and delete nodes in graph using adjacency matrix.
10. Write a program in C to implement Breadth First search using linked representation of
graph.
11. Write a program in C to implement Depth first search using linked representation of
graph.
12. Write a program in C to create a minimum spanning tree using Kruskal’s algorithm.
13. Write a program in C to create a minimum spanning tree using Prim’s algorithm, etc.

Master of Computer Application (MCA) 18


Books:

1. Horowitz and Sahani, “Fundamentals of data Structures”, Galgotia Publication Pvt. Ltd.,
New Delhi.
2. R. Kruse etal, “Data Structures and Program Design in C”, Pearson Education Asia, Delhi-
2002
3. A. M. Tenenbaum, “Data Structures using C & C++”, Prentice-Hall of India Pvt. Ltd.,
New Delhi.
4. K Loudon, “Mastering Algorithms with C”, Shroff Publisher & Distributors Pvt. Ltd.
5. Bruno R Preiss, “Data Structures and Algorithms with Object Oriented Design Pattern in
C++”, Jhon Wiley & Sons, Inc.
6. Adam Drozdek, “Data Structures and Algorithms in C++”, Thomson Asia Pvt.
Ltd.(Singapore)

MCA-199 A. Industrial Visit

An Industrial Visit would be organized by the department for not less than 3 days and not
more than one week and students should submit a report on that tour which will be examined
by a board of examiners to be nominated by the B.O.S.

B. Term Paper-I

Seminar topic will be assigned to individual student by the Head of the department at the
beginning of the semester.

Master of Computer Application (MCA) 19


FIRST YEAR SECOND SEMESTER (Semester-II)

MCA-201 Advanced Computer Architecture [40L]

Course Objective:

The course Advanced Computer Architecture reviews the basic concepts, explains efficient
performance improvement techniques of a computer system like pipelining, super pipeline
and super scalar design. Then, the hierarchical memory technology and performance of cache
memory with its mapping and virtual memory concept are also explained. After that, the
course explains vector and array processors principles, multiprocessor architecture. It guides
us design applications much efficient after knowledge of what’s inside a system and how it
works.

Course Outcome:

At the end of this course students should:


 Know basic concepts of computer architecture.
 Understand pipelining, different hazards with solutions.
 Understand hierarchical memory technology and its properties, cache memory, virtual
memory.
 Understand vector and array processors principles.
 Understand instruction-level parallelism, superscalar, super-pipelined and VLIW
processor.
 Understand multiprocessor architecture.

Syllabus:

Introduction: Von Neumann architecture: ISA; ALU, CU, Memory and I/O devices and
their interfacing to the CPU; Measuring and reporting performance; CISC and RISC
processors. [7L]
Pipelining: Pipelining concepts, Reservation Tables, Collision, Latency, Dynamic pipeline,
Instruction Pipelining, Hazards, Techniques for overcoming or reducing the effects of various
hazards. [15L]
Hierarchical Memory Technology: Inclusion, Coherence and locality properties; Cache
memory organizations, Techniques for reducing cache misses; Virtual memory organization,
mapping and management techniques, memory replacement policies.
[6L]
Vector and Array Processors Principles: Instruction types, Compound, Vector loops,
Chaining, Array processor structure and algorithms, Case studies of contemporary
microprocessors. [2L]
Instruction-level parallelism: Concepts of instruction-level parallelism (ILP), Techniques
for increasing ILP; Superscalar, super-pipelined and VLIW processor architectures.
[3L]

Master of Computer Application (MCA) 20


Multiprocessor Architecture: Loosely Coupled & Tightly Coupled Systems, Concurrency
& Synchronization, Scalability, Models of Consistency, and Application of SIMD Structure.
[5L]
Case Study: Basic Features of Current Architectural Trends.
[2L]
Books:

1. John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative


Approach, Morgan Kaufmann.
2. Kai Hwang, Advanced Computer Architecture: Parallelism, Scalability, Programmability,
McGraw-Hill.
3. M. J. Flynn, Computer Architecture: Pipelined and Parallel Processor Design, Narosa
Publishing House.
4. Hayes J. P., “Computer Architecture & Organisation”, McGraw Hill

MCA-202 Advanced Operating System [40L]

Course Objective:

It is hard for the computers to work with ease without an operating system. Therefore, every
computers are provides with some type of operating system to coordinate between the users
and hardware of the system. The objective is to grow a clear concept regarding the working
of the operating system, its policies, scheduling, synchronization, and memory storage
management.

Course Outcome:

Through this course, students will be able to:

 Understand the role, objectives, and policies with which an advanced operating system
works in a computer system
 Gain knowledge to synchronize process and its coordination with all the processes
 Describe and analyze the memory management and its allocation policies.
 Understand the concepts and architecture of distributed, real time and mobile operating
systems
 Learn the different types of threats present in the computer system and security to
overcome them.

Syllabus:

Introduction: Functions of operating systems, Design approaches: layered ,kernel based


and virtual machine approach, why advanced operating systems, types of
advanced operating systems. [4L]

Master of Computer Application (MCA) 21


Process Synchronization: Concepts of processes, Concurrent processes, Threads, Overview
of different classical synchronization problems, Monitors, Communicating Sequential
processes (CSP) [4L]
Memory and I/O Management: Paging, swapping, demand paging, segmentation, I/O
system, I/O strategies, buffering. [4L]
File Management: Interface between file systems and IOCS, directory structures, allocation
of disk space, file protection, file system reliability [4L]
Multi-Processor and Distributed Operating System: Introduction, Architecture,
Organization, Resource sharing, Load Balancing, Availability and Fault Tolerance, Design
and Development Challenges, Inter-process Communication, Distributed Applications –
Logical Clock, Mutual Exclusion, Distributed File System. [5L]
Real Time Operating System: Introduction to Real time systems and Real Time Operating
Systems, Characteristics of Real Time operating Systems, Classification of Real Time
Operating Systems, Services, structure, goal and feature of RTOS, architecture of RTOS,
micro kernels and monolithic kernels, tasks in RTOS, Performance measures, estimating
program runtimes, task assignment, scheduling in RTOS, rate monotonic scheduling, priority
inversion, task management, inter task communication, applications of various RTOS.
[10L]
Mobile Computing: Introduction, Design Principals, Structure, Platform and Features of
Mobile Operating Systems (Android, IOS, Windows Mobile OS) [4L]
Security & Protection: Security-threats & goals, Penetration attempts, Security Policies &
mechanisms, Authentication, Protections & access control Formal models of protection,
Cryptography, worms & viruses. [5L]
Book:
1. Operating Systems Concepts & design - Milan Milenkovic, TMH
2. Advanced Concepts in operating Systems - Mukesh Singhal and Niranjan G.
Shivaratri, TMH
3. Tanenbaum and Van Steen, “Distributed Systems: Principles and Paradigms”,
Pearson, 2007.
4. William Stallings, Operating Systems: Internals and Design Principles (5th ed.),
Prentice-Hall of India, 2006.
5. SILBERSCHATZ and P. GALVIN, Operating System Concepts, VI edition, Addison
Wesley 2004.
6. Real -Time Systems, Krishna and Shin, McGraw Hill International.
7. Application development using Android, Hello, Android, mobile development
platform 3rd Edition by Ed Burnette
8. Smart phone operating system concepts with Symbian O.S. A tutorial guide by
Michael J. Jipping. Symbian Press, Wiley.

Master of Computer Application (MCA) 22


MCA-203 Computer Network [40L]

Course Objective:

The main emphasis of this section is on the organization and management of local area
networks (LANs). The course objectives include learning about computer network
organization and implementation, obtaining a theoretical understanding of data
communication and computer networks, and gaining practical experience in installation,
monitoring, and troubleshooting of current LAN systems. The course introduces computer
communication network design and its operations. The course includes the following topics:
Open Systems Interconnection (OSI) communication model; error detection and recovery;
local area networks; bridges, routers and gateways; network naming and addressing; and
local and remote procedures. On completion of the course, the student should be able in part
to design, implement and maintain a typical computer network (LAN).

Course Outcome:

At the successful completion of this course, students will be able to:


 Describe the general principles of data communication.
 Describe how computer networks are organized with the concept of layered approach.
 Describe how signals are used to transfer data between nodes.
 Implement a simple LAN with hubs, bridges and switches.
 Describe how packets in the Internet are delivered.
 Analyze the contents in a given Data Link layer packet, based on the layer concept.
 Design logical sub-address blocks with a given address block.
 Decide routing entries given a simple example of network topology
 Describe what classless addressing scheme is.
 Describe how routing protocols work.

Syllabus:

Introduction: Uses of Computer Networks, Types of Computer Networks, OSI Reference


Model, Example Networks [4L]
Physical Layer: Data and signal fundamentals, Transmission impairments, Attenuation,
Distortion, Noise, Data rate limits for noisy and noiseless channels, Performance [2L]
Digital Transmission – Problems with digital transmission, Different line coding schemes,
Block coding schemes, Scrambling techniques, Analog to digital encoding. Analog
Transmission. [4L]
Transmission Media - Guided (wired) media – Twisted pair cable, Coaxial cable and Fibre
optic cable, Unguided (wireless) media – Different propagation modes, Radio waves,
Terrestrial microwaves, Satellite communication. [2L]
Concept of multiplexing, Frequency division multiplexing, Time division multiplexing –
Synchronous and Statistical time division multiplexing, Handling variable length data, Pulse
stuffing. Concept of spreading spectrum, Frequency hopping spread spectrum and Direct
sequence spread spectrum. [4L]
Data Link Layer: Link Layer Services, Error detection and Correction Techniques, Multi
Access Protocols, Link Layer Addressing, Ethernet, Hubs, Switches and Switches, Point to
Point Protocol, Asynchronous Transfer Mode, Multiprotocol Label Switching [6L]
Master of Computer Application (MCA) 23
Network Layer: Introduction, Virtual Circuit and Datagram Networks, IP Addressing,
Subnetting, Routing Algorithm (Link State, Distance Vector, Hierarchical), Routing in the
Internet (RIP, OSPF, BGP), Broadcast and Multicast Routing Algorithms, Routers,ICMP,
IPv6 [8L]
Transport Layer: Introduction to Transport Layer Services, Connectionless Transport:
UDP, Principles of Reliable Data Transfer, Connection Oriented Transport: TCP, Principles
of Congestion Control, TCP Congestion Control, Sockets, Quality of services (QOS)
[6L]
Application Layer: Web and HTTP, Domain Name Space (DNS), Electronic Mail (SMTP,
MIME, IMAP, POP3), File Transfer Protocol, Cryptography
[4L]

Books:
1. Computer Networking: A Top-Down Approach Featuring the Internet, by James F. Kurose
and Keith W. Ross, 5th Edition, Pearson Education, 2010
2. Data communication and Networking, by Behrouz A. Forouzan, 4th Edition, Tata
McGraw-Hill, 2007
3. Computer Networks, by Andrew S. Tanenbaum, 4th Edition, Prentice Hall India, 2003
4. Computer Networks: A Systems Approach, by Larry L. Peterson and Peter S. Davie,4th
Edition, Morgan Kauffman Publishers, 2007
5. Data and Computer Communication, by William Stallings, 9th Edition, Pearson Education,
2011
6. Unix Network Programming: Networking APIs: Sockets and XTI, (Volume 1) by W.
Richard Stevens, 2nd Edition, Prentice Hall India, 1999

MCA-204 Compiler Design [40L]

Course Objective:

The main objective of this course is to introduce the major concept areas of language
translation and compiler design and to develop an awareness of the function and complexity
of modern compilers. This course is a study of the theory and practice required for the design
and implementation of interpreters and compilers for programming languages.

Course Outcome:

By the end of the course, the successful student will be able to do:

 To realize basics of compiler design and apply for real time applications.
 To introduce different translation languages
 To understand the importance of code optimization
 To know about compiler generation tools and techniques
 To learn working of compiler and non compiler applications
 Design a compiler for a simple programming language
 To convert from source language to target language and should be recognize what
happens at each and every phase of a compiler.

Master of Computer Application (MCA) 24


 To understand the different types of parsing techniques and should be in a position to
solve the problem.
 To write the code by using YACC and lex.

Syllabus:

Introduction to system softwares [2L]


Introduction to Compiler, Different phases and passes of compiler [2L]
Lexical Analysis: Role of Lexical Analyzer, Input Buffering, Specification of Tokens, Finite
state machines and regular expressions and their applications to lexical analysis,
Implementation of lexical analyzers [4L]
Syntax Analysis: Role of the parser, Formal grammars and their application to syntax
analysis, Context free grammars, Derivation and parse trees, Top Down parsing, LL(1)
grammars, Predictive Parsing, Bottom-up-parsing, Shift Reduce Parsing, LR(0) grammars,
LR parsing algorithms [12L]
Syntax Directed Translation: Syntax directed definitions, Construction of syntax trees,
Bottom-up evaluation of S-attributed definitions, L-attributed definitions [4L]
Runtime Environments: Source Language issues, Storage Organization, Storage Allocation
strategies, Access to non-local names, Parameter passing mechanism [4L]
Intermediate Code Generation: Intermediate languages, Graphical representation,
Threeaddress code, Implementation of three address statements (Quadruples, Triples, Indirect
triples) [4L]
Code Optimization and generation: Introduction, Basic blocks and flow graphs,
Transformation of basic blocks, DAG representation of basic blocks, Principle sources of
optimization, Loops in flow graph, Peephole optimization. Issues in the design of code
generator, Register allocation and assignment [8L]

Books:
1. Alfred Aho, Monica S. Lam, Ravi Sethi, Jeffrey D Ullman, “Compilers Principles,
Techniques and Tools”, Pearson Education Asia (2nd Ed. - 2009).
2. Leland L. Beck, “System Software: An Introduction to Systems Programming”, 3/E,
Addison- Wesley, 1997.
3. Allen I. Holub “Compiler Design in C”, Prentice Hall of India, 2003.
4. C. N. Fischer and R. J. LeBlanc, “Crafting a compiler with C”, Pearson Education.
5. J.P. Bennet, “Introduction to Compiler Techniques”, Second Edition, Tata McGraw-Hill,
2003.
6. Henk Alblas and Albert Nymeyer, “Practice and Principles of Compiler Building with C”,
PHI, 2001.
7. Kenneth C. Louden, “Compiler Construction: Principles and Practice”, Thomson Learning.
8. Systems Programming and Operating Systems – D. M. Dhamdhere, TMH
9. John J. Donovan, “ Systems Programming”, 3rd edition, 1997, Addison Wesley.

MCA-205 Numerical Methods and Optimization Technique- 40L


Course Objective:

The objective of teaching numerical methods is to nurture the learners through an


interdisciplinary approach. Through this course, the students will study the basic knowledge
Master of Computer Application (MCA) 25
on the mathematical techniques that could be used by the learners in formation of algorithms
as well as apply it in the areas of research.

In every sphere of life, people deal with optimization. Optimization techniques help to use the
available scarce resources to its optimality. The objective is to study the basic components of
an optimization problem and formulation of design problems as mathematical programming
problems.

Course Outcome:

Students will be able to:

 Calculate approximation, mathematical errors and its interpretation


 Apply Numerical analysis which has enormous application in the field of Science and
some fields of Engineering
 Familiarize themselves with techniques such as Interpolation, Bisection Method,
Differentiation, and Integration
 Understand, calculate, and interpret the Eigen values and its utility
 Solve linear and non-linear simultaneous equations.
 Describe clearly a problem, identify its parts and analyze the individual functions.
 Apply knowledge of optimization to formulate and solve engineering problems.
 Understand the different methods of optimization and be able to suggest a technique
for a specific problem.
 Understand the effects of problem variation on the optimal solution

Syllabus: (Numerical Methods)

Approximations and Errors associated with numerical methods. [2L]


Solution of non-linear equations: Iterative method using repeated substitutions, Bisection
method, method of false position, Newton-Raphson method, Secant method, newton-
Raphson method. [3L]
Solution of linear simultaneous equations:
Direct methods: Gaussian elimination, Gauss-Jordan elimination, matrix inversion using
Gauss-Jordan elimination. [2L]
Iterative methods: Jacobi’s method, Gauss-Seidel method and their analysis. [2L]
Finding the Eigen values and corresponding Eigen vectors of a square matrix:
Definitions of eigenvalues and eigenvectors, Power method for finding the eigenvalues and
corresponding eigenvectors of a square matrix. [2L]
Methods for interpolation: Newton’s forward difference formula, Newton’s backward
difference formula, Gauss central difference formula. Divided difference formula, Lagrange’s
formula, iterative interpolation method. [4L]
Methods for integration: Trapezoidal method, Simpson’s method form Newton Quadrature
and from Graphical method, analysis and comparison of these methods, and their error term.
[2L]
Solution of differential equations: Euler’s method, modified Euler’s method, Runge-Kutta
2nd order formula, Runge-Kutta 4th order formula, predictor-corrector methods. [3L]

Master of Computer Application (MCA) 26


Syllabus: (Optimization Technique)

Introduction: Historical development, Engineering application of optimization, Formulation


of design problems as mathematical programming problems, classification of optimization
problems. [5L]
Linear Programming: Graphical method, Simplex method, Revised simplex method,
Duality in linear programming, Sensitivity analysis, other algorithms for solving LP
problems, Transportation Problem, Assignment Problem and other applications, Integer
Programming. [5L]
Non Linear Programming: Unconstrained optimization techniques, Direct search methods,
Descent methods, Constrained optimization, Direct and indirect methods; Optimization with
calculus, Khun-Tucker conditions. [5L]
Introduction to Advanced Techniques of Optimization: Simulated Annealing, Genetic
Algorithms, Other methods for optimization and search. [5L]

Books:
1. Numerical Analysis, Shastri, PHI
2. Numerical Analysis, S. Ali Mollah
3. Numerical Analysis, James B. Scarbarough
4. Numerical Methods for Mathematics ,Science & Engg., Mathews, PHI
5. Numerical Methods in Computer Application,Wayse,EPH
6. Hadley G., “Linear Programming”, Narosa Publishers, 1987.
7. S. Fang et al: Linear optimizations and Extensions
8. Hadley: Linear programming, Narosa Publishing House, New Delhi, 1990.
9. K. Deb: Optimization for Engineering Design – Algorithms and Examples

MCA-296 Numerical Methods and Optimization Technique Lab


Experiments should include but not limited to :

1. Write a program to find the determinant of a 3X3 matrix.


2. Write a program to implement upper triangular matrix and using it find determinant.
3. Write a program to find the determinant of a n x n matrix where n>3.
4. Write a program to find the solution of a system of linear equations using Gauss
elimination method.
5. Write a program to find the solution of a system of linear equations using Matrix inversion
method.
6. Write a program to find the solution of a system of linear equations using Gauss-Seidal
method.
7. Write a program to implement Newton’s forward interpolation method.
8. Write a program to implement Newton’s backward interpolation method.
9. Write a program to implement Lagrange’s interpolation method.
10. Write a program to implement Newton’s Divided Difference Interpolation method.
11. Write a program to find the root using bisection method.

Master of Computer Application (MCA) 27


12. Write a program to find the root using Regula-falsi method.
13. Write a program to find the root using Newton’s Raphson method.
14. Write a program to implement Trapezoidal rule.
15. Write a program to implement Simpson’s 1/3 rule.
16. Write a program to implement Simpson’s 3/8 rule.
17. Write a program to implement Weddle’s rule.
18. Write a program to implement Runge-Kutta method of order 2.
19. Write a program to implement Runge-Kutta method of order 4.
20. Write a program to implement Euler’s method.
21. Write a program to implement Modified Euler’s method.

MCA-297 Advanced Operating System Lab


Experiments should include but not limited to :

1. Write shell programs to implement different CPU scheduling algorithms such as


Round Robin, SJF, FCFS, Priority etc.
2. Write shell programs to implement different file allocation strategies studied.
3. Write shell programs to implement Pearson’s solution for two process
synchronization.
4. Write shell programs to implement semaphores to conduct multiple process
synchronization in different scenarios.
5. Write shell programs to implement File Organization Techniques.
6. Write shell programs to implement Bankers algorithm for Dead Lock Avoidance.
7. Write shell programs to implement Dead Lock Detection.
8. Write shell programs to implement different page replacement algorithms such as
FIFO, LRU, LFU etc.
9. Write different shell programs to verify the concept of shared memory and IPC.

MCA-298 Computer Network Lab


Experiments should include but not limited to :

1. Implementation of Stop and Wait Protocol and Sliding Window Protocol.


2. Study of Socket Programming and Client-Server model
3. Write a code s simulating ARP/RARP protocols.
4. Write a code s simulating PING and TRACEROUTE commands
5. Create a socket for HTTP for web page upload and download.
6. Write a program to implement RPC (Remote Procedure Call)
7. Implementation of Sub-netting .
8. Applications using TCP Sockets like
a. Echo client and echo server
b. Chat
c. File Transfer
9. Applications using TCP and UDP Sockets like
a. DNS
b. SNMP
Master of Computer Application (MCA) 28
a. File Transfer
10. Study of Network simulator (NS) and Simulation of Congestion Control Algorithms
using NS
11. Perform a case study about the different routing algorithms to select the network path
with its optimum and economical during data transfer.

a. Link State routing


b. Flooding
c. Distance vector

MCA-299 Compiler Design Lab


Experiments should include but not limited to :

1. Implementation of symbol table.


2. Develop a lexical analyzer to recognize a few patterns in c (ex. Identifiers, constants,
Comments, operators etc.)
3. Implementation of lexical analyzer using lex tool.
4. Generate yacc specification for a few syntatic categories.
a) Program to recognize a valid arithmetic expression that uses operator +, -, *, /
b) Program to recognize a valid variable which starts with a letter followed by any
number of letter or digits.
c) Implementation of calculator using lex and yacc.
5. Implement type checking
7. Implement control flow analysis and data flow analysis.
8. Implement any one storage allocation strategies (heap, stack, static)
9. Construction of DAG
10. Implement the back end of the compiler which takes the three address code and
produces the 8086 assembly language instructions that can be assembled and run
using a 8086 assembler. The target assembly instructions can be simple move, add,
sub, jump. Also simple addressing modes are used.
11. Implementation of simple code optimization techniques (constant folding. etc.)

Master of Computer Application (MCA) 29


SECOND YEAR FIRST SEMESTER (Semester-III)

MCA-301 Advanced Java [40L]

Course Objective:

Java is the most popular platform, which is used to develop several applications for the
systems as well as embedded devices like mobile, laptops, tablets and many more. It is an
object oriented programming language and has a simple object model, as it has derived from
C and C++. It provides a virtual machine, which is accumulated with byte-code and can run
on any system. With time the importance and popularity of Java is on rise as it has the magic
in its remarkable abilities to innovate and morph as the technology landscape changes. It is
the language of choice for developing applications for the BlackBerry Smartphone. It is
important for information technology industry to develop and create multiple web-based or
server based applications to enhance the industrial competency. There is huge scope for this
programming language.

Course Outcome:

 After completing this course the student must demonstrate the knowledge and ability
to:
 Able to understand the use of OOPs concepts.
 Able to solve real world problems using OOP techniques.
 Able to understand the use of abstraction.
 Able to understand the use of Packages and Interface in java.
 Able to develop and understand exception handling, multithreaded applications with
synchronization.
 Able to understand the use of Collection Framework.
 Able to design GUI based applications and develop applets for web applications.

Syllabus:

Introduction to JAVA: Class and object, basic concepts of java programming , advantages
of java, byte-code & JVM. [2L]
Oops Concept: Inheritance, polymorphism, encapsulation, abstraction etc. [2L]
Class, object and data types: data types, access specifiers, operators, control statements &
loops, array, creation of class, object, constructor, finalize and garbage collection. use of
method overloading, this keyword, use of objects as parameter & methods returning objects,
call by value & call by reference, static variables & methods, nested & inner classes, basic
String handling concepts, concept of mutable and immutable string, command line
arguments, [4L]
Java I/O: basics of I/O operations – keyboard input using Buffered Reader & Scanner
classes. [2L]

Master of Computer Application (MCA) 30


Inheritance: Reusability – Super class & subclasses including multilevel hierarchy, process
of constructor calling in inheritance, method overriding, use of super , final keyword,
dynamic method dispatch, use of abstract classes & methods. [3L]
Java Interface and package: Use of interface, difference between interface and abstract
class, creation of packages, importing packages, member access for packages. [3L]
Exception handling: Exception handling basics, different types of exception classes, use of
try & catch with throw, throws & finally, creation of user defined exception classes. [4L]
Multithreading: Basics of multithreading, main thread, thread life cycle, creation of multiple
threads, thread priorities, thread synchronization, deadlocks for threads, suspending &
resuming threads. [5L]
Applet Programming: applet life cycle, difference between application & applet
programming, parameter passing in applets. [3L]
Java AWT and Swing: concept of event model and listener, creation of GUI frames and
controls like of buttons, text fields etc. [3L]
Java Servlet and JSP: Basics of web, servlet life cycle, servlet API, life cycle of JSP, JSP
API, Scripting elements, objects an directives, exception handling. Using servlet and JSP in
web based applications. [5L]
Java Frameworks: What and why, Introduction to Java frameworks: Spring, Hibernate and
Struts. [4L]
Books:
1. The Complete reference C++ by H. Schildt, McGrawHill
2. Learning C++: A Hands on Approach by Nagler, Jayco Publishing House
3. The C++ Programming Language by Stroustrup, Adisson Wesley
4. Object Oriented Programming in C++ by R. Lafore, SAMS
5. Java 2.0 Complete Reference by H. Schildt, McGrawHill
6. JAVA How to Program by Deitel and Deitel, Prentice Hall

MCA-302 Artificial Intelligence [40L]

Course Objective:

Students will try to learn:

 To create appreciation and understanding of both the achievements of AI and the


theory underlying those achievements.
 To introduce the concepts of a Rational Intelligent Agent and the different types of
Agents that can be designed to solve problems
 To review the different stages of development of the AI field from human like
behavior to Rational Agents.

Master of Computer Application (MCA) 31


 To impart basic proficiency in representing difficult real life problems in a state space
representation so as to solve them using AI techniques like searching and game
playing.
 To create an understanding of the basic issues of knowledge representation and Logic
and blind and heuristic search, as well as an understanding of other topics such as
minimal, resolution, etc. that play an important role in AI programs.
 To introduce advanced topics of AI such as planning, Bayes networks, natural
language processing and Cognitive Computing
Course Outcome:

Students will able to:

 Demonstrate knowledge of the building blocks of AI as presented in terms of


intelligent agents.
 Analyze and formalize the problem as a state space, graph, design heuristics and
select amongst different search or game based techniques to solve them.
 Develop intelligent algorithms for constraint satisfaction problems and also design
intelligent systems for Game Playing
 Attain the capability to represent various real life problem domains using logic based
techniques and use this to perform inference or planning.
 Formulate and solve problems with uncertain information using Bayesian approaches.
 Apply concept Natural Language processing to problems leading to understanding of
cognitive computing.

Syllabus:

Introduction: Overview and Historical Perspective, Turing test, Physical Symbol Systems
and the scope of Symbolic AI, Agents. [4L]
State Space Search: Depth First Search, Breadth First Search, DFID. [4L]
Heuristic Search: Best First Search, Hill Climbing, Beam Search, Tabu Search. [6L]
Randomized Search: Simulated Annealing, Genetic Algorithms, Ant Colony Optimization.
[3L]
Finding Optimal Paths: Branch and Bound, A*, IDA*, Divide and Conquer approaches,
Beam Stack Search. [4L]
Problem Decomposition: Goal Trees, AO*, Rule Based Systems, Rete Net. [4L]
Game Playing: Minimax Algorithm, AlphaBeta Algorithm, SSS*. [3L]
Planning and Constraint Satisfaction: Domains, Forward and Backward Search, Goal
Stack Planning, Plan Space Planning, Graphplan, Constraint Propagation. [5L]
Logic and Inferences: Propositional Logic, First Order Logic, Soundness and Completeness,
Forward and Backward chaining. [7L]

Books:

1. Deepak Khemani. A First Course in Artificial Intelligence, McGraw Hill Education


(India), 2013.

Master of Computer Application (MCA) 32


2. Stefan Edelkamp and Stefan Schroedl. Heuristic Search: Theory and Applications,
Morgan Kaufmann, 2011.
3. John Haugeland, Artificial Intelligence: The Very Idea, A Bradford Book, The MIT
Press, 1985.
4. Pamela McCorduck, Machines Who Think: A Personal Inquiry into the History and
Prospects of Artificial Intelligence, A K Peters/CRC Press; 2 edition, 2004.
5. Zbigniew Michalewicz and David B. Fogel. How to Solve It: Modern Heuristics.
Springer; 2nd edition, 2004.
6. Judea Pearl. Heuristics: Intelligent Search Strategies for Computer Problem Solving,
Addison-Wesley, 1984.
7. Elaine Rich and Kevin Knight. Artificial Intelligence, Tata McGraw Hill, 1991.
8. Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach, 3rd
Edition, Prentice Hall, 2009.
9. Eugene Charniak, Drew McDermott. Introduction to Artificial Intelligence, Addison-
Wesley, 1985.
10. Patrick Henry Winston. Artificial Intelligence, Addison-Wesley, 1992.

MCA-303 Internet and Web Technology [40L]


Course Objective:

The objective of this paper is to develop an ability to design and implement static and
dynamic website.

Course Outcome:

On completion of this course, a student will be familiar with client server architecture and
able to develop a web application using java technologies. Students will gain the skills and
project-based experience needed for entry into web application and development careers.

Syllabus:

Internet: Brief history, internet today, Protocols and standards; Reference models: OSI
reference model, TCP/IP reference model, their comparative study; Addressing: Internet
address, classful address; Internet Applications: HTML, XML, HTTP, Applets, Servlets, Web
services, SOAP, REST [5L]
Introduction to the Web Technologies: Concept of WWW, Internet and WWW, HTTP
Protocol: Request and Response, Web browser and Web servers. Web Security and
Firewalls, Web Protocols: TCP, IP and HTTP, SMTP, POP3, FTP [5L]
HTML: Basics of HTML, Structure of HTML code, formatting and fonts, color, hyperlink,
lists, tables, images, DOM (Programming Assignments based on above topics) [4L]
Style Sheets: Need for CSS, introduction to CSS, basic syntax and structure, Classes and
Pseudo Classes, CSS tags for setting background images, colors and properties, manipulating

Master of Computer Application (MCA) 33


texts, using fonts, borders and boxes, margins, padding lists, positioning etc. (Programming
Assignments based on above topics) [6L]
Client Side scripting Language: (JavaScript/ VBScript etc.) and DHTML. [3L]
Introduction to PHP: Configuration and Installation of PHP, basic syntax of PHP,
Expressions, Statements, Arrays, Functions, string, Regular Expressions, Date and Time
Functions (Programming Assignments based on above topics) [3L]
PHP and MySQL: File Handling- Creating a File, Reading from Files, Copying Files,
Moving File, Deleting File, Updating File, Uploading Files, Form Designing using HTML 5,
Validation’s using PHP Connection to server, creating database, selecting a database, listing
database, listing table names, creating a table, inserting data, altering tables, queries, deleting
database, deleting data and tables, Master-Detail relationships using Joins. Session
Management- Using Cookies in PHP, HTTP Authentication, Using Sessions. (Programming
Assignments based on above topics) [10L]
Web services: Design and modeling of web services, Technologies for implementing web
services [4L]
Books:

1. Web Technologies, Black Book, Dreamtech Press


2. Learning PHP, MySQL, JavaScript, CSS and HTML 5, Robin Nixon, O’Reilly publication
3. Developing Web Applications in PHP and AJAX, Harwani, McGrawHill
4. Professional PHP Programming, Jesus Caspagnetto, Etal. Wrox Publication.
5. Internet and World Wide Web How to program, P.J. Deitel & H.M. Deitel, Pearson
6. Developing Web Applications, Ralph Moseley and M. T. Savaliya, Wiley-India

MCA-304 Machine Learning [40L]


Course Objective:
Introduce the concept of learning patterns from data and develop a strong theoretical and
practical foundation for understanding state of the art Machine Learning algorithms. This
course is broad in scope and gives the student a holistic understanding of the subject. This
topic explores various paradigms for knowledge encoding in computer systems. Introduce
subfields of AI such as Data Science, Recommender Systems, NLP, Game Playing, Bayesian
Models, etc.

Course Outcome

On completion of the course students will be expected to:

 Have a good understanding of the fundamental issues and challenges of machine


learning: data, model selection, model complexity, etc.
 Have an understanding of the strengths and weaknesses of many popular machine
learning approaches.
 Appreciate the underlying mathematical relationships within and across Machine
Learning algorithms and the paradigms of supervised and un-supervised learning.
Master of Computer Application (MCA) 34
 Be able to design and implement various machine learning algorithms in a range of
real-world applications.
Syllabus:

Introduction to Machine Learning Algorithms [6L]


Concepts of scalar, vector and matrix, norm, Eigen-value, Eigen Vector, probability,
Statistical functions like mean, mode, median, standard deviation, co-variance, Linear
Algebra, Calculus etc. Traditional Program vs. Machine Learning. What is machine learning?
Applications of Machine Learning. AI vs Machine Learning Supervised, Unsupervised and
Reinforcement Learning
Introduction to Neural Network [6L]
What is Neural Network? Different Network Model (Single Layer and Multilayer Model).
MLP, Backpropagation Algorithm, Different Learning Rule
Supervised and Unsupervised Learning [12 L]
Classification (k-NN, Naïve Based, Baysian, SVM, MLP, Decision Tree, Random Forest),
Two and multiclass classifier. Evaluation Metrics from a classifier: Confusion Matrix, TP,
FP, TN, FN, Accuracy, Precision, Recall or Sensitivity, Specificity, F1 Score, Error, Good
and Bad classifier, k-fold Cross Validation, Overfitting, Underfitting, Regression (Linear and
Logistic Regression), -Clustering (C-Means, C-Medoid and C Mode)
Feature Generation, Feature Selection and Dimensionality Reduction [8L]
Motivating application: user (customer) retention Feature Generation (brainstorming, role of
domain expertise, and place for imagination) , Feature Selection algorithms – Filters;
Wrappers; Decision Trees; Random Forests, Singular Value Decomposition (SVD)
Principal Component Analysis (PCA)
Introduction to Deep Learning [8L]
What is deep learning, Deep Learning vs Machine Learning, Convolution Neural Network
(CNN), Recurrent Neural Network (RNN), Long Short Term Memory (LSTM), Term
Frequency- Inverse Document Frequency (TF-IDF), Bag-of-Words, Problem solving using
Real Data: introduction, self-training, co-training.

Books:
1. T. M. Mitchell, Machine Learning, McGraw-Hill, 1997.
2. E. Alpaydin, Introduction to Machine Learning, Prentice Hall of India, 2006.
3. C. M. Bishop, Pattern Recognition and Machine Learning, Springer, 2006.
4. R. O. Duda, P. E. Hart, and D.G. Stork, Pattern Classification, John Wiley and
Sons, 2001.
5. Vladimir N. Vapnik, Statistical Learning Theory, John Wiley and Sons, 1998.
6. Shawe-Taylor J. and Cristianini N., Cambridge, Introduction to Support Vector
Machines, University Press, 2000.

MCA-305 Elective Paper [40L]

(A) Image Processing and Pattern Recognition [40L]


Course Objective:
 To study the image fundamentals and mathematical transforms necessary for image
processing.
Master of Computer Application (MCA) 35
 To study the image enhancement techniques
 To study image restoration procedures.
 To study the image compression procedures.
 To explain and compare a variety of pattern classification, structural pattern
recognition, and pattern classifier combination techniques.
 To summarize, analyze, and relate research in the pattern recognition area verbally
and in writing.
 Apply performance evaluation methods for pattern recognition, and critique
comparisons of techniques made in the research literature.
 Apply pattern recognition techniques to real-world problems such as document
analysis and recognition.
 Implement simple pattern classifiers, classifier combinations, and structural pattern
recognizers.

Course Outcome:
 Review the fundamental concepts of a digital image processing system.
 Analyze images in the frequency domain using various transforms.
 Evaluate the techniques for image enhancement and image restoration.
 Categorize various compression techniques.
 Interpret Image compression standards.
 Interpret image segmentation and representation techniques.

Syllabus:

Fundamentals of Digital Image Processing, Image representation, Basic Image transforms,


image file format [2L]
Image Enhancement: Contrast stretching, Histogram Equalization, Binarization [2L]
Filtering in Spatial domain: Mean filter, Order Statistics filters. [2L]
Filtering in Frequency domain : Butterworth filter, Gaussian filter. [2L]
Image Restoration : Image degradation models, Weiner filter. [2L]
Image Segmentation:
Edge detection: Gradient operators, Compass operator, Laplacian operators. LoG operator.
[3L]
Region Segmentation : Region growing, region splitting and merging. [2L]
Morphological Operators:
Dilation, Erosion, Opening , Closing, Hit-and-Miss transforms, Applications. [3L]
Basic concepts of Pattern Recognition [2L]
Pattern Preprocessing and Feature Selection [2L]
Decision Functions [2L]
Bayesian decision theory [2L]
Parametric Estimation: Maximum likelihood estimation and Bayesian estimation
[3L]
Non- parametric Estimation: Parzen windows, Nearest Neighbor estimation [3L]
Pattern Classification:
Linear classifier: Perceptron, SVM [3L]
Non-linear classifiers: MLP, Non-linear SVM [3L]

Master of Computer Application (MCA) 36


Unsupervised learning and Clustering: Partitioning method, Density-based method,
[2L]
Books:
1. Digital Image Processing: R.C. Gonzalez and R. E. Woods, Pearson Education.
2. Pattern Recognition and Image Analysis: E. Gose, R. Johnsonbaugh, Steve Jost, Prentice
Hall India.
3. B. Chanda and D. Dutta Majumder, “Digital Image Processing and Analysis”, PHI.
4. Anil K. Jain, “Fundamentals of Digital Image Processing”, PHI.
5. M. Sonka, V. Hlavac, R. Boyle, “Image Processing, Analysis and Machine Vision”,
Thomson Learning, 1999.
6. Malay K. Pakhira, Digital Image Processing and pattern recognition, PHI, 2011
7. Pattern Recognition Principles, Tou and Gonzalez, Addison-Wesley
8. Pattern Classification, Duda, Hart and Stork, Second Edition, Wiley
9. Pattern Recognition and Machine Learning, Christopher Bishop, Springer
10. Introduction to Statistical Pattern Recognition, Fukunaga, Second Edition, Academic
Press

(B) Mobile Computing [40L]


Course Outcome:

Upon successful completion of this course, you will be able to

 explain the principles and theories of mobile computing technologies.


 describe infrastructures and technologies of mobile computing technologies.
 list applications in different domains that mobile computing offers to the public,
employees, and businesses.
 describe the possible future of mobile computing technologies and applications.
Syllabus:

Introduction: Introduction to wireless networks and mobile computing – Characteristics,


Issues and challenges [5L]
Wireless Transmission: Fundamentals of wireless transmission - Medium Access Control
Protocols, Different types of multiple access techniques and their characteristics [5L]
Cellular Communication: Cellular concept, Overview of different Generations [5L]
Mobile: Mobile IP, Mobile transport layer - Mechanisms for improving TCP performances
on wireless links, , Overview of Security in mobile environments [10L]
Wireless: Overview of Wireless LAN IEEE 802.11 series, Overview of Bluetooth, Overview
of Wireless Sensor Networks [5L]
Wireless application Environments: WAP, WML, Push Architecture, Push/Pull Services
Mobile Adhoc Networks – Characteristics, Routing protocols [10L]

Books:
1. Mobile Computing, Raj Kamal, Oxford
2. Hansmann, Merk, Nicklous, Stober, “Principles of Mobile Computing”, Springer,
second edition, 2003.
Master of Computer Application (MCA) 37
3. Mobile Communications, Jochen Schiller, Pearson Education
4. Stojmenovic and Cacute, “Handbook of Wireless Networks and Mobile Computing”,
Wiley, 2002, ISBN 0471419028.

(C) Cryptography and Steganography [40L]


Course objective:
 To learn about the threats of network security.
 To understand what causes these threats by studying how vulnerabilities arise in the
development and uses of computer system.
 To understand the architecture of network security.
 To narrate and evaluate the design principles of conventional encryption and
decryption techniques.
 To analyze the concepts of public key encryption and public key algorithm.
 To narrate and evaluate the design principles of conventional data hiding and
watermarking schemes

Course outcome:
 Ability to analyze and determine for any organization the security requirements and
appropriate solutions.
 Ability to protect system from different types of threats, malicious software’s
vulnerabilities and attacks.
 Ability to describe symmetric and public key encryption algorithms like DES, AES,
RSA etc.
 Ability to identify ethical, professional responsibilities, risks and liabilities in
computer and network environment, and best practices to write security policy.
 Ability to narrate the Authentication of digital certificates.
 Ability to differentiate MAC and hashing techniques needed for authentication.
 Ability to protect information from different types of threats, malicious software’s
vulnerabilities and attacks through Data hiding and Watermarking scheme.

Syllabus:

Introduction to security attacks, services and mechanism, introduction to cryptography.


Conventional Encryption: Conventional encryption model, classical encryption
techniques- substitution ciphers and transposition ciphers, cryptanalysis, stereography,
[6L]
Stream and block ciphers.
Modern Block Ciphers: Block ciphers principals, Shannon’s theory of confusion and
diffusion, feistal structure, data encryption standard (DES), strength of DES, differential
and linear crypt analysis of DES. AES. [6L]
Digital Signature, Authentication, Key Management [5]
Introduction to Information Hiding: Technical Steganography, Linguistic Steganography,
Copy Right Enforcement, Wisdom from Cryptography Principles of Steganography:
Framework for Secret Communication, Security of Steganography System, Information
Hiding in Noisy Data , Adaptive versus non-Adaptive Algorithms, Active
and Malicious Attackers, Information hiding in Written Text. [5L]

Master of Computer Application (MCA) 38


Steganographic Techniques: Substitution systems and Bit Plane Tools, Transform Domain
Techniques: - Spread Spectrum and Information hiding, Statistical Steganography, Distortion
Techniques, Cover Generation Techniques.
Steganalysis: Looking for Signatures: - Extracting hidden Information, Disabling Hidden
Information. [10L]
Watermarking and Copyright Protection: Basic Watermarking, Watermarking
Applications, Requirements and Algorithmic Design Issues, Evaluation and Benchmarking of
Watermarking system. [8L]

Books:
1. William Stallings, “Cryptography and Network Security: Principals and
Practice”, Prentice Hall, New Jersy.
2. Johannes A. Buchmann, “Introduction to Cryptography”, Springer-Verlag.
3. Bruce Schiener, “Applied Cryptography”.
4. Katzendbisser, Petitcolas, " Information Hiding Techniques for Steganography and Digital
Watermarking", Artech House.
5. Peter Wayner, "Disappearing Cryptography: Information Hiding, Steganography and
Watermarking 2/e", Elsevier
6. Bolle, Connell et. al., "Guide to Biometrics", Springer

(D) Natural Language Processing [40L]


Course Objective:
To understand natural language processing and to learn how to apply basic algorithms in this
field. To get acquainted with the algorithmic description of the main language levels:
morphology, syntax, semantics, and pragmatics, as well as the resources of natural language
data - corpora. To conceive basics of knowledge representation, inference, and relations to
the artificial intelligence.

Course Outcome:
The students will get acquainted with natural language processing and learn how to apply
basic algorithms in this field. They will understand the algorithmic description of the main
language levels: morphology, syntax, semantics, and pragmatics, as well as the resources of
natural language data - corpora. They will also grasp basics of knowledge representation,
inference, and relations to the artificial intelligence

Syllabus:

Speech & Natural Language Processing: [3L]


Brief Review of Regular Expressions and Automata; Finite State Transducers; [5L]
Word level Morphology and Computational Phonology; [3L]
Basic Text to Speech; [4L]
Introduction to HMMs and Speech Recognition. [4L]
Indian language case studies; Part of Speech Tagging; [4L]
Parsing with CFGs; Probabilistic Parsing. [2L]
Representation of Meaning; [4L]
Semantic Analysis; Lexical Semantics; Word Sense; [4L]
Disambiguation; Discourse understanding; [4L]

Master of Computer Application (MCA) 39


Natural Language Generation. [3L]

Book:

1. Natural Language Processing And Information Retrieval, TANVEER SIDDIQUI, U. S


TIWARY, Oxford University Press
2. NATURAL LANGUAGE UNDERSTANDING, J Allen, Pearson India
3. Multilingual Natural Language Processing Applications from Theory to Practice, Bikel,
Pearson India
4. NATURAL LANGUAGE PROCESSING, Dipti Mishra Sharma, MACMILLAN INDIA
LTD

(E) Cloud Computing [40L]


Course Objective:

 To learn how to use Cloud Services.


 To implement Virtualization
 To implement Task Scheduling algorithms.
 Apply Map-Reduce concept to applications.
 To build Private Cloud.
 Broadly educate to know the impact of engineering on legal and societal issues
involved.

Course Outcome:

The primary learning outcomes of this course are five-fold. Students will be able to:
 Explain the core concepts of the cloud computing paradigm: how and why this
paradigm shift came
 about, the characteristics, advantages and challenges brought about by the various
models and services in cloud computing.
 Apply fundamental concepts in cloud infrastructures to understand the tradeoffs in
power, efficiency and cost, and then study how to leverage and manage single and
multiple data centers to build and deploy cloud applications that are resilient, elastic
and cost-efficient.
 Discuss system, network and storage virtualization and outline their role in enabling
the cloud computing system model.
 Illustrate the fundamental concepts of cloud storage and demonstrate their use in
storage systems such as Amazon S3 and HDFS.
 Analyze various cloud programming models and apply them to solve problems on the
cloud.
Syllabus:

Introduction: Essentials, Benefits and need for Cloud Computing - Business and IT
Perspective - Cloud and Virtualization - Cloud Services Requirements - Cloud and Dynamic
Infrastructure - Cloud Computing Characteristics Cloud Adoption. [3L]
Cloud Models: Cloud Characteristics - Measured Service - Cloud Models - Security in a
Public Cloud Public versus Private Clouds - Cloud Infrastructure Self Service [3L]
Master of Computer Application (MCA) 40
Cloud as a Service: Gamut of Cloud Solutions - Principal Technologies - Cloud Strategy
Cloud Design and Implementation using SOA - Conceptual Cloud Model - Cloud Service
Defined [4L]
Cloud Solutions: Cloud Ecosystem - Cloud Business Process Management - Cloud Service
Management - Cloud Stack - Computing on Demand (CoD) – Cloud sourcing. [3L]
Cloud Offerings: Information Storage, Retrieval, Archive and Protection - Cloud Analytics
Testing under Cloud - Information Security - Virtual Desktop Infrastructure - Storage Cloud.
[3L]
Cloud Management: Resiliency – Provisioning - Asset Management - Cloud Governance -
High Availability and Disaster Recovery - Charging Models, Usage Reporting, Billing and
Metering. [5L]
Cloud Virtualization Technology: Virtualization Defined - Virtualization Benefits - Server
Virtualization - Virtualization for x86 Architecture - Hypervisor Management Software -
Logical Partitioning (LPAR) - VIO Server - Virtual Infrastructure Requirements. [5L]
Cloud Virtualization: Storage virtualization - Storage Area Networks - Network-Attached
storage - Cloud Server Virtualization - Virtualized Data Center. [5L]
Cloud and SOA: SOA Journey to Infrastructure - SOA and Cloud - SOA Defined - SOA and
IaaS - SOA-based Cloud Infrastructure Steps - SOA Business and IT Services. [5L]
Cloud Infrastructure Benchmarking: OLTP Benchmark - Business Intelligence
Benchmark - e-Business Benchmark - ISV Benchmarks - Cloud Performance Data Collection
and Performance Monitoring Commands - Benchmark Tools. [4L]

Book:
1. Cloud Computing – Insight into New Era Infrastructure, Dr. Kumar Saurabh, Wiley India.
2. Cloud Computing Explained, John Rhoton, Recursive Press
3. Cloud Computing Bible, Barry Sosinsky, Wiley
4. Cloud Computing: Principles and Paradigms, Rajkumar Buyya, James Broberg, Wiley
5. Cloud Computing for Dummies, Judith Hurwiz, Wiley Publishing.
6. The Cloud at your service, Rosenberg and Matheos, Manning Publications

(F) Digital Signal Processing [40L]


Course Objective:

 To know about signal representation in time domain


 Transforming Analysis on Fourier, sampling theorem and linear time-invariant
method
 To study about discrete Fourier transform, discrete filter architecture
 To get information about z-transform.
 To learn how to use techniques such as Fourier transform and z-transform to analyze
a given signal or system;
 Understanding what kind of characteristics to know the property of a signal or system
should we analyze;
 Learning how to interpret signals so they can be more useful;
 Understanding how a signal processor (digital filter) is built

Course Outcome:

Master of Computer Application (MCA) 41


The student must be willing to: At the completion of this course.
1. Analyse digital and analog inputs & systems research
2. Understand and analysis discrete time signals in the frequency domain
3. Design digital filters
4. Understand the changing properties in the signal with changing its sampling rate.
5. Conceptualize filter specifications in digital signal processing.
6. Understand architecture of Digital Signal Processor.
7. Understand the field of applications of digital signal processing.

Syllabus:
Introduction to Digital Signal Processing:
Introduction to Digital Signal Processing: Discrete time signals & sequences, linear
shift invariant systems, stability, and causality, linear constant coefficient difference
equations. Frequency domain representation of discrete time signals and systems 4L
Discrete Time System Analysis:
Z-transform and its properties, inverse z-transforms; difference equation – Solution
by z-transform, application to discrete systems – Stability analysis, frequency
response – Convolution – Discrete Time Fourier transform , magnitude and phase
representation. 6L
Discrete-Fourier Transform & Fast Fourier Transform:
Representation of Periodic sequences: The discrete Fourier Series and its Properties
Fourier Transform of Periodic Signals, Sampling the Fourier Transform, The
Discrete-Fourier Transform, Properties of DFT, Linear Convolution using DFT.
FFT-Efficient Computation of DFT, Goertzel Algorithm, radix2 Decimation-in-
Time and Decimationin-Frequency FFT Algorithms. 10L
Realization of Digital Filters:
Applications of Z - transforms, solution of difference equations of digital filters,
System function. Stability criterion. Frequency response of stable systems,
Realization of digital filters - Direct, Canonic, Cascade and Parallel forms, Design
of IIR Digital filters, Design of FIR Filters 8L
Advance DSP Techniques:
Multirate Signal Processing: Decimation, Interpolation, Sampling rate conversion
by rational factor Adaptive filters: Introduction, Basic principles of Forward Linear
Predictive filter and applications such as system identification, echo cancellation,
equalization of channels, and beam forming using block diagram representation
study only. 7L
Architecture of DSP Processors & applications:

Master of Computer Application (MCA) 42


Harward architecture, pipelining, Multiplier-accumulator (MAC) hardware,
architectures of fixed and floating point DSP processors. Applications. 5L
Books:
1. “Digital Signal Processing: Principles, Algorithm & Application”, 4th edition,
Proakis, Manolakis, Pearson.
2. “Discrete Time Signal Processing”:Oppeheim, Schafer, Buck Pearson education
publication, 2nd Edition, 2003.
3. Digital Signal Processing fundamentals and Applications,Li Tan , Jean Jiang,
Academic Press,2nd edition,2013
4. Digital Signal Processing – A computer based Approach, S.K.Mitra, Tata McGraw
Hill,3rd edition,2006
5. Fundamentals of digital Signal Processing –Lonnie c.Ludeman, Wiley
6. Digital Signal processing-A Practical Approach, second edition, Emmanuel I.
feacher, and BarrieW..Jervis, Pearson Education
7. Digital Signal Processing, S.Salivahanan, A.Vallavaraj, C.Gnapriya TMH,2009
8. Digital Signal Processors, Architecture, programming and applications by B.
Venkatramani, M Bhaskar, Mc-Graw Hill
9. Discrete Systems and Digital Signal Processing with MATLAB -Taan S.EIAli.CRC
press. 2009.

MCA-396 Java Lab


Experiments should include but not limited to :

1. Assignments on class, constructor, final, super and static keywords.


2. Assignments on function overloading and overriding.
3. Assignments on pointers, arrays, interface, abstract class and package.
4. Assignments on exception handling and multithreading.
5. Assignments on String handling and file handling.
6. Assignments on Applet and AWT.
7. Assignments on Java servlet and JSP.
8. Assignments on Java Frameworks.

MCA-397 AI Lab

Experiments should include but not limited to :

1. Study of PROLOG.
2. Write the following programs using PROLOG:
3. Write a program to solve 8-queens problem.
4. Solve any problem using depth first search.

Master of Computer Application (MCA) 43


5. Solve any problem using best first search.
6. Solve 8- puzzle problem using best first search.
7. Solve Robot (traversal) problem using means End Analysis.
8. Solve Traveling Salesman problem.

MCA-398 (A) Internet and Web Technology Lab


Experiments should include but not limited to:

Basic Syntax, Data type, Operator and Expression, Arrays, Capturing Form Data, Decisions
making and looping, Functions, Working with directories, Cookie, Session, Regular
expressions,
Introduction to RDBMS, Connection with MySql Database, Performing database operation,
Setting query parameters, Executing query, Exception Handling, Basic of jQuery and Ajax

List of Assignments:

Problems and assignments based on Web Technology using PHP (HyperText Preprocessor)
language.
Form creation, Simple CSS creation. Data insertion, updation, deletion through form into a
MySQL database. Data selection from MySQL Database and view on a web page. Data
Authentication using session, cookie.

Some Experiments:
1. Create a web page to validate an arithmetic captcha. Use session to validate a captcha.
Ca : 5+3 =
2. Create a web page to edit the following information and store the updated information
in database. Create the database.
Name: Text Box
Subject: Check Box
3. Write a simple PHP browser detection script.
4. Create a function called that validates email addresses. The function takes as a
parameter a string of email addresses delimited by commas. It should return an array
of valid email addresses.
5. Implement simple web-application that asks question from user and evaluates if the
answer is correct. Use radio-buttons to input user response.
6. Implement PHP-page which is refreshed after every 5 seconds and displays the
current date and time.
7. Design a web page to implement user registration process. User submits username,
password, phone no., email. Also, check the availability of the username. After
successful registration, print a success message.
8. Create a student database using MYSQL with name, roll, marks of three subjects
(MATH, SCIENCE, ENGLISH).Create a page in PHP to access the table against roll
and to generate the average marks of the student and display the average marks.
Master of Computer Application (MCA) 44
9. Design a login page for an administrator. If authentication is correct allow him to visit
any page (dummy) else send him to login page.
10. Implement a simple application that can be used to sent emails.

MCA-398 (B) Machine Learning Lab

All experiments should be either in Python or Matlab or Weka platform.


The ML programs are not similar to traditional programs. So before going to implement ML
programs you should know the installing libraries, packages, importing data, data cleaning,
pre-processing, Training and Testing knowledge. The learner either would have to implement
a minor project from any one of list of given assignments below or have to write a program
on lottery basis in the laboratory.

List of assignments:

1. Implementing KNN Algorithm with Iris data set or any other .csv data.
2. Implementing decision tree Algorithm with some existing or new data set in the .csv
format.
3. Implementing random forest Algorithm with some existing or new data set in .csv
format.
4. Implementing random forest Algorithm with some existing or new data set in .csv
format.
5. Implementing Naïve Bayes classifier Algorithm with some existing or new data set in
.csv format.
6. Implementing Neural Network classifier Algorithm with some a data set in .csv
format.
7. Implementing SVM classifier Algorithm with some data set in .csv format.
8. Implementing Linear Regression Algorithm with some data set in .csv format.
9. Implementing Logistic Regression Algorithm with some data set in .csv format.
10. Implementing spam and non-spam email filtering based on any classifier.
11. Implement and demonstrate the FIND-S algorithm for finding the most specific
hypothesis based on a given set of training data samples. Read the training data from a
.CSV file.
12. . Build an Artificial Neural Network by implementing the Back propagation
algorithm and test the same using appropriate data sets.

13. For a given set of training data examples stored in a .CSV file, implement and
demonstrate the Candidate-Elimination algorithm to output a description of the set of
all hypotheses consistent with the training examples.
14. Implementing K-Means Clustering with a data set.

Master of Computer Application (MCA) 45


MCA-399 (A) Term Paper-II
Seminar topic will be assigned to individual student by the Head of the department at the
beginning of the semester.

MCA-399 (B) Grand Viva


Each student will appear for Viva-Voce before the examiners. Viva-Voce will be conducted based
on all Theoretical subjects of this curriculum.

SECOND YEAR SECOND SEMESTER (Semester-IV)

MCA-491 Project Work / Dissertation


A student needs to go through a six months project in any IT industry / Educational Institute.
The student is required to submit a synopsis of his/her work within 30 days of the start of six
months project duration to the Head of the Department. Also, a student has to submit a project
report/dissertation during the time of examination.

MCA-492 Seminar Presentation


Student will deliver seminar presentation based on the Project Work / Dissertation.

Master of Computer Application (MCA) 46

You might also like