You are on page 1of 85

Curriculum and Syllabus

For

BACHELOR OF COMPUTER APPLICATION


(BCA)

Under

Choice Based Credit System (CBCS)


[With effect from the Session 2017-18]

USHA MARTIN UNIVERSITY


(Recognized by UGC under Sec. 2(f) of UGC Act 1956)
Ranchi, Jharkhand

1
Semester Wise Distribution of Credits and Marks

Sl Course Code Title of the Lecture Total End Term Continuous Assessment Total
No. Course Hours/ Credits Examinat Marks
Weeks ion
L T P Mid Term Internal
Evaluation Assessment
Semester I
1 BCA-CC101 Programming 3 0 0 03 60 25 15 100
Fundamentals
using C
2 BCA-CP101 Programming 0 0 4 02 40 60 100
Fundamentals
using C Lab
3 BCA-CC102 Discrete 3 1 0 04 60 25 15 100
Structures
4 BCA-AECC – I English 2 0 0 02 60 25 15 100
Communicatio
n
5 General 5 1 0 06 60 25 15 100
Elective
Credits- Sem I 17 Total Marks - i 500
Semester II
1 BCA-CC201 Programming 3 0 0 03 60 25 15 100
in JAVA
2 BCA-CP201 Programming 0 0 4 02 40 60 100
in JAVA Lab
3 BCA-CC202 Data Structures 3 0 0 03 60 25 15 100
4 BCA-CP202 Data Structures 0 0 4 02 40 60 100
Lab
5 BCA-AECC – II Environmental 2 0 0 02 60 25 15 100
Science
6 General 5 1 0 06 60 25 15 100
Elective List
Credits- Sem II 18 Total Marks - ii 600
Semester III
1 BCA-CC301 Computer 3 0 0 03 60 25 15 100
System
Architecture
2 BCA-CP301 Computer 0 0 4 02 40 60 100
System
Architecture
Lab
3 BCA-CC302 Operating 3 0 0 03 60 25 15 100
System
4 BCA-CP302 Operating 0 0 4 02 40 60 100
System Lab
5 BCA-CC303 Computer 3 0 0 03 60 25 15 100
Networks

2
6 BCA-CP303 Computer 0 0 4 02 40 60 100
Networks Lab
7 Skill 1 0 0 01 60 25 15 100
Enhancement
Course List
8 Skill 0 0 2 01 40 60 100
Enhancement
Course Lab
List
9 General 5 1 0 06 60 25 15 100
Elective List
Credits- Sem III 23 Total Marks - iii 900
Semester IV
1 BCA-CC401 Design and 3 0 0 03 60 25 15 100
Analysis of
Algorithms
2 BCA-CP401 Design and 0 0 4 02 40 60 100
Analysis of
Algorithms Lab
3 BCA-CC402 Software 3 0 0 03 60 25 15 100
Engineering
4 BCA-CP402 Software 0 0 4 02 40 60 100
Engineering
Lab
5 BCA-CC403 Database 3 0 0 03 60 25 15 100
Management
Systems
6 BCA-CP403 Database 0 0 4 02 40 60 100
Management
Systems Lab
7 Skill 1 0 0 01 60 25 15 100
Enhancement
Course List
8 Skill 0 0 2 01 40 60 100
Enhancement
Course Lab
List
9 General 5 1 0 06 60 25 15 100
Elective List
Credits- Sem IV 23 Total Marks - iv 900
Semester V
1 BCA-CC501 Internet 3 0 0 03 60 25 15 100
Technologies
2 BCA-CP501 Internet 0 0 4 02 40 60 100
Technologies
Lab
3 BCA-CC502 Artificial 3 0 0 03 60 25 15 100
Intelligence
4 BCA-CP502 Artificial 0 0 4 02 40 60 100
Intelligence
Lab
5 Discipline 3 0 0 03 60 25 15 100
Specific
Elective List
6 Discipline 0 0 4 02 40 60 100

3
Specific
Elective Lab
List
7 Discipline 3 0 0 03 60 25 15 100
Specific
Elective List
8 Discipline 0 0 4 02 40 60 100
Specific
Elective Lab
List
Credits- Sem V 20 Total Marks - v 800
Semester VI
1 BCA-CC601 Theory of 3 1 0 04 60 25 15 100
Computation
2 BCA-CC602 Computer 3 0 0 03 60 25 15 100
Graphics
3 BCA-CP602 Computer 0 0 4 02 40 60 100
Graphics Lab
4 Discipline 3 0 0 03 60 25 15 100
Specific
Elective List
5 Discipline 0 0 4 02 40 60 100
Specific
Elective Lab
List
6 BC-EC015 Project/Dissert 0 0 0 06 (Project Guide: 30 100
ation External Examiner: 40
Internal faculty members: 30)
7 BCA-EP015 Industrial Tour 0 0 0 02 40 60 100
and Reporting
Credits- Sem VI 22 Total Marks - vi 700
Total Credits 123 Total Marks 4400
(Sem I+Sem II+Sem III+Sem IV+Sem V+Sem VI) (i + ii + iii + iv + v + vi)

Core Courses (CC): (Total Credit: 04/05 each where, 03 credits Lecture and 01 credits
Tutorial OR 03 credits Lecture and 02 credits Practical)
1. BCA-CC101 Programming Fundamentals using C (3)
2. BCA-CP101 Programming Fundamentals using C Lab (2)
3. BCA-CC102 Discrete Structures (4)
4. BCA-CC201 Programming in JAVA (3)
5. BCA-CP201 Programming in JAVA Lab (2)
6. BCA-CC202 Data Structures (3)
7. BCA-CP202 Data Structures Lab (2)
8. BCA-CC301 Computer System Architecture (3)
9. BCA-CP301 Computer System Architecture Lab (2)
10. BCA-CC302 Operating System (3)
11. BCA-CP302 Operating System Lab (2)
12. BCA-CC303 Computer Network (3)
13. BCA-CP303 Computer Network Lab (2)

4
14. BCA-CC401 Design and Analysis of Algorithms (3)
15. BCA-CP401 Design and Analysis of Algorithms Lab (2)
16. BCA-CC402 Software Engineering (3)
17. BCA-CP402 Software Engineering Lab (2)
18. BCA-CC403 Database Management Systems (3)
19. BCA-CP403 Database Management Systems Lab (2)
20. BCA-CC501 Internet Technologies (3)
21. BCA-CP501 Internet Technologies Lab (2)
22. BCA-CC502 Artificial Intelligence (3)
23. BCA-CP502 Artificial Intelligence Lab (2)
24. BCA-CC601 Theory of Computation (4)
25. BCA-CC602 Computer Graphics (3)
26. BCA-CP602 Computer Graphics Lab (2)

Discipline Specific Elective (DSE) Courses: (Credit: 05 each where, 03 credits Lecture and 02
credits Practical) (4 papers to be selected)
1. BCA-EC001 Information Security (3)
2. BCA-EP001 Information Security Lab (2)
3. BCA-EC002 Network Programming (3)
4. BCA-EP002 Network Programming Lab (2)
5. BCA-EC003 Microprocessor (3)
6. BCA-EP003 Microprocessor Lab (2)
7. BCA-EC004 Computational Linguistics (3)
8. BCA-EP004 Computational Linguistics Lab (2)
9. BCA-EC005 Digital Image Processing (3)
10. BCA-EP005 Digital Image Processing Lab (2)
11. BCA-EC006 Machine Learning (3)
12. BCA-EP006 Machine Learning Lab (2)
13. BCA-EC007 Introduction to Data Sciences (3)
14. BCA-EP007 Introduction to Data Sciences Lab (2)
15. BCA-EC008 Cloud Computing (3)
16. BCA-EP008 Cloud Computing Lab (2)
17. BCA-EC009 Numerical Methods (3)
18. BCA-EP009 Numerical Methods Lab (2)
19. BCA-EC010 System Programming (3)
20. BCA-EP010 System Programming Lab (2)
21. BCA-EC011 Combinatorial Optimization (3)
22. BCA-EP011 Combinatorial Optimization Lab (2)
23. BCA-EC012 Data Mining (3)
24. BCA-EP012 Data Mining Lab (2)
25. BCA-EC013 Big Data Analytics (3)
26. BCA-EP013 Big Data Analytics Lab(2)
27. BCA-EC014 Soft Computing (3)
28. BCA-EP014 Soft Computing Lab(2)

5
General Elective (GE) Courses: (Credit: 06 each where, 04 credits Lecture and 02 credits
Practical OR 05 credits Lecture and 01 credits Tutorial) (4 papers to be selected)
1. BCA-GE001- Mathematics-I (6)
2. BCA-GE002- Mathematics-II (6)
3. BCA-GE003- Statistics (6)
4. BCA-GE004- Operational Research (6)
5. BCA-GE005- Physics (4)
6. BCA-GE105-Physics Lab (2)
7. BCA-GE006- E-Commerce (6)
8. BCA-GE007- Electronics (4)
9. BCA-GE107-Electronics Lab (2)
10. BCA-GE008- Economics (6)

Skill Enhancement Courses (SEC): (Credit: 02 each where, 01 credits Lecture and 01 credits
Practical) (2 papers to be selected)
1. BCA-SEC001- HTML Programming (1)
2. BCA-SEP001- HTML Programming Lab (1)
3. BCA-SEC002- Programming in Python (1)
4. BCA-SEP002- Programming in Python Lab(1)
5. BCA-SEC003- Android Programming (1)
6. BCA-SEP003- Android Programming Lab (1)
7. BCA-SEC004- Programming in MATLAB (1)
8. BCA-SEP004- Programming in MATLAB Lab (1)
9. BCA-SEC005- XML Programming (1)
10. BCA-SEP005- XML Programming Lab (1)
11. BCA-SEC006- Oracle (SQL/PL-SQL) (1)
12. BCA-SEP006- Oracle (SQL/PL-SQL) Lab (1)
13. BCA-SEC007- PHP Programming (1)
14. BCA-SEP007- PHP Programming Lab (1)
15. BCA-SEC008- LINUX/UNIX Programming (1)
16. BCA-SEP008- LINUX/UNIX Programming Lab (1)
17. BCA-SEC009- R Programming (1)
18. BCA-SEP009- R Programming Lab (1)
19. BCA-SEC010- Software Testing (1)
20. BCA-SEP010- Software Testing Lab (1)

6
DETAILED SYLLABUS

7
SEMESTER – I

8
BCA-CC101 Programming Fundamentals using C Cr 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Able to have fundamental knowledge on basics of computers hardware and number systems.
CO2. Able to understand the basic terminology used in computer programming
CO3. Able to write, compile and debug programs in C language.
CO4. Able to use different data types in a computer program.
CO5. Able to design programs involving decision structures, loops and functions.
CO6. Able to understand the dynamics of memory by the use of pointers.
CO7. Able to use different data structures and create/update basic data files.

Introduction to C
Introduction to computer programming. Basic structure of a C program. Writing a C program. The
compilation and execution process of C program. Building Blocks of C Programs (Keywords,
Identifiers, Constants, String, Special Symbols, and Operators).

Data Types, Variables, Constants, Operators and Basic I/O


Data Types in C. Variables, Modifiers, Escape Sequences, Expressions and Operators (Arithmetic,
Logical, Assignment, Relational, Bitwise, Special Operators) Un Formatted Input(Reading of
single character using the functions getc() and getchar()) and Output(Writing of single
character using the functions putc()and putchar() ). Formatted Input(Reading of different data
type values using the function scanf() ) and Output(Writing of different data type values using
the function printf() ).

Expressions, Conditional Statements and Iterative Statements


Expressions, conditional statements and iterative statements. Decision Making and Branching
using (Unconditional Branching using goto and Conditional: Two Way Branching using if, if-
else, nested if, it-else if ladder and Multi Way Branching using Switch Case). Decision Making and
Looping using while(), do-while() and for() Looping construct.

Functions and Arrays


Function and its need. Implementation of function. Type of functions. Return type of functions.
Type of parameters (to be passed) to a function. Function with variable arguments. Array and its
utility. Creating and using one / multi dimensional array of primitive data types (character, integer
and floating point). Initialization of array elements (static and dynamic initialization).

Pointers and References in C


Pointer and its utility. Declaration of pointer and dereferencing pointer to primitive type variables.
Pointer to pointer. Pointer and structure. Pointer and union. Passing pointer as argument to a
function. Returning pointer from function. Passing array as argument to a function.

Derived Data Types (Structures and Unions)


Limitation of array. Need of derived data types (structure and union). Basic difference between
implementation of structure and union. Declaration of structure and union. Accessing data members
of structure and union. Initialization of data members of structure and union. Passing and returning

9
structure to / from the function. Nesting of structure. Structure with union as a member. Union with
structure as a member.

Memory Allocation in C
Differentiating between static and dynamic memory allocation, use of malloc(), calloc() and free()
functions, Storage class in C.

Text Book and References:


1. Herbtz Schildt, “C : The Complete Reference”, Fourth Edition, McGraw Hill.
2. E. Balaguruswamy, “Object Oriented Programming with C”, Tata McGraw-Hill Education,
3. Yashwant Kanetkar, “Let Us C”, 5th Edition, BPB Publication, 2015.

BCA-CP101 Programming Fundamentals using C Lab Cr – 2

1. WAP to print the sum and product of digits of an integer.


2. WAP to reverse a number.
3. WAP to compute the sum of the first n terms of the following series
S = 1+1/2+1/3+1/4+……
4. WAP to compute the sum of the first n terms of the following series
S =1-2+3-4+5…………….
5. Write a function that checks whether a given string is Palindrome or not. Use this function to
find whether the string entered by user is Palindrome or not.
6. Write a function to find whether a given no. is prime or not. Use the same to generate the prime
numbers less than 100.
7. WAP to compute the factors of a given number.
8. Write a macro that swaps two numbers. WAP to use it.
9. WAP to print a triangle of stars as follows (take number of lines from user):
*
***
*****
*******
*********
10. WAP to perform following actions on an array entered by the user:
i) Print the even-valued elements
ii) Print the odd-valued elements
iii) Calculate and print the sum and average of the elements of array
iv) Print the maximum and minimum element of array
v) Remove the duplicates from the array
vi) Print the array in reverse order
The program should present a menu to the user and ask for one of the options. The menu should
also include options to re-enter array and to quit the program.
11. WAP that prints a table indicating the number of occurrences of each alphabet in the text
entered as command line arguments.
12. Write a program that swaps two numbers using pointers.

10
13. Write a program in which a function is passed address of two variables and then alter its
contents.
14. Write a program which takes the radius of a circle as input from the user, passes it to another
function that computes the area and the circumference of the circle and displays the value of
area and circumference from the main() function.
15. Write a program to find sum of n elements entered by the user. To write this program, allocate
memory dynamically using malloc() / calloc() functions or new operator.
16. Write a menu driven program to perform following operations on strings:
a) Show address of each character in string
b) Concatenate two strings without using strcat function.
c) Concatenate two strings using strcat function.
d) Compare two strings
e) Calculate length of the string (use pointers)
f) Convert all lowercase characters to uppercase
g) Convert all uppercase characters to lowercase
h) Calculate number of vowels
i) Reverse the string
17. Given two ordered arrays of integers, write a program to merge the two-arrays to get an ordered
array.
18. WAP to display Fibonacci series (i)using recursion, (ii) using iteration
19. WAP to calculate Factorial of a number (i)using recursion, (ii) using iteration
20. WAP to calculate GCD of two numbers (i) with recursion (ii) without recursion.

BCA-CC102 Discrete Structures Cr – 4

Course Outcome: At the end of the course, the students will be able to:

CO1. Be familiar with constructing proofs.


CO2. Be familiar with elementary formal logic.
CO3. Be familiar with set algebra.
CO4. Be familiar with combinatorial analysis.
CO5. Be familiar with recurrence relations.
CO6. Be familiar with graphs and trees, relations and functions, and finite automata.
CO7. Be exposed to the strategies for compare relative efficiency of algorithms.

Introduction
Sets - finite and Infinite sets, uncountable Infinite Sets; functions, relations, Properties of Binary
Relations, Closure, Partial Ordering Relations; counting – Pigeonhole Principle, Permutation and
Combination; Mathematical Induction, Principle of Inclusion and Exclusion

Recurrences
Recurrence Relations, Substitution Method, Recurrence Trees, Master Theorem.

Graph Theory
Basic Terminology, Models and Types, multigraphs and weighted graphs, Graph Representation,
Graph Isomorphism, Connectivity, Euler and Hamiltonian Paths and Circuits, Planar Graphs, Graph
Coloring, Trees, Basic Terminology and properties of Trees, Introduction to Spanning Trees.

11
Propositional Logic
Logical Connectives, Well-formed Formulas, Tautologies, Equivalences, Inference Theory.

Predicate Logic
Free and Bound Variables, Rule of CP, Indirect Method of Proof.

Text Book and References:

1. K.H. Rosen, Discrete Mathematics and Its Applications, Sixth Edition, McGrawHill
Education, 2012.
2. C.L. Liu & Mahopatra, Elements of Discrete mathematics, 2nd Sub Edition, Tata McGraw
Hill, 1985.
3. M. O. Albertson and J. P. Hutchinson, Discrete Mathematics with Algorithms, Johnwiley
Publication, 1988.
4. J. L. Hein, Discrete Structures, Logic, and Computability, Jones and Bartlett Publishers, 3rd
Edition, 2009.
5. D.J. Hunter, Essentials of Discrete Mathematics, Jones and Bartlett Publishers, 2008.

BCA-AECC-I English Communication Cr – 2

Course Outcome: At the end of the course, the students will be able to:

CO1. To understand the concept, process and importance of communication.


CO2. To gain knowledge of media of communication.
CO3. To develop skills of effective communication - both written and oral.
CO4. To help students to acquaint with application of communication skills in their respective
professional world.

Preamble: The purpose of this course is to introduce students to the theory, fundamentals and tools
of communication and to develop in them vital communication skills which should be integral to
personal, social and professional interactions. One of the critical links among human beings and an
important thread that binds society together is the ability to share thoughts, emotions and ideas
through various means of communication: both verbal and non-verbal. In the context of rapid
globalization and increasing recognition of social and cultural pluralities, the significance of clear
and effective communication has substantially enhanced. The present course hopes to address some
of these aspects through an interactive mode of teaching-learning process and by focusing on
various dimensions of communication skills. Some of these are: Language of communication,
various speaking skills such as personal communication, social interactions and communication in
professional situations such as interviews, group discussions and office environments, important
reading skills as well as writing skills such as report writing, notetaking etc. While, to an extent, the
art of communication is natural to all living beings, in today‟s world of complexities, it has also
acquired some elements of science. It is hoped that after studying this course, students will find a
difference in their personal and professional interactions. The recommended readings given at the
end are only suggestive; the students and teachers have the freedom to consult other materials on
various units/topics given below. Similarly, the questions in the examination will be aimed towards
assessing the skills learnt by the students rather than the textual content of the recommended books.

Introduction
Definition
Nature
12
Process
Theory of Communication
Modes of Communication

Language of Communication:
Types- Verbal and Non-verbal
(Spoken and Written)
Personal, Social and Business
Barriers and Strategies
Intra-personal, Inter-personal and Group communication

Speaking Skills:
Monologue
Dialogue
Group Discussion
Effective Communication/ Mis- Communication
Interview
Public Speech

Reading and Understanding


Close Reading
Comprehension
Summary Paraphrasing
Analysis and Interpretation
Translation (from Indian language to English and vice-versa)
Literary/Knowledge Texts

Writing Skills
Documenting
Report Writing
Making notes
Letter writing

Text Book and References:


