Skip to content
← All years

Informatics Practices · 2025

CBSE Class 12 Informatics Practices 2025 — Previous-Year Question Paper

CBSE Class XII Board 2025 · Set 90/1/1

Real board examination

About this paper

The real Class-12 board examination held in 2025. Every question below is solved the concept-first way. Sample papers are labelled honestly — never shown as a past exam.

Total marks
70
Questions
37
Duration
180 min
Sections
5

The marks / questions / duration above are the official exam pattern. We currently have 37 of this paper’s questions (100% of the full paper), with 37 fully solved. Questions we couldn’t yet extract or verify are held — never shown as complete.

Sections & marks

SectionTypeQuestionsMarks eachTotal
ASection AMCQ / objective21121
BSection BVery short answer7214
CSection CShort answer4312
DSection DCase-based248
ESection ELong answer3515
Total3770

The question paper

The questions we hold for this paper, laid out by section. Solutions are on the Answers tab.

Board Examination

Informatics Practices

CBSE Class XII Board 2025 · Set 90/1/1

Series/Set: 90/1/1Roll No. ________
Time Allowed: 3 hoursMaximum Marks: 70

General Instructions

  1. This question paper contains 37 questions divided into 5 sections — A, B, C, D, E.
  2. Section A comprises 21 questions of 1 mark each (MCQ / objective).
  3. Section B comprises 7 questions of 2 marks each (Very short answer).
  4. Section C comprises 4 questions of 3 marks each (Short answer).
  5. Section D comprises 2 questions of 4 marks each (Case-based).
  6. Section E comprises 3 questions of 5 marks each (Long answer).

Above is the official exam pattern. The questions printed below are those we currently hold for this paper.

Section A

MCQ / objective · 1 mark each · 21 of 21 shown

Q1.
State whether the following statement is True or False: In Python, we cannot create an empty DataFrame.
[1]
Q2.
What will be the output of the following SQL command? SELECT MONTHNAME('2024-08-02'); (A) 08 (B) 02 (C) February (D) August
[1]
Q3.
Temporary data files stored by websites in our computer can be used to track our online activities and also to personalize browsing experience. These files are known as: (A) Plug-ins (B) Add-ons (C) Cookies (D) Bookmarks
[1]
Q4.
Which of the following is not an aggregate function in SQL? (A) COUNT(*) (B) MIN() (C) LEFT() (D) AVG()
[1]
Q5.
Raheem created a unique computer software and wants to protect his creation from being copied or used without his permission. He is considering to apply for legal protection. Which type of intellectual property protection should Raheem apply for, to safeguard his software? (A) Copyright (B) Plagiarism (C) Trademark (D) Lease
[1]
Q6.
What is the default index type for a Pandas Series if not explicitly specified? (A) String (B) List (C) Numeric (D) Boolean
[1]
Page 1 of 7
Q7.
In Python which function of matplotlib library is used to save a plot? (A) save() (B) saveplot() (C) export() (D) savefig()
[1]
Q8.
State whether the following statement is True or False: The MOD() function in SQL returns the quotient of division operation between two numbers.
[1]
Q9.
Which of the following data structures is used for storing one-dimensional labelled data in Python Pandas? (A) Integer (B) Dictionary (C) Series (D) DataFrame
[1]
Q10.
Priya received an email that appeared to be from her bank, asking her to update her account information by clicking on a link. She clicked the link to enter her details, but immediately after, some amount was debited from her account. What type of cybercrime did Priya fall victim to? (A) Cyber stalking (B) Phishing (C) Fishing (D) Cyber bullying
[1]
Q11.
Which SQL function calculates ab? (A) MOD() (B) POWER() (C) RAISE() (D) ROUND()
[1]
Q12.
Which protocol is used while communicating through video calls on the Internet? (A) Video Over Internet Protocol (B) Voice Over Internet Protocol (C) Internet Protocol (D) Video Audio Over Internet Protocol
[1]
Q13.
Which of the following Python statements will be used to select a specific element having index as points, from a Pandas Series named ser? (A) ser.element(points) (B) ser.select(points) (C) ser[points] (D) ser.show[points]
[1]
Q14.
Excessive screen time and poor posture can lead to: (A) Faster Internet speeds (B) Eye strain and other health issues (C) Better vision and bone density (D) Improved physical health
[1]
Q15.
Which of the following libraries defines an ndarray in Python? (A) pandas (B) numpy (C) matplotlib (D) scipy
[1]
Q16.
With respect to SQL, match the function given in column-II with categories given in column-I: Column-I: (i) Math function (ii) Aggregate function (iii) Date function (iv) Text function Column-II: (a) COUNT() (b) ROUND() (c) RIGHT() (d) YEAR() Options: (A) (i)-(c), (ii)-(d), (iii)-(a), (iv)-(b) (B) (i)-(b), (ii)-(a), (iii)-(d), (iv)-(c) (C) (i)-(d), (ii)-(b), (iii)-(a), (iv)-(c) (D) (i)-(b), (ii)-(c), (iii)-(d), (iv)-(a)
[1]
Page 2 of 7
Q17.
Which of the following Python statements is used to change a column label in a DataFrame, df? (A) df = df.rename(oldₙame: newₙame, axis='columns') (B) df = df.rename(oldₙame, newₙame), axis='columns' (C) df = df.changeₙame(oldₙame, newₙame, axis='bar') (D) df = df.update(oldₙame: newₙame, axis='bar')
[1]
Q18.
In Python Pandas, DataFrame.___[] is used for label indexing with DataFrames. (A) label (B) index (C) labindex (D) loc
[1]
Q19.
Every web page on the Internet has a unique address. This address is known as: (A) Domain Name (B) Protocol (C) Uniform Resource Locator (D) Network Topology
[1]
Q20.
Assertion (A): The drop() method in Pandas can be used to delete rows and columns from a DataFrame. Reason (R): The axis parameter in the drop() method specifies whether to delete rows (axis=0) or columns (axis=1). (A) Both Assertion (A) and Reason (R) are True and Reason (R) is the correct explanation for Assertion (A). (B) Both Assertion (A) and Reason (R) are True and Reason (R) is not the correct explanation for Assertion (A). (C) Assertion (A) is True and Reason (R) is False. (D) Assertion (A) is False, but Reason (R) is True.
[1]
Q21.
Assertion (A): The ROUND() function in SQL can be used to round off a number to a specified number of decimal places. Reason (R): The ROUND() function is a string function that accepts character values as input and returns numerical values as output. (A) Both Assertion (A) and Reason (R) are True and Reason (R) is the correct explanation for Assertion (A). (B) Both Assertion (A) and Reason (R) are True and Reason (R) is not the correct explanation for Assertion (A). (C) Assertion (A) is True and Reason (R) is False. (D) Assertion (A) is False, but Reason (R) is True.
[1]
Section B

