0% found this document useful (0 votes)
88 views73 pages

BCA Syllabus 2021

This document outlines the course details and syllabus for Programming in C/C++, a core subject for the 1st semester of the BCA program. The course is divided into 4 units covering topics such as data types, operators, conditional and iterative statements, functions, arrays, pointers, structures, file handling, object oriented programming in C++ and more. It also lists the lab experiments to accompany the course, involving programming problems to apply concepts learned. Reference books for further study are provided at the end.

Uploaded by

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

BCA Syllabus 2021

This document outlines the course details and syllabus for Programming in C/C++, a core subject for the 1st semester of the BCA program. The course is divided into 4 units covering topics such as data types, operators, conditional and iterative statements, functions, arrays, pointers, structures, file handling, object oriented programming in C++ and more. It also lists the lab experiments to accompany the course, involving programming problems to apply concepts learned. Reference books for further study are provided at the end.

Uploaded by

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

Semester – I

Name of the Programme: BCA Ist Semester


Name of the Subject: Programming in C/C++
Type of the Course: Core

Course Code: BCA-21101CC Credits: 4


Course Title: Programming in C/C++ Theory: 60 Lectures

UNIT – I
1. Introduction to C (5 Lectures)
History of C , Overview of Programming, Using main() function, Compiling and Executing
Simple Programs in C.

2. Data Types, Variables, Constants, Operators and Basic I/O (5 Lectures)


Declaring, Defining and Initializing Variables, Scope of Variables, Using Named Constants,
Keywords, Data Types, Casting of Data Types, Operators (Arithmetic, Logical and
Bitwise), Using Comments in programs, Character I/O (getc, getchar, putc, putcharetc),
Formatted and Console I/O (printf(), scanf(), Using Basic Header Files (stdio.h, conio.hetc).

3. Expressions, Conditional Statements and Iterative Statements (5 Lectures)


Simple Expressions in C (including Unary Operator Expressions, Binary Operator
Expressions), Understanding Operators Precedence in Expressions, Conditional Statements (if
construct, switch-case construct), Understanding syntax and utility of Iterative Statements
(while, do-while, and for loops), Use of break and continue in Loops, Using Nested
Statements (Conditional as well as Iterative)

UNIT – II
4. Functions and Arrays (10 Lectures)
Utility of functions, Call by Value, Call by Reference, Functions returning value, Void
functions, Inline Functions, Return data type of functions, Functions parameters,
Differentiating between Declaration and Definition of Functions, Command Line
Arguments/Parameters in Functions, Functions with variable number of Arguments.
Creating and Using One Dimensional Arrays ( Declaring and Defining an Array, Initializing
an Array, Accessing individual elements in an Array, Manipulating array elements using
loops), Use Various types of arrays (integer, float and character arrays / Strings)
Twodimensional Arrays (Declaring, Defining and Initializing Two Dimensional Array,
Working with Rows and Columns), Introduction to Multi-dimensional arrays

5. Derived Data Types (Structures and Unions) (5 Lectures)


Understanding utility of structures and unions, Declaring, initializing and using simple
structures and unions, Manipulating individual members of structures and unions, Array of
Structures, Individual data members as structures, Passing and returning structures from
functions, Structure with union as members, Union with structures as members.
UNIT – III
6. Pointers and References in C (9 Lectures)
Understanding a Pointer Variable, Simple use of Pointers (Declaring and Dereferencing
Pointers to simple variables), Pointers to Pointers, Pointers to structures, Problems with
Pointers, Passing pointers as function arguments, Returning a pointer from a function, using
arrays as pointers, Passing arrays to functions. Pointers vs. References, Declaring and
initializing references, Using references as function arguments and function return values

7. Memory Allocation in C (6 Lectures)


Differentiating between static and dynamic memory allocation, use of malloc, calloc and free
functions, use of new and delete operators, storage of variables in static and dynamic memory
allocation

UNIT – IV

8 . File I/O, Preprocessor Directives (5 Lectures)


Opening and closing a file (use of fstream header file, ifstream, ofstream and fstream classes),
Reading and writing Text Files, Using put(), get(), read() and write() functions, Random access in
files, Understanding the Preprocessor Directives (#include, #define, #error, #if, #else,
#elif, #endif, #ifdef, #ifndef and #undef), Macros

9. Introduction to C++ (10 Lectures)


Principles of Object-Oriented Programming, Defining & Using Classes, Class Constructors,
Constructor Overloading, Class Variables &Functions, Objects as parameters, Specifying the
Protected and Private Access, Copy Constructors.

Reference Books
1. HerbtzSchildt, "C++: The Complete Reference", Fourth Edition, McGraw Hill.2003 th
2. BjarneStroustrup, "The C++ Programming Language", 4 Edition, Addison-Wesley , 2013.
3. BjarneStroustroup, "Programming -- Principles and Practice using C++", 2nd Edition, Addison-
Wesley 2014.
4. E Balaguruswamy, "Object Oriented Programming with C++", Tata McGraw-Hill Education,
2008.
5. Paul Deitel, Harvey Deitel, "C++ How to Program", 8th Edition, Prentice Hall, 2011.
6. John R. Hubbard, "Programming with C++", Schaum's Series, 2nd Edition, 2000.
7. Andrew Koeni, Barbara, E. Moo, "Accelerated C++", Published by Addison-Wesley , 2000.
8. Scott Meyers, "Effective C++", 3rd Edition, Published by Addison-Wesley, 2005.

9. Harry, H. Chaudhary, "Head First C++ Programming: The Definitive Beginner's Guide", First
Create space Inc, O-D Publishing, LLC USA.2014
10. Walter Savitch, "Problem Solving with C++", Pearson Education, 2007.
11. Stanley B. Lippman, JoseeLajoie, Barbara E. Moo, "C++ Primer", Published by AddisonWesley,
5th Edition, 2012
Name of the Programme: BCA Ist Semester
Name of the Subject: Lab Programming in C/C++
Type of the Course: Core

Course Code: BCA-21101CC Credits: 2


Course Title: Lab Programming in C/C++ Lab : 60 Lectures

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.
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.

21. Create Matrix class using templates. Write a menu-driven program to perform following
Matrix
operations (2-D array implementation):
a) Sum b) Difference c) Product d) Transpose
22. Create the Person class. Create some objects of this class (by taking information from the user).
Inherit the class Person to create two classes Teacher and Student class. Maintain the respective
information in the classes and create, display and delete objects of these two classes (Use
Runtime Polymorphism).
23. Create a class Triangle. Include overloaded functions for calculating area. Overload
assignment operator and equality operator.
24. Create a class Box containing length, breath and height. Include following methods in it:
a)Calculate surface Area
b) Calculate Volume
c) Increment, Overload ++ operator (both prefix & postfix)
d) Decrement, Overload -- operator (both prefix & postfix)
e) Overload operator == (to check equality of two boxes), as a friend function
f) Overload Assignment operator
g) Check if it is a Cube or cuboid
Write a program which takes input from the user for length, breath and height to test the above
class.
25. Create a structure Student containing fields for Roll No., Name, Class, Year and Total Marks.
Create 10 students and store them in a file.
26. Write a program to retrieve the student information from file created in previous question and
print it in following format:
Roll No. Name Marks
27. Copy the contents of one text file to another file, after removing all whitespaces.
28. Write a function that reverses the elements of an array in place. The function must accept only
one pointer value and return void.

29. Write a program that will read 10 integers from user and store them in an array. Implement array
using pointers. The program will print the array elements in ascending and descending order.
Name of the Programme: BCA Ist Semester
Name of the Subject: Computing Mathematics
Type of the Course: Core

Course Code: BCA-21102CC Credits: 4


Course Title: Computing Mathematics Theory: 60 Lectures

Course Objectives: The course will introduce students to various aspects of Mathematics used in
Computer Science. The course will fulfill the eligibility requirements of Mathematics for the BCA
program and will make students eligible for the MCA program even if they do not have Mathematics
at 10+2 level.