1. Fluency in English - Part II, Oxford University Press, 2006.
2. Business English, Pearson, 2008.
3. Language, Literature and Creativity, Orient Blackswan, 2013.
4. Dr. Gauri Mishra, Dr Ranjana Kaul, Dr Brati Biswas, Language through Literature
(forthcoming) ed.
5. Rajendra Pal and J. S. Korlhalli, Essentials of Business Communication, Sultan Chand & Sons,
New Delhi.

General Elective Cr – 6

Any one paper can be selected from the General Elective List.

13
SEMESTER – II

14
BCA-CC201 Programming in JAVA Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Design good web pages using different tags, tables, forms, frames and style sheets supported
by HTML.
CO2. Implement, compile, test and run Java programs, comprising more than one class, to address
a particular software problem.
CO3. Demonstrate the ability to employ various types of selection statements and iteration
statements in a Java program.
CO4. Be able to leverage the object-oriented features of Java language using abstract class and
interface.
CO5. Be able to handle errors in the program using exception handling techniques of Java.
CO6. Design applets as per the requirements with event handling facility.

Introduction to Java
Features of Java, Java Program Structure, Understanding the semantic and syntax differences
between C++ and Java, Java Tokens, Java Virtual Machine (Bytecodes), Compiling and
Executing a Java Program, Variables, Constants, Data Types, Scope of Variables, Type
Casting, Operators, Expressions, Decision Making and Branching, Looping (While, Do, For,
Jumps in Loops, Labelled Loops).

Arrays, Strings and I/O


Creating & Using Arrays (One Dimension and Multi-dimensional), Referencing Arrays
Dynamically, Java Strings: The Java String class, Methods of String class, Manipulating Strings,
String Buffer Classes, Methods of String Buffer class, String Tokenizer class, the Scanner class.

Classes, Objects and Methods


Class, Object, Constructors, Method Overloading, Inheritance, Method Overriding, This and
Super, Final Variables and Methods, Final Classes, Finalize method, Abstract Methods and Classes,
Visibility Control

Interfaces and Packages


Defining, Extending and Implementing Interfaces, Java API packages, Using Standard Java
Packages (util, lang, io, net), Creating a package, Accessing and using a Package.

Multithreading and Exception Handling


Creating Threads, Extending the Thread Class, Stopping and Blocking a Thread, Life Cycle
of a Thread, Thread Priority, Thread Synchronization, Runnable Interface Types of Errors,
Exceptions, Built-in exceptions, Exception handling code (Try, Catch and Finally), Throwing our
own Exception.

Applets and AWT Programming


Applet : Java Applets, Applet Life Cycle, Passing Parameters to Applets, Applet Tag,
Embedding applets to HTML file, Running the applet
AWT(Abstract Window Toolkit) : Introduction to AWT, Graphics classes and its methods,
Drawing Lines, rectangles, circles, ellipses and arcs using Graphics Class, Color class,
ActionListener, ItemListener, KeyListener and MouseListener Interfaces, Component Class,

15
Container Class, Button, Label, Checkbox, Radio Buttons, List Box, Choice Box, Text Area,
Border Layout and Grid Layout
Swing : Introduction to Swing, Difference between AWT and Swing, Basics of JOptionPane,
JApplet, JButton, JFrame, under javax.swing package

Text Book and References:


1. E. Balaguruswamy, Programming with Java, 5th Edition, McGraw Hill, 2014.
2. Herbert Schildt, JAVA The Complete Reference, 8th Edition, Mcgraw Higher Education, 2011
3. Cay S. Horstmann, Gary Corness, Core Java Volume II - Advanced Features, 9th Edition,
Pearson Education, 2006.
4. Ken Arnold, James Gosling, David Homes, The Java Programming Language, Addison-Wesley
Professional, 4th Edition, 2005.

BCA-CP201 Programming in JAVA Lab Cr – 2

1. To find the sum of any number of integers entered as command line arguments
2. To find the factorial of a given number
3. To learn use of single dimensional array by defining the array dynamically.
4. To learn use of .lenth in case of a two dimensional array
5. To convert a decimal to binary number
6. To check if a number is prime or not, by taking the number as input from the keyboard
7. To find the sum of any number of integers interactively, i.e., entering every number from the
keyboard, whereas the total number of integers is given as a command line argument
8. Write a program that show working of different functions of String and StringBufferclasss like
setCharAt(, setLength(), append(), insert(), concat()and equals().
9. Write a program to create a ―distance‖ class with methods where distance is computed in terms
of feet and inches, how to create objects of a class and to see the use of this pointer
10. Modify the ―distance‖ class by creating constructor for assigning values (feet and inches) to the
distance object. Create another object and assign second object as reference variable to another
object reference variable. Further create a third object which is a clone of the first object.
11. Write a program to show that during function overloading, if no matching argument is found,
then java will apply automatic type conversions(from lower to higher data type)
12. Write a program to show the difference between public and private access specifiers. The
program should also show that primitive data types are passed by value and objects are passed
by reference and to learn use of final keyword
13. Write a program to show the use of static functions and to pass variable length arguments in a
function.
14. Write a program to demonstrate the concept of boxing and unboxing.
15. Create a multi-file program where in one file a string message is taken as input from the user
and the function to display the message on the screen is given in another file (make use of
Scanner package in this program).
16. Write a program to create a multilevel package and also creates a reusable class to generate
Fibonacci series, where the function to generate fibonacii series is given in a different file
belonging to the same package.
17. Write a program that creates illustrates different levels of protection in classes/subclasses
belonging to same package or different packages
16
18. Write a program ―DivideByZero‖ that takes two numbers a and b as input, computes a/b, and
invokes Arithmetic Exception to generate a message when the denominator is zero.
19. Write a program to show the use of nested try statements that emphasizes the sequence of
checking for catch handler statements.
20. Write a program to create your own exception types to handle situation specific to your
application (Hint: Define a subclass of Exception which itself is a subclass of Throwable).
21. Write a program to demonstrate priorities among multiple threads.
22. Write a program to demonstrate multithread communication by implementing synchronization
among threads (Hint: you can implement a simple producer and consumer problem).
23. Write a program to create URL object, create a URLConnection using the openConnection()
method and then use it examine the different components of the URLand content.
24. Write a program to implement a simple datagram client and server in which a message that is
typed into the server window is sent to the client side where it is displayed.
25. Write a program that creates a Banner and then creates a thread to scrolls the message in the
banner from left to right across the applet‘s window.
26. Write a program to get the URL/location of code (i.e. java code) and document (i.e. html file).
27. Write a program to demonstrate different mouse handling events like mouseClicked(),
mouseEntered(), mouseExited(), mousePressed, mouseReleased() and mouseDragged().
28. Write a program to demonstrate different keyboard handling events.
29. Write a program to generate a window without an applet window using main() function.
30. Write a program to demonstrate the use of push buttons.

BCA-CC202 Data Structures Cr – 3

Course Outcome: At the end of the course, the students will be able to:
CO1. To impart the basic concepts of data structures and algorithms.
CO2. To understand concepts about searching and sorting techniques.
CO3. To understand basic concepts about stacks, queues, lists, trees and graphs.
CO4. To understand about writing algorithms and step by step approach in solving
problems with the help of fundamental data structures

Introduction and Arrays


Basic Terminology, Elementary Data Organization, Algorithm, Efficiency of an algorithm, Time
and Space Complexity, Array , Definition, Single and Multidimensional Arrays, Memory
Representation of Multi-dimensional Arrays: Row Major Order and Column Major Order.

Linked lists
Array Implementation and Dynamic Implementation of Singly Linked Lists, Doubly Linked List,
Circularly Linked List, Operations on a Linked List. Insertion, Deletion, Traversal, Polynomial
Representation and Addition.

Stacks
Abstract Data Type, Primitive Stack operations: Push & Pop, Array and Linked
Implementation of Stack in C, Multiple Stack in an Array, Application of stack: Prefix and Postfix
Expressions, Evaluation of Postfix Expression.

17
Queues
Operations on Queue: Create, Add, Delete, Full and Empty, Circular Queues, Array and linked
implementation of Queues in C, De-queue and Priority Queue.

Recursion
Principles of Recursion, Recursive Definition of Simple Problems and their Implementation,
Type of Recursion, Tower of Hanoi Problem, Tail-Recursion, Limitations of Recursion, Recursion
versus Iteration.

Trees
Basic Terminology, Binary Trees, Binary Tree Representation: Array Representation and Dynamic
Representation, Complete Binary Tree, Binary Search Tree, Algebraic Expressions, Extended
Binary Trees, Tree Traversal Algorithms: In-order, Pre-order and Post-order, Threaded Binary
Trees, Traversing Threaded Binary Trees.

Searching and Sorting


Sequential Search, Binary Search, Comparison of Linear Search and Binary Search, Bubble Sort,
Selection Sort, Insertion Sort, Shell Sort, Hashing: Perfect Hash Function, Type of Hash Function.

Text Book and References:


1. Y. Langsam, M. J. Augenstein, A. M. Tenenbaum, Data structure Using C & C++, 1st
edition, PEARSON, 1998.
2. Aho, A.V., Hopcraft, and Ullman, J.E.; Data Structures and Algorithms, Addison Weseley.
3. Tanhenbaum, A.M., and Augenstein, M.J.: Data Structures with C, Prentice-Hall, and
International.
4. S. Lipschutz, Data Structures, Tata McGraw-Hill Education Pvt. Ltd, 5th edition, 2014.

BCA-CP202 Data Structures Lab Cr – 2

1. Perform the following operations on Single Linked List.


a) Appending a node
b) Inserting a node anywhere in middle of a Linked List.
c) Display all the nodes in the list.
d) Delete a node from any position in the list.
e) Reverse the list
f) Find the length of the list.
g) Search a number in the list.
2. Perform the above operations using a Double Linked List.
3. Perform the following Stack operations using Array implementation:
a) Push( )
b) Pop( )
c) Peek ( )
d) Display( )
4. Perform the above Stack operations using Single Linked List.
5. Perform Queues operations using Circular Array implementation. Use Templates.
6. Create and perform different operations on Double-ended Queues using Linked List
implementation.

18
7. Write a program to search an element from a list. Give user the option to perform Linear
orBinary search.
8. WAP to sort a list of elements. Give user the option to perform sortingusing Insertion sort,
Bubble sort or Selection sort.
9. Implement Circular Linked List using templates. Include functions for insertion, deletionand
search of a number, reverse the list.
10. Perform Queue operations for enqueue and dequeue of elements using static memory
location. Also display the elements of the Queue.
11. Perform Queue operations for enqueue and dequeue of elements using dynamic memory
allocation i.e. by using Linked List. Also display the elements of the Queue.
12. Perform Queue operations using Circular Array implementation.
13. WAP to calculate factorial and to compute the factors of a given number using:
a) Recursion
b) Iteration
14. WAP to display Fibonacci series using:
c) Recursion
d) Iteration
15. WAP to scan a polynomial using linked list and add two polynomial.
16. WAP to create a Binary Search Tree and include following operations in tree:
a) Insertion
b) Deletion by copying
c) Deletion by Merging
d) Search a no. in BST
e) Display its preorder, postorder and inorder traversals Recursively
f) Display its preorder, postorder and inorder traversals Iteratively
g) Display its level-by-level traversals
h) Count the non-leaf nodes and leaf nodes
i) Display height of tree
j) Create a mirror image of tree
k) Check whether two BSTs are equal or not
17. WAP to convert the Sparse Matrix into non-zero form and vice-versa.
18. WAP to reverse the order of the elements in the stack using additional stack.
19. WAP to reverse the order of the elements in the stack using additional Queue.
20. WAP to implement various operations on AVL Tree.

BCA-AECC-II Environmental Science Cr – 2

Course Outcome: At the end of the course, the students will be able to:
CO1. have clear understanding what is Environment,
CO2. how Sustainable Development is important for existence of life.
CO3. to identify pollution hazards, its causes and control.
CO4. how forest and water resources play role in country economy and how to preserve them.

Introduction to environmental studies


Multidisciplinary nature of environmental studies, Scope and importance, Need for public
awareness.

Ecosystems - Jharkhand perspective


Concept of an ecosystem. Structure and function of an ecosystem. Energy flow in an ecosystem:
food chains, food webs and ecological pyramids. Ecological succession.
19
Natural Resources: Renewable and Non-renewable
Land resources and landuse change: Land as a resource, land degradation, landslides (natural &
man-induced), soil erosion and desertification. Forests & forest resources: Use and over-
exploitation, deforestation, case studies. Impacts of deforestation, mining, dam building on
environment, forests, biodiversity and tribal populations. Resettlement and rehabilitation of project
affected persons; problems and concerns, case studies. Water resources: Use and over-exploitation
of surface and ground water, floods, drought, conflicts over water; Food resources: World food
problems, changes caused by agriculture and overgrazing, effects of modern agriculture, fertilizer-
pesticide problems, water logging, salinity, case studies; Energy resources: Renewable and non
renewable energy sources, use of alternate energy sources, growing energy needs, case studies.

Levels of biological diversity: genetic, species and ecosystem diversity


Biogeographic zones of India; Ecosystem and biodiversity services: Ecological, economic, social,
ethical, aesthetic and Informational values; Biodiversity patterns and global biodiversity hot spots;
India as a mega-biodiversity nation; Endangered and endemic species of India; Threats to
biodiversity: Habitat loss, poaching of wildlife, man-wildlife conflicts, biological invasions.
Conservation of biodiversity: In-situ and Ex-situ conservation of biodiversity.

What is environmental pollution and its types? Causes, effects and control measures of:
a. Air pollution
b. Water pollution – freshwater and marine
c. Soil pollution
d. Noise pollution
e. Thermal pollution
f. Nuclear hazards and human health risks
g. Solid waste management: Control measures of urban and industrial waste.
h. Role of an individual in prevention of pollution.

Concept of sustainability and sustainable development.

a. Water conservation & watershed management.


b. Climate change, global warming, acid rain, ozone layer depletion.
c. Disaster management: floods, earthquake, cyclones and landslides.
d. Wasteland reclamation.
e. Environment Protection Act
f. Issues involved in enforcement of environmental legislation.
g. Environment: rights and duties.
h. Population growth, demographic variation among nations; Environment, human health and
welfare; infectious and lifestyle diseases in contemporary world.

Text Books & References:


1. Bharucha, E. 2003, Textbook for Environmental Studies, University Grants Commission,
New Delhi and Bharati Vidyapeeth Institute of Environmental Education and Research,
Pune. 361
2. Carson, Rachel. 1962. Silent Spring (Boston: Houghton Mifflin, 1962), Mariner Books,
2002
3. Economy, Elizabeth. 2010. The River Runs Black: The Environmental Challenge to China's
Future.
4. Gadgil, M. & Ramachandra, G. 1993. This fissured land: an ecological history of India.
Univ of California Press.

20
General Elective Cr – 6
Any one paper can be selected from the General Elective List.

SEMESTER – III

21
BCA-CC301 Computer System Architecture Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Understand how computer hardware has evolved to meet the needs of multiprocessing
systems, instruction Set Architecture: Instruction format, types and addressing modes.
CO2. Understand the basic components and design of the CPU: the ALU and control unit.
CO3. Understand the memory organization: SRAM, DRAM, concepts on cache memory, Memory
Interleaving, associative memory, Virtual memory organization.
CO4. Understand the I/O Organization: Basics of I/O, Memory-mapped I/O & I/O mapped I/O,
Types of I/O transfer: Program controlled I/O, Interrupt-driven I/O, DMA.

Introduction
Basics of computer- Definition, Characteristics, Classification, Parts and block diagram of a digital
computer Logic gates- Types of logic gates, basic logic operations, truth tables, Boolean algebra,
simplification of Boolean expression by applying Boolean Theorem and Karnaugh Map(K-Map up
to 4 variables), Sum of products, product of sums and canonical forms.

Data Representation and Basic Computer Arithmetic


Number System – Different types of number systems(i.e. Decimal, binary, octal, hexadecimal),
conversion of numbers from one Number system to the other, binary arithmetic, (r-1)’s & r’s
complement representation, subtraction using r’s and (r-1)’s complement, signed and unsigned
numbers, Fixed and Floating point representation of numbers .Code Conversion- BCD(Binary
Coded Decimal), Gray Code and ASCII, BCD-to-Binary Conversion, Binary-to-Gray conversion,
Gray-to-Binary conversion, Error detection and Correction codes(Parity method for error detection
and Hamming error detection code).

Basic Computer Organization and Design


Combinational Circuit – Half Adder, Full Adder, Multiplexer(4X1, 8X1), Demultiplexer (1X4),
Encoder(Octal to Binary Encoder, Decimal to BCD Encoder), Decoder(3X8 Decoder, BCD to
Decimal Decoder). Sequential Circuits- Flip flops(SR, D, JK, T, Master Slave), Registers (Registers
with parallel load, Shift Registers), Counters( Synchronous and Asynchronous Counters), Structure
of a digital machine (VON-Neumann architecture).

Central Processing Unit


Microprocessors – Definition, Features and Architecture of 8085 microprocessor, Register
organization Timing and control unit of 8085, Pin diagram of 8085,Addressing modes of 8085,
DMA (Direct Memory Access) Instruction set – Instruction formats, Classification of 8085
instructions (Data Transfer, Arithmetic, logical and Branch instructions), Types of instructions
(Three address, two address, one address and zero address).

Memory Organization
Memory Organization- Concept of Memory Hierarchy Organization, Cache Memory,
Semiconductor Memory (RAM and ROM), Magnetic Memory (Magnetic disks i.e. Hard disks and
floppy disks, Magnetic tapes, Optical disks),Associative memory, Mapping Functions:- Associative
Mapping, Direct Mapping, Set-Associative Mapping.
Text Book and References:
22
1. M. Mano, Computer System Architecture, Pearson Education 1992.
2. A. J. Dos Reis, Assembly Language and Computer Architecture using C++ and JAVA, Course
Technology, 2004.
3. W. Stallings, Computer Organization and Architecture Designing for Performance, 8th Edition
2009, Prentice Hall of India.
4. Digital Design, M.M. Mano, Pearson Education Asia.

BCA-CP301 Computer System Architecture Lab Cr – 2

1. Introduction to Assembly language programming.


2. Introduction to various types of registers used in programming.
3. Introduction to various Assemblers used in assembling the Assembly language programs.
4. Write a program to print “Hello World” in Assembly Language.
5. Write a program in Assembly Language to show the sum of two numbers.
6. Write a program in Assembly Language to concatenation of two strings.
7. Write a program in Assembly Language to find the reverse of a string.
8. Write a program in Assembly Language to store five numbers in array and display it.

BCA-CC302 Operating System Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Understand the difference between different types of modern operating systems, virtual
machines and their structure of implementation and applications.
CO2. Understand the difference between process & thread, issues of scheduling of user-level
processes / threads and their issues & use of locks, semaphores, monitors for synchronizing
multiprogramming with multithreaded systems and implement them in multithreaded programs.
CO3. Understand the concepts of deadlock in operating systems and how they can be managed /
avoided and implement them in multiprogramming system.
CO4. Understand the design and management concepts along with issues and challenges of main
memory, virtual memory and file system.
CO5. Understand the types of I/O management, disk scheduling, protection and security problems
faced by operating systems and how to minimize these problems.

Introduction
Introduction to operating system, Basic Functions of Operating System, Simple Batch Systems,
Multi Programmed Batch Systems, Time-Sharing Systems, Parallel System, Distributed systems,
Real-Time Systems. Computer System structure- Computer System Operation, I/O Structure (I/O
Interrupts and DMA Structure) Storage Structure, Storage Hierarchy and Hardware Protection
(Dual Mode Operation, I/O Protection, Memory Protection and CPU protection).

Operating System Structure


System Components (Process Management, Main Memory Management, File Management, I/O
System Management, Secondary Storage Management, Networking, Protection System and
Command Interpreter System), Operating System Services (Program Execution, I/O Operations,
File System Manipulation, Communication and Error detection).

