Syllabi
Syllabi
Syllabus
Bachelor of Computer Applications (BCA)
2022 - 23
Syllabus for Bachelor of Computer Applications-(BCA), 2022-23 approved by the Board of Studies,
1
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Department of Computer Science and Academic Council, CHRIST (Deemed to be University), Bangalore,
India.
Published by the Centre for Publications, CHRIST (Deemed to be University), Hosur Road, Bangalore,
560029, India. [email protected] 2022.
2
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Index
Semester – I 8
Semester – II 22
Semester – III 33
Semester – IV 45
Semester – V 56
Semester – VI 62
3
Syllabus for Bachelor Computer Applications (BCA)-2022-23
I Semester
II Semester
4
Syllabus for Bachelor Computer Applications (BCA)-2022-23
III Semester
IV Semester
V Semester
5
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course No. of
Course-Title Course Type Marks Credits
Code Hours
BCA531 Python Programming CORE 4 100 4
Total 28 700 22
6
Syllabus for Bachelor Computer Applications (BCA)-2022-23
VI Semester
Course No. of
Course-Title Course Type Marks Credits
Code Hours
BCA671 Machine Learning CORE 6 150 5
Elective III (Choose any one)
BCA672B UI / UX Design
BCA672C Software Testing DSEC 6 150 5
DSEP 16 300 8
BCA681 Major Project
Total 28 600 18
7
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Description
This course aims at introducing the students into the world of Discrete Mathematics. It includes
the topic like Mathematical Logic, Method of proofs, Mathematical induction, Permutations
and combinations and Binomial coefficients. Also, this course emphasizes general techniques
of problem solving and explores the creation of mathematical patterns.
Learning Outcomes
CO1: Formulate and interpret statements presented and determine their validity by
applying the rules and methods of propositional logic.
CO2: Reformulate statements from common language to formal logic using the rules of
propositional and predicate calculus, and assess the validity of arguments.
CO3: Apply the logical structure of proofs and work symbolically with connectives and
quantifiers to produce logically valid, correct and clear arguments
CO4: Construct elementary proofs using ordinary and strong induction in the context of
studying the properties of recursion
CO5: Apply basic counting principles including the pigeonhole principle and rules for
counting permutations and combinations.
Unit-1 Teaching Hours: 15
Logic
Propositional Logic - Applications of Propositional Logic - Propositional Equivalences -
Predicates and Quantifiers
8
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Unit-
2 Teaching Hours: 15
Methods of Proof
Nested Quantifiers, Rules of Inference, Introduction to Proofs, Proof Methods and Strategy.
Evaluation Pattern
Written Assignment
CIA II Class test Mastery of the core concepts 10
Problem working in class
Written Assignment
CIA III Class test Mastery of the core concepts 10
Problem working in class
Attendance Attendance Regularity and Punctuality 05
Basic, conceptual and analytical knowledge
ESE of the subject 50
Total 100
9
Syllabus for Bachelor Computer Applications (BCA)-2022-23
No. of
subdivisions Marks for
Unit and No. of subdivisions to be Max. marks
Part to be each
set in the unit for the part
answered subdivision
UNIT I 4
A UNIT II 4 10 3 30
UNIT III 4
B UNIT II 4 3 7 21
C UNIT I 5 4 7 28
D UNIT III 4 3 7 21
Total 100
Course Objectives
This course introduces basics of statistics and statistical concepts and methods for collection,
analysis and interpretation of data
Objectives of the course are
• To acquaint students with various statistical methods.
• To cultivate statistical thinking among students.
• To prepare students for future courses having quantitative components.
Course Outcomes
Upon successful completion of the course one should be able to CO1: Understand
and appreciate descriptive statistics.
CO2: Understand the concepts of probability and random variables.
10
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Unit-
Concepts of central tendency and dispersion
Mean, median, mode and partition values-quartiles for grouped and ungrouped data - Range, quartile
deviation, standard deviation and coefficient of variation for grouped data
3 Teaching Hours: 12
Probability
Random Experiment- Sample space and events - Probability – Rules - Conditional probability and
Bayes theorem
Evaluation Pattern
Component Marks
Continuous InternalAssessment-I 10
Continuous InternalAssessment-II 25
Continuous InternalAssessment-III 10
Attendance 5
Total 100
11
Syllabus for Bachelor Computer Applications (BCA)-2022-23
A 12 10 2 20
B 6 5 6 30
C 6 5 10 50
Total 24 19 100
Course Objectives
This is an introductory course that provides required knowledge about digital fundamentals of
computer. The course covers few topics like number systems, logic gates and flips flops. The
course starts with an introduction to number systems and its applications in computers. The
discussion about working of devices like encoders and decoders, multiplexers and de
multiplexers are dealt with.
Course Outcomes
CO1: Ability to use math and Boolean algebra in performing computations in various number
systems.
CO2: Simplification of Boolean algebraic expressions.
CO3: Ability to design efficient combinational and sequential logic circuit implementations
from functional description of digital systems.
Unit-
Introduction to Number System and Codes
Number systems: Decimal numbers , Binary numbers : Counting in binary, The weighted
structure of binary numbers, Octal numbers, hexadecimal numbers and their mutual
conversions ,Binary arithmetic : Addition, subtraction, multiplication and division of binary
numbers, 1‘s and 2‘s complement, signed numbers, arithmetic operations: addition, subtraction
with signed numbers, 9‘s and 10‘s complement, BCD numbers, BCD addition, BCD
subtraction, Gray code: Binary to Gray code conversion, Gray to Binary conversion, Weighted
code : 8421 code and Non weighted codes : ASCII and EBCDIC.
2 Teaching Hours: 8
Boolean Algebra
Boolean operations and expressions, Laws and rules of boolean algebra, Demorgan‘s Theorem,
Boolean expressions, Simplification of Boolean expression.
Self-Learning:
Universal property of NOR gate
13
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Modes of operation of registers: SISO, SIPO, PISO, and PIPO, Asynchronous counters: Four
bit ripple counter, Decade counter, Synchronous counters: Four bit synchronous counter,
Decade counter.
Self-Learning
Introduction to RAM, SRAM, DRAM, ROM, PROM, EPROM, EEPROM
Course Objectives
The course provides students with a comprehensive study of C programming language. The
course lectures stress the strengths of C, which provides the outcome of writing efficient,
maintainable and portable code. Course includes few lab exercises to make sure the student
has not only gained the knowledge but can also apply and execute it.
Objectives of the course are
• To study about algorithms, flowcharts and programs.
• To solve problems through logical thinking.
Course Outcomes
CO1: To clearly understand the logic of the problem.
CO2: To analyze the given problem and write the algorithm, flowchart.
14
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Unit-
CO3: To write structured C programs, this is the foundation of any programming language.
15
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Introduction to C programming
History of C- Character set - Structure of a C program - constants, variables and keywords.
Expressions – Statements – Operators – Arithmetic, Unary, Relational and logical, Assignment,
Conditional. Library functions. Data Input and output – Single character input, getchar, getch,
getc – Single character output putchar, putc, Formatted I/O scanf, printf, gets, puts.
16
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
This course offers an experimental view of hardware components, digital circuits and logic
gates of a computer. Objective of the course is to understand the working principle and logic
design of digital circuits.
Course Outcomes
CO1: Students will demonstrate an ability to identify the basic components to build
digital circuits.
CO2: Students will be able to design efficient Combinational and Sequential logic
circuits.
List of programs
1. Demonstration of the components of (i) Kindle (ii) iPad (iii) Smart Phone (iv) Laptops
2. Demonstration of the installation and discussion of the features of different Operating
Systems. Eg: Mac, Unix, Ubuntu, Windows etc.
3. Verification of the truth tables of AND, OR & NOT gates.
4. Verification of the truth tables of NAND & NOR gates.
5. Verification of the truth table of XOR using NAND gates.
6. Verification of the truth table of Half Adder circuits using NAND gates.
7. Verification of the truth table of Full Adder circuits using NAND gates.
8. Verification of the truth table of D flip flop.
9. Verification of the truth table of JK flip flop.
10. Verification of the truth table of RS flip flop.
11. Binary To Gray Code and Gray Code to Binary Converter
12. Verification of the Function table of Binary Ripple Counter using JK FF.
17
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
To learn problem solving through procedural language programming technique and
Understand fundamentals of programming such as variables, conditional and iterative
execution, methods, etc.
Course Outcomes
CO1: Read, understand and trace the execution of programs written in C language.
CO2: Write the C code for a given algorithm.
CO3: Implement Programs with pointers and arrays, perform pointer arithmetic, and
use the pre-processor.
List of programs
1. To demonstrate the usage of operators and data types in C
a. Write a program to print the size of all the data types with its modifiers supported by C and its
range.
b. Write a program to convert Fahrenheit to Celsius.
3. To demonstrate the concept of while, do-while, for loops, break and continue
a. Write a program to print all prime numbers between any 2 given limits.
b. Write a program to print all the Armstrong numbers between any 2 given limits.
18
Syllabus for Bachelor Computer Applications (BCA)-2022-23
19
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
This course covers the basic programming paradigms associated with Python.
Course Outcomes
CO1: Demonstrate the use of built-in data types of Python CO2:
Demonstrate significant experience with python program
development environment CO3: Design functions and
custom modules for given requirement.
20
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Lambda functions, Higher order functions, Map, Filter, Reduce, Using Lambda with
map(),filter(),reduce()
Essential Reading:
Reference Books:
1. Zhang.Y ,An Introduction to Python and Computer Programming, Springer
Publications,2016 Web Resources: 1. https://docs.python.org/3/tutorial/
LAB EXERCISES
UNIT – II
Implement Lists
Implement Tuples
UNIT – III
Implement Dictionary
Implement Set
UNIT – VI
Implement List, Set and Dictionary Comprehensions
Implement Recursive function
21
Syllabus for Bachelor Computer Applications (BCA)-2022-23
45
3
Course Description: This course aims at introducing the students into the world of Discrete
Mathematics. It includes the topic like Set Theory, Functions and Relations. They gain a
historical perspective of the development of modern discrete mathematics and application of
the same in the field of Computer Science.
Course objectives:This course will help the learner to
COBJ1: be proficient in the topics set theory, functions and relations.
COBJ2: enhance the problems solving skills in set theory, functions, relations, sequences,
series and matrices.
Learning Outcomes
CO1: Demonstrate a working knowledge of set notation and elementary set theory,
recognize the connection between set operations and logic.
CO2: Prove elementary results involving sets
CO3: Apply the different properties of injections, surjections, bijections, compositions,
and inverse functions
CO4: Demonstrate the use of mathematical reasoning by justifying and generalizing
patterns and relations
CO5: Determine when a relation is reflexive, symmetric, antisymmetric, or transitive,
apply the properties of equivalence relations and partial orderings, and explain the
connection between equivalence relations
22
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Evaluation Pattern
Written Assignment
CIA II Class test Mastery of the core concepts 10
Problem working in class
Written Assignment
CIA III Class test Mastery of the core concepts 10
Problem working in class
Total 100
UNIT I 4
A 10 3 30
UNIT II 4
23
Syllabus for Bachelor Computer Applications (BCA)-2022-23
UNIT III 4
B UNIT I 4 3 7 21
C UNIT II 5 4 7 28
D UNIT III 4 3 7 21
Total 100
45
3
Course Objectives
The course Statistics-II describes the concept of correlation and regression, probability
distribution and testing hypothesis.
Objectives of the course are
• To acquaint students with various statistical methods.
• To cultivate statistical thinking among students.
• To prepare students for future courses having quantitative components.
24
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Testing of Hypothesis
Types of hypothesis - Level of significance - Types of errors - Test for single mean and
difference of means - Paired t test - Tests for proportions - Chi square test for independence of
attributes
Evaluation Pattern
Component Marks
Continuous InternalAssessment-I 10
Continuous InternalAssessment-II 25
Continuous InternalAssessment-III 10
Attendance 5
Total 100
A 12 10 2 20
B 6 5 6 30
C 6 5 10 50
Total 24 19 100
25
Syllabus for Bachelor Computer Applications (BCA)-2022-23
60
4
Course Objectives
This course is an introduction to the concepts behind modern computer operating systems.
Topics will include what an operating system does (and doesn't) do, system calls and interfaces,
processes, resource scheduling and management (of the CPU, memory, etc.), virtual memory.
Objectives of the course are
• To acquire the fundamental knowledge of the operating system architecture and its
components
• To know the various operations performed by the operating system.
Course Outcomes
CO1: Upon completion of the course students will be able to:
CO2: Understand the basic working process of an operating system.
CO3: Understand the importance of process and scheduling.
CO4: Understand the issues in synchronization and memory management.
26
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Self Learning
File system structure, Directory structure
60
4
Course Objectives
Data Structure is considered as one of the fundamental paper towards a more comprehensive
understanding of programming and application development. Student is expected to work
towards a sound theoretical understanding of Data Structures and also compliment the same
with hands on implementing experience.
Objectives of the course are
• To be able to practically implement the data structures like stack, queue, array
etc.
• To understand and implement different searching and sorting techniques.
27
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Outcomes
CO1: Understand the need for Data Structures when building application.
CO2: Appreciate the need for optimized algorithm.
CO3: Able to walk through insert and delete for different data structures.
CO4: Ability to calculate and measure efficiency of code.
CO5: Appreciate some interesting algorithms like Huffman, Quick Sort, and Shortest
Path etc.
CO6: Able to walkthrough algorithm.
CO7: Improve programming skills.
28
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Introduction, Bubble Sort, Insertion Sort, Selection Sort, Quick Sort, Merge Sort. Graphs—
Introduction-Definition-representation-Depth first search-Breadth first search
29
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
This lab introduces basic commands in LINUX and helps students in familiarizing the concepts
of operating system through various commands related to operating system activities.
Course Outcomes
CO1: To make students able to implement various LINUX commands.
CO2: Students will also be able to implement different process related commands.
List of programs
1. To study the execution of various file/directory handling commands.
2. To study the various commands operated in vi editor in LINUX.
3. To study the various File Access Permission and different types of users in LINUX
4. To study about process related commands.
5. To study about the commands related to memory allocation of variables for a process.
6. To study about commands for viewing system calls.
7. To study about commands used for debugging.
8. Write a program to demonstrate basic operations of a process.
9. Write a program to create a Zombie process and an orphan.
10. Write a program to demonstrate a one-way pipe between two processes.
11. Write a program to illustrate a two way pipe between two processes.
12. Write a program to demonstrate a one-way communication between two processes using
FIFO
13. Write a program to demonstrate a two-way communication between two processes using
FIFO
14. Demonstrate process synchronization using semaphore.
15. Demonstrate the basic operations of thread.
16. Demonstrate thread synchronization using mutex.
17. Demonstrate thread synchronization using semaphore.
30
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
The course is designed to provide a practical exposure on data structure and its applications.
Course Outcomes
Upon completion of the course
CO1: Students acquire the knowledge to build the logic and develop a solution for a
problem statement.
List of programs
1. Strings:
a) Write a menu driven program to compare, concatenate, copy strings and find the length
of a string.
b) Write a menu driven program to find the index of a pattern in a given string and to extract
a substring.
2. Arrays
a) Write a program to insert and delete an element(s) in one dimensional array.
b) Write a program to insert and delete an element(s) in two dimensional arrays.
3. Sparse Matrix
a) Write a menu driven program to read a sparse matrix of integer values and to search the
sparse matrix for any element specified by the user.
b) Write a program to print the appropriately triple < row, column, "value" > that represents
the elements in the sparse matrix.
4. Searching Techniques:
a) Write a program to implement Linear Search with sentinels
b) Write a program to implement Binary Search using recursion 5. Sorting techniques:
a) Write a menu driven program to implement insertion sort
b) Write a menu driven program to implement selection sort.
c) Write a menu driven program to implement quick sort using recursion
d) Write a menu driven program to implement merge sort using recursion.
6. Singly linked list:
a) Write a menu driven program to implement singly linked lists creation, insertion and
deletion
7. Stack:
a) Write a menu driven program to implement different operations on a stack using an array
and linked list.
8. Queue:
a) Write a menu driven program to implement different operations on a queue using an
array and linked list.
9. Binary search trees:
a) Write a menu driven program to create a binary search tree and to perform Insertion and
different types of traversal
31
Syllabus for Bachelor Computer Applications (BCA)-2022-23
10. Graphs:
a) Write a menu driven program to implement breadth first search (bfs)
b) Write a menu driven program to implement depth first search (dfs)
Course Objectives
The course is designed to provide a practical exposure on data structure and its applications.
Course Outcomes
Upon completion of the course
32
Syllabus for Bachelor Computer Applications (BCA)-2022-23
CO1: Students acquire the knowledge to build the logic and develop a solution for a
problem statement.
List of programs
1. Calculate mean, median, mode and display results in proper format.
2. Calculate the product and sum of two vectors.
3. Calculate Range, quartile deviation, standard deviation and coefficient of variation for
grouped data.
4. Partition values-quartiles for grouped and ungrouped data and display formatted results.
5. Data Base Creation (including vector, matrix, data frames).
6. Graphical representation (Bar, Pie, Line, Histogram, Scatter).
7. Cross tabulation and Descriptive Statistics.
8. Implement Correlation.
9. Perform simple Regression and show results in chart.
10. Testing of hypothesis for single mean.
11. Testing of hypothesis for comparison of means.
12. Chi-square test for independence of attributes.
SEMESTER – III
Course Description: This course aims at familiarizing the students with the basic concepts,
some important results and proofs in Number Theory and includes some fundamental theories
33
Syllabus for Bachelor Computer Applications (BCA)-2022-23
required for learning cryptography. It also introduces the students to some of the fundamental
concepts of Group Theory.
Course Objectives
COBJ1: Define and interpret the concepts of divisibility, congruence, greatest common
divisor, prime, and prime-factorization.
COBJ22: Solve congruences of various types, and make use of the theory of congruences
in perceiving applications in cryptography.
COBJ33: Define and analyze groups, semigroups, subgroups, order of an element, cyclic
groups, coset decomposition and prove theorems related to these concepts.
Learning Outcomes:On successful completion of the course, the students should be able to
CO1: Enhance research, inquiry and analytical thinking abilities
CO2: Apply the basics of Number Theory and Algebra in solving problems
Unit-1 Teaching Hours: 15
Introduction to Number Theory
Divisibility, Division Algorithm, Modular Arithmetic, Application of Congruences, Cryptology,
Primes and Greatest Common Divisors
34
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
• This course teaches students how to develop java applications. Course gives an overview
of difference between C++ and Java. Students will be developing and testing java
application as a practical course work. The course introduces the concept of UI design
in java using SWING and JAVAFX
Course Outcomes
CO1: Demonstrate their ability to understand the concepts of Object oriented
programming and will model the real world applications using Object Oriented
Programming concepts
CO2: Apply the concept of Multithreading in concurrent programming.
CO3: Able to Analyze & Design the concept of Event Handling and Swing
CO4: Build MVC and Custom Components using JSF
Java Fundamentals
Object oriented programming concepts – Benefits of OOPS-The origins of java - java’s lineage
C and C++ - how java impacted the internet - java bytecode - a first simple program - the java
keywords - identifiers in java - the java class libraries.
Input characters from the keyboard - if statement - switch statement - for loop - the enhanced
for loop - the while loop - the do-while loop – break – continue - nested loops.
Arrays
35
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Inheritance
Inheritance basic - member access and inheritance - constructors and inheritance - using super
to call superclass constructors - using super to access superclass members - creating a
multilevel hierarchy - superclass references and subclass objects - method overriding - using
abstract classes -using final - the object class.
Strings
Constructing strings - operating on strings - arrays of strings - strings are immutable - using a
string to control a switch statement - different string handling functions.
Exception handling
Using I/O
36
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Java’s I/O is built upon streams - byte streams and character streams - the byte stream classes
- the character stream classes - the predefined streams-using the byte streams - reading and
writing files using byte streams - reading and writing binary data, using java’s character based
streams - file I/O using character streams.
Multithreaded programming
Multithreading fundamentals - the thread class and runnable interface - creating a thread -
creating multiple threads - determining when a thread ends -thread priorities - synchronization
- suspending, resuming, and stopping threads.
SWING
Introducing swing - the origins and design philosophy of swing - components and containers -
layout managers - swing event handling - use of JButton -work with JTextField - create a
JCheckBox - work with JList.
Self Study
INTRODUCING JAVAFX
Javafx basic concepts - the javafx packages - the stage and scene classes -nodes and scene
graphs - layouts - the application class and the life-cycle methods - launching a javafx
application - a javafx application skeleton -compiling and running a javafx program - the
application thread - a simple javafx control- label - using buttons and events - three more javafx
controls-CheckBox – ListView – TextField -introducing effects and transforms.
37
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
Course Outcomes
CO1: Understanding the core terms, concepts, and tools of relational database
management systems.
CO2: Understanding database design and logic development for database programming.
Data, Database, Database management system, Characteristics of the database approach, Role
of Database administrators, Role of Database Designers, End Users, Advantages of Using a
DBMS and When not to use a DBMS.
DBMS Architecture
Data Models – Categories of data models, Schemas, Instances, and Database states. DBMS
Architecture and Data Independence – The Three schema architecture, Data independence
.DBMS Languages and Interfaces.Classifications of Database Management Systems.
38
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Using High Level Conceptual Data Models for Database Design, Example Database
applications. Entity types, Entity Sets, Attributes and Keys. Relationships, Relationship types,
Roles and Structural constraints. Weak Entity Types and Drawing E- R Diagrams.
Database Design
SQL data definition and data types, specifying constraints in SQL, schema change statements,
Basic queries, More Complex SQL queries, INSERT, DELETE and UPDATE statements in
SQL, Views – Concept of a view in SQL.
Database Recovery
Distributed Databases
Distributed database concepts, Data fragmentation, Replication, and Allocation Techniques for
Distributed database design, Types of Distributed database systems.
Introduction to Advanced Database concepts
Brief introduction to Data warehousing and Data mining.
[1] Silberschatz, Korth, Sudarshan, Database System Concepts, 5 Edition, McGraw Hill, 2006.
[2] O`neil Patricand, O`neil Elizabeth, Database Principles, Programming and Performance,
2nd Edition, Margon Kaufmann Publishers Inc, 2008.
40
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
This course teaches students how to develop java applications. Course gives an overview of
difference between C++ and Java. Students will be developing and testing java application as
a practical course work. The course introduces the concept of UI design in java using SWING
and JAVAFX
Course Outcomes
CO1: Demonstrate their ability to understand the concepts of Object oriented
programming and will model the real world applications using Object Oriented
programming concepts
CO2: Apply the concept of Multithreading in concurrent programming.
CO3: Able to Analyze & Design the concept of Event Handling and Swing CO4: Build
MVC and Custom Components using JSF
List of programs
1. To implement different entry controlled and exit controlled looping statements
2. To Implement nesting of switch statement
3. To Implement single and multi-dimensional arrays
4. To implement constructor overloading and method overloading
5. To implement static keyword
6. To Implement multilevel inheritance
7. To implement super and this keyword
8. To implement abstract and final keyword
9. To implement methods of String class
10. To Implement exception handling and custom exceptions
11. To implement package and interface
12. To implement File Stream classes
13. To Implement multithreading
14. To implement mouse and keyboard events
15. To implement different layout managers
16. To design a customer registration form using advanced swing components
17. To implement 2D Shapes using JavaFX
18. To implement CheckBox and ListView events using JavaFX 19. To implement JavaFx
Effects and Transformation
41
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
The main objective of this lab is to provide a strong foundation in database concepts,
understand and implement the use of Structured Query Language (SQL) and Procedural
Structured Query Language (PL/SQL) to create and query databases.
Course Outcomes
CO1: Design and implement a database schema for a given problem-domain using SQL-
DDL commands.
CO2: Populate and query a database using SQL (DML/DCL) commands.
CO3: Declare and enforce integrity constraints on a database using a state-of-the-art
RDBMS
CO4: Programming PL/SQL including stored procedures, stored functions, cursors,
packages.
List of programs
1. Introduction TO SQL
g. Sorting Information
a. Create
b. Drop
42
Syllabus for Bachelor Computer Applications (BCA)-2022-23
c. Alter
d. Rename
3. Integrity Constraints
a. Types of Constraint
b. Referential Integrity
c. Defining Constraints
a. Select
b. Insert
c. Update
d. Delete
a. Where Operators
b. Numeric Functions
c. String Functions
d. Conversion Functions
7. Group By
43
Syllabus for Bachelor Computer Applications (BCA)-2022-23
a. Natural Join
b. Inner Join
c. Outer Join
9. Sub-Queries
a. Basic Subqueries
10. Views
a. Create view
11. Indexes
a. Create Index
b. Unique Option
d. Drop Index
a. Grant
b. Revoke
44
Syllabus for Bachelor Computer Applications (BCA)-2022-23
b. Rollback
c. Savepoint
d. Set Transaction
14. PL/SQL
b. Loop structure
SEMESTER - IV
45
Syllabus for Bachelor Computer Applications (BCA)-2022-23
46
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Outcome
Upon successful completion of the course
CO1: T he students will be able to evaluate the performance of algorithms.
UNIT 1 Teaching
Hours: 10
INTRODUCTION
A simple example of design using insertion sort, pseudo code for insertion sort and analysis
of time complexity. Performance Analysis - Space complexity and Time complexity
(posteriori testing, and a priori approach), Asymptotic Notations (O, Ω, Θ).Polynomial Vs.
Exponential Algorithms. Average, Best and Worst case complexity.
UNIT 2 Teaching
Hours: 12
UNIT 3 Teaching
Hours: 12
GREEDY ALGORITHMS
47
Syllabus for Bachelor Computer Applications (BCA)-2022-23
UNIT 4 Teaching
Hours: 8
DYNAMIC PROGRAMMING
Definition - All-pairs shortest paths, Traveling salesman problem, optimal
parameterization for product of sequence of matrices and Multistage graphs
UNIT 5 Teaching
Hours:10
UNIT 6 Teaching
Hours: 8
48
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
This course is an introduction to software development process and design. It includes
the descriptions about stages of software development, various process models and
software engineering principles.
Course Outcomes
CO1: Understand the importance of the stages in the software life cycle.
CO2: Understand the various process models. CO3: Understand
the UML notation.
CO4: Be able to design software by applying the software engineering principles.
Process models A generic process model – Defining a framework activity, identifying a Task
Set, Process Patterns - Process Assessment and improvement, Prescriptive Process Models –
The waterfall Model, Incremental Model, Evolutionary Process Model, Concurrent Models-,
A Final Word on Evolutionary Processes.
49
Syllabus for Bachelor Computer Applications (BCA)-2022-23
50
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
This subject will provide basic understanding of WWW, Web Development, Client side and
Server side technologies to develop and deploy Websites on Internet.
Course Outcomes
CO1: Understand the concepts of Internet basics to design, implement and maintain a typical
web page
CO2: Develop and incorporate dynamic capabilities in Web pages using DOM and
JavaScript.
CO3: Learn the importance of server-side scripts for web Interactivity and Web Hosting
CSS - Introduction to Cascading Style Sheets – Features - Core Syntax - Style Sheets and
HTML - Cascading and Inheritance - Text Properties – Positioning.
51
Syllabus for Bachelor Computer Applications (BCA)-2022-23
52
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Outcomes
CO1: Demonstrate the skills in designing an interactive Graphical User Interface using
windows based application.
CO2: Design and develop an application using fundamentals of object-oriented
programming concepts.
CO3: Build an application using different controls available in windows form application
and convert to exe file.
List of Programs
1. Introduction to windows form application design
(Tool box, Property window,Solution Explorer,Server Explorer) Properties associated
with each control
2. Introduction to common controls Part I and their properties
Text boxes
Rich Text Box
Label
Link label
Button
Panel
Event associated with each of the control
Changing the properties at runtime with C# code
3. Validating controls
Numbers
Texts
Regular expression
4. Looping structures If structure in C#
Switch case in C#
While loop in C#
Do .. While loop in C#
For loop in C#
5. Introduction to common controls Part II and their properties
List Box
Combo box
Check box
Radio button
Group Box
53
Syllabus for Bachelor Computer Applications (BCA)-2022-23
54
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Course Objectives
The purpose of this course is to provide comprehensive understanding to develop web
applications with database systems. Started with web programming using HTML, CSS, PHP
and connect with database concepts DDL, DML and PL/SQL.
Course Outcomes
CO1: Install, configure, and interact with a database management system
CO2: Describe, define and apply the database components to database design CO3:
Analyze the design of a database schema and apply normalization techniques
CO4: Develop dynamic web pages to meet specified needs using HTML, PHP, CSS
55
Syllabus for Bachelor Computer Applications (BCA)-2022-23
SEMESTER - V
BCA531-PYTHON PROGRAMMING
Total Teaching Hours For Semester:60 No of Lecture Hours/Week:4
Max Marks:100 Credits:4
Course Objectives/Course Description
This course covers the programming paradigms associated with python. It explores the object-
oriented programming, Graphical programming aspects of python with help of
built in modules.
The objective of this course is to provide comprehensive knowledge of python programming
paradigms
Course Outcome
CO1: Demonstrate the use of built-in objects of Python
CO2: Demonstrate significant experience with python program
development environment
CO3: Implement GUI programming concepts.
56
Syllabus for Bachelor Computer Applications (BCA)-2022-23
GUI PROGRAMMING
Introduction-Tkiner module-Root window-Widgets-Button-Label-Message-
TextMenuListboxes-Spinbox-Creating tables
Teaching Hours:10
Unit -4
FILE HANDLING
Writing and Reading Binary Data, Writing and Parsing Text Files, Writing and Parsing XML
Files.
57
Syllabus for Bachelor Computer Applications (BCA)-2022-23
BCA532-COMPUTER NETWORKS
Total Teaching Hours For Semester:60 No of Lecture Hours/Week:4
Max Marks:100 Credits:4
58
Syllabus for Bachelor Computer Applications (BCA)-2022-23
The goal of this course is to introduce the basics computer networks. Students will learn their
fundamental layered structure, understand common offered layered services, examine protocols and
algorithms used to operate the network. Objectives of the course are
• To study about network components.
• To study about topologies and network models.
• To study about various network protocols, algorithms.
Course Outcome
Students will be able to:
CO1: Gain knowledge about networks, internal components and its functionality. CO2:
Understand the Data communication concepts
CO3: Trace and analyse any communication in network
Unit I Teaching Hours: 10
Physical Layer :Data communications : components – Network criteria – physical structures – network
models – categories of networks –interconnection of networks – inter network Protocols and standards
: protocols-standards-standards organizations- internet standards Network models: Layered tasks – OSI
model – layers in the OSI model – TCP/IP protocol suite.
Transmission Media Guided media: Twisted pair cable – coaxial cable – fiber optic cable Unguided
media: radio waves - micro waves – infrared.
59
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Credits:2
Course Objectives/Course Description
Learn to program and programming paradigms brought in by Python with a focus on File
Handling and Regular Expressions
Course Outcome
CO 1: Able to walkthrough algorithm
CO 2: Improve programming skills
CO 3: Appreciate Python Programming Paradigm
CO 4: Hands on Regular Expression
CO 5: Ability to Text Processing scripts
60
Syllabus for Bachelor Computer Applications (BCA)-2022-23
61
Syllabus for Bachelor Computer Applications (BCA)-2022-23
SEMESTER – VI
BCA631-MACHINE LEARNING
62
Syllabus for Bachelor Computer Applications (BCA)-2022-23
63
Syllabus for Bachelor Computer Applications (BCA)-2022-23
1. www.towardsdatascience.com
2. https://machinelearningmastery.com
BCA641A-CLOUD COMPUTING
Total Teaching Hours for Semester: 90 No of Lecture Hours/Week: 4 + 2
Max Marks: 150 Credits: 5
64
Syllabus for Bachelor Computer Applications (BCA)-2022-23
This course covers a series of current cloud computing technologies, including technologies
for Infrastructure as a Service, Platform as a Service, Software as a Service, and Physical
Systems as a Service. For different layers of the cloud technologies, practical solutions such as
Google, Amazon, Microsoft, SalesForce.com.
Course Outcome
CO1: Demonstrate the fundamental principles of distributed computing.
CO2: Evaluate the importance of virtualization technique and how this has enabled the
development of Cloud Computing
CO3: Critically evaluate business models that underlie cloud computing, including SaaS, PaaS,
IaaS, public cloud, private cloud, and hybrid cloud.
CO4: Design the appropriate cloud computing solutions and recommendations according to
the applications
Unit-1 Teaching Hours:10
INTRODUCTION
The vision of cloud computing - The cloud computing reference model - Characteristics and
benefits - Challenges ahead - Historical developments - Building cloud computing
environments - Application development - Infrastructure and system development Parallel
vs. distributed computing - Elements of parallel computing - Hardware architectures for
parallel processing - Approaches to parallel programming - Laws of caution.
Unit-2 Teaching Hours:10
CLOUD COMPUTING ARCHITECTURE
Virtualization: Introduction - Characteristics of virtualized environments - Taxonomy of
virtualization techniques - Virtualization and cloud computing - Pros and cons of virtualization
- Technology example: VMware: full virtualization Cloud Computing Architecture:
Introduction - The cloud reference model - Types of clouds - Economics of the cloud
65
Syllabus for Bachelor Computer Applications (BCA)-2022-23
1 - Using AWS/GCP
2 – Using Google AppEngine
3 – Using SalesForce.com
[1] Rajkumar Buyya, Christian Vecchiola and S. Thamarai Selvi, “Mastering Cloud
Computing” - Foundations and Applications Programming , MK publications, 2013.
[2] . Barrie Sosinky, Cloud Computing: Bible, 1st edition, Wiley Publishing, Inc., 2011.
[2] Michael J.Kavis, “Architecting the Cloud: Design Decisions for Cloud Computing
Service Models (SaaS, PaaS, and IaaS)”, John Wiley & Sons Inc., Jan 2014.
66
Syllabus for Bachelor Computer Applications (BCA)-2022-23
Additional Information
Ethics and Values
• Optimal usage of resources to support the economy
BCA681-MAJOR PROJECT
Course Outcome
-
67
Syllabus for Bachelor Computer Applications (BCA)-2022-23
68