Very short answer · 2 marks each · 7 of 7 shown

Q1.
(a) Mention any two main points of difference between Series and DataFrame of Python Pandas. OR (b) Explain how we can access elements of a series using slicing. Give an example to support your answer.
[2]
Q2.
A small tech startup, is considering using open source software to develop their new project management tool. They are evaluating the benefits and potential challenges of adopting open source solutions. (i) Identify one key benefit of using open source software for the development of project management tool. (ii) Give any two examples of open source software.
[2]
Page 3 of 7
Q3.
Consider the string, "Informatics Practices". Write suitable SQL queries for the following: (i) To convert the entire string to uppercase. (ii) To display the total number of characters in the given string.
[2]
Q4.
(a) Give any two points of difference between Static web page and Dynamic web page. OR (b) Describe the role of a router in a network.
[2]
Q5.
What is a Database Management System (DBMS)? Mention any two examples of DBMS.
[2]
Q6.
Give any two impacts on environment that are caused when e-waste is carelessly thrown or dumped in landfills or dumping grounds.
[2]
Q7.
(a) Rohit is trying to create a Pandas Series from scalar values. His code has some mistakes. Rewrite the correct code and underline the corrections made. import pandas data = [50, 15, 40] series = pd.series(data, Index=['x', 'y', 'z']) Print(series) OR (b) Complete the given Python code to generate the following output: COLOUR NAME QTY 0 Red Apple 10 1 Blue Berry 15 2 Green Guava 20 import ___ as pd data=['COLOUR': 'Red', 'NAME': 'Apple', 'QTY':10, 'COLOUR': 'Blue', 'NAME': 'Berry', 'QTY':15, ___, 'NAME': 'Guava', 'QTY':20] df=pd.DataFrame(___) print(___)
[2]
Section C

Short answer · 3 marks each · 4 of 4 shown

