0% found this document useful (0 votes)
20 views

Syllabus MCA

SYLLABUS FOR Mca

Uploaded by

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

Syllabus MCA

SYLLABUS FOR Mca

Uploaded by

saksham
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

BIJU PATNAIK UNIVERSITY OF TECHNOLOGY,

ODISHA
ROURKELA

Curriculum and Syllabus

2 Yrs Master in Computer Application (MCA)


from the Admission Batch
2020-21
First Semester
Theory
Sl. University Internal
Category Course Code Course Title L-T-P Credit
No. Marks Evaluation
MCA01001 Discrete Mathematics 50
1 BS 3-0-0 3 100
MCA01002 Computer System
2 PC Architecture 3-0-0 3 100 50

3 PC MCA01003 C and Data Structure 3-0-0 3 100 50


MCA01004 Operating System 3-0-0 3
4 PC 100 50
MCA01005 Database Engineering 3-0-0 3
5 PC 100 50
Total Credit (Theory) 15
Total Marks 500 250
Practical
Data Structure Using C 100
1 PC MCA01006 Lab 0-0-3 2

MCA01007 Operating System Lab 100


2 PC 0-0-3 2
MCA01008 Database Engineering 100
3 PC Lab 0-0-3 2

Total Credit (Practical) 6


Total Semester Credit 21
Total Marks 300
1st Semester MCA01001 Discrete Mathematics L-T-P 3
3-0-0 CREDITS

Module-I (10 Hours)


Logic: Propositional equivalence, predicates and quantifiers, Methods of proofs,
proof strategy, sequences and summation, mathematical induction, recursive
definitions and structural induction, program correctness, prepositional calculus.
Counting: The basics of counting, the pigeonhole principle, permutations and
combinations, recurrence relations, solving recurrence relations, generating
functions, inclusion-exclusion principle, application of inclusion-exclusion.

Module-II (10 Hours)


Relations: Relations and their properties, n-array relations and their applications,
representing relations, closure of relations, Warshall's algorithm, equivalence of
relations, partial orderings.
Graph theory: Introduction to graphs, graph terminology, representing graphs
and graph isomorphism, connectivity, Euler and Hamilton paths, planar graphs,
graph coloring, introduction to trees, application of trees.

Module-III (06 Hours)


Group theory: Groups, subgroups, generators and evaluation of powers, cosets
and Lagrange's theorem, permutation groups and Burnside's theorem,
isomorphism, auto orphisms, homomorphism and normal subgroups, rings,
integral domains and fields.

Module-IV (08 Hours)


Lattice theory: Lattices and algebras systems, principles of duality, basic
properties of algebraic systems defined by lattices, distributive and
complimented lattices, Boolean lattices and Boolean algebras, uniqueness of
finite Boolean expressions.

Module-V (06 Hours)


Coding theory: Coding of binary information and error detection, decoding and
error correction.

Books:
1. C. L. Liu, D.P. Mohapatra “Elements of Discrete Mathematics- A Computer-
Oriented Approach”, 4th Edition, Tata McGraw Hill, 2013.
2. K.H. Rosen, “Discrete Mathematics and its application”, 5th edition, Tata
McGraw Hill Publication
3. G. Shankar Rao, “Discrete Mathematical Structure”, New Age Publisher
4. D. P. Acharjaya, Sreekumar “Fundamental Approach to Discrete
Mathematics”, New Age Publisher
1st Semester MCA01002 Computer System Architecture L-T-P 3
3-0-0 CREDITS

Module – I: (08 Hours)


Introduction: Review of basic computer architecture, Quantitative techniques in
computer design, measuring and reporting performance.
Module – II: (08 Hours)
Pipelining: Basic concepts, Instruction and Arithmetic pipeline, Data hazards,
Control hazards and Structural hazards, Techniques for handling hazards.
Exception handling. Pipeline optimization techniques.

Module – III: (08 Hours)


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.

Module – IV: (08 Hours)


Instruction-level Parallelism: Basic concepts, Techniques for increasing ILP,
Superscalar, Superpipelined and VLIW Processor architectures. Array and
Vector processors

Module – V: (08 Hours)


Multiprocessor architecture: Taxonomy of Parallel Architectures, Centralized
shared- memory architecture, Synchronization, Memory consistency,
Interconnection networks. Distributed shared memory architecture. Cluster
computers

Books:

1. Carl Hamacher, Zvonko Vranesic and Safwat Zaky, “Computer


Organization”, Fifth Edition, Tata McGraw Hill, 2002.
2. William Stallings, “Computer Organization and Architecture –
Designing for Performance”, Sixth Edition, Pearson Education, 2003.
3. Patterson, “Computer Organisation and Design”, Elsevier
4. John P Hayes, “Computer Organization”, McGraw Hill
5. Morris Mano,” Computer System Architecture”, PHI
1st Semester MCA01003 C and Data Structure L-T-P 3 CREDITS
3-0-0

MODULE – I (10 Hours)


C Language Fundamentals, Arrays and Strings
Character set, Identifiers, Keywords, Data Types, Constant and Variables,
Statements, Expressions, Operators, Precedence of operators, Input – output
Assignments, Control structures, Decision making and Branching, Decision
making & looping. Declarations.
MODULE – II (10 Hours)
Monolithic vs Modular programs, User defined vs standard functions, formal vs
Actual arguments, Functions category, function prototypes, parameter passing,
Recursion, Storage Classes: Auto, Extern, Global, Static.Character handling in
C. String handling functions. Pointers, Structures, Union & File handling
MODULE – III (10 Hours)
Pointer variable and its importance, Pointer Arithmetic passing parameters,
Declaration of structures, pointer to pointer, pointer to structure, pointer to
function, unions dynamic memory allocations, unions, file handling in C.
MODULE – IV (10 Hours)
Development of Algorithms: Notations and Analysis, Storage structures for
arrays-sparse matrices, Stacks and Queues: Applications of Stack: Prefix,
Postfix and Infix expressions. Circular queue, Double ended queue.