Process

23
Process Concept (Process, Process State, Process Control Blocks), Process Scheduling (Scheduling
Queues, Schedulers and Context Switching) Operations of Processes (Process Creation and Process
Termination), Inter Process Communication (Information Sharing, Computation Speedups,
Modularity and Convenience), Thread (Thread Structure) and difference between Thread and
Process.

CPU Scheduling
CPU scheduling (CPU-I/O Burst Cycle, CPU Scheduler, Types of Scheduling (Pre-emptive and
Non-Pre-Emptive Scheduling and Dispatcher), Scheduling Criteria (CPU Utilization, Throughput,
Turnaround Time, Waiting Time and Response Time), Scheduling Algorithms (First Come First
Served Scheduling, Shortest Job First Scheduling, Priority Scheduling, Round Robin Scheduling,
Multi Level Queue Scheduling, Multi Level Feedback Queue Scheduling.

Deadlock
The deadlock problem, Deadlock characterization, Deadlock prevention, Deadlock avoidance,
Deadlock detection, Recovery from deadlock.

Memory
Memory Management (Address Binding (Compile Time, Load Time and Execution Time),
Dynamic Loading, Dynamic Linking and Overlays). Comparison between Logical and Physical
Address Space. Swapping. Contiguous Allocation (Single Partition Allocation, Multiple Partition
Allocation and External and Internal Fragmentation), Paging (Idea of Paging, Page Table Structure,
Multi Level Paging, Inverted Page Table and Shared Pages), Segmentation (idea of Segmentation,
Hardware Support, Implementation of Segment Tables, Protection and Sharing and Fragmentation).
Virtual memory (Idea of Virtual Memory, Demand Paging, Page Replacement, Page Replacement
Algorithms (First In First Out Algorithm and Least Recently Used Algorithm). Thrashing.

File
File (Idea of File, File Attributes, File Operations, File Types and File Structure), File System
Structure (File System Organization, File Allocation Methods (Contiguous Allocation, Liked
Allocation, Indexed Allocation)), Free Space Management (Bit Vector, Linked List, Grouping and
Counting).

Text Book and References:

1. Operating System Concepts, A. Silverschwatz, P. Galvin & G.Gange , Willey


2. Operating System Concepts, Milenekovic, McGraw Hill
3. Modern Operating Systems, A.S. Tanenbaum, Pearson Education
4. Operating Systems & Systems Programming, P. Balakrishna Prasad, Scitech Publications Pvt.
Ltd.

BCA-CC302 Operating System Lab Cr – 2

1. Creating the directory as shown in the figure and implement the operations given below using
cmd (DOS).
2. Perform arithmetic operations using DOS.
3. Find out the area of rectangle and perimeter of a square.
4. WAP to implement FCFS scheduling algorithm (without arrival time).
5. WAP to implement FCFS scheduling algorithm (arrival time).
6. WAP to implement SJF scheduling algorithm (without arrival time).
24
7. WAP to implement SJF scheduling algorithm (arrival time).
8. WAP to implement Priority scheduling algorithm.
9. WAP to implement SRTF scheduling algorithm.
10. WAP to implement RR scheduling algorithm.
11. WAP to create a process.
12. Implementation of fork()
13. Basic programming in Shell
a. Printing ‘hello’
b. Concatenation of two strings
c. Comparison of two strings
d. Perform arithmetic operations
e. Greatest among two numbers

BCA-CP303 Computer Network Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Independently understand basic computer network technology.


CO2. Understand and explain Data Communications System and its components.
CO3. Identify the different types of network topologies and protocols.
CO4. To master the terminology and concepts of the OSI reference model and the TCP‐IP
reference model.
CO5. Identify the different types of network devices and their functions within a network
CO6. Understand and building the skills of IP addressing and routing mechanisms.
CO7. Familiarity with the basic protocols of computer networks, and how they can be used to
assist in network design and implementation.

Introduction to Computer Networks


Network definition, Advantages and Disadvantages of Computer Networks, network topologies,
Network Criteria, Network Models, Purpose of Layered Network Architecture, Overview of OSI
and TCP/IP Reference Models, Network addressing.

Data Transmission
Theoretical basis for communication, Transmission impairments: Attenuation distortion, Delay
distortion, Dispersion, Noise: Data transmission modes: Serial & Parallel, Simplex, Half duplex &
full duplex, Synchronous & Asynchronous transmission, Circuit Switching, Datagram Switching,
Routing Tables, Comparison between Connection Oriented and Connection less transmission.

Transmission Media and Signal Encoding Schemes


Guided and Unguided transmission media, Digital to Digital Line Coding Schemes, Unipolar NRZ,
Polar NRZ, RZ, Biphase Manchester and Differential Manchester Encoding, Synchronous and
Asynchronous Transmission, Digital to Analog Conversion: Amplitude Shift Keying, Frequency
Shift Keying and Phase Shift Keying, Analog to Analog Conversion: Amplitude Modulation,
Frequency Modulation and Phase Modulation, Bandwidth and its utilization, Multiplexing and its
types.

Data Link Layer Functions and Protocol


25
Errors in communication, Types of Errors, Error detection and correction, Parity Check, Hamming
distance, CRC, Checksum, Flow and Error Control, Noiseless Channels: Simplest Protocol, Stop
and Wait Protocol, Noisy Channels, HDLC.

Multiple Access Protocol and Networks


ALOHA Network, CSMA, CSMA with Collision Detection and with Collision Avoidance
(CSMA/CD, CSMA/CA), Channelization and Framing Concepts, Code Division Multiple
Access(CDMA), Introduction to networking security.

Networks Layer Functions and Protocols


Routing Concepts, Types of Routing, Flood based and Flow based Routing Techniques, Dijkstra’s
Shortest Path Algorithm, Introduction to IP Addressing, Classful and Classless Addressing
structures, Network Congestion and Associated Concepts, Open and Closed loop congestion
control, Traffic Shaping, Leaky Bucket Algorithm, Overview of DNS.

Text Book and References:

1. Communication and Networking, Fourth edition, THM Publishing Company Ltd.


2. A. S. Tanenbaum: Computer Networks, Fourth edition, PHI Pvt. Ltd Operating System
Concepts, Milenekovic, McGraw Hill
3. Data and Computer Communications, Stallings, PHI
4. Data Communication and Networking, Behrouz A. Forouzan

BCA-CP303 Computer Network Lab Cr – 2

1. Network Simulator installation


2. Network Simulator structure
3. How to start
4. Creating network topology
5. Sending data
6. Wired lab
a) Node creation
b) UDP data traffic
c) Traffic file analysis
d) TCP data traffic
7. Simulate Cyclic Redundancy Check (CRC) error detection algorithm for noisy channel.
8. Wireless lab
a) Node creation
b) Mobile node position
c) Traffic analysis
d) Movement generation

Skill Enhancement Course Cr – 1

Any one paper can be selected from the Skill Enhancement Course List.

Skill Enhancement Course Lab Cr – 1


26
Corresponding Laboratory paper for the selected Skill Enhancement Course.

General Elective Cr – 6

Any one paper can be selected from the General Elective List.

27
SEMESTER – IV

28
BCA-CC401 Design and Analysis of Algorithms Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Understand the basic concepts of algorithms with focus on performance analysis and
randomized algorithms.
CO2. Understand the concept Divide and Conquer with application to binary search, merge sort
and quick sort.
CO3. Understand the concept of Greedy programming and Dynamic programming.
CO4. Understand the basics of Backtracking and branch and bound problems.
CO5. Understand the concept of different classes of problems viz. P, NP and NP-Hard with an
introduction to Turing machines

Basic Tools on Designing Algorithms: What is an algorithm? Algorithm specification and


performance analysis, randomized algorithms, Masters Theorem.

Sorting and Searching Techniques: Elementary sorting techniques–Bubble Sort, Insertion Sort,
Merge Sort, Advanced Sorting techniques - Heap Sort, Quick Sort, Sorting in Linear Time - Bucket
Sort, Radix Sort and Count Sort, Searching Techniques

Divide-and-Conquer: The general method, application to binary search, finding the maximum and
minimum, merge sort, quick sort, the problem of selection and Strassen's matrix multiplication.

The Greedy Method: The general method, application to optimal storage on tapes, job sequencing
with deadlines, optimal merge patterns and minimum weight spanning trees.

Dynamic Programming: The general method, application to multistage graphs, all pairs shortest
paths, optimal binary search trees,0/1-Knapsack and traveling salesman problem, Flow shop
scheduling.

Backtracking: The general method, application to 8- puzzle problem, 8- queen problem and sum of
subsets.

Branch and Bound: The method, application to 0/1 Knapsack traveling salesman problems, and
efficiency considerations.

NP- Hard and NP-Complete Problems: Introduction and basic concepts, non-deterministic
Turing machine, the classes of P and NP, NP-hard graph problems, NP- completeness of the
satisfiability problem, and polynomial- space-bounded problem.

Text Book and References:

1. Sahani Horowitz, Fundamentals of Computer Algorithms, Universities Press, 2nd Edition,


2008

29
2. J.Kleinberg & E. Tardos – Algorithm Design, Pearson Education India, 1st Edition New Delhi,
2013
3. G.Brassard & P. Bratley – Fundamentals of Algorithmics, PHI, New Delhi, 2005
4. Thomas H. Cormen , Charles E. Leiserson , Ronald L. Rivest , Clifford Stein – Introduction to
Algorithms – PHI, 3rd Edition, New Delhi, 2010

BCA-CP401 Design and Analysis of Algorithms Lab Cr – 2

1. Implement Binary Search and draw its time complexity graph for varying input size.
2. Find the minimum and maximum elements of an array and draw its time complexity graph for
varying input size.
3. Implement Merge Sort and draw its time complexity graph for varying input size.
4. Implement Quick Sort and draw its time complexity graph for varying input size.
5. Implement Radix Sort and draw its time complexity graph for varying input size.
6. Implement Bubble Sort and draw its time complexity graph for varying input size.
7. Implement Kruskal.s algorithm using Greedy method and draw its time complexity graph.
8. Implement Dijkstra's algorithm using Greedy method and draw its time complexity.
9. Implement Travelling Salesperson algorithm using dynamic programming and draw its time
complexity graph.
10. Implement 8-queen problem using backtracking and draw its time complexity graph.

BCA-CC402 Software Engineering Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Gather and specify requirements of the software projects.


CO2. Analyze software requirements with existing tools.
CO3. Differentiate different testing methodologies.
CO4. Understand and apply the basic project management practices in real life projects.
CO5. Work in a team as well as independently on software projects.

Introduction
Characteristics, Emergence of Software Engineering, Software Metrics & Models, Process &
Product Metrics, Software Life Cycle models (Waterfall, Prototype, Evolutionary and Spiral models
and their comparison.

Requirement Analysis
Software Requirement Analysis, SRS Documents, their Characteristics and Organization.

Software Project Management


Size Estimation- LOC and FP Metrics, Cost Estimation- Delphi and Basic COCOMO, Staffing
Level Estimation- Putnam’s Model, Project Scheduling.

Risk Management
Software Risks, Risk Identification, Risk Assessment and Risk Containment.

Design Engineering
30
Classification, Software Design Approaches, Function Oriented Software Design, Structured
Analysis- Data flow Diagrams and Structured Design, Introduction to Object Oriented Design.

Testing Strategies & Tactics


Software Testing Fundamentals, Unit Testing, Black-Box Testing, White-Box Testing, Debugging,
Program Analysis Tools, System Testing.

Software Maintenance:
Maintenance Process Models and Reverse Engineering, Estimation of Maintenance Costs.

Text Book and References:


1. Rogers G. Pressman, Software Engineering: A Practitioner‘s Approach (7th Edition),
McGraw-Hill, 2009.
2. Rajib Mall, Fundamentals of Software Engineering, PHI, 2014.
3. I. Sommerville, Software Engineering (8th edition), Addison Wesley, 2006.

BCA-CP402 Software Engineering Lab Cr – 2

 Problem Statement,
 Process Model
1. Requirement Analysis:
 Creating a Data Flow
 Data Dictionary, Use Cases
2. Project Management:
 Computing FP
 Effort
 Schedule, Risk Table, Timeline chart
3. Design Engineering:
 Architectural Design
 Data Design, Component Level Design
4. Testing:
 Basis Path Testing

Sample Projects:
1. Banking System: Implement banking system for cash with drawl, cash deposit, check balance.
2. Criminal Record Management: Implement a criminal record management system for jailers,
police officers and CBI officers
3. Organized Retail Shopping Management Software
4. Online Hotel Reservation Service System
5. Examination and Result computation system
6. Automatic Internal Assessment System

BCA-CC403 Database Management System Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Master the basic concepts and understand the applications of database systems.

31
CO2. Construct an Entity-Relationship (E-R) model from specifications and to perform the
transformation of the conceptual model into corresponding logical data structures.
CO3. Understand the basic database storage structures and access techniques.
CO4. Distinguish between good and bad database design, apply data normalization principles, and
be aware of the impact of data redundancy on database integrity and maintainability.
CO5. Construct queries and maintain a simple database using SQL.
CO6. Apply database transaction management and database recovery.

Introduction
Characteristics of database approach, data models, database system architecture and data
independence.

Entity Relationship (ER) Modeling


Entity types, relationships, constraints.

Relation Data Model


Relational model concepts, relational constraints, relational algebra, SQL queries

Database Design
Mapping ER/EER model to relational database, functional dependencies, Lossless decomposition,
Normal forms (upto BCNF).

Transaction Processing
ACID properties, Concurrency control.

File Structure and Indexing


Operations on files, File of Unordered and ordered records, overview of File organizations,
Indexing structures for files( Primary index, secondary index, clustering index), Multilevel indexing
using B and B+ trees.

Text Book and References:

1. R. Elmasri, S.B. Navathe, Fundamentals of Database Systems 6th Edition, Pearson


Education, 2010..
2. A. Silberschatz, H.F. Korth, S. Sudarshan, Database System Concepts 6th Edition,
McGraw Hill, 2010..
3. I. Sommerville, Software Engineering (8th edition), Addison Wesley, 2006.

BCA-CP403 Database Management System Lab Cr – 2

1. STUDENT (ROLL, NAME, AGE, COURSE, CITY, CGPA)


a) Create the above STUDENT table with appropriate data types.
b) Describe the table structure.
c) Insert record into the table.
d) Display the details of the student table.
e) Display Roll, Name & CGPA of all the students.
f) Modify the student table by adding ‘GENDER’ column into the table.
g) Update the ‘GENDER’ of individual student.
h) Display the unique CITY present in the student table.

32
i) Display Student ROLL, NAME & AGE whose present age is 20.
j) Find the age of the students after 5 years who is residing in RANCHI. Also diplay all
the details.
k) Display student ROLL, NAME & CGPA whose CGPA lies between 7.5 to 8.5.
l) Rename the CITY column to ADDRESS and also change the data type from
varchar2(15) tovarchar2(25).
m) Modify the table by adding a new column ‘HOBBY’ and update your own hobby
field.
2. Create a new table ‘STUD’ from ‘STUDENT’ having the columns ‘ROLL’, ‘NAME’ and
‘CGPA’.
3. Add primary key constraint to the column ROLL in the table ‘STUD’ by using column level
constraints.
4. Insert the record from ‘STUDENT’ table to ‘STUD’ table whose CGPA is greater than 8.5.
5. Add ‘PHONE_NO’ to the table ‘STUD’ and make it as UNIQUE constraint.
6. EMPLOYEE_MASTER (ENO, ENAME, AGE, SALARY, DEPARTMENT)
a. Add PRIMARY KEY to ENO, UNIQUE to ENAME, NOT NULL constraint to
SALARY
b. Insert the following records into the table
c. Add a column ‘BRANCH’ in the table
d. Set the value of ‘BRANCH’ to ‘BCA’ for the employees who work in
DEPARTMENT 10 and ‘BRANCH’ to ‘BBA’ for the employees who work in
DEPARTMENT 20.
e. Find out the employee details whose salary is more than 55000 and less than 75000.
f. Display the ENO, ENAME, AGE of employees whose age is less than 35.
g. Find out the salary of employees after incrementing by 5% and display all the details
of employees.

Skill Enhancement Course Cr – 1

Any one paper can be selected from the Skill Enhancement Course List.

Skill Enhancement Course Lab Cr – 1

Corresponding Laboratory paper for the selected Skill Enhancement Course.

General Elective Cr – 6

Any one paper can be selected from the General Elective List.

33
SEMESTER – V

34
BCA-CC501 Internet Technologies Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Use objects, array and array list class


CO2. Learn about Java scripts: data types, operators, event and event handling,
CO3. Know about JDBC like establishing connectivity and working connection interface
CO4. Know about JSP like Java Server, HTTP and Servlet basics and setting up the JSP
environment
CO5. Learn about JAVA beans, JAR files and connection to a Database

Java
Use of Objects, Array and ArrayList class

JavaScript
Data types, operators, functions, control structures, events and event handling.

JDBC
JDBC Fundamentals, Establishing Connectivity and working with connection interface, Working
with statements, Creating and Executing SQL Statements, Working with Result Set Objects.

JSP
Introduction to JavaServer Pages, HTTP and Servlet Basics, The Problem with Servlets, The
Anatomy of a JSP Page, JSP Processing, JSP Application Design with MVC, Setting Up the JSP
Environment, Implicit JSP Objects, Conditional Processing, Displaying Values, Using an
expression to Set an Attribute, Declaring Variables and Methods, Error Handling and Debugging,
Sharing Data Between JSP Pages, Requests, and Users, Database Access.

Java Beans
Java Beans Fundamentals, JAR files, Introspection, Developing a simple Bean, Connecting to DB

Text Book and References:

1. Ivan Bayross, Web Enabled Commercial Application Development Using Html, html,
javascript, Perl C gi , BPB Publications, 2009.
2. Cay Horstmann, BIG Java, Wiley Publication , 3rd Edition., 2009
3. Herbert Schildt, Java 7, The Complete Reference, , 8th Edition, 2009.
4. Jim Keogh, The Complete Reference J2EE, TMH, , 2002.
5. O'Reilly , Java Server Pages, Hans Bergsten, Third Edition, 2003.

BCA-CP501 Internet Technologies Lab Cr – 2


Create event driven program for following:
1. Print a table of numbers from 5 to 15 and their squares and cubes using alert.
2. Print the largest of three numbers.
3. Find the factorial of a number n.
4. Enter a list of positive numbers terminated by Zero. Find the sum and average of these numbers.
5. A person deposits Rs 1000 in a fixed account yielding 5% interest. Compute the amount in
the account at the end of each year for n years.
35
Read n numbers. Count the number of negative numbers, positive
numbers and zeros in the list.

BCA-CC502 Artificial Intelligence Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Understand the modern view of AI as the study of agents that receive percepts from the
environment and perform actions.
CO2. Demonstrate awareness of the major challenges facing AI and the complex of typical
problems within the field.
CO3. Exhibit strong familiarity with a number of important AI techniques, including in particular
search, knowledge representation, planning and constraint management.
CO4. Asses critically the techniques presented and to apply them to real world problems.

Introduction
Introduction to Artificial Intelligence, Background and Applications, Turing Test and Rational
Agent approaches to AI, Introduction to Intelligent Agents, their structure, behavior and
environment.

Problem Solving and Searching Techniques


Problem Characteristics, Production Systems, Control Strategies, Breadth First Search, Depth First
Search, Hill climbing and its Variations, Heuristics Search Techniques: Best First Search, A*
algorithm, Constraint Satisfaction Problem, Means-End Analysis, Introduction to Game Playing,
Min-Max and Alpha-Beta pruning algorithms.

