CBSE Class 10 · Artificial Intelligence, code 417 · Practical exam 2027

Class 10 AI practical exam questions for 2027, solved the way the exam asks them.

These class 10 AI practical exam questions are for the 15-mark task in CBSE 417 Part C, set on four units: Statistical Data, Computer Vision, NLP and Advance Python. Below are the likely tasks for each unit, six original programs run in Python with their real output, the Orange version of each task, a time plan and the checklist an examiner works through while you type. In our live batch, students solve tasks like these unseen and against the clock.

Live online · six solved programs below · unseen tasks under time · Python and Orange both · checked against the examiner list · first class free

Start here

Courses behind the practical exam

The 417 course whose Wednesday lab runs these timed tasks, the Python course for the NumPy, Pandas and Matplotlib the tasks lean on, and the Orange course for the no-code version of every task.

Ans. The short version

The class 10 AI practical exam is worth 15 of the 50 Part C marks in CBSE 417 and is conducted by the school before the theory paper. Tasks come from four practical units: Statistical Data, Computer Vision, Natural Language Processing and Advance Python. Expect an unseen task close to your file programs: NumPy statistics, a Pandas CSV task, a labelled chart, an image or a text task, in Python or Orange. Examiners check that it runs, gives the right output and that you can explain it. Modern Age Coders practises these tasks live in a Monday and Wednesday 9:00 PM IST batch, or one to one.

Q1. What is the AI practical exam?

What is asked in the AI practical exam, unit by unit

The practical exam is one unseen task worth 15 marks, solved on a computer and shown running. It is set on the four practical units, and Units 4 and 7 are examined nowhere else.

Practical unitLikely task on the dayTool
Unit 7: Advance PythonA short program with input, conditions and a loop; a NumPy array with mean, median and a filterPython in Jupyter
Unit 4: Statistical DataRead a CSV, show some rows, find a column statistic, filter rows, draw a labelled chartPandas and Matplotlib, or Orange
Unit 5: Computer VisionLoad an image, print its shape, convert to grayscale, count pixels; or classify images in OrangeNumPy or OpenCV, or Orange
Unit 6: NLPTokenise text, remove stopwords, count words or build a Bag of Words; or a word cloud and sentiment in OrangePython, or Orange

How long is the AI practical exam?

The 417 curriculum does not print a duration for the task, so your school sets the slot, often alongside the file check and the viva. We train for a one-hour task window, which leaves room if the school is stricter.

Our time plan for a one-hour task

  1. 5 minutes: read the task twice and underline every output it asks for.
  2. 5 minutes: write the steps as comments in the first cell.
  3. 30 minutes: code one step per cell, running each as you go.
  4. 10 minutes: run again with a second input and check by hand.
  5. 10 minutes: add labels and comments, save, and prepare to explain.

Q2. Advance Python and Statistical Data

417 practical questions with Python, NumPy, Pandas and Matplotlib, solved

Four exam-style tasks, each written for this page and run in Python with the output pasted exactly. Read the task, try it, then compare.

Task 1 (Unit 7). Store seven marks in a NumPy array. Print the mean, median and mode, then the marks above the mean and how many there are.

Programnumpy plus statistics
import numpy as np
import statistics

marks = np.array([72, 85, 64, 85, 91, 58, 77])
print("Mean:", round(np.mean(marks), 2))
print("Median:", np.median(marks))
print("Mode:", statistics.mode(marks.tolist()))
above = marks[marks > np.mean(marks)]
print("Above the mean:", above)
print("Count:", above.size)

NumPy has no mode function, which is why statistics is imported. The filter inside the square brackets is the line examiners most like to ask about.

Outputas run
Mean: 76.0
Median: 77.0
Mode: 85
Above the mean: [85 85 91 77]
Count: 4

Check by hand: the total is 532 and 532 / 7 = 76. Sorted, the fourth of seven values is 77.

Task 2 (Unit 7). Read the names and scores out of 50 of three students. Print each percentage with a grade, then the class average.

Programinput, if-elif, loop
total = 0
for i in range(3):
    name = input("Name: ")
    score = float(input("Score out of 50: "))
    pct = score / 50 * 100
    total = total + pct
    if pct >= 90:
        grade = "A"
    elif pct >= 75:
        grade = "B"
    elif pct >= 50:
        grade = "C"
    else:
        grade = "Needs support"
    print(name, round(pct, 1), "%", grade)
print("Class average:", round(total / 3, 1), "%")
Outputinputs Riya 46, Kabir 38.5, Sana 22
Riya 92.0 % A
Kabir 77.0 % B
Sana 44.0 % Needs support
Class average: 71.0 %

float(), not int(), because a score such as 38.5 is allowed. The order of the elif tests matters: check 90 before 75.