Books:
1. E. Balagurusamy, Programming in ANSI ‘C’, 8th Edition, Tata McGraw Hill, 2019.
2. Reema Thareja, Data Structures Using C, 2nd Edition ,Oxford University Press, 2014.
3. M. Tanenbaum, “Data Structures using C & C++”, Prentice-Hall of India Pvt. Ltd.
4. A.K.Rath and A. K. Jagadev, “Data Structures and Program Design using C”,
2nd Edition, Scitech Publications, 2011.
5. Bruno R Preiss, “Data Structures and Algorithms with Object Oriented Design
Pattern in C++”, John Wiley & Sons, Inc., 1999.
6. Horowitz and Sahani, “Fundamentals of data Structures”,Galgotia Publication Pvt.
Ltd.
1st Semester MCA01004 Operating System L-T-P 3 CREDITS
3-0-0

MODULE-I (08 Hours)


Overview of Operating Systems: Introduction, how OS takes System Control,
Why OS is essential, Functions of the Operating Systems, Evolution of
Operating Systems, Generations of OS.
MODULE-II (08 Hours)
Operating System Structure & Processes: Introduction, System Components,
Operating System Structure, Operating System Services, System Calls, System
Programs, Process, Process States, Process Control.

MODULE-III (08 Hours)


Operating System Services for Process Management & Scheduling:
Introduction, Process Creation, Termination & Other Issues, Threads,
Multithreading, Types of Threads, Schedulers, Types of Schedulers, Types of
Scheduling, Scheduling Algorithms, Types of Scheduling Algorithms.
MODULE-IV (08 Hours)
Process Synchronization, Interprocess Communication & Deadlock:
Introduction, Data Access and Control Synchronization, Critical Sections, Race
Condition, Classical Problems & Solutions of Process Synchronization,
Semaphores, Message Passing, Deadlock, Conditions for Deadlock, Resource
Allocation Graph, Handling Deadlocks, Deadlock Prevention, Deadlock
Avoidance, Deadlock Detection, Recovery from Deadlocks.

MODULE-V (08 Hours)


Memory Management & Virtual Memory: Introduction, Memory Management
Schemes, Sharing and Protection in Paging, Sharing and Protection in
Segmentation, Virtual Memory, Demand Paging, Page Replacement Algorithms,
Thrashing

Books:
1. Silberschatz and Galvin, “Operating System Concepts”, John Wiley Publishing
2. William Stallings, “Operating Systems Internals & Design Principles”, Pearson
Education
3. Naresh Chauhan, “Principles of Operating Systems”, Oxford India Publications
4. Pabitra Pal Choudhury, “Operating System Principles and Design”, PHI Publication
5. Sibsankar Halder and Alex A. Aravind, “Operating System”, Pearson Education
1st Semester MCA01005 Database Engineering L-T-P 3 CREDITS
3-0-0

Module -I (06 Hours)


Introduction to DBMS: concept and overview of DBMS, data models, DB
languages, DB users and Administrator, 3-schema architecture of DBMS, data
independence, EF Codd Rule.

Module -I I (06 Hours)


ER Model: basic concepts, design issues, keys, ER diagram, Weak entity sets,
Extended ER features. Relational model: structure of relational model,
Relational algebra, Extended relational algebra Operations.

Module – III (08 Hours)


Relational database design: FDs, Anamolies in designing DB, Normalization
using FDs, various Normal forms-1NF, 2NF, 3NF, BCNF, 4NF, 5NF.

Module-IV (10 Hours)


SQL and Integrity Constraints: Concepts of DDL, DML, DCL, various SQL
operations: set operations, aggregate functions, constraints, view, nested sub
queries, PL/SQL, cursor, trigger.

Module – V (10 Hours)


Internals of RDBMS: Query optimization, various optimization algorithms,
Transaction processing, concurrency control and recovery management.
Advanced Database: OODB, WEB based DB, Data warehousing and Data
mining.

Books:

1) Korth, Silverschatz, Abraham,” Database system concepts”, Tata McGraw Hill


Publication
2) R.Elmasri, S.B Navathe, “Fundamentals of Database System”, Adision Wesley
Publishing
3) Er.Rajiv chopra, “Database management systems, A Practical Approach”,
S.Chand Publishing
4) Ramkrishna, “Database management systems”, Tata McGraw Hill Publication
1st Semester MCA01006 Data Structure Using C Lab L-T-P 2 CREDITS
0-0-3

LIST OF EXPERIMENTS:
1. Implementation of Stack Using Array.
2. Implementation of Queue Using Array.
3. Implementation of Infix to Postfix Conversion using Stack.
4. Evaluation of Postfix Expression using Stack.
5. Implementation of Singly Linked List.
6. Implementation of Doubly Linked List.
7. Implementation of Stack Using Linked List.
8. Implementation of Queue Using Linked List.
9. Implementation of Binary Tree Traversal : Preorder, Inorder and Postorder.
10. Implementation of Binary Search Tree.
11. Implementation of sorting algorithms : Bubble Sort, Selection Sort, Insertion
Sort, Quick Sort, Merge Sort and Heap sort.
12. Implementation of Searching Algorithms : Linear Search and Binary Search
13. Implementation of Breadth First Search (BFS) in a Graph.
14. Implementation of Depth First Search (DFS) in a Graph.
15. Implementation of Hashing using hash functions.
1st Semester MCA01007 Operating System Lab L-T-P 2 CREDITS
0-0-3

LIST OF EXPERIMENTS:

1. Write a C program to simulate the following non-preemptive CPU scheduling


algorithms to find turnaround time and waiting time.

a) FCFS b) SJF c) Round Robin (pre-emptive) d) Priority