Knowledge Representation
Introduction to First Order Predicate Logic, Resolution Principle, Unification, Semantic Nets,
Conceptual Dependencies, Frames, and Scripts, Production Rules, Conceptual Graphs.
Programming in Logic (PROLOG)

Dealing with Uncertainty and Inconsistencies


Truth Maintenance System, Default Reasoning, Probabilistic Reasoning, Bayesian Probabilistic
Inference, Possible World Representations.

Understanding Natural Languages


Parsing Techniques, Context-Free and Transformational Grammars, Recursive and Augmented
Transition Nets.

Text Book and References:

1. DAN.W. Patterson, Introduction to A.I and Expert Systems – PHI, 2007.


2. Russell &Norvig, Artificial Intelligence-A Modern Approach, LPE, Pearson Prentice Hall, 2nd
edition, 2005.
3. Rich & Knight, Artificial Intelligence – Tata McGraw Hill, 2nd edition, 1991.
4. W.F. Clocksin and Mellish, Programming in PROLOG, Narosa Publishing House, 3rd edition,
2001.
5. Ivan Bratko, Prolog Programming for Artificial Intelligence, Addison-Wesley, Pearson
Education, 3rd edition, 2000.

36
BCA-CP502 Artificial Intelligence Lab Cr – 2

1. Write a prolog program to calculate the sum of two numbers.


2. Write a prolog program to find the maximum of two numbers.
3. Write a prolog program to calculate the factorial of a given number.
4. Write a prolog program to calculate the nth Fibonacci number.
5. Write a prolog program, insert_nth(item, n, into_list, result) that asserts that result is the list
6. into_list with item inserted as the n‘th element into every list at all levels.
7. Write a Prolog program to remove the Nth item from a list.
8. Write a Prolog program, remove-nth(Before, After) that asserts the After list is the Before
9. list with the removal of every n‘th item from every list at all levels.
10. Write a Prolog program to implement append for two lists.
11. Write a Prolog program to implement palindrome(List).
12. Write a Prolog program to implement max(X,Y,Max) so that Max is the greater of two
numbers X and Y.
13. Write a Prolog program to implement maxlist(List,Max) so that Max is the greatest number
14. in the list of numbers List.
15. Write a Prolog program to implement sumlist(List,Sum) so that Sum is the sum of a given list
16. of numbers List.
17. Write a Prolog program to implement two predicates evenlength(List) and oddlength(List)
18. so that they are true if their argument is a list of even or odd length respectively.
19. Write a Prolog program to implement reverse(List,ReversedList) that reverses lists.
20. Write a Prolog program to implement maxlist(List,Max) so that Max is the greatest number
21. in the list of numbers List using cut predicate.
22. Write a Prolog program to implement GCD of two numbers.
23. Write a prolog program that implements Semantic Networks/Frame Structures.

Discipline Specific Elective Cr – 3

Any one paper can be selected from the Discipline Specific Elective Course List.

Discipline Specific Elective Lab Cr – 2

Corresponding Laboratory paper for the selected Discipline Specific Elective Course in I (A).

Discipline Specific Elective Cr – 3

Any one paper can be selected from the Discipline Specific Elective Course List.

Discipline Specific Elective Lab Cr – 2

Corresponding Laboratory paper for the selected Discipline Specific Elective Course in II (A).

37
SEMESTER – VI

38
BCA-CC601 Theory of Computation Cr – 4

Course Outcome: At the end of the course, the students will be able to:

CO1. Apply a number of proof techniques to theorems in language design.


CO2. Present the theory of finite automata, as the first step towards learning advanced topics, such
as compiler design.
CO3. Understand the equivalence between Context-Free Grammars and Non-deterministic
Pushdown automata.
CO4. Develop an understanding of computation through Turing Machines.
CO5. Develop a clear understanding of the Chomsky hierarchy for language classes.

Languages
Alphabets, string, language, Basic Operations on language, Concatenation, Kleene Star

Finite Automata and Regular Languages


Regular Expressions, Transition Graphs, Deterministics and non-deterministic finite automata, NFA
to DFA Conversion, Regular languages and their relationship with finite automata, Pumping lemma
and closure properties of regular languages.

Context free languages


Context free grammars, parse trees, ambiguities in grammars and languages, Pushdown automata
(Deterministic and Non-deterministic), Pumping Lemma, Properties of context free languages,
normal forms.

Turing Machines and Models of Computations


RAM, Turing Machine as a model of computation, Universal Turing Machine, Language
acceptability, decidability, halting problem, Recursively enumerable and recursive languages,
unsolvability problems.

Text Book and References:

1. Daniel I.A. Cohen, Introduction to c omputer theory, John Wiley,1996


2. Lewis & Papadimitriou, Elements of the theory of computation , PHI 1997.
3. Hoperoft, Aho, Ullman, Introduction to Automata theory, Language & Computation –3rd
Edition, Pearson Education. 2006
4. P. Linz, An Introduction to Formal Language and Automata 4th edition Publication Jones
Bartlett, 2006

BCA-CC602 Computer Graphics Cr – 3


Course Outcome: At the end of the course, the students will be able to:

CO1. Understand the concepts of computer graphics H/W


CO2. Analyze algorithms and their implementation
CO3. Understand and apply various multimedia techniques
CO4. Implement and know when to apply multimedia techniques standards for use..

39
Introduction
Basic elements of Computer graphics, Applications of Computer Graphics.

Graphics Hardware
Architecture of Raster and Random scan display devices, input/output devices.

Fundamental Techniques in Graphics


Raster scan line, circle and ellipse drawing, thick primitives, Polygon filling, line and polygon
clipping algorithms, 2D and 3D Geometric Transformations, 2D and 3D Viewing Transformations
(Projections- Parallel and Perspective), Vanishing points.

Geometric Modeling
Representing curves & Surfaces.

Visible Surface determination


Hidden surface elimination.

Surface rendering
Illumination and shading models. Basic color models and Computer Animation.

Text Book and References:

1. J.D.Foley, A.Van Dan, Feiner, Hughes Computer Graphics Principles & Practice 2 nd edition
Publication Addison Wesley 1990.
2. D.Hearn, Baker: Computer Graphics, Prentice Hall of India 2008.
3. D.F.Rogers Procedural Elements for Computer Graphics, McGraw Hill 1997.
4. D.F.Rogers, Adams Mathematical Elements for Computer Graphics, McGraw Hill 2nd edition
1989.

BCA-CP602 Computer Graphics Lab Cr – 2

1. Write a program to implement Bresenham‘s line drawing algorithm.


2. Write a program to implement mid-point circle drawing algorithm.
3. Write a program to clip a line using Cohen and Sutherland line clipping algorithm.
4. Write a program to clip a polygon using Sutherland Hodgeman algorithm.
5. Write a program to apply various 2D transformations on a 2D object (use homogenous
coordinates).
6. Write a program to apply various 3D transformations on a 3D object and then apply parallel
and perspective projection on it.
7. Write a program to draw Hermite/Bezier curve.

Discipline Specific Elective Cr – 3

Any one paper can be selected from the Discipline Specific Elective Course List.

Discipline Specific Elective Lab Cr – 2

40
Corresponding Laboratory paper for the selected Discipline Specific Elective Course in III (A).

BCA-EC015 Project/Dissertation Cr – 6

The students will be allowed to work on any project based on the concepts studied in core / elective
or skill based elective courses.
The group size should be maximum of three (03) students.
The topic of the Project Study Report/ Dissertation and the name of the supervisor earmarked
shall be approved by a concerned project guide who shall get this approved by Head of the
Faculty of Computing and Information Technology.
A maximum of Four (04) projects would be assigned to one teacher.

BCA-EP015 Industrial Tour and Reporting Cr – 2

Industrial visit has its own importance in a career of a student who is pursuing a professional degree
and is considered an integral part of college curriculum. Objective of industrial visit is to provide
students an insight regarding internal working of companies. With an aim to go beyond academics,
industrial visit provides student a practical perspective on the world of work.

It provides students with an opportunity to learn practically through interaction, working methods
and employment practices. It gives them exposure to current work practices as opposed to possibly
theoretical knowledge being taught in the college. Industrial visits provide an excellent opportunity
to interact with industries and know more about industrial environment.

Each student has to prepare a report on the observation made by them during the visit.

41
DISCIPLINE SPECIFIC ELECTIVES
Discipline Specific Elective Courses COMPUTER SCIENCE: (Credit: 05 each where, 03
credits Lecture and 02 credits Practical) (4 papers to be selected)

BCA-EC001 Information Security Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Understand what are the common threats faced today


CO2. What are the foundational theory behind information security, what are the basic principles
and techniques when designing a secure system,
CO3. How to think adversarially, how today's attacks and defenses work in practice, how to assess
threats for their significance, and how to gauge the protections and limitations provided by
today's technology.

Introduction
Security, Attacks, Computer Criminals, Security Services, Security Mechanisms.

Cryptography
Substitution ciphers, Transpositions Cipher, Confusion, diffusion, Symmetric, Asymmetric
Encryption. DES Modes of DES, Uses of Encryption, Hash function, key exchange, Digital
Signatures, Digital Certificates.

Program Security
Secure programs, Non malicious Program errors, Malicious codes virus, Trap doors, Salami attacks,
Covert channels, Control against program

Threats.
Protection in OS: Memory and Address Protection, Access control, File Protection, User
Authentication.

Database Security
Requirements, Reliability, Integrity, Sensitive data, Inference, Multilevel Security.

Security in Networks
Threats in Networks, Security Controls, firewalls, Intrusion detection systems, Secure e-mails

Administrating Security
Security Planning, Risk Analysis, Organisational Security Policy, Physical Security. Ethical issues
in Security: Protecting Programs and data. Information and law.

Text Book and References:

1. C. P. Pfleeger, S. L. Pfleeger; Security in Computing, Prentice Hall of India, 2006


2. W. Stallings; Network Security Essentials: Applications and Standards, 4/E, 2010
3. Cryptography and Network Security – Behrouz A. Forouzan, DebdeepMukhopadhyay – 2nd
Edition, Tata McGraw Hill Education Private Limited.

42
BCA-EP001 Information Security Lab Cr – 2

1. Demonstrate the use of Network tools: ping, ipconfig, ifconfig, tracert, arp, netstat, whois
2. Use of Password cracking tools : John the Ripper, Ophcrack. Verify the strength of
passwords using these tools.
3. Perform encryption and decryption of Caesar cipher. Write a script for performing these
perations.
4. Perform encryption and decryption of a Rail fence cipher. Write a script for performing
these operations.
5. Use nmap/zenmap to analyse a remote machine.
6. Use Burp proxy to capture and modify the message.
7. Demonstrate sending of a protected word document.
8. Demonstrate sending of a digitally signed document.
9. Demonstrate sending of a protected worksheet.
10. Demonstrate use of steganography tools.
11. Demonstrate use of gpg utility for signing and encrypting purposes.

BCA-EC002 Network Programming Cr - 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Demonstrate advanced knowledge of networking


CO2. Demonstrate advanced knowledge of programming for network communications
CO3. Have a detailed knowledge of the TCP/UDP Sockets
CO4. Create applications using techniques such as multiplexing, forking, multithreading
CO5. Make use of different types of I/O such as non-blocking I/O and event driven I/O
CO6. Make use of various solutions to perform inter-process communications

Transport Layer Protocols


TCP, UDP, SCTP protocol.

Socket Programming
Socket Introduction; TCP Sockets; TCP Client/Server Example ; signal handling; I/O multiplexing
using sockets; Socket Options; UDP Sockets; UDP client server example; Address lookup using
sockets.

Network Applications:
Remote logging; Email; WWW and HTTP.

LAN administration:
Linux and TCP/IP networking: Network Management and Debugging.

Text Book and References:

1. W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, Unix Network Programming, The
sockets Networking API, Vol. 1, 3rd Edition, PHI.2003
2. B. A. Forouzan: Data Communications and Networking, Fourth edition, THM Publishing
Company Ltd.,2003

43
3. Nemeth Synder & Hein, Linux Administration Handbook, Pearson Education, 2nd
Edition,2010
4. R. Stevens, Unix Network Programming, PHI 2nd Edition,1990

BCA-EP002 Network Programming Lab Cr - 2

Practical exercises based on concepts listed in theory.

BCA-EC003 Microprocessor Cr - 3
Course Outcome: At the end of the course, the students will be able to:

CO1. Able to learn about the microprocessor architecture


CO2. Able to learn microprocessor programming and assembly language programming
CO3. Able to learn memory address decoding
CO4. Able to learn cache memory and cache controller
CO5. Able to learn I/O interfacing
CO6. Able to learn DMA controller

Microprocessor architecture
Internal architecture, system bus architecture, memory and I/O interfaces.

Microprocessor programming
Register Organization, instruction formats, assembly language programming.

Interfacing
Memory address decoding, cache memory and cache controllers, I/O interface, keyboard, display,
timer, interrupt controller, DMA controller, video controllers, communication interfaces.

Text Book and References:

1. Barry B. Brey : The Intel Microprocessors : Architecture, Programming and Interfacing,


Pearson E ducation, Sixth Edition,2009.
2. Walter A Triebel, Avtar Singh; The 8088 and 8086 Microprocessors Programming,
Interfacing, Software, Hardware, and Applications. PHI, Fourth Edition 2005.

BCA-EP003 Microprocessor Lab Cr - 2


ASSEMBLY LANGUAGE PROGRAMMING
1. Write a program for 32-bit binary division and multiplication
2. Write a program for 32-bit BCD addition and subtraction
3. Write a program for Linear search and binary search.
4. Write a program to add and subtract two arrays
5. Write a program for binary to ascii conversion
6. Write a program for ascii to binary conversion

BCA-EC004 Computational Linguistics Cr - 3

44
Course Outcome: At the end of the course, the students will be able to:

CO1. Support in translating texts from one language to another or completely automatic
translation (machine translation)
CO2. Automatic management of large databases containing information in language form and the
retrieval of information from such databases, e.g. via automatic production of summaries and
abstracts (summarization) or the location of specific information in a large number of academic
publications (e-science)
CO3. Location of information in heterogeneous data sources (Internet, large structured databases,
corporate portals, etc.)
CO4. Automatic question-answering on the basis of large databases or information in language
form on the World Wide Web
CO5. Language-learning and correction programmes for foreign-language learners (vocabulary
trainers and other practice programmes) and spelling and grammar correction programmes for
native speakers in text editors
CO6. Linguistic interaction with computers or artificial intelligence (AI) systems in the field of
robotics, virtual worlds or computer-aided medical care.

Introduction Computers in linguistics and Natural Language Processing The nature and use of text
corpora

Introduction to python programming and NLTK, Regular expressions Pattern matching Corpus
search and counting

Regular languages Finite-state automata Operations and closure properties Pumping Lemma, Finite-
state linguistics Transducers Morphological analysis

N-grams Language modeling Smoothing Evaluation

Part-of-Speech Tagging, Word classes and tag sets Rule-based and stochastic POS tagging Hidden
Markov Models Evaluation

Word meaning Semantic ambiguity Semantic relations Semantic roles Computational lexical
semantics, (Un)supervised word sense disambiguation Classifiers Vector-space semantics

Text Book and References:

1. Jurafsky, D. and J. H. Martin, Speech and language processing: An Introduction to Natural


Language Processing, Computational Linguistics, and Speech Recognition (2nd Edition).
Prentice-Hall, 2008.
2. Charniak, E.: Statistical Language Learning. The MIT Press. 1996.
3. J. Allen: Natural Language Understanding. Benjamin/Cummins.1995.

BCA-EP004 Computational Linguistics Lab Cr – 2


Practical exercises based on concepts listed in theory.

45
BCA-EC005 Digital Image Processing Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Able to learn light, brightness adaption and discrimination.


CO2. Able to learn spatial domain filtering like intensity transformation, contrast stretching and
histogram equalization.
CO3. Able to learn filtering in the frequency domain like Hotelling Transform, FFT, 2-D sampling
CO4. Able to learn image restoration and image compression including wavelet based image
compression.
CO5. Able to learn morphological image processing like erosion, dilation, opening, closing, hit-
or-miss and etc.
CO6. Able to learn image segmentation like point, line and edge detection.

Introduction
Light, Brightness adaption and discrimination, Pixels, coordinate conventions, Imaging Geometry,
Perspective Projection, Spatial Domain Filtering, sampling and quantization.

Spatial Domain Filtering


Intensity transformations, contrast stretching, histogram equalization, Correlation and convolution,
Smoothing filters, sharpening filters, gradient and Laplacian.

Filtering in the Frequency domain


Hotelling Transform, Fourier Transforms and properties, FFT (Decimation in Frequency and
Decimation in Time Techniques), Convolution, Correlation, 2-D sampling, Discrete Cosine
Transform, Frequency domain filtering.

Image Restoration
Basic Framework, Interactive Restoration, Image deformation and geometric transformations,
image morphing, Restoration techniques, Noise characterization, Noise restoration filters, Adaptive
filters, Linear, Position invariant degradations, Estimation of Degradation functions, Restoration
from projections.

Image Compression
Encoder-Decoder model, Types of redundancies, Lossy and Lossless compression, Entropy of an
information source, Shannon's 1st Theorem, Huffman Coding, Arithmetic Coding, Golomb Coding,
LZW coding, Transform Coding, Sub-image size selection, blocking artifacts, DCT implementation
using FFT, Run length coding, FAX compression (CCITT Group-3 and Group-4), Symbol-based
coding, JBIG-2, Bit-plane encoding, Bit-allocation, Zonal Coding, Threshold Coding, JPEG,
Lossless predictive coding, Lossy predictive coding, Motion Compensation

Wavelet based Image Compression


Expansion of functions, Multi-resolution analysis, Scaling functions, MRA refinement equation,
Wavelet series expansion, Discrete Wavelet Transform (DWT), Continuous Wavelet Transform,
Fast Wavelet Transform, 2-D wavelet Transform, JPEG-2000 encoding, Digital Image
Watermarking.

Morphological Image Processing

46
Basics, SE, Erosion, Dilation, Opening, Closing, Hit-or-Miss Transform, Boundary Detection, Hole
filling, Connected components, convex hull, thinning, thickening, skeletons, pruning, Geodesic
Dilation, Erosion, Reconstruction by dilation and erosion.

Image Segmentation
Boundary detection based techniques, Point, line detection, Edge detection, Edge linking, local
processing, regional processing, Hough transform, Thresholding, Iterative thresholding, Otsu's
method, Moving averages, Multivariable thresholding, Region-based segmentation, Watershed
algorithm, Use of motion in segmentation

Text Book and References:

1. R C Gonzalez , R E Woods, Digital Image Processing, 3rd Edition, Pearson Education.2008.


2. A K Jain, Fundamentals of Digital image Processing, Prentice Hall of India.1989.
3. K R Castleman, Digital Image Processing, Pearson Education.1996
4. Schalkoff, Digital Image Processing and Computer Vision, John Wiley and Sons.1989.
5. Rafael C. Gonzalez, Richard E. Woods, Steven Eddins,' Digital Image Processing using
MATLAB', Pearson Education, Inc., 2004.

BCA-EP005 Digital Image Processing Lab Cr – 2

1. Write program to read and display digital image using MATLAB or SCILAB
a. Become familiar with SCILAB/MATLAB Basic commands
b. Read and display image in SCILAB/MATLAB
c. Resize given image
d. Convert given color image into gray-scale image
e. Convert given color/gray-scale image into black & white image
f. Draw image profile
g. Separate color image in three R G & B planes
h. Create color image using R, G and B three separate planes
i. Flow control and LOOP in SCILAB
j. Write given 2-D data in image file
2. To write and execute image processing programs using point processing method
a. Obtain Negative image
b. Obtain Flip image
c. Thresholding
d. Contrast stretching
3. To write and execute programs for image arithmetic operations
a. Addition of two images
b. Subtract one image from other image
c. Calculate mean value of image
d. Different Brightness by changing mean value
4. To write and execute programs for image logical operations
a. AND operation between two images
b. OR operation between two images
c. Calculate intersection of two images
d. Water Marking using EX-OR operation
e. NOT operation (Negative image)
5. To write a program for histogram calculation a nd equalization using
a. Standard MATLAB function
b. Program without using standard MATLAB functions

