A complete interactive study guide — full syllabus, CBSE blueprint, detailed topic-wise notes on Pandas, Data Visualization, SQL, Networks & Societal Impacts, 1080 practice questions (8 types), the CBSE Sample Paper and practice papers with marking schemes.
Use the left menu to jump to any chapter. In each chapter, scroll to the Practice Question Bank and click the tabs (MCQ, Case-Based Study, etc.). Click Show Answer to reveal detailed solutions. Your MCQ score is tracked in the top bar.
🗺️ Complete Syllabus & Distribution of Marks
CBSE Informatics Practices (065), Class XII, Session 2026-27. The theory paper is 70 marks and the practical is 30 marks.
Unit
Unit Name
Marks
1
Data Handling using Pandas and Data Visualization
25
2
Database Query using SQL
25
3
Introduction to Computer Networks
10
4
Societal Impacts
10
Total Theory
70
Practical
30
Grand Total
100
Unit 1 · Data Handling using Pandas and Data Visualization (25)
Data Handling using Pandas – I
Introduction to Python libraries — Pandas, Matplotlib.
Introduction to Internet, URL, WWW and its applications — Web, Email, Chat, VoIP.
Website: web page, static vs dynamic web page, web server, web hosting.
Web Browsers: introduction, commonly used browsers; browser settings; add-ons and plug-ins; cookies.
Unit 4 · Societal Impacts (10)
Digital footprint; net and communication etiquettes; data protection.
Intellectual Property Rights (IPR), plagiarism, licensing and copyright.
Free and Open Source Software (FOSS).
Cybercrime and cyber laws — hacking, phishing, cyber bullying; overview of the Indian IT Act.
E-waste: hazards and management; awareness of health concerns related to the usage of technology.
Practical · Distribution of 30 Marks
S.No
Component
Marks
1
Programs using Pandas and Matplotlib (Data Handling & Visualization)
8
2
SQL Queries
7
3
Project Work
8
4
Practical File (record)
4
5
Viva Voce
3
Total
30
Project Work: students take up one real-world problem and develop a solution using Python libraries (Pandas/Matplotlib) and/or SQL, individually or in groups of 2–3, and present a report.
📐 CBSE Sample Paper Blueprint
The 70-mark theory paper has 37 questions across five sections. This is the official CBSE design followed in the Sample Question Paper.
Section
No. of Questions
Q. No.
Marks each
Total
SECTION A
21
1 – 21
1
21
SECTION B
07
22 – 28
2
14
SECTION C
03
29 – 31
3
09
SECTION D
04
32 – 35
4
16
SECTION E
02
36 – 37
5
10
Total
37
70
Unit-wise weightage in the paper
Unit
A (1)
B (2)
C (3)
D (4)
E (5)
Unit 1 · Pandas (Series, DataFrame, CSV)
8
Q22, Q24, Q28
Q30
Q33
—
Unit 1 · Data Visualization
—
—
—
Q34
—
Unit 2 · SQL (functions, aggregate, group by, join)
7
Q26
Q31
Q32, Q35
Q37
Unit 3 · Computer Networks
3
Q25
—
—
Q36
Unit 4 · Societal Impacts
3
Q23, Q27
Q29
—
—
General pattern: Section A = 19 MCQ/Fill/True-False + 2 Assertion-Reason (Q20, Q21). Internal choices are given in some 2, 3, 4 and 5-mark questions. All programming answers in Python; for MCQ the text of the correct option must also be written.
🎯 How to Use This Guide
1. Learn the concept Read the chapter notes — definitions, syntax, worked examples, diagrams and "common mistake" boxes.
2. Practise actively Open the Practice Question Bank, try each tab (MCQ, Output, Case-Based, Theory…) and reveal detailed answers.
3. Attempt full papers Solve the CBSE Sample Paper and the 10 practice papers under timed conditions, then check the marking scheme.
4. Revise smart Use the Glossary and Exam Strategy before the exam; focus on SQL queries and Pandas output questions — they carry the most marks.
High-yield areas: Pandas Series/DataFrame output questions, SQL queries (functions + group by + join), and Societal Impacts 1-markers. Master these first.
🐼 Chapter 1 · Python Libraries & Pandas Series
A library is a collection of ready-made modules and functions. In Informatics Practices we mainly use NumPy (numerical arrays), Pandas (data handling) and Matplotlib (plotting). This chapter covers Pandas Series — a one-dimensional labelled array.
🎯 You will learn: importing libraries · what Pandas is · creating a Series (ndarray, dict, scalar) · indexes & slicing · head()/tail() · vector (mathematical) operations · common attributes.
1.1 Python Libraries
A library bundles related modules so we can reuse code. The three key data-science libraries:
Library
Use
Typical import
NumPy
Fast numerical arrays (ndarray)
import numpy as np
Pandas
Data handling — Series & DataFrame
import pandas as pd
Matplotlib
Charts — line, bar, histogram
import matplotlib.pyplot as plt
Pandas (Panel Data) is an open-source Python library built on NumPy, used to store, clean, analyse and manipulate data using two structures — Series (1-D) and DataFrame (2-D).
1.2 What is a Series?
A Series is a one-dimensional labelled array that can hold data of any single type (int, float, string, etc.). It has two parts: the data (values) and the index (labels). If you don't give an index, Pandas uses default positions 0, 1, 2, …
Fig 1.1 A Series = index (labels) + values, with a single data type (dtype).
1.3 Creating a Series
EXAMPLE 1.1 · from a list / ndarray
import pandas as pd
import numpy as np
s = pd.Series([10, 20, 30])
print(s)
# 0 10
# 1 20
# 2 30
# dtype: int64
EXAMPLE 1.2 · with a custom index
s = pd.Series([85, 90, 78], index=['Maths','Sci','Eng'])
print(s['Sci']) # 90
EXAMPLE 1.3 · from a dictionary & a scalar
d = pd.Series({'a':1, 'b':2, 'c':3}) # keys become the index
sc = pd.Series(5, index=[0,1,2]) # scalar repeated → 5,5,5
Remember: when a Series is created from a dictionary, the dictionary's keys become the index and the values become the data.
1.4 head(), tail(), Indexing & Slicing
Operation
Meaning
Example (s has 6 items)
s.head(3)
first 3 elements
top of the Series
s.tail(2)
last 2 elements
bottom of the Series
s[0]
element by position/label
first value
s[1:4]
slice (positional, stop excluded)
elements 1,2,3
Did you know? head() and tail() default to 5 elements if you don't pass a number — s.head() shows the first five rows.
1.5 Vector (Mathematical) Operations
Operations apply element-wise and align by index. Arithmetic with a scalar affects every element.
Index alignment: when two Series are added, values are matched by index; labels present in only one Series give NaN.
1.6 Useful Series Attributes
Attribute
Returns
s.values
the data as an ndarray
s.index
the index labels
s.size
number of elements
s.dtype
data type of the values
s.empty
True if the Series has no elements
📝 Chapter 1 in one line: A Pandas Series is a 1-D labelled array (index + values, single dtype); create it from a list/ndarray, dictionary (keys→index) or scalar; use head()/tail(), indexing/slicing, vector maths, and attributes like values, index, size, dtype.
A DataFrame is a two-dimensional, size-mutable, labelled data structure with rows and columns — like a table or spreadsheet. Each column can hold a different data type, and both rows and columns have labels (the row index and the column headers).
🎯 You will learn: creating a DataFrame (dict of lists, list of dicts, dict of Series) · attributes · selecting/adding/deleting/renaming columns & rows · loc vs iloc · head()/tail() · boolean indexing.
2.1 Series vs DataFrame
Feature
Series
DataFrame
Dimensions
1-D
2-D
Structure
index + values
rows + columns
Data types
one dtype
each column may differ
Analogy
a single column
a whole table
2.2 Creating a DataFrame
EXAMPLE 2.1 · from a dictionary of lists
import pandas as pd
data = {'Name':['Asha','Ravi','Meera'], 'Marks':[85, 90, 78]}
df = pd.DataFrame(data)
print(df)
# Name Marks
# 0 Asha 85
# 1 Ravi 90
# 2 Meera 78
Each dictionary key becomes a column; the lists become the column data; the row index defaults to 0,1,2…
EXAMPLE 2.2 · from a list of dictionaries
rec = [{'Name':'Asha','Marks':85}, {'Name':'Ravi','Marks':90}]
df = pd.DataFrame(rec) # each dict becomes a ROW
Key difference: a dictionary of lists → each key is a column; a list of dictionaries → each dict is a row. A missing key in a list of dicts becomes NaN.
2.3 Useful DataFrame Attributes
Attribute
Returns
df.shape
(rows, columns) tuple
df.size
total number of cells (rows × cols)
df.columns
the column labels
df.index
the row labels
df.dtypes
data type of each column
df.ndim
number of dimensions (2)
df.empty
True if the DataFrame has no data
df.T
transpose (rows ↔ columns)
2.4 Selecting Columns and Rows
EXAMPLE 2.3
df['Marks'] # one column (as a Series)
df[['Name','Marks']] # two columns (as a DataFrame)
df[0:2] # first two ROWS by slicing
loc selects by label: df.loc[1, 'Marks']. iloc selects by integer position: df.iloc[1, 1]. With loc the stop label is included; with iloc the stop position is excluded.
Statement
Selects
df.loc[2]
row with label 2 (all columns)
df.loc[0:2,'Name']
rows 0–2 (inclusive) of column Name
df.iloc[0:2]
first 2 rows (positions 0,1)
df.iloc[0,1]
cell at row 0, column 1
2.5 Adding, Deleting & Renaming
EXAMPLE 2.4
# add a new column
df['Grade'] = ['A','A','B']
# add/append a row
df.loc[3] = ['Sara', 88, 'A']
# delete a column
df = df.drop('Grade', axis=1) # axis=1 → column
# delete a row
df = df.drop(2, axis=0) # axis=0 → row
# rename a column
df = df.rename(columns={'Marks':'Score'})
axis matters:axis=0 means rows, axis=1 means columns. drop() needs the right axis or it errors / drops the wrong thing.
2.6 head(), tail() & Boolean Indexing
EXAMPLE 2.5
df.head(2) # first 2 rows
df.tail(1) # last row
df[df['Marks'] > 80] # only rows where Marks > 80 (boolean indexing)
Did you know?Boolean indexing filters rows using a condition that returns True/False for each row — only the True rows are kept.
📝 Chapter 2 in one line: A DataFrame is a 2-D table (rows + columns, mixed dtypes). Create it from a dict of lists (keys→columns) or a list of dicts (each dict→row); use shape/size/columns; select with [ ], loc (labels, stop included) and iloc (positions, stop excluded); add/drop with the correct axis; filter with boolean indexing.
DataFramerows/columnsdict of listslist of dictslocilocaxisboolean indexingNaN
📝 Practice Question Bank — Chapter 2
🔁 Chapter 3 · Importing / Exporting Data (CSV)
A CSV (Comma-Separated Values) file stores tabular data as plain text, one row per line with values separated by commas. Pandas can import a CSV into a DataFrame and export a DataFrame to a CSV.
🎯 You will learn: what a CSV is · read_csv() and its key parameters · to_csv() and its key parameters · controlling headers and the index.
3.1 What is a CSV File?
A CSV file is a simple text file where each line is a record and fields are separated by a delimiter (usually a comma). It is widely used because almost every spreadsheet and database can read/write it.
Name,Marks,Grade
Asha,85,A
Ravi,90,A
Meera,78,B
3.2 Importing — read_csv()
EXAMPLE 3.1
import pandas as pd
df = pd.read_csv('students.csv') # first row used as header
print(df.head())
Parameter
Use
filepath
name/path of the CSV file
sep / delimiter
field separator (default ',')
header
row to use as column names (header=None if no header)
names
supply your own column names
index_col
column to use as the row index
nrows
read only the first n rows
3.3 Exporting — to_csv()
EXAMPLE 3.2
df.to_csv('result.csv') # writes the DataFrame to a CSV
df.to_csv('result.csv', index=False) # do NOT write the row index
Parameter
Use
filepath
name of the output CSV file
index
whether to write the row index (index=False to skip it)
header
whether to write the column names
sep
field separator to use
Common mistake: forgetting index=False in to_csv() adds an extra unnamed column of 0,1,2… to the saved file. Use index=False when you don't want the row numbers saved.
3.4 CSV vs DataFrame
CSV file
DataFrame
Stored on disk (permanent)
In memory (temporary, while program runs)
Plain text
A Python/Pandas object
read_csv() → import
to_csv() → export
📝 Chapter 3 in one line: A CSV stores tabular data as comma-separated text; pd.read_csv() imports it into a DataFrame (header/index_col/sep parameters) and df.to_csv() exports a DataFrame back to a CSV (use index=False to skip the row numbers).
Data visualization means presenting data as charts so trends and comparisons become easy to see. The pyplot module of Matplotlib draws line plots, bar graphs and histograms (the three required for the exam).
🎯 You will learn: why we plot · the pyplot import · line plot, bar graph, histogram · customising with title/xlabel/ylabel/legend · saving a plot with savefig() · showing it with show().
4.1 Why Visualize? The pyplot Module
Charts reveal patterns, trends and outliers faster than tables of numbers. We always start with:
import matplotlib.pyplot as plt
4.2 The Three Chart Types
Chart
Function
Best for
Line plot
plt.plot(x, y)
showing a trend over time / continuous change
Bar graph
plt.bar(x, height)
comparing categories
Histogram
plt.hist(data, bins)
showing the frequency distribution of values
Bar graph vs Histogram: a bar graph compares categories (separated bars); a histogram shows the frequency distribution of numeric data in ranges/bins (touching bars). This is a favourite 1-mark question.
4.3 Worked Examples
EXAMPLE 4.1 · Line plot
import matplotlib.pyplot as plt
days = [1,2,3,4,5]
temp = [30,32,31,29,33]
plt.plot(days, temp)
plt.title('Temperature over days')
plt.xlabel('Day'); plt.ylabel('Temp (°C)')
plt.show()
EXAMPLE 4.2 · Bar graph
subjects = ['Maths','Sci','Eng']
marks = [85, 90, 78]
plt.bar(subjects, marks, color='violet')
plt.title('Marks by subject')
plt.show()
plt.plot(days, temp, label='Temp', color='green', marker='o')
plt.legend()
plt.savefig('temp.png') # save before show()
plt.show()
Exam tip: call savefig() before show() — once show() is called the figure may be cleared, so saving afterwards can give a blank image.
📝 Chapter 4 in one line: Import matplotlib.pyplot as plt; draw a line plot (plot), bar graph (bar) or histogram (hist, with bins); customise with title/xlabel/ylabel/legend and color/marker; savefig() to save and show() to display.
SQL functions process values and return a result. Single-row functions return one value per row and fall into three groups: Math, Text (string) and Date. (Aggregate functions, which work on many rows, are in Chapter 6.)
🎯 You will learn: Math functions POWER, ROUND, MOD · Text functions UCASE/LCASE, MID/SUBSTR, LENGTH, LEFT, RIGHT, INSTR, TRIM · Date functions NOW, DATE, MONTH, MONTHNAME, YEAR, DAY, DAYNAME — with worked outputs.
ROUND tip: a negative d rounds to the left of the decimal — ROUND(123.4,-1) → 120.
5.2 Text (String) Functions
Function
Returns
Example → Output
UCASE()/UPPER()
upper case
UCASE('cat') → CAT
LCASE()/LOWER()
lower case
LCASE('CAT') → cat
LENGTH()
number of characters
LENGTH('India') → 5
LEFT(s,n)
leftmost n characters
LEFT('India',3) → Ind
RIGHT(s,n)
rightmost n characters
RIGHT('India',2) → ia
MID()/SUBSTR()/SUBSTRING()
substring from a position
MID('India',2,3) → ndi
INSTR(s,sub)
position of substring (0 if absent)
INSTR('India','di') → 4
LTRIM()/RTRIM()/TRIM()
remove leading/trailing/both spaces
TRIM(' hi ') → 'hi'
EXAMPLE 5.2
SELECT UCASE('delhi'), LENGTH('Computer'), MID('Informatics',1,4);
-- DELHI 8 Info
1-based positions: in SQL, character positions start at 1 (not 0). So MID('India',2,3) starts at the 2nd character.
5.3 Date Functions
Function
Returns
NOW()
current date & time
DATE()
the date part of a datetime
YEAR(d) / MONTH(d) / DAY(d)
the year / month number / day number
MONTHNAME(d)
full month name (e.g. 'January')
DAYNAME(d)
weekday name (e.g. 'Monday')
EXAMPLE 5.3
SELECT YEAR('2026-06-29'), MONTHNAME('2026-06-29'), DAYNAME('2026-06-29');
-- 2026 June Monday
5.4 DUAL & Using Functions on Columns
Functions can be applied to column values in a query:
EXAMPLE 5.4
SELECT name, UCASE(name), LENGTH(name) FROM student;
SELECT MOD(marks,10) FROM student WHERE marks > 50;
📝 Chapter 5 in one line: Single-row SQL functions return one value per row — Math (POWER, ROUND, MOD), Text (UCASE/LCASE, LENGTH, LEFT/RIGHT, MID/SUBSTR, INSTR, TRIM — positions start at 1) and Date (NOW, YEAR, MONTH, MONTHNAME, DAYNAME).
Aggregate (multi-row) functions take many rows and return a single summary value. GROUP BY splits rows into groups so an aggregate is computed per group; HAVING filters those groups and ORDER BY sorts the result.
🎯 You will learn: MAX, MIN, AVG, SUM, COUNT · COUNT(*) vs COUNT(column) · GROUP BY · HAVING vs WHERE · ORDER BY (ASC/DESC).
6.1 The Five Aggregate Functions
Function
Returns
MAX(col)
highest value
MIN(col)
lowest value
AVG(col)
average of the values
SUM(col)
total of the values
COUNT(col)
number of non-NULL values
EXAMPLE 6.1
SELECT MAX(marks), MIN(marks), AVG(marks), SUM(marks) FROM student;
6.2 COUNT(*) vs COUNT(column)
Key difference:COUNT(*) counts all rows (including those with NULLs); COUNT(column) counts only rows where that column is NOT NULL. COUNT(DISTINCT col) counts unique non-NULL values.
EXAMPLE 6.2
SELECT COUNT(*) FROM student; -- total rows
SELECT COUNT(email) FROM student; -- rows where email is not NULL
SELECT COUNT(DISTINCT city) FROM student; -- distinct cities
NULL & aggregates: all aggregate functions ignore NULL values except COUNT(*). So AVG ignores NULLs in its calculation.
6.3 GROUP BY
GROUP BY collects rows that share a value in a column into groups, then an aggregate is applied to each group.
EXAMPLE 6.3 · marks per city
SELECT city, AVG(marks)
FROM student
GROUP BY city;
One result row per city, showing that city's average marks.
Rule: any column in the SELECT that is not inside an aggregate function must appear in the GROUP BY clause.
6.4 HAVING vs WHERE
Clause
Filters
Works with aggregates?
WHERE
individual rows (before grouping)
No
HAVING
groups (after GROUP BY)
Yes
EXAMPLE 6.4
SELECT city, COUNT(*)
FROM student
WHERE marks >= 40 -- filter rows first
GROUP BY city
HAVING COUNT(*) > 2; -- then filter groups
6.5 ORDER BY
ORDER BY sorts the final result — ASC (ascending, default) or DESC (descending).
EXAMPLE 6.5
SELECT name, marks FROM student ORDER BY marks DESC;
Clause order to remember: SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY.
📝 Chapter 6 in one line: Aggregate functions (MAX, MIN, AVG, SUM, COUNT) summarise rows; COUNT(*) counts all rows while COUNT(col) skips NULLs; GROUP BY makes per-group summaries; WHERE filters rows and HAVING filters groups; ORDER BY sorts (ASC/DESC).
A join combines rows from two (or more) tables based on a related column. An equi-join matches rows where a common column has equal values — this is the most common way to query data spread across two tables.
🎯 You will learn: why we split data into tables · Cartesian product · equi-join condition · primary & foreign keys · table aliases · writing a two-table query.
7.1 Cartesian Product
If you select from two tables without a join condition, SQL returns every row of the first table paired with every row of the second — the Cartesian product (cross join). For m and n rows, the result has m × n rows (mostly meaningless).
EXAMPLE 7.1
SELECT * FROM emp, dept; -- Cartesian product (no condition)
7.2 Equi-Join
An equi-join joins two tables on a condition that uses the equality (=) operator between a column of each table — usually a foreign key in one table matching a primary key in the other.
EXAMPLE 7.2 · two tables
-- emp(eid, name, deptno) and dept(deptno, dname)
SELECT name, dname
FROM emp, dept
WHERE emp.deptno = dept.deptno;
Only rows where the deptno matches in both tables are joined — each employee shown with their department name.
Always give the join condition (WHERE table1.col = table2.col) — without it you get the huge Cartesian product. The matching column is usually a primary key in one table and a foreign key in the other.
7.3 Table Aliases & Qualified Names
When both tables have a column of the same name, write table.column to remove ambiguity; aliases make queries shorter.
EXAMPLE 7.3
SELECT e.name, d.dname
FROM emp e, dept d
WHERE e.deptno = d.deptno
ORDER BY e.name;
7.4 Keys Recap
Key
Meaning
Primary key
uniquely identifies each row in a table (no NULL, no duplicates)
Foreign key
a column that refers to the primary key of another table (the link used in joins)
Candidate key
any column(s) that could serve as the primary key
📝 Chapter 7 in one line: A two-table query without a condition gives the Cartesian product (m×n rows); an equi-join adds WHERE t1.col = t2.col (foreign key = primary key) to combine only matching rows; use table.column or aliases to avoid ambiguity.
JoinCartesian productEqui-joinPrimary keyForeign keyaliasqualified name
📝 Practice Question Bank — Chapter 7
🌐 Chapter 8 · Introduction to Computer Networks
A computer network is a collection of computers and devices connected to share data and resources (files, printers, internet). This chapter covers network types, devices, topologies, the Internet and the web.
🎯 You will learn: PAN/LAN/MAN/WAN · devices (modem, hub, switch, repeater, router, gateway) · topologies (star, bus, tree, mesh) · Internet, URL, WWW, Web/Email/Chat/VoIP · web pages (static vs dynamic), web server, web hosting · browsers, cookies.
8.1 Types of Network (by area covered)
Type
Full form
Area
Example
PAN
Personal Area Network
a few metres
phone ↔ Bluetooth earbuds
LAN
Local Area Network
a building / campus
a school computer lab
MAN
Metropolitan Area Network
a city
cable TV network
WAN
Wide Area Network
country / world
the Internet
8.2 Network Devices
Device
Job
Modem
Modulates/demodulates — converts digital ↔ analog so data travels over phone/cable lines
Hub
Connects devices in a LAN; broadcasts data to all ports (not intelligent)
Switch
Like a hub but smart — sends data only to the intended device (uses MAC addresses)
Repeater
Regenerates/amplifies a weak signal to extend the network distance
Router
Connects different networks and finds the best path to route data (uses IP addresses)
Gateway
Connects two dissimilar networks (different protocols); acts as an entry/exit point
Hub vs Switch: a hub sends data to all connected devices (less secure, more traffic); a switch sends it only to the target device (faster, secure). A common exam comparison.
8.3 Network Topologies
Topology
Layout
Note
Bus
all devices on one main cable (backbone)
cheap; a cable break stops the whole network
Star
all devices connect to a central hub/switch
easy to manage; hub failure stops the network
Tree
hierarchy of star networks (branches)
scalable; root failure affects branches
Mesh
every device connected to every other
very reliable but expensive (many cables)
Fig 8.1 Common network topologies.
8.4 Internet, WWW, URL & Applications
Term
Meaning
Internet
the global network of networks (the infrastructure)
WWW
World Wide Web — the collection of linked web pages accessed over the Internet
URL
Uniform Resource Locator — the address of a web resource (e.g. https://cbse.gov.in/index.html)
Web / Email / Chat / VoIP
internet applications — browsing, electronic mail, instant messaging, voice-over-internet calls
8.5 Websites, Web Servers & Browsers
Term
Meaning
Web page
a single document on the web; static = same for everyone, dynamic = changes per user/request
Website
a collection of related web pages
Web server
a computer that stores a website and serves its pages to browsers
Web hosting
renting space on a web server to publish a website
Web browser
software to view web pages (Chrome, Firefox, Edge); has settings, add-ons/plug-ins
Cookies
small text files a website stores in the browser to remember the user (login, preferences)
📝 Chapter 8 in one line: Networks by size = PAN/LAN/MAN/WAN; devices = modem, hub, switch, repeater, router, gateway (switch is smart, hub broadcasts); topologies = bus/star/tree/mesh; the Internet is the network and the WWW is the linked pages on it, reached by a URL; web servers host sites that browsers view (using cookies).
PAN/LAN/MAN/WANmodem/router/gatewayhub vs switchstar/bus/tree/meshInternet/WWW/URLVoIPweb servercookies
📝 Practice Question Bank — Chapter 8
⚖️ Chapter 9 · Societal Impacts
Technology brings benefits and responsibilities. This chapter covers how to behave ethically and stay safe online, protect creative work, and handle the environmental and health effects of technology.
🎯 You will learn: digital footprint · net/communication etiquette · data protection · IPR, plagiarism, licensing & copyright · FOSS · cybercrime (hacking, phishing, cyber bullying) & the IT Act · e-waste & health concerns.
9.1 Digital Footprint
A digital footprint is the trail of data you leave online. Active footprint = data you share deliberately (posts, emails). Passive footprint = data collected automatically (cookies, IP address, browsing history). It is permanent, so think before posting.
9.2 Net & Communication Etiquette
A responsible internet user (netizen) follows netiquette: be respectful, no spamming/trolling, credit others' work, don't type in ALL CAPS (shouting), and protect others' privacy. Communication etiquette also covers polite, clear and honest online messages.
9.3 Data Protection & IPR
Term
Meaning
Data protection
safeguarding personal data from misuse/unauthorised access (privacy settings, encryption, laws)
Copyright
protects creative works — books, music, software, films
Patent
protects inventions (a device or process)
Trademark
protects brand identity — names, logos, slogans
Plagiarism
presenting someone else's work as your own without credit
Licensing
the legal terms under which software/content may be used (GPL, Apache, Creative Commons)
FOSS (Free and Open Source Software): software that is free to use, study, modify and redistribute (e.g. Linux, Python, LibreOffice). 'Free' means freedom, not only zero cost.
9.4 Cybercrime & Cyber Safety
Cybercrime
What it is
Hacking
unauthorised access to a computer/network
Phishing
fake emails/sites to steal passwords or bank details
Cyber bullying
harassing or humiliating someone online
Identity theft
using someone's identity for fraud
Stay safe: use strong passwords + two-factor authentication, browse on HTTPS, don't click unknown links, never share OTPs, and keep software updated.
IT Act (2000, amended 2008): India's cyber law. It gives legal recognition to electronic records and digital signatures and defines cyber offences and their penalties.
9.5 E-waste & Health Concerns
E-waste is discarded electronic devices (phones, computers, batteries) containing toxic materials. Manage it with the 3 R's — Reduce, Reuse, Recycle — through authorised recyclers, never in normal bins.
Health concerns from technology overuse include eye strain, back/neck pain, repetitive stress injury, and reduced physical activity. Remedies: correct posture, regular breaks (20-20-20 rule), good lighting and limited screen time.
📝 Chapter 9 in one line: Your digital footprint (active/passive) is permanent; follow netiquette; protect data and respect IPR (copyright/patent/trademark, avoid plagiarism); use FOSS responsibly; guard against cybercrime (hacking, phishing, cyber bullying) under the IT Act; and manage e-waste with the 3 R's while staying healthy.
digital footprintnetiquettedata protectioncopyright/patent/trademarkplagiarismFOSSphishing/hackingIT Acte-waste
📝 Practice Question Bank — Chapter 9
⌨️ Practical & Project Guide
The practical exam is 30 marks: Pandas/Matplotlib programs (8) + SQL queries (7) + Project (8) + Practical file (4) + Viva (3). Below are ready-to-use programs and project guidance.
A · Pandas / Matplotlib Programs
PROGRAM 1 · Series from a dictionary & analysis
import pandas as pd
marks = pd.Series({'Maths':85,'Science':90,'English':78})
print(marks) # full Series
print("Top:", marks.max()) # highest
print("Avg:", marks.mean()) # average
print(marks[marks > 80]) # subjects above 80
import pandas as pd
df = pd.read_csv('students.csv')
print(df.head()) # first 5 rows
print(df.shape) # (rows, columns)
print(df['Marks'].mean()) # average marks
PROGRAM 4 · Line plot
import matplotlib.pyplot as plt
days = [1,2,3,4,5]; temp = [30,32,31,29,33]
plt.plot(days, temp, marker='o', label='Temp')
plt.title('Temperature'); plt.xlabel('Day'); plt.ylabel('°C')
plt.legend(); plt.savefig('temp.png'); plt.show()
SELECT city, COUNT(*) FROM student GROUP BY city HAVING COUNT(*)>5;
Sort by marks (desc)
SELECT name, marks FROM student ORDER BY marks DESC;
Equi-join two tables
SELECT s.name, c.cname FROM student s, class c WHERE s.classid=c.classid;
C · Project Work (8 marks)
Take up one real-world problem and build a solution using Pandas/Matplotlib and/or SQL, individually or in a group of 2–3, with a written report.
Suggested project ideas:
School Result Analyser — read marks from a CSV into a DataFrame, compute toppers/averages/pass-%, and plot subject-wise bar graphs.
Sales Dashboard — monthly sales CSV → line plot of trend + bar graph by product; highlight the best month.
Library Management (SQL) — tables for Books, Members, Issue; queries for overdue books, most-issued titles, member counts.
Weather Data Visualizer — temperature/rainfall data → line plot and histogram, with title, labels and a saved image.
Survey Analysis — responses CSV → group-by counts, averages, and a bar graph of results.
Report should include: problem statement, data source, tools used, code, output/charts, and conclusion.
Viva tips: be ready to explain your code line by line, the difference between a Series and a DataFrame, what your SQL queries do, and which chart you used and why.
📋 CBSE Sample Question Paper + Marking Scheme
The official CBSE Sample Question Paper for Informatics Practices (065), Class XII, Session 2025-26, reproduced with its marking scheme. Click Show Answer & Marking under any question.
Informatics Practices (065) · Sample Question Paper · Class XII (2025-26)
Time: 3 HoursMax. Marks: 70
All questions compulsory · 5 Sections A–E · internal choices in some questions · all programming in Python · for MCQ write the option text too.
SECTION A21 × 1 = 21
Q1. True/False: The drop() method can be used to remove rows or columns from a Pandas DataFrame.1
Q2. Result of SELECT MOD(5,6); — (A) 3 (B) 5 (C) 6 (D) 01
✔
(B) 5 — 5 divided by 6 gives remainder 5. 1
Q3. An email with a link to a fake site to capture login credentials is which cybercrime? (A) Cyber Bullying (B) IPR Violation (C) Hacking (D) Phishing1
✔
(D) Phishing. 1
Q4. Which statement writes a DataFrame df to a CSV file? (A) df.to_csv() (B) df.write_csv() (C) df.to_table() (D) df.export_csv()1
✔
(A) df.to_csv(). 1
Q5. Device that converts digital signals to analog for transmission over a phone line: (A) Modem (B) Switch (C) Repeater (D) Router1
✔
(A) Modem. 1
Q6. Purpose of ROUND(num,0) in SQL? (A) Rounds to nearest integer (B) Always up (C) Unchanged (D) Always down1
✔
(A) Rounds the number to the nearest integer. 1
Q7. Aarushi wrote a novel and wants to protect her literary work. Which IPR? (A) Patent (B) Copyright (C) Trademark (D) Both Copyright & Trademark1
✔
(B) Copyright. 1
Q8. The default index of a Pandas Series (if none given) is: (A) Strings from 'a' (B) Integers from 1 (C) Random integers (D) Consecutive integers from 01
✔
(D) Consecutive integers starting from 0. 1
Q9. A table has one primary key and three alternate keys. How many candidate keys? (A) 1 (B) 2 (C) 3 (D) 41
Q10. Which is an application of VoIP? (A) Email (B) Chat (C) Internet Telephony (D) Web Browsing1
✔
(C) Internet Telephony. 1
Q11. Which SQL function counts non-NULL values in column_name? (A) COUNT(*) (B) COUNT(column_name) (C) SUM(column_name) (D) AVG(column_name)1
✔
(B) COUNT(column_name). 1
Q12. Adding two Pandas Series with different indices gives: (A) Error (B) indices ignored, added in order (C) all indices, missing filled as NaN (D) only common indices retained1
✔
(C) The result has all indices, with missing values filled as NaN. 1
Q13. India's primary law dealing with e-commerce and cybercrime: (A) Cybercrime Prevention Act 2000 (B) Digital Security Act 2000 (C) Information Technology Act 2000 (D) E-Commerce Regulation Act 20081
✔
(C) Information Technology Act, 2000. 1
Q14. Which SQL command sorts rows ascending/descending on a column? (A) ORDER BY (B) SORT BY (C) GROUP BY (D) SORT ON1
✔
(A) ORDER BY. 1
Q15. Which selects the first 3 rows of df (integer index from 0)? (A) df.loc[:3] (B) df.loc[:2] (C) df.loc[0:4] (D) df.loc[1:4]1
✔
(B) df.loc[:2] — loc includes the stop label, so rows 0,1,2. 1
Q16. In which topology is every node directly connected to every other node? (A) Star (B) Tree (C) Mesh (D) Bus1
✔
(C) Mesh. 1
Q17. Use of the INSTR() function in SQL? (A) replace characters (B) find length (C) find position of a substring (D) extract characters1
✔
(C) To find the position of a substring in a string. 1
Q18. Which creates an empty Pandas DataFrame? (A) pd.DataFrame(None) (B) pd.DataFrame() (C) pd.DataFrame([]) (D) pd.DataFrame.empty()1
✔
(B) pd.DataFrame(). 1
Q19. Which is NOT an aggregate function? (A) MIN() (B) SUM() (C) UPPER() (D) AVG()1
✔
(C) UPPER() — it is a text function, not an aggregate. 1
Q20. Assertion(A): print(df) and print(df.loc[:]) give the same output. Reason(R): df.loc[:] displays all rows and columns of df.1
Both A,R true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(A) Both A and R are True, and R correctly explains A.1
Q21. Assertion(A): INSERT INTO is a DML command. Reason(R): DML commands insert, update or delete data in a database.1
Both A,R true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(A) Both A and R are True, and R correctly explains A.1
SECTION B7 × 2 = 14
Q22. (A) What is a DataFrame in Pandas? Mention any one property. OR (B) Two differences between Series and DataFrame.2
✔
(A) A DataFrame is a 2-dimensional labelled data structure with rows and columns. Property: size-mutable — rows/columns can be added or deleted after creation. (B) Series is 1-D, DataFrame is 2-D; Series is size-immutable, DataFrame is size-mutable. 1 + 1
Q23. What is e-waste? Mention one impact of e-waste on the environment.2
✔
E-waste is discarded electronic equipment (old phones, computers, batteries). Impact: its toxic chemicals (lead, mercury) pollute soil and water and harm health if dumped carelessly. 1 + 1
Q24. Complete the code to create a Series (January 31, February 28, March 31). ser_data is a dictionary.2
✔
import pandas as pd
ser_data = {'January':31, 'February':28, 'March':31}
s = pd.Series(ser_data)
print(s)
½ × 4 blanks
Q25. (A) Explain the role of a web server and web hosting in publishing a website. OR (B) Explain VoIP and one benefit.2
✔
(A) A web server stores the website's files and serves its pages to browsers on request; web hosting is renting space on a web server so the site is reachable on the internet. (B)VoIP (Voice over Internet Protocol) carries voice calls over the internet; benefit: much cheaper than traditional phone calls. 1 + 1
Q26. Write SQL: (I) the day name for '2026-01-01'. (II) the position of "India" in "Incredible India".2
Q27. Define digital footprints. Differentiate active and passive digital footprints.2
✔
Digital footprint = the trail of data a person leaves online. Active: data shared deliberately (posts, emails). Passive: data collected automatically (cookies, IP, browsing history). 1 + 1
Q28. (A) Output after df.rename(columns={'Name':'StuName','Marks':'Score'}, inplace=True). OR (B) Output after df.drop(index=1, inplace=True).2
✔
(A)
StuName Score
0 Abhay 85
1 Ananya 92
2 Javed 88
(B)
State Capital
0 Maharashtra Mumbai
2 Kerala Thiruvananthapuram
2
SECTION C4 × 3 = 12
Q29. Rahul invented a solar water-purification system. (I) Explain IP & IPR. (II) Which IPR category covers his invention? (III) Importance of IPR.3
✔
(I) Intellectual Property = creations of the mind (inventions, works, designs); IPR = the legal rights that protect them. (II) A Patent (it is an invention). (III) IPR rewards and protects innovators, prevents illegal copying, and encourages further innovation. 1 × 3
Q30. (A) Program to create a Series (subjects as index, marks as values) using an ndarray. OR (B) Create the DataFrame (Course, Duration) using a list of dictionaries.3
✔
(A)
import pandas as pd, numpy as np
data = np.array([85,90,78,88])
s = pd.Series(data, index=['Mathematics','Science','English','History'])
print(s)
CREATE TABLE EMPLOYEES(
EmployeeID INT PRIMARY KEY,
EmpName VARCHAR(25),
HireDate DATE,
Salary_in_Lacs FLOAT(4,2));
INSERT INTO EMPLOYEES VALUES
(101,'Ravi Kumar','2015-06-01',1.70);
2 + 1
Q32. (A) STUDENT & MARKS tables: (I) names in Class 12 sorted ascending; (II) subjects in uppercase where score > 80; (III) names with subject and score. OR (B) EMPLOYEE table queries.3
✔
(I) SELECT Name FROM STUDENT WHERE Class=12 ORDER BY Name; (II) SELECT UCASE(Subject) FROM MARKS WHERE Score>80; (III) SELECT S.Name, M.Subject, M.Score FROM STUDENT S, MARKS M WHERE S.StudentID=M.StudentID;1 × 3
SECTION D2 × 4 = 8
Q33. Complete the Matplotlib line-graph program (monthly revenue). Statement-1 import; Statement-2 plot with legend label; Statement-3 title; Statement-4 save as monthly_revenue.png.4
Q34. (A) Student table — write SQL: (I) Name & City in uppercase sorted by Name; (II) StudentID with admission month name; (III) average marks; (IV) cities with number of students. OR (B) write the output of given queries.4
✔
(I) SELECT UCASE(Name), UCASE(City) FROM Student ORDER BY Name; (II) SELECT StudentID, MONTHNAME(Admission_Date) FROM Student; (III) SELECT AVG(Marks) FROM Student; (IV) SELECT City, COUNT(*) FROM Student GROUP BY City;1 × 4
SECTION E3 × 5 = 15
Q35. ABC Pvt Ltd. has its Head Office in Mumbai (4 departments: Administration-120 PCs, Sales-40, Development-70, Support-25) and a Regional Office in Jaipur (50 PCs), 1400 km away. (I) Best department to install the server & why. (II) Draw a suitable cable layout between the Mumbai departments. (III) Hardware device to connect all computers within a department. (IV) Most appropriate network type (LAN/MAN/WAN) between Mumbai and Jaipur. (V) Device to fix signal-strength loss between Administration and Support.5
✔
(I) The Administration department — it has the most computers (120), so traffic is least over the network. (II) Cable layout: a star/bus layout connecting Administration–Sales–Development–Support with the shortest cable lengths (e.g. Admin as the hub). (A neat labelled diagram of the four departments connected by cables.) (III) A Switch (or Hub). (IV) WAN (Wide Area Network) — the offices are in different cities (1400 km apart). (V) A Repeater — it regenerates the weakening signal. 1 × 5
Q36. DataFrame df has columns Name, Department, Salary (5 rows: Rohan/IT/75000, Meera/HR/68000, Aarav/Finance/85000, Nisha/Marketing/72000, Aditya/IT/80000). Write Python statements: (I) print the last 3 rows. (II) add column "Experience" = [5,8,10,6,7]. (III) delete column "Salary". (IV) rename "Department" to "Dept". (V) display only the "Name" and "Salary" columns.5
✔
I. print(df.tail(3))
II. df['Experience'] = [5, 8, 10, 6, 7]
III. df.drop(columns=['Salary'], inplace=True)
IV. df.rename(columns={'Department':'Dept'}, inplace=True)
V. print(df[["Name", "Salary"]])
1 × 5
Q37. (A) Write SQL: (I) first 5 characters of product_code in Products. (II) total number of orders from Order_Id in Orders. (III) year of order_date in Orders. (IV) Address from Customers with leading/trailing spaces removed. (V) the current date. OR (B) (I) total characters in 'DatabaseSystems'. (II) position of first 'a' in Product_Name. (III) square of Tran_Amount. (IV) average of Salaries. (V) total sum of Salary.5
✔
(A)
I. SELECT LEFT(product_code, 5) FROM Products;
II. SELECT COUNT(Order_Id) FROM Orders;
III. SELECT YEAR(order_date) FROM Orders;
IV. SELECT TRIM(Address) FROM Customers;
V. SELECT DATE(NOW());
(B)
I. SELECT LENGTH('DatabaseSystems');
II. SELECT INSTR(Product_Name, 'a') FROM Products;
III. SELECT POWER(Tran_Amount, 2) FROM Transactions;
IV. SELECT AVG(Salaries) FROM Employees;
V. SELECT SUM(Salary) FROM Employees;
1 × 5
📝 Practice Papers + Marking Schemes
Full 37-question papers on the CBSE blueprint (Sections A–E, 70 marks), each with a complete marking scheme. Click Show Answer & Marking under any question.
Practice Paper 1
Informatics Practices (065) · Practice Paper 1 · Class XII
Time: 3 HoursMax. Marks: 70
All questions compulsory · Sections A–E · all programming in Python · for MCQ write the option text too.
SECTION A21 × 1 = 21
Q1. A Pandas Series is a ______ dimensional structure.1
✔
One (1-D). 1
Q2. Output of SELECT MOD(19,4); (A)3 (B)4 (C)5 (D)01
✔
(A) 3. 1
Q3. Which method imports a CSV into a DataFrame? (A) read_csv() (B) to_csv() (C) open_csv() (D) load_csv()1
✔
(A) read_csv(). 1
Q4. Which device sends data only to the intended device? (A) Hub (B) Switch (C) Repeater (D) Modem1
✔
(B) Switch. 1
Q5. Unauthorised access to a computer system is called ______.1
✔
Hacking. 1
Q6. POWER(3,3) returns: (A)9 (B)27 (C)6 (D)331
✔
(B) 27. 1
Q7. Which IPR protects a brand logo? (A) Patent (B) Copyright (C) Trademark (D) FOSS1
✔
(C) Trademark. 1
Q8. df.shape returns: (A) only rows (B) (rows,columns) (C) total cells (D) columns1
✔
(B) (rows, columns). 1
Q9. COUNT(*) counts: (A) non-NULL only (B) all rows incl. NULLs (C) columns (D) distinct values1
✔
(B) all rows including NULLs. 1
Q10. Which Matplotlib function draws a histogram? (A) plot() (B) bar() (C) hist() (D) pie()1
✔
(C) hist(). 1
Q11. To skip the row index while exporting, use to_csv(______).1
✔
index=False. 1
Q12. A network spanning a city is a: (A) PAN (B) LAN (C) MAN (D) WAN1
✔
(C) MAN. 1
Q13. UCASE('cbse') returns ______.1
✔
CBSE. 1
Q14. Which clause filters groups after GROUP BY? (A) WHERE (B) HAVING (C) ORDER BY (D) LIMIT1
✔
(B) HAVING. 1
Q15. Data collected automatically (cookies, IP) forms a ______ footprint.1
✔
Passive. 1
Q16. In which topology do all devices connect to a central hub? (A) Bus (B) Star (C) Mesh (D) Tree1
✔
(B) Star. 1
Q17. MID('Practices',1,4) returns ______.1
✔
Prac. 1
Q18. Which selects by integer position? (A) loc (B) iloc (C) at (D) get1
✔
(B) iloc. 1
Q19. Which is NOT an aggregate function? (A) AVG (B) SUM (C) LENGTH (D) MAX1
✔
(C) LENGTH (a text function). 1
Q20. Assertion(A): COUNT(*) and COUNT(col) may differ. Reason(R): COUNT(col) ignores NULLs.1
Both true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(a) Both true and R explains A. 1
Q21. Assertion(A): A list can be a DataFrame column. Reason(R): Each dict in a list of dicts becomes a row.1
Both true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(b) Both true but R is not the explanation (R is about list of dicts; A is about columns). 1
SECTION B7 × 2 = 14
Q22. Differentiate a Series and a DataFrame (any two points).2
✔
Series is 1-D, DataFrame is 2-D; Series has one dtype, a DataFrame's columns may differ; a Series is like one column of a DataFrame. 1 + 1
Q23. What is e-waste? State one method to manage it.2
✔
Discarded electronic devices containing toxic materials; manage via the 3 R's (Reduce, Reuse, Recycle) through authorised recyclers. 1 + 1
Q24. Complete the code to create a Series of three city populations from a dictionary.2
✔
import pandas as pd
d = {'Delhi':30, 'Mumbai':20, 'Chennai':10}
s = pd.Series(d)
print(s)
2
Q25. Differentiate a hub and a switch.2
✔
A hub broadcasts data to all connected devices (less secure); a switch sends data only to the intended device using MAC addresses (faster, secure). 1 + 1
Q26. Write SQL: (I) round 78.456 to 1 decimal; (II) length of 'Computer'.2
Presenting someone else's work as your own without credit. Avoid it by citing sources, quoting/paraphrasing with credit, and creating original work. 1 + 1
Q28. Write the output: s=pd.Series([10,20,30]); print(s[s>15])2
✔
1 20
2 30
dtype: int64
(boolean indexing keeps elements > 15) 2
SECTION C3 × 3 = 9
Q29. (Case-based, IPR) A coder writes original software. (I) Which IPR protects it? (II) What is plagiarism? (III) What is FOSS?3
✔
(I) Copyright. (II) Using another's work as your own without credit. (III) Free and Open Source Software — free to use, study, modify and share (e.g. Linux, Python). 1 × 3
Q30. Write a Python program to create a DataFrame of 3 students (Name, Marks) and print rows with Marks > 80.3
✔
import pandas as pd
d = {'Name':['Asha','Ravi','Meera'], 'Marks':[85,90,78]}
df = pd.DataFrame(d)
print(df[df['Marks'] > 80])
3
Q31. (I) Create table BOOK(BID int PK, Title varchar(30), Price float). (II) Insert one row.3
✔
CREATE TABLE BOOK(
BID INT PRIMARY KEY,
Title VARCHAR(30),
Price FLOAT);
INSERT INTO BOOK VALUES (1,'Informatics',350);
2 + 1
SECTION D4 × 4 = 16
Q32. Table EMP(name,dept,salary). Write SQL: (I) total salary per dept; (II) max salary; (III) names sorted by salary desc; (IV) count of employees per dept.4
✔
(I) SELECT dept, SUM(salary) FROM emp GROUP BY dept; (II) SELECT MAX(salary) FROM emp; (III) SELECT name FROM emp ORDER BY salary DESC; (IV) SELECT dept, COUNT(*) FROM emp GROUP BY dept;1 × 4
Q33. Complete a Matplotlib bar-graph program for subject marks with title, labels and save.4
✔
import matplotlib.pyplot as plt
sub = ['Maths','Sci','Eng']; marks = [85,90,78]
plt.bar(sub, marks, color='violet')
plt.title('Marks'); plt.xlabel('Subject'); plt.ylabel('Marks')
plt.savefig('marks.png')
plt.show()
1 × 4
Q34. Two tables STUDENT(sid,name,classid) & CLASS(classid,cname). Write an equi-join showing student name with class name, and explain the join column.4
✔
SELECT s.name, c.cname FROM STUDENT s, CLASS c WHERE s.classid = c.classid; The join column classid is a foreign key in STUDENT referencing the primary key of CLASS; the equi-join keeps only matching rows. 3 + 1
SECTION E2 × 5 = 10
Q35. (Case-based, Pandas) df has columns Name, Dept, Salary. (i) Code to show employees in 'IT'. (ii) Code to add a column 'Bonus' = 10% of Salary. (iii) Code for average salary. (iv) Code to delete the Dept column. (v) Code for df.shape.5
Q36. (Case-based, Networks) A college sets up a network across one campus and connects to the internet. (i) Network type? (ii) Device for internet path? (iii) Topology with a central switch? (iv) Difference hub vs switch? (v) What is a URL?5
✔
(i) LAN. (ii) Router (with a modem). (iii) Star. (iv) Hub broadcasts to all; switch sends only to the target device. (v) Uniform Resource Locator — the address of a web resource. 1 × 5
Practice Paper 2
Informatics Practices (065) · Practice Paper 2 · Class XII
Time: 3 HoursMax. Marks: 70
SECTION A21 × 1 = 21
Q1. The attribute that gives the data type of a Series is ______.1
Q10. Which chart shows the frequency distribution of data? (A)line (B)bar (C)histogram (D)pie1
✔
(C) histogram. 1
Q11. NOW() returns ______.1
✔
The current date and time. 1
Q12. The largest network (worldwide) is a ______.1
✔
WAN. 1
Q13. A primary key cannot be ______.1
✔
NULL (or duplicate). 1
Q14. Which clause groups rows for aggregation? (A)ORDER BY (B)GROUP BY (C)WHERE (D)HAVING1
✔
(B) GROUP BY. 1
Q15. Posting a photo online creates a ______ footprint.1
✔
Active. 1
Q16. A cable break stops the whole network in which topology? (A)Star (B)Bus (C)Mesh (D)Tree1
✔
(B) Bus. 1
Q17. LENGTH(' IP ') returns ______.1
✔
6 (spaces are counted). 1
Q18. df[df['Marks']>80] is an example of ______.1
✔
Boolean indexing. 1
Q19. AVG, SUM, MAX, MIN, COUNT are ______ functions.1
✔
Aggregate. 1
Q20. Assertion(A): strings cannot be added to a Series of ints meaningfully. Reason(R): A Series holds a single dtype.1
Both true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(a) Both true and R explains A. 1
Q21. Assertion(A): HAVING can use aggregate functions. Reason(R): HAVING filters groups after GROUP BY.1
Both true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(a) Both true and R explains A. 1
SECTION B7 × 2 = 14
Q22. Differentiate loc and iloc.2
✔
loc selects by label (stop included); iloc selects by integer position (stop excluded). 1 + 1
Q23. What is a digital footprint? Name its two types.2
✔
The trail of data left online; types: active (shared) and passive (auto-collected). 1 + 1
Q24. Write code to read 'data.csv' into df and print its shape.2
✔
import pandas as pd
df = pd.read_csv('data.csv')
print(df.shape)
2
Q25. Differentiate the Internet and the WWW.2
✔
The Internet is the global network of networks (infrastructure); the WWW is the collection of linked web pages accessed over it. 1 + 1
Q26. Write SQL: (I) name in upper case; (II) month name of column 'doj'.2
✔
(I) SELECT UCASE(name) FROM emp; (II) SELECT MONTHNAME(doj) FROM emp;1 + 1
Q27. What is FOSS? Give one example.2
✔
Free and Open Source Software — free to use, study, modify, share; e.g. Linux/Python. 1 + 1
Q28. Output: s=pd.Series([4,8,12]); print(s/4)2
✔
1.0, 2.0, 3.0 (element-wise division → floats). 2
SECTION C3 × 3 = 9
Q29. (Case, Societal) (i) What is hacking? (ii) What is phishing? (iii) Name India's cyber law.3
✔
(i) Unauthorised access to a system. (ii) Fake messages/sites to steal data. (iii) The IT Act, 2000. 1 × 3
Q30. Write a program to create a Series of 4 subject marks (subjects as index) and print marks ≥ 80.3
✔
import pandas as pd
s = pd.Series([85,70,90,60], index=['M','S','E','H'])
print(s[s >= 80])
3
Q31. Write SQL to (I) create table CLUB(id int PK, name varchar(20), fee int); (II) insert a row.3
✔
CREATE TABLE CLUB(id INT PRIMARY KEY, name VARCHAR(20), fee INT);
INSERT INTO CLUB VALUES (1,'Chess',500);
2 + 1
SECTION D4 × 4 = 16
Q32. Table STUDENT(name,city,marks). SQL: (I) average marks; (II) count per city; (III) names sorted by marks desc; (IV) max marks city-wise.4
✔
(I) SELECT AVG(marks) FROM student; (II) SELECT city,COUNT(*) FROM student GROUP BY city; (III) SELECT name FROM student ORDER BY marks DESC; (IV) SELECT city,MAX(marks) FROM student GROUP BY city;1 × 4
Q33. Complete a Matplotlib histogram program for a list of scores with title, labels and 5 bins.4
Q34. Two tables EMP(eid,name,deptno) & DEPT(deptno,dname). Equi-join to show name with department name; explain Cartesian product.4
✔
SELECT e.name, d.dname FROM EMP e, DEPT d WHERE e.deptno=d.deptno; Without the condition you get the Cartesian product — every EMP row paired with every DEPT row (m×n). 3 + 1
SECTION E2 × 5 = 10
Q35. (Case, Pandas) df(Name,Marks,City). (i) rows with Marks>90; (ii) add 'Grade'; (iii) count students; (iv) average marks; (v) save to result.csv without index.5
Q36. (Case, SQL) Table SALES(spid,region,amt). (i) total per region; (ii) regions with total>50000; (iii) highest sale; (iv) count of sales; (v) average sale.5
✔
(i) SELECT region,SUM(amt) FROM SALES GROUP BY region; (ii) ...GROUP BY region HAVING SUM(amt)>50000; (iii) SELECT MAX(amt) FROM SALES; (iv) SELECT COUNT(*) FROM SALES; (v) SELECT AVG(amt) FROM SALES;1 × 5
Practice Paper 3
Informatics Practices (065) · Practice Paper 3 · Class XII
Q31. SQL: (I) display distinct cities; (II) count of students per class.3
✔
(I) SELECT DISTINCT city FROM student; (II) SELECT class, COUNT(*) FROM student GROUP BY class;1 + 2
SECTION D4 × 4 = 16
Q32. Table BOOK(title,author,price). SQL: (I) titles in uppercase; (II) average price; (III) books costlier than 300 sorted by price; (IV) count of books per author.4
✔
(I) SELECT UCASE(title) FROM book; (II) SELECT AVG(price) FROM book; (III) SELECT * FROM book WHERE price>300 ORDER BY price; (IV) SELECT author,COUNT(*) FROM book GROUP BY author;1 × 4
Q33. Complete a Matplotlib line plot of months vs revenue with title, labels, legend and save.4
Q36. (Case, Societal) A firm goes digital. (i) What is a digital footprint? (ii) Active vs passive? (iii) One IPR for its software? (iv) One cyber-safety step? (v) How to handle old PCs?5
✔
(i) The trail of online data. (ii) Active = shared; passive = auto-collected. (iii) Copyright. (iv) Strong passwords/2FA. (v) As e-waste via authorised recyclers (3 R's). 1 × 5
Practice Paper 4
Informatics Practices (065) · Practice Paper 4 · Class XII
Time: 3 HoursMax. Marks: 70
SECTION A21 × 1 = 21
Q1. The missing-value marker in Pandas is ______.1
✔
NaN. 1
Q2. SELECT MOD(25,7); gives (A)3 (B)4 (C)2 (D)51
✔
(B) 4. 1
Q3. CSV stands for ______.1
✔
Comma-Separated Values. 1
Q4. PAN, LAN, MAN, WAN are classified by ______.1
✔
The geographical area they cover. 1
Q5. Harassing someone repeatedly online is ______.1
Q30. Write a program to read 'marks.csv' and print rows where Marks > 50.3
✔
import pandas as pd
df = pd.read_csv('marks.csv')
print(df[df['Marks'] > 50])
3
Q31. SQL: (I) employees sorted by salary desc; (II) total salary.3
✔
(I) SELECT * FROM emp ORDER BY salary DESC; (II) SELECT SUM(salary) FROM emp;2 + 1
SECTION D4 × 4 = 16
Q32. Table EMP(name,dept,salary). SQL: (I) max salary per dept; (II) depts with avg salary>40000; (III) names in dept 'IT'; (IV) count of employees.4
✔
(I) SELECT dept,MAX(salary) FROM emp GROUP BY dept; (II) SELECT dept FROM emp GROUP BY dept HAVING AVG(salary)>40000; (III) SELECT name FROM emp WHERE dept='IT'; (IV) SELECT COUNT(*) FROM emp;1 × 4
Q33. Complete a Matplotlib bar graph of cities vs population with title, labels and save.4
Q36. (Case, Networks) A bank links branches across the country. (i) Network type? (ii) Topology connecting all-to-all? (iii) Device for dissimilar networks? (iv) What is VoIP? (v) What is a cookie?5
✔
(i) WAN. (ii) Mesh. (iii) Gateway. (iv) Voice calls over the internet. (v) A small file stored in the browser to remember the user. 1 × 5
Practice Paper 5
Informatics Practices (065) · Practice Paper 5 · Class XII
Voice over Internet Protocol — voice calls over the internet; benefit: cheaper than normal phone calls. 1 + 1
Q26. Write SQL: (I) day name of '2026-08-15'; (II) marks rounded to whole number.2
✔
(I) SELECT DAYNAME('2026-08-15'); (II) SELECT ROUND(marks,0) FROM t;1 + 1
Q27. Differentiate active and passive digital footprints.2
✔
Active = data you share deliberately; passive = data collected automatically (cookies, IP). 1 + 1
Q28. Output: s=pd.Series([2,4,6]); print(s*3)2
✔
6, 12, 18 (element-wise). 2
SECTION C3 × 3 = 9
Q29. (Case, Networks) (i) Expand WWW & URL. (ii) What is a web server? (iii) Static vs dynamic page?3
✔
(i) World Wide Web; Uniform Resource Locator. (ii) A computer that stores a website and serves its pages. (iii) Static = same for all; dynamic = changes per user. 1 × 3
Q30. Write a program to create a Series from a list and print elements greater than 50.3
✔
import pandas as pd
s = pd.Series([30,80,45,90])
print(s[s > 50])
3
Q31. SQL: (I) average salary; (II) employees with salary > average is hard in WHERE — instead show count of employees and max salary.3
✔
(I) SELECT AVG(salary) FROM emp; (II) SELECT COUNT(*), MAX(salary) FROM emp;1 + 2
SECTION D4 × 4 = 16
Q32. Table PRODUCT(pname,category,price). SQL: (I) avg price per category; (II) categories with avg price>500; (III) products sorted by price desc; (IV) count per category.4
✔
(I) SELECT category,AVG(price) FROM product GROUP BY category; (II) ...GROUP BY category HAVING AVG(price)>500; (III) SELECT * FROM product ORDER BY price DESC; (IV) SELECT category,COUNT(*) FROM product GROUP BY category;1 × 4
Q33. Complete a Matplotlib line plot of two series (sales, target) with a legend and save.4
✔
import matplotlib.pyplot as plt
m=['Jan','Feb','Mar']
plt.plot(m,[40,55,60],label='Sales')
plt.plot(m,[50,50,60],label='Target')
plt.legend(); plt.title('Sales vs Target')
plt.savefig('st.png'); plt.show()
1 × 4
Q34. Tables ORDERS(oid,cid,amt) & CUSTOMER(cid,cname). Equi-join to show order id with customer name; explain why a join is needed.4
✔
SELECT o.oid, c.cname FROM ORDERS o, CUSTOMER c WHERE o.cid=c.cid; A join is needed because the data is split across two tables (to avoid redundancy); the equi-join combines matching rows. 3 + 1
SECTION E2 × 5 = 10
Q35. (Case, Pandas) df(Name,Marks). (i) topper's marks; (ii) average; (iii) count; (iv) rows where Marks<33 (fail); (v) sort by Marks desc.5
Q36. (Case, SQL+Society) Table USER(uid,uname,city). (i) names in uppercase; (ii) count per city; (iii) a cyber-safety tip for users; (iv) what is phishing; (v) which law governs cyber offences.5
✔
(i) SELECT UCASE(uname) FROM USER; (ii) SELECT city,COUNT(*) FROM USER GROUP BY city; (iii) Use strong passwords + 2FA. (iv) Fake messages to steal data. (v) The IT Act, 2000. 1 × 5
Practice Paper 6
Informatics Practices (065) · Practice Paper 6 · Class XII
Time: 3 HoursMax. Marks: 70
SECTION A21 × 1 = 21
Q1. A DataFrame is a ______ dimensional structure.1
✔
Two (2-D). 1
Q2. SELECT MOD(30,7); gives (A)2 (B)3 (C)4 (D)51
✔
(A) 2. 1
Q3. index=False is used with ______.1
✔
to_csv(). 1
Q4. A switch uses ______ addresses to send data to the right device.1
✔
MAC. 1
Q5. A small file storing website preferences in your browser is a ______.1
✔
Cookie. 1
Q6. UCASE('ip') returns ______.1
✔
IP. 1
Q7. The IPR that protects a slogan/logo is ______.1
✔
Trademark. 1
Q8. df.tail(2) returns the ______ 2 rows.1
✔
Last. 1
Q9. SELECT SUM(salary) returns the ______ of salaries.1
✔
Total. 1
Q10. A line plot is best for showing ______.1
✔
A trend over time. 1
Q11. DAY('2026-06-29') returns ______.1
✔
29. 1
Q12. A network across two cities of a state is closest to a ______.1
✔
WAN (or MAN if within one metro). 1
Q13. A candidate key that is chosen to identify rows becomes the ______ key.1
✔
Primary. 1
Q14. HAVING filters ______ (rows/groups).1
✔
Groups. 1
Q15. Cookies and IP logging create a ______ footprint.1
✔
Passive. 1
Q16. A central hub failure stops a ______ topology.1
✔
Star. 1
Q17. SUBSTR('Computer',1,4) returns ______.1
✔
Comp. 1
Q18. df[['A','B']] returns a ______.1
✔
DataFrame. 1
Q19. COUNT(*) counts ______.1
✔
All rows (including NULLs). 1
Q20. Assertion(A): Tuples make good dictionary keys. Reason(R): Dictionary keys must be immutable. (general SQL/Python concept)1
Both true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(a) Both true and R explains A. 1
Q21. Assertion(A): savefig() should run before show(). Reason(R): show() may clear the figure.1
Both true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(a) Both true and R explains A. 1
SECTION B7 × 2 = 14
Q22. Differentiate append and a new column assignment in a DataFrame (adding data).2
✔
df['new']=values adds a column; df.loc[label]=row adds a row. 1 + 1
Q23. What is the IT Act? State one thing it does.2
✔
India's cyber law (2000); it gives legal recognition to e-records and defines cyber offences/penalties. 2
Q24. Write code to display the columns and shape of a DataFrame df.2
✔
print(df.columns); print(df.shape)2
Q25. Differentiate a web server and a web browser.2
✔
A web server stores and serves website pages; a web browser is software that requests and displays those pages. 1 + 1
Q26. Write SQL: (I) year of column 'doj'; (II) names in lowercase.2
✔
(I) SELECT YEAR(doj) FROM emp; (II) SELECT LCASE(name) FROM emp;1 + 1
Q27. What is a netizen? State one net etiquette.2
✔
A responsible citizen of the internet; etiquette: be respectful / no spamming / credit others' work. 1 + 1
Rows with M=90 and M=70 (the rows where M > 60). 2
SECTION C3 × 3 = 9
Q29. (Case, Networks) (i) What is the Internet? (ii) Expand VoIP. (iii) Difference between Internet & WWW?3
✔
(i) The global network of networks. (ii) Voice over Internet Protocol. (iii) Internet = infrastructure; WWW = linked pages on it. 1 × 3
Q30. Write a program to create a DataFrame of 3 products (Name, Price) and print the average price.3
✔
import pandas as pd
df = pd.DataFrame({'Name':['A','B','C'],'Price':[100,200,300]})
print(df['Price'].mean()) # 200.0
3
Q31. SQL: (I) display books with price between 200 and 500; (II) count of books.3
✔
(I) SELECT * FROM book WHERE price BETWEEN 200 AND 500; (II) SELECT COUNT(*) FROM book;2 + 1
SECTION D4 × 4 = 16
Q32. Table SALE(item,region,amt). SQL: (I) total per region; (II) regions with total>10000; (III) items sorted by amt desc; (IV) average amt.4
✔
(I) SELECT region,SUM(amt) FROM sale GROUP BY region; (II) ...GROUP BY region HAVING SUM(amt)>10000; (III) SELECT item FROM sale ORDER BY amt DESC; (IV) SELECT AVG(amt) FROM sale;1 × 4
Q33. Complete a Matplotlib histogram of exam scores (bins=6) with title and labels.4
Q34. Tables DOCTOR(did,dname,dept) & PATIENT(pid,pname,did). Equi-join to show patient name with doctor name; state the join column.4
✔
SELECT p.pname, d.dname FROM PATIENT p, DOCTOR d WHERE p.did=d.did; Join column did (foreign key in PATIENT → primary key in DOCTOR). 3 + 1
SECTION E2 × 5 = 10
Q35. (Case, Pandas) df(Name,Sub,Marks). (i) rows of subject 'IP'; (ii) average marks; (iii) topper's marks; (iv) add 'Result' (Pass if≥33); (v) save without index.5
✔
(i) df[df['Sub']=='IP'] (ii) df['Marks'].mean() (iii) df['Marks'].max() (iv) df['Result']=['Pass' if m>=33 else 'Fail' for m in df['Marks']] (v) df.to_csv('r.csv', index=False)1 × 5
Q36. (Case, Networks) A hospital networks its departments and goes online. (i) Network type within campus? (ii) Device for internet routing? (iii) Topology with central switch? (iv) What is web hosting? (v) Hub vs switch?5
✔
(i) LAN. (ii) Router. (iii) Star. (iv) Renting space on a web server to publish a site. (v) Hub broadcasts; switch targets the device. 1 × 5
Practice Paper 7
Informatics Practices (065) · Practice Paper 7 · Class XII
Time: 3 HoursMax. Marks: 70
SECTION A21 × 1 = 21
Q1. Pandas is built on top of the ______ library.1
Q29. (Case, Society) (i) What is plagiarism? (ii) What is licensing? (iii) Name one FOSS licence.3
✔
(i) Using others' work as your own without credit. (ii) Legal terms for using software/content. (iii) GPL / Apache / Creative Commons. 1 × 3
Q30. Write a program to create a Series from a dictionary of 3 items and print it.3
✔
import pandas as pd
s = pd.Series({'pen':10,'book':50,'bag':300})
print(s)
3
Q31. SQL: (I) insert a row into CLUB(id,name,fee); (II) update fee to 600 where id=1.3
✔
(I) INSERT INTO CLUB VALUES (2,'Music',400); (II) UPDATE CLUB SET fee=600 WHERE id=1;1 + 2
SECTION D4 × 4 = 16
Q32. Table STUDENT(name,class,marks). SQL: (I) class-wise average; (II) classes with avg>60; (III) toppers (marks=max) — show max; (IV) count per class.4
✔
(I) SELECT class,AVG(marks) FROM student GROUP BY class; (II) ...GROUP BY class HAVING AVG(marks)>60; (III) SELECT MAX(marks) FROM student; (IV) SELECT class,COUNT(*) FROM student GROUP BY class;1 × 4
Q33. Complete a Matplotlib line plot (years vs users) with title, axis labels, marker and save.4
Q34. Tables COURSE(cid,cname) & STUDENT(sid,sname,cid). Equi-join showing student with course name; how many rows if STUDENT has no condition match (Cartesian)?4
✔
SELECT s.sname, c.cname FROM STUDENT s, COURSE c WHERE s.cid=c.cid; Without the condition, rows = (STUDENT rows) × (COURSE rows) — the Cartesian product. 3 + 1
SECTION E2 × 5 = 10
Q35. (Case, Pandas+Viz) df(Month,Sales). (i) total sales; (ii) month with max sales; (iii) average; (iv) code to draw a bar graph of Month vs Sales; (v) save the chart.5
Q36. (Case, SQL) Table EMP(name,dept,salary). (i) department-wise total salary; (ii) highest paid employee's salary; (iii) count of employees; (iv) average salary; (v) departments with more than 3 employees.5
✔
(i) SELECT dept,SUM(salary) FROM EMP GROUP BY dept; (ii) SELECT MAX(salary) FROM EMP; (iii) SELECT COUNT(*) FROM EMP; (iv) SELECT AVG(salary) FROM EMP; (v) SELECT dept FROM EMP GROUP BY dept HAVING COUNT(*)>3;1 × 5
Practice Paper 8
Informatics Practices (065) · Practice Paper 8 · Class XII
Time: 3 HoursMax. Marks: 70
SECTION A21 × 1 = 21
Q1. s.head() returns the first ______ rows by default.1
✔
5. 1
Q2. SELECT MOD(40,9); gives (A)3 (B)4 (C)5 (D)61
✔
(B) 4. 1
Q3. A DataFrame column selected as df['c'] is a ______.1
✔
Series. 1
Q4. The largest WAN in the world is the ______.1
✔
Internet. 1
Q5. Unauthorised online harassment is ______.1
✔
Cyber bullying. 1
Q6. LCASE('DELHI') returns ______.1
✔
delhi. 1
Q7. A patent protects a/an ______.1
✔
Invention. 1
Q8. df.loc[0:2] returns ______ rows.1
✔
3 (loc includes the stop label). 1
Q9. COUNT(DISTINCT city) counts ______ cities.1
✔
Unique. 1
Q10. plt.savefig() ______ a chart.1
✔
Saves (to an image file). 1
Q11. MONTH('2026-03-10') returns ______.1
✔
3. 1
Q12. A LAN typically covers a ______.1
✔
Building/campus. 1
Q13. INSERT INTO is a ______ command (DDL/DML).1
✔
DML. 1
Q14. ORDER BY marks DESC sorts ______.1
✔
High to low (descending). 1
Q15. Sharing a post deliberately creates a/an ______ footprint.1
✔
Active. 1
Q16. The most reliable but costliest topology is ______.1
✔
Mesh. 1
Q17. RIGHT('Science',3) returns ______.1
✔
nce. 1
Q18. To filter rows by a condition we use ______ indexing.1
✔
Boolean. 1
Q19. AVG ignores ______ values.1
✔
NULL. 1
Q20. Assertion(A): A DataFrame's columns may have different dtypes. Reason(R): Each column is stored independently.1
Both true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(a) Both true and R explains A. 1
Q21. Assertion(A): COUNT(*) ignores NULLs. Reason(R): It counts rows, not column values.1
Both true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(d) A false (COUNT(*) counts all rows incl. NULLs), R true. 1
SECTION B7 × 2 = 14
Q22. Differentiate df.size and df.shape.2
✔
shape gives (rows, columns); size gives the total number of cells (rows × columns). 1 + 1
Q23. Name two safe-browsing practices.2
✔
Use HTTPS sites; avoid suspicious links; strong passwords; never share OTPs (any two). 1 + 1
Q24. Write code to delete the row with label 2 from df.2
✔
df = df.drop(2, axis=0)2
Q25. Differentiate PAN and LAN.2
✔
PAN spans a few metres (personal devices); LAN spans a building/campus (many computers). 1 + 1
Q26. Write SQL: (I) remainder of 27/4; (II) upper-case of 'name'.2
✔
(I) SELECT MOD(27,4); → 3. (II) SELECT UCASE(name) FROM t;1 + 1
Q27. What is intellectual property? Name one IPR.2
✔
Creations of the mind (inventions, works, designs); one IPR: copyright / patent / trademark. 1 + 1
0 10, 1 20 (first two elements, with dtype line). 2
SECTION C3 × 3 = 9
Q29. (Case, SQL functions) (i) Function to round a number. (ii) Function for substring. (iii) Function for weekday name.3
✔
(i) ROUND(). (ii) MID()/SUBSTR(). (iii) DAYNAME(). 1 × 3
Q30. Write a program to create a DataFrame (Name, Age) and print rows where Age > 18.3
✔
import pandas as pd
df = pd.DataFrame({'Name':['A','B'],'Age':[20,16]})
print(df[df['Age'] > 18])
3
Q31. SQL: (I) names where marks>80; (II) delete rows where marks<33.3
✔
(I) SELECT name FROM student WHERE marks>80; (II) DELETE FROM student WHERE marks<33;1 + 2
SECTION D4 × 4 = 16
Q32. Table MOVIE(title,genre,rating). SQL: (I) avg rating per genre; (II) genres with avg rating>4; (III) titles sorted by rating desc; (IV) count per genre.4
✔
(I) SELECT genre,AVG(rating) FROM movie GROUP BY genre; (II) ...GROUP BY genre HAVING AVG(rating)>4; (III) SELECT title FROM movie ORDER BY rating DESC; (IV) SELECT genre,COUNT(*) FROM movie GROUP BY genre;1 × 4
Q33. Complete a Matplotlib bar graph of teams vs scores with title, labels, colour and save.4
Q36. (Case, Society) A school promotes safe computing. (i) Define digital footprint. (ii) One cybercrime. (iii) One cyber-safety step. (iv) What is e-waste? (v) Name the IT Act year.5
✔
(i) The trail of online data. (ii) Phishing/hacking. (iii) Strong passwords + 2FA. (iv) Discarded electronics (toxic). (v) 2000. 1 × 5
Practice Paper 9
Informatics Practices (065) · Practice Paper 9 · Class XII
Time: 3 HoursMax. Marks: 70
SECTION A21 × 1 = 21
Q1. The default index of a Series starts at ______.1
✔
0. 1
Q2. SELECT POWER(10,2); gives ______.1
✔
100. 1
Q3. To read only the first 20 rows of a CSV use ______.1
✔
nrows=20. 1
Q4. A modem converts ______ signals.1
✔
Digital ↔ analog. 1
Q5. Fake messages to steal data are ______.1
✔
Phishing. 1
Q6. LENGTH('Network') returns ______.1
✔
7. 1
Q7. Free and Open Source Software lets you ______ the code.1
✔
Study/modify (and use, share). 1
Q8. df.iloc[2] selects the row at ______ 2.1
✔
Position. 1
Q9. SELECT AVG(marks) gives the ______.1
✔
Average marks. 1
Q10. The chart for comparing categories is a ______.1
✔
Bar graph. 1
Q11. YEAR('2026-12-31') returns ______.1
✔
2026. 1
Q12. A web ______ stores a website and serves its pages.1
✔
Server. 1
Q13. A foreign key in one table refers to the ______ key of another.1
✔
Primary. 1
Q14. To compute one summary per group, combine an aggregate with ______.1
✔
GROUP BY. 1
Q15. Copying another's work as your own is ______.1
✔
Plagiarism. 1
Q16. A bus topology uses a single ______ cable.1
✔
Backbone. 1
Q17. MID('Practices',6,4) returns ______.1
✔
ices. 1
Q18. df['New']=values ______ a column.1
✔
Adds. 1
Q19. HAVING can use ______ functions.1
✔
Aggregate. 1
Q20. Assertion(A): index=False prevents writing row numbers to CSV. Reason(R): It is a to_csv parameter.1
Both true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(a) Both true and R explains A. 1
Q21. Assertion(A): A histogram compares categories. Reason(R): It shows frequency distribution.1
Both true; R explains A
Both true; R not explanation
A true, R false
A false, R true
✔
(d) A false (a histogram shows distribution, not category comparison), R true. 1
SECTION B7 × 2 = 14
Q22. Differentiate a Series and a DataFrame.2
✔
Series is 1-D (one column, single dtype); DataFrame is 2-D (rows + columns, mixed dtypes). 1 + 1
Q23. Mention two impacts of e-waste.2
✔
Toxic chemicals pollute soil/water; harm to human health (any two). 1 + 1
Q24. Write code to create a DataFrame from a list of dictionaries [{'A':1},{'A':2}].2
✔
pd.DataFrame([{'A':1},{'A':2}]) — each dict is a row. 2
Q25. Differentiate the Internet and the WWW.2
✔
Internet = global network infrastructure; WWW = the linked web pages accessed over it. 1 + 1
Q26. Write SQL: (I) average salary; (II) count of employees.2
✔
(I) SELECT AVG(salary) FROM emp; (II) SELECT COUNT(*) FROM emp;1 + 1
Q27. Define cyber bullying. State one safety step.2
✔
Harassing/humiliating someone online; safety: don't respond, save evidence, block and report. 1 + 1
Q29. (Case, IPR) (i) IPR for a song. (ii) IPR for a logo. (iii) IPR for an invention.3
✔
(i) Copyright. (ii) Trademark. (iii) Patent. 1 × 3
Q30. Write a program to read 'emp.csv' and print the average of column 'Salary'.3
✔
import pandas as pd
df = pd.read_csv('emp.csv')
print(df['Salary'].mean())
3
Q31. SQL: (I) distinct departments; (II) employees per department.3
✔
(I) SELECT DISTINCT dept FROM emp; (II) SELECT dept,COUNT(*) FROM emp GROUP BY dept;1 + 2
SECTION D4 × 4 = 16
Q32. Table ORDERS(cust,city,amt). SQL: (I) total per city; (II) cities with total>20000; (III) orders sorted by amt desc; (IV) max amt.4
✔
(I) SELECT city,SUM(amt) FROM orders GROUP BY city; (II) ...GROUP BY city HAVING SUM(amt)>20000; (III) SELECT * FROM orders ORDER BY amt DESC; (IV) SELECT MAX(amt) FROM orders;1 × 4
Q33. Complete a Matplotlib histogram of ages (bins=4) with title and axis labels.4
Q34. Tables TEACHER(tid,tname) & SUBJECT(sid,sname,tid). Equi-join to show subject with teacher name; explain the join column.4
✔
SELECT s.sname, t.tname FROM SUBJECT s, TEACHER t WHERE s.tid=t.tid; Join column tid (foreign key in SUBJECT → primary key in TEACHER) links the two tables. 3 + 1
SECTION E2 × 5 = 10
Q35. (Case, Pandas) df(Product,Sold). (i) total sold; (ii) best-selling product; (iii) average; (iv) products with Sold>50; (v) save to s.csv without index.5
Q36. (Case, Networks) A startup sets up office IT. (i) Network type? (ii) Topology with central switch? (iii) Device to reach the internet? (iv) What are cookies? (v) Static vs dynamic page?5
✔
(i) LAN. (ii) Star. (iii) Router (with modem). (iv) Small files storing user info in the browser. (v) Static = same for all; dynamic = changes per user. 1 × 5
Practice Paper 10
Informatics Practices (065) · Practice Paper 10 · Class XII
Time: 3 HoursMax. Marks: 70
SECTION A21 × 1 = 21
Q1. A Pandas Series stores a single ______ (data type).1
Q29. (Case, Networks) (i) Device that routes between networks. (ii) Device that extends range. (iii) Topology that is most reliable.3
✔
(i) Router. (ii) Repeater. (iii) Mesh. 1 × 3
Q30. Write a program to create a DataFrame (Name, Marks) and save it to 'result.csv' without the index.3
✔
import pandas as pd
df = pd.DataFrame({'Name':['A','B'],'Marks':[85,90]})
df.to_csv('result.csv', index=False)
3
Q31. SQL: (I) display employees in dept 'IT' sorted by salary desc; (II) total salary of dept 'IT'.3
✔
(I) SELECT * FROM emp WHERE dept='IT' ORDER BY salary DESC; (II) SELECT SUM(salary) FROM emp WHERE dept='IT';2 + 1
SECTION D4 × 4 = 16
Q32. Table GAME(player,team,score). SQL: (I) team-wise total score; (II) teams with total>100; (III) players sorted by score desc; (IV) highest score.4
✔
(I) SELECT team,SUM(score) FROM game GROUP BY team; (II) ...GROUP BY team HAVING SUM(score)>100; (III) SELECT player FROM game ORDER BY score DESC; (IV) SELECT MAX(score) FROM game;1 × 4
Q33. Complete a Matplotlib line plot (week vs steps) with title, labels, legend and save.4
Q34. Tables AUTHOR(aid,aname) & BOOK(bid,title,aid). Equi-join to show book title with author name; how is the Cartesian product different?4
✔
SELECT b.title, a.aname FROM BOOK b, AUTHOR a WHERE b.aid=a.aid; The Cartesian product (no condition) pairs every book with every author (m×n); the equi-join keeps only matching aid rows. 3 + 1
SECTION E2 × 5 = 10
Q35. (Case, Pandas+Viz) df(Subject,Marks). (i) average marks; (ii) subject with max marks; (iii) rows where Marks<40; (iv) code for a bar graph; (v) code to save it.5
Q36. (Case, SQL+Society) Table MEMBER(mid,name,city). (i) names in uppercase; (ii) count per city; (iii) define plagiarism; (iv) name one FOSS example; (v) one e-waste management step.5
✔
(i) SELECT UCASE(name) FROM MEMBER; (ii) SELECT city,COUNT(*) FROM MEMBER GROUP BY city; (iii) Using others' work as your own without credit. (iv) Linux/Python. (v) Recycle via authorised recyclers. 1 × 5
✅ All 10 practice papers complete (plus the CBSE Sample Paper in the CBSE Sample Paper + MS menu). Each follows the official CBSE blueprint — Sections A–E, 37 questions, 70 marks — with full marking schemes. Every chapter's question bank also gives 15 questions × 8 types for unlimited extra practice.
🏆 Exam Strategy
Time plan (3 hours): Section A ~25 min, B ~25 min, C ~20 min, D ~50 min, E ~30 min, revision ~20 min.
For MCQs, always write the text of the correct option, not just the letter. For SQL, end queries with a semicolon and use the exact function names. For Pandas output questions, write the output exactly as Python prints it (including the dtype line for a Series).
📚 Glossary (A–Z)
Key Informatics Practices (065) terms for quick revision.
Aggregate function — SQL function on many rows returning one value (MAX, MIN, AVG, SUM, COUNT). Active footprint — online data you share deliberately (posts, emails). Bar graph — chart comparing categories (separated bars); plt.bar(). Boolean indexing — filtering DataFrame rows by a True/False condition. Cartesian product — joining two tables with no condition → m × n rows. Cookie — small text file a website stores in the browser to remember the user. Copyright — IPR protecting creative works (books, music, software). COUNT(*) — counts all rows incl. NULLs; COUNT(col) skips NULLs. CSV — Comma-Separated Values; plain-text tabular file. DataFrame — 2-D labelled Pandas structure (rows + columns). Digital footprint — the trail of data left online (active + passive). dtype — the data type of a Series/column. Equi-join — join of two tables on equal values of a common column (=). E-waste — discarded electronics; manage with Reduce, Reuse, Recycle. Foreign key — column referring to another table's primary key (link for joins). FOSS — Free and Open Source Software (free to use, study, modify, share). Gateway — connects two dissimilar networks (different protocols). GROUP BY — groups rows so an aggregate is computed per group. HAVING — filters groups after GROUP BY (can use aggregates). head()/tail() — first/last n rows (default 5). Histogram — chart of frequency distribution in bins (touching bars); plt.hist(). Hub — broadcasts data to all devices; Switch — sends to the intended device. iloc — select by integer position (stop excluded); loc — by label (stop included). Index — the labels of a Series/DataFrame. Internet — global network of networks; WWW — linked web pages on it. IPR — Intellectual Property Rights (copyright, patent, trademark). IT Act — India's cyber law (2000) defining cyber offences. LAN / MAN / WAN / PAN — networks by area (building / city / country / personal). Matplotlib — Python plotting library (pyplot). Modem — converts digital ↔ analog signals. NaN — Not a Number; a missing value in Pandas. Pandas — Python data-handling library (Series & DataFrame). Patent — IPR protecting an invention. Passive footprint — data collected automatically (cookies, IP). Phishing — fake messages/sites to steal data. Plagiarism — using another's work as your own without credit. Primary key — uniquely identifies each row (no NULL/duplicate). read_csv() / to_csv() — import a CSV into / export a DataFrame to a CSV. Repeater — regenerates a weak signal to extend range. Router — connects networks and routes data using IP. Series — 1-D labelled Pandas array (index + values). Single-row function — SQL function returning one value per row (UCASE, ROUND, MID). Topology — network layout: Star, Bus, Tree, Mesh. Trademark — IPR protecting brand names/logos. URL — Uniform Resource Locator; the address of a web resource. VoIP — Voice over Internet Protocol (calls over the internet). Web server / hosting — computer that serves a website / renting space on it.