Task 3 (Unit 4). rainfall.csv has the columns month, rain_mm and rainy_days for June to November. Show its size and first three rows, the average rainfall, and the months above 100 mm.

Programpandas
import pandas as pd

df = pd.read_csv("rainfall.csv")
print(df.shape)
print(df.head(3))
print("Average rainfall:", round(df["rain_mm"].mean(), 1))
wet = df[df["rain_mm"] > 100]
print(wet[["month", "rain_mm"]])
Outputas run
(6, 3)
  month  rain_mm  rainy_days
0   Jun      164           9
1   Jul      238          16
2   Aug      201          14
Average rainfall: 124.8
  month  rain_mm
0   Jun      164
1   Jul      238
2   Aug      201

Our file held Jun 164, Jul 238, Aug 201, Sep 96, Oct 38 and Nov 12. The double square brackets select two columns.

Task 4 (Unit 4). Draw a bar chart of the same rainfall with a title, axis labels and a dashed line at the average. Save it as an image.

Programmatplotlib
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("rainfall.csv")
plt.bar(df["month"], df["rain_mm"], color="teal")
plt.axhline(df["rain_mm"].mean(), color="black", linestyle="--")
plt.title("Monthly rainfall, June to November")
plt.xlabel("Month")
plt.ylabel("Rainfall (mm)")
plt.savefig("rainfall.png")
print("Saved rainfall.png")
Outputwhat appears
Saved rainfall.png

# Six teal bars, tallest for Jul (238),
# shortest for Nov (12). The dashed line
# sits at 124.8, crossed only by Jun,
# Jul and Aug.

Call savefig before show, or the saved file can come out blank. In Jupyter, add plt.show() last to see the chart under the cell.

The Orange version of Tasks 3 and 4: File, then Data Table to view rows, Feature Statistics for the mean, Select Rows for the filter, and Bar Plot or Distributions for the chart. CBSE's eight suggested programs, and the twists they come back with, are on Python for CBSE Class 10 AI.

Q3. Computer Vision and NLP

AI practical exam 2027: image and text tasks, solved

Units 5 and 6 are in the theory paper too, so the practical version checks that the ideas work as code: pixels are numbers, and words become counts.

Task 5 (Unit 5). An image is stored as a 2 by 3 RGB array. Print its shape, the number of pixels and values, a grayscale version by averaging the channels, and the second row flipped.

Programnumpy image
import numpy as np

img = np.array([[[255, 0, 0], [0, 255, 0], [0, 0, 255]],
                [[255, 255, 255], [0, 0, 0], [90, 120, 150]]],
               dtype=np.uint8)
print("Shape:", img.shape)
h, w, c = img.shape
print("Pixels:", h * w, "Values:", img.size)
gray = img.mean(axis=2).astype(np.uint8)
print("Gray shape:", gray.shape)
print(gray)
print("Row 2 flipped:", np.fliplr(gray)[1])
Outputas run
Shape: (2, 3, 3)
Pixels: 6 Values: 18
Gray shape: (2, 3)
[[ 85  85  85]
 [255   0 120]]
Row 2 flipped: [120   0 255]

Pure red, green and blue all average to 85. With a real photo, cv2.imread loads the file and cv2.cvtColor makes the grayscale; OpenCV weights the three channels unequally, so its grey values differ from a plain average.

Task 6 (Unit 6). For three short sentences, lowercase, split into words, drop the stopwords is, a, and, the, then print the sorted vocabulary and each sentence's Bag of Words vector.

Programplain python
docs = ["Clean water saves lives",
        "Dirty water spreads disease",
        "Water is life and water is a right"]
stop = {"is", "a", "and", "the"}
tokens = [[w for w in d.lower().split() if w not in stop]
          for d in docs]
vocab = sorted(set(w for t in tokens for w in t))
print(vocab)
for t in tokens:
    print([t.count(w) for w in vocab])
Outputas run
['clean', 'dirty', 'disease', 'life', 'lives',
 'right', 'saves', 'spreads', 'water']
[1, 0, 0, 0, 1, 0, 1, 0, 1]
[0, 1, 1, 0, 0, 0, 0, 1, 1]
[0, 0, 0, 1, 0, 1, 0, 0, 2]

"life" and "lives" stay separate because there is no stemming or lemmatisation here. The 2 in the last vector is "water" appearing twice.

If the task is set in OrangeWidgets, in orderWhat to show the examiner
Classify images, for example ripe and unripe fruitImport Images, Image Embedding, Test and Score with a learner, Confusion MatrixThe accuracy and one class the model confuses
Find the common words in reviewsCorpus, Preprocess Text, Bag of Words or Word CloudWhy stopwords vanished after preprocessing
Score opinions as positive or negativeCorpus, Preprocess Text, Sentiment Analysis, Data TableThe most negative text and its score