Unit 1:
Set Theory: Sets, Types, Operations, Properties and Identities. Relations, Domain & Range, Types
and Properties of Relations. Introduction to Functions & Relations, Domain, Co-Domain, Range,
Types of functions, Compositions, Operations on functions, Pictorial Representations,
Probability: Random Experiments, Sample Spaces, Events, Algebra of Events, Definitions of
Probability, Conditional Probability, Independent Events,
Unit 2:
Limits and Continuity: Limit of a Function, Algebra of Limits, Simplification and Evaluation of
Limits. Standard Limits, Continuity, Geometric Meaning, Continuity in Open and Closed
Intervals. Differentiability, Properties of Differentiability.
Differentiation: Derivatives of some Common Functions, Rules to Find Derivatives, Second Order
Derivatives, Geometric Interpretation of Derivative.

Unit 3:
Theory of Equations: Complex Numbers, Quadratic, Cubic Equations with complex coefficients
and roots.
Counting: Sum Rule, Product Rule, Subtraction Rule, Division Rule, Pigeonhole
Principle. Permutations, Combinations, Binomial Theorem. Permutations and Combinations with
Repetition.
Sequences & Series, AP, GP, HP. Introduction to statistics.

Unit 4:
Matrices & Determinants: Matrix, Types of Matrices, Matrix Operations, Add, Sub, Multiply,
Divide, Transpose. Determinants, Minors and Cofactors, Properties of Determinants. Elementary
Transformations. Solution of Linear Equations by Matrix Method & Determinants

Textbook:

1. Mathematics Textbook for Class XI, NCERT


2. Mathematics Textbook for Class XII, NCERT
3. Problems in Mathematics for JEE with Summarized Concepts, Vol I + II (Wiley, 2018)

Recommended Books:
1. A text book of Mathematics by R.S.Agarwal
2. Integral calculus by Shanti Narayan
3. Differential Calculus by Shanti Narayan
4. Engineering Mathematics by Grewal
5. Engineering Mathematics by Erwin Kreyzing
1.
Tutorial: 30 lectures (2 Credits)

Tutorials (2 Credits)

Credit 1: Constant, identity, polynomial, rational, modulus, signum and greatest integer functions
with their graphics. Sum, difference product and quotients of functions, Application of Binary
Operations, Bayes Theorem, Random Variables and Probability Distributions., l’Hospital Rule, Ab-
initio method

Credit 2:

Maxima and Minima of Functions, Monotonicity, Mean Value Theorems, Application of Binomial
Theorem, Different Types of Means. Exponent & Exponential Series, Measure of dispersion: mean
deviation, variance and standard deviation of ungrouped/ grouped data. Cramer’s Rule, Adjoint and
Inverse of Matrix.
Semester – II
Name of the Programme: BCA 2nd Semester
Name of the Subject: Discrete Structures
Type of the Course: Core

Course Code: BCA-21201CC Credits: 4


Course Title: Discrete Structures Theory: 60 Lectures

UNIT-I
1.Introduction: (15 Lectures)
Sets - finite and Infinite sets, uncountably 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.

UNIT-II
2.Growth of Functions: (8 Lectures)
Asymptotic Notations, Summation formulas and properties, Bounding Summations, approximation
by Integrals
3.Recurrences: (7 Lectures)
Recurrence Relations, generating functions, Linear RecurrenceRelations with constant
coefficients and their solution, Substitution Method, Recurrence Trees, Master Theorem
UNIT-III
4.Graph Theory (15 Lectures)
Basic Terminology, Models and Types, multigraphs andweighted graphs, Graph Representaion,
Graph Isomorphism, Connectivity, Euler and Hamiltonian Paths and Circuits, Planar Graphs,
Graph Coloring, Trees, Basic Terminology and properties of Trees, Introduction to Spanning
Trees
UNIT-IV
5.Prepositional Logic (15 Lectures)
Logical Connectives, Well-formed Formulas, Tautologies, Equivalences, Inference Theory

Recommended Books:
1. C.L. Liu , D.P. Mahopatra, Elements of Discrete mathematics, 2nd Edition , Tata
McGraw Hill, 1985,
2. Kenneth Rosen, Discrete Mathematics and Its Applications, Sixth Edition ,McGraw Hill
2006
3. T.H. Coremen, C.E. Leiserson, R. L. Rivest, Introduction to algorithms, 3rd edition
Prentice Hall on India, 2009
4. M. O. Albertson and J. P. Hutchinson, Discrete Mathematics with Algorithms , John
wiley Publication, 1988
5. J. L. Hein, Discrete Structures, Logic, and Computability, 3rd Edition, Jones and Bartlett
Publishers, 2009
6. D.J. Hunter, Essentials of Discrete Mathematics, Jones and Bartlett Publishers, 2008

Tutorial: 30 lectures (2 Credits)


Name of the Programme: BCA 2nd Semester
Name of the Subject: Computer System Architecture
Type of the Course: Core

Course Code: BCA-21202CC Credits: 4


Course Title: Computer System Architecture Theory: 60 Lectures

UNIT-I
1. Introduction (5 lectures)
Logic gates, boolean algebra, combinational circuits, circuit simplification, flip-flops and
sequential circuits, decoders, multiplexers, registers, counters and memory units.
2. Data Representation and Basic Computer Arithmetic (10 lectures)
Number systems, complements, fixed and floating point representation, character representation,
addition, subtraction, magnitude comparison, multiplication and division algorithms for integers

UNIT-II

3. Basic Computer Organization and Design (15 lectures)


Computer registers, bus system, instruction set, timing and control, instruction cycle, memory
reference, input-output and interrupt, Interconnection Structures, Bus Interconnection design of
basic computer.

UNIT-III
4. Central Processing Unit (15 lectures)
Register organization, arithmetic and logical micro-operations, stack organization, micro
programmed control. Instruction formats, addressing modes, instruction codes, machine
language, assembly language, input output programming, RISC, CISC architectures, pipelining
and parallel architecture.

UNIT-IV
5. Memory Organization (7 lectures)
Cache memory, Associative memory, mapping.
6. Input-Output Organization (8 lectures)
Input / Output: External Devices, I/O Modules, Programmed I/O, Interrupt-Driven I/O, Direct
Memory Access, I/O Channels.

Recommended Books:
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, Prentice Hall of India,2009
4. M.M. Mano , Digital Design, Pearson Education Asia,2013
5. Carl Hamacher, Computer Organization, Fifth edition, McGrawHill, 2012.
Name of the Programme: BCA 2nd Semester
Name of the Subject: Lab Computer System Architecture
Type of the Course: Core

Course Code: BCA-21202CC Credits: 2


Course Title: Lab Computer System Architecture Lab : 60 Lectures

1. Create a machine based on the following architecture:


Register Set
IR DR AC AR PC FGI FGO S I E

0 15 0 15 0 15 011 011 1 Bit 1 Bit 1 Bit 1 bit 1 Bit

Memory Instruction format


4096 words 0 34 15
16 bits per word
Opcode Address

Basic Computer Instructions

Memory Reference Register Reference Input-Output


Symbol Hex Symbol Hex Symbol Hex
AND 0xxx CLA E800 INP F80
0
ADD 2xxx Direct CLE E400 OUT F40
Addressing 0
LDA 4xxx CMA E200 SKI F20
0
STA 6xxx CME E100 SKO F10
0
BUN 8xxx CIR E080 ION F08
0
BSA Axxx CIL E040 IOF F04
0
ISZ Cxxx INC E020
AND_I 1xxx SPA E010
ADD_I 3xxx SNA E008
LDA_I 5xxx Indirect SZA E004
STA_I 7xxx Addressing SZE E002
BUN_I 9xxx HLT E001
BSA_I Bxxx
ISZ_I Dxxx

Refer to Chapter-5 of Morris Mano for description of instructions.


2. Create the micro operations and associate with instructions as given in the chapter
(except interrupts). Design the register set, memory and the instruction set. Use this machine
for the assignments of this section.
3. Create a Fetch routine of the instruction cycle.
4. Simulate the machine to determine the contents of AC, E, PC, AR and IR registers in
hexadecimal after the execution of each of following register reference instructions:
a. CLA e. CIR i. SNA
b. CLE f. CIL j. SZA
c. CMA g. INC k. SZE
d. CME h. SPA l. HLT
Initialize the contents of AC to (A937)16, that of PC to (022)16 and E to 1.

5. Simulate the machine for the following memory-reference instructions with I= 0 and address
part = 082. The instruction to be stored at address 022 in RAM. Initialize the memory word at
address 082 with the operand B8F2 and AC with A937. Determine the contents of AC, DR, PC,
AR and IR in hexadecimal after the execution.
a. ADD f. BSA
b. AND g. ISZ
c. LDA
d. STA
e. BUN