47
c. C Program
6. To write and execute program for geometric transformation of image
a. Translation
b. Scaling
c. Rotation
d. Shrinking
e. Zooming
7. To understand various image noise models and to write programs for
a. image restoration
b. Remove Salt and Pepper Noise
c. Minimize Gaussian noise
d. Median filter and Weiner filter
8. Write and execute programs to remove noise using spatial filters
a. Understand 1-D and 2-D convolution process
b. Use 3x3 Mask for low pass filter and high pass filter
9. Write and execute programs for image frequency domain filtering
a. Apply FFT on given image
b. Perform low pass and high pass filtering in frequency domain
c. Apply IFFT to reconstruct image
10. Write a program in C and MATLAB/SCILAB for edge detection using different edge
detection mask.
11. Write and execute program for image morphological operations erosion and dilation.
12. To write and execute program for wavelet transform on given image and perform inverse
wavelet transform to reconstruct image.

BC-EC006 Machine Learning Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Able to learn basic concepts, applications and key elements of machine learning.
CO2. Able to learn about the software for machine learning.
CO3. Able to learn linear algebra overview like vectorizations, matrices and vectors arithmetic
using tools such as MATLAB.
CO4. Able to learn prediction using linear regression, linear regression with one and multiple
variables.
CO5. Able to learn classification using logistic regression, logistic regression with one and
multiple variable.
CO6. Able to learn about the basics of regularization and neural networks.

Introduction
Concept of Machine Learning, Applications of Machine Learning, Key elements of Machine
Learning, Supervised vs. Unsupervised Learning, Statistical Learning: Bayesian Method, The Naïve
Bayes Classifier

Softwares for Machine Learning and Linear Algebra Overview


Plotting of Data, Vectorization, Matrices and Vectors: Addition, Multiplication, Transpose and
Inverse using available tool such as MATLAB.

Linear Regression

48
Prediction using Linear Regression, Gradient Descent, Linear Regression with one variable, Linear
Regression with multiple variables, Polynomial Regression, Feature Scaling/Selection.

Logistic Regression
Classification using Logistic Regression, Logistic Regression vs. Linear Regression, Logistic
Regression with one variable and with multiple variables.

Regularization
Regularization and its utility: The problem of Overfitting, Application of Regularization in Linear
and Logistic Regression, Regularization and Bias/Variance.

Neural Networks
Introduction, Model Representation, Gradient Descent vs. Perceptron Training, Stochastic Gradient
Descent, Multilayer Perceptrons, Multiclass Representation, Backpropagation Algorithm.

Text Book and References:

1. Ethem Alpaydin, "Introduction to Machine Learning" 2nd Edition, The MIT Press, 2009.
2. Tom M. Mitchell, "Machine Learning", First Edition by Tata McGraw-Hill Education, 2013.
3. Christopher M. Bishop, "Pattern Recognition and Machine Learning" by Springer, 2007.
4. Mevin P. Murphy, "Machine Learning: A Probabilistic Perspective" by The MIT Press,
2012.

BCA-EP006 Machine Learning Lab Cr – 2

For practical Labs for Machine Learning, students may use softwares like MABLAB/Octave or
Python. For later exercises, students can create/use their own datasets or utilize datasets from online
repositories like UCI Machine Learning Repository (http://archive.ics.uci.edu/ml/).

1. Perform elementary mathematical operations in Octave/MATLAB like addition, multiplication,


division and exponentiation.
2. Perform elementary logical operations in Octave/MATLAB (like OR, AND, Checking for
Equality, NOT, XOR).
3. Create, initialize and display simple variables and simple strings and use simple formatting for
variable.
4. Create/Define single dimension / multi-dimension arrays, and arrays with specific values like
array of all ones, all zeros, array with random values within a range, or a diagonal matrix.
5. Use command to compute the size of a matrix, size/length of a particular row/column, load
data from a text file, store matrix data to a text file, finding out variables and their features in
the current scope.
6. Perform basic operations on matrices (like addition, subtraction, multiplication) and display
specific rows or columns of the matrix.
7. Perform other matrix operations like converting matrix data to absolute values, taking the
negative of matrix values, additing/removing rows/columns from a matrix, finding the
maximum or minimum values in a matrix or in a row/column, and finding the sum of some/all
elements in a matrix.
8. Create various type of plots/charts like histograms, plot based on sine/cosine function based on
data from a matrix. Further label different axes in a plot and data in a plot.
9. Generate different subplots from a given plot and color plot data.
10. Use conditional statements and different type of loops based on simple example/s.

49
11. Perform vectorized implementation of simple matrix operation like finding the transpose of a
matrix, adding, subtracting or multiplying two matrices.
12. Implement Linear Regression problem. For example, based on a dataset comprising of existing
set of prices and area/size of the houses, predict the estimated price of a given house.
13. Based on multiple features/variables perform Linear Regression. For example, based on a
number of additional features like number of bedrooms, servant room, number of balconies,
number of houses of years a house has been built – predict the price of a house.
14. Implement a classification/ logistic regression problem. For example based on different
features of students data, classify, whether a student is suitable for a particular activity.
15. Based on the available dataset, a student can also implement another classification problem like
checking whether an email is spam or not.
16. Use some function for regularization of dataset based on problem 14.
17. Use some function for neural networks, like Stochastic Gradient Descent or back propagation -
algorithm to predict the value of a variable based on the dataset of problem 14.

BCA-EC007 Introduction to Data Science Cr – 3


Course Outcome: At the end of the course, the students will be able to:

CO1. Able to learn tools used in building data analysis like git, GitHub, R and R-Studio.
CO2. Able to learn the basics of R Programming
CO3. Able to learn the methods of getting and cleaning data.
CO4. Able to learn data analysis techniques such as exploratory data analysis.
CO5. Able to learn concepts and tools used for modern data analysis in a reproducible manner.

Data Scientist’s Tool Box


Turning data into actionable knowledge, introduction to the tools that will be used in building data
analysis software: version control, markdown, git, GitHub, R, and RStudio.

R Programming Basics
Overview of R, R data types and objects, reading and writing data, Control structures, functions,
scoping rules, dates and times, Loop functions, debugging tools, Simulation, code profiling

Getting and Cleaning Data


Obtaining data from the web, from APIs, from databases and from colleagues in various formats.
basics of data cleaning and making data ―tidy‖.

Exploratory Data Analysis


Essential exploratory techniques for summarizing data, applied before formal modeling
commences, eliminating or sharpening potential hypotheses about the world that can be addressed
by the data, common multivariate statistical techniques used to visualize high-dimensional data.

Reproducible Research
Concepts and tools behind reporting modern data analyses in a reproducible manner, To write a
document using R markdown, integrate live R code into a literate statistical program, compile R
markdown documents using knitr and related tools, and organize a data analysis so that it is
reproducible and accessible to others.

Text Book and References:

50
1. Rachel Schutt, Cathy O'Neil, "Doing Data Science: Straight Talk from the Frontiline" by
Schroff/O'Reilly, 2013.
2. Foster Provost, Tom Fawcett, "Data Science for Business" What You Need to Know About
Data Mining and Data-Analytic Thinking" by O'Reilly, 2013.
3. John W. Foreman, "Data Smart: Using data Science to Transform Information into Insight" by
John Wiley & Sons, 2013.
4. Ian Ayres, "Super Crunchers: Why Thinking-by-Numbers Is the New Way to Be Smart" Ist
Edition by Bantam, 2007.
5. Eric Seigel, "Predictive Analytics: The Power to Predict who Will Click, Buy, Lie, or Die", 1st
Edition, by Wiley, 2013.
6. Matthew A. Russel, "Mining the Social Web: Data mining Facebook, Twitter, LinkedIn,
Goole+, GitHub, and More", Second Edition, by O'Reilly Media, 2013.

BCA-EP007 Introduction to Data Science Lab Cr – 2


1. Write a program that prints ‗Hello World to the screen.
2. Write a program that asks the user for a number n and prints the sum of the numbers 1 to n.
3. Write a program that prints a multiplication table for numbers up to 12.
4. Write a function that returns the largest element in a list.
5. Write a function that computes the running total of a list.
6. Write a function that tests whether a string is a palindrome.
7. Implement linear search.
8. Implement binary search.
9. Implement matrices addition , subtraction and Multiplication
10. Fifteen students were enrolled in a course. There ages were:
20 20 20 20 20 21 21 21 22 22 22 22 23 23 23
a. Find the median age of all students under 22years.
b. Find the median age of all students
c. Find the mean age of all students.
d. Find the modal age for all students
e. Two more students enter the class. The age of both students is 23. What is now
mean, mode and median?
11. Following table gives a frequency distribution of systolic blood pressure. Compute all the
measures of dispersion.
Midpoint 95.5 105.5 115.5 125.5 135.5 145.5 155.5 165.5 175.5
Number 5 8 22 27 17 9 5 5 2
12. Obtain probability distribution of , where X is number of spots showing when a six-sided
symmetric die (i.e. all six faces of the die are equally likely) is rolled. Simulate random
samples of sizes 40, 70 and 100 respectively and verify the frequency interpretation of
probability.
13. Make visual representations of data using the base, lattice, and ggplot2 plotting systems in R,
apply basic principles of data graphics to create rich analytic graphics from available datasets.
14. Use Git / Github software to create Github account. Also, c reate a repo using Github.

BCA-EC008 Cloud Computing Cr – 3


Course Outcome: At the end of the course, the students will be able to:

CO1. Able to learn about the basic trends in computing like grid computing, cluster computing,
distributed computing and cloud computing.

51
CO2. Able to learn the basics of cloud computing and architecture of cloud computing.
CO3. Able to learn service management in cloud computing
CO4. Able to learn cloud security methodologies.

Overview of Computing Paradigm


Recent trends in Computing: Grid Computing, Cluster Computing, Distributed Computing, Utility
Computing, Cloud Computing

Introduction to Cloud Computing


Introduction to Cloud Computing, History of Cloud Computing, Cloud service providers, Benefits
and limitations of Cloud Computing

Cloud Computing Architecture


Comparison with traditional computing architecture (client/server), Services provided at various
levels, Service Models- Infrastructure as a Service(IaaS), Platform as a Service(PaaS), Software as
a Service(SaaS), How Cloud Computing Works, Deployment Models- Public cloud, Private cloud,
Hybrid cloud, Community cloud, Case study of NIST architecture.

Case Studies
Case study of Service model using Google App Engine, Microsoft Azure, Amazon EC2 ,
Eucalyptus.

Service Management in Cloud Computing


Service Level Agreements(SLAs), Billing & Accounting, Comparing Scaling Hardware:
Traditional vs. Cloud, Economics of scaling.

Cloud Security
Infrastructure Security- Network level security, Host level security, Application level security, Data
security and Storage- Data privacy and security Issues, Jurisdictional issues raised by Data location,
Authentication in cloud computing.

Text Book and References:

1. Cloud Computing Bible, Barrie Sosinsky, Wiley-India, 2010


2. Cloud Computing: Principles and Paradigms, Editors: Rajkumar Buyya, James Broberg,
Andrzej M. Goscinski, Wile, 2011
3. Cloud Computing: Principles, Systems and Applications, Editors: Nikos Antonopoulos, Lee
Gillam, Springer, 2012
4. Cloud Security: A Comprehensive Guide to Secure Cloud Computing, Ronald L. Krutz,
Russell Dean Vines, Wiley-India, 2010
5. Gautam Shroff, Enterprise Cloud Computing Technology Architecture Applications, Adobe
Reader ebooks available from eBooks.com,2010
6. Toby Velte, Anthony Velte, Robert Elsenpeter, Cloud Computing, A Practical Approach,
McGraw Hills, 2010.
7. Dimitris N. Chorafas, Cloud Computing Strategies ,CRC Press, 2010

BCA-EP008 Cloud Computing Lab Cr – 2


1. Create virtual machines that access different programs on same platform.
2. Create virtual machines that access different programs on different platforms .
3. Working on tools used in cloud computing online

52
a. Storage
b. Sharing of data
c. Manage your calendar, to-do lists,
d. A document editing tool
4. Exploring Google cloud
5. Exploring microsoft cloud
6. Exploring amazon cloud

BCA-EC009 Numerical Methods Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Able to learn floating point representation and computer arithmetic.


CO2. Able to learn bisection method, secant method, Newton Raphson method, Guass elimination
method.
CO3. Able to learn iterative methods like Jacobi and Guass-Seidel iterative methods.
CO4. Able to learn interpolation and piecewise polynomial interpolation.
CO5. Able to learn numerical integration and extrapolation methods like Romberg integration,
Guassian Quadrature.
CO6. Able to learn modified Euler’s method like Heun method and Mid Point method.

Floating point representation and computer arithmetic, Significant digits, Errors: Round-off error,
Local truncation error, Global truncation error, Order of a method, Convergence and terminal
conditions, Efficient computations

Bisection method, Secant method, Regula−Falsi method, Newton−Raphson method, Newton‘s


method for solving nonlinear systems, Gauss elimination method (with row pivoting) and
Gauss−Jordan method, Gauss Thomas method for tridiagonal systems

Iterative methods: Jacobi and Gauss-Seidel iterative methods


Interpolation: Lagrange‘s form and Newton‘s form
Finite difference operators, Gregory Newton forward and backward differences Interpolation
Piecewise polynomial interpolation: Linear interpolation, Cubic spline interpolation (only method),
Numerical differentiation: First derivatives and second order derivatives, Richardson extrapolation

Numerical integration: Trapezoid rule, Simpson‘s rule (only method), Newton−Cotes open
formulas
Extrapolation methods: Romberg integration, Gaussian quadrature, Ordinary differential equation:
Euler‘s method

Modified Euler‘s methods: Heun method and Mid-point method, Runge-Kutta second methods:
Heun method without iteration, Mid-point method and Ralston‘s method Classical 4th order Runge-
Kutta method, Finite difference method for linear ODE

Text Book and References:

1. Laurence V. Fausett, Applied Numerical Analysis, Using MATLAB, Pearson, 2/e (2012)
2. M.K. Jain, S.R.K. Iyengar and R.K. Jain, Numerical Methods for Scientific and Engineering
Computation, New Age International Publisher, 6/e (2012)

53
3. Steven C Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists,
Tata McGraw Hill, 2/e (2010)

BCA-EP009 Numerical Methods Lab Cr – 2


1. Find the roots of the equation by bisection method.
2. Find the roots of the equation by secant/Regula−Falsi method.
3. Find the roots of the equation by Newton‘s method.
4. Find the solution of a system of nonlinear equation using Newton‘s method.
5. Find the solution of tridiagonal system using Gauss Thomas method.
6. Find the solution of system of equations using Jacobi/Gauss-Seidel method.
7. Find the cubic spline interpolating function.
8. Evaluate the approximate value of finite integrals using Gaussian/Romberg integration.
9. Solve the boundary value problem using finite difference method.

Note: Programming is to be done in any one of Computer Algebra Systems: MATLAB /


MATHEMATICA / MAPLE.

BCA-EC010 Systems Programming Cr – 3


Course Outcome: At the end of the course, the students will be able to:

CO1. Able to learn the basics of assembler, loader and linker.


CO2. Able to learn about compilation and phases of compiler.
CO3. Able to learn the lexical analysis process and parsing.
CO4. Able to learn about intermediate representation like three address code generation, syntax
directed translation.
CO5. Able to learn about storage organization like activation records and stack allocation.

Assemblers & Loaders, Linkers


One pass and two pass assembler, design of an assembler, Absolute loader, relocation and linking
concepts, relocating loader and Dynamic Linking.

Introduction
Overview of compilation, Phases of a compiler

Lexical Analysis
Role of a Lexical analyzer, Specification and recognition of tokens, Symbol table, lex

Parsing
Bottom up parsing- LR parser, yacc.

Intermediate representations
Three address code generation, syntax directed translation, translation of types, control statements

Storage organization
Activation records, stack allocation

Code Generation
Object code generation

54
Text Book and References:

1. Santanu Chattopadhyaya, Systems Programming, PHI, 2011.


2. Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles,
Techniques, and Tools, 2nd edition, Prentice Hall, 2006.
3. D. M. Dhamdhere, Systems Programming, Tata McGraw Hill, 2011.
4. Leland Beck, D. Manjula, System Software: An Introduction to System Programming, 3rd
edition, Pearson Education, 2008.
5. Grune D, Van Reeuwijk . K, Bal H. E, Jacobs C J H, Langendoen K, Modern Compiler
Design, 2nd edition, Springer, 2012

BCA-EP010 Systems Programming Lab Cr – 2


1. To implement an assembler for a hypothetical language.
2. To get familiar with lex: write a program to recognize numbers, identifiers.
3. To get familiar with yacc: write a desk calculator.

BCA-EC012 Data Mining Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Understand the basic principles, concepts and applications of data mining.
CO2. Introduce the task of data mining as an important phase of knowledge recovery
process.
CO3. Have a good knowledge of the fundamental concepts that provide the foundation of
data mining.

Overview: Predictive and descriptive data mining techniques, supervised and unsupervised learning
techniques, process of knowledge discovery in databases, pre-processing methods

Data Mining Techniques: Association Rule Mining, classification and regression techniques,
clustering, Scalability and data management issues in data mining algorithms, measures of
interestingness

Text Book and References:

1. Pang-Ning Tan, Michael Steinbach, Vipin Kumar, Introduction to Data Mining, Pearson
Education.2005.
2. Richard Roiger, Michael Geatz, Data Mining: A Tutorial Based Primer, Pearson Education
2003.
3. G.K. Gupta, Introduction to Data Mining with Case Studies, PHI, 2006.
4. Soman K P, Diwakar Shyam, Ajay V Insight Into Data Mining: Theory And Practice, PHI,
2006

BCA-EP012 Data Mining Lab Cr – 2

Practical exercises based on concepts listed in theory.

55
BCA-EC013 Big Data Analytics Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. Identify the need for big data analytics for a domain
CO2. Hands on R tool.
CO3. Use Hadoop, Map Reduce Framework
CO4. Apply big data for a give problem
CO5. Suggest areas to apply big data to increase business outcome
CO6. Contextually integrate and correlate large amounts of information automatically to
gain faster insights

Introduction to Big Data


Importance of Data, Characteristics of Data Analysis of Unstructured Data, Combining Structured
and Unstructured Sources. Introduction to Big Data Platform – Challenges of conventional systems
– Web data – Evolution of Analytic scalability, analytic processes and tools, Analysis vs reporting –
Modern data analytic tools, Types of Data, Elements of Big Data, Big Data Analytics, Data
Analytics Lifecycle.

Big data technology foundations


Exploring the Big Data Stack, Data Sources Layer, Ingestion Layer, Storage Layer, Physical
Infrastructure Layer, Platform Management Layer, Security Layer, Monitoring Layer, Analytics
Engine, Visualization Layer, Big Data Applications, Virtualization. Introduction to Streams
Concepts – Stream data model and architecture – Stream Computing, Sampling data in a stream –
Filtering streams, Counting distinct elements in a stream.

Big data tools


NOSQL, MapReduce – Hadoop, HDFS, Hive, MapR – Hadoop -YARN - Pig and PigLatin, Jaql -
Zookeeper - HBase, Cassandra- Oozie, Lucene- Avro, Mahout. Hadoop Distributed file systems.

Data analysis through


Exploring R: Exploring Basic Features of R, Programming Features, Packages, Exploring RStudio,
Handling Basic Expressions in R, Basic Arithmetic in R, Mathematical Operators, Calling
Functions in R, Working with Vectors, Creating and Using Objects, Handling Data in R
Workspace, Creating Plots, Using Built-in Datasets in R, Reading Datasets and Exporting Data
from R, Manipulating and Processing Data in R.

Frameworks and visualization


Distributed and Parallel Computing for Big Data,Visualizations – Visual data analysis techniques,
interaction techniques; Systems and applications.Exploring the Use of Big Data in Business
Context, Use of Big Data in Social Networking, Business Intelligence, Product Design and
Development.

Text Book and References:


56
1. Big Data, Black Book, DT Editorial Services, Dreamtech Press, 2015
2. Bill Franks, Taming the Big Data Tidal Wave: Finding Opportunities in Huge Data Streams
with advanced analystics, John Wiley & sons, 2012.
3. Glenn J. Myatt, Making Sense of Data, John Wiley & Sons, 2007 Pete Warden, Big Data
Glossary,O’Reilly, 2011.
4. Jiawei Han, MichelineKamber “Data Mining Concepts and Techniques”, Second Edition,
Elsevier, Reprinted 2008.
5. Data Science and Big Data Analytics: Discovering, Analyzing, Visualizing and Presenting
Data by EMC Education Services (Editor), Wiley, 2014
6. Stephan Kudyba, Thomas H. Davenport, Big Data, Mining, and Analytics, Components of
StrategicDecision Making, CRC Press, Taylor & Francis Group. 2014
7. Norman Matloff , THE ART OF R PROGRAMMING, No Starch Press, Inc.2011.
8. Big Data For Dummies, Judith Hurwitz, Alan Nugent, Fern Halper, Marcia Kaufman, Wiley
2013
9. Big Data and Analytics, Seema Acharya, Subhashini Chellappan, Infosys Limited, Publication:
Wiley India Private Limited,1st Edition 2015

BCA-EP013 Big Data Analytics Lab Cr – 2

1. Implement the following Data structures in Java:


a) Linked List
b) Stacks
2. Implement the following Data structures in Java
a) Queues
b) Set
c) Map
3. INSTALATION OF HADOOP:Pseudo Distributed Mode(Single Node Cluster)
4. Frequently used Hadoop shell commands
5. Word Count Example
6. Weather DataSet Example
7. Apache Pig Instalation
8. Apache Pig Latin scripts
9. Hive installation
10. Hive Scripts and Implementation in Java