Image Embedding needs an internet connection for its default embedder, so ask in advance whether the lab is online. The theory behind these tasks is drilled on computer vision questions and Bag of Words and TFIDF, worked; every widget is walked through on Orange Data Mining for Class 10 AI.

Q4. What does the examiner check?

What examiners check in the class 10 AI practical exam

CBSE does not publish a mark-by-mark rubric for the 417 practical task. From what examiners look for when they watch, this is the checklist our mock tasks are marked against; treat it as ours, not CBSE's.

The examiner checksHow it shows on screenHow marks slip
It runsEvery cell executes top to bottom without an errorA cell that only works because an older cell was run first
The output is rightNumbers that can be checked by hand, every requested item printedPrinting the mean but forgetting the count the task also asked for
The output is readableLabels in print statements, chart title and axis namesA bare list of numbers nobody can match to the question
It is your ownVariable names you can explain, comments in your wordsFreezing when asked to change one value
It handles a changeThe examiner swaps an input and it still worksValues typed into the output instead of computed
You can explain itA clear sentence for what each block does"I saw it in a video"

Restart and run all

Before you call the examiner, restart the kernel and run every cell. It catches the hidden dependence on a deleted cell.

Keep error messages calm

Read the last line of the error first: it names the problem, often a misspelt column name or a missing import.

Say what you would add

If time runs out, explain the missing step aloud. A clear plan for the last line is worth more than silence.

The oral that follows the task is a separate 5 marks; its questions are on class 10 AI viva questions.

Q5. How is it practised in class?

How the live batch prepares students for the practical exam

A student who has only typed programs from a file meets a new task and stalls. Practice has to be unseen, timed and changed halfway.

Unseen, not repeated

Every Wednesday task is new, built on the week's unit. Students write the steps as comments first, then code, with the teacher watching shared screens.

The changed requirement

Twenty minutes in, the teacher changes one thing: a new column, a second sentence, a different threshold. That is the moment that tests understanding, so we practise it on purpose.

Python and Orange both

Each task is solved once in code and once in Orange, so the student is ready whichever tool the school's lab and examiner prefer.

How the practical sits inside the whole year, with the file and project, is on the project and practical file page; the theory paper's mock calendar is on sample paper and mock tests.

Batch or personalised: you choose

Practise practical tasks in the Monday and Wednesday batch, or one to one

Both formats work through the same unseen tasks with the same teachers. The batch keeps a weekly rhythm and shows students how classmates solve the same task differently. One to one fixes the exact step where your child gets stuck. Monthly billing, no admission fee, stop at the end of any month.

Option 1 · Fixed batch timings

Group batch, Monday and Wednesday 9 PM

₹1,499

per month, two live classes a week

  • Monday and Wednesday, 9:00 PM IST, live on video
  • Fifteen to twenty Class 10 AI students, one teacher
  • An unseen practical task in the Wednesday lab
  • Each task in Python and in Orange
  • A full timed practical before the school date
Book a free demo in this batch

Option 2 · Choose your own timing

Personalised one to one

₹4,999

per month, one private class a week, at a time set with you

  • Days and time picked by you, in your own time zone
  • Tasks chosen from the unit your child finds hardest
  • Screen shared while your child codes, every step watched
  • Extra tasks in the weeks just before the school practical
  • Same CBSE 417 syllabus and teachers
Ask for a personalised plan

Students who can read code but cannot start from a blank cell usually improve fastest one to one, where every hesitation is caught. Students who are new to Python or Orange gain more from the batch, where the practical units are taught in order before tasks begin. Fees are shown in your own currency.

Studying outside India?

Class 10 AI practical exam preparation for CBSE schools abroad

A CBSE school in the Gulf, Nepal or East Africa runs the same Part C practical on dates it sets. This is when the batch falls in local time this winter.

Where you liveMon and Wed 9:00 PM ISTBest format
India (IST)
every Indian city
9:00 PMBatch fits
UAE and Oman
Dubai, Abu Dhabi, Sharjah, Muscat
7:30 PMBatch fits
Saudi Arabia, Qatar, Kuwait, Bahrain
Riyadh, Jeddah, Dammam, Doha, Kuwait City, Manama
6:30 PMBatch fits
Nepal
Kathmandu
9:15 PMBatch fits
Ethiopia and East Africa
Addis Ababa and East Africa Time
6:30 PMBatch fits
Singapore and Malaysia
Singapore, Kuala Lumpur
11:30 PMChoose 1-on-1

If the batch hour does not suit your city, one to one practical sessions run when you choose. More for families abroad is on CBSE Class 10 AI online classes in the Gulf and abroad.

What families say

Rated 4.9 across 547 Google reviews

Real reviews from real families. We neither write nor commission them.

★★★★★

"The one step solution for my son. Modern Age Coders make learning coding so simple that kids love it. The teachers explain complex concepts clearly with practical exercises and interactive content."

Ria Mukherjee