6. Simulate the machine for the memory-reference instructions referred in above question with I=
1 and address part = 082. The instruction to be stored at address 026 in RAM. Initialize the
memory word at address 082 with the value 298. Initialize the memory word at address 298 with
operand B8F2 and AC with A937. Determine the contents of AC, DR, PC, AR and IR in
hexadecimal after the execution.
7. Modify the machine created in Practical 1 according to the following instruction format:

Instruction format

0 23 4 15
Opcode I Address

a. The instruction format contains a 3-bit opcode, a 1-bit addressing mode and a 12-bit
address. There are only two addressing modes, I = 0 (direct addressing) and I = 1 (indirect
addressing).

b. Create a new register I of 1 bit.

c. Create two new microinstructions as follows :


i. Check the opcode of instruction to determine type of instruction (Memory
Reference/Register Reference/Input-Output) and then jump accordingly.
Check the I bit to determine the addressing mode and then jump accordingly.
Semester – III
Name of the Programme: BCA 3rd Semester
Name of the Subject: Data Structures
Type of the Course: Core

Course Code: BCA-21301CC Credits: 4


Course Title: Data Structures Theory: 60 lectures

UNIT-I

1. Arrays (7 Lectures)
Single and Multi-dimensional Arrays, Sparse Matrices (Array and Linked Representation)
2. Stacks (8 Lectures)
Implementing single / multiple stack/s in an Array; Prefix, Infix and Postfix expressions,
Utility and conversion of these expressions from one to another; Applications of stack;
Limitations of Array representation of stack

UNIT-II
3. Linked Lists (8 Lectures)
Singly, Doubly and Circular Lists (Array and Linked representation); Normal and Circular
representation of Stack in Lists; Self Organizing Lists; Skip Lists
4. Queues (7 Lectures)
Array and Linked representation of Queue, De-queue, Priority Queues

UNIT-III
5. Recursion (7 lectures)
Developing Recursive Definition of Simple Problems and their implementation; Advantages
and Limitations of Recursion; Understanding what goes behind Recursion (Internal Stack
Implementation)

6. Trees (8 Lectures)
Introduction to Tree as a data structure; Binary Trees (Insertion, Deletion , Recursive and
Iterative Traversals on Binary Search Trees); Threaded Binary Trees (Insertion, Deletion,
Traversals); Height-Balanced Trees (Various operations on AVL Trees).

UNIT-IV
7. Searching and Sorting (7 Lectures)
Linear Search, Binary Search, Comparison of Linear and Binary Search, Selection Sort,
Insertion Sort, Insertion Sort, Shell Sort, Comparison of Sorting Techniques
8. Hashing (8 Lectures)
Introduction to Hashing, Deleting from Hash Table, Efficiency of Rehash Methods, Hash
Table Reordering, Resolving collusion by Open Addressing, Coalesced Hashing, Separate
Chaining, Dynamic and Extendible Hashing, Choosing a Hash Function, Perfect Hashing
Function
Reference Books:
1. Adam Drozdek, "Data Structures and algorithm in C++", Third Edition, Cengage Learning,
2012.
2. SartajSahni, Data Structures, "Algorithms and applications in C++", Second Edition,
Universities Press, 2011.
3. Aaron M. Tenenbaum, Moshe J. Augenstein, YedidyahLangsam, "Data Structures Using C
and C++:, Second edition, PHI, 2009.
4. Robert L. Kruse, "Data Structures and Program Design in C++", Pearson,1999.
5. D.S Malik, Data Structure using C++,Second edition, Cengage Learning, 2010.
6. Mark Allen Weiss, "Data Structures and Algorithms Analysis in Java", Pearson Education,
3rd edition, 2011
7. Aaron M. Tenenbaum, Moshe J. Augenstein, YedidyahLangsam, "Data Structures Using Java,
2003.
8. Robert Lafore, "Data Structures and Algorithms in Java, 2/E", Pearson/ Macmillan Computer
Pub,2003
9. John Hubbard, "Data Structures with JAVA", McGraw Hill Education (India) Private Limited; 2
edition, 2009
10. Goodrich, M. and Tamassia, R. "Data Structures and Algorithms Analysis in Java", 4th
Edition, Wiley,2013
11. Herbert Schildt, "Java The Complete Reference (English) 9th Edition Paperback", Tata
McGraw Hill, 2014.
12. D. S. Malik, P.S. Nair, "Data Structures Using Java", Course Technology, 2003.
Name of the Programme: BCA 3rd Semester
Name of the Subject: Lab Data Structures
Type of the Course: Core

Course Code: BCA-21301CC Credits: 2


Course Title: Lab Data Structures Lab: 60 lectures

1. Write a program to search an element from a list. Give user the option to perform Linear or
Binary search. Use Template functions.
2. WAP using templates to sort a list of elements. Give user the option to perform sorting using
Insertion sort, Bubble sort or Selection sort.
3. Implement Linked List using templates. Include functions for insertion, deletion and search
of a number, reverse the list and concatenate two linked lists (include a function and also
overload operator +).
4. Implement Doubly Linked List using templates. Include functions for insertion, deletion and
search of a number, reverse the list.
5. Implement Circular Linked List using templates. Include functions for insertion, deletion
and search of a number, reverse the list.
6. Perform Stack operations using Linked List implementation.
7. Perform Stack operations using Array implementation. Use Templates.
8. Perform Queues operations using Circular Array implementation. Use Templates.
9. Create and perform different operations on Double-ended Queues using Linked List
implementation.
10. WAP to scan a polynomial using linked list and add two polynomial.
11. WAP to calculate factorial and to compute the factors of a given no. (i)using recursion,
(ii) using iteration
12. (ii) WAP to display fibonacci series (i)using recursion, (ii) using iteration
13. WAP to calculate GCD of 2 number (i) with recursion (ii) without recursion
14. WAP to create a Binary Search Tree and include following operations in tree:
(a) Insertion (Recursive and Iterative Implementation)
(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
15. WAP to convert the Sparse Matrix into non-zero form and vice-versa.
16. WAP to reverse the order of the elements in the stack using additional stack.
17. WAP to reverse the order of the elements in the stack using additional Queue.
18. WAP to implement Diagonal Matrix using one-dimensional array.
19. WAP to implement Lower Triangular Matrix using one-dimensional array.
20. WAP to implement Upper Triangular Matrix using one-dimensional array.
21. WAP to implement Symmetric Matrix using one-dimensional array.
22. WAP to create a Threaded Binary Tree as per inorder traversal, and implement operations
like finding the successor / predecessor of an element, insert an element, inorder traversal.
23. WAP to implement various operations on AVL Tree.
Name of the Programme: BCA 3rd Semester
Name of the Subject: Operating Systems
Type of the Course: Core

Course Code: BCA-21302CC Credits: 4


Course Title: Operating Systems Theory: 60 lectures

UNIT-I
1.Introduction (10 Lectures)
Basic OS functions, resource abstraction, types of operating systems–multiprogramming systems,
batch systems , time sharing systems; operating systems for personal computers & workstations,
process control & real time systems.

2.Operating System Organization (5 Lectures)


Processor and user modes, kernels, system calls and systemprograms.

UNIT-II
3.Process Management ( 15Lectures)
System view of the process and resources, process abstraction, processhierarchy, threads, threading
issues, thread libraries; Process Scheduling, non-pre-emptive and pre-emptive scheduling
algorithms; concurrent and processes, critical section, semaphores, methods for inter-process
communication; deadlocks.

UNIT-III
4.Memory Management (15 Lectures)
Physical and virtual address space; memory allocation strategies -fixedand variable partitions,
paging, segmentation, virtual memory

UNIT-IV
5.File and I/O Management (10 Lectures)
Directory structure, file operations, file allocation methods, devicemanagement.

6.Protection and Security (5 Lectures)


Policy mechanism, Authentication, Internal access Authorization.

Recommended Books:
1. A Silberschatz, P.B. Galvin, G. Gagne, Operating Systems Concepts, 8thEdition,
John Wiley Publications 2008.
2. A.S. Tanenbaum, Modern Operating Systems, 3rd Edition, Pearson Education 2007.
3. G. Nutt, Operating Systems: A Modern Perspective, 2nd Edition Pearson Education 1997.
4. W. Stallings, Operating Systems, Internals & Design Principles , 5th Edition, Prentice Hall
of India. 2008.
5. M. Milenkovic, Operating Systems- Concepts and design, Tata McGraw Hill 1992.
Name of the Programme: BCA 3rd Semester
Name of the Subject: Lab Operating Systems
Type of the Course: Core

Course Code: BCA-21302CC Credits: 2


Course Title: Lab Operating Systems Lab: 60 lectures

C/ C++ programs

1. WRITE A PROGRAM (using fork() and/or exec() commands) where parent and child
execute:
a) same program, same code.
b) same program, different code.
c) before terminating, the parent waits for the child to finish its task.
2. WRITE A PROGRAM to report behaviour of Linux kernel including kernel version, CPU
type and model. (CPU information)
3. WRITE A PROGRAM to report behaviour of Linux kernel including information on
configured memory, amount of free and used memory. (memory information)
4. WRITE A PROGRAM to print file details including owner access permissions, file access
time, where file name is given as argument.
5. WRITE A PROGRAM to copy files using system calls.
6. Write program to implement FCFS scheduling algorithm.
7. Write program to implement Round Robin scheduling algorithm.
8. Write program to implement SJF scheduling algorithm.
9. Write program to implement non-preemptive priority based scheduling algorithm.
10. Write program to implement preemptive priority based scheduling algorithm.
11. Write program to implement SRJF scheduling algorithm.
12. Write program to calculate sum of n numbers using thread library.
13. Write a program to implement first-fit, best-fit and worst-fit allocation strategies.
Name of the Programme: BCA 3rd Semester
Name of the Subject: Computer Networks
Type of the Course: Core