BCA-EC014 Soft Computing Cr – 3

Course Outcome: At the end of the course, the students will be able to:

CO1. List the facts and outline the different process carried out in fuzzy logic, ANN and
Genetic Algorithms.

57
CO2. Explain the concepts and meta-cognitive of soft computing.
CO3. Apply Soft computing techniques the solve character recognition, pattern
classification, regression and similar problems.
CO4. Outline facts to identify process/procedures to handle real world problems using soft
computing.
CO5. Evaluate various techniques of soft computing to defend the best working solutions.
CO6. Design hybrid system to revise the principles of soft computing in various
applications.

Introduction to artificial neural network


History, overview of biological Neuro-system, Mathematical Models of Neurons, ANN
architecture, Learning rules, Learning Paradigms-Supervised, Unsupervised and reinforcement
Learning, ANN training Algorithms perceptions, Training rules, Delta, Back Propagation
Algorithm, Multilayer Perceptron Model, Applications of Artificial Neural Networks. Competitive
learning networks, Kohonen self organizing networks, Hebbian learning; Hopfield Networks,
Associative Memories, The boltzman machine; Applications.

Fuzzy Logic
Introduction to Fuzzy Logic, Classical and Fuzzy Sets: Overview of Classical Sets, Membership
Function, Fuzzy rule generation. Operations on Fuzzy Sets: Compliment, Intersections, Unions,
Combinations of Operations, Aggregation Operations. Fuzzy Arithmetic: Fuzzy Numbers,
Linguistic Variables, Arithmetic Operations on Intervals & Numbers, Lattice of Fuzzy Numbers,
Fuzzy Equations. Fuzzy Logic: Classical Logic. Genetic algorithms(Gas),Evolution
strategies(Ess),Evolutionary programming(EP), Genetic Programming(GP), Selecting, crossover,
mutation, schema analysis, analysis of selection algorithms; convergence; Markov & other
stochastic models.

Other Soft computing approaches


Simulated Annealing, Tabu Search, Ant colony based optimisation, etc.

Text Book and References:

1. “Neuro-Fuzzy and Soft computing”, Jang, Sun, Mizutani, Pearson


2. “Neural networks: a comprehensive foundation”, Haykin, Pearson
3. “Genetic Algorithms”, Goldberg, Pearson
4. “Fuzzy Sets & Fuzzy Logic”, G.J. Klir & B. Yuan, PHI.
5. “An Introduction to Neural Networks”, Anderson J.A., PHI, 1999.
6. “Introduction to the Theory of Neural Computation”, Hertz J. Krogh, R.G. Palmer, Addison-
Wesley, California, 1991.
7. “An Introduction to Genetic Algorithm”, Melanie Mitchell, PHI, 1998.
8. “Neural Networks-A Comprehensive Foundations”, Prentice-Hall International, New Jersey,
1999.
9. “Neural Networks: Algorithms, Applications and Programming Techniques”, Freeman J.A. &
D.M. Skapura, Addison Wesley, Reading, Mass, (1992).

58
BCA-EP014 Soft Computing Lab Cr – 2

1. To perform Union, Intersection and Complement operations.


2. To implement De-Morgan’s Law
3. To plot various membership functions.
4. To implement FIS Editor. Use Fuzzy toolbox to model tip value that is given after a dinner
based on quality ans service.
5. To implement FIS Editor.
6. Generate ANDNOT function using McCulloch-Pitts neural net.
7. Generate XOR function using McCulloch-Pitts neural net.
8. Hebb Net to classify two dimensional input patterns in bipolar with given targets.
9. Perceptron net for an AND function with bipolar inputs and targets.
10. To calculate the weights for given patterns using heteroassociative neural net.
11. To store vector in an auto-associative net.Find weight matrix & test the net with input
12. To store the vector ,find the weight matrix with no selfconnection.Test this using a discrete
Hopfield net

59
SKILL ENHANCEMENT COURSES
Skill Enhancement Courses (SEC): (Credit: 02 each where, 01 credits Lecture and 01 credits
Practical) (2 papers to be selected)

BCA-SEC001 HTML Programming Cr – 1

Course Outcome: At the end of the course, the students will be able to:

CO1. Insert a graphic within a web page.


CO2. Create a link within a web page.
CO3. Create a table within a web page.
CO4. Insert heading levels within a web page.
CO5. Insert ordered and unordered lists within a web page.
CO6. Create a web page.

Introduction
What is HTML, HTML documents, Basic structure of an HTML document, creating an HTML
document, Mark up Tags, Heading-Paragraphs, Line breaks

The Basics
The Head, The Body, Colors, Attributes, Lists- ordered and unordered

Links
Introduction, Relative links, Absolute links, Link Attributes, Using the ID attribute to link within a
document

Images
Putting an image on a page, using images as links, putting an image in the background.

Tables
Creating a table, Table headers, Captions, Spanning multiple columns, styling table

Forms
Basic input and attributes, other kinds of inputs, styling forms with CSS, where to go from here

Text Book and References:

1. Kogent Learning Solutions Inc., “HTML 5 in simple steps”, Dreamtech Press

John Duckett, “Beginning HTML, XHTML, CSS, and JavaScript”, Wiley India

BCA-SEP001 HTML Programming Lab Cr – 1

1. Create an HTML document with the following formatting options:


a. Bold
b. Italics
c. Underline
d. Headings (Using H1 to H6 heading styles)
e. Font (Type, Size and Color)
60
f. Background (Colored background/Image in background)
g. Paragraph
h. Line Break
i. Horizontal Rule
j. Pre tag

2. Create an HTML document which consists of:


a. Ordered List
b. Unordered List
c. Nested List
d. Image
3. Create an HTML document which implements Internal linking as well as external linking.
4. Create a table using HTML which consists of columns for Roll No., Student‘s name and grade.

Result
Roll No. Name Grade

5. Create a Table with the following view:

Place Image Here

6. Create a form using HTML which has the following types of controls:
a. Text Box
b. Option/radio buttons
c. Check boxes
d. Reset and Submit buttons

7. Create HTML documents (having multiple frames) in the following formats:

61
Frame 1

Frame 2

Frame 1

Frame 2 Frame 3

BCA-SEC002 Programming in PYTHON Cr – 1

Course Outcome: At the end of the course, the students will be able to:

CO1. Students can demonstrate understanding of modern version control tools.


CO2. Students exhibit facility with a Linux command line environment.
CO3. Students can demonstrate understanding of the role of testing in scientific computing, and
write unit tests in Python.
CO4. Students can use command line tools to write and edit code.
CO5. Students can write code in Python to perform mathematical calculations and scientific
simulations.

Planning the Computer Program


Concept of problem solving, Problem definition, Program design, Debugging, Types of errors in
programming, Documentation.

Techniques of Problem Solving


Flowcharting, decision table, algorithms, Structured programming concepts, Programming
methodologies viz. top-down and bottom-up programming.

Overview of Programming
Structure of a Python Program, Elements of Python

Introduction to Python
Python Interpreter, Using Python as calculator, Python shell, Indentation. Atoms, Identifiers and
keywords, Literals, Strings, Operators(Arithmetic operator, Relational operator, Logical or Boolean
operator, Assignment, Operator, Ternary operator, Bit wise operator, Increment or Decrement
operator).

Creating Python Programs


Input and Output Statements, Control statements(Branching, Looping, Conditional Statement, Exit
function, Difference between break, continue and pass.), Defining Functions, default arguments.

Text Book and References:

1. T. Budd, Exploring Python, TMH, 1st Ed, 2011


2. Python Tutorial/Documentation www.python.or 2015
3. Allen Downey, Jeffrey Elkner, Chris Meyers , How to think like a computer scientist :
learning with Python , Freely available online.2012
4. http://docs.python.org/3/tutorial/index.html
62
5. http://interactivepython.org/courselib/static/pythonds
6. http://www.ibiblio.org/g2swap/byteofpython/read/

BCA-SEP002 Programming in PYTHON Lab Cr – 1


Section: A ( Simple programs)
1. Write a menu driven program to convert the given temperature from Fahrenheit to Celsius and
vice versa depending upon users choice.
2. WAP to calculate total marks, percentage and grade of a student. Marks obtained in each of the
three subjects are to be input by the user. Assign grades according to the following criteria :
Grade A: Percentage >=80 Grade B: Percentage>=70 and <80 Grade C: Percentage>=60 and
<70 Grade D: Percentage>=40 and <60 Grade E: Percentage<40
3. Write a menu-driven program, using user-defined functions to find the area of rectangle, square,
circle and triangle by accepting suitable input paramters from user.
4. WAP to display the first n terms of Fibonacci series.
5. WAP to find factorial of the given number.
6. WAP to find sum of the following series for n terms: 1 – 2/2! + 3/3! - - - - - n/n!
7. WAP to calculate the sum and product of two compatible matrices.

Section: B (Visual Python): All the programs should be written using user defined functions,
wherever possible.
1. Write a menu-driven program to create mathematical 3D objects I. curve II. sphere III. cone IV.
arrow V. ring VI. cylinder.
2. WAP to read n integers and display them as a histogram.
3. WAP to display sine, cosine, polynomial and exponential curves.
4. WAP to plot a graph of people with pulse rate p vs. height h. The values of p and h are to be
entered by the user.
5. WAP to calculate the mass m in a chemical reaction. The mass m (in gms) disintegrates
according to the formula m=60/(t+2), where t is the time in hours. Sketch a graph for t vs. m,
where t>=0.
6. A population of 1000 bacteria is introduced into a nutrient medium. The population p grows as
follows: P(t) = (15000(1+t))/(15+ e) where the time t is measured in hours. WAP to determine
the size of the population at given time t and plot a graph for P vs t for the specified time
interval.
7. Input initial velocity and acceleration, and plot the following graphs depicting equations of
motion:
I. velocity wrt time (v=u+at)
II. distance wrt time ( s=u*t+0.5*a*t*t)
III. distance wrt velocity ( s=(v*v-u*u)/2*a )
8. WAP to show a ball bouncing between 2 walls. (Optional)

BCA-SEC003 Android Programming Cr - 1


Course Outcome: At the end of the course, the students will be able to:

CO1. Describe Android platform, Architecture and features.


CO2. Design User Interface and develop activity for Android App.
CO3. Use Intent , Broadcast receivers and Internet services in Android App.
CO4. Design and implement Database Application and Content providers.

63
Introduction
History of Android, Introduction to Android Operating Systems, Android Development Tools,
Android Architecture.

Overview of object oriented programming using Java


OOPs Concepts: Inheritance, Polymorphism, Interfaces, Abstract class, Threads, Overloading and
Overriding, Java Virtual Machine.

Development Tools
Installing and using Eclipse with ADT plug-in, Installing Virtual machine for Android
sandwich/Jelly bean (Emulator), configuring the installed tools, creating a android project – Hello
Word, run on emulator, Deploy it on USB-connected Android device.

User Interface Architecture


Application context, intents, Activity life cycle, multiple screen sizes.

User Interface Design


Form widgets, Text Fields, Layouts, Button control, toggle buttons, Spinners (Combo boxes),
Images, Menu, Dialog.

Database
Understanding of SQLite database, connecting with the database.

Text Book and References:

1. Android application development for java programmers. By James C. Sheusi. Publisher:


Cengage Learning, 2013.

ONLINE READING / SUPPORTING MATERIAL:


2. http://www.developer.android.com
3. http://developer.android.com/about/versions/index.html
4. http://developer.android.com/training/basics/firstapp/index.html
5. http://docs.oracle.com/javase/tutorial/index.htm (Available in the form of free downloadable
ebooks also).
6. http://developer.android.com/guide/components/activities.html
7. http://developer.android.com/guide/components/fundamentals.html
8. http://developer.android.com/guide/components/intents-filters.html.
9. http://developer.android.com/training/multiscreen/screensizes.html
10. http://developer.android.com/guide/topics/ui/controls.html
11. http://developer.android.com/guide/topics/ui/declaring-layout.html
12. http://developer.android.com/training/basics/data-storage/databases.html

BCA-SEP003 Android Programming Lab Cr - 1


1. Create ―Hello World‖ application. That will display ―Hello World‖ in the middle of the screen
in the emulator. Also display ―Hello World‖ in the middle of the screen in the Android Phone.
2. Create an application with login module. (Check username and password).
3. Create spinner with strings taken from resource folder (res >> value folder) and on changing the
spinner value, Image will change.
4. Create a menu with 5 options and and selected option should appear in text box.
5. Create a list of all courses in your college and on selecting a particular course teacher- 53 in-
charge of that course should appear at the bottom of the screen.
64
6. Create an application with three option buttons, on selecting a button colour of the screen will
change.
7. Create and Login application as above. On successful login, pop up the message.
8. Create an application to Create, Insert, update, Delete and retrieve operation on the database.

BCA-SEC004 Programming in MATLAB Cr – 1


Course Outcome: At the end of the course, the students will be able to:

CO1. Express programming & simulation for engineering problems.


CO2. Find importance of this software for Lab Experimentation.
CO3. Articulate importance of software’s in research by simulation work.
CO4. Have in-depth knowledge of providing virtual instruments on LabVIEW Environment.
CO5. Write basic mathematical, electrical, electronic problems in MATLAB
CO6. Simulate basic electrical circuit in Simulink. 7. Connect programming files with GUI
Simulink.

Introduction to Programming
Components of a computer, working with numbers, Machine code, Software hierarchy.

Programming Environment
MATLAB Windows, A First Program, Expressions, Constants, Variables and assignment statement,
Arrays.

Graph Plots
Basic plotting, Built in functions, Generating waveforms, Sound replay, load and save.

Procedures and Functions


Arguments and return values, M-files, Formatted console input-output, String handling.

Control Statements
Conditional statements: If, Else, Else-if, Repetition statements: While, for loop.

Manipulating Text
Writing to a text file, Reading from a text file, Randomising and sorting a list, searching a list.

GUI Interface
Attaching buttons to actions, Getting Input, Setting Output.

Text Book and References:


1. MATLAB: An Introduction with Applications, by Amos Gilat, 2nd edition, Wiley, 2004,
2. C.B. Moler, Numerical Computing with MATLAB, SIAM, 2004.

BCA-SEP004 Programming in MATLAB Lab Cr – 1


1. Write a program to assign the following expressions to a variable A and then to print out the
value of A.
a. (3+4)/(5+6)
b.
c.

65
d. (0.0000123 + 5.67×10-3 ) × 0.4567×10-4
2. Celsius temperatures can be converted to Fahrenheit by multiplying by 9, dividing by 5, and
adding 32. Assign a variable called C the value 37, and implement this formula to assign a
variable F the Fahrenheit equivalent of 37 Celsius.
3. Set up a vector called N with five elements having the values: 1, 2, 3, 4, 5. Using N, create
assignment statements for a vector X which will result in X having these values:
a. 2, 4, 6, 8, 10
b. 1/2, 1, 3/2, 2, 5/2
c. 1, 1/2, 1/3, 1/4, 1/5
d. 1, 1/4, 1/9, 1/16, 1/25 54
4. A supermarket conveyor belt holds an array of groceries. The price of each product (in pounds)
is [ 0.6, 1.2 ,0.5, 1.3 ] ; while the numbers of each product are [ 3, 2 ,1 ,5 ]. Use MATLAB to
calculate the total bill.
5. The sortrows(x) function will sort a vector or matrix X into increasing row order. Use this
function to sort a list of names into alphabetical order.
6. The ―identity‖ matrix is a square matrix that has ones on the diagonal and zeros elsewhere. You
can generate one with the eye() function in MATLAB. Use MATLAB to find a matrix B, such
that when multiplied by matrix A=[ 1 2; -1 0 ] the identity matrix I=[ 1 0; 0 1 ] is generated.
That is A*B=I.
7. Create an array of N numbers. Now find a single MATLAB statement that picks out from that
array the 1,4,9,16,…,√Nth entries, i.e. those numbers which have indices that are square
numbers.
8. Draw a graph that joins the points (0,1), (4,3), (2,0) and (5,-2).
9. The seeds on a sunflower are distributed according to the formula below. Plot a small circle at
each of the first 1000 co-ordinates :
10. Calculate 10 approximate points from the function y=2x by using the formulae:
i. xn = n
ii. yn = 2n + rand - 0.5
Fit a line of best fit to these points using the function polyfit() with degree=1, and generate
co-ordinates from the line of best fit using polyval(). Use the on-line help to find out how to
use these functions. Plot the raw data and the line of best fit.
11. Calculate and replay 1 second of a sinewave at 500Hz with a sampling rate of 11025Hz. Save
the sound to a file called "ex35.wav". Plot the first 100 samples.
12. Calculate and replay a 2 second chirp. That is, a sinusoid that steadily increases in frequency
with time, from say 250Hz at the start to 1000Hz at the end.
13. Build a square wave by adding together 10 odd harmonics: 1f, 3f, 5f, etc. The amplitude of the
nth harmonic should be 1/n. Display a graph of one cycle of the result superimposed on the
individual harmonics.
14. Write a function called FtoC (ftoc.m) to convert Fahrenheit temperatures into Celsius. Make
sure the program has a title comment and a help page. Test from the command window with:
i. FtoC(96)
ii. lookfor Fahrenheit
iii. help FtoC
15. Write a program to input 2 strings from the user and to print out
(i) the concatenation of the two strings with a space between them,
(ii) a line of asterisks the same length as the concatenated strings, and
(iii) the reversed concatenation.
For example:
i. Enter string 1: Mark
ii. Enter string 2: Huckvale
iii. Mark Huckvale
iv. *************

