Computer Science GE
Computer Science GE
(For all the Generic Elective courses offered by your department, please put it in the
format provided below)
Course title & Credits Credit distribution of the course Eligibility Pre-requisite
Code criteria of the course
Lecture Tutorial Practical/
Practice
Learning Objectives
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 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.
Learning outcomes
On successful completion of the course, students will 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 OF GE-5a
Unit 1 (5 hours)
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.
284
Unit 2 (6 hours)
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 (10 hours)
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.
Unit 4 (10 hours)
Memory Management: Physical and Logical address space, Swapping Contiguous memory
allocation strategies - fixed and variable partitions, Segmentation, Paging, virtual memory:
Demand Paging.
Unit 5 (8 hours)
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 (6 hours)
Shell Scripting: Shell variables, parameter passing conditional statements, iterative
statements, writing and executing shell scripts, utility programs (cut, paste, grep, echo, pipe,
filter etc.)
Essential/recommended readings
1. Galvin, S. P. B., Gagne, G., Operating System Concepts, 9th edition, John Wiley
Publications, 2016.
2. G. Nutt, Operating Systems, Pearson, 2009
Additional References
1. Dhamdhere, D. M., Operating Systems: A Concept-based Approach, 2nd edition, Tata
McGraw-Hill Education, 2017.
2. Kernighan, B. W., Pike, R., The Unix Programming Environment, Englewood Cliffs,
NJ: Prentice-Hall, 1984.
3. Stallings, W., Operating Systems: Internals and Design Principles, 9th edition, Pearson
Education, 2018.
4. Tanenbaum, A. S., Modern Operating Systems. 3rd edition. Pearson Education, 2007.
1. Usage of following commands: ls, pwd, cat, who, rm, mkdir, rmdir,cd.
285
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 “*”.
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.
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
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.
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 title & Credits Credit distribution of the course Eligibility Pre-requisite
Code criteria of the course
Lecture Tutorial Practical/
Practice
Learning Objectives
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.
286
Learning outcomes
SYLLABUS OF GE-5b
Unit 1 (7 hours)
Introduction to PHP: Basic syntax, defining variables and constants, data types including
arrays, operators and expressions, decision making statements, constructs for iterations.
Unit 2 (5 hours)
String Handling: Creating a string and accessing its content, searching and replacing content
of a string, and other built-in functions.
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, PHP global functions.
Database: Connectivity with MySQL: Connectivity with database, database creation, creating
tables, create, retrieve, update, and delete (CRUD) operations
Unit 5 (6 hours)
jQuery and JSON: Introduction to jQuery syntax (selectors, events, AJAX, JSON).
Essential/recommended readings
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
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.
Additional References
1. https://www.w3schools.com/php/default.asp
287
2. https://www.tutorialspoint.com/php/index.htm
6. Write PHP Code to make connection to MySql database, create database and tables
and perform insertion, deletion, and retrieval of the data (Using SQL operations like
.JOIN, ORDER BY, GROUP BY) 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.
288
4. Handle HTML form, store the data in JSON object, pass them to another page and
display it there using jQuery/Javascript
Course title & Credits Credit distribution of the course Eligibility Pre-requisite of the course
Code criteria
Lectur Tutorial Practical/
e Practice
GE5c: Java 4 3 0 1 Pass in DSC 04 Object Oriented
Based Web Class XII Programming with C++/
App GE 1a Programming
Development using C++ / GE1b
Programming with
Python/ DSC 01
Programming using
Python/ GE 3b: Java
Programming / A
programming course at
class XII level
Learning Objectives
The course aims to familiarize the students with the concepts and techniques of web app
development based on Java. The students will learn about database connectivity, use of HTTP
protocol, client side programming, and use of servlets and JSP for server side programming.
Learning outcomes
SYLLABUS OF GE-5c
Unit 1 (8 hours)
289
Unit 2 (10 hours)
Java Database Connections: Database connectivity, Connection, statement, result set object,
Metadata, Connection pooling, CRUD operations, Prepared and callable statements
Introduction to servlets: Concepts of Streams, events and listener, recap of HTML, CSS,
XML, Servlet package and interface, life cycle of servlet, deployment descriptor, Filters,
HHTP and Generic servlet, request dispatcher, Request Response classes, Dynamic page
designing using servlet.
Introduction to JSP: JSP Life cycle, tags in JSP, custom tags, Expression Language,
Introduction to Struts Framework, Implicit objects, database access using JSP
Essential/recommended readings
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.
1. Setting up the development environment: Install Java Development Kit (JDK), Eclipse
IDE, and Apache Tomcat web server. Create a new web project in Eclipse.
2. Writing and deploying a "Hello World" servlet: Create a simple servlet that prints "Hello
World" on the web page. Deploy the servlet on Tomcat and test it in a web browser.
3. Handling HTTP requests and responses: Write a servlet that reads input from HTTP
requests and sends output as HTTP responses.
4. Creating a JSP page: Create a JSP page that displays dynamic.
5. Write a servlet that handles form submissions and saves the data to a database using
JDBC.
6. Write a servlet that implements user authentication and authorization using a database.
7. Creating a web application using MVC architecture: Create a web application using
Model-View-Controller (MVC) architecture. Use servlets as controllers, JSP pages as
views.
8. Deploying a web application to a server: Configure and deploy a web application to a
server using Apache Tomcat Manager or other deployment tools.
290