2. Write a C program to simulate Multi-level Feedback Queue Scheduling


algorithm considering the following scenario. All the processes in the system are
divided into two categories – System processes and User processes. System
processes are to be given higher priority than user processes. Use FCFS
scheduling for the processes in each queue.
3. Write a C program to simulate the MVT and MFT memory management
techniques.
4. Write a C program to simulate the following Contiguous Memory allocation
techniques
a) Worst-fit b) Best-fit c) First-fit
5. Write a C program to simulate Paging technique of Memory management.

6. Write a C program to simulate Bankers algorithm for the purpose of deadlock


avoidance.

7. Write a C program to simulate Disk scheduling algorithms a) FCFS b) SCAN c) C-


SCAN

8. Write a C program to simulate Page replacement algorithms a) FIFO b) LRU c) LFU

9. Write a C program to simulate Page replacement algorithms a) Optimal

10. Write a C program to simulate Producer-Consumer problem using semaphores.

11. Write a C program to simulate the concept of Dining-Philosophers problem.


1st Semester MCA01008 Database Engineering Lab L-T-P 2 CREDITS
0-0-3

LIST OF EXPERIMENTS:

1. Execute a single line and group functions for a table.


2. Execute DCL and TCL Commands.
3. Create and manipulate various DB objects for a table.
4. Create views, partitions and locks for a particular DB
5. Write PL/SQL procedure for an application using exception handling
6. Write PL/SQL procedure for an application using cursors.
7. Write a DBMS program to prepare reports for an application using functions.
8. Write a PL/SQL block for transaction operations of a typical application
using triggers.
9. Write a PL/SQL block for transaction operations of a typical application
using package.
10. Design and develop an application using any front end and back end tool
(make use of ER diagram and DFD).
11. Create table for various relation.
12. Implement the query in sql for a) insertion b) retrieval c) updating d) deletion.
13. Creating Views
14. Writing Assertion
15. Writing Triggers
16. Implementing operation on relation using PL/SQL
17. Creating Forms
18. Generating Reports
BIJU PATNAIK UNIVERSITY OF TECHNOLOGY,
ODISHA
ROURKELA

Curriculum and Syllabus

2 Yrs Master in Computer Application (MCA)


from the Admission Batch
2020-21
First Semester
Theory
Sl. University Internal
Category Course Code Course Title L-T-P Credit
No. Marks Evaluation
MCA01001 Discrete Mathematics 50
1 BS 3-0-0 3 100
MCA01002 Computer System
2 PC Architecture 3-0-0 3 100 50

3 PC MCA01003 C and Data Structure 3-0-0 3


100 50
MCA01004 Operating System 3-0-0 3
4 PC 100 50
MCA01005 Database Engineering 3-0-0 3
5 PC 100 50
Total Credit (Theory) 15
Total Marks 500 250
Practical
Data Structure Using C 100
1 PC MCA01006 Lab 0-0-3 2

MCA01007 Operating System Lab 100


2 PC 0-0-3 2
MCA01008 Database Engineering 100
3 PC Lab 0-0-3 2

Total Credit (Practical) 6


Total Semester Credit 21
Total Marks 300
Second Semester
Theory
Sl. University Internal
Category Course Code Course Title L-T-P Credit
No. Marks Evaluation
1 PC MCA02001 Computer Networks 3-0-0 3 100 50
MCA02002 Analysis and Design of
2 PC 3-0-0 3 100 50
Algorithms
3 PC MCA02003 Object Oriented 3-0-0 3
100 50
Programming Using Java
MCA02004 Object Oriented Analysis 3-0-0 3
4 PC 100 50
& Design
MCA02005 Internet and Web 3-0-0 3
5 PC 100 50
Programming
Total Credit (Theory) 15
Total Marks 500 250
Practical
MCA02006 Java and Python 100
1 PC 0-0-3 2
Programming Lab
2 PC MCA02007 Computer Networks Lab 0-0-3 2 100
3 PC MCA02008 Algorithm Design Lab 0-0-3 2 100
Total Credit (Practical) 6
Total Semester Credit 21
Total Marks 300
2nd Semester MCA02001 Computer Networks L-T-P 3
3-0-0 CREDITS

Module-I (12 Periods)


Overview of the Internet: introduction to data communication, computer networks, Protocol,
Layering Scenario, TCP/IP Protocol Suite: The OSI Model, Internet history, standards and
administration; Comparison of the OSI and TCP/IP reference model. Physical Layer: data and
signals: analog and digital, periodic analog signals, digital signals, transmission impairments, data
rate limit, Guided transmission media, unguided transmission media.

Module– II (08 Periods)

Data Link Layer: error detection and correction design issues, CRC codes, Elementary Data
Link Layer Protocols, sliding window protocols, noisy and noiseless channels.
Multiple Access Protocols: random access, controlled access, channelization, ALOHA, CSMA,

Module – III (06 Periods)


Connecting devices: learning bridges, spanning tree bridges, repeaters, hubs, bridges, switches,
routers and gateways, definition of multiplexing and types.
Network Layer: Network Layer Design issues, store and forward packet switching, connection
less and connection oriented networks-routing algorithms-optimality principle, circuit and packet
switching, definition of flooding and multicast.
Module – IV (05 Periods)
Routing protocols: Shortest Path, Routing uni-cast Distance Vector Routing, RIP, link state
protocols, path vector routing. Internetworking: logical addressing, internet protocols, IP
address, CIDR, IPv4 addressing, IPv6 Protocol addressing, addresses mapping, ICMP, IGMP,
ARP, RARP, DHCP.
Module -- V (09 Periods)
Transport Protocols: process to process delivery, UDP, TCP, TCP Service Model, TCP Sliding
Window, TCP Congestion Control, congestion control and quality of service.
Application Layer- Introduction, providing services, Client server model, Standard client-server
application-HTTP, FTP, electronic mail, TELNET, DNS.