Course Code: BCA-21303CC Credits: 4


Course Title: Computer Networks Theory: 60 lectures

UNIT-I
1. Introduction to Computer Networks (7 Lectures)
Network definition; network topologies; network classifications; network protocol; layered network
architecture; overview of OSI reference model; overview of TCP/IP protocol suite.
2. Data Communication Fundamentals and Techniques (8 Lectures)
Analog and digital signal; data-ratelimits; digital to digital line encoding schemes; pulse code
modulation; parallel and serial transmission; digital to analog modulation-; multiplexing techniques-
FDM, TDM; transmission media.

UNIT-II
3. Networks Switching Techniques and Access mechanisms (7 Lectures)
Circuit switching; packetswitching- connectionless datagram switching, connection-oriented virtual
circuit switching; dial-up modems; digital subscriber line; cable TV for data transfer.
4. Data Link Layer Functions and Protocol (8 Lectures)
Error detection and error correction techniques;data-link control- framing and flow control; error
recovery protocols- stop and wait ARQ, go-back-n ARQ; Point to Point Protocol on Internet.

UNIT-III
5. Multiple Access Protocol and Networks (7 Lectures)
CSMA/CD protocols; Ethernet LANS; connectingLAN and back-bone networks- repeaters,
hubs, switches, bridges, router and gateways;
6. Networks Layer Functions and Protocols (8 Lectures)
Routing; routing algorithms; network layer protocolof Internet- IP protocol, Internet control
protocols.

UNIT-IV
7. Transport Layer Functions and Protocols (8 Lectures)
Transport services- error and flow control,Connection establishment and release- three way
handshake;
8. Overview of Application layer protocol (7 Lectures)
Overview of DNS protocol; overview of WWW &HTTP protocol.

Reference Books
1. B. A. Forouzan: Data Communications and Networking, Fourth edition, THM ,2007.
2. A. S. Tanenbaum: Computer Networks, Fourth edition,PHI , 2002
Name of the Programme: BCA 3rd Semester
Name of the Subject: Lab Computer Networks
Type of the Course: Core

Course Code: BCA-21303CC Credits: 2


Course Title: Lab Computer Networks Lab: 60 lectures

1. Simulate Cyclic Redundancy Check (CRC) error detection algorithm for noisy channel.
2. Simulate and implement stop and wait protocol for noisy channel.
3. Simulate and implement go back n sliding window protocol.
4. Simulate and implement selective repeat sliding window protocol.
5. Simulate and implement distance vector routing algorithm
6. Simulate and implement Dijkstra algorithm for shortest path routing.
Semester – IV
Name of the Programme: BCA 4th Semester
Name of the Subject: Design and Analysis of Algorithms
Type of the Course: Core

Course Code: BCA-21401CC Credits: 4


Course Title: Design and Analysis of Algorithms Theory: 60 lectures

UNIT-I
1.Introduction ( 7 Lectures)
Basic Design and Analysis techniques of Algorithms, Correctness of Algorithm.

2.Algorithm Design Techniques ( 8 Lectures)


Iterative techniques, Divide and Conquer, DynamicProgramming, Greedy Algorithms.

UNIT-II
3.Sorting and Searching Techniques (15 Lectures)
Elementary sorting techniques–Bubble Sort, InsertionSort, Merge Sort, Advanced Sorting
techniques - Heap Sort, Quick Sort, Sorting in Linear Time - Bucket Sort, Radix Sort and Count
Sort, Searching Techniques, Medians & Order Statistics, complexity analysis;

UNIT-III
4.Lower Bounding Techniques ( 7 Lectures)
Decision Trees
5.Balanced Trees ( 8 Lectures)
Red-Black Trees

UNIT-IV
6.Advanced Analysis Technique ( 5 Lectures)
Amortized analysis
7.Graphs (5 Lectures)
Graph Algorithms–Breadth First Search, Depth First Search and its
Applications,Minimum Spanning Trees.
8.String Processing (5Lectures)
String Matching, KMP Technique

Recommended Books:
1. T.H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to
Algorithms, PHI, 3rd Edition 2009
2. Sarabasse& A.V. Gelder Computer Algorithm – Introduction to Design and Analysis,
Publisher – Pearson 3rd Edition 1999
Name of the Programme: BCA 4th Semester
Name of the Subject: Lab Design and Analysis of Algorithms
Type of the Course: Core

Course Code: BCA-21401CC Credits: 2


Course Title: Lab Design and Analysis of Algorithms Lab: 60 lectures

1. i. Implement Insertion Sort (The program should report the number of comparisons)
ii. Implement Merge Sort(The program should report the number of comparisons)
2. Implement Heap Sort(The program should report the number of comparisons)
3. Implement Randomized Quick sort (The program should report the number of comparisons)
4. Implement Radix Sort
5. Create a Red-Black Tree and perform following operations on it:
i. Insert a node
ii. Delete a node
iii. Search for a number & also report the color of the node containing this number.
6. Write a program to determine the LCS of two given sequences
7. Implement Breadth-First Search in a graph
8. Implement Depth-First Search in a graph
9. Write a program to determine the minimum spanning tree of a graph

For the algorithms at S.No 1 to 3 test run the algorithm on 100 different inputs of sizes varying
from 30 to 1000. Count the number of comparisons and draw the graph. Compare it with a graph
of nlogn.
Name of the Programme: BCA 4th Semester
Name of the Subject: Software Engineering
Type of the Course: Core

Course Code: BCA-21402CC Credits: 4


Course Title: Software Engineering Theory: 60 lectures

UNIT-I
1.Introduction (7 Lectures)
The Evolving Role of Software, Software Characteristics, Changing Nature ofSoftware, Software
Engineering as a Layered Technology, Software Process Framework, Framework and Umbrella
Activities, Process Models, Capability Maturity Model Integration (CMMI).
2.Requirement Analysis (8 Lectures)
Software Requirement Analysis, Initiating Requirement EngineeringProcess, Requirement
Analysis
and Modeling Techniques, Flow Oriented Modeling, Need for SRS, Characteristics and
Components of SRS.
UNIT-II
3.Software Project Management (7 Lectures)
Estimation in Project Planning Process, Project Scheduling.
4.Risk Management (8 Lectures)
Software Risks, Risk Identification, Risk Projection and Risk Refinement,RMMM Plan.