Parent

★★★★★

"Modern Age Coders has been a game-changer for me. I struggled to grasp IT concepts and coding before joining, but their classes transformed everything. I can now confidently write complex programs with ease."

Samriddha Mondal

Student

★★★★★

"One of the most wonderful education centres out there. Education is not limited to school syllabus but focuses on skill development."

Vansh Agarwal

Student

★★★★★

"My child Dhairya is really enjoying the Modern Age Coders classes. This is his first online class and he eagerly looks forward to it. I can already see his improvement, and the teachers are very cooperative."

Sonam Oswal

Parent of Dhairya

★★★★★

"Modern Age Coders have wonderful teachers who teach in a clear, easy and practical way. The teacher boosts students' confidence and inspires them to learn without hesitation."

Sonu Goyal

Parent

★★★★★

"I highly recommend this computer coding class! The teachers are incredibly knowledgeable and passionate about coding."

Ritu Kedia

Parent

The rest of the Class 10 series

More pages for Class 10 board students

Every page in the CBSE Class 10 AI (417) series, grouped by what you need: classes, each unit, question practice, notes and revision, and the exam itself.

ICSE Class 10 Computer Applications (Java): The Tue and Wed ICSE Java batch ICSE Computer Applications syllabus ICSE Java programs practice ICSE CA important questions

Questions about the Class 10 AI practical exam

What students and parents ask about the class 10 AI practical exam

What questions come in the class 10 AI practical exam?

An unseen task from the four practical units of CBSE 417: a Python program with input and conditions, NumPy statistics such as mean and median, a Pandas task on a CSV file, a labelled Matplotlib chart, an image shape or grayscale task, or a text task such as tokenising and counting words. Some schools set the task in Orange instead of Python.

How many marks is the class 10 AI practical exam?

The practical examination is 15 marks. It sits inside Part C, which carries 50 marks: practical file 15, practical exam 15, viva 5, project 10 and project viva 5. The theory paper carries the other 50 marks of the subject.

Which units come in the AI practical exam 2027?

Four units: Unit 4 Statistical Data, Unit 5 Computer Vision, Unit 6 Natural Language Processing and Unit 7 Advance Python, as in the 2026-27 curriculum. Units 4 and 7 are examined only in the practical, never in the theory paper, so they deserve real practice.

Is numpy and matplotlib asked in the class 10 AI practical?

Yes, they are the core of the Python tasks. Expect NumPy for arrays and statistics, Pandas to read and filter a CSV file and Matplotlib for line, bar or scatter charts with a title and axis labels. NumPy has no mode function, so use the statistics module for the mode.

Is the practical exam the same as the practical file programs?

Not exactly. The task is usually close to a file program but changed: a different dataset, an extra condition, a second chart or a new sentence. A student who understands each line adapts in minutes, while one who memorised the file often gets stuck.

Can I use Orange in the class 10 AI practical exam?

Many schools allow it, because Orange is part of the 417 curriculum for data, image and text tasks. Whether your task is in Python or Orange depends on the school and the examiner, so ask your teacher and practise both, especially the image and text workflows.

How long is the class 10 AI practical exam?

The 417 curriculum does not fix a duration for the practical task, so each school sets its own slot, usually with the file check and the viva on the same day. We train students to finish a task in about an hour, with time left to test and explain it.

When is the CBSE class 10 AI practical exam held?

It is conducted by the school before the theory board paper, on dates the school announces. Ask your school for the exact date, and aim to finish the practical file early so the last weeks go into timed practice rather than writing.

What if my code shows an error in the practical exam?

Read the last line of the error first, because it names the problem, then fix that one line. Common causes are a misspelt column name, a missing import or a bracket left open. If you cannot fix it in time, explain the step you intended: examiners credit a clear plan.

Is practical exam practice included in your classes?

Yes. Unseen practical tasks in Python and Orange are part of ordinary teaching in the Wednesday lab and in one to one sessions, covered by the monthly fee shown on this page, with no admission fee and a free first class.

Start

Solve a free practical task with a teacher

In the free first class, your child solves a short unseen practical task while sharing the screen, and the teacher shows how an examiner would check it, including a changed input at the end. You will see where your child is steady and where they stall, and the mentor will say plainly whether the batch or one to one fits better.

Want to see the full Part C picture first? Read the 417 syllabus explained.

WhatsApp us · +91 91233 66161 · connect@modernagecoders.com

Every class is live video. The form requests a callback and reserves nothing.

We call within a few hours. No card, no enrolment fee.

Want it sooner? Book a priority demo

A full live class of about 45 to 60 minutes at a slot you pick, with a written skill report and learning roadmap on WhatsApp afterwards. The fee is adjusted against your first month if you enrol.

Book a priority demo

Keep exploring Modern Age Coders

By class and age

Learn more

Free resources

From the blog

Start here