Books:
1. Behrouz A. Forouzan, “Data Communications and Networking”, McGraw Hill Publication
2. Andrew S Tanenbaum, “Computer Networks”, Pearson Education

3. L. L. Peterson and B. S. Davie, “Computer Networks”, Elsevier.

1. James F. Kurose, K. W. Ross, “Computer Networking: A Top-Down Approach Featuring


the Internet”, Pearson Education.
2nd Semester MCA02002 Analysis and Design of Algorithms L-T-P 3
3-0-0 CREDITS

Module-I: (8 Periods)
Notion of Algorithm : Growth of functions, Recurrences: The Master method, The Substitution
method, The Iteration method, Asymptotic Notations and Basic Efficiency Classes (Use of Big O,
θ, etc.) in analysis of algorithms, Mathematical Analysis of few Non-Recursive and Recursive
Algorithms.

Module-II: (8 Periods)
Sorting and Searching Techniques : Selection Sort, Bubble Sort, Insertion Sort, Sequential
Search, Binary Search, Depth First Search and Breadth First Search, Balanced Search Trees,
AVL Trees, Red-Black Trees, Heaps and Heap Sort, Disjoint Set and their Implementation,
Divide and Conquer Paradigm of problem solving, Complexity analysis and understanding of
Merge Sort, Quick Sort, Binary Search Trees.

Module-III: (8 Periods)
Greedy Techniques: Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s and Bellman Ford
Algorithm, Huffman Trees, Knapsack problem.
Dynamic Programming Paradigm : Floyd-Warshall Algorithm, Optimal Binary Search trees,
Matrix Chain Multiplication Problem, Longest Common Subsequence Problem, 0/1 Knapsack
Problem, Maximum Network Flow Problem.

Module-IV: (8 Periods)
String Matching Algorithms: Naive string matching algorithm, The Rabin-Karp Algorithm,
string matching with Finite Automata, Knuth Morris Pratt string matching algorithm.
Backtracking: n-Queen’s problem, Hamiltonian Circuit problem, Subset-Sum problem, State
Space Search Tree for these problems

Module-V: (8 Periods)
Branch and Bound: Travelling Salesman Problem and its State Space Search Tree.
Introduction to Computability: Polynomial-time verification, NP-Completeness and
Reducibility, NP-Complete problems.
Approximation Algorithms: Vertex Cover Problem.

Books:
1. T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, “Introduction to Algorithms”,
PHI Publication.
2. A.V. Aho, J. E. Hopcroft and J.D.Ullman, “The Design and Analysis of Computer
Algorithms”, Pearson Education.
3. R. S. Salaria, Khanna, “Data Structure & Algorithms”, Khanna Book Publishing Co.
(P) Ltd.
2nd Semester MCA02003 Object Oriented Programming Using L-T-P 3
Java 3-0-0 CREDITS

Module-I (08 Periods)

JAVA BASICS: Review of Object oriented concepts, History of Java, Java buzzwords, JVM
architecture, Data types, Variables, Scope and life time of variables, arrays, operators, control
statements, type conversion and casting, simple java program, constructors, methods, Static
block, Static Data, Static Method String and String Buffer Classes, Using Java API
Document.

Module-II (08 Periods)


INHERITANCE AND POLYMORPHISM: Basic concepts, Types of inheritance, Member
access rules, Usage of this and Super key word, Method Overloading, Method overriding,
Abstract classes, Dynamic method dispatch, Usage of final keyword. PACKAGES AND
INTERFACES: Defining package, Access protection, importing packages, Defining and
Implementing interfaces, and Extending interfaces. I / O STREAMS: Concepts of streams,
Stream classes- Byte and Character stream, Reading console Input and Writing Console
output, File Handling.

Module-III (08 Periods)


EXCEPTION HANDLING: Exception types, Usage of Try, Catch, Throw, Throws and
Finally keywords, Built-in Exceptions, Creating own Exception classes. MULTI
THREADING: Concepts of Thread, Thread life cycle, creating threads using Thread class
and Runnable interface, Synchronization, Thread priorities, Inter Thread communication.

Module-IV (08 Periods)


AWT CONTROLS: The AWT class hierarchy, user interface components- Labels, Button,
Text Components, Check Box, Check Box Group, Choice, List Box, Panels – Scroll Pane,
Menu, Scroll Bar. Working with Frame class, Colour, Fonts and layout managers. EVENT
HANDLING: Events, Event sources, Event Listeners, Event Delegation Model (EDM),
Handling Mouse and Keyboard Events, Adapter classes, Inner classes.

Module-V (08 Periods)


SWINGS: Introduction to Swings, Hierarchy of swing components. Containers, Top level
containers -JFrame, JWindow, JDialog, JPanel, JButton, JToggleButton, JCheckBox,
JRadioButton, JLabel,JTextField, JTextArea, JList, JComboBox, JScrollPane. APPLETS:
Life cycle of an Applet, Differences between Applets and Applications, Developing applets,
simple applet.
Books:

1. Herbert schildt (2010), The complete reference, 7th edition, Tata Mc graw Hill, New
Delhi
2. Programming with Java, E. Balagurusamy, McGraw-Hill Education, 6th Edition.
3. Head First Java, O’rielly publications 2. T. Budd (2009), An Introduction to Object
Oriented Programming, 3rd edition, Pearson Education, India.
4. J. Nino, F. A. Hosch (2002), An Introduction to programming and OO design using Java,
John Wiley & sons, New Jersey.
5. Y. Daniel Liang (2010), Introduction to Java programming, 7th edition, Pearson
education, India.
nd
2 Semester MCA02004 Object Oriented Analysis & Design L-T-P 3
3-0-0 CREDITS

Module-I: (5 Periods)
Introduction:
Basic concepts, abstraction, encapsulation, information hiding, inheritance, dynamic binding,
polymorphism, overview of OOAD.