UNIT-III
5.Quality Management (7 Lectures)
Quality Concepts, Software Quality Assurance, Software Reviews,Metrics for Process and
Projects.
6.Design Engineering (8 Lectures)
Design Concepts, Architectural Design Elements, Software Architecture,Data Design at the
Architectural Level and Component Level, Mapping of Data Flow into Software
Architecture, Modeling Component Level Design.
UNIT-IV
7.Testing Strategies & Tactics (15 Lectures)
Software Testing Fundamentals, Strategic Approachto SoftwareTesting, Test Strategies for
Conventional Software, Validation Testing, System testing,
Black-Box Testing, White-Box Testing and their type, Basis Path Testing.

Recommended Books:
1. R.S. Pressman, Software Engineering: A Practitioner‘s Approach (7th Edition), McGraw-
Hill, 2009.
2. P. Jalote, An Integrated Approach to Software Engineering (2nd Edition), Narosa
Publishing House, 2003.
3. K.K. Aggarwal and Y. Singh, Software Engineering ( 2nd Edition), New Age International
Publishers, 2008.
th
4. I. Sommerville, Software Engineering (8 edition), Addison Wesley, 2006.
5. D. Bell, Software Engineering for Students (4th Edition), Addison-Wesley, 2005.
6. R. Mall, Fundamentals of Software Engineering (2nd Edition), Prentice-Hall of India,
2004.
Name of the Programme: BCA 4th Semester
Name of the Subject: Lab Software Engineering
Type of the Course: Core

Course Code: BCA-21402CC Credits: 2


Course Title: Lab Software Engineering Lab: 60 lectures

S. No Practical Title

1. • Problem Statement,
• Process Model
2. Requirement Analysis:
• Creating a Data Flow
• Data Dictionary, Use Cases
3. Project Management:
• Computing FP
• Effort
• Schedule, Risk Table, Timeline chart
4. Design Engineering:
• Architectural Design
• Data Design, Component Level Design
5. Testing:
• Basis Path Testing
Sample Projects:
1. Criminal Record Management: Implement a criminal record management system forjailers,
police officers and CBI officers
2. DTC Route Information: Online information about the bus routes and their frequency andfares
3. Car Pooling: To maintain a web based intranet application that enables the corporateemployees
within an organization to avail the facility of carpooling effectively.
4. Patient Appointment and Prescription Management System
5. Organized Retail Shopping Management Software
6. Online Hotel Reservation Service System
7. Examination and Result computation system
8. Automatic Internal Assessment System
9. Parking Allocation System
10. Wholesale Management System
Name of the Programme: BCA 4th Semester
Name of the Subject: Database Management Systems
Type of the Course: Core

Course Code: BCA-21403CC Credits: 4


Course Title: Database Management Systems Theory: 60 lectures

UNIT-I
1.Introduction ( 7 Lectures)
Characteristics of database approach, data models, database system architectureand data
independence.

2.Entity Relationship(ER) Modeling (8 Lectures)


Entity types, relationships, constraints.

UNIT-II

3.Relation data model (15 Lectures)


Relational model concepts, relational constraints, relational algebra, SQLqueries

UNIT-III

4.Database design (15 Lectures)


Mapping ER/EER model to relational database, functional dependencies,Lossless decomposition,
Normalforms(upto BCNF).

UNIT-IV

5.Transaction Processing (5 Lectures)


ACID properties, concurrency control

6.File Structure and Indexing (10 Lectures)


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.

Books Recommended:
1. R. Elmasri, S.B. Navathe, Fundamentals of Database Systems 6th Edition, Pearson
Education, 2010.
2. R. Ramakrishanan, J. Gehrke, Database Management Systems 3rd Edition, McGraw-Hill,
2002.
3. A. Silberschatz, H.F. Korth, S. Sudarshan, Database System Concepts 6th Edition, McGraw
Hill, 2010.
4. R. Elmasri, S.B. Navathe Database Systems Models, Languages, Design and application
Programming, 6th Edition, Pearson Education,2013.
Name of the Programme: BCA 4th Semester
Name of the Subject: Lab Database Management Systems
Type of the Course: Core

Course Code: BCA-21403CC Credits: 2


Course Title: Lab Database Management Systems Lab: 60 lectures

Create and use the following database schema to answer the given queries.

EMPLOYEE Schema
DEFAUL
Field Type NULL KEY T
Eno Char(3) NO PRI NIL
Ename Varchar(50) NO NIL
Job_type Varchar(50) NO NIL
Manager Char(3) Yes FK NIL
Hire_date Date NO NIL
Dno Integer YES FK NIL
Commission Decimal(10,2) YES NIL
Salary Decimal(7,2) NO NIL

DEPARTMENT Schema
DEFAUL
Field Type NULL KEY T
Dno Integer No PRI NULL
Dname Varchar(50) Yes NULL
Location Varchar(50) Yes New Delhi

Query List

1. Query to display Employee Name, Job, Hire Date, Employee Number; for each employee
with the Employee Number appearing first.
2. Query to display unique Jobs from the Employee Table.
3. Query to display the Employee Name concatenated by a Job separated by a comma.
4. Query to display all the data from the Employee Table. Separate each Column by a comma
and name the said column as THE_OUTPUT.
5. Query to display the Employee Name and Salary of all the employees earning more than
$2850.
6. Query to display Employee Name and Department Number for the Employee No= 7900.
7. Query to display Employee Name and Salary for all employees whose salary is not in the
range of $1500 and $2850.
8. Query to display Employee Name and Department No. of all the employees in Dept 10
and Dept 30 in the alphabetical order by name.
9. Query to display Name and Hire Date of every Employee who was hired in 1981.
10. Query to display Name and Job of all employees who don‘t have a current Manager.
11. Query to display the Name, Salary and Commission for all the employees who
earn commission.
12. Sort the data in descending order of Salary and Commission.
13. Query to display Name of all the employees where the third letter of their name is ‗A‘.
14. Query to display Name of all employees either have two ‗R‘s or have two ‗A‘s in their
name and are either in Dept No = 30 or their Manger‘s Employee No = 7788.
15. Query to display Name, Salary and Commission for all employees whose Commission
Amount is 14 greater than their Salary increased by 5%.
16. Query to display the Current Date.
17. Query to display Name, Hire Date and Salary Review Date which is the 1st Monday after
six months of employment.
18. Query to display Name and calculate the number of months between today and the date
each employee was hired.
19. Query to display the following for each employee <E-Name> earns < Salary> monthly
but wants < 3 * Current Salary >. Label the Column as Dream Salary.
20. Query to display Name with the 1st letter capitalized and all other letter lower case and
length of their name of all the employees whose name starts with ‗J‘, ‘A‘ and ‗M‘.
21. Query to display Name, Hire Date and Day of the week on which the employee started.
22. Query to display Name, Department Name and Department No for all the employees.
23. Query to display Unique Listing of all Jobs that are in Department # 30.
24. Query to display Name, Dept Name of all employees who have an ‗A‘ in their name.
25. Query to display Name, Job, Department No. And Department Name for all the
employees working at the Dallas location.
26. Query to display Name and Employee no. Along with their Manger‘s Name and the
Manager‘s employee no; along with the Employees‘ Name who do not have a Manager.
27. Query to display Name, Dept No. And Salary of any employee whose department
No. and salary matches both the department no. And the salary of any employee who
earns a commission.
28. Query to display Name and Salaries represented by asterisks, where each asterisk (*)
signifies $100.
29. Query to display the Highest, Lowest, Sum and Average Salaries of all the employees
30. Query to display the number of employees performing the same Job type functions.
31. Query to display the no. of managers without listing their names.
32. Query to display the Department Name, Location Name, No. of Employees and the
average salary for all employees in that department.
33. Query to display Name and Hire Date for all employees in the same dept. as Blake.
34. Query to display the Employee No. And Name for all employees who earn more than
the average salary.
35. Query to display Employee Number and Name for all employees who work in a
department with any employee whose name contains a ‗T‘.
36. Query to display the names and salaries of all employees who report to King.
37. Query to display the department no, name and job for all employees in the Sales
department.
Semester – V
Name of the Programme: BCA 5th Semester
Name of the Subject: Artificial Intelligence
Type of the Course: Core

Course Code: BCA-21501CC Credits: 4


Course Title: Artificial Intelligence Theory: 60 lectures

UNIT-I
1.Introduction (15 Lectures)
Introduction to Artificial Intelligence, Background and Applications, Turing Test and Rational
Agent approaches to AI, Introduction to Intelligent Agents, their structure, behavior and
environment.