Q1.
Ravi is a student studying in grade 12. He frequently uses the internet for various activities such as social networking, online shopping, and to research for school projects. Recently, he noticed that he receives targeted advertisements based on his browsing history and is concerned about his digital footprint. Additionally, Ravi has encountered instances of cyberbullying and is unsure how to handle them. Help Ravi by answering the following questions: (i) What are digital footprints, and how are they created? (ii) Write any two net etiquettes that Ravi should follow to ensure respectful and responsible online behavior. (iii) How can Ravi protect himself from cyberbullying? Mention any one protective measure.
[3]
Page 4 of 7
Q2.
(a) Write a Python program to create the following DataFrame using a Dictionary of Series: City State 0 Mumbai Maharashtra 1 Dehradun Uttarakhand 2 Bengaluru Karnataka 3 Hyderabad Telangana OR (b) Write a Python program to create a Pandas Series as shown below from an ndarray containing the numbers 10, 20, 30, 40, 50 with corresponding indices 'A', 'B', 'C', 'D', 'E'. A 10 B 20 C 30 D 40 E 50
[3]
Q3.
(i) Write the SQL statement to create a table, Customer with the following specifications: Table: Customer | Column Name | Data Type | Key | | --- | --- | --- | | CID | Int | Primary Key | | FName | Varchar(20) | | | LName | Varchar(20) | | | Age | Int | | (ii) Write the SQL query to display all records in descending order of LName from the Table Customer.
[3]
Q4.
(a) Given the following tables: Table: STUDENTS | SID | NAME | AGE | CITY | | --- | --- | --- | --- | | 1 | Rahul | 20 | Delhi | | 2 | Priya | 22 | Mumbai | | 3 | David | 21 | Delhi | | 4 | Neha | 23 | Bengaluru | | 5 | Khurshid | 22 | Delhi | Table: GRADES | SID | SUBJECT | GRADE | | --- | --- | --- | | 1 | Math | A | | 2 | English | B | | 3 | Math | C | | 4 | English | A | | 5 | Math | B | Write SQL queries for the following: (i) To display the number of students from each city. (ii) To find the average age of all students. (iii) To list the names of students and their grades. OR (b) Consider the following tables: Table 1: PRODUCTS This table stores the basic details of the products available in a shop. | PID | PName | Category | | --- | --- | --- | | 201 | Laptop | Electronics | | 202 | Chair | Furniture | | 203 | Desk | Furniture | | 204 | Smartphone | NULL | | 205 | Tablet | Electronics | Table 2: SALES This table records the number of units sold for each product. | SaleID | PID | UnitsSold | | --- | --- | --- | | 301 | 201 | 50 | | 302 | 202 | 100 | | 303 | 203 | 60 | | 304 | 204 | 80 | | 305 | 205 | 70 | Write SQL queries for the following: (i) To delete those records from table SALES whose UnitsSold is less than 80. (ii) To display names of all products whose category is not known. (iii) To display the product names along with their corresponding units sold.
[3]
Section D

Case-based · 4 marks each · 2 of 2 shown