Module-II: (10 Periods)


Unified modelling language (UML):
UML views and diagrams, Use case modeling, actors and use cases, factoring use cases;
Class diagrams, class relations, association, inheritance, aggregation/composition,
inheritance, dependency; object diagram, Packages, Interaction diagrams, sequence diagrams,
fragments, Communication diagram; State diagram, events, guards, composite states,
concurrent states, history state; activity diagram, swim lanes, events, messages, object flow,
Component diagram, Deployment diagram.

Module-III: (5 Periods)
Object-oriented design process:
Overview of the design process, Domain modelling, identifying objects, boundary objects,
control objects, entity objects, CRC cards, CASE support.

Module-IV: (10 Periods)


Basic principles:
SOLID principles, Single Responsibility Principle (SRP), Open-Closed Principle (OCP),
Liskov Substitution principle (LSP), Interface segregation Principle (ISP), Dependency
Inversion Principle (DIP), Martin’s Package metrics, CK metrics, O-O metrics.

Module-V: (10 Periods)


Design Patterns:
Overview of patterns, Architectural, design, and code patterns, GRASP and GoF patterns,
Expert, Creator, Law of Demeter, Controller, Singleton, Model View Separation patterns,
Observer, MVC, Publish-Subscribe, Singleton, State, Composite, Façade, Decorator, Proxy,
Bridge, Strategy, Mediator, Visitor, Iterator, Flyweight, Template, Memento.

Books:

1. Grady Booch, Object-Oriented Analysis and Design with Applications (Third


Edition), Addison-Wesley.
2. Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Design Patterns:
Elements of Reusable Object-Oriented Software, (First Edition), Addison-Wesley.
3. Robert C. Martin, UML for Java Programmers, Prentice Hall.
4. RUMBAUGH and BLAHA, Object-Oriented Modeling and Design with UML, Pearson.
5. Bernd Bruegge and, Allen H. Dutoit, Object-Oriented Software Engineering Using UML,
Patterns, and Java, Pearson.
6. Bernd Oestereich, Developing Software with UML: Object-Oriented Analysis and Design in
Practice, Addison Wesley.
7. Rajib Mall, Fundamentals of Software Engineering, (Fifth Edition), PHI Learning Pvt Ltd.

2nd Semester MCA02005 Internet and Web Programming L-T-P 3


3-0-0 CREDITS

Module I (8 Periods)

Internet Architecture: Internet overview, evolution of internet. Internet components: Local


Area Networks, Access Networks, Core Networks, Routers, Transmission infrastructure,
ISPs. TCP/IP model, TCP/IP vs OSI model. HTML: HTML Overview, Structure of HTML
Documents, Document Types, HTML Elements and attributes. Anchor Attributes, Image Tag
and its attributes, Image and Anchors, Table.
Module II (8 Periods)

Image Map: Attributes, Client Side Image Maps and Server Side Maps.
HTML Layout: Background, colors and text, Tables, Frames, Layers, Page content Division
<Div>, <SPAN>. CSS: Style Sheet Basic, Properties, Positioning with Style Sheet.
Forms: <FORM> Elements, Form controls. Dynamic HTML.
Module III (8 Periods)

Java Script: Introduction, Client-Side JavaScript, Server-Side JavaScript, JavaScript Objects,


JavaScript Security. Operators: Assignment Operators, Comparison Operators, Arithmetic
Operators, Increment, Decrement, Unary Negation, Logical Operators, String Operators,
Special Operators, Conditional operator, Comma operator, delete, new, this, void.
Statements: Break, comment, continue, delete, do … while, export, for, for…in, function,
if…else, import, labelled, return, switch, var, while.
Module IV (8 Periods)

JavaScript (Properties and Methods of Each) :Array, Boolean, Date, Function, Math,
Number, Object, String, regExp. Document and its associated objects, document, Link, Area,
Anchor, Image, Applet, Layer.
Events and Event Handlers: General Information about Events, Defining Event Handlers,
event.
Module V (8 Periods)

Server Side Programming: Common Gateway Interface (CGI), Active Server Pages.
Internet applications: FTP, Telnet, Email, Chat. World Wide Web: HTTP protocol. Search
Engines. E-commerce and security issues including symmetric and asymmetric key,
encryption and digital signature, and authentication. Emerging trends, Internet telephony, and
virtual reality over the web, etc. Intranet and extranet, firewall.
Books:

1. Computer Networking: A Top-Down Approach Featuring the Internet by Kurose and


Ross, Pearson.
2. Web Design the Complete Reference by Thomas Powell, Tata McGrawHill.
3. HTML The Complete Reference by Thomas Powell, Tata McGrawHill.
4. JavaScript the Complete Reference, Second Edition by Thomas Powell, Fritz Schneider.
Tata McGrawHill.
nd
2 Semester MCA02006 Java and Python Programming Lab L-T-P 2
0-0-3 CREDITS
Java Programming

1. Write a program in Java to find the set of prime numbers from 1 to 100.
2. Write a program to compare two objects. Create two objects representing twocomplex
number and find the larger one.
3. Write a Java Program to convert a Number to Word.
4. Write a Java Program to copy all elements of one array into another array
5. Write a Java Program to sort the elements of an array in ascending order
6. Write a Java Program to find the frequency of odd & even numbers in the given
matrix
7. Write a Java Program to determine whether a given string is palindrome
8. Write a Java program to draw a pattern such as