UNIT-II
2.Problem Solving and Searching Techniques (15 Lectures)
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.

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

UNIT-IV
4.Dealing with Uncertainty and Inconsistencies (08 Lectures)
Truth Maintenance System, Default Reasoning, Probabilistic Reasoning, Bayesian Probabilistic
Inference, Possible World Representations.

5.Understanding Natural Languages (07 Lectures)


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

BOOKS RECOMMENDED:

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.
Name of the Programme: BCA 5th Semester
Name of the Subject: Lab Artificial Intelligence
Type of the Course: Core

Course Code: BCA-21501CC Credits: 2


Course Title: Lab Artificial Intelligence Lab: 60 lectures

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
into_list with item inserted as the n‘th element into every list at all levels.
6. Write a Prolog program to remove the Nth item from a list.
7. Write a Prolog program, remove-nth(Before, After) that asserts the After list is the Before list
with the removal of every n‘th item from every list at all levels.
8. Write a Prolog program to implement append for two lists.
9. Write a Prolog program to implement palindrome(List).
10. Write a Prolog program to implement max(X,Y,Max) so that Max is the greater of two numbers
X and Y.
11. Write a Prolog program to implement maxlist(List,Max) so that Max is the greatest number in
the list of numbers List.
12. Write a Prolog program to implement sumlist(List,Sum) so that Sum is the sum of a given list of
numbers List.
13. Write a Prolog program to implement two predicates evenlength(List) and oddlength(List) so
that they are true if their argument is a list of even or odd length respectively.
14. Write a Prolog program to implement reverse(List,ReversedList) that reverses lists.
15. Write a Prolog program to implement maxlist(List,Max) so that Max is the greatest number in
the list of numbers List using cut predicate.
16. Write a Prolog program to implement GCD of two numbers.
17. Write a prolog program that implements Semantic Networks/Frame Structures.
Name of the Programme: BCA 5th Semester
Name of the Subject: Programming in Java
Type of the Course: Core

Course Code: BCA-21502CC Credits: 4


Course Title: Programming in Java Theory: 60 Lectures

UNIT-I
1. Introduction to Java (6 Lectures)
Java Architecture and Features, Understanding the semantic and syntax differences between C++
and Java, Compiling and Executing a Java Program, Variables, Constants, Keywords Data Types,
Operators (Arithmetic, Logical and Bitwise) and Expressions, Comments, Doing Basic Program
Output, Decision Making Constructs (conditional statements and loops) and Nesting, Java Methods
(Defining, Scope, Passing and Returning Arguments, Type Conversion and Type and Checking,
Built-in Java Class Methods),
2. Arrays and Strings (9 Lectures)
Creating & Using Arrays (One Dimension and Multi-dimensional), Referencing Arrays
Dynamically, Java Strings: The Java String class, Creating & Using String Objects,
Manipulating Strings, String Immutability & Equality, Passing Strings To& From Methods,
String Buffer Classes.

UNIT-II
3. Object-Oriented Programming (10 Lectures)
Principles of Object-Oriented Programming, Defining & Using Classes, Controlling Access to Class
Members, Class Constructors, Method Overloading, Class Variables & Methods, Objects as
parameters, final classes, Object class, Garbage Collection.

4. I/O (5 Lectures)
Simple I/O using System. Out and the Scanner class, Byte and Character streams,
Reading/Writing from console and files.

UNIT-III
5. Inheritance, Interfaces, Packages, Enumerations, Autoboxing and Metadata (15 lectures)
Inheritance: (Single Level and Multilevel, Method Overriding, Dynamic Method Dispatch, Abstract
Classes), Interfaces and Packages, Extending interfaces and packages, Package and Class Visibility,
Using Standard Java Packages (util, lang, io, net), Wrapper Classes, Autoboxing/Unboxing,
Enumerations and Metadata.

UNIT-IV
6. Exception Handling, Threading, Networking and Database Connectivity (15 Lectures)
Exception types, uncaught exceptions, throw, built-in exceptions, Creating your own exceptions;
Multi-threading: The Thread class and Runnable interface, creating single and multiple threads,
Thread prioritization, synchronization and communication, suspending/resuming threads. Using
java.net package, Overview of TCP/IP and Datagram programming. Accessing and manipulating
databases using JDBC.
Reference Books
1. Ken Arnold, James Gosling, David Homes, "The Java Programming Language", 4th Edition,
2005.
2. James Gosling, Bill Joy, Guy L Steele Jr, GiladBracha, Alex Buckley"The Java Language
Specification, Java SE 8 Edition (Java Series)", Published by Addison Wesley, 2014.
3. Joshua Bloch, "Effective Java" 2nd Edition,Publisher: Addison-Wesley, 2008.
4. Cay S. Horstmann, GaryCornell, "Core Java 2 Volume 1 ,9th Edition,Printice Hall.2012
5. Cay S. Horstmann, Gary Cornell, "Core Java 2 Volume 2 - Advanced Features)", 9th Edition,
Printice Hall.2013
6. Bruce Eckel, "Thinking in Java", 3rd Edition, PHI, 2002.
7. E. Balaguruswamy, "Programming with Java", 4th Edition, McGraw Hill.2009.
8. Paul Deitel, Harvey Deitel, "Java: How to Program", 10th Edition, Prentice Hall, 2011.
9. "Head First Java", Orielly Media Inc. 2nd Edition, 2005.
10. David J. Eck, "Introduction to Programming Using Java", Published by CreateSpace
Independent Publishing Platform, 2009.
11. John R. Hubbard, "Programming with JAVA", Schaum's Series, 2nd Edition, 2004.
Name of the Programme: BCA 5th Semester
Name of the Subject: Lab Programming in Java
Type of the Course: Core

Course Code: BCA-21502CC Credits: 2


Course Title: Lab Programming in Java Lab: 60 Lectures

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
6. 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
7. Write a program that show working of different functions of String and StringBufferclasss
like setCharAt(, setLength(), append(), insert(), concat()and equals().
8. 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
9. 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.
10. 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)
11. 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
12. Write a program to show the use of static functions and to pass variable length arguments in
a function.
13. Write a program to demonstrate the concept of boxing and unboxing.
14. 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).
15. 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.
16. Write a program that creates illustrates different levels of protection in classes/subclasses
belonging to same package or different packages
17. 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.
18. Write a program to show the use of nested try statements that emphasizes the sequence of
checking for catch handler statements.
19. 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 Trowable).
20. Write a program to demonstrate priorities among multiple threads.
21. Write a program to demonstrate multithread communication by implementing
synchronization among threads (Hint: you can implement a simple producer and consumer
problem).
22. 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.
23. 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.
24. 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.
25. Write a program to get the URL/location of code (i.e. java code) and document(i.e. html file).
26. Write a program to demonstrate different mouse handling events like mouseClicked(),
mouseEntered(), mouseExited(), mousePressed, mouseReleased() and mouseDragged().
27. Write a program to demonstrate different keyboard handling events.
28. 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.
Semester – VI
Name of the Programme: BCA 6th Semester
Name of the Subject: Internet Technologies
Type of the Course: Core

Course Code: BCA-21601CC Credits: 4


Course Title: Internet Technologies Theory: 60 lectures

UNIT-I
Introduction to HTML Programming (5 lectures)

Java
Use of Objects, Array and ArrayList class

JavaScript (10 lectures)


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

UNIT-II

JDBC (15 lectures)


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

UNIT-III
JSP (15 lectures)
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.

UNIT-IV
Java Beans (15 lectures)

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

Recommended Books:

1. Ivan Bayross, Web Enabled Commercial Application Development Using Html,


Dhtml,javascript, Perl Cgi , 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.
Name of the Programme: BCA 6th Semester
Name of the Subject: Lab Internet Technologies
Type of the Course: Core

Course Code: BCA-21601CC Credits: 2


Course Title: Lab Internet Technologies Lab: 60 lectures

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.

Read n numbers. Count the number of negative numbers,


positive numbers and zeros in the list.
Name of the Programme: BCA 6th Semester
Name of the Subject: Computer Graphics
Type of the Course: Core

Course Code: BCA-21602CC Credits: 4


Course Title: Computer Graphics Theory: 60 lectures