66
v. elavkcuH kraM

BCA-SEC005 XML Programming Cr – 1


Course Outcome: At the end of the course, the students will be able to:

CO1. Understand mark-up languages


CO2. XML structure and syntax, document classes and rules
CO3. Scripting XML, XML as data, linking with XML
CO4. Understand style sheet basics

Introduction
Understanding Mark-up Languages, Introduction to XML and its Goals.

XML Basics
XML Structure and Syntax, Document classes and Rules.

Other XML Concepts


Scripting XML, XML as Data, Linking with XML.

XML with Style


XSL –Style Sheet Basics, XSL basics, XSL style sheets.

Text Book and References:

CO7. XML in action web technology by William J. Pardi


CO8. Step by Step XML by Michael J. Young

BCA-SEP005 XML Programming Lab Cr – 1


1. Information Structure
In this exercise, student will practice identifying the structure of an information object. For the
sample document provided below: Label the information structures you see, including containing
structures.
Draw a tree representation of the structure.

2. Deconstructing an XML Document


In this exercise, student will practice identifying the explicit structure within an XML document. In
a sense, this is the reverse of what you did in 1. For the sample XML markup below, create a
document-like representation (or a simple drawing) for the content contained within the XML tags:
<book>
67
<coverInfo>
<title> The XML Handbook </title>
<author> Charles F. Goldfarb </author>
<author> Paul Prescod </author>
<edition> Second </edition>
<description> The definitive XML resource: applications, products, and technologies. Revised and
expanded – over 600 new pages. </description>
</coverInfo>
</book>
3. Creating XML Markup In this exercise, create some XML markup based on the tree
representation from 1 above, and the content from the original sample document.
4. Well-Formedness
This exercise checks your understanding of the constraints for well-formedness. Are the following
document instances well-formed? Explain any NO answers.
<list> <title> The first list </title> <item> An item </list>
<item> An item </item> <item> Another item </item>
<para> Bathing a cat is a <emph> relatively </emph> easy task as long as the cat is willing. </para>
<bibl> <title> How to Bathe a Cat <author> </title> Merlin Bauer <author></bibl>
5. Well Formedness
This exercise is a bit more challenging than the previous example. Here is a fragment of an XML
document instance. Identify all the places where it fails to match the constraints for wellformedness.
<PROCEDURE><TITLE> How to Bathe a Cat </TITLE>
<OVERVIEW>
This procedure tells you how to bathe a cat. <WARNING> </OVERVIEW> Cats don't like to take
baths. You could get hurt doing this. Be sure to obtain all the required protective gear before you
start. </WARNING><EQIPMENT><ITEM>Hockey Mask <ITEM>Padded Full-body Kevlar
Armor</ITEM><ITEM>Tub full of warm water</ITEM><ITEM>Towels </ITEM><ITEM>First
Aid kit</ITEM><ITEM>Cat Shampoo</ITEM> <EQUIPMENT><INSTRUCTIONS>
<STEP>Locate the cat, who by now is hiding under the bed.</STEP><STEP>Place the cat in the
tub of water. </STEP> <ITEM>Using the First Aid kit, repair the damage to your head and
arms.</STEP><STEP> Place the cat back in the tub and hold it down. </STEP><STEP>Wash it
really fast, then make an effort to dry it with the towels. </STEP><STEP>Decide not to do this
again. </STEP> </INSTRUCTIONS>

BCA-SEC006 Oracle (SQL/PL-SQL) Cr – 1


Course Outcome: At the end of the course, the students will be able to:

CO1. Understand SQL formatting commands


CO2. Create a table, alter and drop table
CO3. Perform select, update, insert and delete operations in a table
CO4. Understand use and working with joins
CO5. Make views of a table
CO6. Understand working with PL/SQL
CO7. Implement Cursor on a table
CO8. Implement trigger on a table

Introduction to Oracle as RDBMS

SQL Vs. SQL * Plus


SQL Commands and Data types, Operators and Expressions, Introduction to SQL * Plus.

68
Managing Tables and Data
 Creating and Altering Tables (Including constraints)
 Data Manipulation Command like Insert, update, delete
 SELECT statement with WHERE, GROUP BY and HAVING, ORDER BY, DISTINCT,
Special operator like IN, ANY, ALL BETWEEN, EXISTS, LIKE
 Join, Built in functions

Other Database Objects


 View
 Synonyms, Index

Transaction Control Statements


 Commit, Rollback, Savepoint

Introduction to PL/SQL
 SQL v/s PL/SQL
 PL/SQL Block Structure
 Language construct of PL/SQL (Variables, Basic and Composite Data type, Conditions
looping etc.)
 % TYPE and % ROWTYPE
 Using Cursor (Implicit, Explicit)

Text Book and References:

1. Ivan Bayross, "SQL, PL/SQL the Programming Language of Oracle Paperback", BPB
Publicatins, 2010.
2. Steven Feuerstein, Bill Pribyl , "Oracle PL/SQL Programming", 6th Edition, O'Reilly
Media, 2014.
3. Rajeeb C. Chatterjee, "Learning Oracle SQL and PL/SQL: A simplified Guide", PHI, 2012.
4. Ron Hardman, Michael Mclaughlin, "Expert Oracle PL/SQL", Oracle Press, 2005.
5. Michael Mclaughlin, "Oracle Database 11g PL/SQL Programming", Oracle Press, 2008.
6. John Watson, Roopesh Ramklass, "OCA Oracle Database11g SQL Fundamentals I Exam
Guide", Oracle Press, 2008.

BCA-SEP006 Oracle (SQL/PL-SQL) Lab Cr – 1


[SQL COMMANDS]
1. SQL* formatting commands
2. To create a table, alter and drop table.
3. To perform select, update, insert and delete operation in a table.
4. To make use of different clauses viz where, group by, having, order by, union and intersection,
5. To study different constraints.

[SQL FUNCTION]
6. To use oracle function viz aggregate, numeric, conversion, string function.
7. To understand use and working with joins.
8. To make use of transaction control statement viz rollback, commit and save point.
9. To make views of a table.
10. To make indexes of a table.

[PL/SQL]
69
11. To understand working with PL/SQL
12. To implement Cursor on a table.
13. To implement trigger on a table

BCA-SEC007 PHP Programming Cr – 1


Course Outcome: At the end of the course, the students will be able to:

CO1. Understand introduction to PHP


CO2. Handle HTML form with PHP
CO3. GET and POST form methods
CO4. Redirecting a form after submission
CO5. Understand PHP conditional events and loops
CO6. Understand string manipulation and regular expression

Introduction to PHP
 PHP introduction, inventions and versions, important tools and software requirements (like
Web Server, Database, Editors etc.)
 PHP with other technologies, scope of PHP
 Basic Syntax, PHP variables and constants
 Types of data in PHP , Expressions, scopes of a variable (local, global)
 PHP Operators : Arithmetic, Assignment, Relational , Logical operators, Bitwise , ternary
and MOD operator.
 PHP operator Precedence and associativity

Handling HTML form with PHP


 Capturing Form Data
 GET and POST form methods
 Dealing with multi value fields
 Redirecting a form after submission

PHP conditional events and Loops


 PHP IF Else conditional statements ( Nested IF and Else)
 Switch case, while ,For and Do While Loop
 Goto , Break ,Continue and exit

PHP Functions
 Function, Need of Function , declaration and calling of a function
 PHP Function with arguments, Default Arguments in Function
 Function argument with call by value, call by reference
 Scope of Function Global and Local

String Manipulation and Regular Expression


 Creating and accessing String , Searching & Replacing String
 Formatting, joining and splitting String , String Related Library functions
 Use and advantage of regular expression over inbuilt function
 Use of preg_match(), preg_replace(), preg_split() functions in regular expression

Array
 Anatomy of an Array ,Creating index based and Associative array ,Accessing array
70
 Looping with Index based array, with associative array using each() and foreach()
 Some useful Library function

Text Book and References:

1. Steven Holzner, "PHP: The Complete Reference Paperback", McGraw Hill Education
(India), 2007.
2. Timothy Boronczyk, Martin E. Psinas, "PHP and MYSQL (Create-Modify-Reuse)", Wiley
India Private Limited, 2008.
3. Robin Nixon, "Learning PHP, MySQL, JavaScript, CSS & HTML5", 3rd Edition Paperback,
O'reilly, 2014.
4. Luke Welling, Laura Thompson, PHP and MySQL Web Development", 4th Edition,
Addition Paperback, Addison-Wesley Professsional,2008.
5. David Sklar, Adam Trachtenberg, "PHP Cookbook: Solutions & Examples for PHP
Programmers", 2014.

BCA-SEP007 PHP Programming Lab Cr – 1