000*000*
24 0*00*00*0
369 00*0*0*00
4 8 12 16 000***000
9. Write a Java program to convert Decimal to Binary in Java
10. Write a program to add two times given in hour minutes and seconds using class and
object.
11. Write a Java program to find the combination c(n,r) by inheriting from a class that
computes the factorial of a number.
12. Write a Java program to find the area of different geometrical shapes using
polymorphism.
13. Write a Java program to create a user defined package that finds the largest among an
array of n numbers. Use this package to sort an array of n numbers using
insertion/selection sort.
14. Create three threads and print 1 to 10 in each thread.
15. Write a Java program to illustrate the concept of some exceptions such as divide by
zero or array index out of bound etc.
Python Programming
1. Write a Program to read and print values of variables of different data types.
2. Write a program to perform addition, subtraction, multiplication, division and modulo
division on two integers.
3. Write a program to input two numbers and check whether they are equal or not.
4. Write a program that prompts user to enter a character (O, A, B, C, F). Then using if-
elseif-else construct display Outstanding, Very Good, Good, Average and Fail
respectively.
5. Write a program to print Fibonacci series using recursion.
6. Write a program that prints absolute value, square root and cube root of a number.
(import math package).
7. Write a program that finds the greatest of three given numbers using functions. Pass
three arguments.
8. Write a program to get a string made of the first 2 and last 2 characters from a given
string. If the string length is less than 2, return empty string.
9. Write a program that fetches data from a specified url and writes it in a file.
10. Write a program to find the resolution of an image.

2nd Semester MCA02007 Computer Networks Lab L-T-P 2


0-0-3 CREDITS

Simulate the following using any programming language

1. Error detection in a packet using Checksum


2. Simplex stop-and-wait protocol with positive acknowledgement and retransmission
3. Error detection using CRC-CCITT (16-bits)
4. Token-Bus medium access scheme
5. Selective repeat sliding window protocol
6. Congestion control using leaky bucket algorithm.
7. Find all pair shortest path between vertices using bellman-ford algorithm
8. Client/Server message passing, where a client1 send a character to a server, which on
receiving the character increment it to the next letter in the alphabet, and sends the character
to client2. The client2 on receiving the value from server, print it and all process terminates.
9. Client/Server message passing, where a client1 send a message that is structure containing
values of type character, integer and float to the server. The server should print the message
using the format “char value %c integer value %d float value %f” before passing it to the next
client. The server should change the value of each element of the structure before passing it to
client2. The client2 should print the structure values it receives from the server using the
above format.
2nd Semester MCA02008 Algorithm Design Lab L-T-P 2
0-0-3 CREDITS

LIST OF PROGRAMS:

1. Implementation of Stack and Queue – Operations and Applications.


2. Implementation of different searching algorithms.
3. Implementation of different sorting algorithms.
4. Problem solving using Divide and Conquer technique.
5. Problem solving using Dynamic Programming technique.
6. Problem solving using Greedy technique.
7. Problem solving using Backtracking technique.
8. Problem solving using disjoint-set data structure operations.
9. Problem solving using Branch and Bound technique.
10. Problem solving for the Maximum Flow problem.
11. Implementation of Graph Traversal algorithms – Breadth-First-Search (BFS) and Depth-
First-Search (DFS).
12. Implementation of Minimum Spanning Tree construction algorithms – Kruskal and Prim.
13. Implementation of different String-Matching algorithms.
14. Problem solving for the Shortest Path problem using different algorithms.
15. Problem solving using Approximation algorithms.
BIJU PATNAIK UNIVERSITY OF TECHNOLOGY,
ODISHA
ROURKELA

Curriculum and Syllabus


(3rd Sem & 4th Sem)

2 Yrs Master in Computer Application (MCA)


from the Admission Batch
2020-21
Third Semester
Theory
Sl. University Internal
Category Course Code Course Title L-T-P Credit
No. Marks Evaluation
1 PC MCA03001 Software Engineering 3-0-0 3 100 50
2 PC MCA03002 Compiler Design 3-0-0 3 100 50
3 NPTEL- MCA03003 Elective-I ( To be opted 3
MOOC (NM- ) from NPTEL MOOC - -
Pool)
NPTEL- MCA03004 Elective-II (To be opted 3
4 MOOC (NM- ) from NPTEL MOOC - -
Pool)
NPTEL- MCA03005 Elective-III 3
5 MOOC (NM- ) (To be opted from - -
NPTEL MOOC Pool)
Total Credit (Theory) 15
Total Marks 200 100
Practical
MCA03006 Software Engineering 100
1 PC 0-0-3 2
Lab
MCA03007 Seminar and Technical 100
2 PC 0-0-3 2
Writing
3 PC MCA03008 Web Programming Lab 0-0-3 2 100
Total Credit (Practical) 6
Total Semester Credit 21
Total Marks 300
3rd Semester MCA03001 Software Engineering L-T-P 3
3-0-0 CREDITS

Course Objectives

1. To discuss the software engineering discipline, its evolution, impact and emergence
of software engineering and explain the development and use of different software
life cycle models for real-life industrial applications.
2. To discuss different aspects of software project management, risk management and
configuration management and explain various requirement elicitation, analysis and
specification techniques.
3. To discuss various software design methodologies, the impact of cohesion and
coupling measures on the goodness of the software design.
4. To discuss the importance of practicing different coding standards, guidelines and
different testing strategies along with software reliability metrics and software quality
management techniques and standards.

Course Outcome

After reading this subject, students will be able to:

1. Choose a proper life cycle model for different real-life industrial projects, prepare the
SRS document, design the software using function-oriented approach (DFDs) and
object-oriented approach (UML diagrams), code it, and test the developed software
using different software testing strategies.
2. Understand the concepts of computer aided software engineering (CASE) and use
different CASE tools in the development, maintenance and reuse of software
systems.

Detailed Syllabus

Module I:Software development life cycle and Project Management: Software development
life cycle (SDLC) models such as Waterfall model, Iterative waterfall model, Prototyping
model, Evolutionary model, Spiral model, V model, RAD, Agile models etc., software project
management, project planning, metrics for project size estimation such as LOC and FP,
project estimation, COCOMO, Halstead’s software science, Staffing level estimation, project
scheduling, staffing, Organization and team structure, risk management, configuration
management. [11hours]

