BCA Syllabus For 1 To 4 To Sem
BCA Syllabus For 1 To 4 To Sem
KOLAR - 563103
Revised w.e.f.
1
Preamble
Computer Application (CA) has been evolving as an important branch of science and
technology in last two decade and it has carved out a space for itself like computer science
and engineering. Computer application spans theory and more application and it requires
thinking both in abstract terms and in concrete terms.
The ever -evolving discipline of computer application has strong connections toother
disciplines. Many problems in science, engineering, health care, business, and other areas can
be solved effectively with computers and its applications, but finding a solution requires both
computer science expertise and knowledge of the particular application domain.
Computer science has a wide range of specialties. These include Computer Architecture,
Software Systems, Graphics, Artificial Intelligence, Mathematical and Statistical Analysis,
Data Science, Computational Science, and Software Engineering.
Universities and other HEIs introduced programmes of computer application.
Information Technology is growing rapidly. Increasing applications of computers in almost
all areas of human endeavour has led to vibrant industries with concurrent rapid change in
technology. Unlike other basic disciplines, developing core competency in this discipline that
can be reasonably stable becomes a challenge.
In India, it was initially introduced at the Master (postgraduate) level as MCA and
M.Tech. Later on, engineering programmes such as B.Tech and B.E in Computer Science &
Engineering and in Information Technology were introduced in various engineering
College/Institutions to cater to the growing demand for trained engineering manpower in
IT industries. Parallelly, BCA, BSc and MSc programmes with specialisation in Computer
Science were introduced to train manpower in this highly demanding area.
BCA and BCA (Hons) are aimed at undergraduate level training facilitating multiple
career paths. Students so graduated, can take up postgraduate programmes in CS or MCA
leading to research as well as R&D, can be employable at IT industries, or can pursue a
teaching profession or can adopt a business management career.
BCA and BCA (Hons) aims at laying a strong foundation of computer application at
an early stage of the career. There are several employment opportunities and after successful
completion of BCA, graduating students can fetch employment directly in companies as
programmer, Web Developer, Software Engineer, Network Administrator,Data Scientist, or
AI/ML personnel.
2
The Program outcomes in BCA are aimed at allowing flexibility and innovation in
design and development of course content, in method of imparting training, in teaching
learning process and in assessment procedures of the learning outcomes. The emphasis in
BCA courses, in outcome-based curriculum framework, help students learn solvingproblems,
accomplishing IT tasks, and expressing creativity, both individually and collaboratively. The
proposed framework will help Students learn programming techniques and the syntax of one
or more programming languages.
All students must, therefore, have access to a computer with a modern programming
language installed. The computer science framework does not prescribe a specific language.
The teacher and students will decide which modern programming languages students will
learn. More importantly, students will learn to adapt to changes in programming languages
and learn new languages as they are developed.
The present Curriculum Framework for BCA degrees is intended to facilitate the students to
achieve the following.
• To develop an understanding and knowledge of the basic theory of Computer Science
and Information Technology with good foundation on theory, systems and
applications such as algorithms, data structures, data handling, data communication
and computation
• To develop the ability to use this knowledge to analyse new situations in the
application domain
• To acquire necessary and state-of-the-art skills to take up industry challenges. The
objectives and outcomes are carefully designed to suit to the above-mentioned
purpose.
• The ability to synthesize the acquired knowledge, understanding and experience for
a better and improved comprehension of the real-life problems
• To learn skills and tools like mathematics, statistics and electronics to find the
solution, interpret the results and make predictions for the future developments
• To formulate, to model, to design solutions, procedure and to use software tools to
solve real world problems and evaluate
3
The objectives of the Programme are:
4
Program Outcomes: BCA (3 Years) Degree
5
Additional Program Outcomes: BCA Degree (Hons)
The Bachelor of Computer Application (BCA (Hons)) program enables students to attain
following additional attributes besides the afore-mentioned attributes, by the time of
graduation:
1. Apply standard Software Engineering practices and strategies in real -time software
project development
2. Design and develop computer programs/computer -based systems in the areas
related to AI, algorithms, networking, web design, cloud computing, IoT and data
analytics.
3. Acquaint with the contemporary trends in industrial/research settings and thereby
innovate novel solutions to existing problems
4. The ability to apply the knowledge and understanding noted above to the analysis of
a given information handling problem.
5. The ability to work independently on a substantial software project and as an effective
team member.
6
Model Curriculum for BCA
Hour / Week Hous/
Sem Core Courses DS Elective Courses
Theory Lab Week
1 i. Fundamentals of Computers 3
ii. Programming in C 3
iii. Mathematical Foundation/ 3
Accountancy
iv. LAB: Information Technology 4
v. LAB: C Programming 4
2 i. Discrete Mathematical Structures 3
ii. Data Structures using C 3
iii. Object Oriented Concepts using JAVA 3
iv. LAB: Data Structure 4
v. LAB: JAVA Lab 4
3 i. Data Base Management Systems 3
ii. C# and DOT NET Framework 3
iii. Computer Communication and 3
Networks
iv. LAB: DBMS 4
v. LAB: C# and DOT NET Framework 4
4 i. Python Programming 3
ii. Computer Multimedia and Animation 3
iii. Operating Systems Concepts 3
iv. LAB: Multimedia and Animation 4
v. LAB: Python programming 4
5 i. Internet Technologies 3 (a) Cyber Law and Cyber 3
ii. Statistical Computing and R 3 Security
Programming (b) Cloud Computing 3
iii. Software Engineering 3 (c) Business Intelligence 3
iv. LAB: R Programming 4
v. LAB: JAVA Script, HTML and CSS 4
vi. Vocational 1 3
6 i. Artificial Intelligence and Applications 3 (a) Fundamentals of Data 3
ii. PHP and MySQL 3 Science
iii. LAB: PHP and MySQL 4 (b) Mobile Application 3
iv. PROJECT: 12 Development
v. Vocational 2 3 (c) Embedded Systems 3
7 i. Analysis and Design of Algorithms 3 (a) Data Compression 3
ii. Data Mining and Knowledge 3 (b) IoT 3
Management (c) Data Analytics 3
iii. LAB: Algorithms 4
iv. LAB: Data Mining and Knowledge 4
Management
v. Vocational 3
8 i. Automata Theory and Compiler 3 (a) Open-Source 3
Design Programming
ii. Cryptography and Network Security 3 (b) Storage Area Networks 3
iii. Compiler Lab 4 (c) Pattern Recognition 3
iv. LAB: Project 12 (a) Machine Learning 3
v. Vocational 4 3
7
TABLE I: COURSE STRUCTURE FOR BCA.
Total Credit
of OE,
Total
Semester Course Code Title of the Paper Credit Languages,
Credit
CAE, Voc,
AECC, SEC
CAC01 Fundamentals of Computers 3
CAC02 Programming in C 3
CAC03(a)/(b) Mathematical Foundation/ Accountancy 3 13 26
CAC01P LAB: Information Technology 2
I CAC02P LAB: C Programming 2
CAC04 Data Structures using C 3
CAC05 Object Oriented Concepts using JAVA 3
CAC06 Discrete Mathematical Structures 3 13 26
CAC04 P LAB: Data Structure 2
II CAC05 P LAB: JAVA 2
CAC07 Data Base Management Systems 3
CAC08 C# and DOT NET Framework 3
CAC09 Computer Communication and Networks 3 13 26
CAC07P LAB: DBMS 2
III CAC08P LAB: C# and DOT NET Framework 2
CAC10 Python Programming 3
CAC11 Computer Multimedia and Animation 3
CAC12 Operating System Concepts 3 13 26
CAC10P LAB: Python programming 2
IV CAC11P LAB: Multimedia and Animation 2
CAC13 Internet Technologies 3
CAC14 Statistical Computing and R Programming 3
CAC15 Software Engineering 3 10 23
CAC13P LAB: JAVA Script, HTML and CSS 2
V CAC14P LAB: R Programming 2
CAC16 PHP and MySQL 3
CAC17 Artificial Intelligence and Applications 3
10 23
CAC16P LAB: PHP and MySQL 2
VI CA-P1 Project Work 5
CAC18 Analysis and Design of Algorithms 3
CAC19 Data Mining and Knowledge Management 3
CAC18P LAB: Algorithms 2 11 21
CAC19P LAB: Data Mining 2
VII CAI01 Internship 2
CAC20 Automata Theory and Compiler Design 3
CAC21 Cryptography and Network Security 3
6 20
CAC20P LAB: Compiler Lab 2
VIII CAP02 Project Work 6
8
TABLE II: CS COURSE DETAILS FOR BCA
List of compulsory courses and list
Course- Compulsory/
Course Code as referred above of option of elective courses.
Type Elective
(A suggestive list)
CAC01, CAC02, CAC03(a)/(b), CAC04,
CAC05, CAC06, CAC07, CAC08, CAC09,
CA CAC10, CAC11, CAC12, CAC13, CAC14, Compulsory As Mentioned in Table I
CAC15, CAC16, CAC17, CAC18, CAC19,
CAC20, CAC21
Cyber Law and Cyber Security
OR
CAE-1A Elective Business Intelligence
OR
Fundamentals of Data Science
Fundamentals of Data Science
OR
CAE-2A Elective Mobile Application Development
OR
Embedded Systems
Data Compression
CA E
OR
CAE-3A Elective Internet of Things (IoT)
OR
Data Analytics
Open-source Programming
OR
Storage Area Networks
CAE-4A Elective OR
Pattern Recognition
OR
Machine Learning
DTP, CAD and Multimedia
Vocational -1 Elective OR
Hardware and Server Maintenance
OR
Vocational -2 Elective Web Content Management Systems
OR
Vocational Computer Networking
Vocational -3 Elective OR
Health Care Technologies
OR
Digital Marketing
Vocational -4 Elective OR
Office Automation
SEC 1 Compulsory Health & Wellness/ Social & Emotional
Learning
SEC 2 Compulsory Sports/NCC/NSS etc
SEC
SEC 3 Compulsory Ethics & Self Awareness
SEC 4 Compulsory Professional Communication
AECC1 Compulsory Environmental Studies
AECC
AECC2 Compulsory Constitution of India
Language 1 L1-1, L1-2, L1-3, L1-4 Compulsory Kannada/Functional Kannada
English/Hindi/French/ Additional
Language 2 L2-1, L2-2, L2-3, L4-4 Elective
English/ etc.
9
Model Course Content for BCA, Semesters I and II
Semester: I
Course Code: CAC01 Course Title: Fundamentals of Computers
Course Credits: 03 Hours/Week: 03
Total Contact Hours: 42 Formative Assessment Marks: 30
Exam Marks: 70 Exam Duration: 03
Course Content
Content Hours
Unit – 1
10
Unit-2
Unit-3
Unit-4
Unit-5
Web Basics: Introduction to web, web browsers, http/https, URL, HTML5, CSS
Text Books:
1. Pradeep K. Sinha and Priti Sinha: Computer Fundamentals (Sixth Edition), BPB
Publication
2. David Riley and Kenny Hunt, Computational thinking for modern solver,
Chapman & Hall/CRC,
Reference:
1. J. Glenn Brook shear,” Computer Science: An Overview”, Addision-Wesley,
Twelfth Edition,
2. R.G. Dromey, “How to solve it by Computer”, PHI,
11
Course Code: CAC01P Course Title: Information Technology Lab
Course Credits: 02 Hours/Week: 04
Total Contact Hours: 52 Formative Assessment Marks: 10
Exam Marks: 40 Exam Duration: 04
Part A: Hardware
Part B: Software
12
NOTE: In addition to the ones listed above, universities can include other activities so
as for the student to become proficient in using personal computers for
multiple purposes for which modern computers can be put to use.
Reference:
1. Computational Thinking for the Modern Problem Solver, By Riley DD, Hunt K.A CRC
press, 2014
2. Ferragina P, Luccio F. Computational Thinking: First Algorithms, Then Code. Springer
Web References:
http://www.flowgorithm.org/documentation/
13
Course Code: CAC02 Course Title: Programming in C
Course Credits: 03 Hours/Week: 03
Total Contact Hours: 42 Formative Assessment Marks: 30
Exam Marks: 70 Exam Duration: 03
Content Hours
Unit – 1
Introduction to C Programming: Overview of C; History and Features of C;
Structure of a C Program with Examples; Creating and Executing a C Program;
Compilation process in C.
Input and output with C: Formatted I/O functions - printf and scanf, control
stings and escape sequences, output specifications with printf functions;
Unformatted I/O functions to read and display single character and a string -
getchar, putchar, gets and puts functions.
Unit – 2
14
Statements - Entry controlled and exit controlled statements, while, do-while,
for loops, Nested loops.
Unit – 3
Unit – 4
Pointers in C: Understanding pointers - Declaring and initializing pointers,
accessing address and value of variables using pointers; Pointers and Arrays; 4
Pointer Arithmetic; Advantages and disadvantages of using pointers;
Unit – 5
User Defined Functions: Need for user defined functions; Format of C user
defined functions; Components of user defined functions - return type, name,
parameter list, function body, return statement and function call; Categories of
user defined functions - With and without parameters and return type.
8
User defined data types: Structures - Structure Definition, Advantages of
Structure, declaring structure variables, accessing structure members, Structure
members initialization, comparing structure variables, Array of Structures;
Unions - Union definition; difference between Structures and Unions.
Text Books:
1. C: The Complete Reference, By Herbert Schildt.
2. C Programming Language, By Brain W. Kernighan
3. Kernighan & Ritchie: The C Programming Language (PHI)
Reference Books:
1. P. K. Sinha & Priti Sinha: Computer Fundamentals (BPB)
2. E. Balaguruswamy: Programming in ANSI C (TMH)
3. Kamthane: Programming with ANSI and TURBO C (Pearson Education)
4. V. Rajaraman: Programming in C (PHI – EEE)
5. S. Byron Gottfried: Programming with C (TMH)
6. Yashwant Kanitkar: Let us C
7. P.B. Kottur: Programming in C (Sapna Book House)
15
Course Code: CAC02P Course Title: C Programming Lab
Course Credits: 02 Hours/Week: 04
Total Contact Hours: 52 Formative Assessment Marks:10
Exam Marks: 40 Exam Duration: 04
Programming Lab
Part A:
Part B:
16
8. Program to read a string and to find the number of alphabets, digits, vowels,
consonants, spaces and special characters.
9. Program to Reverse a String using Pointer
10. Program to Swap Two Numbers using Pointers
11. Program to demonstrate student structure to read & display records of n
students.
12. Program to demonstrate the difference between structure & union.
Note: Student has to execute a minimum of 10 programs in each part to complete the
Lab course
17
Course Code: CAC03(a) Course Title: Mathematical Foundation
Course Credits: 03 Hours/Week: 03
Total Contact Hours: 42 Formative Assessment Marks: 30
Exam Marks: 70 Exam Duration: 03
Unit – 2
Operations on sets: power set- Venn diagram Cartesian product-relations - 10
functions- types of functions - composition of functions.
Unit – 3
Matrix algebra: Introduction-Types of matrices-matrix operations-transpose 10
of a matrix -determinant of matrix - inverse of a matrix- Cramer’s rule
Unit – 4
Matrix: finding rank of a matrix - normal form-echelon form cayley Hamilton 6
theorem-Eigen values
Unit – 5
Differential calculus: Functions and limits - Simple Differentiation of 6
Algebraic Functions – Evaluation of First and Second Order Derivatives –
Maxima and Minima
Text Books:
P. R. Vittal-Business Mathematics and Statistics, Margham Publications, Chennai,
Reference Books:
B. S. Vatsa-Discrete Mathematics –New Age International Limited Publishers, New
Delhi
18
Course Code: CAC03(b) Course Title: Accountancy
Course Credits: 03 Hours/Week: 03
Total Contact Hours: 42 Formative Assessment Marks: 30
Exam Marks: 70 Exam Duration: 03
Unit – 1
Unit – 2
10
Accounting Concepts and Convention: Meaning, need and classification,
accounting standards meaning, need and classification of Indian accounting
standards. Accounting principles V/s accounting standard
Financial Accounting Process: Classification of accounting transactions and
accounts, rules of debit and credit as per Double Entry System. Journalization and
Ledger posting.
Unit – 3
10
Preparation of Different Subsidiary Books: Purchase Day book Sales Day
Book, Purchase Returns Day Book, Sales Returns Day Book, Cash Book.
Bank Reconciliation Statement: Meaning, Causes of Difference, Advantages,
Preparation of Bank Reconciliation Statements.
Unit – 4
19
Bills, Bill Receivable Book and Payable Book.
Preparation of Trial Balance: Rectification of errors and Journal Proper
Unit – 5
6
Preparation of Final Accounts: Meaning, need and classification, Preparation
of Manufacturing, Trading, Profit and loss account and Balance – Sheet of sale-
traders and partnership firms.
Text Books:
1. S. Ramesh, B.S. Chandrashekar, A Text Book of Accountancy.
2. V.A. Patil and J.S. Korihalli, Book – keeping and accounting, (R. Chand and
Co. Delhi).
3. R. S. Singhal, Principles of Accountancy, (Nageen Prakash pvt. Lit. Meerut).
4. M. B. Kadkol, Book – Keeping and Accountancy, (Renuka Prakashan, Hubil)
5. Vithal, Sharma:Accounting for Management, Macmillan Publishers,
Mumbai.
Reference Books:
1. B.S. Raman, Accountancy, (United Publishers, Mangalore).
2. Tulsian, Accouning and Finacial Management – I: Financial
Accounting – Person Education.
20
Semester: II
• Describe how arrays, records, linked structures, stacks, queues, trees, and
graphs are represented in memory and used by algorithms
• Describe common applications for arrays, records, linked structures, stacks,
queues, trees, and graphs
• Write programs that use arrays, records, linked structures, stacks, queues,
trees, and graphs
• Demonstrate different methods for traversing trees
• Compare alternative implementations of data structures with respect to
performance
• Describe the concept of recursion, give examples of its use
• Discuss the computational efficiency of the principal algorithms for sorting,
searching, and hashing
Course Content
Content Hours
Unit – 1
Introduction to data structures: Definition; Types of data structures - Primitive & 8
Non-primitive, Linear and Non-linear; Operations on data structures.
Dynamic memory allocation: Static & Dynamic memory allocation; Memory
allocation and de-allocation functions - malloc, calloc, realloc and free.
Algorithm Specification, Performance Analysis, Performance Measurement
Recursion: Definition; Types of recursions; Recursion Technique Examples - GCD,
Binomial coefficient nCr, Towers of Hanoi; Comparison between iterative and
recursive functions.
Unit – 2
Arrays: Basic Concepts – Definition, Declaration, Initialisation, Operations on arrays; 10
Types of arrays; Arrays as abstract data types (ADT); Representation of Linear Arrays
in memory;
Traversing linear arrays; Inserting and deleting elements; Sorting – Selection sort,
Bubble sort, Quick sort, Selection sort, Insertion sort; Searching - Sequential Search,
21
Binary search; Iterative and Recursive searching; Multidimensional arrays;
Representation of multidimensional arrays; Sparse matrices.
Unit – 3
Linked list: Basic Concepts – Definition and Representation of linked list, Types of 8
linked lists - Singly linked list, Doubly liked list, Header liked list, Circular linked list;
Representation of Linked list in Memory;
Operations on Singly linked lists – Traversing, Searching, Insertion, Deletion; Memory
allocation; Garbage collection,
Unit – 4
Stacks: Basic Concepts – Definition and Representation of stacks; Operations on 8
stacks; Applications of stacks; Infix, postfix and prefix notations; Conversion from
infix to postfix using stack; Evaluation of postfix expression using stack; Application
of stack in function calls.
Queues: Basic Concepts – Definition and Representation of queues; Types of queues
- Simple queues, Circular queues, Double ended queues, Priority queues; Operations
on Simple queues;
Unit – 5
Trees: Definition; Tree terminologies –node, root node, parent node, ancestors of a 8
node, siblings, terminal & non-terminal nodes, degree of a node, level, edge, path,
depth;
Binary tree: Type of binary trees - strict binary tree, complete binary tree, binary
search tree and heap tree; Array representation of binary tree. Traversal of binary
tree; preorder, inorder and postorder traversal;
Text Books
1. Ellis Horowitz and Sartaj Sahni: Fundamentals of Data Structures
References
22
Course Code: CAC04P Course Title: Data Structures Lab
Course Credits: 02 Hours/Week: 04
Total Contact Hours: 52 Formative Assessment Marks: 10
Exam Marks: 40 Exam Duration: 03 Hours
Programming Lab
Part A:
1. Program to find GCD using recursive function
2. Program to display Pascal Triangle using binomial function
3. Program to generate n Fibonacci numbers using recursive function.
4. Program to implement Towers of Hanoi.
5. Program to implement dynamic array, find smallest and largest element of
the array.
6. Program to create two files to store even and odd numbers.
7. Program to create a file to store student records.
8. Program to read the names of cities and arrange them alphabetically.
9. Program to sort the given list using selection sort technique.
10. Program to sort the given list using bubble sort technique.
Part B:
1. Program to sort the given list using insertion sort technique.
2. Program to sort the given list using quick sort technique.
3. Program to sort the given list using merge sort technique.
4. Program to search an element using linear search technique.
5. Program to search an element using recursive binary search technique.
6. Program to implement Stack.
7. Program to convert an infix expression to postfix.
8. Program to implement simple queue.
9. Program to implement linear linked list.
10. Program to display traversal of a tree.
23
Course Code: CAC05 Course Title: Object Oriented Programming with
JAVA
Course Credits: 03 Hours/Week: 03
Total Contact Hours: 42 Formative Assessment Marks: 30
Exam Marks: 70 Exam Duration: 03 Hours
Course Content
Content Hours
Unit – 1
6
Introduction to Java: Basics of Java programming, Data types, Variables,
Operators, Control structures including selection, Looping, Java methods,
Overloading, Math class, Arrays in java.
Unit – 2
6
Objects and Classes: Basics of objects and classes in java, Constructors,
Finalizer, Visibility modifiers, Methods and objects, Inbuilt classes like String,
Character, String Buffer, File, this reference.
Unit – 3
8
Inheritance and Polymorphism: Inheritance in java, Super and sub class,
Overriding, Object class, Polymorphism, Dynamic binding, Generic programming,
Casting objects, Instance of operator, Abstract class, Interface in java, Package in
java, UTIL package.
Unit – 4
Event and GUI programming: Event handling in java, Event types, Mouse and 10
24
key events, GUI Basics, Panels, Frames, Layout Managers: Flow Layout, Border
Layout, Grid Layout, GUI components like Buttons, Check Boxes, Radio Buttons,
Labels, Text Fields, Text Areas, Combo Boxes, Lists, Scroll Bars, Sliders, Windows,
Menus, Dialog Box, Applet and its life cycle, Introduction to swing, Exceptional
handling mechanism.
Unit – 5
6
I/O programming: Text and Binary I/O, Binary I/O classes, Object I/O,
Random Access Files.
Unit – 6
6
Multithreading in java: Thread life cycle and methods, Runnable interface,
Thread synchronization, Exception handling with try catch-finally, Collections in
java, Introduction to JavaBeans and Network Programming.
Text Books
Reference Books:
1. Java 2 - The Complete Reference – McGraw Hill publication.
2. Java - The Complete Reference, 7th Edition, By Herbert Schildt– McGraw Hill
publication.
25
Course Code: CAC05P Course Title: JAVA Lab
Course Credits: 02 Hours/Week: 04
Total Contact Hours: 52 Formative Assessment Marks: 10
Exam Marks: 40 Exam Duration: 04 Hours
Practice Lab
Programming Lab
1. Program to assign two integer values to X and Y. Using the ‘if’ statement the
output of the program should display a message whether X is greater than Y.
2. Program to list the factorial of the numbers 1 to 10. To calculate the factorial
value, use while loop. (Hint Fact of 4 = 4*3*2*1)
3. Program to add two integers and two float numbers. When no arguments
are supplied, give a default value to calculate the sum. Use function
overloading.
26
4. Program to perform mathematical operations. Create a class called AddSub
with methods to add and subtract. Create another class called MulDiv that
extends from AddSub class to use the member data of the super class. MulDiv
should have methods to multiply and divide A main function should access
the methods and perform the mathematical operations.
5. Program with class variable that is available for all instances of a class. Use
static variable declaration. Observe the changes that occur in the object’s
member variable values.
6. Program
a. To find the area and circumference of the circle by accepting the radius
from the user.
b. To accept a number and find whether the number is Prime or not
7. Program to create a student class with following attributes;
Enrollment No: Name, Mark of sub1, Mark of sub2, mark of sub3, TotalMarks.
Total of the three marks must be calculated only when the student passes in
all three subjects. The pass mark for each subject is 50. If a candidate fails in
any one of the subjects his total mark must be declared as zero. Using this
condition write a constructor for this class. Write separate functions for
accepting and displaying student details. In the main method create an array
of three student objects and display the details.
8. In a college first year class are having the following attributes Name of the
class (BCA, BCom, BSc), Name of the staff No of the students in the class, Array
of students in the class
9. Define a class called first year with above attributes and define a suitable
constructor. Also write a method called best Student () which process a first-
year object and return the student with the highest total mark. In the main
method define a first-year object and find the best student of this class
10. Program to define a class called employee with the name and date of
appointment. Create ten employee objects as an array and sort them as per
their date of appointment. ie, print them as per their seniority.
11. Create a package ‘student. Fulltime. BCA ‘in your current working directory
a. Create a default class student in the above package with the following
attributes: Name, age, sex.
b. Have methods for storing as well as displaying
27
5. Program to create an applet and draw grid lines
6. Program which creates a frame with two buttons father and mother. When we
click the father button the name of the father, his age and designation must
appear. When we click mother similar details of mother also appear.
7. Create a frame which displays your personal details with respect to a button
click
8. Create a simple applet which reveals the personal information of yours.
9. Program to move different shapes according to the arrow key pressed.
10. Program to create a window when we press M or m the window displays Good
Morning, A or a the window displays Good After Noon E or e the window
displays Good Evening, N or n the window displays Good Night
11. Demonstrate the various mouse handling events using suitable example.
12. Program to create menu bar and pull-down menus.
28
Course Code: CAC06 Course Title: Discrete Mathematical Structures
Course Credits: 03 Hours/Week: 03
Total Contact Hours: 42 Formative Assessment Marks: 30
Exam Marks: 70 Exam Duration: 03 Hours
Course Content
Content Hours
Unit – 1
12
The Foundations: Logic and proofs: Propositional Logic, Applications of
Propositional Logic, Propositional Equivalences, Predicates and Quantifiers,
Nested Quantifiers, Rules of Inference, Introduction to Proofs, Proof Methods and
Strategy.
Basic Structures: Sets, Functions, Sequences, Sums, and Matrices: Sets, set
operations, Functions, Sequences and Summations, matrices.
Unit – 2
10
Counting: Basics of counting, Pigeonhole principle, Permutation and
combination, Binomial Coefficient and Combination, Generating Permutationand
Combination.
Advanced Counting Techniques: Applications of Recurrence Relations, Solving
Linear Recurrence, Relations, Divide and Conquer Algorithms and Recurrence
Relations, Generating functions, Inclusion-Exclusion, Applications of Inclusion-
exclusion.
Unit – 3
12
Induction and Recursion: Mathematical Induction, Strong Induction and Well-
29
Ordering, Recursive Definitions and Structural Induction, Recursive Algorithms,
Program Corrections.
Relation: Properties of relation, Composition of relation, Closer operation on
relation, Equivalence relation and partition. Operation on relation, Representing
relation.
Unit – 4
8
Graphs: Graphs and Graph models, Graph Terminology and Special Types of
Graphs, Representing Graphs and Graph Isomorphism, Connectivity, Euler and
Hamilton Paths, Shortest-Path Problems, Planar Graphs, Graph Coloring.
Text Book:
30
Computer Application Core Courses (CA C) for BCA (Hons)
31
Computer Application Electives (CA E) for BCA (Hons)
Vocational Electives
Sl. No Vocational Electives
1 DTP, CAD and Multimedia
2 Hardware and Server Maintenance
3 Web Content Management Systems
4 Computer Networking
5 Health Care Technologies
6 Digital Marketing
7 Office Automation
32
Open Electives in Computer Science:
(For Students studying Core Courses other than Computer Science/ Computer
Applications)
33
Course Content for BCA, Semesters III and IV
Semester:
III
• Explain the various database concepts and the need for database systems.
• Identify and define database objects, enforce integrity constraints on a database
usingDBMS.
• Demonstrate a Data model and Schemas in RDBMS.
• Identify entities and relationships and draw ER diagram for a given real-
worldproblem.
• Convert an ER diagram to a database schema and deduce it to the desired
normalform.
• Formulate queries in Relational Algebra, Structured Query Language (SQL)
fordatabase manipulation.
• Explain the transaction processing and concurrency control techniques.
34
Relational Algebra: Basic Relational Algebra operations. Set theoretical
3 operations on relations. JOIN operations Aggregate Functions and 10
Grouping. Nested Sub Queries-Views. Introduction to PL/SQL &
programming of above operations in PL/SQL
Data Normalization: Anomalies in relational database design.
Decomposition. Functional dependencies. Normalization. First normal
4 07
form, Second normal form, Third normal form. Boyce-Codd normal form.
Query Processing Transaction Management: Introduction Transaction
Processing. Single user & multiuser systems. Transactions: read & write
operations. Need of concurrency control: The lost update problem, Dirty
5 read problem. Types of failures. Transaction states. Desirable properties 09
(ACID properties) of Transactions. Concurrency Control Techniques:
Locks and Time stamp Ordering. Deadlock & Starvation.
References:
1. Fundamentals of Database Systems, Ramez Elamassri, Shankant B. Navathe, 7th
Edition,Pearson, 2015
2. An Introduction to Database Systems, Bipin Desai, Galgotia Publications, 2010.
3. Introduction to Database System, C J Date, Pearson, 1999.
4. Database Systems Concepts, Abraham Silberschatz, Henry Korth,
S.Sudarshan, 6thEdition, McGraw Hill, 2010.
5. Database Management Systems, Raghu Rama Krishnan and Johannes Gehrke, 3rd
Edition,McGraw Hill, 2002
35
Practical’s:
Student would be able to create tables, execute queries and PL/SQL programs.
36
Course Title: C# and Dot Net Framework Course code: 21BCA3C8L
Total Contact Hours: 42 Course Credits: 03+02
Formative Assessment Marks: 40 Duration of SEE/Exam: 03 Hours
Summative Assessment Marks: 60
37
ADO .NET Connectivity: Introduction to ADO.NET, ADO vs ADO.NET.
Architecture: Data reader, Data adopter, Accessing Data with ADO.NET.
5 Programming Web Applications with Web Forms. ASP .NET applications 08
with ADO.NET
References:
1. "Programming in C#", E. Balagurusamy, 4th Edition, Tata McGraw-Hill, 2017.
2. “Visual Basic.NET”, Shirish Chavan, 3rd Edition, Pearson Education, 2009.
3. “ASP.NET and VB.NET Web Programming”, Matt J. Crouch, Edition 2012.
4. "Computing with C# and the .NET Framework", Arthur Gittleman, 2nd Edition,
Jones &Bartlett Publishers, 2011
Practicals:
38
Course Title: Computer Course code: 21BCA3C9L
Communicationand Networks
Total Contact Hours: 42 Course Credits: 03
Formative Assessment Marks: 40 Duration of SEE/Exam: 03 Hours
Summative Assessment Marks: 60
The Data Link Layer: Data Link Layer design issues, Error detection –
Single parity checking, Checksum, polynomial codes – CRC, Error
3 correction- Hamming code, Elementary data link protocols, sliding 08
window protocols
39
References:
1. Computer Networks, Andrew S. Tanenbaum, 5th Edition, Pearson Education, 2010.
Data Communication & Networking, Behrouza A Forouzan, 3rd Edition, Tata McGraw
Hill,2001.
2. 3. Data and Computer Communications, William
3. Data Communication and Computer Networks, Brijendra Singh, 3rd Edition, PHI,
2012.
4. Data Communication & Network, Dr. Prasad, Wiley Dreamtech.
5. http://highered.mheducation.com/sites/0072967757/index.htmls
40
Semester: IV
41
Lists: Creating Lists; Operations on Lists; Built-in Functions on Lists;
Implementation of Stacks and Queues using Lists; Nested Lists.
Dictionaries: Creating Dictionaries; Operations on Dictionaries; Built-in
3 08
Functions on Dictionaries; Dictionary Methods; Populating and Traversing
Dictionaries.
Tuples and Sets: Creating Tuples; Operations on Tuples; Built-in
Functions on Tuples; Tuple Methods; Creating Sets; Operations on Sets;
Built-inFunctions on Sets; Set Methods.
File Handling: File Types; Operations on Files– Create, Open, Read, Write,
Close Files; File Names and Paths; Format Operator.
Object Oriented Programming: Classes and Objects; Creating Classes
4 and Objects; Constructor Method; Classes with Multiple Objects; Objects as 08
Arguments; Objects as Return Values; Inheritance- Single and Multiple
Inheritance, Multilevel and Multipath Inheritance; Encapsulation-
Definition, Private Instance Variables; Polymorphism- Definition, Operator
Overloading.
GU Interface: The tkinter Module; Window and Widgets; Layout
Management- pack, grid and place.
Python SQLite: The SQLite3 module; SQLite Methods- connect, cursor,
execute, close; Connect to Database; Create Table; Operations on Tables-
Insert, Select, Update. Delete and Drop Records.
Data Analysis: NumPy- Introduction to NumPy, Array Creation using
5 10
NumPy, Operations on Arrays; Pandas- Introduction to Pandas, Series and
DataFrames, Creating DataFrames from Excel Sheet and .csv file,
Dictionary and Tuples. Operations on DataFrames.
Data Visualisation: Introduction to Data Visualisation; Matplotlib
Library; Different Types of Charts using Pyplot- Line chart, Bar chart and
Histogram and Pie chart.
References:
1. Think Python How to Think Like a Computer Scientist, Allen Downey et al., 2n
Edition, Green Tea Press. Freely available online @
https://www.greenteapress.com/thinkpython/thinkCSpy.pdf, 2015.
2. Introduction to Python Programming, Gowrishankar S et al., CRC Press, 2019.
3. Python Data Analytics: Data Analysis and Science Using Pandas, matplotlib, and
thePython Programming Language, Fabio Nelli, Apress®, 2015
4. Advance Core Python Programming, MeenuKohli, BPB Publications, 2021.
5. Core PYTHON Applications Programming, Wesley J. Chun, 3rd Edition, Prentice
Hall2012.
6. Automate the Boring Stuff, Al Sweigart, No Starch Press, Inc, 2015.
7. Data Structures and Program Design Using Python, D Malhotra et al.,
MercuryLearning and Information LLC, 2021.
8. http://www.ibiblio.org/g2swap/byteofpython/read/
9. https://docs.python.org/3/tutorial/index.html
42
Programs for Practical Component:
Part-A
1. Check if a number belongs to the Fibonacci Sequence
2. Solve Quadratic Equations
3. Find the sum of n natural numbers
4. Display Multiplication Tables
5. Check if a given number is a Prime Number or not
6. Implement a sequential search
7. Create a calculator program
8. Explore string functions
9. Implement Selection Sort
10. Implement Stack
11. Read and write into a file
Part-B
1. Demonstrate usage of basic regular expression
2. Demonstrate use of advanced regular expressions for data validation.
3. Demonstrate use of List
4. Demonstrate use of Dictionaries
5. Create SQLite Database and Perform Operations on Tables
6. Create a GUI using Tkinter module
7. Demonstrate Exceptions in Python
8. Drawing Line chart and Bar chart using Matplotlib
9. Drawing Histogram and Pie chart using Matplotlib
10. Create Array using NumPy and Perform Operations on Array
11. Create DataFramefrom Excel sheet using Pandas and Perform
Operations onDataFrames
43
Course Title: Computer Multimedia Course code: 21BCA3C11L
&Animation
Total Contact Hours: 42 Course Credits: 03+02
Formative Assessment Marks: 40 Duration of SEE/Exam: 03 Hours
Summative Assessment Marks: 60
Course Outcomes (COs):
At the end of the course the student should be able to:
• Understand basic elements using in web development
• Understand and develop animations using CSS
• Understand and develop HTML5-SVG animation
44
HTML5 - Styles and Colors, Canvas - Text and Fonts, Canvas - Pattern 07
andShadow, Canvas - Save and Restore States, Canvas - Translation,
5
Canvas -
Rotation, Canvas - Scaling, Canvas - Transforms, HTML5 Canvas
-Composition, Canvas – Animations.
References:
1. The Complete Reference HTML and CSS, 5th Edition, Thomas A Powell, 2017.
2. Animation in HTML, CSS, and JavaScript, Kirupa Chinnathambi,Createspace
Independent Pub, 2013.
3. https://www.w3.org/Style/CSS/current-work#CSS3
4. http://bedford-computing.co.uk/learning/cascading-style-sheets-css/
45
Practicals
Part A:
1) Write a HTML/5 program to demonstrate the use of Font family, font variant, font style, and
font size.
2) Write a HTML/5 program to display random contents using list properties:
a) Ordered list b) Unordered list
3) Write a HTML/5 program to create gradient using CSS.
4) Write a HTML/5 code to demonstrate following CSS animation properties:
a) Delay b) Direction c) Duration
5) Write a HTML/5 program to demonstrate key frames
6) Write a HTML/5 code to demonstrate CSS transition and transformation.
7) Write a HTML/5 program to turn on/off a light bulb using JavaScript. Make use of .gif image
and buttons.
Part B:
1) Write a HTML/5 program to draw rectangle, line, polygon, polyline using SVG.
2) Write a HTML/5 program to draw linear and radial gradient ellipse using SVG.
3) Write a HTML/5 program to draw a star using SVG.
4) Write a HTML/5 program to draw line, circle, rectangle, gradient, text using canvas.
5) Write a HTML/5 program to demonstrate translation, rotation, scaling, and transform using
canvas.
6) Write a HTML/5 program to demonstrate Bezier Curves and Quadratic Curves.
7) Write a HTML/5 program to create canvas and add a red square onto the game area with
up/down/left/right controller buttons.
8) Write a HTML/5 canvas program to add random size obstacles with red square controller
button.
46
Course Title: Operating System Concepts Course code: 21BCA3C12L
Total Contact Hours: 42 Course Credits: 03
Formative Assessment Marks: 40 Duration of SEE/Exam: 03 Hours
Summative Assessment Marks: 60
47
Memory Management: Logical and Physical Address Space; Swapping;
Contiguous Allocation; Paging; Segmentation; Segmentation with Paging.
4 Virtual Memory: Introduction to Virtual Memory; Demand Paging; Page 08
Replacement; Page Replacement Algorithms; Allocation of frames,
Thrashing.
File System: File Concepts- Attributes, Operations and Types of Files; File
System; File Access methods; Directory Structure; Protection; File System
5 Implementation- File System Structure, Allocation Methods, Free Space 06
Management
References:
1. Operating System Concepts, Silberschatz’ et al., 10thEdition, Wiley, 2018.
2. Operating System Concepts - Engineering Handbook, Ghosh PK, 2019.
3. Understanding Operating Systems, McHoes A et al., 7th Edition, Cengage
Learning,2014.
4. Operating Systems - Internals and Design Principles, William Stallings, 9th
Edition,Pearson.
5. Operating Systems – A Concept Based Approach, Dhamdhere, 3rd Edition,
McGrawHill Education India.
6. Modern Operating Systems, Andrew S Tanenbaum, 4th Edition, Pearson.
48
(Skill Enhancement Course: SEC for BCA Course)
Semester: III
Course Title: Open Source Tools Course Credits: 2 (1L+0T+2P)
Semester: III Duration of SEE: 01 Hour
Total Contact Hours: 13 hours of theory and 26- SEE: 30 Marks
28hours of practical’s IA: 20 Marks
Text Book:
1. KailashVadera, Bhavyesh Gandhi, “Open Source Technology”, Laxmi Publications
Pvt.Ltd 2012, 1st Edition.
Reference Book:
1. Fadi P. Deek and James A. M. McHugh, “Open Source: Technology and
Policy”,Cambridge Universities Press 2007.
49
Open Elective for III & IV Semester
Unit IV 08 Hrs
Python Functions: Types of Functions; Function Definition- Syntax, Function Calling,
Passing Parameters/arguments, the return statement; Default Parameters; Command
line Arguments; Key Word Arguments; Illustrative programs.
50
Unit V 06 Hrs
Strings: Creating and Storing Strings; Accessing Sting Characters; the str() function;
Operations on Strings- Concatenation, Comparison, Slicing and Joining, Traversing;
Format Specifiers; Escape Sequences; Raw and Unicode Strings; Python String Methods;
Illustrative programs.
References
1. Computer Fundamentals (BPB), P. K. Sinha & Priti Sinha
2. Think Python How to Think Like a Computer Scientist, Allen Downey et al.,
2ndEdition, Green Tea Press. Freely available online 2015.
@https://www.greenteapress.com/thinkpython/thinkCSpy.pdf
3. Introduction to Python Programming, Gowrishankar S et al., CRC Press, 2019.
4. http://www.ibiblio.org/g2swap/byteofpython/read/
5. http://scipy-lectures.org/intro/language/python_language.html
6. https://docs.python.org/3/tutorial/index.html
51
Open Elective
PRINCIPLES OF INTERNET
UNIT I 09 Hrs
Basics of Networks – Advantages and disadvantages- Types of networks - LAN, WAN, MAN
-Topologies of Networks – Bus Topology, Ring Topology, Star Topology, Mesh Topology,
TreeTopology.
UNIT II 06 Hrs
Internet Basics – Advantages and disadvantages – Internet Applications
– IP Address- Internet Services– URL- E-mail - E-mail features – Emil Providers.
UNIT V 09 Hrs
Art of creating a website – Hypertext and HTML – Features – Elements – Attributes- Structure
ofHTML– Basic tags in HTML – Formatting tags in HTML – HTML Lists –Types of Lists.
Text Book:
1. Raj Kamal , “Internet and Web Technologies”, Mc GrawHill Education,2007.
References:
1. Joe krayank & Joe Habraken, “Internet 6 in 1”, Prentice Hall of India Private
Limited,New Delhi, 1998.
2. “Internet Complete”, BPB publications, New Delhi, 1998.
52
53
54