1. Create a PHP page using functions for comparing three integers and print the largest number.
2. Write a function to calculate the factorial of a number (non-negative integer). The function
accept the number as an argument.
3. WAP to check whether the given number is prime or not.
4. Create a PHP page which accepts string from user. After submission that page displays the
reverse of provided string.
5. Write a PHP function that checks if a string is all lower case.
6. Write a PHP script that checks whether a passed string is palindrome or not? ( A palindrome is
word, phrase, or sequence that reads the same backward as forward, e.g., madam or nurses run)
7. WAP to sort an array.
8. Write a PHP script that removes the whitespaces from a string. Sample string : 'The quick " "
brown fox' Expected Output : Thequick""brownfox
9. Write a PHP script that finds out the sum of first n odd numbers.
10. Create a login page having user name and password. On clicking submit, a welcome message
should be displayed if the user is already registered (i.e.name is present in the database)
otherwise error message should be displayed.
11. Write a PHP script that checks if a string contains another string.
12. Create a simple 'birthday countdown' script, the script will count the number of days between
current day and birth day.
13. Create a script to construct the following pattern, using nested for loop.
*
**
***
****
*****
14. Write a simple PHP program to check that emails are valid.
15. WAP to print first n even numbers.
16. $color = array('white', 'green', 'red'') Write a PHP script which will display the colors in the
following way : Output : white, green, red, • green • red • white
17. Using switch case and dropdown list display a ―Hello‖ message depending on the language
selected in drop down list.
18. Write a PHP program to print Fibonacci series using recursion.
19. Write a PHP script to replace the first 'the' of the following string with 'That'
Sample : 'the quick brown fox jumps over the lazy dog.'
71
Expected Result : That quick brown fox jumps over the lazy dog

BCA-SEC008 Linux/ Unix Programming Cr – 1


Course Outcome: At the end of the course, the students will be able to:

CO1. Shell and various types of shell


CO2. Different modes of operation in vi editor
CO3. Shell script, writing and executing the shell script
CO4. Shell variables (user defined and system variables)
CO5. Decision making in shell scripts
CO6. Functions
CO7. Utility programs
CO8. Pattern matching utility

Introduction
 What is linux/unix Operating systems
 Difference between linux/unix and other operating systems
 Features and Architecture
 Various Distributions available in the market
 Installation, Booting and shutdown process
 System processes (an overview)
 External and internal commands
 Creation of partitions in OS
 Processes and its creation phases – Fork, Exec, wait

User Management and the File System


 Types of Users, Creating users, Granting rights
 User management commands
 File quota and various file systems available
 File System Management and Layout, File permissions
 Login process, Managing Disk Quotas
 Links (hard links, symbolic links)

Shell introduction and Shell Scripting


 What is shell and various type of shell, Various editors present in linux
 Different modes of operation in vi editor
 What is shell script, Writing and executing the shell script
 Shell variable (user defined and system variables)
 System calls, Using system calls
 Pipes and Filters
 Decision making in Shell Scripts (If else, switch), Loops in shell
 Functions
 Utility programs (cut, paste, join, tr , uniq utilities)
 Pattern matching utility (grep)

Text Book and References:


1. Sumitabha, Das, Unix Concepts And Applications, Tata McGraw-Hill Education, 2006

72
2. Michael Jang RHCSA/ RHCE Red Hat Linux Certification: Exams (Ex200 & Ex300)
(Certification Press), 2011
3. Nemeth Synder & Hein, Linux Administration Handbook, Pearson Education, 2nd Edition
,2010
4. W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, Unix Network Programming, The
sockets Networking API, Vol. 1, 3rd Edition,2014

BCA-SEP008 Linux/ Unix Programming Lab Cr – 1


1. Write a shell script to check if the number entered at the command line is prime or not.
2. Write a shell script to modify ―cal‖ command to display calendars of the specified months.
3. Write a shell script to modify ―cal‖ command to display calendars of the specified range of
months.
4. Write a shell script to accept a login name. If not a valid login name display message –
―Entered login name is invalid‖.
5. Write a shell script to display date in the mm/dd/yy format.
6. Write a shell script to display on the screen sorted output of ―who‖ command along with the
total number of users.
7. Write a shell script to display the multiplication table any number,
8. Write a shell script to compare two files and if found equal asks the user to delete the duplicate
file.
9. Write a shell script to find the sum of digits of a given number.
10. Write a shell script to merge the contents of three files, sort the contents and then display them
page by page.
11. Write a shell script to find the LCD(least common divisor) of two numbers.
12. Write a shell script to perform the tasks of basic calculator.
13. Write a shell script to find the power of a given number.
14. Write a shell script to find the binomial coefficient C(n , x).
15. Write a shell script to find the permutation P(n,x).
16. Write a shell script to find the greatest number among the three numbers.
17. Write a shell script to find the factorial of a given number.
18. Write a shell script to check whether the number is Armstrong or not.
19. Write a shell script to check whether the file have all the permissions or not.
20. Program to show the pyramid of special character ―*‖.9.

BCA-SEC009 R Programming Cr – 1
Course Outcome: At the end of the course, the students will be able to:

CO1. To understand overview of R.


CO2. Data types and objects, reading and writing data, control structures
CO3. Loop functions, debugging tools and code profiling.
CO4. Exploring data analysis using essential exploratory techniques, common multivariate
statistical techniques used to visualize high-dimensional data.
CO5. Reproducible research including concepts and tools behind reporting modern data analysis
in a reproducible manner, to write code using R markdown.
CO6. Organize a data analysis so that it is reproducible and accessible to others

Introduction
Overview and History of R, Getting Help, Data Types, Subsetting, Vectorized Operations, Reading
and Writing Data.

73
Control Structures, Functions, lapply, tapply, split, mapply, apply, Coding Standards.

Scoping Rules, Debugging Tools, Simulation, R Profiler.

Text Book and References:


1. William N. Venables and David M. Smith, An Introduction to R. 2nd Edition. Network
Theory Limited.2009
2. Norman Matloff, The Art of R Programming - A Tour of Statistical Software Design, No
Starch Press.2011

BCA-SEP009 R Programming Lab Cr – 1


1. Write a program that prints ‗Hello World‘ to the screen.
2. Write a program that asks the user for a number n and prints the sum of the numbers 1 to n
3. Write a program that prints a multiplication table for numbers up to 12.
4. Write a function that returns the largest element in a list.
5. Write a function that computes the running total of a list.
6. Write a function that tests whether a string is a palindrome.
7. Implement the following sorting algorithms: Selection sort, Insertion sort, Bubble Sort
8. Implement linear search.
9. Implement binary search.
10. Implement matrices addition, subtraction and Multiplication

BCA-SEC010 Software Testing Cr – 1


Course Outcome: At the end of the course, the students will be able to:

CO1. Determine the nature of roots of a quadratic equation.


CO2. Test cases using Boundary Value Analysis, Equivalence Class Partitioning and
Decision Table Testing.
CO3. Generate test cases using Basic Path Testing.
CO4. To check whether a number is even or odd.
CO5. Run code coverage tool and find the amount of code being covered.
CO6. Dynamically allocates memory using malloc() and calloc() functions.

Introduction
Strategic Approach to Software Testing, Test Strategies for Conventional Software, Validation
Testing, System Testing, Basic Terminologies, V Shaped Software Lifecycle Model

Functional Testing\ Black-box Testing


Boundary Value Analysis, Equivalence Class Testing, Decision Table Based Testing

Structural Testing\ White-box Testing


Basis Path Testing: Program Graph, DD Path graph, Cyclomatic Complexity, Graph Matrices,
Control Flow Testing: Statement Coverage, Branch Coverage, Condition Coverage, Path Coverage

Text Book and References:


1. Roger S. Pressman, Software Engineering: A Practitioner‘s Approach, Seventh Edition, Mc
Graw Hill Education.2009

74
2. Yogesh Singh, Software Testing, Cambridge University Press.2011.

BCA-SEP010 Software Testing Lab Cr – 1


1. Write a program that take three inputs (a,b &c) that represent the sides of a triangle, and the
output is one of the below four:
a. Not a triangle
b. Scalene triangle
c. Isosceles triangle
d. Equilateral triangle
1.1 Generate test cases using Boundary Value Analysis, Equivalence Class Partitioning and
Decision Table Testing.
1.2 Generate test cases using Basis path testing.
1.3 Run code coverage tool.
2. Write a program that determines the nature of roots of a quadratic equation. Output should be
one of the following:-
 Not a quadratic equation.
 Complex roots
 Real roots
 Single roots
I. Generate test cases using Boundary Value Analysis, Equivalence Class Partitioning and
Decision Table Testing.
II. Generate test cases using Basis path testing.
III. Run code coverage tool
3. Write a program that checks whether the number is even or odd. Run code coverage tool and
find the amount of code being covered.
4. Write a program that dynamically allocates memory to10 integers using malloc() or calloc() and
 donot free memory leading to memory leaks. Verify the same usingValgrind.
 Now, free memory using free() at the end of the program to avoid memory leaks. Verify the
same using Valgrind.
5. Use LoadUI load testing tool to test the web application performance

75
GENERAL ELECTIVE COURSES
General Elective (GE) Courses: (Credit: 06 each where, 04 credits Lecture and 02 credits
Practical OR 05 credits Lecture and 01 credits Tutorial) (4 papers to be selected)

BCA-GE001 Mathematics-I Cr - 6
Course Outcome: At the end of the course, the students will be able to:

CO1. Understand the concept of nth derivative of the some special functions and in product form
through the Leibnitz’s Theorem.
CO2. Understand the concept of partial differentiation and use of Euler’s theorem on
homogeneous functions.
CO3. Understand the concept of some basic geometric structures in the different form in different
co-ordinate system. Getting the changes of the origin without changing the direction of axes,
change of the direction of the axes, without changes the origin
CO4. Develop an ability of some basic formulation of the differential equations of the problem.
CO5. Get the concept on different types of roots of higher order PDEs and also develop an ability
to solve higher order PDEs.
CO6. Understand the some basic standard properties and operators in vector calculus.
CO7. Getting some basic concept of closed set, open set and compact set in the context of real
analysis.

Differential Calculus
Successive differentiation, formulae for the nth derivative of some standard function.Leibnitz’s
theorem.nth derivative of some rational function, Expansion of functions.Taylors’ infinite series,
Maclaurins’ series, Use of Taylors’ and Maclaurins’ series.Partial differentiation, Euler’s theorem
on homogeneous functions.
Tangent and normal, their equations in the Cartesian form, parametric form.Tangent at the origin.To
find the angle of intersection between two curves.Cartesian tangent, normal subtangent, subnormal
and their values in the Cartesian form.Polar coordinates and tracing of curves in polar coordinates.

Integral Calculus
Integration of rational and irrational functions. By Partial fraction, by transformation in to standard
form, by substitution and by parts etc.

Differential Equation:
First degree and first order Differential equation : Higher order differential equation with constant
coefficients. Linear partial differential equation of first order P.D.E. of higher with constant
coefficients.

Vectors
Scalar and vector function, scalar and vector product, vector operators: gradient, divergent and curl,
Differentiation of vector function.

Coordinate Geometry of Two Dimension


Change of rectangular axes, changing of the origin without changing the direction of axes, change
of the direction of the axes, without changing the origin.

Real Analysis

76
Axioms of the real number system, set of natural numbers, set of integers, set of rational numbers-
their structure, order relation and simple algebraic operation on them Bounds, closed, open and
compact sets.

Text Book and References:

1. B.S. Grewal, Higher Engineering Mathematics, 44th Edition, Khanna Publishers, 1965
2. Lalji Prasad, Differential Calculus, Paramount Publications, 2016
3. Shepley L. Ross, Differential Equations, 3rd Edition, Wiley, 2007

BCA-GE002 Mathematics-II Cr – 6
Course Outcome: At the end of the course, the students will be able to:

CO1. Be able to explain the fundamental concepts of advanced algebra such as groups, rings, field
and spaces and their role in modern mathematics and applied contexts. Demonstrate accurate
and efficient use of advanced algebraic techniques.
Demonstrate capacity for mathematical reasoning through analyzing, proving and explaining
concepts from advanced algebra. Apply problem-solving using advanced algebraic techniques
applied to diverse situations in physics, engineering and other mathematical contexts.
CO2. Be able to perform common matrix operations such as addition, scalar multiplication,
multiplication, and transposition. Solve systems of linear equations using Gauss-Jordan
elimination to reduce to echelon form. Solve systems of linear equations using the inverse of the
coefficient matrix when possible. Perform row operations on a matrix. Multiply matrices.
Multiply matrices. Recognize and use equivalent forms to identify matrices and solve linear
systems. Be able to find eigen values and eigen vectors.
CO3. Be able to provide a definition of the determinant. Describe how to perform row and column
operations. Analyze the determinant of a product algebraically. Compute the determinant of a
two-by-two matrix. Compute the determinant of a three-by-three matrix. Compute the
determinant of a matrix via cofactor expansion. Use determinants to calculate the inverse of a
matrix.
CO4. Be able to understand of common numerical methods and how they are used to obtain
approximate solutions to otherwise intractable mathematical problems. Apply numerical
methods to obtain approximate solutions to mathematical problems. Derive numerical methods
for various mathematical operations and tasks, such as interpolation, differentiation, integration,
the solution of linear and nonlinear equations, and the solution of differential equations.
Analyze and evaluate the accuracy of common numerical methods.

Abstract Algebra:
Group, Subgroups, Ring, Integral Domain, Field and Introduction of Boolean Algebra.

Linear Algebra:
Spaces and Subspaces, Basic and Dimension of Vector Spaces, Linear Transformation, Their
Nullity and Rank.

Matrix Algebra:
Elementary Transformation, Inverse of a Matrix by Row Operation, Rank, Solution of a System of
Linear Simultaneous Equation by Matrix Methods, Eigen Values and Eigen Vectors, Quadratic
Forms.
Determinant: Properties and expansion. Solution of simultaneous linear equations in two and three
variables by Cramer’s Rules.
77
Analytical Geometry of 3-Dimensions:
Rectangular, Spherical, polar and Cylindrical Coordinates, Direction Cosines, Planes, Straight
Lines, Shortest Distance Between Two Skew Lines, Sphere.

Text Book and References:

1. “Modern Algebra” By A.R.Vasishtha. Krishna Prakashan Media (P) Ltd Meerut.


2. “Matrices” By A.R.Vasishtha. Krishna Prakashan Media (P) Ltd Meerut.
3. “Analytical Geometry of The Dimensions” By Dasguta Prasad, Bharti Bhawan
4. “Advanced Course in Modern Algebra” By Prof Dr.K.K.Jha, New Bharat Prakashan Delhi- 6.
5. “Krishna Series” Analytical Geometry of three Dimension” By A.R.Vasishtha. Krishna
Prakashan Media (P) Ltd Meeru

BCA-GE003 Statistics Cr – 6
Course Outcome: At the end of the course, the students will be able to:

CO1. Recognizes the degree of uncertainty that is involved before making important decisions:
Identifies random experiment, sample space, sample point, illustrates different approaches to
probability, evaluates probability of events using classical definition of probability, evaluates
joint probability of two events using addition rule, basic probability axioms and rules and the
moments of discrete and continuous random variables as well as be familiar with common
named discrete and continuous random variables. Illustrates Baye’s Theorem and solves its
application level problems. How to calculate probabilities and derive the marginal and
conditional distributions of bivariate random variables.
CO2. Explain basic statistical concepts such as statistical collection, species characteristics,
statistical series, tabular and graphical representation of data, measures of central tendency,
dispersion analysis.
CO3. Be familiar with the importance of measuring dispersion. Explains and evaluates the
measures of dispersion-Range, Quartile deviation, Mean deviation, Standard deviation.
Distinguishes absolute and relative measures of dispersion. Recognizes skewness of
distributions and kurtosis of distributions.
CO4. Be able to compute and interpret Correlation Analysis. Understand regression analysis: be
able to compute and interpret the results of Bivariate Regression, be able to compute and
interpret the results of Multivariate Regression.
CO5. Be able to understand the hypothesis testing: Be able to perform Test of Hypothesis,
calculate confidence interval for a population parameter for single sample and two. Student
knows all parts of nonparametric test such as the Chi-square test for Independence as well as
Goodness of Fit.

Probability:
Introduction, Events & Different Types of Events, Addition & Multiplication Law, Conditional
Probability, Bay's Theorem.

Probability Distribution:
Random Variables, Probability Function, Binomial Poison & Normal Distribution.

Statistics:
Definition, Function & Scope of Statistics.

78
Measures of Central Tendency:
Arithmetic Mean, Weighted A.M., Median, Mode, Geometric & Harmonic Mean and Their Merits
& Demerits.

Measures of Variation:
Range, The Interquartile Range or Quartile Deviation, Average (Mean), Deviation Standard
Deviation, Coefficient of Variation, Skew ness, Moments & Kurtosis.
Correlation Analysis:
Introduction, Karl Pearson's Coefficient of Correlation, Rank Correlation Coefficient.

Regression Analysis:
Difference between Correlation & Regression, Regression Lines, Regression Equations,
Regressions Coefficient.

Sampling Distribution:
Chi Square (X2) Distribution and Its Properties, Chi - Square Test, Application of Chi -Square

Distribution:
Chi-Square Test for Population Variance, Chi-Square Test of Goodness of Fit, Independence of
Attributes, T- Distribution & Its Properties, Application of T - Distribution to Testing Hypothesis
About Population Mean, Difference Between Two Means, Correlation Coefficient, F- Distribution.

Text Book and References:

1. S.P. Gupta & M.P. Gupta, "Business Statistics", Sultan Chand & Sons.
2. S.C. Gupta & V.K. Kapoor ,"Fundamental of Mathematical Statistics", Sultan Chand & Sons.

BCA-GE004 Operation Research Cr – 6


Course Outcome: At the end of the course, the students will be able to:

CO1. Understand the concept of theory and formulation of linear programming problem in
different areas of approaches.
CO2. Operations research has overlap with other disciplines, notably industrial
engineering and operations management, and draws on psychology and organization science.
CO3. Designing a cost function with a optimum value at an acceptable solution
CO4. Developing an efficient numerical method to search for one (or multiple) of these optimum.
CO5. Operations research arrives at optimal or near-optimal solutions to complex decision-
making problems
CO6. Operations research is often concerned with determining the maximum (of profit,
performance, or yield) or minimum (of loss, risk, or cost) of some real-world objective.
Originating in military efforts before World War II, its techniques have grown to concern
problems in a variety of industries.

Operations Research:
Definitions, Characteristics, Structure of Linear Programming Model, Advantages, Limitations,
Applications of Linear Programming. General Mathematical Model of Linear Programming
Problem, Graphical Solution Methods and Standard Form of an LP Problem, Simplex Algorithm
(Maximization Case), Simplex Algorithm (Minimization Case).

Duality in Linear Programming:

79
Formulation of Dual Linear Programming Problem, Standard Results on Duality, Advantages of
Duality.

Integer Linear Programming:


Types of Integer Programming Problems, Enumeration and Cutting Plane Solution Concept,
Gomory’s All Integer Cutting Plane Method, Gomory’s Mixed- Integer Cutting Plane Method.

Transportation Problem:
Mathematical Model of Transportation Problem, the Transportation Algorithm, Methods for
Finding Initial Solution.

Assignment Problem:
Mathematical Model of Statement Assignment Problem, Solution Methods of Assignment Problem.

Project Management-PERT and CPM:


Introduction, Basic Differences between PERT and CPM, Phases of Project Management,
PERT/CPM Network Components and Precedence Relationships, Critical Path Analysis.

Queuing Theory:
Essential Features of a Queuing System, Performance Measures of a Queuing System, Probability
Distributions in Queuing Systems, Classification of Queuing Models, Single- Server Queuing
Models, Multi-Server Queuing Models.

Text Book and References:

1. J.K Sharma- Operations Research Theory & Applications, 3rd Edn, Macmillan India Ltd., New
Delhi-2007.
2. H.A. Taha-Operations Research: An Introduction, Pearson Education, New Delhi, 2006.

3. S. Kalavathy, Operations Research, 1st edition, Vikas Publishing House, Pvt Limited, 2006.

4. Operations Research, Kanti Swarup, P. K. Gupta, Man Mohan, Sultan Chand and Sons.

BCA-GE004 Physics Cr – 4
Course Outcome: At the end of the course, the students will be able to:

CO1. Have a deep understanding of Newton’s laws,


CO2. Be able to solve the Newton equations for simple configurations using various methods,
CO3. Understand the foundations of chaotic motion.

Vectors
Vector algebra. Scalar and vector products. Derivatives of a vector with respect to a parameter.

Ordinary Differential Equations


1st order homogeneous differential equations. 2nd order homogeneous differential equations with
constant coefficients.

Laws of Motion
Frames of reference. Newton’s Laws of motion. Dynamics of a system of particles. Centre of Mass.

80
Momentum and Energy
Conservation of momentum. Work and energy. Conservation of energy. Motion of rockets.

Rotational Motion
Angular velocity and angular momentum. Torque. Conservation of angular momentum.

Gravitation
Newton’s Law of Gravitation. Motion of a particle in a central force field (motion is in a plane,
angular momentum is conserved, areal velocity is constant). Kepler’s Laws (statement only).
Satellite in circular orbit and applications. Geosynchronous orbits. Basic idea of global positioning
system (GPS). Weightlessness. Physiological effects on astronauts.

Oscillations
Simple harmonic motion. Differential equation of SHM and its solutions. Kinetic and Potential
Energy, Total Energy and their time averages. Damped oscillations.

Elasticity
Hooke’s law - Stress-strain diagram - Elastic moduli-Relation between elastic constants - Poisson’s
Ratio-Expression for Poisson’s ratio in terms of elastic constants - Work done in stretching and
work done in twisting a wire - Twisting couple on a cylinder - Determination of Rigidity modulus
by static torsion - Torsional pendulum-Determination of Rigidity modulus and moment of inertia -
q, η and Searles method.

Special Theory of Relativity


Constancy of speed of light. Postulates of Special Theory of Relativity. Length contraction. Time
dilation. Relativistic addition of velocities.

Note: Students are not familiar with vector calculus. Hence all examples involve differentiation
either in one dimension or with respect to the radial coordinate.

Text Book and References:

1. University Physics. F.W. Sears, M.W. Zemansky and H.D. Young, 13/e, 1986.
2. Addison-Wesley Mechanics Berkeley Physics, v.1: Charles Kittel, et. al. 2007, Tata McGraw-
Hill.
3. Physics – Resnick, Halliday & Walker 9/e, 2010, Wiley
4. Engineering Mechanics, Basudeb Bhattacharya, 2nd edn., 2015, Oxford University Press
5. University Physics, Ronald Lane Reese, 2003, Thomson Brooks/Cole.

BCA-GE105 Physics Lab Cr – 2


1. To determine the thickness of wire using screw guage.
2. To determine the volume of a sphere using vernier callipers.
3. To represent simple harmonic motion with the help of vertical oscillation of spring to
determine spring constant (K).
4. To determine time period of oscillation of simple pendulum and calculate acceleration due
to gravity (g).
5. To determine Youngs modulus of steel by bending of beam method.

81
BCA-GE006 E-Commerce Cr – 6
Course Outcome: At the end of the course, the students will be able to:

CO1. Recognize the impact of Information and Communication technologies, especially of the
Internet in business operations
CO2. Recognize the fundamental principles of e‐Business and e‐Commerce
CO3. Distinguish the role of Management in the context of e‐Business and e‐Commerce
CO4. Explain the added value, risks and barriers in the adoption of e‐Business and e‐Commerce
CO5. Examine applications of e‐Commerce in relation to the applied strategic
CO6. Develop and publish web pages using HTML5, CSS3 and Javascript
CO7. Use tools and services of the internet in the development of a virtual e‐commerce site

Introduction to E-commerce
E-commerce: The revolution is just beginning, The visions and forces behind E-commerce,
Understanding E-commerce.

E-commerce business models and concepts


E-commerce business models, Major business-to-consumer (B2C) business models, Major
business-to-business (B2B) business models, Business models in emerging E-commerce areas, How
the internet and the Web change business.

E-commerce infrastructure
The Internet, Technology background, The internet today, The world wide web.

Building an E-commerce web site


A systematic approach, choosing server software, choosing the hardware for an E-commerce site,
other E-commerce site tools.

Security and Encryption


The E-commerce security environment, Security threats in the E-commerce environment,
Technology solutions, Policies, Procedures and Laws.

E-commerce payment systems


Payment systems, Credit card E-commerce transactions, E-commerce digital payment systems in
the B2C arena, B2B payment systems.

Ethical, Social, and Political issues in E-commerce


Understanding ethical, social, and political issues in E-commerce, Privacy and information rights,
Intellectual property rights, Governance, Public safety and welfare.

Text Book and References:

1. K.C. Laudon & C.G. Traver, E-commerce, Pearson Education, 2003 Reference Books:
2. R. Kalakota & A.B.Whiilston-' Frontiers of Electronic Commerce, Pearson Education- 2006.
3. K.K.Bajaj & D.Nag- E-Commerce, Tata McGraw Hill, New Delhi, Second Edition.

82
BCA-GE007 Electronics Cr – 6
Course Outcome: At the end of the course, the students will be able to:

Introduction
The Three Kind of Formulas, Approximations, Voltage Sources, Current Sources, Thevenin’s
Theorem, Norton’s Theorem, Troubleshooting.

Semiconductors
Conductors, Semiconductors, Silicon Crystals, Intrinsic Semiconductors, Two Types of Flow,
Doping a Semiconductor, Two Types of Extrinsic Semiconductors, The Unbiased Diode, Forward
Bias, Reverse Bias.

Diode Theory
Basic Ideals, the Ideal Diode, The Second Approximation, The Third Approximation.

Diode Circuits
The Half-Wave Rectifier, The Transfer, The Full-Wave Rectifier, The Bridge Rectifier.

Bipolar Transistors
The Unbiased Transistor, The Biased Transistor, Transistor currents, The CE Connection.

Transistor Fundamentals
Variations in Current Gain, The Load Line, The Operating Point, Recognizing Saturation, The
Transistor Switch, Emitter Bias.

AC Models
Base-Biased Amplifier, Emitter-Biased Amplifier, Small-Signal Operation.

Voltage Amplifiers
Voltage Gain, The Loading Effect of Input Impedance.

MOSFETs
The Depletion-Mode MOSFET, The Enhancement-Mode MOSFET, Multistage Amplifiers, The
Ohmic Region, Digital Switching, CMOS, Power FETs.

Text Book and References:

1. Albert Paul Malvino- Malvino Electron Principles, TMH, Sixth Edition – 1999.
2. B.P. Singh & R. Singh – Electronic Devices and Integrated Circuits, Pearson Education-2006

BCA-GE107 Electronics Lab Cr – 2


1. Study the following devices: (a) Analog & digital multimeters (b) Function/ Signal generators
(c) Regulated d. c. power supplies (constant voltage and constant current operations) (d) Study
of analog CRO, measurement of time period, amplitude, frequency & phase angle using
Lissajous figures.

83
2. Plot V-I characteristic of P-N junction diode & calculate cut-in voltage, reverse Saturation
current and static & dynamic resistances.
3. Plot V-I characteristic of zener diode and study of zener diode as voltage regulator. Observe the
effect of load changes and determine load limits of the voltage regulator.
4. Plot frequency response curve for single stage amplifier and to determine gain bandwidth
product
5. Plot drain current - drain voltage and drain current – gate bias characteristics of field effect
transistor and measure of Idss & Vp.
6. Application of Diode as clipper & clamper.
7. Plot gain- frequency characteristic of two stage RC coupled amplifier & calculate its bandwidth
and compare it with theoretical value.
8. Plot gain- frequency characteristic of emitter follower & find out its input and output
resistances.
9. Plot input and output characteristics of BJT in CB, CC and CE configurations. Find their h-
parameters.
10. Study half wave rectifier and effect of filters on wave. Also calculate theoretical & practical
ripple factor.
11. Study bridge rectifier and measure the effect of filter network on D.C. voltage output & ripple
factor.
12. Oscillator circuits.

BCA-GE008 Economics Cr – 6
Course Outcome: At the end of the course, the students will be able to:

CO1. Learn the concepts of microeconomics dealing with customer behavior.


CO2. Understand the supply side of the market through the production and cost behavior of firms.

Demand and Customer Behavior


Concepts of revenue: marginal and Average Revenue under conditions of Perfect and imperfect
competition, Elasticity of demand: price, income and cross. Consumer’s Behavior: Indifference
curve analysis of consumer behavior; Consumer’s equilibrium (necessary and sufficient
conditions). Price elasticity and price consumption curve, income consumption curve and Engel
curve, price change and income and substitution effects.

Production and Cost


Production isoquants, marginal rate of technical substitution, economic region of production,
optimal combination of resources, the expansion path, isoclines, return to scale using isoquants.
Cost of production: Social and Private cost of production, long run and short run costs of

84
production. Economies and diseconomies of scale and the shape to the long run average cost.
Learning curve and economies of scope.

Perfect Competition
Perfect Competition: Assumptions. Equilibrium of the firm and the industry in the short and long
runs, including industry’s long run supply curve. Measuring producer surplus under perfect
competition.

Monopoly
Monopoly: Monopoly short run and long run equilibrium. Shifts in demand curve and the absence
of supply curve. Measurement of monopoly power.

Imperfect Competition
Monopolistic Competition and Oligopoly: Monopolistic competition price and output
decisionequilibrium. Monopolistic Competition and economic efficiency, Oligopoly and
Interdependence. Kinked demand Curve model.

Text Book and References:

1. Pindyck, R.S. , D.L. Rubinfield and P.L. Mehta; Microeconomics, Pearson Education.
2. N. Gregory mankiw, Principles of Micro Economics, Cengage Learning
3. Browining E.K. and J.M. Browining: Microeconomics Theory and Applications, Kalyani
Publishers, New Delhi.
4. Gould, J.P and E.P. Lazear: Microeconomics Theory, All India Traveller Bookseller New Delhi
5. Lipsey R.G. and K.A. Chrystal; Economics Oxford University Press.
6. Maddala G.S. and E. Miller, Microeconomics: Theory and Application, McGraw-Hill,
International Edition.
7. Salvatore. D. Schaum’s Outline of Theory and Problems of microeconomic Theory McGraw-
Hill, International Edition.
8. Bilas, Richard A. Microeconomic Theory: A Graphical Analysis, McGraw-Hill Book Co.
Kogakusha Co. Ltd.
9. Amit Sachdeva, Micro Economics Kusum Lata publishers

85

You might also like