Module II:Requirements analysis and specification: Requirements gathering and analysis,


software requirements specification, formal systems specification. [3 hours]

Module III:Software Design: Outcome of a design process, cohesion and coupling, layered
arrangement of modules, approaches to software design, function-oriented software design:
overview of SA/SD methodology, structured analysis, DFDs, Data Dictionary, structured
design, detailed design, object-oriented software design: UML diagrams such as use case
diagram, class diagram, object diagram, sequence diagram, communication diagram, state
chart diagram, activity diagram, etc., unified process, OOD goodness criteria. [11 hours]
Module IV:Coding and Testing: Coding standards and guidelines, code review, software
documentation, unit testing, black-box testing, white-box testing, debugging, integration
testing, system testing, performance testing, regression testing. [8 hours]

Module 5:Software reliability and Quality management: Software reliability, Statistical


testing, software quality, software quality management system,ISO 9000, SEI CMM, PSP,
Six sigma, CASE Tools, Software maintenance, Software reuse. [7 hours]

Books

1. R. Mall, Fundamentals of Software Engineering, 5th Edition, PHI Learning, 2018.


2. R. S. Pressman, Software Engineering: A Practitioner's Approach, McGraw Hill
Publications, 2015.
3. I. Sommerville, Software Engineering, Pearson Education, 2015.
4. K. K. Aggarwal and Yogesh Singh, “Software Engineering”, New Age International
Publishing, 2007.
5. Pankaj Jalote, “An Integrated Approach to Software Engineering”, Narosa
Publication, 2019.
6. A. Behferooz and F. J. Hudson, Software Engineering Fundamentals, Oxford
University Press, 2014.
7. James Peter, W. Pedrycz, “Software Engineering: An Engineering Approach”, John
Wiley & Sons, 2000.
3rdSemester MCA03002 Compiler Design L-T-P 3
3-0-0 CREDITS
Module- I: (8 Periods)

Compiler Structure: Model of compilation, various phases of a compiler. Lexical analysis:


Interface with input parser and symbol table, token, lexeme and patterns, difficulties in
lexical analysis, input buffering. Specification of tokens. Regular grammar & language
definition.

Module- II: (12 Periods)

Syntax Analysis: Grammar, Parsing, ambiguity, top down parsing, top down parsing,
recursive descent parsing, transformation on the grammars, predictive parsing LL(1)
grammar, Nor LL(1) grammar, Bottom up parsing, operator precedence grammars, LR
parsers (SLR, CLR, LALR).

Module- III: (10 Periods)

Syntax directed definitions: Inherited and synthesized attributes, dependency graph,


evaluation order, bottom up and top down evaluation of attributes, L- and S-attributed
definitions. Type checking: type: type system, type expressions, structural and name
equivalence of types, type conversion. Run time system: storage organization, activation tree,
activation record, parameter passing symbol table, dynamic storage allocation.

Module- IV: (10 Periods)

Intermediate code generation: intermediate code representation techniques. Intermediate


Code generation for control flow, function call, Boolean expressions and procedure calls.
Code optimization: source of optimizations, optimization of basic blocks, loops, global
dataflow analysis, solution to iterative dataflow equations, code improving transformations,
dealing with aliases, data flow analysis of structured flow graphs.

Module- V: (10 Periods)

Code generation and instruction selection: Issues, basic blocks and flow graphs, register
allocation, code generation, DAG representation of programs, code generation from DAGS,
peep hole optimization. Symbol table management: Data structure for symbol table
organization. Error Handling and recovery.

Books:

1. K. C. Louden, “Compiler Construction, Principle and Practice”, Cengage Publication

2. Alfred V. Aho, Ravi Sethi, and Ullman, “Compilers Priciples, Techniques and Tools”,
Pearson Publication

3. V.Raghvan, “Principles of Compiler Design”, TMH Publication

4. Levine, Mason and Brown, “Lex & Yacc”, O’ Reilly Publication


3rd Semester MCA03003 Elective-I ( To be opted from L-T-P 3
NPTEL MOOC Pool) 3-0-0 CREDITS

3rd Semester MCA03004 Elective-II ( To be opted from L-T-P 3


NPTEL MOOC Pool) 3-0-0 CREDITS

3rd Semester MCA03005 Elective-III ( To be opted from L-T-P 3


NPTEL MOOC Pool) 3-0-0 CREDITS

NPTEL MOOC Pool(ForElective-I, Elective-II and Elective-III)

(Student must choose a Course of 8 weeks or more duration and must submit the
relevant certificate from NPTEL to the University through the NPTEL Local Chapter
before completion of the 4th Semester for the required credit transfer. No University
examinations will be conducted for these subjects. Faculty mentors are to be assigned
for guiding and monitoring these students through the corresponding NPTEL local
chapters )

Subject Code Subject Name


NM-1 Artificial Intelligence
NM-2 Soft Computing
NM-3 Computer Network security
NM-4 Information System Design
NM-5 Real-time System
NM-6 Mobile Computing
NM-7 Introduction to Data Science
NM-8 Machine Learning
NM-9 Internet-of-Things
NM-10 Big-Data Analytics
NM-11 Cyber Law and Security
NM-12 Intellectual Property Rights
NM-13 Embedded System
NM-14 Management Information System
NM-15 Digital Image Processing
NM-16 Data Mining
NM-17 Advanced Computer Networks
NM-18 Distributed Operating System
NM-19 Cloud Computing
NM-20 Simulation and Modelling
NM-21 Wireless Sensor Networks
NM-22 Software Project management
NM-23 Advance Database Management Systems
NM-24 Data Analytics
NM-25 Advanced Computer Architecture
NM-26 Intelligence Data Analysis
NM-27 Deep Learning
NM-28 E-Commerce and ERP
NM-29 Computer Graphics and Multimedia
NM-30 Computer Based Optimization techniques
3rd Semester MCA03006 Software Engineering Lab L-T-P 2
0-0-3 CREDITS

