Fyugp CS Ugccs 31
Fyugp CS Ugccs 31
Programme (FYUGP)
in
Computer Science
(Major-Minor)
Four Year Under Graduate Programme (FYUGP) comprises of
two types of degrees:
PSO-1: Illustrate the hardware and software technologies that provide computing solutions to
address the needs of an organization.
PSO-2: Develop socially acceptable technical solutions to computer science problems with
application of modern and appropriate techniques for sustainable development relevant
to professional engineering practices.
PSO-3: Apply the knowledge of ethical and management principles inherent in the discipline of
computing to work in a team as well as to lead a team.
PSO-4: Demonstrate advanced computational skills, utilizing cutting edge technology and
methodologies for research and data analysis.
Program Eligibility Course name Course code Credit Theory marks Remarks
name Criteria of the distribution
Semester
requisite
Practical
credits
programme, if of the course
Marks
Marks
Total
Pre-
any L T P Internal External
I Computer Fundamentals COM010104 4 3 0 1 No 30 45 25 100 Compulsory
and Programming
II Computer Organization COM020104 4 4 0 0 No 40 60 0 100 Compulsory
III Object Oriented COM030104 4 3 0 1 No 30 45 25 100 Compulsory
Programming using C++
Data Structure COM040104 4 3 0 1 No 30 45 25 100 Elective II
Database Management COM040204 4 3 0 1 No 30 45 25 100 Compulsory
System • Content
same as
CIT061104
H.S (Science) IV Mathematical COM040304 4 4 0 0 No 40 60 0 100 Elective III
FYUGP in with Foundation of
Computer Mathematics as Computer Science
Science a subject Operating System COM040404 4 3 0 1 No 30 45 25 100 Elective I
Major- securing the • Content
Minor minimum pass same as
mark CIT040404
Computer Networks COM050104 4 3 0 1 No 30 45 25 100 Elective III
• Content
same as
CIT050404
Elective III
Compiler Design COM060304 4 4 0 0 No 40 60 0 100
PSO-1: Illustrate the hardware and software technologies that provide computing solutions to
address the needs of an organization.
PSO-2: Develop socially acceptable technical solutions to computer science problems with
application of modern and appropriate techniques for sustainable development relevant
to professional engineering practices.
PSO-3: Apply the knowledge of ethical and management principles inherent in the discipline of
computing to work in a team as well as to lead a team.
PSO-4: Communicate research findings clearly and concisely through written, oral, and visual
means.
Program Eligibility Course name Course code Credit Theory marks Remarks
name Criteria of the distribution
Semester
requisite
Practical
credits
programme, if of the course
Marks
Marks
Total
Pre-
any L T P Internal External
I Computer Fundamentals COM010104 4 3 0 1 No 30 45 25 100 Compulsory
and Programming
II Computer Organization COM020104 4 4 0 0 No 40 60 0 100 Compulsory
III Object Oriented COM030104 4 3 0 1 No 30 45 25 100 Compulsory
Programming using C++
Data Structure COM040104 4 3 0 1 No 30 45 25 100 Elective II
Database Management COM040204 4 3 0 1 No 30 45 25 100 Compulsory
System • Content
same as
CIT061104
H.S (Science) IV Mathematical COM040304 4 4 0 0 No 40 60 0 100 Elective III
FYUGP in with Foundation of
Computer Mathematics as Computer Science
Science a subject Operating System COM040404 4 3 0 1 No 30 45 25 100 Elective I
Major- securing the • Content
Minor minimum pass same as
mark CIT040404
Computer Networks COM050104 4 3 0 1 No 30 45 25 100 Elective III
• Content
same as
CIT050404
Elective III
Compiler Design COM060304 4 4 0 0 No 40 60 0 100
1. Learning Outcome:
• At the end of the course, students will be able to:
• Understand the basics of Computer and programming
• Adopt algorithmic approach to solve problems using pseudocode and flowcharts
• Understand and write programs in C to implement conditions, loops, functions and other
• programming constructs
• Work on arrays, strings and basic file operations in C
2. COURSEOUTCOMES:
At the end of the course, students willbeableto:
CO1: Identify different I/O devices, memory, number systems and data representations.
CO2: Associate with data types, operators, inbuilt functions, principle of control structures, arrays
and string in C programming.
CO3: Explain functions, file processing techniques in C programming.
CO4: Distinguish user defined data structures from primitive data structures.
CO5: Solve programming problems that are related to functions, pointers and dynamic memory
allocation.
3. Prerequisite: NIL
4. Semester: 1
5. Course Type: Compulsory
6. Course Level: 100-199
7. Theory Credit: 3
8. Practical Credit: 1
9. Number of required hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
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. )
*
***
*****
*******
*********
6. Write a program to reverse a number.
7. Write a program to compute the sum of the first n terms of the following series
S = 1+1/2+1/3+1/4+……
8. Write a program to compute the sum of the first n terms of the following series
S =1-2+3-4+5……
9. 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.
10. Write a function to find whether a given no. is prime or not. Use the same to generate the prime
numbers less than 100.
11. Write a program to compute the factors of a given number.
12. Write a program to display Fibonacci series (i) using recursion, (ii) using iteration
13. Write a program to calculate Factorial of a number (i) using recursion, (ii) using iteration
14. Write a program in which a function is passed address of two variables and then alter its contents.
15. 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.
16. Write a program to create an array with inputs from the user and print the same.
17. 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.
18. Write a program to take a matrix from the user and print the transpose of the same.
19. Write a program to take two matrices from the user and find the sum and product of both.
20. Write a program to perform following operations on strings:
a) Convert all lowercase characters to uppercase
b) Convert all uppercase characters to lowercase
c) Calculate number of vowels in the string
d) Reverse the string
e) Concatenate two strings without using strcat() function.
f) Concatenate two strings using strcat() function.
g) Compare two strings using strcmp()
h) Copy one string to another using strcpy()
21. Write a program that swaps two numbers using pointers.
22. Write a program to find sum of n elements entered by the user. To write this program, allocate
memory dynamically using malloc() / calloc() functions or new operator.
23. Write a function to accept two arrays as argument and returns their sum as an array.
24. Write a program to use a macro to swap two numbers.
25. Write a program to implement struct in C. Create a structure of Student with RNo, Name and other
credentials with proper datatype and print the same.
26. Write a program to implement union in C. Create a structure of Person with Pid, Name and other
credentials with proper datatype and print the same.
27. Write a C program that opens a file for reading and displays the contents of the file in binary mode
and text mode.
28. Write a C program that opens a file for reading and displays the contents of the file character by
character and line by line on the screen.
29. Write a C program to open a file and count the number of characters and lines in the file.
30. Write a C program that opens a file in append mode and allows the user to add text to the end of
the file.
COM020104: COMPUTER ORGANIZATION
1. Learning Outcome:
• Student will able to learn about the structure, function and characteristics of computer systems.
• Student will understand the design of the various functional units and components of
computers.
• Student will identify the elements of modern instructions sets and their impact on processor
design.
• Student will able to learn about the function of each element of a memory hierarchy.
• Student will able to learn about identify and compare different methods for computer I/O.
• Student will able to understand the basic architecture of 8085 microprocessor.
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
CO1: Describe the basic functional block of a computer.
CO2: Discuss different ways to represent data in memory and arithmetic operations
performed on the data.
CO3: Explain the basic instruction set architectures of computer.
CO4: Analyze the hierarchy of memory organization and Input-Output systems used in
computer.
CO5: Understand the basic architecture of 8085 microprocessor.
3. Prerequisite: NIL
4. Semester: 2
5. Course Type: Compulsory
6. Course Level: 100-199
7. Theory Credit: 4
8. Practical Credit: 0
9. Number of required hours:
a) Theory: 60 hrs
b) Practical: 0 hrs
c) Non Contact: 5 hrs
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
CO1: Define OOP and describe basic data types, different operators, control structures,
Function prototyping and call by reference method used in C++.
CO2: Discuss about the concept of class, object, memory allocation for objects,
concepts of constructors and destructors used in C++.
CO3: Explain the concept of function overloading and operator overloading.
CO4: Illustrate the concept of inheritance, polymorphism and exception handling mechanism.
CO5: Design C++ program to illustrate different concepts like class, object, constructor,
inheritance, virtual functions used in OOP.
3. Prerequisites: NIL
4. Semester: 3
5. Course Type: Compulsory
6. Course Level: 200-299
7. Theory Credit: 3
8. Practical Credit: 1
9. No of required hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
10. 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, TheC++ 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.
B. Practical’s
Following Practical / Lab works to be performed preferably in Linux Environment
1. Define a class named “triangle” to represent a triangle using the lengths of the three sides. Write
a constructor to initialize objects of this class, given the lengths of the sides. Also write member
functions to check
(a) if a triangle is isosceles
(b) if a triangle is equilateral
Write a main function to test your functions.
2. Define a structure “employee” with the following specifications.
empno : integer
ename : 20 characters
basic, hra, da : float
calculate() : a function to compute net pay as basic+hra+da with float return type.
getdata() : a function to read values for empno, ename, basic, hra, da.
dispdata() : a function to display all the data on the screen
Write a main program to test the program.
3. Define a class “circle” to represent circles. Add a data member radius to store the radius of a
circle. Write member functions area() and perimeter() to compute the area and perimeter of a
circle.
4. Define a class “complex” with two data members “real” and “imag” to represent real and
imaginary parts of a complex number. Write member functions
rpart() : to return the real part of a complex number
ipart() : to return the imaginary part of a complex number
add() : to add two complex numbers.
mul() : to multiply two complex numbers.
Write constructors with zero, one and two arguments to initialize objects.
5. Define a class “point” with two data members “xordinate” and “yordinate” to represent all points
in the two-dimensional plane by storing their x co-ordinate and y co-ordinate values. Write
member functions
dist() : to return the distance of the point from the origin.
slope(): to return the slope of the line obtained by joining this point with the origin.
Write constructors with zero, one and two arguments to initialize objects. Also write a
friend function to compute the distance between two points.
6. Define a class “string” with the following data members char *p; int size; and write member
functions to do the following (without using library function) and using dynamic memory
allocation.
• Length of the string
• Compare two strings
• Copy one string to another
• Reverse the string
Write suitable constructors and destructors. Also write a copy constructor for the class.
7. For the class “complex” defined in 4 above, overload the <<, >>, + and * operators in the usual
sense. Also overload the unary – operator.
8. Define a class “time” to store time as hour, minute and second, all being integer values. Write
member functions to display time in standard formats. Also overload the ++ and – operators to
increase and decrease a given time by one second where the minute and hour values will have to
be updated whenever necessary.
9. Define a class to store matrices. Write suitable friend functions to add and multiply two matrices.
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
CO1: Distinguish between linear and non linear data structures.
CO2: Explain different operations performed on array, link list, stack, queue and binary
tree.
CO2: Discuss different operations performed on binary tree, representation of binary tree
using array and link list...
CO3: Explain about different sorting and searching algorithms applied on data.
CO4: Analyze the time complexity and space complexity of algorithm.
CO5: Design C++ program to show the operations performed on different data structure.
3. Prerequisites: NIL
4. Semester: 4
5. Course Type: Elective
6. Course Level: 200-299
7. Theory Credit: 3
8. Practical Credit: 1
9. No of required hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
10. List of Reference Books:
e) Weiss, Mark Allen. “Data Structures and Algorithm Analysis in C”. 3rd ed., Pearson, 2012
f) Sedgewick, Robert. “Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting,
Searching, and Graph Algorithms”. 3rd ed., Addison-Wesley Professional, 2002.
g) Goodrich, Michael T., and Roberto Tamassia. “Data Structures and Algorithms in C”. 2nd ed.,
Wiley, 2011.
h) Gilberg, Richard F., and Behrouz A. Forouzan. “Data Structures: A Pseudocode Approach with
C”. Narosa Publishing House, 2009.
Time and Space complexity of algorithms, average case and worst case analysis, asymptotic
notation as a measure of algorithm complexity, Ө and O notation. Analysis of sorting algorithms-
Selection sort, Bubble sort, Insertion sort, Heap sort, Quick sort and analysis of searching
algorithms – linear search and binary search.
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 using C programming language.)
31. 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.
32. 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.
33. 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.
34. Write a program to implement doubly linked list.
35. Write a function to concatenate two linked lists.
36. Write a program to take a number k and split the linked list after kth position.
37. Write a program to merge two sorted linked lists.
38. Write a program to implement list of lists.
39. 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.
40. 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.
41. Write a program to evaluate a simple postfix expression using stack.
42. Write a program to convert a decimal number into binary number using stack.
43. 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.
44. 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.
45. Implement binary search and linear search algorithms on arrays.
46. 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
47. 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
48. Implement following sorting algorithms:
Bubble sort, Insertion sort ,Selection sort, Counting sort
1. Learning Outcome: On successful completion of this course, the student should be able to:
• Learn database concepts and its architectural components.
• Describe different data models used for designing a database.
• To create a database using relational models and entity relationships concepts
• Normalize a database into various normal forms
• Design SQL queries to handle a relational database.
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
3. Prerequisite: NIL
4. Semester: 4
5. Course Type: Compulsory
6. Course Level: 200-299
7. Theory Credit: 3
8. Practical Credit: 1
9. Number of required hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
Lab Contents:
1. Learning Outcome: After successful completion of this course, students will be able to:
• Learn the concepts of set, relation, and function from Computer Science point of view.
• Understand the basic idea of counting and use it in counting under various constraints.
• Understand graphs and its different representations in Computers. How to model real life
problems using graphs. Learn a few basic graph traversal algorithms.
• Understand Mathematical Logic from algorithmic point of view.
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
CO 1: Define and describe sets, relations, functions, its properties and operations.
CO 2: Associate with the principles of counting, inclusion, induction and its applications.
CO 3: Analyze the growth of functions and discuss asymptotic notations.
CO 4: Distinguish and create different graphs, discuss its properties and applications.
CO 5: Solve problems that are revolving around mathematical logic e.g. connectives, truth,
tables, tautologies and contradictions.
3. Prerequisites: Nil
4. Semester: 4
5. Course Type: Elective
6. Course Level: 200-299
7. Theory Credit: 4
8. Practical Credit: 0
9. No of Hours:
a) Theory: 60 hrs
b) Practical: 0 hrs
c) Non Contact: 5 hrs
10. List of Books:
a) Elements of Discrete mathematics, C.L. Liu , D.P. Mahopatra; 2nd Edition , Tata
McGraw Hill, 1985,
b) Discrete Mathematics and Its Applications, Kenneth Rosen, Sixth Edition, McGraw
Hill 2006.
c) Introduction to Algorithms, T.H. Coremen, C.E. Leiserson, R. L. Rivest; 3rd edition
Prentice Hall of India, 2009.
d) Discrete Mathematics and Graph Theory; Grimaldi, 5th Edition; 2019, Pearson.
11. Contents of Syllabus:
A. Theory
UNIT 1: (16 Lectures)
Sets, Relations and Functions
Sets: definition of set, cardinality of sets, finite, countable and infinite sets. Operations on sets,
Venn diagram. Principle of inclusion and exclusion and their applications on simple problems.
Multisets.
Relations: Definition and properties of binary relations, closures of relations, equivalence
relations, equivalence classes and partitions, n-ary relations and representation of n-ary
relations as tables. Partial ordering relations and lattices,
Functions: Definition of function, one-to-one and onto, principles of mathematical induction.
Concave and convex functions.
1. Learning Outcomes: After successful completion of this course, students will be able to:
• Learning Outcomes: After completing this course, students will have understanding of the
internal structure and usage of various components related to an operating system.
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
CO1: Identify different operating systems and its types, functions, applications.
CO2: Explain process, threads and solve process scheduling problems.
CO3: Compare solutions of process synchronizations methods.
CO4: Discuss process deadlock handling techniques.
CO5: Solve memory management issues and discuss memory management solutions.
3. Prerequisites: NIL
4. Semester: 4
5. Course Type: Elective
6. Course Level: 200-299
7. Theory Credit: 3
9. Practical Credit: 1
10. No of required hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
11. List of Reference Books:
i) Operating System Concepts, Abraham Silberschatz, Peter B. Galvin, Greg Gagne,Wiley
j) Modern Operating Systems, Andrew S. Tanenbaum, Prentice-Hall Of India Pvt. Limited
Practicals:
3. Basic linux commands: pwd, ls, cd, mkdir, rmdir, rm, touch, man, cp, mv, locate, head, tail
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
4. Shell scripting in linux: shell, types of shell, shell script, echo command, shell variables,
5. 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
6. Using system calls in C program in linux: fork(), exec(), exit(), getpid(), mkdir(), rmdir()
etc.
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
CO1: Define internet and describe different network topologies and types of networks.
CO2: Discuss about different transmission mediums, encoding methods,
transmissions modes and switching techniques.
CO3: Explain the concept of framing, error control, stop and wait protocols sliding
window protocols, protocols of MAC sub layer.
CO4: Illustrate the concept of IP address, three way handshaking and DNS.
CO5: Compare different routing algorithms used by network layer.
3. Prerequisites: NIL
4. Semester: 5
5. Course Type: Elective
6. Course Level: 300-399
7. Theory Credit: 3
8. Practical Credit: 1
9. No of Hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
10. 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.
Basics of ALOHA protocols, Basics of CSMA/CD protocols, Ethernet LANS, Connecting LAN
and back-bone networks- Repeaters, Hubs, Switches, Bridges, Router and Gateways
2. COURSEOUTCOMES:
3. Prerequisites: NIL
4. Semester: 5
5. Course Type: Elective
6. Course Level: 300-399
7. Theory Credit: 3
8. Practical Credit: 1
9. No of Hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
10. List of 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
COM050304: Python Programming
1. Learning Outcome:
After completing this course, students
• Know about fundamentals of Python Programming and Problem Solving.
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
3. Prerequisites: NIL
4. Semester: 5
5. Course Type: Elective
6. Course Level: 300-399
7. Theory Credit: 3
8. Practical Credit: 1
9. No of Hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
10. List of Books:
c) Core Python Programming, R. Nageswara Rao, Dreamtech Press.
d) Python: The Complete Reference, Martin C. Brown, McGraw Hill Education.
e) http://docs.python.org/3/tutorial/index.html
(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
COM050404: 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. COURSEOUTCOMES:
At the end of the course, students will be able to:
3. Prerequisites: NIL
4. Semester: 5
5. Course Type: Elective
6. Course Level: 300-399
7. Theory Credit: 4
8. Practical Credit: 0
9. No of Hours:
a) Theory: 60 hrs
b) Practical: 0 hrs
c) Non Contact: 5 hrs
10. List of Books:
c) Rajib Mall: Fundamentals of Software Engineering; PHI Learning Pvt. Ltd.
d) Roger S. Pressman: Software Engineering: A practitioner’s Approach; McGraw Hill.
11. Contents of Syllabus:
A. Theory
Detailed Syllabus:
Unit 1: Introduction (4 Lectures)
Definition of Software Engineering, differentiation between Computer Science, Software
Engineering and System Engineering, Program V/s software product, Exploratory style and
modern style of software development, need of software engineering, characteristics of good
software product
1. Learning Outcome: At the end of the course, students will be able to:
• Understand the basic concept of web applications and web services.
• Design basic well-structured web page using HTML and CSS
• Develop the ability to implement interactive elements and dynamic content using basic
JavaScript
• Develop a foundational understanding of server-side scripting using PHP
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
CO1: Define and describe the working principle of the internet and World Wide Web.
CO2: Analyze a web page and identify its elements and attributes.
CO3: Apply HTML and CSS in designing a website and web application.
CO4: Implement server-side functionality using PHP and JavaScript to create interactive web
applications.
CO5: Develop a web project and identify its elements and attributes and build customized
web sites and web applications.
3. Prerequisites: NIL
4. Semester: 5
5. Course Type: Compulsory
6. Course Level: 300-399
7. Theory Credit: 3
8. Practical Credit: 1
9. No of Hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
10. List of 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.
11. Contents of Syllabus:
A. Theory
Detailed Syllabus:
Unit 1: Introduction to Web Technologies (8 Lectures)
Concepts of the Internet and the World Wide Web (WWW), Overview of web browsers and their
functionalities. Client-Server Architecture in Web Applications. Communication Protocols –
HTTP, HTTPS, FTP. Working of DNS. Brief concepts of port, URL, cache and cookies. Web
Content Accessibility Guidelines. Privacy concerns and data protection regulations, GDPR.
Introduction to Web Hosting and control panels.
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.
CO1: Define the concept of finite automata and language accepted by it.
CO2: Discuss regular grammar and the properties of regular languages.
CO3: Explain the concept of PDA and language accepted by it.
CO4: Analyze the simplification of context free language and Normal forms of context free
language.
CO5: Formulate the concept of pumping lemma for regular language and context free language
3. Prerequisites: NIL
4. Semester: 6
5. Course Type: Compulsory
6. Course Level: 300-399
7. Theory Credit: 4
8. Practical Credit: 0
9. No of Hours:
a) Theory: 60 hrs
b) Practical: 0 hrs
c) Non Contact: 5 hrs
10. 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.
1. Learning Outcome:
After completing this course, students will know about cloud computing environment, it need and
applications.
2. COURSEOUTCOMES:
3. Prerequisites: NIL
4. Semester: 6
5. Course Type: Elective
6. Course Level: 300-399
7. Theory Credit: 4
8. Practical Credit: 0
9. No of Hours:
a) Theory: 60 hrs
b) Practical: 0 hrs
c) Non Contact: 5 hrs
10. List of Books:
a) Cloud Computing: Principles and Paradigms, Editors: Rajkumar Buyya, James Broberg,
Andrzej M. Goscinski, Wiley,2011
b) Enterprise Cloud Computing - Technology, Architecture, Applications, Gautam Shroff,
Cambridge University Press, 2010
c) Cloud Computing Bible, Barrie Sosinsky, Wiley-India, 2010
d) Cloud Security: A Comprehensive Guide to Secure Cloud Computing, Ronald L. Krutz,
Russell Dean Vines, Wiley- India,2010
e) Cloud computing, Ashish Bhatnagar, KATSON Books.
f) NPTEL :Cloud computing, By Prof. Soumya Kanti Ghosh, IIT Kharagpur
11. Contents of Syllabus:
A. Theory
Detailed Syllabus:
Unit 1: Introduction to Cloud Computing (10 Lectures)
Introduction, Definition, basic concepts and terminology, characteristics, goals and benefits, risks
and challenges, historical developments, clouds types, Role of networks in cloud computing,
Virtualization Technology, Enterprise knowledge clouds, Cloud Computing(NIST Model), Client
server Architecture, Client server model vs. Cloud model.
Unit 6: Case Study on Open Source and Commercial clouds (10 Lectures)
OpenStack, OpenStack Capability, OpenStack History, OpenStack Architecture, OpenStack
components, Meghamala(IITKGP), Google Cloud Platform, Microsoft Azure
COM060304: Complier Design
1. Learning Outcome:
a) Use compiler construction tools and describes the Functionality of each stage of
compilation process
b) Construct Grammars for Natural Languages and find the Syntactical Errors/Semantic
errors during the compilations using parsing techniques
c) Analyze different representations of intermediate code.
d) Construct new compiler for new languages.
e) Participate in GATE, PGECET and other competitive examinations
2. COURSEOUTCOMES:
Bottom Up Parsing- Reductions, Handle pruning, Shift-Reduce parsing, Conflicts during shift-
reduce parsing, LR Parser-Items, Kernel items, Non-kernel items, closure of Item Sets, The
function GOTO, LR (0) automaton, Construction of SLR parsing table, Basics of LALR parser,
Automatic parser generator-YACC.
1. Learning Outcome:
After completing this course, students will know-
• The fundamentals of artificial intelligence (AI),
• Identify problems where artificial intelligence techniques are applicable.
• Able to apply basic principles of AI in solutions that require problem solving, inference,
perception, knowledge representation, and learning.
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
CO1: Describe important historical and current trends addressing artificial intelligence.
CO2: Identify and distinguish heuristics searching techniques.
CO3: Apply logic programming concepts in AI.
CO4: Assess the performance and reliability associated with uncertainty and inconsistencies
within AI systems.
CO5: Analyze the structure and interpretation of natural languages.
3. Prerequisites: NIL
4. Semester: 6
5. Course Type: Elective
6. Course Level: 300-399
7. Theory Credit: 3
8. Practical Credit: 1
9. No of Hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
10. List of Books:
a) Rich & Knight, Artificial Intelligence – Tata McGraw Hill, 2nd edition, 1991.
b) Russell &Norvig, Artificial Intelligence-A Modern Approach, LPE, PearsonPrentice 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.
11. Contents of Syllabus:
A. Theory
Detailed Syllabus:
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, behaviour and
environment.
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 thegreater of two
numbers X and Y.
• Write a Prolog program to implement maxlist(List,Max) so that Max is thegreatest number
in the list of numbers List.
• Write a Prolog program to implement sumlist(List,Sum) so that Sum is thesum 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 oddlength respectively.
• Write a Prolog program to implement reverse (List, Reversed List) thatreverses 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.
COM060504: Computer Graphics
1. Learning Outcome:
After completing this course, students will know about-
• Basic elements of Computer Graphics
• Fundamental of Computer graphics algorithms along with basic mathematical foundations
of computer graphics.
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
CO1: Describe basic knowledge of core concepts of computer graphics input/output systems.
CO2: Explain different techniques for designing computer graphics software.
CO3: Design and construct complex geometric models using advanced modeling techniques.
CO4: Utilize visible surface detection algorithms to render realistic scenes.
CO5: Apply basic illumination models to simulate lighting effects and enhance the visual
realism of rendered scenes.
3. Prerequisites: NIL
4. Semester: 6
5. Course Type: Elective
6. Course Level: 300-399
7. Theory Credit: 3
8. Practical Credit: 1
9. No of Hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
10. List of Books:
a) D. Hearn, M. Baker: Computer Graphics, Prentice Hall of India 2008.
b) J.D.Foley, A.Van Dan, Feiner, Hughes Computer Graphics Principles & Practice2nd
edition Publication Addison Wesley 1990.
c) D.F.Rogers Procedural Elements for Computer Graphics, McGraw Hill 1997.
d) D.F.Rogers, Adams Mathematical Elements for Computer Graphics, McGraw Hill, 2nd
edition 1989.
11. Contents of Syllabus:
A. Theory
Detailed Syllabus:
UNIT 1: Introduction (2 Hours)
Basic elements of Computer Graphics, Applications of Computer Graphics
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.
COM060604: 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. COURSEOUTCOMES:
3. Prerequisites: NIL
4. Semester: 6
5. Course Type: Elective
6. Course Level: 300-399
7. Theory Credit: 3
8. Practical Credit: 1
9. No of Hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
9. List of 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.
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.
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.
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.
Basic Concepts of- Web Mining, Spatial Data Mining, Temporal Data Mining, Big Data Mining,
Concept of Neural Network, Genetic Algorithm.
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
1. Learning Outcome:
• After completing this course, students will have understanding of graph theoretic concepts,
problems and associated algorithmic solutions.
2. COURSEOUTCOMES:
At the end of the course, students will be able to:
3. Prerequisites: NIL
4. Semester: 6
5. Course Type: Elective
6. Course Level: 300-399
7. Theory Credit: 4
8. Practical Credit: 0
9. No of Hours:
a) Theory: 60 hrs
b) Practical: 0 hrs
c) Non Contact: 5 hrs
10. 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,
PH
1. Learning Outcome:
• To introduce the basic concepts in research methodology in Computer Science.
• To familiarize the issues inherent in selecting a research problem
• To discuss the techniques and tools to be employed in completing a research project.
• Enable the students to prepare report writing and framing Research proposals.
2. COURSEOUTCOMES:
After the end of the course students will be able to:
CO1: Explain the basics in scientific research methodology and its various types
CO2: Apply different data collection and sampling designs, and also to perform statistical
analysis of the collected data.
CO3: Develop skills in qualitative and quantitative data analysis and presentation.
CO4: Analyze different research articles/papers for writing critical reviews
CO5: Use ethical approaches in research to obtain maximum benefit and minimum risk to
human kind in the research process
3. Prerequisites: NIL
4. Semester:7
5. Course Type: Compulsory
6. Course Level: 400-499
7. Theory Credit: 3
8. Practical Credit: 1
9. No of Hours:
a) Theory: 60 hrs
b) Practical: 0 hrs
c) Non Contact: 5 hrs
10. List of Books
a) C. R. Kothari; (2004); Research Methodology-Methods and Techniques; New-
age International Publishers
b) K. Prathapan; (2019); Research Methodology for Scientific Research; Wiley
Publication
11. Contents of the Syllabus
What is Research? Types of Research, Why Research, Significance & Status of Research in
Computer Science.
Major Journals & Publications in Computer Science, Major Research Areas of Computer
Science, Identification, selection & formulation of research problems. Developing a research
proposal, planning your research. How engineering and technological research differs from
other scientific research.
Data Collection: Methods of Data Collection, Theory of Sampling, Sampling techniques. Size
of a sample.
Finding out about your research area, Literature search strategy. Writing critical reviews.
Identifying venues for publishing your research.
Concept and Importance of understanding what is plagiarism and what is not plagiarism.
Methods and ways to detect and avoid plagiarism. Available tools and software for plagiarism
check.
UNIT-8 Writing Papers and the Review Process (10 hours)
Preparing and presenting your paper. The conference review process. Making use of the
referees’ reports. The journal review process, Group exercise in reviewing research papers.
Tools for paper formatting and Reference Management. Use of LaTeX.
Ethics in general, Professional Ethics, Ethical Issues that Arise from Computer Technology,
General Moral Imperatives, More Specific Professional Responsibilities, Organizational
Leadership Imperatives.
Practical Sessions:
(iii) Use of LaTeX in writing documents with equations, figures etc. and report generation.
COM070204: FUNDAMENTALS OF MACHINE LEARNING
1. Learning Outcomes: At the end of the course, students will be able to:
(a) Understand what is machine learning and themajor machine learning approaches
(b) Differentiate between supervised and unsupervised learning
(c) Understand linear and non- linear classification.
(d) Understand the role and importance of feature extraction.
(e) Apply machine learning algorithms to real world problems.
2. Prerequisites: FundamentalsofPythonprogramming
3. Semester: 7
4. Course type: Compulsory
5. Course level: 400-499
6. Theory credit: 3
7. Practical credit: 1
CO-03 Understand the role of features in classification and the term dimension reduction
2. COURSE OUTCOMES:
At the end of the course, students will be able to:
CO1: Identify different operating advanced systems and its types, functions,
applications.
CO2: Explain process, threads and solve process scheduling problems of various
advanced operating systems.
CO3: Describe hardware requirements, load balancing of advanced operating systems.
CO4: Compile case study reports of various real world advanced operating systems.
CO5: Compare advanced operating systems and utilize them according to their use
cases.
3. Prerequisites: Operating Systems
4. Semester: 7
5. Course Type: Elective
6. Course Level: 400-499
7. Theory Credit: 4
8. Practical Credit: 0
9. No of required hours:
Theory: 60 hours
Practical: 0 hours
Non Contact: 5 hours
1. Learning Outcomes:
• Understand the importance of multiprocessor and multicomputer.
• Learn about advance architecture designs.
• Understand the concepts of interconnected structures.
• Learn about data flow computer architectures.
2. Course Outcomes:
Classification: SISD, SIMD, MISD, MIMD, Bus data path:one, two and three bus, Scalar,
vector, superscalar and pipelined processor,VLIW architecture, EPIC architecture, Pipelining:
Instruction pipeline, pipeline bubbles, Hazards: resource conflicts, data dependency, branch
difficulty, Vector computing: arithmetic pipeline, vector and scalar register, chaining, scatter
gather operations, vector-register processor, Memory vector processor, Array processor.
Pin Description, Operating Modes, Instruction Set of 8085: Instructionset, Data formats,
Addressing modes, Opcode & Operands, Data and Storage, Word size, 8085 Instructions:
Counter and Time delays, Stack, Subroutines, Call &Return statements, Interrupts in 8085:
generation of RST codes, interrupt priority, SIM & RIM instructions.
UNIT 5: Multiprocessor 8
Data flow architecture: static and dynamic, VLSI Computing Structures, Array Architectures,
Mapping algorithms, Reconfigurable processor array, VLSI matrix arithmetic models and
processors, Matrix Algorithms and Pipelines
COM070504: CRYPTOGRAPHY AND NETWORK SECURITY
1. Learning Outcome:
● Demonstrate a comprehensive understanding of fundamental concepts, principles,
and technologies related to network security, including encryption techniques,
authentication protocols, and security architectures.
● Apply their knowledge and skills to analyze, design, and implement effective
security measures to protect networked systems and data from unauthorized access,
malicious attacks, and other security threats.
2. Course Outcome:
Atthe end of this course, students will be able to:
3. Prerequisite: NIL
4. Semester: 9
5. Course Type: Elective
6. Course Level: 500-599
7. Theory Credit: 4
8. Practical Credit: 0
9. Number of required hours:
a) Theory: 60 hrs
b) Practical: 0 hrs
OSI Security Architecture -Security Attacks-Security Services-A Model for Network Security-
Classical Encryption techniques – Cipher Principles – Symmetric Cipher Model; Substitution
Techniques; Transposition Techniques; Steganography
Data Encryption Standard – Block Cipher Design Principles and Modes of Operation -
Evaluation criteria for AES – AES Cipher – Triple DES – Placement of Encryption Function
– Traffic Confidentiality
1. Learning Outcome:
• Students will be able to recall key concepts and terminologies related to SQL, object
databases, XML, distributed databases, and NoSQL systems.
• Students will analyze the effectiveness and efficiency of distributed database
architectures, query processing, and transaction management, as well as the advantages
and limitations of different NoSQL systems.
• Students will evaluate advanced database models and systems, such as active, temporal,
spatial, and multimedia databases, and assess data mining techniques for extracting
meaningful insights from large datasets.
2. COURSE OUTCOMES:
CO1: Recall and comprehend fundamental and advanced SQL concepts, including data
definition, constraints, and complex queries.
CO3: Analyze and evaluate distributed database systems and NoSQL technologies.
CO4: Create and assess advanced database models and systems, including active, temporal,
spatial, multimedia, and deductive databases.
SQL Data Definition and Data Types; Specifying Constraints in SQL; Basic Retrieval Queries
in SQL; INSERT, DELETE, and UPDATE Statements in SQL; Additional Features of SQL;
More Complex SQL Retrieval Queries; Specifying Constraints as Assertions and Actions as
Triggers; Views (Virtual Tables) in SQL; Schema Change Statements in SQL
Unit 2: Object Database Concepts and XML 12 Hours
Overview of Object Database Concepts- Introduction, Object Identity, and Objects versus
Literals, Object Identity, and Objects versus Literals, Encapsulation, Type Hierarchies and
Inheritance ; Object Database Extensions to SQL; The ODMG Object Model and the Object
Definition Language ODL; Object Database Conceptual Design; The Object Query Language
OQL; Overview of the C++ Language Binding in the ODMG Standard; Structured, Semi-
structured, and Unstructured Data; XML Hierarchical (Tree) Data Model; XML Documents,
DTD, and XML Schema; Storing and Extracting XML Documents from Databases; XML
Languages; Extracting XML Documents from Relational Databases; XML/SQL: SQL
Functions for Creating XML Data.
Introduction to NOSQL Systems; The CAP Theorem; Document-Based NOSQL Systems and
MongoDB; NOSQL Key-Value Stores; Column-Based or Wide Column NOSQL Systems;
NOSQL Graph Databases and Neo4j
Active Database Concepts and Triggers; Temporal Database Concepts; Spatial Database
Concepts; Multimedia Database Concepts; Introduction to Deductive Databases; Active
Database Concepts and Triggers; Temporal Database Concepts; Spatial Database Concepts;
Multimedia Database Concepts; Introduction to Deductive Databases; Trends in Information
Retrieval; Overview of Data Mining Technology; Association Rules -Market-Basket Model,
Support, and Confidence, Apriori Algorithm, ; Classification; Clustering; Applications of Data
Mining;
COM080104: ADVANCED DATA STRUCTURE
1. Learning Outcomes: At the end of the course, students will be able to:
(a) Understand and apply the fundamental data structures and algorithms – such as
arrays, linked lists, stacks, queues, trees, sorting and searching algorithms using C
programming language.
(b) Analyze the time and space complexity of different algorithms and choose the
appropriate algorithm for a given problem.
(c) Develop efficient algorithms to solve various computational problems by utilizing
data structures and algorithms covered in the course.
CO-01 Analyzelinearandnon-lineardatastructureslikestacks,queues,linkedlistetc.
CO-02 Solveproblemsrelatedtodatadictionarydatastructuressuchassearchtree,AVLtree,RedB
lacktrees,Splay trees and Hashing.
CO-03 ComparedifferentSortingandSearchingtechniquessuchasQuicksort,HeapSort,RadixS
ort,CountingSort, BST, Median and Order Statistics and Heap data structures.
CO-05 To extract the time complexity of different algorithms like order statistics,
amortized analysis
11. Detailed Syllabus:
A. Theory
UNIT-V:PartitionADT
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
f. Display inorder , preorder and postorder list
(r) Implement following sorting algorithms:
a. Heap sort
b. Quick sort
c. Radix sort
d. Counting sort
(s) Create AVL tree, also delete node from AVL tree
(t) Create Red-BlackAVL tree, also delete node from Red-Black tree
COM080204: EMBEDDED SYSTEM
1. Learning Outcome:
After completion of this course, students will be able to
1. Understand the basic concepts of embedded system
2. Understand how an entire embedded system is designed
3. Understand how an embedded system is assessed
2. Course outcomes:
After completion of this course, students will be able to
CO1: Identify the basic components of an embedded system
CO2: Analyze the hardware and software aspects of embedded system
CO3: Adopt a systematic approach of development of embedded system
CO4: Understand the basics of validating an embedded system
3. Prerequisite: NIL
4. Semester: 7
5. Course Type: Elective
6. Course Level: 400-499
7. Theory Credit: 4
8. Practical Credit: 0
9. Number of required hours:
a) Theory: 60 hrs
b) Practical: 0 hrs
c) Non Contact: 5 hrs
10. List of reference books:
1. Peter Marwedel, Embedded System Design, Springer
2. Elecia White, Making Embedded Systems, O′Reilly
1. Learning Outcome:
At the end of the course, students will be able to:
• Understand the basics of mobile application development
• Adopt the developmental environment to develop robust applications.
• Understand, write and debug applications.
2. COURSE OUTCOMES:
At the end of the course, students will be able to:
CO1: Outline basic application layout.
CO2: Associate with different application development languages, frameworks and
environments.
CO3: Explain functions, intents, and APIs for different applications.
CO4: Apply and design with local and real-time databases.
CO5: Develop a complete applications.
3. Prerequisite: NIL
4. Semester: 8
5. Course Type: Compulsory
6. Course Level: 400-499
7. Theory Credit: 3
8. Practical Credit: 1
9. Number of required hours:
a) Theory: 45 hrs
b) Practical: 30 hrs
c) Non Contact: 5 hrs
Understanding Android Activity and its lifecycle, various events associated with Activity
Lifecycle – onCreate(), onStart(), onPause(), onResume(), onStop(), onRestart(), onDestroy()
etc. Understanding various essential folders and files associated with an Android App stored
insidemanifests, java and res directories. Basic understanding about Gradle.
Practical Assignments:
1. Develop a simple Android app using Java/Kotlin that displays "Hello World" on the
screen.
2. Set up Android Studio IDE and create an emulator for testing your apps.
3. Create a basic Android app that utilizes different Activity lifecycle methods and
displays log messages for each lifecycle event.
4. Implement a RecyclerView in an Android app to display a list of items retrieved from
a hardcoded array.
5. Create a multi-pane UI using Fragments for both smartphones and tablets, with
navigation between fragments.
6. Develop an app that uses intents to navigate between activities and passes data (e.g.,
name, age) from one activity to another.
7. Build a CRUD (Create, Read, Update, Delete) app in Android that uses SQLite for
local database storage.
8. Integrate Firebase into an Android app to store and retrieve data in real-time, such as a
simple chat application.
9. Use JSON parsing to fetch data from a public API (e.g., weather data) and display it
in your Android app.
10. Implement Google Maps API in an Android app to display a map with a marker at a
specific location.
11. Create a basic Flutter app that displays text and images on both Android and iOS
platforms.
12. Explore and implement runtime permissions in an Android app for accessing device
features like camera or location.
13. Update the Android app manifest file to include necessary permissions, activities, and
services.
14. Add notifications to an Android app using the NotificationCompat API for displaying
messages to the user.
15. Implement basic user authentication using Firebase Authentication in an Android app.
16. Develop a simple app using React Native that displays a list of items with basic
CRUD functionality.
17. Create a responsive UI for different screen sizes and orientations in both Android and
iOS using Flutter.
18. Integrate social media SDK (e.g., Facebook SDK) into your Android app for sharing
content.
19. Implement error handling and logging mechanisms in your Android app to capture
and report app crashes or exceptions.
20. Prepare your Android app for deployment by generating a signed APK, conducting
testing on different devices, and optimizing app performance.
COM080404: SYSTEM ADMINISTRATION AND NETWORKING
1. Learning Outcomes: After successful completion of this course, students will be able to:
o Understand the roles and responsibilities of system administrators.
o Explain and manage operating systems, services, and user accounts.
o Utilize network tools to analyze, diagnose network traffic.
2. COURSE OUTCOMES:
At the end of the course, students will be able to:
CO1: Describe responsibilities of a system administrator and understand various
administration tools.
CO2: Explain history, uses and significance of GNU/linux, free and open source
software.
CO3: Demonstrate linux administration and networking skills.
CO4: Propose solutions to system and network failures.
CO5: Design computer networks of various configurations.
3. Prerequisites: Computer networks
4. Semester: 8
5. Course Type: Elective
6. Course Level: 400-499
7. Theory Credit: 3
8. Practical Credit: 1
9. No of required hours:
o Theory: 45 hrs
o Practical: 30 hrs
o Non Contact: 5 hrs
10. List of Reference Books:
o UNIX and Linux System Administration Handbook, Trent R. Hein, Evi Nemeth,
Garth Snyder, Ben Whaley, Dan Mackin, 5th edition, Addison-Wesley
o Computer Networking: A Top-Down Approach by James F. Kurose and Keith W.
Ross, 6th edition,Pearson Education
o Network Warrior, Gary A. Donahue, 2nd edition, O′Reilly
B. List of practicals:
1. Design a wired LAN network using Cisco Packet Tracer - Networking Simulation
Tool.
2. Design a wireless LAN network using Cisco Packet Tracer - Networking Simulation
Tool.
3. Design two LAN networks with different IP ranges and connect both networks using
a router using Cisco Packet Tracer - Networking Simulation Tool.
4. Design a DHCP server using Cisco Packet Tracer - Networking Simulation Tool.
5. Design an email server using Cisco Packet Tracer - Networking Simulation Tool.
6. Usage of commands ls, cat, pwd, cd, mkdir, man etc.
7. Understand the /etc/passwd file, /etc/shadow, /etc/group file.
8. Manage users and groups (create, delete, modify) using useradd, usermod, userdel,
groupadd, groupmod, groupdel commands.
9. Change file ownership using the chown command.
10. Change file access permissions using the chmod command.
11. Usage of process management tools like ps, top, kill etc.
12. Usage of disk utility tools like du, df, mount etc.
13. Usage of backup and restore tools like tar, cpio.
14. Usage of net-tools like ifconfig, ip for assigning, deleting, modifying IP, subnet mask
for network interfaces .
15. Analysis of network traffic with diagnostics tools like ping, net-stat, traceroute,
tcpdump.
COM080504: MOBILE COMPUTING
1. Learning Outcomes:
• Learn the basic concepts and principles in mobile computing including major
techniques involved, and networks & systems issues for the design and
implementation of mobile computing systems and applications.
• Understand both theoretical and practical issues of mobile computing.
• Understand the key components and technologies involved and to gain hands-on
experiences in building mobile applications.
2. Course Outcomes:
On successful completion of course, learner will be able to
CO1: Identify basic concepts and principles in computing, cellular architecture.
CO2: Describe the components and functioning of mobile networking.
CO3: Classify variety of security techniques in mobile network.
CO4: Apply the concepts of WLAN for local as well as remote applications.
CO5: Describe Long Term Evolution (LTE) architecture and its interfaces.
1. Learning Outcome:
• Students will recall and describe the problem statement, objectives, and methodologies
employed in their project.
• Students will demonstrate an understanding of the technologies explored during the
project, explaining their relevance, functionality, and potential applications.
• Students will apply the acquired knowledge and skills to develop a solution or prototype
addressing the identified problem, utilizing the chosen technologies effectively.
• Students will critically analyze the project outcomes, assessing the strengths and
weaknesses of their approach, and identifying areas for improvement or further
exploration.
• Students will synthesize their findings into a coherent dissertation, presenting their
research methodology, results, and conclusions while evaluating the implications and
significance of their work within the broader context of the field.
2. COURSEOUTCOMES:
Attendees of the course, students will be able to:
CO1: Students will be able to recall and recognize fundamental concepts,
principles, and terminology relevant to the course.
CO2: Students will demonstrate a comprehensive understanding of theoretical
frameworks, methodologies, and models discussed in the course.
CO3: Students will be able to apply acquired knowledge and skills to solve practical
problems, analyze case studies, and develop solutions in real-world scenarios
relevant to the course content.
CO4: Students will demonstrate the ability to synthesize diverse sources of
information, integrate multiple perspectives, and propose innovative solutions or
designs.
CO5: Write their findings and analysis in the form of a dissertation.
Regular progress updates must be reported by meetings with the project supervisor
throughout the project duration.
Students should look for opportunities to publish their project findings in academic
journals, conferences, or other relevant platforms to disseminate their research
outcomes and contribute to the academic community.