Cs All Ge's List
Cs All Ge's List
University of Delhi
T
Under UGCF 2022
AF
R
D
Approved in
UG Committee meeting held on May17, 2022
Faculty of Mathematical Sciences meeting held on May 25, 2022
To obtain a “Minor in Computer Science”, a student must study GE1a, GE 3a - GE6a
GEs of Semester I, III, V and VII can be taken in any order so long as the prerequisites are
satisfied. Similarly, GEs of Semester II, IV, VI and VIII can be taken in any order so long as
the prerequisites are satisfied.
T
Table of additional GEs
Sem
ester
GE
-No.
AF
Title L T* P* Total
credit
s
Pre-requisites
T
GE5c Java Based 3 0 1 4 A course in C++/Java
Web App
AF
Development
T
GE8c Introduction 3 1 0 4 Knowledge of Computer
to Parallel System Architecture, C++,
Programming Knowledge of Basic Data
AF Structures and Algorithms,
Operating Systems
Note:
1. Wherever C++/Java/Python is a prerequisite, C++/Java/Python of plus 2 level is
acceptable.
2. Batch size for Practicals will be (8-10) and Tutorials will be (12-15).
R
It was recommended to add more electives in Semester VII and VIII in due course of time.
Course Objective
This course is designed to introduce programming concepts using C++ to students. The
course aims to develop structured as well as object-oriented programming skills using C++
programming language. The course also aims to achieve competence amongst its students
to develop correct and efficient C++ programs to solve problems in their respective
domains.
Syllabus
T
Arrays, Keywords, Decision making constructs, Iteration, Type Casting, Input-output
statements, Functions, Command Line Arguments/Parameters
References
1. Stephen Prata, C++ Primer Plus, 6th Edition, Pearson India, 2015.
2. E Balaguruswamy, Object Oriented Programming with C++, 8th edition,
McGraw-Hill Education, 2020.
3. D.S. Malik, C++ Programming: From Problem Analysis to Program Design, 6th
edition, Cengage Learning, 2013.
R
Additional References
(i) Herbert Schildt, C++: The Complete Reference, 4th edition, McGraw Hill, 2003.
D
S=1-2+3-4+…n
The number of terms n is to be taken from the user through the command line. If the
command line argument is not found then prompt the user to enter the value of n.
22
333
4444
55555
T
a. Find the minimum, maximum and average of the array elements
b. Search an element in the array using linear and binary search
5. Write a menu driven program to perform the following operations on a string:
AF
a. Calculate length of the string
b. Check whether the first character of every word in the string is in uppercase or
not
c. Reverse the string
6. Create a class Triangle. Include overloaded functions for calculating the area of a
triangle.
R
7. Create a template class TwoDim which contains x and y coordinates. Define default
constructor, parameterized constructor and void print() function to print the
co-ordinates. Now reuse this class in ThreeDim adding a new dimension as z. Define
D
the constructors and void print() in the subclass. Implement main() to show runtime
polymorphism.
Course Objective
The course is designed to introduce programming concepts using Python to students. The
course aims to develop structured as well as object-oriented programming skills using
Python. The course also aims to achieve competence amongst its students to develop
correct and efficient Python programs to solve problems in their respective domains.
T
3. Solve problems in the respective domain using suitable programming constructs in
Python.
4. Solve problems in the respective domain using the concepts of object oriented
AF
programming in Python.
Syllabus
Unit 2 Creating Python Programs: Identifiers and keywords; Literals, numbers, and
strings; Operators; Expressions; Input/output statements; Defining functions; Control
structures (conditional statements, loop control statements, break, continue and pass, exit
D
Unit 3 Built-in data structures: Mutable and immutable objects; Strings, built-in functions
for string, string traversal, string operators and operations; Lists creation, traversal, slicing
and splitting operations, passing list to a function; Tuples, sets, dictionaries and their
operations.
Unit 4 File and exception handling: File handling through libraries; Errors and exception
handling.
References
1. Taneja, S., Kumar, N., Python Programming- A modular Approach, Pearson
Education India, 2018.
2. Balaguruswamy E., Introduction to Computing and Problem Solving using Python,
2nd edition, McGraw Hill Education, 2018.
Additional References
(i) Brown, Martin C., Python: The Complete Reference, 2nd edition, McGraw Hill
Education, 2018.
(ii) Guttag, J.V. Introduction to computation and programming using Python, 2nd
T
edition, MIT Press, 2016.
*******
*********
*********
*******
******
***
*
4. WAP that accepts a character and performs the following:
a. print whether the character is a letter or numeric digit or a special character
b. if the character is a letter, print whether the letter is uppercase or lowercase
c. if the character is a numeric digit, prints its name in text (e.g., if input is 9,
output is NINE)
5. WAP to perform the following operations on a string
a. Find the frequency of a character in a string.
b. Replace a character by another character in a string.
c. Remove the first occurrence of a character from a string.
d. Remove all occurrences of a character from a string.
T
6. WAP to swap the first n characters of two strings.
7. Write a function that accepts two strings and returns the indices of all the occurrences
of the second string in the first string as a list. If the second string is not present in the
AF
first string then it should return -1.
8. WAP to create a list of the cubes of only the even integers appearing in the input list
(may have elements of other types also) using the following:
a. 'for' loop
b. list comprehension
9. WAP to read a file and
R
a. Print the total number of characters, words and lines in the file.
b. Calculate the frequency of each character in the file. Use a variable of
dictionary type to maintain the count.
D
Course Objective
This course is designed to introduce the students to real-world data analysis problems,
T
their analysis and interpretation of results in the field of exploratory data science using
Python.
AF
Course Learning Outcomes
Unit 2 Array manipulation using Numpy: Numpy array: Creating numpy arrays, various
data types of numpy arrays, indexing and slicing, swapping axes, transposing arrays, data
processing using Numpy arrays
Unit 3 Data Manipulation using Pandas: Data Structures in Pandas: Series, DataFrame,
Index objects, Loading data into Pandas data frame, Working with DataFrames: Arithmetics,
Statistics, Binning, Indexing, Reindexing, Filtering, Handling missing data, Hierarchical
indexing, Data wrangling: Data cleaning, transforming,merging and reshaping
Unit 4 Plotting and Visualization: Using matplotlib to plot data: figures, subplots,
markings, color and line styles, labels and legends, Plotting functions in Pandas: Line,bar,
Scatter plots, histograms, stacked bars, Heatmap
References
1. McKinney W. Python for Data Analysis: Data Wrangling with Pandas, NumPy and
IPython. 2nd edition. O’Reilly Media, 2018..
2. Molin S. Hands-On Data Analysis with Pandas, Packt Publishing, 2019.
T
3. Gupta S.C., Kapoor V.K., Fundamentals of Mathematical Statistics, Sultan Chand &
Sons, 2020.
Additional References
AF
(i) Chen D. Y, Pandas for Everyone: Python Data Analysis, Pearson, 2018.
(ii) Miller J.D. Statistics for Data Science, Packt Publishing, 2017.
1. Load a Pandas dataframe with a selected dataset. Identify and count the missing values
in a dataframe. Clean the data after removing noise as follows
D
T
d. Use a pair plot to show pairwise bivariate distribution
4. Using Titanic dataset, do the following
a. Find total number of passengers with age less than 30
AF
b. Find total fare paid by passengers of first class
c. Compare number of survivors of each passenger class
Project students are encouraged to work on a good dataset in consultation with their faculty
and apply the concepts learned in the course.
This course is designed to inculcate statistical thinking about data to the students who have
studied Mathematics up to Class 10th ONLY. It gently introduces the students to basic
statistics, and builds gradually to cover advanced functionalities for data analysis in
D
spreadsheets. The objective is to enhance the knowledge of statistics and enable students to
make sense of data by analyzing and visualizing it using spreadsheets, interpreting the results
and gaining insights.
T
What–if-analysis: Goal-seek, Data tables, Scenario manager.
Unit 3 Data Analysis: Explore a data model: its content, and its structure, using the Power
Pivot add-in. Learning DAX formula language. Create calculated fields and calculated
measure for each cell, filter context for calculation, and explore several advanced DAX
AF
functions.
Cube formulas to retrieve data from data model.
Unit 4 Data Visualization: Different types of charts including Pivot charts: Column, Line,
Pie, Bar, Scatter charts. Fine tuning of charts: Chart Elements, Chart Styles, Chart Filters,
Box Plot.
References
R
1. Gupta, S.P., Elementary Statistical Methods, Sultan Chand and Sons, New Delhi,
2017.
2. Goldmeier, J., Advanced Excel Essentials, Apress, 2014.
3. Slager, D., Essential Excel 2016: A Step-by-Step Guide, Apress, 2016.
4. Valerie M. Sue and Matthew T. Griffin, Data Visualization and Presentation with
D
4. Create workbook related to sales of Business Company having various product in last
four quarters for 10 sales persons.
i) Make a line graph to show the growth/decline in the sales
ii) Show the graph of each sales person sales
iii) Find the two sales persons done in last 2 quarters
T
iv) Find the sales persons consistent in last four quarters
v) Find the most popular product of the company and the current popular
product of company.
AF
5. Create a Pivot-table showing the Customer Names who placed orders with GSS during
2019-2022. For each customer, also show the total number of orders, Total Sales, and
Total Profit. Add a Slicer or a Filter that can be used to show the information specifically
for each Customer Segment. Use information from the Pivot-table to answer the
following questions (Hint: Filter and sort the data in the Pivot-table to locate the
answer):
i) Which small business customer had the highest sales?
R
ii) Which corporate customer placed the greatest number of orders in
2019-2022? How many orders were placed by the corporate customer?
iii) Which consumer customer was the most profitable one?
iv) What is the sales figure of the least profitable home office customer?
D
1 40%
2 35%
3 30%
T
Net=Gross - PF
i) Find max, min and average salary of employees in respective Grade.
ii) Count no. of people where VA>HRA
AF
iii) Find out most frequently occurring grade.
iv) Extract records where employee name starts with “A” has HRA>10000
v) Print Grade wise report of all employees with subtotals of net salary and
also grand totals.
vi) Use subtotal command.
vii) Extract records where Grade is 1 or 2 and salary is between 10000 and
20000 both inclusive.
R
7. Create workbook related to sales of Business Company having various product in last
ten quarters for 20 sales persons. Perform the following on workbook:
i) Create and modify a Pivot-table
ii) Apply Pivot-table styles and formatting
D
8. Create a PivotTable showing Total Sales breakdown by Region, Product Category, and
Product Sub-Category. Use information from the PivotTable to answer the following
questions:
i) What was the Total Sales figure included in this data set?
ii) Which Product Category had the highest sales?
iii) Which Region had the lowest sales?
iv) What was the Total Sales of Appliances in Delhi?
9. You are required to prepare a payroll statement in the given format making maximum
use of cellreferencing facility:
Is
HRA
to be
Code Name Category Paid Basic DP DA HRA TA CCA Gross
1 Y
2 N
Total
T
Required:
● Basic salary (Allow any Basic salary in the range of Rs.10000-35000)
AF
● DP is 50% of Basic Salary.
● DA (as a Percentage of Basic + DP) is more than 35000 then 40% of basic else 30% of
basic.
● HRA is to be paid @ 40% of (Basic plus DP) to those whom HRA payable is yes.
● TA is to be paid @ Rs. 800 PM if Basic Salary is Less than Rs.12000,
otherwise the TA is Rs. 1000 PM)
● CCA is to be paid @ Rs. 300 PM if Basic Salary is less than Rs.12000/-
otherwise the CCA is Rs. 500 PM)
R
● Gross salary is the sum of Salary and all other allowances
● Deduction: a) GPF 10% of (Basic +DP) subject to a minimum of Rs.2000/- b) IT
10% of Gross Salary
● Net salary is Gross salary minus total deductions.
D
10. Consider the following worksheet for APS 1st year students:
S.No. Name Physics Chem Bio Maths CS Total % Grade
3
4
If % >=90 Grade A
T
Otherwise, students will be declared fail.
i) Calculate Grade using if function
ii) Sort the data according to total marks
AF
iii) Apply filter to display the marks of the students having more than 65%
marks.
iv) Enter the S.No. of a student and find out the Grade of the
student using VLOOKUP.
v) Extract all records where name
a) Begins with “A”
b) Contains “A”
R
c) Ends with “A”
D
Course Objective
The course introduces the students to the fundamentals of database management system and
its applications. Emphasis is given on the popular relational database system. Students will
learn about the importance of database structure and its designing using Entity Relationship
diagram and formal approach using normalization. Basic concepts of file indexing and
transaction processing will be taught. The course would give students hands-on practice of
structured query language to create, manipulate and implement a relational database.
Course Learning Outcomes
On successful completion of the course, students will be able to:
1. Use relational database management software to create and manipulate the database.
2. Create conceptual data models using entity relationship diagrams for modeling
real-life situations and map it to corresponding relational database schema.
T
6. Implement relational databases and formulate queries for data retrieval and data
update problems using SQL .
Syllabus
Unit 3 Relational Data Model: Data anomalies, Relational Data Model - Characteristics of
a relation, schema-instance distinction, types of keys, relational integrity constraints.
D
Relational algebra operators like selection, projection, cartesian product, join and write
simple queries using them.
Unit 4 Structured Query Language (SQL): DDL to create database and tables, table
constraints, DML, Querying in SQL to retrieve data from the database, aggregation
functions group by and having clauses, generate and query views.
References
1. Elmasri, R., Navathe, B. S., Fundamentals of Database Systems, 7th Edition, Pearson
Education, 2016.
2. Murach J., Murach's MySQL, 3th Edition, Pearson, 2019.
Additional References
(i) Connolly T. M., Begg C. E. Database Systems: A Practical Approach to Design,
T
Implementation, and Management, 6th edition, Pearson, 2019.
(ii) Ramakrishnan R., Gehrke J. Database Management Systems, 3rd Edition,
McGraw-Hill, 2014.
AF
(iii) Silberschatz A., Korth H.F., Sudarshan S. Database System Concepts, 7th Edition,
McGraw Hill, 2019.
Create and use the following student-course database schema for a college to answer
the given queries using the standalone SQL editor.
R
STUDENT Roll No StudentName CourseID DOB
Char(6) Varchar(20) Varchar(10) Date
D
Here Rollno (ADMISSION) and SID (ADMISSION) are foreign keys. Note that course type
may have two values viz. Fulltime and Parttime and a student may enroll in any number of
courses
1. Retrieve names of students enrolled in any course.
2. Retrieve names of students enrolled in at least one part time course.
3. Retrieve students' names starting with letter ‘A’.
4. Retrieve students' details studying in courses ‘computer science’ or ‘chemistry’.
5. Retrieve students’ names whose roll no either starts with ‘X’ or ‘Z’ and ends with ‘9’
6. Find course details with more than N students enrolled where N is to be input by the
user
7. Update student table for modifying a student name.
8. Find course names in which more than five students have enrolled
9. Find the name of youngest student enrolled in course ‘BSc(P)CS’
10. Find the name of most popular society (on the basis of enrolled students)
11. Find the name of two popular part time courses (on the basis of enrolled students)
12. Find the student names who are admitted to full time courses only.
T
13. Find course names in which more than 30 students took admission
14. Find names of all students who took admission to any course and course names in
which at least one student has enrolled
15. Find course names such that its teacher-in-charge has a name with ‘Gupta’ in it and
AF
the course is full time.
16. Find the course names in which the number of enrolled students is only 10% of its
total seats.
17. Display the vacant seats for each course
18. Increment Total Seats of each course by 10%
19. Add enrollment fees paid (‘yes’/’No’) field in the enrollment table.
20. Update date of admission of all the courses by 1 year.
21. Create a view to keep track of course names with the total number of students
enrolled in it.
22. Count the number of courses with more than 5 students enrolled for each type of
R
course.
23. Add column Mobile number in student table with default value ‘9999999999’
24. Find the total number of students whose age is > 18 years.
25. Find names of students who are born in 2001 and are admitted to at least one part
time course.
D
26. Count all courses having ‘science’ in the name and starting with the word ‘BSc’.
Students are also encouraged to implement the database given in the textbook and do
the related queries.
Course Objective
T
4. Handle input/output through files.
Syllabus
AF
Unit I Introductory Concepts: program, identifiers, variables, constants, primitive data
types, expressions, Naming Conventions, Type casting, operators, control statements,
structured data types, arrays, functions.
Unit III Multithreading: Creating Threads, Thread Priority, Blocked States, Extending
Thread Class, Runnable Interface, Starting Threads, Thread Synchronization, Sync Code
Block, Overriding Synced Methods, Thread Communication, wait, notify and notify all.
D
Unit IV Introduction to Exception handling: Exception and Error, Throw, try and catch
Blocks, Exception handlers, java.lang Exceptions, Built-InExceptions.
Unit V Introduction to File Handling: Byte Stream, Character Stream, File I/O Basics, File
Operations, Serialization.
References
1. James Gosling, Bill Joy, Guy L. Steele Jr, Gilad Bracha, Alex Buckley, The Java
Language Specification, Java SE 7th edition, Addison-Wesley, 2013.
2. Herbert Schildt, Java: The Complete Reference, 10th edition, McGraw-Hill Education,
2018.
3. Cay S. Horstmann, Core Java - Vol. I – Fundamentals, 10th edition, Pearson, 2017.
5. Kathy Sierra and Bert Bates, Head First Java, 3rd edition, O’Reilly, 2022.
T
1. Create a java program to implement stack and queue concept.
Course Objective
The course aims at developing the ability to use basic data structures like arrays, stacks,
queues, lists, trees to solve problems. C++ is chosen as the language to understand
implementation of these data structures.
Course Learning Outcomes
Syllabus
T
Unit 1 Growth of Functions, Recurrence Relations: Functions used in analysis, asymptotic
notations, asymptotic analysis, solving recurrences using recursion tree, Master Theorem.
Unit 2 Arrays, Linked Lists, Stacks, Queues, Deques: Arrays: array operations,
AF
applications, sorting, two-dimensional arrays, dynamic allocation of arrays; Linked Lists:
singly linked lists, doubly linked lists, circularly linked lists, Stacks: stack as an ADT,
implementing stacks using arrays, implementing stacks using linked lists, applications of
stacks; Queues: queue as an ADT, implementing queues using arrays, implementing queues
using linked lists, double-ended queue as an ADT. Time complexity analysis of operations on
all data structures.
Unit 3 Sorting: Insertion Sort, Count Sort and their complexity analysis.
R
Unit 4 Recursion: Recursive functions, linear recursion, binary recursion.
Unit 5 Trees, Binary Trees: Trees: definition and properties, binary trees: definition and
properties, traversal of binary trees and their time complexity analysis.
Unit 6 Binary Search Trees, Balanced Search Trees: Binary Search Trees: insert, delete
D
(by copying), search operations, time complexity analysis of these operations; Balanced
Search Trees and (2,4) Trees: motivation and introduction.
Unit 7 Binary Heap, Priority Queue: Binary Heaps: motivation and introduction,
application of heaps - Priority Queues.
References
1. Goodrich, M.T, Tamassia, R., & Mount, D., Data Structures and Algorithms Analysis
in C++, 2nd edition, Wiley, 2011.
2. Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C., Introduction to Algorithms. 4 th
edition. Prentice Hall of India. 2022.
3. Drozdek, A., Data Structures and Algorithms in C++, 4th edition, Cengage Learning,
2012.
Additional References
(i) Sahni, S. Data Structures, Algorithms and applications in C++, 2nd edition.
Universities Press, 2011.
(ii) Langsam Y., Augenstein, M. J., & Tanenbaum, A. M. Data Structures Using C and
C++, 2nd edition, Pearson, 2009.
T
2. Implement following recursive functions:
a. Factorialof a number
b. Nth fibonacci number
c. Power function: xy
AF
3. Implement singly linked lists.
3. Implement doubly linked lists.
4. Implement circular linked lists.
5. Implement stack data structure and its operations using arrays.
6. Implement stack data structure and its operations using linked lists.
7. Convert Prefix expression to Infix and Postfix expressions, and evaluate.
8. Implement queue data structure and its operations using arrays.
9. Implement queue data structure and its operations using linked lists.
R
10. Implement Binary Trees and its traversals.
D
Course Objective
The course aims at introducing the basic concepts and techniques of client side web
programming. The student shall be able to develop simple websites using HTML, CSS
and Javascript.
2. Build dynamic websites using the client side programming techniques with CSS and
Javascript.
Syllabus
Unit 1 Introduction: Introduction to internet and web design. Basic concepts of web
architecture.
T
Unit 2 HTML: Introduction to hypertext mark-up language (html), creating web pages, lists,
hyperlinks, tables, web forms, inserting images, frames.
Unit 3 Cascading style sheet (CSS): Concept of CSS, creating style sheet, Importing style
AF
sheets, CSS properties, CSS styling (background, text format, controlling fonts), CSS rules,
Style Types, CSS Selectors, CSS cascade, working with block elements and objects, working
with lists and tables, CSS id and class, box model (introduction, border properties, padding
properties, margin properties).
Unit 4 Javascript: Document object model, data types and variables, functions, methods
and events, controlling program flow, JavaScript object model, built-in objects and operators,
R
validations.
References
1. Powell, T.A., HTML & CSS: The Complete Reference, 5th edition, Tata
D
McGrawHill, 2010.
2. Minnick, J. ,Web Design with HTML5 and CSS3, 8th edition, Cengage Learning,
2015.
3. J. A. Ramalho , Learn Advanced HTML 4.0 with DHTML, BPB Publications, 2007.
Additional References
(i) Boehm, A., & Ruvalcaba, Z. Murach’s, HTML5 and CCS, 4th edition, Mike
Murach & Associates, 2018.
(ii) Ivan Bayross , Web Enabled Commercial Application Development Using Html,
Dhtml, Javascript, Perl CGI , BPB Publications, 2009.
HTML
T
Images, Internal and External linking
3. Create an HTML displaying this semester’s time table.
4. Create a website with horizontal and vertical frames. Top horizontal frame showing your
AF
college’s name and logo. Bottom horizontal frame split into two vertical frames. The left
frame with hyperlinks to pages related to faculty, courses, student activities, etc. The
right frame showing corresponding pages based on the link clicked on the left frame.
5. Create a student registration form using HTML which has the following controls:
a. Text Box
b. Dropdown box
R
c. Option/radio buttons
d. Check boxes
e. Reset and Submit button
D
CSS
Create a webpage for your department with drop down navigation menu for faculty, courses,
activities, etc.. Implement the webpage using styles, rules, selectors, ID, class.
Javacript
2. Create a student registration form using text, radio button, check box, drop down box,
text field and all other required HTML elements. Customize the CSS and javascript to
input and validate all data. Create functions to perform validation of each element,
example:
T
b. Name should be an alphabetical value(String)
The course introduces Operating System and its importance in computer systems. The focus
is to explain the common services provided by an operating system like process
D
management, memory (primary, secondary & virtual) management, I/O management, file
management. The course talks about the various functional components of the operating and
their design.
At the successful completion of the course, students will also be able to gain knowledge of
different concepts of the operating System and its components. They would learn about shell
scripts and would be able to use the system in an efficient manner.
Syllabus
Unit 1 Introduction: Operating Systems (OS) definition and its purpose, Multiprogrammed
and Time Sharing Systems, OS Structure, OS Operations: Dual and Multi-mode, OS as
resource manager.
Unit 2 Operating System Structures: OS Services, System Calls: Process Control, File
Management, Device Management, and Information Maintenance, Inter-process
Communication, and Protection, System programs, OS structure- Simple, Layered,
Microkernel, and Modular.
Unit 3 Process Management: Process Concept, States. Process Control Block, Context
Switch, Process scheduling, Schedulers, Overview of threads and Scheduling Algorithms:
First Come First Served, Shortest-Job-First, Priority & Round-Robin.
T
Unit 4 Memory Management: Physical and Logical address space, Swapping Contiguous
memory allocation strategies - fixed and variable partitions, Segmentation, Paging, virtual
memory: Demand Paging.
AF
Unit 5 File and Input / Output Device Management: File Concepts, File Attributes, File
Access Methods, Directory Structure: Single-Level, Two-Level, Tree-Structured, and
Acyclic-Graph Directories, Magnetic Disks, Solid-State Disks, Magnetic Tapes.
Unit 6 Shell Scripting: Shell variables, parameter passing conditional statements, iterative
statements, writing and executing shell scripts, utility programs (cut, paste, grep, echo, pipe,
filter etc.)
R
References
1. Galvin, S. P. B., Gagne, G., Operating System Concepts, 9th edition, John Wiley
Publications, 2016.
2. Das, S., Unix: Concepts and Applications, 4th Edition, TMH, 2009.
D
Additional References
(i) Dhamdhere, D. M., Operating Systems: A Concept-based Approach, 2nd edition, Tata
McGraw-Hill Education, 2017.
(ii) Kernighan, B. W., Pike, R., The Unix Programming Environment, Englewood Cliffs,
NJ: Prentice-Hall, 1984.
(iii) Stallings, W., Operating Systems: Internals and Design Principles, 9th edition,
Pearson
Education, 2018.
(iv) Tanenbaum, A. S., Modern Operating Systems. 3rd edition. Pearson Education, 2007.
1. Usage of following commands: ls, pwd, cat, who, rm, mkdir, rmdir,cd.
2. Usage of following commands: cal, cat(append), cat(concatenate), mv, cp, man, date.
3. Usage of following commands: chmod, grep, bc.
4. Write a shell script to display date in the mm/dd/yy format.
5. Write a shell script to display the multiplication table any number.
6. Write a shell script to find the factorial of a given number.
7. Program to show the pyramid of special character “*”.
T
8. Write a shell script to find the sum of digits of a given number.
9. Write a shell script to perform the tasks of basic calculator.
10. Write a shell script to find the power of a given number.
11. Write a shell script to check whether the number is Armstrong or not.
AF
12. Write a shell script to find the GCD (greatest common divisor) of two numbers.
13. Write a shell script to check if the number entered at the command line is prime or
not.
14. Write a shell script to display on the screen sorted output of “who” command along
with the total number of users.
15. Write a shell script to accept a login name. If not a valid login name display message
– “Entered login name is invalid”.
16. Write a shell script to compare two files and if found equal asks the user to delete the
R
duplicate file.
17. Write a shell script to merge the contents of three files, sort the contents and then
display them page by page.
18. Write a shell script to check whether the file have all the permissions or not.
D
19. Write a shell script to modify “cal” command to display calendars of the specified
months.
20. Write a shell script to modify “cal” command to display calendars of the specified
range of months.
Course Objective
The course aims to familiarize the students with the concepts and techniques of server side
web programming. This will enable the students to create dynamically generated web pages
using HTML, PHP, MySql and JQuery.
Course Learning Outcomes
On successful completion of this course, the student will be able to:
1. develop interactive and dynamic websites.
2. write programs to communicate with the server using GET and POST methods
3. learn to connect and manipulate databases using MySql
4. validate server-side/backend data
Syllabus
Unit 1 Introduction to PHP: Basic Syntax, defining variables and constants, data types,
operators and expressions, decision making statements, constructs for iterations.
T
Unit 2 String: Handling: Creating a string and accessing its content, searching and replacing
content of a string, and other built-in functions.
AF
Unit 3 Handling HTML Form with PHP: Creating a form, submitting data to the server at
the backend using GET and POST methods, GET vs POST methods.
Unit 4 Database: Connectivity with MySQL: Connectivity with database, database creation,
creating tables, insertion and retrieval of the data from the database.
Unit 5 jQuery and JSON: Introduction to jQuery, syntax, selectors, events. JSON file
format for storing and transporting data.
R
References
1. Nixon, R. Learning PHP, MySQL & JavaScript with jQuery, CSS and HTML5,
O'Reilly, 2018.
2. Holzner S. PHP: The Complete Reference, McGraw Hill, 2017
D
3. Murach J, Murach's PHP and MySQL, 2nd edition, Mike Murach & Associates,
2014.
4. Duckett, J. JavaScript and JQuery: Interactive Front-End Web Development,
Wiley, 2014.
T
c. Replace text within a string
d. Remove whitespace and other predefined characters from both sides of a string.
e. Check if a value is a string
f. Convert the first character of each word in a string into uppercase.
AF
6. Design a Login form and validate that form using PHP code. Display error message box
when data is not valid otherwise redirect to the next page and display “Welcome
username!”.
7. Design a student registration form, using appropriate input fields consisting of following:
a. First Name
b. Last Name
c. Gender
R
d. Roll Number
e. Phone Number
f. Course
Submit and retrieve the form data using $_POST, $_GET variable.
D
8. Write PHP Code to make connection to MySql database, create database and tables
and perform insertion, deletion, and retrieval of the data from the database. Display the
messages such as “The record is added in the database!” when data is inserted into the
database, “A record is deleted from the database” when data is deleted from the database.
Use appropriate button names such as Add Data, Delete Data, and Display Data.
Course Objective
Under Preparation
T
Syllabus
Unit 3 Introduction to servlets: Concepts of Streams, events and listener, recap of HTML,
CSS, XML, Servlet package and interface, life cycle of servlet, deployment descriptor,
R
Filters, HHTP and Generic servlet, request dispatcher, Request Response classes, Dynamic
page designing using servlet.
Unit 4 Introduction to JSP: JSP Life cycle, tags in JSP, custom tags, Expression Language,
D
References
1. Herbert Schildt, Java : The Complete Reference, 12th edition, McGraw-Hill Education,
2021.
2. Hans Bergsten, Java Server Pages, 3rd edition, O′Reilly, 2003.
3. Jim Keogh, The Complete Reference J2EE, 1st edition, McGraw-Hill Education, 2017.
Course Objective
The course objectives of this paper are to:understand the concepts behind computer
networks and data communication. learn the different types of networks, network
topologies and their characteristics. learn the working of protocols used at various layers.
understand the utility of different networking devices.
T
Upon successful completion of the course, students will be able to:
1. differentiate between various types of computer networks and their topologies.
2. understand the difference between the OSI and TCP/IP protocol suit.
AF
3. distinguish between different types of network devices and their functions.
4. design/implement data link and network layer protocols in a simulated networking
environment.
Syllabus
Unit 1 Introduction: Types of computer networks, Internet, Intranet, network topologies
(bus, star, ring, mesh, tree, hybrid topologies), network classifications. layered architecture
R
approach, OSI Reference Model, TCP/IP Reference Model. Transmission Modes: simplex,
half duplex and full duplex.
Unit 2 Physical Layer: Analog signal, digital signal, the maximum data rate of a channel,
transmission media (guided transmission media, wireless transmission, satellite
D
Unit 3 Data Link and MAC Layer: Data link layer services, error detection and
correction techniques, error recovery protocols (stop and wait, go back n, selective repeat),
multiple access protocols with collision detection, MAC addressing, Ethernet, data link
layer switching, point-to-point protocol.
Unit 4 Network layer: Networks and Internetworks, virtual circuits and datagrams,
addressing, subnetting, Dijkstra Routing algorithm, Distance vector routing, Introduction
to Network Layer protocol- (ARP, IPV4, ICMP).
References
T
1. Tanenbaum, A.S. & Wethrall, D.J., Computer Networks, 5th edition, Pearson Education,
2012.
AF
2. Forouzan, B. A., Data Communication and Networking, 4th edition, McGraw-Hill
Education, , 2017.
Additional References
(i) Comer, D. E., Computer Networks and Internet, 6th edition, Pearson Publication, 2015.
(ii) Stallings, W., Data and Computer Communications, 10th edition, Pearson education
R
India, 2017.
2. Simulate and implement stop and wait protocol for noisy channel.
3. Simulate and implement go back n sliding window protocol.
4. Simulate and implement selective repeat sliding window protocol.
5. Simulate and implement distance vector routing algorithm.
6. Simulate and implement the Dijkstra algorithm for shortest-path routing.
Course Objective
T
3. Develop a RESTful web services.
Unit 1 Introduction to React: Definition of React, React library, React Developer tools,
Introduction to ES6, Declaring variables, Arrow Functions, Objects and Arrays, modules,
Introduction to AJAX, Functions in AJAX Pure React: Page setup, virtual DOM, React
Element, React DOM, Constructing Elements with Data, React Components, DOM
R
Rendering, First React Application using Create React App, React with JSX, React Element
as JSX Props, State and Component Tree: Property Validation, Validating Props with
createClass, Default Props, ES6 Classes and stateless functional components, React state
management, State within the component tree, state vs props, Forms in React
D
Unit 2 Rest APIs: JSON: Introduction, Syntax, Data Types, Objects, Schema. REST API:
Introduction, WRML, REST API Design, Identifier Design with URIs, Interaction Design
with HTTP, Representation Design, Caching, Security.
References
1. D. Brad, B. Dayley and C. Dayley, Node. js, MongoDB and Angularjs Web
Development: The definitive guide to using the MEAN stack to build web applications,
2nd edition, Addison-Wesley, 2018.
2. D. Herron, Node.js Web Development, 5th edition, Packt Publishing, 2020.
3. A. Banks and E. Porcello, Learning React: Functional Web Development with React and
Redux, 1st edition, O’Reilly, 2017.
4. M. Masse, REST API – Design Rulebook, 1st edition, O’Reilly, 2011.
Suggested Practical List
Under Preparation
Course Objective
T
This course introduces the basic concepts and techniques of Artificial Intelligence (AI) along
with the foundations of AI. Artificial Intelligence is the branch of computer science devoted
to the study and development of methods that enable computers to do things that would
require intelligence if done by humans. The focus of this course is to impart knowledge about
AF
the use of core AI techniques having applicability to a wide range of real-world problems.
Topics covered comprise an introduction to AI and intelligent agents, concepts of learning
and reasoning, search techniques, game playing, knowledge representation and understanding
of natural languages.
Syllabus
Unit 5 AI- The Present and Future: Weak AI, Strong AI, Human-level AI Models,
Data-driven Models and Machine Learning End-to-end Deep Learning AI Models.
T
Text Books
1. Russell, Stuart, J. and Norvig, Peter, Artificial Intelligence - A Modern Approach,
Pearson, 4th edition, 2020.
AF
2. Rich, Elaine and Knight, Kelvin, Artificial Intelligence, 3rd edition, Tata McGraw
Hill, 2010.
3. Bratko, Ivan, Prolog Programming for Artificial Intelligence, Addison-Wesley,
Pearson Education, 4th edition, 2012.
Reference Books
(i) Kaushik, Saroj, Artificial Intelligence, Cengage Learning India, 2011.
R
(ii) Patterson, DAN,W, Introduction to A.I. and Expert Systems – PHI, 2007.
(iii) Clocksin, W., F. and Mellish, Programming in PROLOG, 5th edition, Springer,
2003.
D
1. Write a program to implement two agents to communicate with each other with message
passing in Python/Prolog.
2. Write a program to implement the Hill climbing search algorithm in Python/Prolog.
3. Write a program to implement the Best first search algorithm in Python/Prolog.
4. Write a program to implement A* search algorithm in Python/Prolog.
5. Write a program to implement the min-max search algorithm in Python/Prolog.
6. Write a program to solve the Water-Jug Problem in Python/Prolog.
7. Implement sudoku problem (minimum 9×9 size) using constraint satisfaction in
Python/Prolog.
8. Write a prolog program to implement the family tree and demonstrate the family
relationship.
9. Write a prolog program to implement knowledge representation using frames with
appropriate examples.
10. Write a Prolog program to implement conc(L1, L2, L3) where L2 is the list to be
appended with L1 to get the resulted list L3.
11. Write a Prolog program to implement reverse(L, R) where List L is original and List R
is reversed list.
12. Write a PROLOG program to generate a parse tree of a given sentence in English
T
language assuming the grammar required for parsing.
13. Write a prolog program to recognize context free grammar anbn.
AF
GE7a: Information Security
Course Objective
The goal of this course is to make a student learn basic principles of information security.
Over the due course of time, the student will be familiarized with cryptography,
authentication and access control methods along with software security. Potential security
R
threats and vulnerabilities of systems are also discussed along with their impacts and
countermeasures. This course also touches upon the implications of security in cloud and
Internet of Things (IoT).
Unit 3 Data Security: User authentication and Access Control, Database and Data Center
Security
Unit 4 Software Security: Types of Malicious Software, Threats, Viruses, Worms, SPAM
T
E-Mail, Trojans, Payload — System Corruption, Payload — Attack Agent — Zombie, Bots,
Payload — Information Theft — Keyloggers, Phishing, Spyware, Payload — Stealthing —
Backdoors, Rootkits, Countermeasures. Overflow Attacks - Stack Overflows, Defending
Against Buffer Overflows, Other Forms of Overflow Attacks. Handling Program Input,
AF
Writing Safe Program Code, Interacting with the Operating System and Other Programs.
Unit 6 Wireless, Cloud and IoT Security: Cloud Computing, Cloud Security Concepts,
R
Cloud Security Approaches, The Internet of Things, IoT Security. Wireless Security
Overview, Mobile Device Security, IEEE 802.11 Wireless LAN.
References
D
1. Stallings, W. and Brown L., Computer Security: Principles and Practice, 4th edition,
Pearson education, 2018.
Additional References
1. Pfleeger C.P., Pfleeger S.L., Margulies J. Security in Computing, 5th edition, Prentice
Hall, 2015.
2. Lin S., Costello D.J., Error Control Coding: Fundamentals and applications, 2nd
edition, Pearson Education, 2004.
3. Stallings W. Cryptography and network security, 7th edition, Pearson Education,
2018.
4. Berlekamp E. Algebraic Coding Theory, World Scientific Publishing Co., 2015.
5. Stallings W. Network security essentials Applications and Standards, 6th edition,
Pearson Education, 2018.
6. Whitman M.E., Mattord H.J., Principle of Information Security, 6th edition, Cengage
Learning, 2017.
7. Bishop M., Computer Security: Art and Science, 2nd Revised Edition, Pearson
Education, 2019.
8. Anderson R.J., Security Engineering: A guide to building Dependable Distributed
Systems, 2nd Edition, John Wiley & Sons, 2008.
T
passwords using these tools.
3. Use nmap/zenmap to analyse a remote machine.
4. Use Burp proxy to capture and modify the message.
5. Implement caeser cipher substitution operation.
AF
6. Implement monoalphabetic and polyalphabetic cipher substitution operation.
7. Implement playfair cipher substitution operation.
8. Implement hill cipher substitution operation.
9. Implement rail fence cipher transposition operation.
10. Implement row transposition cipher transposition operation.
11. Implement product cipher transposition operation.
R
GE7b: Design and Analysis of Algorithms
Course Objective
The course is designed to develop understanding of different algorithm design techniques and
D
use them for problem solving. The course shall also enable the students to verify correctness
of algorithms and analyze their time complexity.
Syllabus
Unit 1 Sorting, Selection: Insertion Sort, Linear Time Sorting - Count Sort, Radix Sort,
Selection Problem. Analysis of time complexity of all algorithms.
Unit 3 Divide and Conquer: Introduction to divide and conquer technique, Merge Sort,
Quick Sort with analysis of time complexity.
T
complexity.
References
AF
1. Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C., Introduction to Algorithms, 4th
edition. Prentice Hall of India. 2022.
2. Kleinberg, J., Tardos, E., Algorithm Design, 1st edition, Pearson, 2013.
Additional References
R
(i) Basse, S., Gelder, A. V. Computer Algorithms: Introduction to Design and Analysis.
3rd edition, Pearson, 1999.
1. Implement Insertion Sort, Selection sort, Bubble Sort (The program should report
the number of comparisons).
2. Implement Merge Sort (The program should report the number of comparisons).
3. Implement Quick sort (The program should report the number of comparisons).
4. Implement Radix Sort.
5. Implement Count Sort.
6. Implement Searching Techniques: Linear and binary.
7. Implement BFS traversal on a graph.
8. Implement DFS traversal on a graph.
9. Implement 0-1 knapsack problem using DP
GE7c: Internet Technologies - Mobile App Design and Development
Course Objective
Under Preparation
Syllabus
Unit 1 Android Systems: Introduction to Mobile devices and applications, Open Handset
Alliance (OHA), Overview of Android OS and architecture, installing android studio.
T
Introduction to Android application components, Intents, Android Manifest File and its
common settings, Using Intent Filter, Permissions Activities and intents: understanding
activity and its life cycle, Types of intents, intent filter, context, data sharing using intent
AF
Unit 2 Android User Interface: Basic android UI, layouts, view and view attributes, button,
controls. UI events and event listeners, animations, notifications, progress dialog, Action bar,
toolbar, menus and pop ups, Tab based UI, Fragment, Types of Fragment, Fragment
Lifecycle, communication between fragment and activity
Unit 3 Android Storage and APIs: Android storage: Using Android Data and Storage APIs,
Managing data using SQLite, Sharing Data between Applications with Content Providers
Android APIs: Multimedia, Using Android Networking APIs, Using Android Web APIs,
R
Using Android Telephony APIs, android location based services
Unit 4 iOS Technology Stack: Introduction to iOS technology stack: iOS architecture,
StoryBoard, features of Xcode, components of iOS SDK. Introduction to swift: data types,
D
variables, control flow and operators, Collections and functions in swift, classes and
structures, inheritance, closure and. enumerations
Unit 5 User interactions: Controls, gesture organizers, touching views, Core Location and
Mapkit, using Google Maps in iOS. Sensors in iOS. Data persistence: Core Data framework
for storing persistent data, CRUD operations.
References
1. Meier Reto and Ian Lake, Professional Android, 4th edition, Wrox, 2018.
2. Craig Grummitt, iOS Development with Swift, Manning publications.
3. Rick Boyer, Android 9 Development Cookbook, Packt Publishing Limited, 2018.
Course Prerequisites
A course in probability, statistics, linear algebra and multivariate analysis
Course Objective
T
The course aims at introducing the basic concepts and techniques of machine
learning so that a student can apply machine learning techniques to a problem at
hand.
Course Learning Outcomes
AF
On successful completion of this course, the student will be able to:
1. Differentiate between supervised and unsupervised learning tasks.
Syllabus
D
Unit 1 Introduction: Basic definitions and concepts, key elements, supervised and
unsupervised learning, introduction to reinforcement learning, applications of ML.
Unit 3 Regression: Linear regression with one variable, linear regression with multiple
variables, gradient descent, over-fitting, regularization. Regression evaluation metrics.
Unit 4 Classification: Decision trees, Naive Bayes classifier, logistic regression, k-nearest
neighbor classifier, perceptron, multilayer perceptron, neural networks, back-propagation
algorithm, Support Vector Machine (SVM). Classification evaluation metrics.
References
2. James, G., Witten. D., Hastie. T., Tibshirani., R. An Introduction to Statistical Learning
with Applications in R, Springer, 2014.
T
3. Alpaydin, E. Introduction to Machine Learning, MIT press, 2009.
Additional References AF
(i) Flach, P. Machine Learning: The Art and Science of Algorithms that Make Sense of
Data, Cambridge University Press, 2015.
(ii) Christopher & Bishop, M. Pattern Recognition and Machine Learning, New York:
Springer-Verlag, 2016.
(iii) Sebastian Raschka, Python Machine Learning, Packt Publishing Ltd., 2019.
T
GE8b: Digital Marketing and Social Media Analytics
Under Preparation
AF
GE8c: Introduction to Parallel Programming
Course Prerequisites
R
Programming in C++, Data Structures, Computer System Architecture, Operating Systems
Course Objective
D
The course introduces the students to the basic concepts and techniques of parallel
programming. It enables them to design and implement parallel algorithms. The course
would give the students hands-on practice to write parallel programs using shared and
distributed memory models using OpenMP and Message Passing Interface (MPI).
Unit 2 OpenMP programming for shared memory systems: Thread Basics, Controlling
Thread and Synchronization Attributes, Multi-thread and multi-tasking, Context Switching,
Basic OpenMP thread functions, Shared Memory Consistency Models and the Sequential
Consistency Model, Race Conditions, Scoping variables, work-sharing constructs, critical
T
sections, atomic operations, locks, OpenMP tasks, Introduction to tasks, Task queues and
task execution, Accessing variables in tasks, Completion of tasks and scoping variables in
tasks.
AF
Unit 3 MPI programming for distributed memory systems: MPI basic communication
routines (Introduction to MPI and basic calls, MPI calls to send and receive data, MPI call for
broadcasting data, MPI Non-blocking calls, Introduction to MPI Collectives, Types of
interconnects (Characterization of interconnects, Linear arrays, 2D mesh and torus, cliques)
McGraw-Hill, 2017.
3. Revdikar, L., Mittal, A., Sharma, A., Gupta, S., A Naïve Breadth First Search
Approach Incorporating Parallel Processing Technique For Optimal Network
Traversal, International Journal of Advanced Research in Computer and
Communication Engineering Vol. 5, Issue 5, May 2016
T
AF
R
D