Course Objectives:

• To develop SRS document, design documents such as ER Diagrams, DFDs, UML


Diagrams etc. for some given software project.
• To develop efficient codes for some given software projects and test the developed
code using different tools.
• To implement different software project management techniques.
• To use different computer aided software engineering (CASE) tools.

Course Outcomes:

After reading this subject, students will be able to:

1. Develop SRS document, design documents such as ER Diagrams, DFDs, UML


Diagrams etc. for a given software project.
2. Develop efficient codes for a given software project using appropriate coding
standards and guidelines and test the developed code using different tools.
3. Implement different software project management techniques such as FP, COCOMO,
CPM, PERT etc. .
4. Know the use of different computer aided software engineering (CASE) tools in the
development, maintenance and reuse of software systems.

List of Experiments

1. Prepare the SRS document for a given problem, such as the below mentioned problems. You
should identify the appropriate requirements for the given problem; Draw the E-R Diagram using
any available tool, Draw the DFD for the given problem using any available tool, Draw the Use
Case diagram, Domain Models, and Class Diagram, Sequence Diagrams and Collaboration
Diagrams for each Use Case, State Chart Diagram and Activity Diagram, (if necessary) using any
available tool; Develop the corresponding software using any programming language such as Java,
Python, etc. with an interactive GUI and appropriate Database.

a) Develop software to automate the bookkeeping activities of a 5 star hotel


b) The local newspaper and magazine delivery agency wants to automate the various clerical
activities associated with its business. Develop a software for this.
c) A small automobile spare parts shop sells the spare parts for vehicles of several makes and
models. Each spare part is typically manufactured by several small industries. To streamline
the sales and supply ordering, the shop owner wants to automate the activities associated with
his business. Develop a software for this.
d) Develop a software for the automation of the dispensary of your college.
e) Develop a software for automating various activities of the Estate Office of your college.
f) Develop a word processing software with some limited number of facilities such as making
bold italics, underline, cut, copy and paste etc.
g) Develop a graphics editor software package, using which one can create / modify several
common types of graphics entities.
h) Develop a software for automating various activities of the departmental offices of your
college.
2. Estimate the size of a given software using Function Point Metric.
3. Write a C function for searching an integer value from a large sorted sequence of integer
values stored in array of size 100, using the binary search method. Build the control flow graph (CFG)
of this function using any compiler writing tool. Write a program in Java to determine its cyclomatic
complexity. Identify the linearly independent paths and generate the test cases using path coverage
based strategy.
4. To perform various testing operations using the available testing tools for a given system.
5. Write a program in Java to determine the number of defects still remaining after testing, using
error seeding methodology.
6. Draw the GANT chart for a given software project using any available tool such GanttProject.
7. Draw the network diagram, find out the critical path and critical activities, and
calculate the project duration for a given problem using CPM. You may use any available
tool for this such as Ganttproject, ProjectLibre etc.
8. Draw the network diagram, find out the critical path and critical activities, and
calculate the project duration for a given problem using PERT. You may use any available
tool for this such as Ganttproject, ProjectLibre etc.
3rd Semester MCA03008 Web Programming Lab L-T-P 2
0-0-3 CREDITS

1. Web design environment : HTML elements coding and testing


2. Implementation of frames and frame elements
3. Write a JavaScript to design a simple calculator to perform the following operations: sum,
product, difference and quotient.
4. Write a JavaScript that calculates the squares and cubes of the numbers from 0 to 10 and
outputs HTML text that displays the resulting values in an HTML table format.
5. Write a JavaScript code that displays text “TEXT-GROWING” with increasing font size in
the interval of 100ms in RED COLOR, when the font size reaches 50pt it displays “TEXT-
SHRINKING” in BLUE color. Then the font size decreases to 5pt.
6. Develop and demonstrate a HTML file that includes JavaScript script that uses functions for
the following problems: a. Parameter: A string Output: The position in the string of the left-
most vowel b. Parameter: A number Output: The number with its digits in the reverse order
7. Design an XML document to store information about a student in an engineering college
affiliated to BPUT. The information must include USN, Name, Name of the College, Brach,
Year of Joining, and e-mail id. Make up sample data for 3 students. Create a CSS style sheet
and use it to display the document.
8. Write a PHP program to keep track of the number of visitors visiting the web page and to
display this count of visitors, with proper headings.
9. Write a PHP program to display a digital clock which displays the current time of the server.
10. Write the PHP programs to do the following:
a. Implement simple calculator operations.
b. Find the transpose of a matrix.
c. Multiplication of two matrices.
d. Addition of two matrices.
11. Write a PHP program named states that declares a variable states with value "Mississippi
Alabama Texas Massachusetts Kansas". write a PHP program that does the following:
a. Search for a word in variable states that ends in xas. Store this word in element 0 of a list
named statesList.
b. Search for a word in states that begins with k and ends in s. Perform a caseinsensitive
comparison. [Note: Passing re.Ias a second parameter to method compile performs a
caseinsensitive comparison.] Store this word in element1 of statesList.
c. Search for a word in states that begins with M and ends in s. Store this word in element 2
of the list.
d. Search for a word in states that ends in a. Store this word in element 3 of the list
12. Write a PHP program to sort the student records which are stored in the database using
selection sort. 11. Web Technology Lab with Mini Project
Fourth Semester
Theory
Sl. University Internal
Category Course Code Course Title L-T-P Credit
No. Marks Evaluation
Practical
MCA04001 Comprehensive Viva- 100
1 PC 0-0-2 2
Voice
2 PC MCA04002 Internship/ Major Project 0-0-8 15 500
Total Credit (Practical) 17
Total Semester Credit 17
Total Marks 600

You might also like