UNIT-I
1.Introduction (7 Lectures)
Basic elements of Computer graphics, Applications of Computer Graphics.

2.Graphics Hardware (8 Lectures)


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

UNIT-II
3.Fundamental Techniques in Graphics (15 Lectures)
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.

UNIT-III
4.Geometric Modeling (15 Lectures)
Representing curves & Surfaces.

UNIT-IV
5.Visible Surface determination (8 Lectures)
Hidden surface elimination.

6.Surface rendering (7 Lectures)


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

Books Recommended:
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.
Name of the Programme: BCA 6th Semester
Name of the Subject: Lab Computer Graphics
Type of the Course: Core

Course Code: BCA-21602CC Credits: 2


Course Title: Lab Computer Graphics Lab: 60 lectures

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.
Environmental Sciences:
BCA-EVS120A: Environmental Studies – I

(Syllabus to be provided by Environmental Science Faculty)


Ability Enhancement Courses:
BCA-ECS220A: English Communication Skills

(Syllabus to be provided by English Faculty)


SKILL ENHANCEMENT COURSE
Name of the Programme: BCA 3rd Semester
Name of the Subject: PHP Programming
Type of the Course: SEC (Skill Enhancement Course)

Course Code: BCA-21304SE Credits: 2


Course Title: PHP Programming Theory: 30 lectures

UNIT-I
Introduction to PHP: (6Lectures)
 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: (4 Lectures)


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

PHP conditional events and Loops: (5 Lectures)


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

UNIT-II
PHP Functions: (7 Lectures)
 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: (4 Lectures)


 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: (4 Lectures)
 Anatomy of an Array ,Creating index based and Associative array ,Accessing array
 Looping with Index based array, with associative array using each() and foreach()
 Some useful Library function
Reference Books:
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.
Name of the Programme: BCA 3rd Semester
Name of the Subject: Lab PHP Programming
Type of the Course: SEC (Skill Enhancement Course)

Course Code: BCA-21304SE Credits: 2


Course Title: Lab PHP Programming Lab: 30 Lectures

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.'
Expected Result :That quick brown fox jumps over the lazy dog.
20. Write PHP script to connect a database on a specified system.
DISCIPLINE SPECIFIC ELECTIVES
Name of the Programme: BCA 5th Semester
Name of the Subject: Numerical Methods
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21503DE Credits: 4


Course Title: Numerical Methods Lab: 60 Lectures

UNIT-I (15 Lectures)


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

UNIT-II (15 Lectures)


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

UNIT-III (15 Lectures)


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

UNIT-IV (15 Lectures)


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

REFERNCE BOOKS:
[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)
[3] Steven C Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists,
Tata McGraw Hill, 2/e (2010)
Name of the Programme: BCA 5th Semester
Name of the Subject: Lab Numerical Methods
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21503DE Credits: 2


Course Title: Lab Numerical Methods Lab: 60 Lectures

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.
Name of the Programme: BCA 5th Semester
Name of the Subject: Information Security
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21505DE Credits: 4


Course Title: Information Security Theory: 60 Lectures

UNIT I
1. Introduction (5 Lectures)
Security, Attacks, Computer Criminals, Security Services, Security Mechanisms.

2. Cryptography (10 Lectures)


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

UNIT II (8 Lectures)
3. Program Security
Secure programs, Non malicious Program errors, Malicious codes virus, Trap doors, Salami attacks,
Covert channels, Control against program

4. Threats. (7 Lectures)
Protection in OS: Memory and Address Protection, Access control, File Protection, User
Authentication.

UNIT III (7 Lectures)


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

6. Security in Networks (8 Lectures)


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

UNIT IV
7. Administrating Security (15 Lectures)
Security Planning, Risk Analysis, Organisational Security Policy, Physical Security. Ethical issues
in Security: Protecting Programs and data. Information and law.

Recommended Books:

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
Name of the Programme: BCA 5th Semester
Name of the Subject: Information Security Lab
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21505DE Credits: 4


Course Title: Information Security Lab Theory: 60 Lectures

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 operations.

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.
Name of the Programme: BCA 5th Semester
Name of the Subject: Theory of Computation
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21504DE Credits: 4


Course Title: Theory of Computation Theory: 60 lectures

UNIT-I

1. Languages (15 Lectures)


Alphabets, string, language, Basic Operations on language, Concatenation, KleeneStar

UNIT-II

2. Finite Automata and Regular Languages (15 Lectures)

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.

UNIT-III
3. Context free languages (15 Lectures)

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.

UNIT-IV
4.Turing Macines and Models of Computations (15 Lectures)
RAM, Turing Machine as a model of computation, Universal Turing Machine, Language
acceptability, decidability, halting problem, Recursively enumerable and recursive languages,
unsolvability problems.

Recommended Books:

1. Daniel I.A.Cohen, Introduction to computer 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
Name of the Programme: BCA 5th Semester
Name of the Subject: Theory of Computation
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21504DE Credits: 2


Course Title: Tutorials Theory of Computation Tutorials: 30 Lectures

Tutorials based on theory.


Name of the Programme: BCA 5th Semester
Name of the Subject: Cloud Computing
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21506DE Credits: 4


Course Title: Cloud Computing Theory: 60 Lectures

UNIT-I
Overview of Computing Paradigm ( 8 Lectures)
Recent trends in Computing: Grid Computing, Cluster Computing, Distributed
Computing,
Utility Computing, Cloud Computing,

Introduction to Cloud Computing ( 7 Lectures)


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

UNIT-II
Cloud Computing Architecture ( 15 Lectures)
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
asa Service(SaaS), How Cloud Computing Works, Deployment Models- Public cloud, Private
cloud, Hybrid cloud, Community cloud, Case study of NIST architecture.

UNIT-III
Case Studies ( 15 Lectures)
Case study of Service model using Google App Engine, Microsoft Azure, Amaz EC2 , Eucalyptus.

UNIT-IV
Service Management in Cloud Computing ( 8 Lectures)
Service Level Agreements(SLAs), Billing & Accounting, Comparing Scaling Hardware:
Traditional vs. Cloud, Economics of scaling.

Cloud Security ( 7 Lectures)


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.
Reference Books

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


2. Cloud Computing: Principles and Paradigms, Editors: RajkumarBuyya,
James Broberg, Andrzej M. Goscinski, Wile, 2011
3. Cloud Computing: Principles, Systems and Applications, Editors: NikosAntonopoulos,
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 PracticalApproach
,McGraw Hills, 2010.
7. Dimitris N. Chorafas, Cloud Computing Strategies ,CRC Press, 2010
Name of the Programme: BCA 5th Semester
Name of the Subject: Lab Cloud Computing
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21506DE Credits: 2


Course Title: Lab Cloud Computing Theory: 60 Lectures

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-

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


Name of the Programme: BCA 6th Semester
Name of the Subject: Machine Learning
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21603DE Credits: 4


Course Title: Machine Learning Theory: 60 Lectures

UNIT I
Introduction: (8 Lectures)
Concept of Machine Learning, Applications of Machine Learning, Key elements of Machine
Learning, Supervised vs. Unsupervised Learning, Statistical Learning: Bayesian Method, The Naive
Bayes Classifier

Softwares for Machine Learning and Linear Algebra Overview: (7 Lectures)


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

UNIT II
Linear Regression: (15 Lectures)
Prediction using Linear Regression, Gradient Descent, Linear Regression with one variable, Linear
Regression with multiple variables, Polynomial Regression, Feature Scaling/Selection.

UNIT III
Logistic Regression: (8 Lectures)
Classification using Logistic Regression, Logistic Regression vs. Linear Regression, Logistic
Regression with one variable and with multiple variables.

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

UNIT IV
Neural Networks: (15 Lectures)
Introduction, Model Representation, Gradient Descent vs. Perceptron Training, Stochastic Gradient
Descent, Multilayer Perceptrons, Multiclass Representation, Backpropagation Algorithm.

Suggested Books:
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.
Name of the Programme: BCA 6th Semester
Name of the Subject: Machine Learning Lab
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21603DE Credits: 4


