Bachelor of Computer Application
Bachelor of Computer Application
Practical Marks
any course
Pre-requisite
Total Marks
Semester
L T P Internal External
credits
Higher Secondary Computer Fundamentals CIT010104 4 3 0 1 No 30 45 25 100
in any stream or
three years Engi- Introduction to C- CIT010204 4 3 0 1 No 30 45 25 100
neering diploma 1 Programming
from govt. recog-
nized institute Mathematics I CIT010304 4 4 0 0 No 40 60 0 100
Data Structures & Algo- CIT020104 4 3 0 1 No 30 45 25 100
rithms Using C
2 Digital Logic Funda- CIT020204 4 4 0 0 No 40 60 0 100
Bachelor of Computer Application
mentals
Mathematics II CIT020304 4 4 0 0 No 40 60 0 100
Computer Organization CIT030104 4 4 0 0 No 40 60 0 100
and Architecture
3 System Software CIT030204 4 3 0 1 No 30 45 25 100
Object Oriented Pro- CIT030304 4 3 0 1 No 30 45 25 100
gramming through C++
Database Management CIT040104 4 3 0 1 No 30 45 25 100 Content same
System as COM040204
Operating system CIT040204 4 3 0 1 No 30 45 25 100 Content same
4 as COM040404
Automata Theory and CIT040304 4 4 0 0 No 40 60 0 100
Languages
Python Programming CIT040404 4 3 0 1 No 30 45 25 100
Software Engineering CIT050104 4 4 0 0 No 40 60 0 100 Content same
as COM050404
5 Web Technologies CIT050204 4 3 0 1 No 30 45 25 100 Content same
as COM050504
Java Programming CIT050304 4 3 0 1 No 30 45 25 100 Content same
as COM050204
Computer Networks CIT050404 4 3 0 1 No 30 45 25 100 Content same
as COM050104
i) Computer Graphics CIT060104 4 3 0 1 No 30 45 25 100 Elective 1, Con-
ii) Information Security CIT060204 4 4 0 0 No 40 60 0 100 tent of
and Cyber Laws CIT060104 is
iii) Computer Oriented CIT060304 4 4 0 0 No 40 60 0 100 same as
Numerical and Statisti- COM060504
cal Methods
i) Artificial Intelligence CIT060404 4 4 0 0 No 40 60 0 100 Elective-2, Con-
ii) Advanced Web Pro- CIT060504 4 3 0 1 No 30 45 25 100 tents of
gramming CIT060404 and
iii) Data Mining and CIT060604 4 4 0 0 No 40 60 0 100 CIT060604 are
6 Warehousing same as
COM060404
and
COM060604,
respectively
i) Optimization Tech- CIT060704 4 4 0 0 No 40 60 0 100 Elective-3, Con-
niques tent of
ii) Mobile Application CIT060804 4 3 0 1 No 30 45 25 100 CIT060904 is
Development same as
iii) Graph Theory CIT060904 4 4 0 0 No 40 60 0 100 COM060804
Project CIT061004 4 0 0 4 No 0 0 100 100
CIT010104 : Computer Fundamentals
1. Learning Outcomes: After completing this course, students will know about fundamentals of
Computer System and Software.
2. Prerequisites: NIL
3. Semester: 1
4. Course type: Compulsory
5. Course level: 100-199
6. Theory credit: 3
7. Practical credit: 1
8. Number of required hours:
a) Theory: 45 hrs (45 classes)
b) Practical: 30 hrs (15 classes)
c) Non Contact: NIL
9. Reference books:
(a) Fundamentals of Computers, E Balagurusamy, McGraw Hill Education
(b) Fundamentals of Computers, V. Rajaraman, Neeharika Adabala, PHI Learning
(c) Computer Fundamentals, Anita Goel, Pearson Education
10. Contents of Syllabus:
(a) Theory
Unit I: Introduction to Computers and number systems 7 hrs
Number system, decimal, binary, octal and hexadecimal number system, conversion among number
systems, definition of computer, basic components of computer, bus, evolution of computers,
Generations of computers, classification of computers, data representation in a computer, ASCII,
Unicode
Unit II: Memory and storage devices 8 hrs
Memory, memory hierarchy, registers, general purpose and special purpose registers, primary and
secondary memory, volatile and non volatile memory, semiconductor memory, SRAM and DRAM,
Read Only Memory, magnetic storage devices, optical storage devices, solid state devices, flash
memory, storage evaluation criteria
Unit III: Input devices 7 hrs
Input device, keyboard, keyboard layouts, pointing devices, mechanical and optical mouse,
scanner, hand-held and flat-bed scanners, OMR, OCR, MICR, digital camera, touchpad, trackball,
joystick, digitizer, digital microphone
Unit IV: Output devices 7 hrs
Monitor, LCD, LED, plasma monitor, printers, impact printers, non-impact printers, dot matrix
printers, inkjet printers, laser printers, thermal printers, plotters, voice output systems, projector,
Unit V: Programming languages and Software 11 hrs
CPU, control unit, computer instruction, instruction set, instruction execution life cycle, program,
programming languages, machine level language, assembly language, low level language, high
level language, language translators, assembler, compiler, interpreter, algorithm, definition of
pseudocode, flowchart, flowchart of algorithm to find maximum of n numbers, software, flowchart
of algorithm to find minimum of n numbers, flowchart of algorithm to find average of n numbers,
software, flowchart of algorithm to display first n terms of Fibonacci series, flowchart of algorithm
to check whether a given number is prime, software, software, application software, examples of
application software, system software, examples of system software, what is operating system,
what is device driver, open source software, proprietory vs open source software, examples of
proprietory and open source software
Unit VI: Computer Network and Internet 5 hrs
Computer network, network topologies, LAN and WAN, internet, ISP, services over internet, www,
web server, web browser, HTML, HTML tags: <html>, <head>, <title>, <body>, <h1>, <h2>,
<h3>, <h4>, <h5>, <h6>, <br>, <p>, <a>, <ul>, <ol>, <li>, <center>, <table>, <th>, <tr>, <td>,
introduction to CSS, domain name, URL, DNS, E-mail, telnet, FTP
(b) Practical
(i) Using a word processing software such as Libreoffice Writer 2 classes
(ii) Using a spreadsheet software such as Libreoffice Calc 3 classes
(iii) Using a presentation software such as Loibreoffice Impress 2 classes
(iv) Using an image editing software such as GIMP 2 classes
(v) Using an audio editing software such as Audacity 2 classes
(vi) Using a video editing software such as Openshot 2 classes
(vii) Designing HTML webpages 2 classes
CIT010204 : Introduction to C-Programming
1. Learning Outcomes: At the end of the course, students will be able to:
(a) Understand the basics of C programming like data types and operators
(b) Understand and write program in C to implement conditions, loops, functions
(c) Work on arrays, strings and basic file operations
2. Prerequisites: NIL
3. Semester: 1
4. Course type: Compulsory
5. Course level: 100-199
6. Theory credit: 3
7. Practical credit: 1
8. Number of required hours:
a) Theory: 45 hrs (45 classes)
b) Practical: 30 hrs (15 classes)
c) Non Contact: NIL
9. Reference books:
(a) B.S. Gottfried, “Schaum's Outline of Theory and Problems of Programming with C”,
Mcgraw-Hill, 2007.
(b) B. Kernighan, D. Ritchie, “The C Programming Language”, Second Edition, Prentice
Hall, 1988
(c) E. Balaguruswami, “Programming in ANSI C”, 2nd Ed., Tata McGraw Hill, 2004.
(d) P. Greg, D. Miller. “C Programming: Absolute Beginner's Guide”, 3rd ed. Que, 2016.
B. List of Practical
(This is a suggestive list only. Questions need not be restricted to this list. The practical are
advised to be performed in Linux environment)
2. Prerequisites: NIL
3. Semester: 1
4. Course type: Compulsory
5. Course level: 100-199
6. Theory credit: 4
7. Practical credit: 0
8. Number of required hours:
a) Theory: 60 hrs (60 classes)
b) Practical: NIL
c) Non Contact: NIL
9. Reference books:
(a) Discrete Mathematics Structures with Applications to Computer Science, J. P. Tremblay
and R. Manohar, Mc-Graw Hill.
(b) Discrete Mathematics, N. Ch.SN Iyengar, K.A. Venkatesh, V. M. Chandrasekaran, P. S.
Arunachalam, Vikash Publishing House Pvt Ltd.
(c) Elements of Discrete Mathematics, C. L. Liu, Mc-Graw Hill International Ed.
2. Prerequisites: NIL
3. Semester: 2
4. Course type: Compulsory
5. Course level: 100-199
6. Theory credit: 3
7. Practical credit: 1
8. Number of required hours:
a) Theory: 45 hrs (45 classes)
b) Practical: 30 hrs (15 classes)
c) Non Contact: NIL
9. Reference books:
(a) Weiss, Mark Allen. “Data Structures and Algorithm Analysis in C”. 3rd ed., Pearson,
2012
(b) Sedgewick, Robert. “Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data
Structures, Sorting, Searching, and Graph Algorithms”. 3rd ed., Addison-Wesley
Professional, 2002.
(c) Goodrich, Michael T., and Roberto Tamassia. “Data Structures and Algorithms in C”.
2nd ed., Wiley, 2011.
(d) Gilberg, Richard F., and Behrouz A. Forouzan. “Data Structures: A Pseudocode
Approach with C”. Narosa Publishing House, 2009.
B. List of Practicals
(This is a suggestive list only. Questions need not be restricted to this list. The practical are
advised to be performed in Linux environment using C programming language.)
(a) Write a program to declare an array and initialize the values according to the user. Now ask
the user for a number n and return the nth element from the array.
(b) Write a program to implement array initialized with the numbers divisible by three up to 30.
Write a function which accepts the array and return the positions of the even numbers in the
array.
(c) Implement linked list in a program by writing functions for the following:
a. Create a singly linked list of n nodes
b. Count the number of nodes in the list
c. Print the values of all the nodes
d. Add a node at first, last and kth position in the linked list
e. Delete a node from first, last and kth position
f. Search for an element in the list. If found, return the position of the node. If not
found, return a negative value.
(d) Write a program to implement doubly linked list.
(e) Write a function to concatenate two linked lists.
(f) Write a program to take a number k and split the linked list after kth position.
(g) Write a program to merge two sorted linked lists.
(h) Write a program to implement list of lists.
(i) Write a program to implement stack using array. Use push and pop operations on the array
representation of the stack. Check whether the stack is full or empty.
(j) Write a program to implement stack using linked list. Use push and pop operations on the
stack by inserting nodes and deleting nodes from the linked list. Also check if the stack is
full or empty.
(k) Write a program to evaluate a simple postfix expression using stack.
(l) Write a program to convert a decimal number into binary number using stack.
(m) Write a program to implement queue using array. Add new elements to the queue and
remove elements from the queue represented by array. Check whether the queue is full or
empty.
(n) Write a program to implement queue using linked list. Add new elements to the queue and
remove elements from the queue represented by linked list. Also check whether the queue is
full or empty.
(o) Implement binary search and linear search algorithms on arrays.
(p) Implement binary search tree using array by writing a program to:
a. Create a binary search tree using array
b. Print the prefix notation of the BST
c. Print the infix notation of the BST
d. Print the postfix notation of the BST
e. Search for an element in the BST
(q) Implement binary search tree using linked list by writing a program to:
a. Create a binary search tree using linked list
b. Print the prefix notation of the BST
c. Print the infix notation of the BST
d. Print the postfix notation of the BST
e. Search for an element in the BST
(r) Implement following sorting algorithms:
a. Bubble sort
b. Insertion sort
c. Selection sort
d. Counting sort
CIT020204 : Digital Logic Fundamentals
1. Learning Outcomes: After completing this course, students will have grasp of fundamental
concepts of digital logic that will make their base to understand the concepts of computer
architecture and organization.
2. Prerequisites: NIL
3. Semester: 2
4. Course type: Compulsory
5. Course level: 100-199
6. Theory credit: 4
7. Practical credit: 0
8. Number of required hours:
a) Theory: 60 hrs (60 classes)
b) Practical: NIL
c) Non Contact: NIL
9. Reference books:
(a) Digital Logic and Computer Design, M. Morris Mano, Pearson India
(b) Digital Logic and Computer Organization, V. Rajaraman, T. Radhakrishnan, PHI
Learning
10. Contents of Syllabus:
Unit I: Introduction to Binary Number System 10 hrs
Binary numbers, number base conversions, octal and hexa decimal numbers, 1’s complement and
2’s complement, representation of signed binary number: 1’s complement, 2’s complement and
signed magnitude, subtraction with complements, arithmetic addition and subtraction of signed
binary numbers, binary codes: BCD, Excess-3, error detection code: parity bit, error correction
code: Hamming code, gray code, ASCII, EBCDIC, binary logic, logic gates: AND, OR, inverter,
buffer, NAND, NOR, XOR and equivalence
Unit II: Boolean Algebra, Logic Gates and Integrated Circuits 15 hrs
Definition of boolean algebra, two valued boolean algebra, duality principle, theorems and
postulates of boolean algebra, precedence of boolean operators, boolean expression and Venn
diagram, boolean functions and truth tables, complement of a boolean function, minterms and
maxterms, canonical forms of a boolean function, sum of minterms and its short notation, product
of maxterms and its short notation, conversion between canonical forms, standard form of a
boolean function, digital logic gates, integrated circuits and levels of integration, digital logic
families
Unit III: Simplification of Boolean Functions 10 hrs
Map minimization method, two variable map, three variable maps, four variable map, five variable
map, NAND and NOR implementation of boolean functions, don’t-care conditions, tabulation
method
Unit IV: Combinational Circuits 12 hrs
Definition of combinational circuit, design procedure, half adder, full adder, half subtractor, full
subtractor, BCD-to-Excess-3 code converter, encoders and decoders, multiplexers, ROM
2. Prerequisites: NIL
3. Semester: 2
4. Course type: Compulsory
5. Course level: 100-199
6. Theory credit: 4
7. Practical credit: 0
8. Number of required hours:
a) Theory: 60 hrs (60 classes)
b) Practical: NIL
c) Non Contact: NIL
9. Reference books:
(a) Discrete Mathematics structures with applications to Computer Science, J. P. Tremblay
and R. Manohar, Mc-Graw Hill.
(b) Discrete Mathematics, N. Ch.SN Iyengar, K.A. Venkatesh, V. M. Chandrasekaran, P. S.
Arunachalam, Vikash Publishing House Pvt Ltd.
(c) Elements of Discrete Mathematics, C. L. Liu, Mc-Graw Hill International Ed.
3. Semester: 3
4. Course Type: Compulsory
5. Course Level: 200-299
6. Theory credit: 4
7. Practical credit: 0
8. Number of required hours:
(a) Theory: 60 hrs (60 classes)
(b) Practical: NIL
(c) Non Contact: NIL
9. List of reference books:
a) M.Morris Mano, Computer System Architecture, PHI publication.
b) Hamachar, Vranesic and Zaky, Computer Architecture.
c) William Stallings, Computer Organization and Architecture; Pearson.
d) Ramesh Gaonkar, Microprocessor Architecture, Programming, and Applications with the 8085, 5th
Edition.
2. Prerequisite: NIL
3. Semester: 3
4. Course Type: Compulsory
5. Course Level: 200-299
6. Theory credit: 3
7. Practical credit: 1
8. Number of required hours:
1. Theory: 45 hrs (45 classes)
2. Practical: 30 hrs (15 classes)
3. Non Contact: NIL
9. List of reference books:
a) M. T. Somashekara, D. S. Guru et-al; Object-Oriented Programming with C++, 2nd
Edition, PHI,2012.
b) Bjarne Stroustrup, The C++ Programming Language, Special Edition, Pearson Education,
2004.
c) Deitel&Deitel, C++ How to program, Pearson Education Asia, 6th Edition, 2008
d) Schildt Herbert, The Complete Reference C++, Tata McGraw Hill, 4th Edition, 2003.
A. Theory
UNIT-1:Introduction to Database Management Systems (5 Lectures)
Basic Definition and Concepts: Data, Information, Meta Data, Data Dictionary, Database,
Fields, Records and Files. Definition of Database Management System (DBMS), Primary
Functions of DBMS, Traditional File approach, Traditional file approach versus database
management system approach, Disadvantages of Traditional File System, Need of a DBMS,
Components of a DBMS, Advantages of DBMS, Disadvantages of Database Systems,
Various uses of database System Applications, Database Users: End users or naive users,
Onlineusers, ApplicationProgrammers, DatabaseAdministrator(DBA), Responsibilities of
DBA.
3. Semester: 4
4. Course Type: Compulsory
5. Course Level: 200-299
6. Theory credit: 3
7. Practical credit: 1
8. Number of required hours:
Theory: 45 hrs (45 classes)
Practical: 30 hrs (15 classes)
Non Contact: NIL
9. List of books:
a) Operating System Concepts, Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Wiley
b) Modern Operating Systems, Andrew S. Tanenbaum, Prentice-Hall Of India Pvt. Limited
• Basic linux commands: pwd, ls, cd, mkdir, rmdir, rm, touch, man, cp, mv, locate, head, tail
(2 Classes/4 hrs)
• Advanced commands: echo, cat, sudo, df, tar, apt-get, chmod, hostname, useradd, passwd,
groupadd, grep, sed, uniq, wc, od, gzip, gunzip, find, date, cal, clear, top, ps, kill (3
Classes/6 hrs)
• Shell scripting in linux: shell, types of shell, shell script, echo command, shell variables,
special variables ($$, $0, $n, $#, $?, $!), array, assignment operator (=), equality operator
(==), not equality operator (!=), arithmetic operators (+,-, *, /, %), comparison operators (-
eq, -neq, -gt, -lt, -ge, -le), logical operators (!,-o, -a), if...else statement, case...esac
statement, while loop, for loop, break statement, continue statement, shell functions (7
Classes/14 hrs)
• Using system calls in C program in linux: fork(), exec(), exit(), getpid(), mkdir(), rmdir()
etc. (3 Classes/6 hrs)
CIT040304 : Automata Theory and Languages
1. Learning Outcome: After completing this course, students will
• Understand the Mathematical model of a finite state machine. Know deterministic and non-
deterministic versions of Finite automata.
• Grasp the mathematical concepts of languages and grammar.
• Know Pushdown Automata and the associated grammar/language.
• Know the properties of Regular languages and Context free languages.
2. Prerequisites: NIL
3. Semester: 4
4. Course Type: Compulsory
5. Course Level: 200-299
6. Theory Credit: 4
7. Practical Credit: 0
8. No of Hours:
a) Theory: 60 hrs (60 classes)
b) Practical: NIL
c) Non Contact: NIL
9. List of Books:
a) An introduction to Formal Languages and Automata, Peter Linz,Narosa.
b) Introduction to Automata Theory, Languages and Computation, Hopcroft, Motwani and Ullman,
Pearson.
c) Theory of Computer Science (Automata, Languages and Computation), K. L. P. Mishra, N.
Chandrasekaran; P. H.I.
(b) Practical
• Introduction to Python console, operators, input and output statements.
• Python control statements and functions
• Data Structures in python
• Exception Handling
• File Handling
• Object Oriented Python programming
• Introduction to libraries (NumPy, Matplotlib, OpenCV)
• Python SQL Database Connection and database operations
CIT050104 : Software Engineering
1. Learning Outcome: On successful completion of this course, the student should be able to:
• Determine the primary problems that impact all software development processes.
• Choose relevant software development processes models, methodologies, and strategies for
managing a specific software development process, and justify the choices
• Implement different software estimation metrics such as cost, effort size, staffing etc.
• Describe various software design approaches and various coding and testing strategies used
in software engineering principles
• Know about software reliability and how to calculate software maintenance cost.
2. Prerequisites: NIL
3. Semester: 5
4. Course Type: Compulsory
5. Course Level: 300-399
6. Theory Credit: 4
7. Practical Credit: 0
8. No of Hours:
Theory: 60 hrs (60 classes)
Practical: 0 hrs
Non Contact: NIL
9. List of Books:
(a) Rajib Mall: Fundamentals of Software Engineering; PHI Learning Pvt. Ltd.
(b) Roger S. Pressman: Software Engineering: A practitioner’s Approach; McGraw Hill.
2. Prerequisites: NIL
3. Semester: 5
4. Course Type: Compulsory
5. Course Level: 300-399
6. Theory Credit: 3
7. Practical Credit: 1
8. No of Hours:
Theory: 45 hrs (45 classes)
Practical: 30 hrs (15 classes)
Non Contact: NIL
9. List of Reference Books:
a) Jackson J.C. (2007). Web Technologies: A Computer Science Perspective. Pearson.
b) Duckett, J. (2011). HTML and CSS: Design and Build Websites. John Wiley & Sons.
c) Robbins, J. N. (2018). A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics.
O'Reilly Media.
d) Robbins, J. N. (2018). Learning Web Design: A Beginner's Guide. O'Reilly Media.
e) Haverbeke, M. (2018). Eloquent JavaScript. No Starch Press.
f) Welling, L., & Thomson, L. (2016). PHP and MySQL Web Development (5th ed.). Addison-
Wesley Professional.
B. List of Practical
(This is a suggestive list only. Questions need not be restricted to this list.)
1. Create a basic HTML webpage structure with a heading, paragraph, and an image.
2. Build a navigation menu using an unordered list (<ul>) with clickable links.
3. Implement a form with input fields for name, email, and a submit button.
4. Create a table with multiple rows and columns to display tabular data.
5. Design an image gallery using HTML and CSS with proper padding and border.
6. Embed a YouTube video on a webpage using the <iframe> tag.
7. Implement an ordered list (<ol>) to display a step-by-step tutorial or instructions.
8. Create a dropdown select menu (<select>) with multiple options.
9. Use HTML5 semantic tags (such as <header>, <nav>, <section>, <article>, <footer>) to
structure and organize content on a webpage.
10. Build a registration form with fields for name, email, password, date of birth, address and
other such fields with a submit button. Include appropriate input types, labels and
placeholders.
11. Style a heading element with a custom font, colour and background.
12. Apply different background colors to alternate rows in a table.
13. Implement a hover effect on a button that changes its background colour or adds a solid
border.
14. Style a form input field with custom border, padding, and background color.
15. Implement a CSS tooltip that displays additional information when hovering over an
element.
16. Build a simple JavaScript calculator that can perform basic arithmetic operations.
17. Create a button that, when clicked, appends a new paragraph element with a specific text
content to an existing div element.
18. Implement a function that changes the innerText of a paragraph element to display a random
number between 1 and 10 every time a button is clicked.
19. Build a form with input fields for name and email. When the form is submitted, use
innerHTML to display a confirmation message with the entered name and email on the
webpage.
20. Build a form with input fields for email, password and confirm password. When the form is
submitted, use an alert to display a success message if the password and confirm password
values matches, otherwise show an error alert. Use JavaScript for the validation.
21. Create a list of items. Add a click event listener to each item so that when clicked, the
background color of the clicked item changes.
22. Write a PHP script to display the current date and time on a webpage.
23. Write a PHP script to connect to a MySQL database and fetch data from a table.
24. Create a registration form with fields for username, email, and password. Implement server-
side validation to check for duplicate usernames or invalid email formats. Store the user
registration data in a MySQL database. Provide feedback to the user upon successful
registration or display appropriate error messages.
25. Design a webpage that displays a list of notices retrieved from a MySQL database.
Implement functionality to add new notices to the database using a form. Allow users to
view and delete individual notices. Apply appropriate styling to the notices and ensure
proper validation and sanitization of user input.
CIT050304 : Java Programming
1. Learning Outcome: After completing this course, students will be familiar with the core
concepts of java programming and classes of swing package.
2. Prerequisites: NIL
3. Semester: 5
4. Course Type: Compulsory
5. Course Level: 300-399
6. Theory Credit: 3
7. Practical Credit: 1
8. No of Hours:
a) Theory: 45 hrs (45 classes)
b) Practical: 30 hrs (15 classes)
c) Non Contact: NIL
9. List of Reference Books:
a) Java: The Complete Reference, Herbert Schildt, McGrawHill
b) Java How to Program, Paul Deitel, Harvey Deitel, Pearson
Unit II: Data types, operators and control statements (12 hrs)
Java as strongly typed language, primitive data types, integer data types: byte, short, int and long,
floating point data types: float and double, character data type, boolean data type, literals: integer
literals, floating-point literals, boolean literals, character literals and string literals, declaring a
variable, dynamic Initialization, the scope and lifetime of variables, type-casting in java, one
dimensional array, multi dimensional array, arithmetic operators: the basic arithmetic operators, the
modulus operator, arithmetic compound assignment operators, increment operator and decrement
operator, bitwise operators, relational operators, short circuit logical operator, the assignment
operator, branching statements: if-else and switch-case statements, looping statements: while, do-
while, for and for-each statements, jump statements: break and continue
B. Practical
• Java programs to demonstrate the use of data types and operators
• Java input through Scanner class and JOptionPane class
• Java programs to demonstrate the use of control statements.
• Java programs to demonstrate the use of classes, objects, visibility modes, constructors and
destructor.
• Java programs to demonstrate the use of inheritance and polymorphism.
• Java programs to demonstrate the use of polymorphism.
• Java programs to handle strings,Java programs implementing exception handling.
• Demonstrating the use and creation of packages in java.
• Java program with JFrame, JTextfield and JButton with event handling
• Using JLabel, JTextArea and JPasswordField in java with event handling
• Working with layout managers in JFrame
• Using JCheckBox, JRadioButton and JComboBox in a JFrame
• Connecting JFrame components to a DBMS
CIT050404 : Computer Networks
1. Learning Outcome: After completing this course, students
• Student will able to learn about the general principles of data communication.
• Student will able to learn about how computer networks are organized with the concept of
layered approach.
• Student will able to learn about how signals are used to transfer data between nodes.
• Student will able to learn about how packets in the Internet are delivered.
• Student will able to learn about how routing protocols work.
• Student will able to learn about functions of transport layer
• Student will able to learn about functions of application layer
2. Prerequisites: NIL
3. Semester: 5
4. Course Type: Compulsory
5. Course Level: 300-399
6. Theory Credit: 3
7. Practical Credit: 1
8. No of Hours:
a) Theory: 45 hrs (45 classes)
b) Practical: 30 hrs (15 classes)
c) Non Contact: NIL
9. List of Books:
a) B. A. Forouzan: Data Communications and Networking, Fourth edition, THM, 2007.
b) A. S. Tanenbaum: Computer Networks, Fourth edition, PHI , 2002.
B. Practical:
• Write a program to implement DDA algorithm for line drawing.
• Write a program to implement Bresenham’s line drawing algorithm.
• Write a program to implement mid-point circle drawing algorithm.
• Write a program to clip a line using Cohen-Sutherland line clipping algorithm.
• Write a program to clip a polygon using Sutherland Hodgeman algorithm.
• Write a program to apply 2D translation on a 2D object (use homogenous coordinates).
• Write a program to apply 2D rotation on a 2D object (use homogenous coordinates).
• Write a program to apply 2D scaling on a 2D object (use homogenous coordinates).
• Write a program to apply 2D reflection of a 2D object (use homogenous coordinates).
• Write a program to apply 2D shear operation on a 2D object (use homogenous coordinates).
• Write a program to apply 3D translation on a 3D object (use homogenous coordinates).
• Write a program to apply 3D rotation on a 3D object (use homogenous coordinates).
• Write a program to apply 3D scaling on a 3D object (use homogenous coordinates).
• Write a program to apply 3D reflection of a 3D object (use homogenous coordinates).
• Write a program to apply 3D shear operation on a 3D object (use homogenous coordinates).
• Write a program to draw Hermite/Bezier curve.
CIT060204 : Information Security and Cyber Laws
1. Learning Outcome:
After the completion of the course, the students will be able to develop basic understanding of
security, cryptography, system attack and defences against them.
2. Prerequisites: NIL
3. Semester: 6
4. Course Type: Elective
5. Course Level: 300-399
6. Theory Credit: 4
7. Practical Credit: 0
8. No of Hours:
a) Theory: 60 hrs (60 classes)
b) Practical: NIL
c) Non Contact: NIL
9. List of Books:
(a) Merkow, M., & Breithaupt, J.(2005) Information Security Principles and Practices. 5th
edition. Prentice Hall.
(b) Cryptography And Network Security Principles And Practice, Fourth or Fifth Edition,
William Stallings, Pearson Edition.
(c) Cyber Law & Cyber Crimes, Advocat Prashant Mali; Snow White publications, Mumbai
(d) The Information Technology Act, 2000; Bare Act – Professional Book Publishers, New
Delhi
10. Contents of Syllabus:
UNIT 1: Introduction (15 Lectures)
Basic components of security (Confidentiality, Integrity and Availability), Attacks, Computer
Crime, Security Services, Security Mechanism, Cyber Crimes, information Technology ACT,
Cryptography, Substitution Cipher, Transposition Cipher, Block Cipher, Stream Cipher, Confusion,
Diffusion, Symmetric Key, Asymmetric Key, Encryption, DES Algorithm, Hash Function, Digital
Signature, Digital Certificate.
UNIT 2: Program Security (10 Lectures)
Program Security, Program Errors, Buffer Oveflow, Incomplete mediation, Time-of-check to Time-
of- use Errors, Malicious codes, Virus, Threats, Control against Programs, Program Security Issues.
Protection in OS: Memory and Address protection, Access control, File protection, User
Authentication.
UNIT 3: Database Security (10 Lectures)
Reliability, Integrity, Sensitive Data, Inference, Multilevel Security,Issues regarding the right to access
information: Protecting Data, Multiple security level and categorization of data and users, Loss of
integrity, Loss of availability, Loss of confidentiality, Access control, Inference control, flow control, data
encryption
UNIT 4: Security in Networks (Cyber Attack) (15 Lectures)
Threats in Networks, Security Controls- Architecture, Encryption, Content Integrity, Strong
Authentication, Firewalls: Design and Types of Firewalls, Intrusion Detection System, Secure Email,
Denial-of-service attacks, Man in the middle Attack, Phishing, Spoofing and Spam Attacks, Drive-by
attack, SQL Injection, Birthday attack, Social Engineering attack, Password Attack. Cross site scripting
Attack, Malware Attack, Administering Security, Security Planning, Risk Analysis, Organisational
Security Policy, Web Servers and Browsers, HTTP, Cookies, Caching, Secure Socket Layer (SSL),
Secure Electronic Transaction (SET), E‐mail Risks, Spam, E‐mail Protocols, Simple Mail Transfer
Protocol (SMTP), Post office Protocol (POP), Internet Access Message protocol (ICMP), Secured Mail:
Pretty Good Privacy (PGP), S/MIME (Secure/Multipurpose Internet Mail Extensions)
UNIT 5: Cyber Laws (10 Lectures)
Cyber crime, Types of crimes, Information technology Act 2000: Salient Feature of IT Act 2000, various
authorities under IT Act and their powers, Penalties & Offences, amendments, Sections under the
Information Technology Act such as:
• [Section 43] Penalty and compensation for damage to computer etc.
• [Section 65] Penalty for temping with the computers source documents
• [Section 66] Punishment for hacking with computer system, data alteration etc
• [Section 66A] Punishment for sending offensive messages through any communication
services
• [Section 66B] Receiving stolen computer’s resources or communication devices dishonestly
• [Section 66C] Punishment for identity theft
• [Section 66D] Punishment for cheating by impersonation by using computer resource
• [Section 66E] Punishment for violation of privacy
• [Section 66F] Punishment for cyber terrorism
• [Section 67] Punishment for publishing or transmitting obscene material in electronic
form
• [Section 67A] Punishment for publishing or transmitting of material containing sexually
explicit act, etc. in electronic form
• [Section 67B] Punishment for publishing or transmitting of material depicting
children in sexually explicit act, etc. in electronic form
• [Section 72] Breach of confidentiality and privacy
CIT060304 : Computer Oriented Numerical and Statistical
Methods
1. Course Objective:
This objective of this course is to provide students the understanding of basic numerical and
statistical problems and to provide skills to solve these problems.
2. Prerequisites: NIL
3. Semester: 6
4. Course Type: Elective
5. Course Level: 300-399
6. Theory Credit: 3
7. Practical Credit: 1
8. No of Hours:
a) Theory: 45 hrs (45 classes)
b) Practical: 30 hrs (15 classes)
c) Non Contact: NIL
9. List of Reference Books:
(a) Rajaraman, V, “Computer Oriented Numerical Methods”, 3rd edition, Prentice Hall
(b) Balaguruswami, E., “Computer Oriented Statistical and Numerical Methods”, Macmillan Publishers
India Limited
10. Contents of Syllabus:
A. Theory
B. Lab Content:
Practical / Lab work to be performed using C/C++/Java programming Language:
Lab No Topics to be of the Laboratory work No of Classes
(1 Class=1 hour)
1 Apply the Bi-section method for approximation of root for a given polynomial 2
equation.
2 Apply the False Position method for approximation of root for a given 2
polynomial equation
3 Implement Newton Raphson method for approximation of root for a given 2
polynomial equation.
4 Implement Gauss elimination method to solve simultaneous linear equations 3
5 Develop programs to implement Newton’s Forward Difference Interpolation 3
6 Develop programs to implement Newton’s Backward Difference Interpolation 3
7 Develop programs to implement Newton’s Divided Difference Interpolation 3
8 Develop program to apply Taylor’s series for e raise to the power x 3
9 Implement Euler’s method for solving a differential equation 3
10 Implement Runge-Kutta method of 1st, 2nd & 4th order for solving a 3
differential equation
11 Write programs to find Mean, Median and Mode for a given set of data 3
Total Contact Classes: 30
CIT060404 : Artificial Intelligence
1. Learning Outcome:
After completing this course, students will know the fundamentals of artificial intelligence (AI),
identify problems where artificial intelligence techniques are applicable and able to apply basic
principles of AI in solutions that require problem solving, inference, perception, knowledge
representation, and learning.
2. Prerequisites: NIL
3. Semester: 6
4. Course Type: Elective
5. Course Level: 300-399
6. Theory Credit: 3
7. Practical Credit: 1
8. No of Hours:
a) Theory: 45 hrs (45 classes)
b) Practical: 30 hrs (15 classes)
c) Non Contact: NIL
9. List of Reference Books:
(a) Rich & Knight, Artificial Intelligence – Tata McGraw Hill, 2nd edition, 1991.
(b) Russell & Norvig, Artificial Intelligence-A Modern Approach, LPE, Pearson Prentice
Hall, 2nd edition, 2005.
(c) W.F. Clocksin and Mellish, Programming in PROLOG, Narosa Publishing House, 3rd
edition, 2001.
(d) DAN.W. Patterson, Introduction to A.I and Expert Systems – PHI, 2007.
(e) Ivan Bratko, Prolog Programming for Artificial Intelligence, Addison-Wesley, Pearson
Education, 3rd edition, 2000.
10. Contents of Syllabus:
A. Theory
UNIT 1: Introduction (4 Hours)
Introduction to Artificial Intelligence, Background and Applications, Turing Test and Rational
Agent approaches to AI, Introduction to Intelligent Agents, their structure, behavior and
environment.
B. Practical:
• Write a prolog program to calculate the sum of two numbers.
• Write a prolog program to find the maximum of two numbers.
• Write a prolog program to calculate the factorial of a given number.
• Write a prolog program to calculate the nth Fibonacci number.
• Write a prolog program, insert_nth(item, n, into_list, result) that asserts that result is the list
into_list with item inserted as the nth element into every list at all levels.
• Write a Prolog program to remove the nth item from a list.
• Write a Prolog program, remove nth (Before, After) that asserts the After list is the Before
list with the removal of every nth item from every list at all levels.
• Write a Prolog program to implement append for two lists.
• Write a Prolog program to implement palindrome (List).
• Write a Prolog program to implement max(X,Y,Max) so that Max is the greater of two
numbers X and Y.
• Write a Prolog program to implement maxlist(List,Max) so that Max is the greatest number
in the list of numbers List.
• Write a Prolog program to implement sumlist(List,Sum) so that Sum is the sum of a given
list of numbers List.
• Write a Prolog program to implement two predicates evenlength(List) and oddlength (List)
so that they are true if their argument is a list of even or odd length respectively.
• Write a Prolog program to implement reverse (List, Reversed List) that reverses lists.
• Write a Prolog program to implement maxlist (List, Max) so that Max is the greatest
number in the list of numbers List using cut predicate.
• Write a Prolog program to implement GCD of two numbers.
• Write a prolog program that implements Semantic Networks/Frame Structures.
CIT060504 : Advanced Web Programming
1. Learning Outcome: At the end of the course, students will be able to:
(a) Design basic well-structured web page using HTML and CSS
(b) Develop the ability to implement interactive elements and dynamic content using basic
JavaScript
(c) Develop a foundational understanding of server-side scripting using PHP
(d) Create a CRUD web application using HTML, CSS, JavaScript, PHP and MySQL.
2. Prerequisites: NIL
3. Semester: 6
4. Course Type: Elective
5. Course Level: 300-399
6. Theory Credit: 3
7. Practical Credit: 1
8. No of Hours:
a) Theory: 45 hrs (45 classes)
b) Practical: 30 hrs (15 classes)
c) Non Contact: NIL
9. List of Reference Books:
(a) Duckett, J. (2011). HTML and CSS: Design and Build Websites. John Wiley & Sons.
(b) Robbins, J. N. (2018). Learning Web Design: A Beginner's Guide. O'Reilly Media.
(c) Nixon, R. (2014). Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5
(4th ed.). O'Reilly Media.
(d) Duckett, J. (2014). JavaScript and JQuery: Interactive Front-End Web Development.
John Wiley & Sons.
(e) Haverbeke, M. (2018). Eloquent JavaScript. No Starch Press.
(f) Welling, L., & Thomson, L. (2016). PHP and MySQL Web Development (5th ed.).
Addison-Wesley Professional.
10. Contents of Syllabus:
A. Theory
Unit 1: Advanced HTML (6 Lectures)
Review of basic HTML tags and their usage. Working with forms – validation using HTML5
attributes. HTML5 Semantic Elements – header, nav, section, article, aside, footer. Applying proper
semantic markup for improved SEO. Multimedia integration. Embedding images with different
attributes. Adding video and audio. Meta information and Document Structure – metadata, viewport
settings.
B.List of Practical
(This is a suggestive list only. Questions need not be restricted to this list.)
1) Create a semantic HTML structure for a blog post, including headings, paragraphs, images,
and nested elements.
2) Develop an HTML5 video player with custom controls, including play, pause, volume
control, and full-screen functionality.
3) Create a responsive HTML layout using CSS Grid or Flexbox that adapts to different screen
sizes and orientations.
4) Develop a responsive navigation menu that collapses into a hamburger menu for mobile
devices, utilizing media queries and CSS transitions.
5) Implement a CSS animation or transition to create a smooth fade-in effect for an element on
page load.
6) Design a CSS grid layout that displays a multi-column card-based UI, where each card has a
consistent height but variable width. Each card should display an image, title, and
description.
7) Develop a CSS-only tooltip that appears when hovering over an element, with customizable
styles and positioning.
8) Design a CSS drop-down menu with multiple levels of nested submenus, allowing users to
navigate through the menu hierarchy.
9) Create a CSS layout that implements a sticky header, where the header remains fixed at the
top of the page while the content scrolls.
10) Build a responsive landing page using HTML5, including a hero section, feature sections,
and a contact form.
11) Implement a CSS grid-based layout for a product catalog, showcasing multiple products
with consistent spacing and alignment.
12) Implement a custom dropdown menu using HTML, CSS, and JavaScript, with options that
can be selected and displayed.
13) Build a form validation mechanism using HTML5 form validation attributes and JavaScript,
ensuring that required fields are filled out correctly. Use CSS to design the form and the
validation messages.
14) Develop a slideshow or carousel using JavaScript and the DOM API, with next/previous
controls and automatic playback.
15) Implement a dynamic table that allows users to add or remove rows, with the ability to edit
and delete individual cells.
16) Develop a live search functionality that filters and displays search results from the content of
the web page in real-time as the user types, using JavaScript and DOM manipulation.
17) Use a callback function to perform an asynchronous AJAX request and update the content of
a specific HTML element with the response.
18) Implement a callback-based timer that executes a specific function after a certain period of
time has elapsed.
19) Create a simple asynchronous form submission process using AJAX, displaying a loading
spinner while waiting for the response.
20) Develop a weather application that uses an asynchronous API call to fetch weather data
based on user input, displaying the results on the page.
21) Implement a user registration form in PHP, which securely stores user credentials in a
database and performs validation checks for email uniqueness and password strength.
22) Create a login page in PHP that verifies user credentials against the stored data in the
database and redirects authenticated users to a secure dashboard.
23) Develop a Password reset functionality in PHP, allowing users to request a password reset
link via email and securely update their password.
24) Implement a user profile page in PHP, which displays and allows users to edit their personal
information such as name, email, and profile picture.
25) Create a session-based shopping cart system in PHP, allowing users to add products, update
quantities, and remove items, while maintaining cart information across different pages.
26) Develop an access control system in PHP, where certain pages or features are restricted to
logged-in users only and unauthorized users are redirected to a login page.
27) Implement user roles and permissions in PHP, allowing administrators to assign different
levels of access to users based on their roles (e.g., admin, moderator, user).
28) Create a "Remember Me" functionality in PHP, using cookies to remember and
automatically log in returning users for a certain period of time.
29) Develop a logout mechanism in PHP that destroys the user session and redirects users to a
logout confirmation page or the login page.
30) Implement account activation via email in PHP, where new users receive an activation link
to verify their email address and activate their account.
CIT060604 : Data Mining and Warehousing
1. Learning Outcome:
a) Understanding the process of Knowledge Discovery in Databases.
b) Understand the functionality of the various data warehousing component.
c) Characterize the kinds of patterns that can be discovered by association rule mining.
d) Analysis of different types of data by clustering and classification.
2. Prerequisites: NIL
3. Semester: 6
4. Course Type: Elective
5. Course Level: 300-399
6. Theory Credit: 3
7. Practical Credit: 1
8. No of Hours:
a) Theory: 45 hrs (45 classes)
b) Practical: 30 hrs (15 classes)
c) Non Contact: NIL
9. List of Reference Books:
a) A.K. Puzari, Data Mining Techniques, University Press.
b) J. Han, J. Pie and M. Kamber, Data Mining: Concepts and Techniques, Morgan
Kaufmann.
c) P. Tan, M. Steinbach and V. Kumar, Introduction to Data Mining, Pearson Education
(LPE).
d) G. K. Gupta, Introduction to Data Mining with Case Studies, PHI.
10. Contents of Syllabus:
A. Theory
UNIT 1: Overview (4 Lectures)
What is Data Mining?, Knowledge Discovery in Databases (KDD) vs. Data Mining, Types of Data,
Basic Data Mining Tasks, Predictive and Descriptive data mining techniques, Supervised and
Unsupervised learning techniques, Basics of Pre-processing methods- Data Cleaning, Data
Integration and Transformation, Data Reduction, Data Visualization.
UNIT 2: Data Warehousing (6 Lectures)
What is Data Warehouse? Multidimensional Data Model, Data Cube, Basic Components of
Multidimensional Data Model, OLAP Operations- Slicing, Dicing, Drilling, Drill-Up, Drill-Down,
Drill-Within, Drill-Across, Pivot(Rotate), Schema of Warehouse, Data Warehouse Architecture,
Metadata.
UNIT 3: Association Rule Mining (12 Lectures)
What is Market Basket Data?, k-Itemset, Support of an Itemset, Frequent Itemsets, Infrequent
Itemsets, Maximal Frequent Itemsets, Closed Frequent Itemsets, Association Rules, Confidence of
a Rule, Problem of Mining Association Rules, Algorithm for Mining Frequent Itemsets- Apriori
Algorithm, Pincer-Search Algorithm, DIC (Dynamic Itemset Counting) Algorithm, Steps of Mining
Association Rules.
UNIT 4: Clustering (12 Lectures)
What is Clustering, Partitional vs Hierarchical Clustering, Types of Data in Clustering, Distance
Measures used in Clustering- Euclidean Distance, Manhattan Distance, Similarity Measures used in
Clustering- Cosine Similarity, Jacquard Coefficient, Partitional Clustering Methods- K-Means, K-
Mediods, PAM, CLARA, CLARANS, Density Based Clustering Methods- DBSCAN, Introduction
to Hierarchical Clustering.
UNIT 5: Classification (8 Lectures)
What is Classification? Issues Regarding Classification, K-Nearest Neighbor Classifiers, Bayesian
classification, Introduction to Decision Tree.
UNIT 6: Recent Trends and Techniques used in Data Mining (3 Lectures)
Basic Concepts of- Web Mining, Spatial Data Mining, Temporal Data Mining, Big Data Mining,
Concept of Neural Network, Genetic Algorithm.
Unit III: Getting Started with Native Android Application Development 10 hrs
Setting up Android Studio and getting familiarized with the IDE, Setting up JDK and Android
Emulator, Creating the First App – Hello World App, Understanding various essential folders and
files associated with an Android App stored insidemanifests, java and res directories. Basic
understanding about Gradle.Running the App for the first time. Getting started with USB
Debugging at a physical Android Device. Understanding debugging facilities available with
Android Studio. Getting Started with XML for Android UI Design, Learning Various UI
Components of Android. Working with various UI resources like Images, Colors, Fonts etc.
Creating a UI oriented App from Scratch. Working withlayout switching in Portrait and Landscape
mode. Providing functionality to an Android Application using Java, Understanding Android
Activity and its lifecycle, various events associated with Activity Lifecycle – onCreate(), onStart(),
onPause(), onResume(), onStop(), onRestart(), onDestroy() etc. Broadcast Receivers, Intent and
Filters. Advanced Layouts in Android including ListView, CardView, RecyclerView etc.,
Fragments, Material Design in Android – Principles and Implementation, Styles and Themes.
Unit VI: Cross Platform Mobile Application Development using Flutter 10 hrs
Getting Started with Flutter and Dart, Understanding Flutter Architecture, Considering other
alternatives, setting up the Development Environment, Material Design and System Services.
Working with CRUD and HTTP Requests, Publishing and Packaging Apps for both Android and
iOS and publishing at different platforms.
b) Practical Assignments
a) Build a Calculator App in Android.
b) Build a Tic-Tac-Toe Game. The game should keep records of Each Player and Game Time
of each match.
c) Build an Android News Reader app which fetches news from an online API like Google
News and shows the stories in a list. Whenever the user clicks on the heading of a particular
story, the full story appears with the featured image.
d) Build a Simple Chat App in Flutter using Firebase. Export the app to both Android and iOS.
CIT060904 : Graph Theory
1. Learning Outcome: After completing this course, students will have understanding of graph
theoretic concepts, problems and associated algorithmic solutions.
2. Prerequisites: NIL
3. Semester: 6
4. Course Type: Elective
5. Course Level: 300-399
6. Theory Credit: 4
7. Practical Credit: 0
8. No of Hours:
a) Theory: 60 hrs (60 classes)
b) Practical: NIL
c) Non Contact: NIL
9. List of Books:
(a) Introduction to Graph Theory, Douglas B. West, Pearson
(b) Introduction to Graph Theory, Robin J. Wilson, Pearson Education Limited
(c) Graph Theory with Applications to Engineering and Computer Science, Narasingh Deo,
PHI
1. Learning Outcome:
The project work is meant to imbibe real life problem solving skills in the students.
2. Prerequisites: NIL
3. Semester: 6
4. Course Type: Core
5. Course Level: 300-399
6. Theory Credit: 0
7. Practical Credit: 4
8. No of Hours:
a) Theory: 0 hrs
b) Practical: 90 hrs
c) Non Contact: 30 hrs
9. Description:
The students are required to take up a research based or an application software based prob-
lem. Throughout the period of the project, he or she will work out a solution to the selected problem
in a systematic and scientific approach. This solution has to be eventually implemented using state
of the art technologies in an effective and efficient manner. Finally, a report presenting the carried
out work has to be prepared in a template specified by the department.