Computer Science Syllabus RU
Computer Science Syllabus RU
COMPUTER SCIENCE
3. Multidisciplinary Courses………………………………….
(3 courses to be chosen from baskets of Multidisciplinary for Semester-I/II/III
with 3 credits each)
Program Outcomes:
To understand the modern computing environment and the use of various
hardware & software components.
To develop the skill set and analytical abilities to solve real-life problems
using the evolving computing paradigms.
To equip oneself with the professional competence to meet the requirements
of the software industry.
To be aware of the security and privacy issues while using network systems
and foster ethical use of internet.
To create interest in Research and development in Computer Science for the
overall benefit of the society.
NB:
Students have to do the laboratory assignments mentioned under different subjects/papers. In
order to make the subject more interesting and sync with the current trends in the subject, the
course instructor will give additional assignments relevant to the subject, and students are
also encouraged to do some experiments on their own.
SEMESTER-I
Course Outcomes:
Learning Outcomes:
Unit-I:
Unit-II:
Unit-III:
Introduction to Python, getting started with Python, Python Basics: Identifiers, Keywords,
Python types, basic types, mutable and immutable types, Integer & float ranges, Variable
type & assignment, Arithmetic Operators, Precedence & Associativity, Conversions, built-in
functions, modules, container types, comments & indention, multi-lining, classes & Objects,
Multiple Objects. Strings: Introduction, Accessing String elements, Properties, built-in
functions, Methods, Conversions, Comparisons.
Console I/O: I/O operations, formatted printing. Decision Control Instruction: Logical
operators, Conditional Expressions, all () & any (), receiving input, pass statement. Repetition
Control Instruction: types, usage of loops, break & continue, else block of a loop.
Unit-IV:
Lists, Sets, Tuples, Dictionaries: creating, accessing, and looping-in each type. Applying
basic operations, using built-in functions and methods on each type, possible data structure /
mathematical operations on each type.
Comprehensions on List, Set, and dictionary. Functions: built-in and user-defined functions,
invoking functions, unpacking arguments. recursive function, iteration vs recursion.
Text Books:
Course Objectives:
Learning Outcomes:
Unit-I:
Unit-II:
Decision Control structures & Loops: Decision Making and Branching statements (Simple IF,
IF…ELSE, Nested IF… ELSE, ELSE … IF ladder), Selection control structure (Switch
Statement). Looping statements (FOR, WHILE, DO…WHILE), break, continue and GOTO
statements
Array: Concept of Array, Array Declaration, types of array (one and multiple dimension),
Character Arrays and Strings, limitation of array.
Unit-III:
Pointers: Concept of Pointer (NULL pointer, wild pointer, dangling pointer, generic pointer),
Pointer Expressions, Accessing the Address of a Variable, Declaring Pointer Variables,
Initializations of Pointer Variable, Accessing a Variable through its Pointer, Pointer
arithmetic, Pointer representation of array, Array of Pointers, Accessing Sting using Pointer.
Function: Types of Function, Function Declaration, Function Definition, Function Call,
Recursive Function, Dynamic Memory Management functions, String handling function
(strlen, strcmp, strcpy, strncpy, strcat, strstr).
Storage class: Types (auto, register, static, extern), scope rules, declaration and definition.
Unit-IV:
Text Book:
Reference Books:
Course Objectives:
To understand different ways of organizing data in computer’s memory.
To learn different operations on data structures.
To explore different applications of data structures.
Learning Outcomes:
Upon completion of this course, students will be able to:
1. Learn about data structures and the use of array
2. Create linked lists and perform insertion/deletion operations on them
3. Represent Stack and Queue in the memory and learn their applications
4. Learn the use of various non-linear data structures and their applications
Unit-I:
Unit-II:
Linked Lists: Definition, Single Linked List, Memory representation, Operations: Traversing,
Searching, Insertion, Deletion and Merge. Double Linked List, Operations: Insertions,
Deletion.
Circular, Double Circular Linked list, Operations: Traversing, Insertion. Applications of
Linked List, Sparse Matrix and Polynomial representations.
Unit-III:
Stack: Definition, Representation: Array and Linked List representations, Operations: PUSH,
POP, STATUS. Applications: Evaluation of Arithmetic Expressions: Notations, Infix to
Postfix Conversion, Evaluation of Postfix expression. Recursion (Factorial and Fibonacci),
Tower of Hanoi.
Queues: Definition, Representation: Array and Linked List representations, Operations:
Enqueue, Dequeue. Structures of Queue: Circular, Deque and Priority Queue. Applications of
Queue
Unit-IV:
Trees: Definition, Terminologies, Binary Tree: Properties, Representations (Linear and
Linked List representations). Operations: Traversal (Inorder, Preorder, Postorder), Search.
Introduction to Binary Search Tree, AVL tree, M-Way Search Tree. Applications of Trees.
Graph: Definition, Terminologies, Representations (Set, Linked List, Matrix), Operations:
Traversal (BFS, DFS). Applications of Graphs.
Text book:
Reference Books:
SEMESTER-2
Course Objectives:
To understand the database concepts for efficient storage and retrieval of data.
To learn about database design and transaction processing
Learning Outcomes:
Unit-I:
Introduction to Database and Database Users, Database System Concepts and Architecture:
data Models, schema, and instances, Conceptual Modeling and Database Design, Entity
Relationship (ER) Model: Entity Types, Entity Sets, Attributes, Keys, Relationship Types,
Relationship Sets, Roles and Structural Constraints, Weak Entity Types, ER Naming
Conventions. Enhanced Entity-Relationship (EER) Model.
Unit-II:
Relational data Model and SQL: Relational Model Concepts, Basic SQLs, SQL Data
Definition and Data types, Constraints in SQL, Retrieval Queries in SQL, INSERT,
DELETE, UPDATE Statements in SQL, Relational Algebra and Relational Calculus: Unary
Relational Operations: SELECT and PROJECT, Binary Relation: JOIN and DIVISION.
Unit-III:
Database Design Theory and Normalization: Functional Dependencies, Normal Forms based
on Primary Keys, Second and third Normal Forms, Boyce-Codd Normal Form, Multivalued
Dependency and Fourth Normal Form, Join Dependencies and Fifth Normal Form.
Unit-IV:
Text Books:
Reference Book:
Create and use the following database schema to answer the given queries.
EMPLOYEE Schema
DEPARTMENT Schema
List of Queries:
1. Display Employee Name, Job, Hire Date, Employee Number; for each employee with
the Employee Number appearing first.
2. Display unique Jobs from the Employee Table.
3. Display the Employee Name concatenated by a Job separated by a comma.
4. Display all the data from the Employee Table. Separate each Column by a comma and
name the said column as THE_OUTPUT.
5. Display the Employee Name and Salary of all the employees earning more than $2850.
6. Display Employee Name and Department Number for the Employee No= 7900.
7. Display Employee Name and Salary for all employees whose salary is not in the range
of $1500 and $2850.
8. Display Employee Name and Department No. of all the employees in Dept 10 and Dept
30 in the alphabetical order by name.
9. Display Name and Hire Date of every Employee who was hired in 1981.
10. Display Name and Job of all employees who don’t have a current Manager.
11. Display the Name, Salary and Commission for all the employees who earn commission.
12. Sort the data in descending order of Salary and Commission.
13. Display Name of all the employees where the third letter of their name is ‘A’.
14. Display Name of all employees either have two ‘R’s or have two ‘A’s in their name and
are either in Dept No = 30 or their Mangers Employee No = 7788.
15. Display Name, Salary and Commission for all employees whose Commission Amount
is 14 greater than their Salary increased by 5%.
16. Display the Current Date.
17. Display Name, Hire Date and Salary Review Date which is the 1st Monday after six
months of employment.
18. Display Name and calculate the number of months between today and the date each
employee was hired.
19. Display the following for each employee <E-Name> earns < Salary> monthly but
wants <3*Current Salary>. Label the Column as Dream Salary.
20. Display Name with the 1st letter capitalized and all other letter lower case and length of
their name of all the employees whose name starts with ‘J’, ‘A’ and ‘M’.
21. Display Name, Hire Date and Day of the week on which the employee started.
22. Display Name, Department Name and Department No for all the employees.
23. Display Unique Listing of all Jobs that are in Department # 30.
24. Display Name, Department Name of all employees who have an ‘A’ in their name.
25. Display Name, Job, Department No. and Department Name for all the employees
working at the Dallas location.
26. Display Name and Employee no. Along with their Manger’s Name and the Manager’s
employee no; along with the Employees Name who do not have a Manager.
27. Display Name, Department No. And Salary of any employee whose department no. and
salary matches both the department no. And the salary of any employee who earns a
commission.
28. Display Name and Salaries represented by asterisks, where each asterisk (*) signifies
$100.
29. Display the Highest, Lowest, Sum and Average Salaries of all the employees.
30. Display the number of employees performing the same Job type functions.
31. Display the no. of managers without listing their names.
32. Display the Department Name, Location Name, No. of Employees and the average
salary for all employees in that department.
33. Display Name and Hire Date for all employees in the same dept. as Blake.
34. Display the Employee No. And Name for all employees who earn more than the
average salary.
35. Display Employee Number and Name for all employees who work in a department with
any employee whose name contains a ‘T’.
36. Display the names and salaries of all employees who report to King.
37. Display the department no, name and job for all employees in the Sales department.
Course Outcomes:
Learning Outcomes:
Unit-I:
Unit-II:
Unit-III:
Counting: The Basics of Counting, The Pigeonhole Principle, Permutations and
Combinations, Binomial Coefficients and Identities.
Relations: Relations and their Properties, n-ary Relations and their Applications,
Representing Relations, Closure of Relations, Equivalence Relations, partial Orderings.
Unit-IV:
Graph Terminology and Special Types of Graphs, Bipartite Graphs, Representing Graphs:
Isomorphism of Graphs, Euler and Hamilton Paths, Shortest Path Problems: Dijkstra’s
Algorithm, Traveling Salesperson Problem, Planar Graphs, Graph Coloring. Tree Traversal,
Minimum Spanning Trees
Text Books:
Reference Books:
SEMESTER-III
Course Objectives:
Learning Outcomes:
1. Use different number systems and know the function of basic logic gates
2. Design various combinational circuits
3. Understand the functioning of a digital computer
4. Understand the use of various memory devices and their management
Unit-I:
Unit-III:
Unit-IV:
Text Books:
M. Morris Mano, Michael D. Ciletti (2008), Digital Design, 4th edition, Pearson
Education Inc, India.
Carl Hamacher, Zvonks Vranesic, SafeaZaky (2002), Computer Organization, 5th
edition, McGraw Hill, New Delhi, India
Reference Books:
Course Objectives:
Learning Outcomes:
Unit-I:
Unit-II:
Unit-III:
Unit-IV:
Storage Management: Overview of Mass-Storage Structure, Disk Scheduling: FCFS, SSTF,
SCAN, C-SCAN, LOOK, C-LOOK, RAID technology.
File System concept, Access Methods, Directory and Disk Structure, File System systems,
File, Sharing and File Protection.
Text Books:
Reference Books:
1. Basic Linux Commands and Overview (date, cal, who, tty, echo, bc, pwd, mkdir,
rmdir, cd, cat, cp, mv, rm, ls, wc)
2. Shell Programming
i. Write a shell script to perform the tasks of basic calculator.
ii. Write a shell script to find the greatest number among the three numbers.
3. Shell Programming
i. Write a shell script to check if the number entered at the command line is
prime or not.
ii. Write a shell script to display the multiplication table of any number.
4. Shell Programming
i. Write a shell script to compare two files and if found equal asks the user to
delete the duplicate file.
ii. Write a shell script to find the sum of digits of a given number.
iii. Write a shell script to find the factorial of a given number.
5. Write a program (using fork() and/or exec() commands) where parent and child
execute:
i. Same program, same code.
ii. Same program, different code.
iii. Before terminating, the parent waits for the child to finish its task.
6. Write a program to copy files using system calls.
7. Write a program using C to implement FCFS scheduling algorithm.
8. Write a program using C to implement Round Robin scheduling algorithm.
9. Write a program using C to implement SJF scheduling algorithm.
10. Write a program using C to implement first-fit, best-fit, and worst-fit allocation
strategies.
Course Objectives:
To understand the essentials of Web Technologies.
To understand frontend (HTML, CSS, JavaScript) and backend Technologies (PHP)
for developing Web Sites.
Learning Outcomes:
Unit-I:
Introduction to the Internet, Internet Protocols, World Wide Web (WWW): Introduction,
History, HTTP and HTTP methods, Web Browser, Web Server and their examples, Web
page, working principles of WWW. Web Development: Introduction, Front-end and Backend
Development Technologies. Concepts of Client-Server communication.
HTML: Introduction, characteristics, basic structure of an HTML document, understanding
basic HTML tags and attributes, creating an HTML document. Working with tags for text-
formatting, lists, hyperlink, images, tables, frames, multimedia. HTML forms and its basic
elements.
Unit-II:
Cascading Style Sheets (CSS): Introduction, Benefits of using CSS, Understanding the
Syntax, CSS Selectors, Using CSS: External, Internal Inline CSS. Comments in CSS. Basic
CSS Properties: Color, Background, Text, Font, List, Table, Display.
CSS Box Model: Introduction, working with Margin, Border, and Padding. Pseudo-class &
element, working with block elements, Scrolling text, Navigation Bar and Drop Downs.
Unit-III:
Unit-IV:
PHP: Features, Print/echo statement, Data Types, Variables, Constants, Strings, Arrays,
Operators. Control Structures: Conditional, Looping & Jump Statements. Brief overview of
Arrays, Functions: String, Date-Time, Mathematical and User-defined functions.
Embedding PHP in HTML, Reading Form data of a Web Page. Introduction to PHP with
Database: Connecting to Database, Creating Table, inserting records, modifying data and
retrieving data and displaying in HTML.
Text Book:
Reference Books:
2. Create a Web Page to display the list of Fruits using both ordered and unordered list.
Recreate the lists using images of the same items.
3. Use the web page created in Question Number 2. When the user clicks on the image of a
Fruit, it should open a new page that contains an image of the Fruit along with its benefits
(use multiple paragraphs, and make sure the image is aligned properly).
4. Create a web page that displays details of the Fruits in Tabular format. Use serial no.,
name, color, taste, price/kg.
5. Create a Web Page that displays a video file (record/create a video of your own).
Apply various controls such as paly, pause, volume.
Apply autoplay, muted and both.
Display a Youtube Video in your Web Page.
6. Design a Student registration form to collect various data about a Student which includes
Name, Age, Gender (M, F, O), Mobile No., Email ID, Stream (Science/Arts/Commerce in
drop-drown), Choice for participating in NCC, NSS, YRC (use check box), and two
buttons for reset and submit respectively. Display the form at the center of the page with
proper alignment of each item in the form.
7. Use the web page created in Question no. 4. Use CSS and apply various styling to the
text, colors to each row of the table, styling to borders and background color of the table.
8. Create a Web page with a Horizontal Navigation bar containing four items such as Home,
College, Students, Teachers. The first item should be active, by default. The background
color of the item changes when the user moves the mouse over it.
9. Create a Web Page that asks the user to enter the number of Students, and then iteratively
ask the details of each Student and display them in a list, using JavaScript.
10. Modify the above program (Q. 9) to display the details in a tabular format, dynamically
using JavaScript.
11. Create a Web Page with two text fields and four buttons to perform arithmetic operations
such as Addition, Subtraction, Multiplication and Division. The user has to enter numbers
in the text fields and press any of the above buttons. The JavaScript progrm shoud
perform corresponding operations and display the result in the same page. [NOTE: Use
different functions for each operation]
12. Use JavaScript and validate the form data in the Student registration Page (created in Q.
no. 6). When the user clicks the Submit button, the program has to validate that every
field contains valid data. [NOTE: validate name, age, gender, email, mobile number]
13. Write a PHP program that asks the user to enter a number and finds the factorial of it.
14. Write a PHP program that creates a Table in a database with a number of columns as
determined by the fields in the Student registration form created above.
15. Write a PHP program to store the data of the Student registration form in a Database.
16. Write a PHP program that asks the user to enter a Student name and display the Student
details retrieved from the database in the same page.
17. Students are required to combine the Student Registration form, and PHP program (s)
[which interact with Database] to see the dynamic updation of the Student registration
data in the Database when a new Student is registered.
Semester-IV
Course Objectives:
Learning Outcomes:
Unit-I:
Unit-II:
Classes and Objects: Defining Member Functions, Making an outside Function Inline,
Nested Member Functions, Private Member Functions, Arrays within a Class, Memory
Allocation for Objects, Static Data Members, Static Member Functions, Arrays of Objects,
Objects as Function Arguments, Friend Functions.
Constructors & Destructors: Constructors, Parameterized Constructors, Constructors with
Default Arguments, Dynamic Initialization of Objects, Copy Constructor, Dynamic
Constructors, Destructors.
Unit-III:
Unit-IV:
Managing Console I/O Operations: C++ Streams, C++ Stream Classes, Unformatted I/O
Operations, Formatted Console I/O Operations, Managing Output with Manipulators.
Files: Classes for File Stream Operations, Opening and Closing a File, Detecting end-of-file,
File Modes, File Pointers and their Manipulations, Sequential Input and Output Operations,
Updating a File: Random Access, Error Handling during File Operations, Command-line
Arguments.
Text Books:
Learning Outcomes:
Unit-I:
Introduction to Data Communications and Network Models: Protocols and Standards, Layers
in OSI Models, Analog and Digital Signals, Transmission Modes, Transmission Impairment,
Data Rate Limits, Performance, Digital Transmission, Network Devices & Drivers: Router,
Modem, Repeater, Hub, Switch, Bridge (fundamental concepts only).
Unit-II:
Signal Conversion: Digital-to-Digital Conversion, Analog-to-Digital Conversion, Digital-to-
analog Conversion, Analog-to-Analog Conversion. Transmission Media: Guided Media,
Unguided Media, Switching Techniques: Packet Switching, Circuit Switching, Datagram
Networks, Virtual-Circuit Networks, and Structure of a Switch.
Unit-III:
Error Detection and Correction: Checksum, CRC, Data Link Control: Framing, Flow and
Error Control, Noiseless Channels, Noisy channels, (Stop and Wait ARQ, Sliding Window
Protocol, Go Back N, Selective Repeat) HDLC, Point-to-Point Protocol. Access Control:
TDM, CSMA/CD, and Channelization (FDMA, TDMA, and CDMA).
Unit-IV:
Network Layer: Logical Addressing, IPv4 Addresses, IPv6 Addresses, Virtual-Circuit
Networks: Frame Relay and ATM, Transport Layer: Process-Process Delivery: UDP, TCP.
Application layers: DNS, SMTP, POP, FTP, HTTP, Basics of WiFi (Fundamental concepts
only), Network Security: Authentication, Basics of Public Key and Private Key, Digital
Signatures and Certificates (Fundamental concepts only).
Text Book:
Data Communications and Networking, Fourth Edition by Behrouza A. Forouzan,
TMH.
Reference Book:
1. Use the ipconfig (Windows) or ifconfig (Linux/Mac) command to display the current
network configuration.
i. Identify and document the IP address, subnet mask, and default gateway of the
system.
ii. Change the IP address of the system using netsh (Windows) or ifconfig
(Linux/Mac). Verify the change using the same command.
iii. Experiment by configuring static IP, dynamic IP.
2. Use the ping command
i. to check connectivity between Systems in your Lab.
ii. to a remote server (e.g., google.com).
iii. Analyze the round-trip time and packet loss.
3. Use the tracert (Windows) or traceroute (Linux/Mac) command to trace the path to a
remote server. Document the intermediate hops and their IP addresses.
4. Use the netstat command to display active connections, listening ports, and network
statistics.
i. Document and explain the various parameters and their significance.
ii. Use netstat -r or route to display the routing table of your system. Identify the
default gateway and other routes.
5. Use the arp -a command to display the ARP table of your system.
i. Identify the MAC addresses corresponding to different IP addresses.
ii. Clear the ARP cache using arp -d and verify the cache is cleared. Re-populate
the ARP table by pinging different hosts on the network and verify the entries.
6. Use the nslookup command to query the DNS records of a domain (e.g., google.com).
i. Identify and document the IP addresses associated with the domain.
ii. Use the dig command (Linux/Mac) for a more detailed DNS query and
compare the output with nslookup
7. Use the nmcli command (Linux) or netsh wlan show networks (On Windows) to scan
for available Wi-Fi networks and connect to a specified network. Document the steps
and verify the connection.
8. Use the tcpdump command (Linux) or Wireshark to capture network packets.
i. Capture and analyze traffic for a specific protocol (e.g., HTTP) and identify
key details like source and destination IPs, ports, and packet content.
ii. Filter captured packets to display only traffic to/from a specific IP address or
port using tcpdump for Wireshark filters.
9. Use the nmap command to perform a network scan of your local network.
i. Identify active hosts, open ports, and running services.
ii. Perform a more detailed scan with service/version detection using nmap -sV
and analyze the results.
10. Use the iptables command (Linux) to set up basic firewall rules. On Windows, use
netsh advfirewall.Block all incoming traffic except for SSH and HTTP, and verify the
rules are working.
11. Use the route command to add a static route to a specific network.
i. Verify the route using route -n (Linux) or route print (Windows).
ii. Set up IP forwarding on a Linux system using sysctl to enable packet
forwarding. Test the configuration by pinging through the system acting as a
router.
Course Objectives:
Learning Outcomes:
Unit-I:
Introduction: Evolution of Software to an Engineering Discipline, Software Development
Projects, Exploratory Style of Software Development, Emergence of Software Engineering,
Changes in Software Development Practices, Computer Systems Engineering. Software
Lifecycle Models: Waterfall Model and its Extensions, Rapid Application Development
(RAD), Agile Development Models, Spiral Model.
Unit-II:
Software Project Management: Software Project Management Complexities, Responsibilities
of a Software Project Manager, Project Planning, Metrics for Project Size Estimation, Project
Estimation Techniques, Empirical Estimation Techniques, COCOMO, Halstead’s Software
Science, Staffing Level Estimation, Scheduling, Organization and Team Structures, Staffing,
Risk Management, Software Configuration Management.
Unit-III:
Requirement Analysis and Specification: Requirements Gathering and Analysis, Software
Requirement Specifications, Formal System Specification Axiomatic Specification,
Algebraic Specification, Executable Specification and 4GL.
Software Design: Design Process, characterize a Good Software Design, Cohesion and
Coupling, Layered Arrangements of Modules, Approaches to Software Design (Function
Oriented & Object-Oriented).
Unit-IV:
Coding and Testing: Coding: Code Review, Software Documentation, Testing, Unit Testing,
Black Box and White Box Testing, Debugging, Program Analysis Tools, Integration Testing,
System Testing, Software Maintenance.
Text Book:
Reference Books:
Students have to do at least two software development projects from the list of projects given
below. They have to follow the complete software development lifecycle with the following
details. UML can be used as a design tool. (Coding is optional).
1. • Problem Statement
• Process Model
2. Requirement Analysis:
• Creating a Data Flow
• Data Dictionary, Use Cases
3. Project Management:
• Computing FP
• Effort
• Schedule, Risk Table, Timeline chart
4. Design Engineering:
• Architectural Design
• Data Design, Component Level Design
5. Testing:
• Basis Path Testing
List of Projects:
Semester-V
Core XI Introduction to Artificial Intelligence
Course Objectives:
Learning Outcomes:
Unit-I:
Introduction to AI, Scope of AI, Characteristics of AI problems, Turing test, Concept of
Intelligent agents, Approaches to AI problem-solving, State space search, production system,
Uninformed search: Breadth-First, Depth-First, Iterative deepening, bidirectional and beam
search.
UNIT-2:
Informed/Heuristic search: Generate-and-Test, Hill climbing, Best-first search, A * algorithm,
Problem reduction, AO*, Constraint satisfaction, Solution of CSP using search, Means-End
analysis.
UNIT-3:
Knowledge Representation: Propositional logic and Predicate logic along with their
resolution principles, Unification algorithm, forward and backward chaining and conflict
resolution, Semantic nets, Frames, Conceptual dependencies, Scripts.
Reasoning under uncertainty: Bayesian Belief networks, Dempster Shafer theory
UNIT-4:
Natural language processing: Introduction, Levels of knowledge in language understanding, ,
Phases of Natural language understanding, top-down and bottom-up parsing, transition
networks.
Expert Systems: Introduction, Architecture, Expert system development cycle, Examples of
ES: Mycin and Dendral.
Text Books:
Reference Books:
Course Objectives:
Learning Outcomes:
Unit-I:
Graphics Output Primitives: Point and Lines, Algorithms for line, circle & ellipse generation,
Filled-Area Primitives. Attributes of Graphics Primitives: Point, line, curve attributes, fill
area attributes, Fill methods for areas with irregular boundaries.
Unit-III:
Unit-IV:
Text Books:
Donald Hearn & M. Pauline Baker, “Computer Graphics with OpenGL”, Pearson
Education.
Mathematical Elements for Computer Graphics, D. F. Rogers & J. A. Adams, MGH,
2/ed.
Reference Books:
Computer Graphics principles & practice, Foley, Van Dam, Feiner, Hughes Pearson
Education
Computer Graphics by Zhigang Xiang, Roy A Plastic, McGraw-Hill
Course Objectives:
Learning Outcomes:
Unit-I:
Introduction to Java: Java History, Architecture and Features, Understanding the semantic
and syntax differences between C++ and Java, Compiling and Executing a Java Program,
Variables, Constants, Keywords (super, this, final, abstract, static, extends, implements,
interface) , Data Types, Wrapper class, Operators (Arithmetic, Logical and Bitwise) and
Expressions, Comments, Doing Basic Program Output, Decision Making Constructs
(conditional statements and loops) and Nesting, Java Methods (Defining, Scope, Passing and
Returning Arguments, Type Conversion and Type and Checking, Built-in Java Class
Methods). Input through keyboard using Command line Argument, the Scanner class,
BufferedReader class.
Unit-II:
Unit-III:
Arrays: Creating & Using Arrays (1D, 2D, 3D and Jagged Array), Array of Object,
Referencing Arrays Dynamically. Strings and I/O: Java Strings: The Java String class,
Creating & Using String Objects, Manipulating Strings, String Immutability& Equality,
Passing Strings To & From Methods, StringBuffer Classes and StringBuilder Classes. IO
package: Understanding StreamsFile class and its methods, Creating, Reading, Writing using
classes: Byte and Character streams, FileOutputStream, FileInputStream, FileWriter,
FileReader, InputStreamReader, PrintStream, PrintWriter. Compressing and Uncompressing
File.
Unit-IV:
Text Book:
Reference Book:
1. To find the sum of any number of integers entered as command line arguments.
2. To find the factorial of a given number.
3. To convert a decimal to binary number.
4. To check if a number is prime or not, by taking the number as input from the
keyboard.
5. To find the sum of any number of integers interactively, i.e., entering every number
from the keyboard, whereas the total number of integers is given as a command line
argument.
6. Write a program that show working of different functions of String and
StringBufferclasss like setCharAt( ), setLength( ), append( ), insert( ), concat( )and
equals( ).
7. Write a program to create a – “distance” class with methods where distance is
computed in terms of feet and inches, how to create objects of a class and to see the
use of this pointer
8. Modify the – “distance” class by creating constructor for assigning values
(feetandinches) to the distance object. Create another object and assign second
object as reference variable to another object reference variable. Further create a
third object which is a clone of the first object.
9. Write a program to show that during function overloading, if no matching argument
is found, then Java will apply automatic type conversions (from lower to higher data
type).
10. Write a program to show the difference between public and private access specifiers.
The program should also show that primitive data types are passed by value and
objects are passed by reference and to learn use of final keyword.
11. Write a program to show the use of static functions and to pass variable length
arguments in a function.
12. Write a program to demonstrate the concept of boxing and unboxing.
13. Create a multi-file program where in one file a string message is taken as input from
the user and the function to display the message on the screen is given in another file
(make use of Scanner package in this program).
14. Write a program to create a multilevel package and also creates a reusable class to
generate Fibonacci series, where the function to generate Fibonacci series is given in
a different file belonging to the same package.
15. Write a program that creates illustrates different levels of protection in
classes/subclasses belonging to same package or different packages
16. Write a program – “DivideByZero” that takes two numbers a and b as input,
computes a/b, and invokes Arithmetic Exception to generate a message when the
denominator is zero.
17. Write a program to show the use of nested try statements that emphasizes the
sequence of checking for catch handler statements.
18. Write a program to create your own exception types to handle situation specific to
your application (Hint: Define a subclass of Exception which itself is a subclass of
Throwable).
19. Write a program to demonstrate priorities among multiple threads.
20. Write a program to demonstrate different mouse handling events like mouseClicked(
), mouseEntered( ), mouseExited( ), mousePressed( ), mouseReleased( ) &
mouseDragged( ).
21. Write a program to demonstrate different keyboard handling events.
Semester- VI
Core XIV Algorithm Design Techniques
Course Objectives:
Learning Outcomes:
Unit-I:
Algorithm specification: Pseudo code, Asymptomatic Analysis, Space complexity and time
complexity, Analysis and design of Insertion sort algorithm, Divide and Conquer paradigm,
Recurrence relations, Solving Recurrences: Substitution methods, Recursion tree method, and
Master method.
Unit-II:
Searching and Sorting: Analysis of Linear Search, Binary Search, Merge Sort and Quick Sort,
Heap Sort. Hashing: Hash functions, Hash table, Collision resolution: Chaining and Open
Addressing (Linear probing, Quadratic probing, Double hashing).
Unit-III:
Unit-IV:
Graph Algorithms, Topological sort, Minimum Spanning Trees: Prim’s and Kruskal’s
algorithm, Single-source shortest paths: Bellman-Ford algorithm, Dijkstra’s algorithm.
Text Book:
Reference Book:
Algorithm Design, by Jon Kleinberg, Eva Tardos.
A student has to do a Project work under the guidance of a faculty member. After
completing the project, the student has to submit a project report which has to be evaluated
by an external examiner. The model template for the project report can be as follows:
Semester-VII
Course Objectives :
Learning Outcomes:
Unit-I:
Introduction to Finite Automata, Alphabets, Strings, Languages and Problems. FINITE
AUTOMATA (FA): Deterministic Finite Automata (DFA)-Formal definition, language of a
DFA. Nondeterministic Finite Automata (NFA)- Definition of NFA, the extended transition
function, the language of an NFA, Equivalence of NFA and DFA, NFA with Epsilon
Transitions, Eliminating Epsilon transitions, Minimization of DFA’s.
Unit-II:
Unit-III:
Context Free Grammars and Languages: Context Free Grammars (CFG): Definition,
Derivations using a grammar, trees, Leftmost and Rightmost derivations. Ambiguity in
grammars and languages: Removing ambiguity from grammars, Inherent ambiguity.
Properties of Context-Free Languages: Normal forms for CFGs; Eliminating useless symbols,
Eliminating epsilon productions, Eliminating unit productions, Chomsky Normal Form
(CNF), Pumping Lemma for Context Free Languages. Decision properties of CFL’s.
Unit-IV:
Text Book:
Reference Books:
Sipser, M., Introduction to the Theory of Computation, 3rd Edition, Cengage Learning
John C Martin, Introduction to languages and the Theory of Computation, McGraw-
Hill Publishing.
Automata Theory by K.L.P. Mishra and N. Chandrasekaran, PHI Learning Pvt. Ltd
Core-XVII Computer Architecture
Course Objectives:
Learning Outcomes:
Unit-I:
Unit-II:
Unit-III:
External Memory: Magnetic Disk, RAID, Optical Memory, Magnetic Tape, External
Devices, I/O Module, Programmed I/O, Interrupt-Driven I/O, Direct Memory Access, I/O
Channels and Processors, FireWire and InfiniBand.
CPU Structure and Function: Processor Organization, Register Organization, Instruction
Cycle, Instruction Pipelining, The Pentium Processor.
Unit-IV:
Text Books:
Reference Books:
Course Objectives:
Learning Outcomes:
Upon completion of this course, students will be able to:
1. Understand the algebra and matrix theory.
2. Apply the idea of calculus.
3. Learn foundations of probability.
4. Apply statistical methods in Machine Learning problems.
Unit-I:
Unit-II:
Gradient, convex sets and convex functions, Properties of convex functions, Gradient of
matrices, Numerical Optimization in ML, Gradient descent optimization
Unit-III:
Mean, Median, Mode, Standard Deviation, Regression - Linear, Multiple and Logistic
regression, Least Square Method.
Text Book:
Reference Books:
Samuel Hack, “Machine Learning Mathematics”.
Richard Han, “Math for Machine Learning”.
Course Objectives:
Learning Outcomes:
Unit-I:
Introduction to Data Mining, Major Issues in Data Mining, Types of Attributes: Nominal,
Binary, Ordinal, Numeric (Interval-Scaled, Ratio-Scaled), Discrete and Continuous Attributes
Data Preprocessing: Need of Data Preprocessing, Data Cleaning, Data Integration, Data
Reduction, Data Transformation and Data Discretization Data Warehouse and OLAP: Data
Warehouse, OLTP vs OLAP, Three-tier Data Warehouse Architecture, Data Cube, Schemas
for Multidimensional Data Models (Star, Snowflake, Fact Constellation), OLAP Operations
Unit-II:
Frequent Itemsets, Closed Itemsets, Association Rules, Frequent Itemset Mining Methods:
Apriori Algorithm, Generating Association Rules from Frequent Itemsets, Improving the
Efficiency of Apriori, A Pattern Growth Approach for Mining Frequent Itemsets (FP-
growth), Mining Frequent Itemsets using the Vertical Data Format, Mining Multilevel
Associations, Mining Multidimensional Associations, From Association Analysis to
Correlation Analysis
Unit-III:
Classification: Basic Concepts, Decision Tree Induction, Bayes Classification Methods, Rule-
Based Classification, Metrics for Evaluating Classifier Performance, Bayesian Belief
Networks, Classification by Backpropagation, Support Vector Machine, Genetic Algorithm,
Fuzzy Set Approach
Unit-IV:
Clustering: Cluster Analysis, Partitioning Methods (k-Means, k-Medoids), Hierarchical
Methods (Agglomerative vs Divisive Hierarchical Clustering, BIRCH, Chameleon), Density-
based Methods (DBSCAN, OPTICS, DENCLUE), Grid-based Methods (STING, CLIQUE)
Text Book:
Course Objectives:
Learning Outcomes:
Unit-I:
Unit-II:
Unit-III:
Routing Protocols for WSN: Data dissemination and gathering, Challenges and Design
issues, Routing strategies: techniques, flooding & variants, protocols for information via
negotiation, Low-energy Adaptive clustering hierarchy, Power-efficient gathering, Directed
diffusion, Geographical routing.
Unit-IV:
Transport Control Protocols for WSN: Design Issues, Existing Protocols: CODA,
(Congestion Detection and Avoidance), ESRT (Event-to-Sink Reliable Transport), RMST
(Reliable Multi-Segment Transport), PSFQ (Pump slowly and fetch quickly), GARUDA,
ATP (Ad Hoc Transport Protocol). Performance: Congestion and packet loss recovery.
Text Books:
Reference Book:
Course Objectives:
Learning Outcomes:
Unit-I:
Introduction: Computer Security Concepts, Threats, Attacks, and Assets, Security Functional
Requirements, Fundamental Security Design Principles. Confidentiality, Integrity,
Availability, Computer Criminals, Motive of attackers, active attacks, passive attacks,
Software attacks, hardware attacks, Cyber Threats-Cyber Warfare, Cyber Crime, Cyber
terrorism, Cyber Espionage, etc., Comprehensive Cyber Security Policy.
Unit-II:
Unit-III:
Unit-IV:
Classification of cyber crimes, Common cyber crimes- cyber crime targeting computers and
mobiles, cyber crime against women and children, financial frauds, social engineering
attacks, malware and ransomware attacks, zero day and zero click attacks, Cybercriminals
modus-operandi , Reporting of cyber crimes, Remedial and mitigation measures, Legal
perspective of cyber crime, IT Act 2000 and its amendments, Cyber crime and offences,
Organisations dealing with Cyber crime and Cyber security in India, Case studies.
Text Books:
Course Objectives:
Learning Outcomes:
1. Learn about the evolution cloud computing and the concept of virtualization
2. Understand the cloud migration process and design issues
3. Familiarize with different service models
4. Understand different security issues and disaster management services
Unit-I:
Unit-II:
Cloud Computing Architecture: Layers in cloud architecture, Software as a Service (SaaS), features of
SaaS and benefits, Platform as a Service (PaaS), features of PaaS and benefits, Infrastructure as a
Service (IaaS), features of IaaS and benefits, Service providers, challenges and risks in cloud
adoption. Cloud deployment model: Public clouds – Private clouds – Community clouds - Hybrid
clouds.
Unit-III:
Unit-IV:
SLA Management in Cloud Computing: Traditional Approaches to SLO Management, Types of SLA,
Life Cycle of SLA, SLA Management in Cloud, Pricing Mechanism, SLA Violation.
Cloud Security - Infrastructure Security - Network level security, Host level security, Application-
level security – Data security and Storage - Data privacy and security Issues, Jurisdictional issues
raised by Data location - Identity & Access Management - Access Control - Trust, Reputation, Risk -
Authentication in cloud computing, Client access in cloud, Cloud contracting Model.
Text Books:
Rajkumar Buyya, James Broberg, Andrzej M. Goscinski, Cloud Computing: Principles and
Paradigms, Wiley.
Cloud Computing, U S Pandey & K Choudhary, S. Chand Pubs.
Cloud computing a practical approach - Anthony T.Velte , Toby J. Velte Robert Elsenpeter
TATA McGraw- Hill , New Delhi.
Reference Books:
Thomas Erl, Ricardo Puttini, Zaigham Mahmood, Cloud Computing: Concepts, Technology
& Architecture, Prentice Hall.
Rajkumar Buyya, Christian Vecchiola, S. Thamarai Selvi, Mastering Cloud
Computing, Mc Graw Hill Education.
Cloud Computing: Principles, Systems and Applications, Editors: Nikos
Antonopoulos, Lee Gillam, Springer.
Core XXI Machine Learning
Course Objectives:
Learning Outcomes:
Unit-I:
Introduction: Brief Introduction to Machine Learning Supervised Learning Unsupervised
Learning Reinforcement Learning, Overview of supervised learning, classification, and
regression problems,
Statistical Pattern Recognition: Bayes Decision Theory, Minimum Error and Minimum Risk
Classifiers, Discriminant Function and Decision Boundary, Normal Density, Discriminant
Function for Discrete Features. Naïve Bayes Classification.
Unit-II:
Classification: K-nearest neighbourhood (KNN) classifier, variation of k-NN classifiers.
Decision tree learning, Issues in Decision tree learning.
Artificial Neural Network: Introduction – Fundamental concept – Evolution of Neural
Networks – Basic Models of Artificial Neural Networks – Important Terminologies of ANNs
– McCulloch-Pitts Neuron – Linear Separability –Back-Propagation Network – Radial Basis
Function Network, multi-level classification.
Unit-III:
Model Assessment and Selection: Loss function, test and training error, Bias, Variance, and
model complexity, Bias-variance trade off, Bayesian approach and BIC, Cross-validation,
Boot strap methods, Performance of Classification algorithms (Confusion Matrix, Precision,
Recall and ROC Curve), Introduction to Gradient Descent, The Curse of Dimensionality,
Dimensionality Reduction, Principal Component Analysis.
Unit-IV:
Unsupervised Learning and Random forests: Cluster analysis (k-means, Hierarchical
clustering, DBSCAN, spectral clustering), Gaussian mixtures and EM algorithm, Random
forests and analysis.
Introduction to Deep Learning, Case studies on Digit classification and Image recognition.
Text Books:
Reference Books:
1. Write Python programs for Creation and Loading different types of datasets in Python
using the required libraries.
a) Creation using pandas
b) Loading CSV dataset files using Pandas
c) Loading datasets using sklearn
2. Write a python program to compute Mean, Median, Mode, Variance, Standard
Deviation using Datasets
3. Demonstrate various data pre-processing techniques for a given dataset. Write a
python program to compute
a) Reshaping the data,
b) Filtering the data,
c) Merging the data
d) Handling the missing values in datasets
e) Feature Normalization: Min-max normalization
4. Implement Naïve Bayes theorem to classify the English text using Python.
5. Write a python program to implement the naïve Bayesian classifier for a sample
training data set stored as a .CSV file. Compute the accuracy of the classifier,
considering few test data sets.
6. Implement linear regression using python.
7. Write a program to implement k-Nearest Neighbor algorithm to classify the iris data
set. Vary the number of k values as follows and compare the results:
a. 1 b. 3 c. 5 d. 7 e. 11
8. Build Artificial Neural Network model with back propagation on a given dataset.
9. Implement Dimensionality reduction using Principal Component Analysis (PCA)
method on a dataset (For example Iris).
10. Write a python program to implement K-Means clustering Algorithm.
11. Apply EM algorithm to cluster a set of data stored in a .CSV file. Use the same data
set for clustering using k-Means algorithm. Compare the results of these two
algorithms and comment on the quality of clustering.
12. Write a python program to implement DBSCAN clustering Algorithm.
13. Consider different classification problem like Digit Classification, Image
Classification. Implement that using different ML techniques and compare their result
and make a report.
Course Objectives:
Learning Outcomes:
Unit-I:
Introduction to Compiling: Compilers, Analysis of the source program, The phases of a
compiler, Cousins of the compiler, The grouping of phases, Compiler-construction tools.
Lexical Analysis: The role of the lexical analyzer, Input buffering, Specification of tokens,
Recognition of tokens, A language for specifying lexical analyzers, Finite automata, From a
regular expression to an NFA, Design of a lexical analyzer generator.
Unit-II:
Syntax Analysis: The role of the parser, Review of Context-Free Grammars – Derivation
trees and Parse Trees, Ambiguity, eliminating ambiguity, Left recursion, Left factoring. Top-
Down Parsing: Recursive Descent parsing, Predictive parsing, LL(1) Grammars. Bottom-Up
Parsing: Shift Reduce parsing, LR parsing – Constructing SLR parsing tables, Constructing,
Canonical LR parsing tables and Constructing LALR parsing tables.
Unit-III:
Syntax Directed Translation: Syntax Directed Definitions, Evaluation orders for SDD‘s,
Application of SDT, SDT schemes, Implementing L-attribute SDD‘s.
Intermediated Code Generation: Need for intermediate code, Types of intermediate code,
Three address code, Quadruples, Triples, Assignment statements, Boolean expressions.
Unit-IV:
Run-Time Environments: Source Language issues, Storage organization, Storage allocation
strategies, Access to nonlocal names, parameter passing, Symbol tables.
Code generation: Issues in the design of a code generator, Basic blocks and flow graphs, A
Simple code generator, Register allocation and assignment, The DAG representation of basic
blocks, Peephole optimization, Generating code from DAGs.
Text Books:
Compilers Principles, Techniques and Tools by Alfred V. Aho, Monica S. Lam, Ravi
Sethi, Jeffrey D. Ullman, Pearson.
Compiler Design by Santanu Chattopadhyay, PHI.
Reference Book:
Course Objectives:
To know the evolution of the Internet of Things (IoT), its working mechanisms.
To know and develop Applications of IoT in our daily life.
Learning Outcomes:
Unit-I:
Emergence of IoT: Introduction, Evolution of IoT, Layered Architecture, Networking
Components, Addressing Strategies. IoT Enabling Technologies: Wireless Sensor Networks,
Cloud Computing, Big Data Analytics, Embedded Systems.
IoT Levels and Deployment Templates: Introduction, IoT Level-1 to Level-6. IoT Sensing
and Actuation: Introduction, Sensors, their characteristics and types. Actuators, their
characteristics and types.
Unit-II:
Application Domains of IoT: Introduction, Home Automation, Cities, Environment, Energy,
Retail, Logistics, Agriculture, Industry, Health & Lifestyle. Paradigms, Challenges and
Future: Evolution of new IoT Paradigms, Challenges associated with IoT, Emerging Pillars of
IoT.
IoT Processing Topologies: Data Format, importance of processing, processing topologies,
IoT device design and selection considerations, Processing offloading.
Unit-III:
IoT Connectivity Technologies: Introduction & types, IEEE 802.15.4, Zigbee, Thread,
Wireless HART, RFID, NFC, Z-Wave, LoRa, Wi-Fi, Bluetooth.
IoT Communication Technologies: Introduction, Protocols for Infrastructure, Discovery,
Data, Identification, Device Management and Semantic.
Unit-IV:
Introduction to various IoT Development Platforms, Sensor development boards/platforms,
Arduino versus Raspberry Pi. Arduino: Introduction, installation & setup. Introduction to
Sketch, Data Types, Operators, Control Statements, Arrays, String, Common Functions and
Libraries.
Text Books:
Reference Books:
Course Objectives:
To understand emerging issues related to various fields of data science.
To understand the underlying principles of data science, exploring data analysis.
To learn the basics of R Programming.
Learning Outcomes:
Upon completion of this course, students will be able to:
1. Appreciate the importance of data science & learn the use different data analysis tools
2. Learn R Programming
3. Understand the techniques for data cleaning
4. Learn the use of various data analysis and visualization tools
Unit-I:
Data Scientist’s Tool Box: Turning data into actionable knowledge, introduction to the
tools that are used in building data analysis software: version control, markdown, git,
GitHub, R, and RStudio.
Unit-II:
R Programming Basics: Overview of R, R data types and objects, reading and writing
data, Control structures, functions, scope rules, dates and times, Loop functions, debugging tools,
Simulation, code profiling.
Unit-III:
Getting and Cleaning Data: Obtaining data from the web, from APIs, from databases
and other sources in various formats, basics of data cleaning and making data “tidy”.
Unit-IV:
Exploratory Data Analysis: Essential exploratory techniques for summarizing data, applied
before formal modeling commences, eliminating or sharpening potential hypotheses about the
world that can be addressed by the data, common multivariate statistical techniques used to
visualize high-dimensional data.
Text Book:
Rachel Schutt, Cathy O'Neil, "Doing Data Science: Straight Talk from the Front
line" Schroff /O'Reilly, 2013.
Reference Books:
Foster Provost, Tom Fawcett, “Data Science for Business” What You Need to
Know About Data Mining and Data-Analytic Thinking by O'Reilly, 2013.
John W. Foreman, “Data Smart: Using data Science to Transform Information into
Insight” by John Wiley & Sons, 2013.
Eric Seigel, “Predictive Analytics: The Power to Predict who Will Click, Buy, Lie,
or Die", 1st Edition, by Wiley, 2013.
Project Work-II
Student of four-year Bachelor’s Degree (Honours without Research) are required to take up a
software development project under the guidance of a faculty Member. The students are
expected to initiate the project work during seventh semester and complete the Project in the
Eighth Semester and submit a project report for evaluation by an external examiner. The
template for project report can be as BCS 6.3: Project Work-I.
Student of four-year Bachelor’s Degree (Honours with Research) are required to take up
Research Projects under the guidance of a faculty Member. The students are expected to
initiate the project work during seventh semester and complete the Research Project in the
Eighth Semester. The Research outcome of their project work may be published in peer-
reviewed journals or may be presented in conferences/ seminars or may be patented. The
evaluation of the dissertation has to be made by an external examiner.
Course Objectives:
Learning Outcomes:
Unit-I:
Unit-II:
Research Design: Meaning of Research Design, Need for Research Design, Features of a
Good Design, Important Concepts Relating to Research Design, Different Research
Designs, Basic Principles of Experimental Designs and Conclusion.
Methods of Data Collection: Collection of Primary Data, Observation Method, Interview
Method, Collection of Data through Questionnaires, Collection of Data through Schedules,
Difference between Questionnaires and Schedules, Some Other Methods of Data Collection,
Collection of Secondary Data, Selection of Appropriate Method for Data Collection.
Unit-III:
Unit-IV:
Chi-square Test: Chi-square as a Test for Comparing Variance, Chi-square as a Non-
parametric Test, Conditions for the Application of χ2 Test, Steps Involved in Applying Chi-
square Test, Alternative Formula, Yates’ Correction, Conversion of χ2 into Phi Coefficient,
Conversion of χ2 into Coefficient by Contingency, Important Characteristics of χ2 Test.
Analysis of Variance: Analysis of Variance (ANOVA), The Basic Principle of ANOVA,
ANOVA Technique
Books:
Research Methodology Methods and Techniques, Kothari, C. R., New Age.
Research Methodology: a step-by-step guide for beginners, Kumar, Pearson
Education.
Practical Research Methods, Dawson, C., UBSPD Pvt. Ltd. 5. Research
Methodology, Sharma, N. K., KSK Publishers, NewDelhi.