Course Title: Machine Learning Lab Theory: 60 Lectures

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.
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 student’s data, classify, whether a student is suitable for a particular activity. Based
on the available dataset, a student can also implement another classification problem like
checking whether an email is spam or not.
15. Use some function for regularization of dataset based on problem 14.
16. Use some function for neural networks, like Stochastic Gradient Descent or backpropagation
- algorithm to predict the value of a variable based on the dataset of problem 14.
Name of the Programme: BCA 6th Semester
Name of the Subject: Python Programming
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21605DE Credits: 4


Course Title: Python Programming Theory: 60 Lectures

UNIT I:
Introduction to Python: (3 Lectures)
Structure of a Python Program, Atoms, Identifiers and keywords, Elements of Python; Python
Interpreter, Using Python as calculator, Python shell, Indentation.

Builtin Data Types: (10 Lectures)


Numbers: Literal representations of numbers, Operators for numbers, Methods on numbers; Lists:
Literal representation of lists, Operators on lists, Methods on lists, List comprehensions; Strings:
Characters, Operators on strings, Methods on strings, Raw strings, Unicode strings; Dictionaries:
Literal representation of dictionaries, Operators on dictionaries, Methods on dictionaries; Files;
None; The booleans True and False.

Operators (2 Lectures)
Arithmetic operator, Relational operator, Logical or Boolean operator, Assignment, Operator,
Ternary operator, Bit wise operator, Increment or Decrement operator).

UNIT II
Statements: (15 Lectures)
Assignment statement; Input and Output Statements, Print statement; Control statements: if:
statement; for: statement; while: statement (Branching, Looping, Conditional Statement, Exit
function, Difference between break, continue and pass.). Exceptions and the try: except: and raise
statements.

UNIT III
Functions (15 Lectures)
Optional arguments and default values; Passing functions as arguments; Extra args and keyword
args; Order of arguments (positional, extra, and keyword args; Functions and duck typing and
polymorphism; Recursive functions; Generators and iterators.

UNIT IV
Object Oriented Programming and classes (15 Lectures)
Constructor; Inheritance Implementing a subclass; Classes and polymorphism; Recursive calls to
methods; Class variables, class methods, and static methods; Decorators for class method and static
method.

Reference Books
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
5. http://interactivepython.org/courselib/static/pythonds
6. http://www.ibiblio.org/g2swap/byteofpython/read/
Name of the Programme: BCA 6th Semester
Name of the Subject: Python Programming Lab
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21605DE Credits: 4


Course Title: Python Programming Lab Theory: 60 Lectures

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 parameters 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 )
WAP to show a ball bouncing between 2 walls. (Optional)
Name of the Programme: BCA 6th Semester
Name of the Subject: Dissertation/ Project Work
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21604DE Credits: 4


Course Title: Dissertation/ Project Work Theory: 60 Lectures

This option to be offered only in 6th Semester.


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.

Each group will be assigned a teacher as a supervisor who will handle both their theory as well
lab classes.

A maximum of Four (04) projects would be assigned to one teacher.


Name of the Programme: BCA 6th Semester
Name of the Subject: Lab Dissertation/ Project Work
Type of the Course: DSE (Discipline Specific Electives)

Course Code: BCA-21604DE Credits: 2


Course Title: Lab Dissertation/ Project Work Lab: 60 Lectures

This option to be offered only in 6th Semester.


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.

Each group will be assigned a teacher as a supervisor who will handle both their theory as well
lab classes.

A maximum of Four (04) projects would be assigned to one teacher.


Skill Enhancement Courses
for
B.A, B.Sc. at 5th and 6th
Semester Level
Semester – 5th
Name of the Subject: Computer Applications
Type of Course: Skill Enhancement Course

Course Code: BCA-21501SE Credits: 2


Course Title: Computer Applications Theory: 30 Lectures

Course Objectives: The Skill Enhancement Course will introduce students to Basic Computer
Fundamentals. This course is intended for students who do not have any background in computers.

Unit 1:
Various Components of a Computer and their connections, unboxing a Desktop PC, Printer, Scanner,
Computer and Latest IT gadgets, Evolution of Computers & its applications, IT gadgets and their
applications, Basics of Hardware and Software, Hardware: Central Processing Unit, Input devices,
Output devices, Computer Memory & storage. Software: Application Software, Systems Software,
Utility Software, Antivirus & Firewall, Open source and Proprietary Software, Software Licenses &
Piracy, Mobile Apps, Basic Troubleshooting, Concept of Networking & creation of LAN.

Unit 2:
Operating System: Basics of Operating system, Operating Systems for Desktop, Laptop & Mobiles
(Windows/Ubuntu/Android/iOS). User Interface for Desktop, Laptop & Mobile. TaskBar, Icons &
shortcuts, Running an Application, MS Paint, 3D Paint, Compressing/ Uncompressing ZIP/RAR
files, Password protecting archives, Operating System Simple Setting, Using Mouse and Changing
its Properties, Changing System Date and Time, Changing Display Properties, Region, Language &
Keyboard Settings/ To Add or Remove Program and Features, Adding, Removing & Sharing
Printers, Printing Documents, File and Folder Management, Types of file Extensions, Connecting to
the Internet using LAN & WiFi, Operating System Updates

Recommended Learning Resources:


Swayam Platform (www.swayam.gov.in)
NPTEL (www.nptel.ac.in)
Google Online courses (https://learndigital.withgoogle.com/)
Semester – 5th
Name of the Subject: Lab Computer Applications
Type of Course: Skill Enhancement Course

Course Code: BCA-21501SE Credits: 2


Course Title: Lab Computer Applications Lab : 30 Lectures

Credit 1:
A. Word Processing using MS Office/ LibreOffice Writer Google Docs App.
B. Spreadsheet Management using MS Excel, Libreoffice Calc, Google Sheets App.
Credit 2:
A. Use of MS Powerpoint/Libreoffice Impress/ Google Slides App for Presentation Design.
B. Collaborative editing in Google Apps.
Semester – 6th
Name of the Subject: Web Technologies
Type of Course: Skill Enhancement Course

Course Code: BCA-21601SE Credits: 2


Course Title: Web Technologies Lab : 30 Lectures

Course Objectives: The course will introduce students to basic Web Concepts and technologies.
This course is intended for students who have limited or no background in computers.

Unit 1:
Basic Computer Networking, LAN, WAN, Switches, routers, Access Control. Concept of internet &
WWW, URL, IP Address, ISP, Hotspot, WiFi, LAN Cable, Broadband, USB Tethering,
IP/MAC/IMEI Web Browsers for PC & Android. Exploring the internet, Basic & Advanced Search
using popular search engines, Advanced Search & Image Search, Anonymous Searching,
Downloading online resources. Using Email, Social Networking, Instant Messaging, Blogs, Vlogs,
e-Commerce Sites, emojis, netiquettes, Digital Marketing, Search Engine Optimisation.

Introduction to Modern IT Concepts: Internet of Things (IoT), Big Data Analytics, Cloud
Computing, Virtual Reality, Artificial Intelligence, Social & Mobile, Blockchain Technology,
Cryptocurrency, 3D Printing/ Additive Manufacturing, Robotics Process Automation

Unit 2:
Online Learning: Swayam Portal, NPTEL, Coursera, Spoken Tutorials, Grow with Google etc.
Using Google Classroom to connect with teachers, download coursework, and submit assignments.
Using Google Meet.

Online Services: Google Drive, DigiLocker, Digital India Services, Digital Financial Tools (Bhim,
UPI, AEPS, e-Banking, NEFT, RTGS, IMPS, Bill Payments)

Cyber Security, Spam, Phishing, Types of Online Frauds, Dark Web, Cyber Law, Fake News,
Privacy, VPN, Role of CERT-in, Cyber Police Stations.

Recommended Learning Resources:


Swayam Platform (www.swayam.gov.in)
NPTEL (www.nptel.ac.in)
Google Online courses (https://learndigital.withgoogle.com/)
Semester – 6th
Name of the Subject: Lab Web Technologies
Type of Course: Skill Enhancement Course

Course Code: BCA-21601SE Credits: 2


Course Title: Lab Web Technologies Lab : 30 Lectures

Credit 1:
Create and use an Email account. Configure the email account on Outlook & Smartphone.
Enroll and complete at least one course each on Swayam Portal & Google Online Courses related to
Web Technologies.

Credit 2:
Create and Manage a Google MyBusiness Page for a business complete with all details.
Use Google Drive and DigiLocker for saving data and sharing with others.

You might also like