Bachelor of Computer Application (BCA)
Bachelor of Computer Application (BCA)
Contents
1. Structure and Regulation………………………………..
3. Multidisciplinary Courses………………………………….
(3 courses to be chosen from baskets of Multidisciplinary for Semester-
I/II/III with 3 credits each)
NB:
Students have to do the laboratory assignments mentioned under different
subjects/papers. In order to make the subject more interesting and sync with the
current trends in the subject, the course instructor will give additional
assignments relevant to the subject, and students are also encouraged to do
some experiments on their own.
Core I
Semester I
Problem Solving using C Programming
Course Objectives:
To learn the C programming language to solve different scientific and business
problems
To learn how to design and write effectively codes using various programming
constructs available in the C programming language
Learning Outcomes:
Upon completion of this course, students will be able to:
Gain knowledge about different data types and operators in C language
Learn the use of various control structures and array
Learn the use of pointers, functions, and storage classes
Write programs using structures, union, and files
Unit I:
Unit II:
Decision Control structures & Loops: Decision Making and Branching statements
(Simple IF, IF…ELSE, Nested IF… ELSE, ELSE … IF ladder), Selection control
structure (Switch Statement). Looping statements (FOR, WHILE, DO…WHILE),
break, continue and GOTO statements
Array: Concept of Array, Array Declaration, types of arrays (one and multiple
dimension), Character Arrays and Strings, limitation of array.
Unit III:
Pointers: Concept of Pointer (NULL pointer, wild pointer, dangling pointer, generic
pointer), Pointer Expressions, Accessing the Address of a Variable, Declaring Pointer
Variables, Initializations of Pointer Variable, accessing a Variable through its Pointer,
Pointer arithmetic, Pointer representation of array, Array of Pointers, Accessing Sting
using Pointer.
Function: Types of Function, Function Declaration, Function Definition, Function
Call, Recursive Function, Dynamic Memory Management functions, String handling
function (strlen, strcmp, strcpy, strncpy, strcat, strstr).
Storage class: Types (auto, register, static, extern), scope rules, declaration and
definition.
Unit IV:
Text Books:
Programming in ANSI C by E. Balagurusamy, TMH
Let us C by Yashavant Kanetkar, BPB Pubs.
The C Programming Language by B. Kernighan & Dennis Ritchie, PHI.
Reference Books:
C: How to Program by Paul Deitel, Harvey Deitel, Prentice Hall.
Programming using C by P.C. Sethi & P.K. Behera, Kalyani Publisher.
5. Write a Program to compute the sum of the first n terms of the following series
S = 1+1/2+1/3+1/4+……
6. Write a Program to compute the sum of the first n terms of the following series
S =1-2+3-4+5…………….
7. 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.
8. Write a function to find whether a given number is prime or not. Use the same to
generate the prime numbers less than 100.
9. Write a Program to compute the factors of a given number.
10. Write a program to swap two numbers.
11. Write a Program to print a triangle of stars as follows (take number of lines from user):
*
***
*****
*******
12. Write a Program to perform following actions on an array entered by the user:
a) Print the even-valued elements
b) Print the odd-valued elements
c) Calculate and print the sum and average of the elements of array
d) Print the maximum and minimum element of array
e) Remove the duplicates from the array
f) 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.
13. Write a Program that prints a table indicating the number of occurrences of each
alphabet in the text entered as command line arguments.
14. Write a program that swaps two numbers using pointers.
15. Write a program in which a function is passed address of two variables and then alter
its contents.
16. 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.
17. Write a program to find sum and average of n elements entered by the user. To write
this program, allocate memory dynamically using malloc( ) / calloc( ) functions.
18. 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
19. Given two ordered arrays of integers, write a program to merge the two-arrays to get an
ordered array.
20. Write a program to copy the content of one file to other.
Core II
Introduction to Python Programming
Course Objectives:
Learning Outcomes:
Upon completion of this course, Students will be able to learn:
Basics of Python construct.
Basics of decision making and looping, use of list, set, tuples and dictionary
Creation and use of functions
Object-oriented concepts, handling exceptions, operations on files
Unit I:
Introduction to Python, getting started with Python, Python Basics: Identifiers,
Keywords, Python types, basic types, mutable and immutable types, Integer & float
ranges, Variable type & assignment, Arithmetic Operators, Precedence &
Associativity, Conversions, built-in functions, modules, container types, comments &
indention, multi-lining.
Unit II:
Decision Control Instruction: Logical operators, Conditional Expressions, all () & any
(), receiving input, pass statement. Repetition Control Instruction: types, usage of
loops, break & continue, else block of a loop.
Lists, Sets, Tuples, Dictionaries: creating, accessing, and looping-in each type.
Applying basic operations, using built-in functions and methods on each type,
possible data structure / mathematical operations on each type. Comprehensions on
List, Set, and dictionary.
Unit III:
Functions: built-in and user-defined functions, invoking functions, unpacking arguments.
Recursive function, iteration vs recursion. Lambda functions, map, filter, reduce function.
Modules and Packages: Main module, importing a module, packages, programs using
modules and packages.
Unit IV:
Classes & Objects: Programming paradigms, public and private members, declaring
classes, creating objects, class variables, methods, operator overloading,
containership, features and types of inheritance.
Exception Handling: Introduction, handling exception, user-defined exceptions, else
block, finally block. File Input/Output: Opening a file, modes of opening a file,
operations: reading, writing. Use of with keyword.
Text Book:
Let us Python by Yashavant Kanetkar & Aditya Kanetkar, BPB Pub.
Core III
Semester II
Data Structures
Course Outcomes:
To understand different ways of organizing data in computer’s memory.
To learn different operations on data structures.
To explore different applications of data structures.
Learning Outcomes:
Upon completion of this course, students will be able to:
Unit I:
Introduction to Data Structures: Definition, Concepts, Classification of Data
Structures.
Array: Introduction, One-Dimensional Array, Memory representation, Operations:
Traversing, Searching, Insertion, Deletion, Merge. Two-Dimensional Array &
Memory Representation, Multidimensional Array. Linear Search versus Binary
Search, Sorting: Selection Sort, Bubble Sort.
Unit II:
Linked Lists: Definition, Single Linked List, Memory representation, Operations:
Traversing, Searching, Insertion, Deletion and Merge. Double Linked List,
Operations: Insertions, Deletion.
Circular, Double Circular Linked list, Operations: Traversing, Insertion. Applications
of Linked List, Sparse Matrix and Polynomial representations.
Unit III:
Stack: Definition, Representation: Array and Linked List representations, Operations:
PUSH, POP, STATUS. Applications: Evaluation of Arithmetic Expressions:
Notations, Infix to Postfix Conversion, Evaluation of Postfix expression. Recursion
(Factorial and Fibonacci), Tower of Hanoi.
Queues: Definition, Representation: Array and Linked List representations,
Operations: Enqueue, Dequeue. Structures of Queue: Circular, Deque and Priority
Queue. Applications of Queue
Unit IV:
Trees: Definition, Terminologies, Binary Tree: Properties, Representations (Linear
and Linked List representations). Operations: Traversal (Inorder, Preorder, Postorder),
Search. Introduction to Binary Search Tree, AVL tree, M-Way Search Tree.
Applications of Trees.
Graph: Definition, Terminologies, Representations (Set, Linked List, Matrix),
Operations: Traversal (BFS, DFS). Applications of Graphs.
Text Books:
Classic Data Structure, D. Samanta, PHI, 2/ed.
Ellis Horowitz, Sartaj Sahni, “Fundamentals of Data Structures”, Galgotia Pubs.
Reference Book:
Core IV
Object Oriented Programming using C++
Course Outcomes:
To know about the Object-Oriented Programming concepts.
To write object-oriented programs using C++ constructs
Learning Outcomes:
Upon completion of this course, students will be able to:
Understand OOPs concepts as a programming style
Use class/objects in programs and functions of different types
Learn the concept of inheritance and overloading of functions and operators
Use files in C++
Unit I:
Principles of Object-Oriented Programming: Object-Oriented Programming (OOP)
Paradigm, Basic Concepts of OOP, Benefits of OOP, Characteristics of OOPS,
Object Oriented Languages, Applications of OOP.
Introduction to C++, Difference between C & C++, Tokens, Data types, Operators,
structure of C++ Program, C++ statements, Expressions and Control Structures.
Functions in C++: Argument passing in function, Inline Functions, Default
Arguments, Const. Arguments, Friend function.
Unit II:
Classes and Objects: Defining Member Functions, Making an outside Function
Inline, Nested Member Functions, Private Member Functions, Arrays within a Class,
Memory Allocation for Objects, Static Data Members, Static Member Functions,
Arrays of Objects, Objects as Function Arguments, Friend Functions.
Constructors & Destructors: Constructors, Parameterized Constructors, Constructors
with Default Arguments, Dynamic Initialization of Objects, Copy Constructor,
Dynamic Constructors, Destructors.
Unit III:
Inheritance: Basics of Inheritance, Type of Inheritance, Virtual Base Classes,
Abstract Classes, Member Classes, Nesting of Classes. Polymorphism: Pointers,
Pointers to Objects, this Pointer, Pointers to Derived Classes, Virtual Functions, Pure
Virtual Functions, Function Overloading, Operator Overloading.
Unit IV:
Managing Console I/O Operations: C++ Streams, C++ Stream Classes, Unformatted
I/O Operations, Formatted Console I/O Operations, Managing Output with
Manipulators.
Files: Classes for File Stream Operations, Opening and Closing a File, Detecting end-
of-file, File Modes, File Pointers and their Manipulations, Sequential Input and
Output Operations, Updating a File: Random Access, Error Handling during File
Operations, Command-line Arguments.
Text Books:
E. Balgurusawmy, Object Oriented Programming with C++, 4/e
(TMH).
Bjarne Stroustroup, Programming - Principles and Practice using C+
+, 2/e, Addison- Wesley
Reference Books:
Paul Deitel, Harvey Deitel, "C++: How to Program", 9/e. Prentice Hall.
Herbtz Schildt, C++: The Complete reference, McGrawHill.
Learning Outcomes:
Upon completion of this course, students will be able to:
Build data models using entity relationship concepts
Design databases by systematically applying the normalization process
Create relational database tables and perform various operations using SQL
Learn issues relating to database transactions and approaches to deal with them
Unit I:
Introduction to Database and Database Users, Database System Concepts and Architecture:
data Models, schema, and instances, Conceptual Modeling and Database Design, Entity
Relationship (ER) Model: Entity Types, Entity Sets, Attributes, Keys, Relationship Types,
Relationship Sets, Roles and Structural Constraints, Weak Entity Types, ER Naming
Conventions. Enhanced Entity-Relationship (EER) Model.
Unit II:
Relational data Model and SQL: Relational Model Concepts, Basic SQLs, SQL Data
Definition and Data types, Constraints in SQL, Retrieval Queries in SQL, INSERT,
DELETE, UPDATE Statements in SQL, Relational Algebra and Relational Calculus: Unary
Relational Operations: SELECT and PROJECT, Binary Relation: JOIN and DIVISION.
Unit III:
Database Design Theory and Normalization: Functional Dependencies, Normal Forms based
on Primary Keys, Second and third Normal Forms, Boyce-Codd Normal Form, Multivalued
Dependency and Fourth Normal Form, Join Dependencies and Fifth Normal Form.
Unit IV:
Text Books:
Fundamentals of Database Systems, 6th edition, Ramez Elmasri, Shamkant B.
Navathe, Pearson Education
Database Management Systems, Rajiv Chopra, S. Chand Pubs.
Reference Book:
An Introduction to Database System, Date C. J. - Pearson Education, New Delhi
BCA 3.3 Lab: Data Base Management System
Create and use the following database schema to answer the given queries.
EMPLOYEE Schema
DEPARTMENT Schema
List of Queries:
1. Display Employee Name, Job, Hire Date, Employee Number; for each employee with
the Employee Number appearing first.
2. Display unique Jobs from the Employee Table.
3. Display the Employee Name concatenated by a Job separated by a comma.
4. Display all the data from the Employee Table. Separate each Column by a comma and
name the said column as THE_OUTPUT.
5. Display the Employee Name and Salary of all the employees earning more than $2850.
6. Display Employee Name and Department Number for the Employee No= 7900.
7. Display Employee Name and Salary for all employees whose salary is not in the range
of $1500 and $2850.
8. Display Employee Name and Department No. of all the employees in Dept 10 and Dept
30 in the alphabetical order by name.
9. Display Name and Hire Date of every Employee who was hired in 1981.
10. Display Name and Job of all employees who don’t have a current Manager.
11. 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. Display Name of all the employees where the third letter of their name is ‘A’.
14. 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 Mangers Employee No = 7788.
15. Display Name, Salary and Commission for all employees whose Commission Amount
is 14 greater than their Salary increased by 5%.
16. Display the Current Date.
17. Display Name, Hire Date and Salary Review Date which is the 1 st Monday after six
months of employment.
18. Display Name and calculate the number of months between today and the date each
employee was hired.
19. Display the following for each employee <E-Name> earns < Salary> monthly but
wants <3*Current Salary>. Label the Column as Dream Salary.
20. 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. Display Name, Hire Date and Day of the week on which the employee started.
22. Display Name, Department Name and Department No for all the employees.
23. Display Unique Listing of all Jobs that are in Department # 30.
24. Display Name, Department Name of all employees who have an ‘A’ in their name.
25. Display Name, Job, Department No. and Department Name for all the employees
working at the Dallas location.
26. 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. Display Name, Department 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. Display Name and Salaries represented by asterisks, where each asterisk (*) signifies
$100.
29. Display the Highest, Lowest, Sum and Average Salaries of all the employees.
30. Display the number of employees performing the same Job type functions.
31. Display the no. of managers without listing their names.
32. Display the Department Name, Location Name, No. of Employees and the average
salary for all employees in that department.
33. Display Name and Hire Date for all employees in the same dept. as Blake.
34. Display the Employee No. And Name for all employees who earn more than the
average salary.
35. Display Employee Number and Name for all employees who work in a department with
any employee whose name contains a ‘T’.
36. Display the names and salaries of all employees who report to King.
37. Display the department no, name and job for all employees in the Sales department.
Core VI
Computer Organization & Architecture
Course Objectives:
To understand the basic components of a digital computer and their working
To understand data representation techniques and used of various logic gates
To gain knowledge about processor and various memory devices
Learning Outcomes:
Upon completion of this course, students will be able to:
Learn basic computer organization and design
Design various combinational circuits
Understand the functioning of central processing unit and memory organization
Understand the use of various input/output organization and parallel processing
Unit I:
Introduction to Computer Organization and Architecture: Basic concepts, Computer
evolution and performance, Basic Structure of Computers: Functional Units,
Operational Concepts, Bus Structures. Machine Instructions and Programs,
Instruction formats, Addressing modes. Overview of Instruction set architecture.
Number systems and their Conversions, Data representation, Arithmetic Operations:
Integer-Arithmetic, Floating-point arithmetic.
Unit II:
Boolean Algebra, Basic Logic Functions, Electronic Logic Gates, Synthesis of Logic
Functions, Minimization of Logic Expressions, Minimization using Karnaugh Maps.
Combinational circuits: Adders, Subtractors, Multiplexers and Demultiplexers,
Sequential circuits: Characteristics, Flip-Flops (SR, JK, D, T)
Unit III:
Memory Organization: Instruction execution cycle, Memory hierarchy: RAM, ROM,
Cache memory, Addressing modes and memory addressing techniques.
Processor Organization: CPU organization, Arithmetic logic unit (ALU), Control unit,
Instruction pipeline, RISC vs. CISC Architectures.
Unit IV:
Input/Output Organization: I/O interface and devices, Interrupts and DMA (Direct
Memory Access). Storage: Disk storage systems, RAID (Redundant Array of
Independent Disks).
Parallel Processing: Multiple Processor Organization, Symmetric Multiprocessors,
Cache Coherence and MESI Protocol, Multithreading and Chip Multiprocessors,
Non-Uniform Memory Access (NUMA). Multicore Computers.
Text Books:
M. Morris Mano, Michael D. Ciletti (2008), Digital Design, 4th edition, Pearson
Education Inc, India.
Carl Hamacher, Zvonks Vranesic, SafeaZaky (2002), Computer Organization, 5th
edition, McGraw Hill, New Delhi, India
Reference Books:
Stallings, W. Computer Organization and Architecture 11th Edition (PHI)
Computer Architecture and Organization: John P. Hayes McGraw Hill.
Computer Organization and Design Hardware/ Software Interface: David A.
Patterson, John L. Hennessy, Elsevier.
Computer Architecture & Organization, Rajiv Chopra, S. Chand Pubs.
Core VII
Operating Systems
Course Objectives:
To understand Operating system structure and services.
To understand the concepts of Process, memory, storage, and I/O management.
To explore different applications of data structures.
Learning Outcomes:
Upon completion of this course, students will be able to:
Understand various services offered by an OS as a resource manager
Understand the concept of a process and various CPU scheduling techniques
Learn the concepts on effective memory management and virtual memory
Learn various approaches to disk scheduling & file management techniques
Unit I:
Unit II:
Unit III:
Unit IV:
Text Books:
Operating System Concepts, Abraham Silberschatz, Peter B. Galvin, and Greg
Gagne, Eighth Edition, Wiley Student Edition 2009
Operating Systems, Rajiv Chopra, S. Chand Pubs.
Reference Books:
Modern Operating System, Tanenbaum, Pearson, 4/ed. 2014
Operating Systems 5th Edition, William Stallings, Pearson Education India
Richard Blum, Linux Command Line and Shell Scripting Bible, O’ Reilly
1. Basic Linux Commands and Overview (date, cal, who, tty, echo, bc, pwd, mkdir,
rmdir, cd, cat, cp, mv, rm, ls, wc)
2. Write a shell script to perform the tasks of basic calculator.
3. Write a shell script to find the greatest number among the three numbers.
4. Write a shell script to check if the number entered at the command line is prime or
not.
5. Write a shell script to display the multiplication table of any number.
6. Write a shell script to compare two files and if found equal asks the user to delete the
duplicate file.
7. Write a shell script to find the sum of digits of a given number.
8. Write a shell script to find the factorial of a given number.
9. 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.
10. Write a program to copy files using system calls.
11. Write a program using C to implement FCFS scheduling algorithm.
12. Write a program using C to implement Round Robin scheduling algorithm.
13. Write a program using C to implement SJF scheduling algorithm.
14. Write a program using C to implement first-fit, best-fit, and worst-fit allocation
strategies.
Learning Outcomes:
Upon completion of this course, students will be able to:
Know the use of different graphics systems
Learn different algorithms to draw geometrical figures
Learn various geometric transformation techniques
Learn techniques for clipping
Unit I:
Unit II:
Graphics Output Primitives: Point and Lines, Algorithms for line, circle & ellipse generation,
Filled-Area Primitives. Attributes of Graphics Primitives: Point, line, curve attributes, fill
area attributes, Fill methods for areas with irregular boundaries.
Unit III:
Unit IV:
Text Books:
Donald Hearn & M. Pauline Baker, “Computer Graphics with OpenGL”, Pearson
Education.
Mathematical Elements for Computer Graphics, D. F. Rogers & J. A. Adams, MGH,
2/ed.
Reference Books:
Computer Graphics principles & practice, Foley, Van Dam, Feiner, Hughes Pearson
Education
Computer Graphics by Zhigang Xiang, Roy A Plastic, McGraw-Hill
BCA 4.3 Lab: Computer Graphics using OpenGL
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 fill a polygon using Scan line fill algorithm.
6. Write a program to apply various 2D translation transformation.
7. Write a program to apply 2D object homogenous coordinates translation.
8. Write a program to apply various 2D rotation transformation.
9. Write a program to apply 2D object homogenous coordinates rotation.
10. Write a program to apply various 2D scaling transformation.
11. Write a program to apply 2D object homogenous coordinates scaling transformation.
12. Write a program to apply various 3D transformations on a 3D object and then apply
parallel and perspective projection on it.
Core IX
Learning Outcomes:
On successful completion of this course, Students will be able to:
Learn the basics of JSON, XML and AJAX
Learn the programming concepts of PHP
Learn the server-side programming using PHP
Learn the mechanisms of connecting Database using PHP & use AJAX with PHP
Unit I:
Unit II:
Unit III:
Unit IV:
Text Book:
Reference Books:
Core X
Computer Network
Course Outcomes:
To understand data communication and network concepts.
To learn about different communication standards
To understand different network protocols
Learning Outcomes:
Upon completion of this course, students will be able to:
Understand concepts on data communication and the use of communication devices
Learn about analog and digital signals and basic components of data communication
Learn about errors during data communication & access control mechanisms
Learn various network protocols and network security issues
Unit I:
Introduction to Data Communications and Network Models: Protocols and Standards, Layers
in OSI Models, Analog and Digital Signals, Network Topology, Transmission Modes,
Transmission Impairment, Data Rate Limits, Performance, Digital Transmission, Network
Devices & Drivers: Router, Modem, Repeater, Hub, Switch, Bridge (fundamental concepts
only).
Unit II:
Unit III:
Error Detection and Correction: Parity Check, Checksum, CRC, Error correction technique
(Hamming code), Data Link Control: Framing, Flow and Error Control, Noiseless Channels,
Noisy channels, (Stop and Wait ARQ, Sliding Window Protocol, Go Back N, Selective
Repeat) Point-to-Point Protocol. Access Control: TDM, CSMA/CD, and Channelization
(FDMA, TDMA, and CDMA).
Unit IV:
Network Layer: Logical Addressing, IPv4 Addresses, IPv6 Addresses, Subnet, Subnet
masking, Virtual-Circuit Networks: Frame Relay and ATM, Transport Layer: Process-
Process Delivery: UDP, TCP. Application layers: DNS, SMTP, POP, FTP, HTTP, Basics of
WiFi (Fundamental concepts only), and Network Security: Authentication, Basics of Public
Key and Private Key Cryptography, Digital Signatures and Certificates (Fundamental
concepts only).
Text Book:
Computer Networks, A. S. Tanenbaum, 4th edition, Pearson Education.
Reference Book:
Data Communications and Networking, Fourth Edition by Behrouza A. Forouzan,
TMH.
Core XI Semester V
Software Engineering
Course Outcomes:
To understand importance of Software engineering.
To understand different software development models
To understand various issues involved in a software development project
Learning Outcomes:
Upon completion of this course, students will be able to:
Understand various software development lifecycle models
Know the complexities involved in software development projects & how to deal with
them
Understand the software design process starting from requirement analysis
Learn about software documentation, software testing and maintenance
Unit I:
Unit II:
Unit III:
Unit IV:
Coding and Testing: Coding: Code Review, Software Documentation, Testing, Unit Testing,
Black Box and White Box Testing, Debugging, Program Analysis Tools, Integration Testing,
System Testing, Software Maintenance.
Text Books:
Software Engineering– Ian Sommerville, 10/Ed, Pearson
Fundamental of Software Engineering, Rajib Mall, Fifth Edition, PHI Publication,
India.
Reference Books:
Software Engineering Concepts and Practice – Ugrasen Suman, Cengage Learning
India Pvt, Ltd.
Software Engineering, R Khurana, Vikash Pubs.
Core XII
(A) Introduction to Artificial Intelligence
(Students can choose any one course from this group)
Course Outcomes:
To learn the basic concepts of AI.
To understand AI problem-solving approaches
Learning Outcomes:
Upon completion of this course, students will be able to:
Understand state space search as an approach to AI problem solving
Understand various Knowledge Representation techniques
Learn the complexity involved in NLP & role of learning in AI problem-solving
Understand the importance of Expert systems and the use of AI programming
languages.
Unit I:
Unit II:
Unit III:
Knowledge Representation: Propositional logic and Predicate logic along with their
resolution principles, Unification algorithm, forward and backward chaining and
conflict resolution, Semantic nets, Frames, Conceptual dependencies, Scripts.
Reasoning under uncertainty: Bayesian Belief networks, Dempster Shafer theory
Unit IV:
Text Books:
Artificial Intelligence by Rajiv Chopra, S. Chand Pubs.
Artificial Intelligence by E. A. Rich and Kelvin Knight, TMH
Reference Books:
Introduction to AI and Expert Systems- D.W. Patterson, PHI
Principles of AI and Expert systems development, D. W. Rolston (McGraw Hill)
Learning Outcomes:
Upon completion of this course, students will be able to:
Appreciate the importance of data science & learn the use different data analysis tools
Learn R Programming
Understand the techniques for data cleaning
Learn the use of various data analysis and visualization tools
Unit I:
Data Scientist’s Tool Box: Turning data into actionable knowledge, introduction to the
tools that are used in building data analysis software: version control, markdown, git,
GitHub, R, and RStudio.
Unit II:
R Programming Basics: Overview of R, R data types and objects, reading and writing
data, Control structures, functions, scope rules, dates and times, Loop functions, debugging tools,
Simulation, code profiling.
Unit III:
Getting and Cleaning Data: Obtaining data from the web, from APIs, from databases
and other sources in various formats, basics of data cleaning and making data “tidy”.
Unit IV:
Exploratory Data Analysis: Essential exploratory techniques for summarizing data, applied
before formal modeling commences, eliminating or sharpening potential hypotheses about the
world that can be addressed by the data, common multivariate statistical techniques used to
visualize high-dimensional data.
Text Book:
Rachel Schutt, Cathy O'Neil, "Doing Data Science: Straight Talk from the Front
line" Schroff /O'Reilly, 2013.
Reference Books:
Foster Provost, Tom Fawcett, “Data Science for Business” What You Need to
Know About Data Mining and Data-Analytic Thinking by O'Reilly, 2013.
John W. Foreman, “Data Smart: Using data Science to Transform Information into
Insight” by John Wiley & Sons, 2013.
Eric Seigel, “Predictive Analytics: The Power to Predict who Will Click, Buy, Lie,
or Die", 1st Edition, by Wiley, 2013.
Major XIII
Programming in Java
Course Outcomes:
To learn Java for writing object-oriented programs
To understand the use of different Java programming constructs
To learn exception handling in Java and use of threads.
Learning Outcomes:
Upon completion of this course, students will be able to:
Learn the basics of Java programming
Create classes/objects and implement different forms of inheritance
Use arrays and files in Java
Learn about exception handling
Unit I:
Introduction to Java: Java History, Architecture and Features, Understanding the semantic
and syntax differences between C++ and Java, Compiling and Executing a Java Program,
Variables, Constants, Keywords (super, this, final, abstract, static, extends, implements,
interface) , Data Types, Wrapper class, 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). Input through keyboard using Command line Argument, the Scanner class,
BufferedReader class.
Unit II:
Unit III:
Arrays: Creating & Using Arrays (1D, 2D, 3D and Jagged Array), Array of Object,
Referencing Arrays Dynamically. Strings and I/O: Java Strings: The Java String class,
Creating & Using String Objects, Manipulating Strings, String Immutability& Equality,
Passing Strings To & From Methods, StringBuffer Classes and StringBuilder Classes. IO
package: Understanding StreamsFile class and its methods, Creating, Reading, Writing using
classes: Byte and Character streams, FileOutputStream, FileInputStream, FileWriter,
FileReader, InputStreamReader, PrintStream, PrintWriter. Compressing and Uncompressing
File.
Unit IV:
Text Book:
E. Balagurusamy, “Programming with Java”, TMH, 4/Ed
Reference Book:
Herbert Schildt, “The Complete Reference to Java”, TMH, 10/Ed.
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 convert a decimal to binary number.
4. To check if a number is prime or not, by taking the number as input from the
keyboard.
5. 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.
6. Write a program that show working of different functions of String and
StringBufferclasss like setCharAt( ), setLength( ), append( ), insert( ), concat( )and
equals( ).
7. 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
8. Modify the – “distance” class by creating constructor for assigning values
(feetandinches) 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.
9. 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).
10. 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.
11. Write a program to show the use of static functions and to pass variable length
arguments in a function.
12. Write a program to demonstrate the concept of boxing and unboxing.
13. 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).
14. Write a program to create a multilevel package and also creates a reusable class to
generate Fibonacci series, where the function to generate Fibonacci series is given in
a different file belonging to the same package.
15. Write a program that creates illustrates different levels of protection in
classes/subclasses belonging to same package or different packages
16. 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.
17. Write a program to show the use of nested try statements that emphasizes the
sequence of checking for catch handler statements.
18. Write a program to create your own exception types to handle situation specific to
your application (Hint: Define a subclass of Exception which itself is a subclass of
Throwable).
19. Write a program to demonstrate priorities among multiple threads.
20. Write a program to demonstrate different mouse handling events like
mouseClicked(), mouseEntered(), mouseExited(), mousePressed(), mouseReleased()
& mouseDragged().
21. Write a program to demonstrate different keyboard handling events.
Learning Outcomes:
Upon completion of this course, students will be able to:
Learn approaches to algorithm analysis & design
Learn different searching and sorting techniques
Learn greedy techniques for problem-solving
Learn graph-based techniques for practical problem-solving
Unit I:
Algorithm specification: Pseudo code, Asymptomatic Analysis, Space complexity and time
complexity, Analysis and design of Insertion sort algorithm, Divide and Conquer paradigm,
Recurrence relations, Solving Recurrences: Substitution methods, Recursion tree method, and
Master method.
Unit II:
Searching and Sorting: Analysis of Linear Search, Binary Search, Merge Sort and Quick Sort,
Heap Sort. Hashing: Hash functions, Hash table, Collision resolution: Chaining and Open
Addressing (Linear probing, Quadratic probing, Double hashing).
Unit III:
Unit IV:
Graph Algorithms, Topological sort, Minimum Spanning Trees: Prim’s and Kruskal’s
algorithm, Single-source shortest paths: Bellman-Ford algorithm, Dijkstra’s algorithm.
Text Book:
Introduction to Algorithms, by Thomas H, Cormen, Charles E. Leiserson, Ronald L.
Rivest, Clifford Stein, PHI.
Reference Book:
Algorithm Design, by Jon Kleinberg, Eva Tardos.
Core XV
BCA 6.3: Project Work-I
A student has to do a Project work under the guidance of a faculty member. After complet-
ing the project, the student has to submit a project report which has to be evaluated by an
external examiner. The model template for the project report can be as follows
Learning Outcomes:
Upon completion of this course, students will be able to:
Learn about the applications of AI in healthcare
Learn about the applications of AI in the agriculture sector
Learn about the applications of AI in business and modern industry
Know about some of the recent developments in AI
Unit I:
Unit II:
Unit III:
Unit IV:
AI-powered chatbots, ChatGPT, Generative AI, creation of text, image, visual, and audio
contents, code generation, concept of large AI models, Ethical issues, bias and fairness of
training data, transparency and accountability, Explainable AI.
Reference Materials:
Nasr, M., Islam, M. M., Shehata, S., Karray, F., & Quintana, Y. (2021). Smart healthcare
in the age of AI: recent advances, challenges, and future prospects. IEEE Access, 9,
145248-145270.
Chengoden, R., Victor, N., Huynh-The, T., Yenduri, G., Jhaveri, R. H., Alazab, M., ... &
Gadekallu, T. R. (2023). Metaverse for healthcare: A survey on potential applications,
challenges and future directions. IEEE Access.
https://iiss.icar.gov.in/eMagazine/v6i1/9.pdf
https://www.forbes.com/advisor/business/software/ai-in-business/
https://www.nvidia.com/en-us/glossary/generative-ai/
Core XVII
Data Analytics with Python
Course Outcomes:
To analyze different types of data using Python.
To prepare data for analysis, perform simple statistical analysis,
To create meaningful data visualizations and predict future trends from data.
Learning Outcomes:
Unit I:
Unit II:
Unit III:
Data Processing and Visualization: Data Formatting, Exploratory Data Analysis, Filtering and
hierarchical indexing using Pandas. Data Visualization: Basic Visualization Tools,
Specialized Visualization Tools, Seaborn Creating and Plotting Maps.
Unit IV:
Mathematical and Scientific applications for Data Analysis: Numpy and Scipy Package,
Understanding and creating N-dimensional arrays, Basic indexing and slicing, Boolean
indexing, Fancy indexing, Universal functions, Data processing using arrays, File input and
output with arrays.
Text Book:
Reema Thareja, “Python Programming using Problem Solving approach”, Oxford
University press
Reference Books:
David Ascher and Mark Lutz, Learning Python, Publisher O’Reilly Media.
Wes Mckinney “Python for Data Analysis”, First edition, Publisher O’Reilly Media.
Core XVIII
Cyber Security
Course Outcomes:
To understand the growing importance of cyber security.
To understand the use of crypto systems.
To learn about various security issues and cyber crimes
Learning Outcomes:
Upon completion of this course, students will be able to:
Have basic understanding of security concerns
Learn about cryptography
Learn about various software security issues
Know about different cyber crimes
Unit I:
Introduction: Computer Security Concepts, Threats, Attacks, and Assets, Security Functional
Requirements, Fundamental Security Design Principles. Confidentiality, Integrity,
Availability, Computer Criminals, Motive of attackers, active attacks, passive attacks,
Software attacks, hardware attacks, Cyber Threats-Cyber Warfare, Cyber Crime, Cyber
terrorism, Cyber Espionage, etc., Comprehensive Cyber Security Policy.
Unit II:
Cryptography: History and development of Cryptography. Substitution and affine ciphers,
Transpositions Cipher, Confusion, diffusion, Symmetric, Asymmetric Encryption. DES,
Modes of DES, Uses of Encryption, Hash function, key exchange, Digital Signatures, Digital
Certificates.
Unit III:
Software Security: Types of Malicious Software, Advanced Persistent Threat,
Propagation, Infected Content - Viruses, Propagation, Vulnerability Exploit - Worms,
Propagation, Social Engineering, SPAM E-Mail, Trojans, Payload, System
Corruption, Attack Agent, Zombie, Bots, Information Theft, Keyloggers, Phishing,
Spyware, Stealthing, Backdoors, Rootkits, Countermeasures.
Network Security: Denial-of-Service Attacks, Flooding Attacks, Distributed Denial-
of-Service Attacks, Overview of Intrusion Detection, Honeypots, The Need for
Firewalls
Unit IV:
Text Books:
Core XIX
(A)Internet of Things
(Students can choose any one course from this group)
Course Outcomes:
To know the evolution of the Internet of Things (IoT), its working mechanisms.
To know and develop Applications of IoT in our daily life.
Learning Outcomes:
Upon completion of this course, students will be able to:
Understand IoT networking components and various topologies
Understand IoT connectivity & communication technologies
Understand functions of Arduino, Raspberry Pi and other platforms
Understand various application domains and develop small sensor-based applications
Unit I:
Emergence of IoT: Introduction, Evolution of IoT, Layered Architecture, Networking
Components, Addressing Strategies. IoT Enabling Technologies: Wireless Sensor
Networks, Cloud Computing, Big Data Analytics, Embedded Systems.
IoT Levels and Deployment Templates: Introduction, IoT Level-1 to Level-6. IoT
Sensing and Actuation: Introduction, Sensors, their characteristics and types.
Actuators, their characteristics and types.
Unit II:
Unit III:
Unit IV:
Text Books:
Introduction to IoT by S Mishra, A. Mukharjee, & A. Roy, Cambridge University
Press.
Internet of Things: A hands-on approach by A. Bahga &V. Madisetti, University
Press.
Reference Books:
The Internet of Things: Enabling Technologies, Platforms, and Use Cases", by
Pethuru Raj and Anupama C. Raman (CRC Press)
D. Hanes, G. Salgueiro, P. Grossetete, R. Barton, J. Henry; IoT Fundamentals:
Networking Technologies, Protocols, and Use Cases for the Internet of Things, 1st
Edition, Pearson India Pvt. Ltd., 2018.
Learning Outcomes:
Upon completion of this course, students will be able to:
Learn the use of Deterministic and Nondeterministic Finite Automata
Understand the use of Regular Expressions and regular grammars
Understand the significance of Context Free Grammars and Push Down Automata
Understand the significance of Turing Machine
Unit I:
Unit II:
Unit III:
Context Free Grammars and Languages: Context Free Grammars (CFG): Definition,
Derivations using a grammar, trees, Leftmost and Rightmost derivations. Ambiguity in
grammars and languages: Removing ambiguity from grammars, Inherent ambiguity.
Properties of Context-Free Languages: Normal forms for CFGs; Eliminating useless symbols,
Eliminating epsilon productions, Eliminating unit productions, Chomsky Normal Form
(CNF), Pumping Lemma for Context Free Languages. Decision properties of CFL’s.
Unit IV:
Text Book:
John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman (2007), Introduction to
Automata Theory Languages and Computation, 3rd edition, Pearson Education, India.
Reference Books:
Course Outcomes:
To learn the basics of Android Programming
To develop simple Android applications
Learning Outcomes:
Upon completion of this course, students will be able to:
Learn about Android Operating system and its architecture
Understand object-oriented concepts and the Java programming environment
Learn the use of Android development tools
Design user interfaces and connect with databases
Unit I:
Introduction: History of Android, Introduction to Android Operating Systems, Android
Development Tools, Android Architecture.
Unit II:
Overview of object-oriented programming using Java: OOPs Concepts: Inheritance,
Polymorphism, Interfaces, Abstract class, Threads, Overloading and Overriding, Java Virtual
Machine.
Unit III:
Development Tools: Installing and using Eclipse with ADT plug-in, Installing Virtual
machine for Android sandwich/Jelly bean (Emulator), configuring the installed tools,
creating an android project – Hello Word, run on emulator, Deploy it on USB-
connected Android device.
User Interface Architecture: Application context, intents, Activity life cycle, multiple
screen sizes.
Unit IV:
User Interface Design: Form widgets, Text Fields, Layouts, Button control, toggle
buttons, Spinners (Combo boxes), Images, Menu, Dialog.
Database: Understanding of SQLite database, connecting with the database.
Text Books:
Android application development for java programmers by James
C. Sheusi. Cengage Learning pub.
Android Application Development Black Book by Pradeep Kothari,
KLSI, Publisher: Dreamtech Press
Head First Android Development: A Brain-Friendly Guide" by Dawn
Griffiths, David Griffiths, O'Reilly
Reference Books:
James C. Sheusi, “Android application Development for Java
Programmers”, Cengage Learning, 2013.
M. Burton, & D. Felker, “Android Application Development for
Dummies”, 2/e, Wiley India.
Online References:
http://www.developer.android.com
Core XX
Semester VIII
Cloud Computing
Course Outcomes:
To familiarize with basic concepts of cloud as a computing paradigm
To learn about different cloud services
Learning Outcomes:
Upon completion of this course, students will be able to:
Learn about the evolution cloud computing and the concept of virtualization
Understand the cloud migration process and design issues
Familiarize with different service models
Understand different security issues and disaster management services
Unit I:
Unit II:
Unit III:
Unit IV:
Text Books:
Rajkumar Buyya, James Broberg, Andrzej M. Goscinski, Cloud Computing:
Principles and Paradigms, Wiley.
Cloud Computing, U S Pandey & K Choudhary, S. Chand Pubs.
Cloud computing a practical approach - Anthony T.Velte , Toby J. Velte Robert
Elsenpeter TATA McGraw- Hill , New Delhi.
Reference Books:
Rajkumar Buyya, Christian Vecchiola, S. Thamarai Selvi, Mastering Cloud
Computing, Mc Graw Hill Education.
Cloud Computing: Principles, Systems and Applications, Editors: Nikos
Antonopoulos, Lee Gillam, Springer.
Cloud Security: A Comprehensive Guide to Secure Cloud Computing, Ronald
L. Krutz, Russell Dean Vines, Wiley-India.
Gautam Shroff, Enterprise Cloud Computing Technology Architecture
Applications
Toby Velte, Anthony Velte, Robert Elsenpeter, Cloud Computing, A Practical
Approach
Dimitris N. Chorafas, Cloud Computing Strategies
Core XXI
Machine Learning
Course Outcomes:
To understand the concept of machine learning for intelligent data processing
To learn various classification and clustering techniques to analyze data
Learning Outcomes:
Upon completion of this course, students will be able to:
Learn Decision tree learning algorithms.
Learn Neural network and hypothesis accuracy estimation.
Apply Supervised Learning to obtain a predicted output.
Apply Unsupervised Learning on data.
Unit I:
Introduction: Brief Introduction to Machine Learning Supervised Learning
Unsupervised Learning Reinforcement Learning, Overview of supervised learning,
classification, and regression problems,
Statistical Pattern Recognition: Bayes Decision Theory, Minimum Error and
Minimum Risk Classifiers, Discriminant Function and Decision Boundary, Normal
Density, Discriminant Function for Discrete Features. Naïve Bayes Classification.
Unit II:
Classification: K-nearest neighbourhood (KNN) classifier, variation of k-NN
classifiers. Decision tree learning, Issues in Decision tree learning.
Artificial Neural Network: Introduction – Fundamental concept – Evolution of Neural
Networks – Basic Models of Artificial Neural Networks – Important Terminologies of
ANNs – McCulloch-Pitts Neuron – Linear Separability –Back-Propagation Network –
Radial Basis Function Network, multi-level classification.
Unit III:
Model Assessment and Selection: Loss function, test and training error, Bias, Variance, and
model complexity, Bias-variance trade off, Bayesian approach and BIC, Cross- validation,
Boot strap methods, Performance of Classification algorithms (Confusion Matrix, Precision,
Recall and ROC Curve). The Curse of Dimensionality, Dimensionality Reduction, Principal
Component Analysis.
Unit IV:
Unsupervised Learning and Random forests: Cluster analysis (k-means, Hierarchical
clustering, DBSCAN, spectral clustering), Gaussian mixtures and EM algorithm,
Random forests and analysis.
Introduction to Deep Learning, Case studies on Digit classification and Image
recognition.
Text Books:
Tom M. Mitchell, Machine Learning, McGraw Hill Education, Indian Edition.
Alpaydin, E., Introduction to Machine Learning. United Kingdom: MIT Press.
S.N. Sivanandan and S.N. Deepa, Principles of Soft Computing, Wiley India.
Reference Books:
C. M. Bishop –Pattern Recognition and Machine Learning, Springer.
Trevor Hastie, Robert Tibshirani, Jerome Friedman, The Elements of Statistical
Learning-Data Mining, Inference, and Prediction, Second Edition, Springer Verlag.
Core XXII
Course Outcomes:
To understand the Blockchain ecosystem.
To know the concepts of Distributed Ledger, Smart Contract, and Cryptocurrency
To explore various applications of Blockchain in real world scenarios.
Learning Outcomes:
Upon completion of this course, students will be able to:
Understand the important concepts of Blockchain technology
Learn the significance of Distributed Ledger Technology and Smart Contract
Gain knowledge about Cryptocurrency and Bitcoin transactions
Design and explore various applications of Blockchain
Unit I:
Unit II:
Unit III:
Cryptocurrency, Cryptographic Hash Functions, Hash Pointers and Data Structures, Digital
Signatures, Public Keys as Identities, a simple Cryptocurrency, techniques to store and use
Bitcoins, Hot and Cold Storage, Splitting and Sharing Keys, Online Wallets and Exchanges,
Payment Services, Bitcoin Trading, Bitcoin Miners, Merkley Tree.
Unit IV:
Use Cases of Blockchain in Financial Systems, Supply chain and logistics monitoring,
Blockchain implementation for Land Records, property transfer, Digital content publishing
and selling, Digital Medical Record Management.
Text Books:
Blockchain enabled applications by Dhillon, V., Metcalf, D., and Hooper, M, 2017
Ethereum: Blockchains, digital assets, smart contracts, decentralized autonomous
organizations by Diedrich, H., Wildfire publishing, Sydney
Bitcoin and Cryptocurrency Technologies by Goldfeder, S., Bonneau, J., Miller, A.,
Felten, E., Narayanan, A. Princeton University Press, New Jersey.
Reference Books:
Blockchain: Blueprint for a new economy by Swan Melanie, O'Reilly Media, United
States.
Beginning Blockchain, A Beginner’s Guide to Building Blockchain Solutions,
Bikramaditya Singhal, Gautam Dhameja, Priyansu Sekhar Panda, Apress, New York.
(B)Compiler Design
Course Objectives:
To learn the process of translating a modern high-level language to executable code.
To understand the fundamental principles in compiler design
To apply optimization techniques to have better code generation
Learning Outcomes:
Upon completion of this course, students will be able to:
Learn the process of compiling and lexical analysis
Understand syntax analysis and use of different parsers
Understand Syntax Directed Translation and code generation
Learn about the issues in the design of a code generator
Unit I:
Unit II:
Syntax Analysis: The role of the parser, Review of Context-Free Grammars – Derivation
trees and Parse Trees, Ambiguity, eliminating ambiguity, Left recursion, Left factoring. Top-
Down Parsing: Recursive Descent parsing, Predictive parsing, LL(1) Grammars. Bottom-Up
Parsing: Shift Reduce parsing, LR parsing – Constructing SLR parsing tables, Constructing,
Canonical LR parsing tables and Constructing LALR parsing tables.
Unit III:
Syntax Directed Translation: Syntax Directed Definitions, Evaluation orders for SDD‘s,
Application of SDT, SDT schemes, Implementing L-attribute SDD‘s.
Intermediated Code Generation: Need for intermediate code, Types of intermediate code,
Three address code, Quadruples, Triples, Assignment statements, Boolean expressions.
Unit IV:
Run-Time Environments: Source Language issues, Storage organization, Storage
allocation strategies, Access to nonlocal names, parameter passing, Symbol tables.
Code generation: Issues in the design of a code generator, Basic blocks and flow
graphs, A Simple code generator, Register allocation and assignment, The DAG
representation of basic blocks, Peephole optimization, Generating code from DAGs.
Text Book:
Compilers Principles, Techniques and Tools, Second Edition, Alfred V. Aho, Monica
S. Lam, Ravi Sethi, Jeffrey D. Ullman., Pearson.
Reference Books:
Engineering a Compiler, Second Edition, Keith D. Cooper & Linda Torczon., Morgan
Kaufmann, Elsevier.
Compiler Design, PHI, Santanu Chattopadhyay.
Compiler Design, G. Sudha Sadasivam, SCITECH Publication.
(C)Information Science
Course Outcomes:
To become familiar with the various information science concepts.
To understand the basics of Bio-informatics
To understand the fundamentals of agricultural science
To understand the fundamentals of weather science
Learning Outcomes:
Upon completion of this course, students will be able to:
Gain knowledge about health informatics
Learn the basics of bio-informatics
Have an exposure to agriculture science
Understand basics of weather science
Scope of agricultural science and its importance, crop production, principles of crop
growth and development.
Soil Science: soil composition and structure, soil fertility and nutrient management,
soil conservation practices
Pest Management: integrated pest management (IPM) strategies, pest control methods
Plant Breeding and Genetics: basics of plant genetics, Plant breeding methods, Role
of biotechnology in crop improvement
Agriculture Economics: basics, farm management and decision-making, Agricultural
policy and global trade, precision agriculture and technology, urban agriculture and
vertical farming, climate-smart agriculture.
Text Books:
Core XXIII
Project Work-II
( (For 4-Year Hons. without Research)
Student of four-year Bachelor’s Degree (Honours without Research) are required to take up a
software development project under the guidance of a faculty Member. The students are
expected to initiate the project work during seventh semester and complete the Project in the
Eighth Semester and submit a project report for evaluation by an external examiner. The
template for project report can be as BCA 6.3: Project Work-I.
The evaluation pattern of the project will be as follows:
Student of four-year Bachelor’s Degree (Honours with Research) are required to take up Re-
search Projects under the guidance of a faculty Member. The students are expected to initiate
the project work during seventh semester and complete the Research Project in the Eighth Se-
mester. The Research outcome of their project work may be published in peer-reviewed jour-
nals or may be presented in conferences/ seminars or may be patented. The evaluation of the
dissertation has to be made by an external examiner.
Research Methodology
Course Objectives:
• To understand some basic concepts of research and its methodologies
• To identify appropriate research topics
• To select and define appropriate research problem
• To prepare a project proposal
• To write a research report and thesis
Learning Outcomes:
Upon completion of this course, students will be able to:
Demonstrate the ability to choose methods appropriate to research aims and objec-
tives
Unit I:
Research Methodology: An Introduction: Meaning and objective of Research
Methodology, Motivation in research, types of research, Research Approaches, sig-
nificance of research, Research Methods versus Methodology, Research and Scien-
tific Method, Importance of Knowing How Research is Done, Research Process,
Criteria of Good Research, Problems Encountered by Researchers in India.
Defining the Research Problem: Research Problem, Selecting the Problem, Neces-
sity of Defining the Problem, Technique Involved in Defining a Problem, Illustration
and Conclusion
Unit II:
Research Design: Meaning of Research Design, Need for Research Design, Features
of a Good Design, Important Concepts Relating to Research Design, Different Re-
search Designs, Basic Principles of Experimental Designs and Conclusion.
Methods of Data Collection: Collection of Primary Data, Observation Method, Inter-
view Method, Collection of Data through Questionnaires, Collection of Data through
Schedules, Difference between Questionnaires and Schedules, Some Other Methods
of Data Collection, Collection of Secondary Data, Selection of Appropriate Method
for Data Collection.
Unit III:
Processing and Analysis of Data: Processing Operations, Some Problems in Process-
ing, Elements/Types of Analysis, Statistics in Research, Measures of Central Ten-
dency, Measures of Dispersion, Measures of Asymmetry, Measures of Relationship,
Simple Regression Analysis, Multiple Correlation and Regression, Curve Fitting.
Testing of Hypotheses: What is a Hypothesis, Basic Concepts Concerning Testing of
Hypotheses, Procedure for Hypothesis Testing, Important Parametric Tests, Hypoth-
esis Testing of Means, Hypothesis Testing for Comparing Two Related Samples,
Hypothesis Testing of Proportions, Hypothesis Testing for Difference between Pro-
portions.
Unit IV:
Chi-square Test: Chi-square as a Test for Comparing Variance, Chi-square as a Non-
parametric Test, Conditions for the Application of χ2 Test, Steps Involved in Apply-
ing Chi- square Test, Alternative Formula, Yates’ Correction, Conversion of χ2 into
Phi Coefficient, Conversion of χ2 into Coefficient by Contingency, Important Char-
acteristics of χ2 Test.
Analysis of Variance: Analysis of Variance (ANOVA), The Basic Principle of
ANOVA, ANOVA Technique
Text Books:
Research Methodology Methods and Techniques, Kothari, C. R., New Age.
Research Methodology: a step-by-step guide for beginners, Kumar, Pearson Educa-
tion.
Practical Research Methods, Dawson, C., UBSPD Pvt. Ltd. 5. Research Methodol-
ogy, Sharma, N. K., KSK Publishers, NewDelhi.