BSC Physical Science Computer Science
BSC Physical Science Computer Science
University of Delhi
T
AF
R
D
TABLE-6
Illustration - 1: Sample UGCF for Multidisciplinary Courses of Study @#
Semester Core (DSC) Elective Generic Ability Skill Internship/ Value addition course Total
(DSE) Elective (GE) Enhancemen Enhancement Apprentice (VAC) Credits
t Course Course (SEC) ship/Project
(AEC) (2)
T
I Discipline Al- (4) Choose one Choose one Choose one Choose one from a pool 22 credits
Programming from a pool of from a pool of from a pool of of courses (2)
fundamentals using
courses GE-1 AEC courses courses (2)
C++
(4) (2)
AF
Discipline Bl- (4)
II Discipline A2 (4) Choose one Choose one Choose one Choose one from a pool 22 credits
Data Structures from a pool of from a pool of from a pool of of courses (2)
courses GE-2 AEC courses courses (2)
Discipline B2 (4) (4) (2)
Discipline C 2 (4)
Students on exit shall be awarded Undergraduate Certificate (in the field of Multidisciplinary Study) after securing the Total= 44
requisite 44 credits in Semesters 1 and 11
Ill
RDiscipline A3 (4)
Computer System
Architecture
Choose from pool of
courses, DSE A/B/C (4)
OR
Choose one
from a pool of
AEC courses
Choose one SEC OR Internship/
Apprenticeship/
Project/community Outreach (2)
Choose one from a pool
of courses (2)
22 credits
Discipline B 3 (4) Choose from pool of courses, (2)
GE -3 (4)
Discipline C 3 (4)
D
IV Discipline A4 (4) Choose from pool of courses, Choose one Choose one SEC OR Choose one from a 22 Credits
Operating Systems DSE A/ B/C (4) OR in the from a pool of 'Internship/ Appr enticeship / pool of courses (2)
Discipline B 4 (4) alternative AEC courses Project/community outreach (2)
GE-4 (4) (2)
Discipline C 4 (4)
Students on exit shall be awarded Undergraduate Diploma (in the Field of Multidisciplinary Study) after securing the Total= 88
requisite BB credits on completion of Semester N
V Discipline A5 (4) Choose one Choose one Choose one SEC OR Internship/ 22 credits
Database Management from a pool from a pool of Appren tic eship / Project / Com
Systems of courses courses GE-5 m unity outreach (2)
Discipline B 5 (4) DSE A/ B/ C (4)
- ( 4)
Discipline C 5 (4)
VI Discipline A6 (4) Choose one Choose one Choose one SEC OR ' In tern - 22 credits
Computer Networks from a from a pool of ship/ App ren ticeship /
T
pool of courses GE-6 Project / Research / Com m unity
Discipline B 6 (4) courses (4) Outreach (2)
DSE A/ B/ C
Discipline C 6 (4) - (4)
Students on exit shall be awarded Bachelor of (in the field of Multidisciplinary Study) after securing the requisite 1.32 Total= 132
AF
credits on completion of Semester VI
T
Academic project/
(total= 12)
Entrepreneurship
(4+2)
AF
Students on exjt shall be awarded Bachelor of (in the Field of Multidisciplinary Study) (Honours or Honours with Academic Total = 176
R Projects/Entrepreneurship) after securing the requisite 176 credits on completion of Semester VIII
D
Department of Computer Science
University of Delhi
Curriculum
T
Multidisciplinary Courses of Study
AF with Three Core Disciplines
Approved in
UG Committee meeting held on May 4, 2022
Faculty of Mathematical Sciences meeting held on May 25, 2022
Table of Contents
1. Preamble
2. Discipline Specific Graduate Attributes
3. Table of Core Courses
4. Syllabi of Core Courses
T
Preamble
The new curriculum of the multidisciplinary four year undergraduate program under NEP, called
as UGCF, with computer science as one of the disciplines, aims to develop the core competence
AF
in computing and problem solving amongst its graduates. Informally, “Learning to learn” has
been the motto of the department since its inception. The program aims at integrating
computational knowledge with other science streams to enable students for multidisciplinary
academic and professional pursuits.The curriculum focuses on building theoretical foundations
in computer science to enable its pupils to think critically when challenged with totally different
and new problems. It imbibes the following Student-Centric features of NEP 2020:
Flexibility to Exit: In order to support early exits, the curriculum aims to develop employability
R
skills early. This has been done so that the outcomes of the 4 yr degree is not compromised as we
believe that all but a few students will go for the full 4 year degree. As programming is at the
heart of computing and knowledge of data structures helps in writing more organized and
efficient codes, it is proposed to have one course in programming and one in data structures early
on so that the students can develop good programming skills in the first year. Students are
D
familiarized with the hardware of computers in their third semester in case they choose to exit
after the second year.
Employability: The course builds on a meaningful blend of knowledge across disciplines with
computer science. Industry sectors across the globe are harnessing the power of computers to
perform computationally intensive work in varied fields such as medicine, physics, finance. The
CS curriculum for MCS aims at providing a holistic approach towards making its students ready
to meet the computational needs of industry. Discipline specific cores which include courses in
programming, data structures, computer architecture, operating systems , computer networks,
analysis and design of algorithms and information security equip the students with a strong
foundation of various concepts in computer science. This will help them in applying their
knowledge of CS to other disciplines of their interests.
The curriculum also aims to equip the students with tools and techniques of Artificial
Intelligence by way of pathways in Machine Learning, Data Science.
Flexibility to Choose: The curriculum provides multiple pathways for the students to choose
their micro-specialization, if any. Various tracks on Data-Science, Machine Learning and its
application, Internet Technologies, Computer graphics,Security, networks and Theory encourage
the students to explore domains of their choice. Each pathway provides learning progression in
the chosen area of specialization. Students will be expected to model real life problems
T
mathematically and use their programming skills to solve them.
Research: The course recognizes the essential need of research for building a strong society and
a nation. With the knowledge gained in three core areas, a student of the multidisciplinary course
AF
of study can follow a proactive role in research, thus contributing significantly to integrative
research areas. The course provides a strong foundation of IT application in different areas such
as research in biology, physics, chemistry.mathematics.The curriculum motivates the students to
pursue research in the area of their interest. The core knowledge imparted in the essential domain
and the choice of in-demand elective papers, provides the requisite foundation for pursuing
research in an area of interest.
R
Discipline Specific Graduate Attributes (DSGA)
T
III DSC 03 Computer 3 0 1 4 DSGA3 Nil
(A3) System
Architecture
IV DSC 04
(A4)
AF
Operating
systems
3 0 1 4 DSGA3 DSC 01/a course in C/C++
at plus 2 level/**
Note:
1. Batch size for Practicals will be (8-10) and Tutorials will be (12-15).
This section gives the detailed syllabus of the core courses. Each course describes the course
objective, learning outcomes, the units and the reading material. The reading material has 2 -3
components: main resource(/s), additional text material, and online resources. Main resources
T
are kept to a minimum possible and no more than 3. Additional resources and the online
material may be used to enhance the knowledge of the subject.
Course Objective
AF
DSC 01 (A1): Programming Fundamentals using C++
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 spanning multiple domains.
R
Course Learning Outcomes
Syllabus
Unit 1 Introduction to C++: Overview of Procedural and Object-Oriented Programming,
Header Files, Compiling and Executing Simple Programs in C++.
Unit 4 Pointers and References: Static and dynamic memory allocation, Pointer and Reference
T
Variables, Implementing Runtime polymorphism using pointers and references
Unit 5 Exception and File Handling: Using try, catch, throw, throws and finally; Nested try,
File I/O Basics, File Operations
AF
References
1. Stephen Prata, C++ Primer Plus, 6th edition, Pearson India, 2015.
Additional References
(i) Herbert Schildt, C++: The Complete Reference, 4th edition, McGraw Hill, 2003.
D
1. Write a program to compute the sum of the first n terms of the following series:
𝑛 𝑛 𝑛
𝑆 = 1 − 2 + 3 − 4 +...
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.
A
BA
CBA
DCBA
The number of rows n, is to be taken from the user.
T
3. Write a program to compute the factors of a given number using default argument.
4. Write a menu driven program to perform the following operations on an array:
a. Find the minimum, maximum and average of the array elements
b. Search an element in the array using linear search
AF
c. Search an element in the array using binary search (both iterative and recursive
versions)
d. Display the address of every element of the array
5. Write a menu driven program to perform the following operations on a string:
a. Calculate length of the string (use pointers)
b. Check whether the first character of every word in the string is in uppercase or not
c. Reverse the string
d. Display the address of every character in the string
6. Create a class Triangle. Include overloaded functions for calculating the area of a
R
triangle.
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 the constructors
and void print() in the subclass. Implement main() to show runtime polymorphism.
D
8. Copy the contents of one text file to another file and display the number of characters
copied.
Course Objective
The course aims at developing the ability to define, differentiate, implement the basic data
structures like arrays, stacks, queues, lists, trees and use them to solve problems. C++ is chosen
as the language to understand implementation of these data structures.
Course Learning Outcomes
T
Syllabus
Unit 5 Binary Search Trees, Balanced Search Trees: Binary Search Trees: insert, delete (by
copying), search operations, time complexity analysis of these operations; Balanced Search
Trees: motivation and introduction.
D
Unit 6 Binary Heap, Priority Queue: Binary Heaps: motivation and introduction, application
of heaps - Priority Queues (introduction only).
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, 4th
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++,
Pearson, 2009.
T
a. Factorial of a number
b. Nth fibonacci number
c. Power function: xy
3. Implement singly linked lists.
AF
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.
10. Implement Binary Trees and its traversals.
R
DSC 03 (A3): Computer System Architecture
Course Objective
D
This course introduces the students to the fundamental concepts of digital computer
organization, design and architecture. It aims to develop a basic understanding of the
building blocks of the computer system and highlights how these blocks are organized
together to architect a digital computer system.
Unit 1 Digital Logic Circuits: Digital Logic Gates, Flip flops and their characteristic table,
T
Logic circuit simplification using Boolean algebra and Karnaugh map, Don’t care conditions,
Combinational circuits, Introduction to Sequential circuits.
Unit 2 Digital Components: Decoders, Encoders, Multiplexers, Binary Adder, Binary Adder
AF
Subtractor, Binary Incrementer, Registers and Memory units.
Unit 3 Data Representation: Binary representation of both numeric and alphanumeric data,
representation of numeric data in different number systems, (Binary, Octal, Decimal and
Hexadecimal), conversion from one number system to another, complements, representation of
signed and unsigned numbers, addition and subtraction of signed and unsigned numbers and
overflow detection.
Unit 4 Basic Computer Organization and Design: Stored program organization, Computer
R
registers, Instruction set and their completeness, Instruction cycle, Memory reference
instructions, Register reference instructions, Input- Output reference instructions, Interrupt
cycle, Addressing modes.
D
Unit 5 Input-Output Organization: I/O interface, I/O vs. Memory Bus, Isolated I/O, Memory
Mapped I/O, Direct Memory Access.
References
Additional References
(Use Simulator – CPU Sim 3.6.9 or any higher version for the implementation)
1. Create a machine based on the following architecture:
Registers
T
IR DR AC AR PC I E
16 bits 16 bits
AF 16 bits 12 bits 12 bits 1 bit 1 bit
15 12 11
R
0
Opcode Address
D
HLT 7001
Design the register set, memory and the instruction set. Use this machine for the
T
assignments of this section.
1. Implement fetch sequence
2. Write an assembly program to simulate addition of two numbers when one number is
stored in memory and another is entered by the user.
AF
3. Write an assembly program to simulate addition of two numbers when both numbers are
taken as inputs from user.
4. Write an assembly program to simulate subtraction of two numbers when one number is
stored in memory and another is entered by the user.
5. Write an assembly program to simulate subtraction of two numbers when both numbers are
taken as inputs from user
R
6. Write an assembly program to simulate the following logical operations on two user-
entered numbers.
i.AND
ii.OR
D
iii.NOT
7. Write an assembly language program to simulate the machine for following register
reference instructions and determine the contents of AC, E, PC, AR and IR registers in
decimal after the execution:
i. CLE
ii. CLA
iii. CMA
iv. CME
DSC 04 (A4): Operating Systems
Course Objective
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.
T
Course Learning Outcomes
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
AF
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.
R
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.
D
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.
Unit 4 Memory Management: Physical and Logical address space, Swapping Contiguous
memory allocation strategies - fixed and variable partitions, Segmentation, Paging, virtual
memory: Demand Paging.
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.)
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.
Additional References
T
(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:
AF
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.
T
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
AF
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.
R
2. Create conceptual data models using entity relationship diagrams for modeling real-life
situations and map it to corresponding relational database schema.
3. Use the concept of functional dependencies to remove redundancy and update anomalies.
D
4. Apply normalization theory to get a normalized database scheme to get anomalies free
database.
6. Implement relational databases and formulate queries for data retrieval and data update
problems using SQL .
Syllabus
Unit 1 Introduction to Database: Database, characteristics of database approach, data models,
database management system, three-schema architecture, components of DBMS, data
independence, and file system approach vs database system approach.
Unit 2 Entity Relationship Modeling: Conceptual data modeling - motivation, entities, entity
types, attributes, relationships, relationship types, constraints on relationship, Entity
Relationship diagram as conceptual data model.
Unit 3 Relational Data Model: Data anomalies, Relational Data Model - Characteristics of a
relation, schema-instance distinction, types of keys, relational integrity constraints. Relational
algebra operators like selection, projection, cartesian product, join and write queries using
them.
T
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.
Unit 6 File indexing and Transaction Processing: Need of file indexes, types of indexes, file
organizations, single- and multi-level indexing, concurrent execution of transactions, ACID
properties, need of data recovery.
References
R
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.
D
Additional References
(i) Connolly, T. M., Begg, C. E., Database Systems: A Practical Approach to Design,
Implementation, and Management, 6th edition, Pearson, 2019.
(ii) Ramakrishnan, R., Gehrke, J., Database Management Systems, 3rd edition, McGraw-Hill,
2014.
(iii) Silberschatz, A., Korth, H.F., Sudarshan S., Database System Concepts, 7th edition,
McGraw Hill, 2019.
T
Char(6) Char(6) Date
Here Rollno (ADMISSION) and SID (ADMISSION) are foreign keys. Note that course type
AF
may have two values viz. Fulltime and Parttime and a student may enroll in any number of
courses
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 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 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.
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.
T
DSC 06 (A6): Computer Networks
Course Objective AF
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.
Syllabus
Unit 1 Introduction: Types of computer networks, Internet, Intranet, network topologies (bus,
star, ring, mesh, tree, hybrid topologies), network classifications. layered architecture 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
communication), multiplexing (frequency division multiplexing, time-division multiplexing,
wavelength division multiplexing). Guided Media (Wired) (Twisted pair, Coaxial Cable, Fiber
Optics.
Unguided Media (Radio Waves, Infrared, Micro-wave, Satellite).
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.
T
Unit 4 Network layer: Networks and Internetworks, virtual circuits and datagrams, addressing,
subnetting, Dijkstra Routing algorithm, Distance vector routing, Network Layer protocol-
(ARP, IPV4, ICMP).
AF
Unit 5 Transport and Application Layer: Process to process Delivery- (client-server
paradigm, connectionless versus connection-oriented service); User Datagram Protocols,
TCP/IP protocol, Flow Control. FTP (File Transfer Protocol), SMTP (Simple Mail Transfer
Protocol), Telnet (Remote login protocol), WWW (World Wide Web), HTTP (HyperText
Transfer Protocol), URL (Uniform Resource Locator).
References
1. Tanenbaum, A.S. & Wethrall, D.J.. Computer Networks, 5th edition, Pearson Education,
R
2012.
Additional References
(i) Comer, D. E.. Computer Networks and Internet, 6th edition, Pearson education, 2015.
(ii) Stallings, W., Data and Computer Communications, 10th edition, Pearson education India,
2017.
1. Simulate Cyclic Redundancy Check (CRC) error detection algorithm for noisy channel.
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
The course is designed to develop understanding of different algorithm design techniques and
use them for problem solving. The course shall also enable the students to verify correctness of
algorithms and analyze their time complexity.
T
On successful completion of this course, the student will be able to:
Syllabus
AF
Unit 1 Sorting, Selection: Insertion Sort, Linear Time Sorting - Count Sort, Radix Sort,
Selection Problem. Analysis of time complexity of all algorithms.
Unit 2 Graphs: Graph, representation of graphs, traversal of graphs, directed graphs, Directed
Acyclic Graphs and Topological Ordering; all with analysis of time complexity.
R
Unit 3 Divide and Conquer: Introduction to divide and conquer technique, Merge Sort, Quick
Sort with analysis of time complexity.
Unit 4 Greedy algorithms: Introduction to the Greedy algorithm design approach, application
to minimum spanning trees, fractional knapsack problem, shortest path problem with analysis
D
of time complexity.
References
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 Reference
(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.
T
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
AF DSC 08: 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 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).
R
Course Learning Outcomes
On successful completion of this course, a student will be able to
1. Identify the major types of threats to information security.
D
Syllabus
Unit 1 Overview: Computer Security Concepts, Threats, Attacks, and Assets, Security
Functional Requirements, Fundamental Security Design Principles.
Unit 2 Cryptographic tools: Confidentiality with Symmetric Encryption, Message
Authentication and Hash Functions, Public-Key Encryption, Digital Signatures and Key
Management, Random and Pseudorandom Numbers, Practical Application: Encryption of
Stored Data.
Unit 3 User authentication and Access Control: Digital User Authentication Principle,
Password-Based Authentication, Remote User Authentication, Security Issues for User
Authentication Access Control Principles, Subjects, Objects, and Access Rights,
Discretionary Access Control, Example: UNIX File Access Control, Role-Based Access
Control, Attribute-Based Access Control, Identity, Credential, and Access Management, Trust
Frameworks.
T
Unit 4 Database and Data Center Security:
The Need for Database Security, SQL Injection Attacks, Database Access Control.
AF
Unit 5 Software Security: Types of Malicious Software, Advanced Persistent Threat,
Propagation — Infected Content - Viruses, Propagation — Vulnerability Exploit - Worms,
Propagation — Social Engineering — SPAM 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. Software Security Issues - Handling Program Input, Writing Safe Program
Code, Handling Program Input.
R
Unit 6 Network Security: Denial-of-Service Attacks, Flooding Attacks, Distributed
Denial-of-Service Attacks, Overview of Intrusion Detection, Honeypots, The Need for
Firewalls, Firewall Characteristics and Access Policy, Types of Firewalls, Public-Key
Infrastructure.
D
Unit 7 Wireless, Cloud and IoT Security: Cloud Computing, Cloud Security Concepts,
Cloud Security Approaches, The Internet of Things, IoT Security. Wireless Security Overview,
Mobile Device Security.
References
1. W. Stallings, L. Brown, 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.
T
8. Anderson R.J., Security Engineering: A guide to building Dependable Distributed
Systems, 2nd edition, John Wiley & Sons, 2008.
AF
Suggested Practical List
1. Demonstrate the use of Network tools: ping, ipconfig, ifconfig, tracert, arp, netstat,
whois.
2. Use of Password cracking tools : John the Ripper, Ophcrack. Verify the strength of
passwords using these tools.
3. Use nmap/zenmap to analyze a remote machine.
4. Use Burp proxy to capture and modify the message.
5. Implement caesar cipher substitution operation.
R
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.
D
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 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
Department of Computer Science
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
1. List of SECs
Table of SECs
Office Nil
T
SEC01B Automation 1 0 1 2
Tools
I/III/V/V
II App Basic knowledge
AF SEC01C Development 1 0 1 2 of programming
for Android
Introduction to Basic
SEC2D Object Oriented 1 0 1 2 knowledge of
Programming Python
using Python
Note:
Course Objective
The course aims at introducing the basic concepts and techniques of client side web
T
programming. The student shall be able to develop simple, interactive and stylish websites
using HTML, CSS and Javascript.
Syllabus
D
Unit 1 Introduction: Introduction to internet and web design. Basic concepts of web
architecture.
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
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 Basics of Javascript: Document object model, data types and variables, functions,
methods and events, controlling program flow, built-in objects and operators, validations.
References
1. Nixon, R., Learning PHP, MySQL & JavaScript with jQuery, CSS and HTML5, O'Reilly,
2018.
2. Powell, T.A. HTML & CSS: The Complete Reference, 5th edition, Tata
McGrawHill, 2017.
T
3. Duckett, J., JavaScript and JQuery: Interactive Front-End Web Development,
Wiley, 2014.
Additional References
AF
(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, 2010.
R
Suggested Practical List
HTML
1. Create an HTML document with following formatting – Bold, Italics, Underline, Colors,
D
Headings, Title, Font and Font Width, Background, Paragraph, Line Brakes, Horizontal
Line, Blinking text as well as marquee text.
2. Create an HTML document with Ordered and Unordered lists, Inserting
Images, Internal and External linking
3. Create an HTML document for displaying the current semester’s time table.
4. Create a website with horizontal and vertical frames. Top horizontal frame needs to show
your college’s name and logo. Bottom horizontal frame is to split into two vertical
frames. The left frame has hyperlinks to pages related to faculty, courses, student
activities, etc. The right frame shows the corresponding webpage based on the link
clicked on the left frame.
5. Create a student registration form using HTML which has the following controls and
make interactive content presentation using CSS.:
I. Text Box II. Dropdown box III. Option/radio buttons
IV. Check boxes V. Reset and Submit button
6. Create a webpage for your department with a drop down navigation menu for faculty,
courses, activities, etc.. Implement the webpage using styles, rules, selectors etc. learnt in
CSS
7. Write event driven programs in JavaScript for the following:
T
1. Enter a number and on click of a button print its multiplication table.
4. Enter a list of positive numbers using the prompt terminated by a zero. Find the
sum and average of these numbers.
8. 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:
R
a. Roll number is a 7-digit numeric value
The course introduces the students to document processing, presentation software and data
handling. The basic features and skills of creating, editing, inserting tables, graphics as well as
presentation tools along with spreadsheet data handling are covered.
Course Learning Outcomes
T
Unit 1 Document Processing Basics: Creating, opening and saving a document, text formatting,
header and footer, creating and editing of tables, importing graphics, insert picture, using word
processor's drawing features, text in drawing.
AF
Unit 2 Advanced Features: Creating macros, watermarks, templates, reviewing documents,
comparing and combining documents, protection of documents-using passwords. Mail merge
concept, main document, data sources, merging data source and main document.
Unit 3 Presentation Tools: Creating presentations, using blank presentation option, using design
template option, adding slides, deleting a slide, importing images from the outside world,
deleting a slide, numbering a slide, saving presentation transition and animations, adding notes to
slides, customize slideshow.
R
Unit 4 Data Handling using spreadsheets: Relative, absolute and mixed referencing,
mathematical and statistical functions, nested functions
D
References
1. Mali, L., Libre office 5.1 Impress, Draw. Base book- Vol 2, Notion Press, 2017..
2. Libreoffice Documentation Team, Getting Started with LibreOffice 6.0. Friends of
OpenDocument, Inc., 2018.
3. Libreoffice Documentation Team, LibreOffice 6.0 Writer Guide. Friends of
OpenDocument, Inc., 2018.
Course Objective
This course is designed as the first course for developing simple mobile applications that can
run on Android mobiles and tablets. The students will learn the fundamentals of Android OS.
They will be able to write applications which can work with databases and store the data locally.
T
On successful completion of the course, students will be able to:
Syllabus
Unit 1 Android Systems: Introduction to Mobile devices and applications, Open Handset
Alliance (OHA), Overview of Android OS and architecture, installing android studio.
R
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
Unit 2 Android User Interface: Basic android UI, layouts, view and view attributes, button,
D
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, Using
Android Telephony APIs, android location based services.
1. Meier Reto and Ian Lake, Professional Android, 4th edition, Wrox, 2018.
2. Rick Boyer, Android 9 Development Cookbook, Packt Publishing Limited, 2018.
Course Objective
This course is designed as the first course that introduces programming concepts using Python.
The course focuses on the development of Python programming to simple solve problems of
T
different domains.
Syllabus
R
Unit 1 Introduction to Programming: Problem solving strategies; Structure of a Python
program; Syntax and semantics; Executing simple programs in Python.
D
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 function),
default arguments.
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.
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
1. Brown, Martin C., Python: The Complete Reference, 2nd edition, McGraw Hill Education,
2018.
2. Guttag, J.V., Introduction to computation and programming using Python, 2nd edition,
MIT Press, 2016.
T
Suggested Practical ListAF
1. WAP to find the roots of a quadratic equation
2. WAP to accept a number ‘n’ and
a. Check if ’n’ is prime
b. Generate all prime numbers till ‘n’
c. Generate first ‘n’ prime numbers
d. This program may be done using functions
R
3. WAP to create a pyramid of the character ‘*’ and a reverse pyramid
*
***
*****
*******
D
*********
*******
*****
***
*
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.
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 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
T
b. list comprehension
Course Objective
The course aims at introducing the basic concepts and techniques of server side web
programming. The student shall be able to develop interactive and dynamic websites using
R
HTML, PHP and MySql.
Unit 1 Introduction to PHP: Basic Syntax, defining variables and constants, data types,
operators and expression, decision making statements, loop making constructs, mixing
decisions and looping with HTML
Unit 2 String Handling: Creating a string and accessing its content, searching and replacing
content of a string, formatting a string, string built-in-functions
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, create a student’ registration
form
Unit 4 Database Connectivity with MySQL: Connectivity with database, database creation,
creating tables, insertion and retrieval of the data from the database, data manipulation.
T
References
1. Nixon, R., Learning PHP, MySQL & JavaScript with jQuery, CSS and HTML5, O'Reilly,
2018.
AF
2. Murach J, Murach's, PHP and MySQL, 2nd Edition, Mike Murach & Associates, 2014.
3. Holzner S., PHP: The Complete Reference, McGraw Hill, 2017.
**
***
****
*****
5. Write a PHP script to perform following string operations using in-built functions and
built an interactive web page having buttons for each of the following operation:
a. Find the length of a string
b. Find a substring from a string
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. Reverse a given string
g. Convert the first character of each word in a string into uppercase.
6. Design a Login form and validate that form using PHP code (Server side validation).
Display message box when data is empty otherwise redirect to 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
d. Roll Number
T
e. Department
f. Societies
Submit and retrieve the form data using $_POST, $_GET variable.
AF
8. Write PHP Code to make connection to MySql database, create database and tables and
access their contents.
9. Write PHP code to insert, delete, and select the data from the database. Create proper
forms for performing the above operations. 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.
R
SEC02B: Data Analysis using Spreadsheet
Course Objective
D
The course will help students to learn how to analyze data with spreadsheets. They will
learn about referencing, charts, functions and various utilities.
Unit 3 Utilities: What-if scenarios, goal-seek, solver, data validation, creating a dropdown list
from a range of cells, data filtering and sorting, calculations using linked sheets, detective tools.
T
References
1. Mali, L., Libre Office 5.1Writer, Calc: Math Formula Book - Vol 1. Notion Press,
2017.
2. Libre Office 7.0 Calc Guide.
AF
3. Libre Office 4.1 Calc Guide The Document Foundation.
Course Objective
D
This course is designed to enable a student to learn basics about iOS app development for
iPhones/ iPads/ iPods. The course provides an overview of Swift programming language, which
is used to design iOS apps. The students will be able to design apps with simple user interface.
They will also be able to handle sensors like camera, microphones and GPS through these apps.
Syllabus
Unit 1 iOS Technology Stack: Introduction to iOS technology stack: iOS architecture,
StoryBoard, features of Xcode, components of iOS SDK. Introduction to swift: data types,
variables, control flow and operators, Collections and functions in swift, classes and structures,
inheritance, closure and. enumerations
T
Unit 2 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.
AF
References
This course is designed for advanced programming concepts using Python. The course focuses
on the development of Python programming using built-in data structures like lists, sets, tuples
D
and dictionaries to solve problems of different domains. It also introduces the concept of object-
oriented programming and file handling.
Syllabus
Unit 1 Built-in data structures: List operations, tuples, sets, dictionaries and their operations,
passing data structures to a user-defined function.
Unit 2 Object Oriented Programming: Introduction to classes, objects and methods; Standard
libraries.
Unit 3 File and exception handling: File handling through libraries; Errors and exception
handling.
T
References
Additional References
R
1. Brown, Martin C. Python: The Complete Reference, 2nd edition, McGraw Hill Education,
2018.
2. Guttag, J.V. Introduction to computation and programming using Python, 2nd edition.
MIT Press, 2016.
D
T
c. Concatenate a tuple t2=(11,13,15) with t1.
d. Return maximum and minimum value from this tuple
6. WAP to accept a name from a user. Raise and handle appropriate exception(s) if the text
AF
entered by the user contains digits and/or special characters.
R
D
Digital
Empowerment
VAC- Value Addition Course
(Undergraduate Courses)
University of Delhi
Credit distribution, Eligibility and Pre-requisites of the Course
1 0 1
Learning Objectives
The Learning Objectives of this course are as follows:
• Understand the digital world and need for digital
empowerment
• Create awareness about Digital India.
• Explore, communicate and collaborate in cyberspace.
• Imparting awareness on cyber safety and security.
Learning Outcomes
The Learning Outcomes of this course are as follows:
• Use ICT and digital services in daily life.
• Develop skills to communicate and collaborate in cyberspace
using social platforms, teaching/learning tools.
• Understand the significance of security and privacy in the digital
world.
• Recognizing ethical issues in the cyber world.
Digital Empowerment Syllabus
Unit Unit name Topic
Needs and challenges, Vision of Digital India
DigiLocker, E-Hospitals, e-Pathshala, BHIM, e-Kranti (Electronic Delivery of
Digital inclusion and
I Services), e-Health Campaigns
Digital Empowerment
Public utility portals of Govt. of India such as RTI, Health, Finance, Income Tax
filing, Education
Electronic Communication: electronic mail, blogs, social media
Communication and
Collaborative Digital platforms
II Collaboration in the
Cyberspace Tools/platforms for online learning, Collaboration using file sharing, messaging,
video conferencing
Online security and privacy
Towards Safe and Secure Threats in the digital world: Data breach and Cyber Attacks
III
Cyberspace Blockchain Technology
Security Initiatives by the Govt of India
Ethical Issues in Digital Netiquettes
IV
World Ethics in digital communication, Ethics in Cyberspace
Practicals / Activities Component
• The course should be conducted in an interactive mode through demonstration,
using appropriate tools.
• Conduct workshops on-services initiated under Digital India.
• Spread digital literacy/awareness amongst the vulnerable groups and marginalized
sections of the society like street vendors, domestic help, security guards, senior
citizens.
• Students will take up team activities/ projects exploring digital services in the areas
such as education, health, planning, farming, security, cyber security, financial
inclusion, and justice, e-Kranti.
• Any other Practical/Practice as decided from time to time.
Operational Guidelines
• At least 5 Value Addition Courses from the pool of VACs may be offered
in the College
https://www.csoonline.com/article/3541148/the-
biggest-data-breaches-in-india.html
Threats in the digital
https://www.secureworld.io/industry-news/top-10-data-
11 world: Data breach and
breaches-of-all-time
Cyber Attacks
https://onlinedegrees.und.edu/blog/types-of-cyber-
Towards Safe and security-threats/
III Secure https://blockchain.gov.in/
Cyberspace https://blockchain.gov.in/assets/docs/blockchain_infor
12 Blockchain Technology matics.pdf
https://blockchain.gov.in/assets/docs/Whitepaper_30ja
n.pdf
https://safety.google/
https://www.aicte-india.org/CyberSecurity
Security Initiatives by the
13 https://www.niti.gov.in/sites/default/files/2019-
Govt of India
07/CyberSecurityConclaveAtVigyanBhavanDelhi_1.pd
f
Unit-3: Towards Safe and Secure Cyberspace
Online Security Online Privacy
Protect Your Phone, Personal Information and Data Protect Your Privacy on Apps
From Hackers
Recover Your Hacked Email or Social Media Secure Your Voice Assistant and Protect Your
Account Privacy
Remove Your Personal Information Before You Get Stalking Apps: What To Know
Rid of Your Phone and/or Computer
Secure Your Home Wi-Fi Network and Safely Use What To Do if You’re the Target of Revenge Porn
Public Wi-Fi Networks
Use Two-factor Authentication to Protect Your What To Do if You’re the Target of Revenge Porn
Accounts
Threats in the digital world
▪ Data breach: A data breach is a theft of data by a malicious actor.
Motives for data breaches include crime (i.e. identity theft), a
desire to embarrass an institution (e.g. Edward Snowden or the
DNC hack), and espionage.
• cert-in.org.in
• https://www.csk.gov.in/
• https://infosecawareness.in/
https://infosecawareness.in/
https://infosecawareness.in/ https://infosecawareness.in/
Unit-4: Ethical Issues in Digital World
Unit Unit name Week No Topic Teaching Resources
https://www.kaspersky.com/resource-
14 Netiquettes center/preemptive-safety/what-is-netiquette
https://www.britannica.com/topic/netiquette
https://onlinelibrary.wiley.com/doi/book/10.1002/9
Ethical Issues in 781118968888
IV
Digital World Ethics in digital https://iccopr.com/wp-
15 communication, Ethics in content/uploads/2017/10/Ethics-in-Digital-
Cyberspace Communications-Guidelines.pdf
https://link.springer.com/chapter/10.1007/978-90-
481-2370-4_1
Unit-4: Ethical Issues in Digital World
Ethics in digital communication
1. Contribute to society and human being
2. Avoid harm to others
3. Be honest and trustworthy
4. Be fair and take action not to discriminate
5. Honor property rights including copyrights and patents
6. Give proper credit for intellectual property
7. Respect the privacy of others
8. Honor confidentiality
Ethics in Cyberspace
• Do not use a computer to harm other people.
• Do not interfere with other people's computer work.
• Do not snoop around in other people's files.
• Do not use a computer to steal.
• Do not use a computer to bear false witness.
• Do not use or copy software for which you have not paid.
• Do not use other people's computer resources without authorization.
• Do not appropriate other people's intellectual output.
• Do think about the social consequences of the program you write.
• Do use a computer in ways that show consideration and respect.
Suggestive list of Practicals / Activities
1. Identify few people of different age groups among family members, domestic help,
neighborhood etc. Find out digital literacy among these groups. For example Usage
of Smart phones, Internet, computer systems, and awareness of accessing an app.
2. Access your Digi Locker account. Fetch and use any three important documents from
the Digi Locker such as class 10th certificate, 12th certificate, Aadhaar card, Driving
License and vaccination certificate etc.
3. Students will explore digital services in the areas such as e-Kranti: education, health,
planning, farming, security, financial inclusion, and justice. (any one site)
4. Explore the Digital India website (https://www.digitalindia.gov.in). List down any
four achievements of the government towards the realization of the Digital India
vision.
5. Prepare 2-3 page report on 9-pillars of Digital India.
Suggestive list of Practicals / Activities (Cont.)
6. Create an email account, if you don’t have one and explore it. Perform the following
activities on your existing / new email account:
• Create a group of your friends and post a welcome message on it.
• Share a google document with your friends and give edit rights to a few of them.
• Make changes to the account settings such that every outgoing email has your
name, designation (if any) and your contact number.
• Draft a mail and schedule it to be sent to some acquaintance the next day at
11am.
• If you cannot attend to the emails for some days due to some urgent work, then
change the settings such that an automatic reply mail is sent to the sender during
those days.
7. Create an account on Twitter, if you don’t have one and explore it. Perform the
following activities on your existing / new Twitter account:
• Follow the official handles of your college (@ your_college), University of
Delhi (@UnivofDelhi), or any other relevant entity
• Send a message to someone you are following
• Retweet a message
Suggestive list of Practicals / Activities (Cont.)
8. Create an account on Facebook, if you don’t have one and explore it. Perform the
following activities on your existing / new Facebook account:
• Follow the official page of your college, University of Delhi, or any other
relevant authority.
• Manage your privacy to limit who can interact with you and what you share.
• Control who can see what you share on Meta.
9. Write a blog about your experience on your first day in the college.
10. Identify at least three collaborative digital platforms that can be used for group
study. List their advantages and disadvantages, if any. Out of these platforms,
which one you would like to use and why? Prepare 2-3 slides and present them.
11. Schedule a video meeting with your friend in the digital platform of your choice.
After joining the meeting, send message, chat, and share a file.
Suggestive list of Practicals / Activities (Cont.)
12. Students need to explore various blogs/ social media. Students may
share their experiences through 10-15 minutes audio-visual presentation.
13. Students need to explore any one of the digital platform related to
financial or banking or education sector.
14. Create your account in the NPTEL/ SWAYAM education portal. Enroll
in any course of your choice.