Q1.
Gurkirat has to fill in the blanks in the given Python program that generates a line plot as shown below. The given line plot represents the temperature (in degree Celcius) over five days as given in the table: | Days | Temperature | | --- | --- | | Day 1 | 30 | | Day 2 | 32 | | Day 3 | 31 | | Day 4 | 29 | | Day 5 | 28 | import ___ as plt # Statement-1 days = ['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5'] temp = [30, 32, 31, 29, 28] plt.___(days, temp) # Statement-2 plt.xlabel('___') # Statement-3 plt.ylabel('Temperature') plt.title('___') # Statement-4 plt.show() Write the missing statements according to the given specifications: (i) Write the suitable code to import the required module in the blank space in the line marked as Statement-1. (ii) Fill in the blank in Statement-2 with a suitable Python function name to create a line plot. (iii) Refer to the graph shown and fill in the blank in Statement-3 to display the appropriate label for x-axis. (iv) Refer to the graph shown and fill in the blank in Statement-4 to display the suitable chart title.
[4]
Page 5 of 7
Q2.
(a) An educational institution is maintaining a database for storing the details of courses being offered. The database includes a table COURSE with the following attributes: CID: Stores the unique ID for each course. CNAME: Stores the course's name. INSTRUCTOR: Stores the name of the course instructor. DURATION: Stores the duration of the course in hours. Table: COURSE | CID | CNAME | INSTRUCTOR | DURATION | | --- | --- | --- | --- | | C101 | Data Structures | Dr. Alok | 40 | | C102 | Machine Learning | Prof. Sunita | 60 | | C103 | Web Development | Ms. Sakshi | 45 | | C104 | Database Management | Mr. Suresh | 50 | | C105 | Python Programming | Dr. Pawan | 35 | Write SQL queries for the following: (i) To add a new record with following specifications: CID: C106 CNAME: Introduction to AI INSTRUCTOR: Ms. Preeti DURATION: 55 (ii) To display the longest duration among all courses. (iii) To count total number of courses run by the institution. (iv) To display the instructors' name in lower case. OR (b) Ashutosh, who is a manager, has created a database to manage employee records. The database includes a table named EMPLOYEE whose attribute names are mentioned below: EID: Stores the unique ID for each employee. EMPNAME: Stores the name of the employee. DEPT: Stores the department of the employee. SALARY: Stores the salary of the employee. JOINDATE: Stores the employee's joining date. Table: EMPLOYEE | EID | EMPNAME | DEPT | SALARY | JOINDATE | | --- | --- | --- | --- | --- | | E01 | ARJUN SINGH | SALES | 75000 | 2019-11-01 | | E02 | PRIYA JAIN | ENGINEERING | 85000 | 2020-05-20 | | E03 | RAVI SHARMA | MARKETING | 60000 | 2018-08-14 | | E04 | AYESHA | NULL | 50000 | 2021-01-10 | | E05 | RAHUL VERMA | FINANCE | 40000 | 2017-06-25 | Write the output of the following SQL Queries: (i) Select SUBSTRING(EMPNAME, 1, 5) from EMPLOYEE where DEPT = 'ENGINEERING'; (ii) Select EMPNAME from EMPLOYEE where month(JOINDATE) = 8; (iii) Select EMPNAME from EMPLOYEE where SALARY > 60000; (iv) Select count(DEPT) from EMPLOYEE;
[4]
Section E

Long answer · 5 marks each · 3 of 3 shown

Q1.
XYZ Technologies, Hyderabad is a company that deals with data science and AI projects. They have different divisions ADMIN, SALES, PRODUCTION and SERVICE. The management wants to connect all the divisions as well as the computers of each division (ADMIN, SALES, PRODUCTION and SERVICE). Distance between the divisions is as follows: ADMIN to SALES: 69 m ADMIN to PRODUCTION: 84 m ADMIN to SERVICE: 60 m SALES to PRODUCTION: 110 m SALES to SERVICE: 135 m PRODUCTION to SERVICE: 90 m Number of computers in each division: ADMIN: 40 SALES: 75 PRODUCTION: 120 SERVICE: 20 Based on the above specifications, answer the following questions: (i) Suggest the topology and draw the most suitable cable layout for connecting all the divisions in the Hyderabad office. (ii) XYZ Technologies is having its head office in USA. Out of LAN, MAN and WAN, which kind of network will be created to connect Hyderabad office with USA Office? Justify your answer. (iii) Suggest the division for the placement of server. Explain the reason for your selection. (iv) Suggest the placement of Switch/Hub with justification. (v) Where will a repeater be placed in the suggested network layout? Justify your answer.
[5]
Q2.
Consider the DataFrame Doctor shown below: | | DID | Name | Department | Fee | | --- | --- | --- | --- | --- | | 0 | 101 | Dr. Joe | ENT | 1500 | | 1 | 102 | Dr. Salma | UROLOGY | 1600 | | 2 | 103 | Dr. Jeet | ORTHO | 1550 | | 3 | 104 | Dr. Neha | ENT | 1200 | | 4 | 105 | Dr. Vikram | ORTHO | 1700 | Write suitable Python statements for the following: (i) To print the last three rows of the DataFrame Doctor. (ii) To display the names of all doctors. (iii) To add a new column 'Discount' with value of 200 for all doctors. (iv) To display rows with index 2 and 3. (v) To delete the column 'Department'.
[5]
Page 6 of 7
Q3.
(a) Write SQL query for the following: (i) To display sum total of all the values of the Score column, from STUDENTS table. (ii) To display the first five characters of the Name column from STUDENTS table. (iii) To display the values of Name column from the STUDENTS table, after removing the trailing spaces. (iv) To retrieve the lowest score from the Score column of GRADES table. (v) To increase the fee of all students by 100, in the STUDENTS table. (The name of the column is FEE) OR (b) Write SQL queries for the following: (i) To calculate the square of 15. (ii) To round the number 456.789 to the nearest integer. (iii) To display the position of first occurrence of 'com' in the string 'mycommercial.com'. (iv) To display the name of the day for the date '2024-11-07'. (v) To display the current date and time.
[5]
Page 7 of 7