★★★★★
"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
CBSE Class 10 · Artificial Intelligence, code 417 · Practical exam 2027
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
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.

The batch / 417 Class 10
The full 417 course, with an unseen practical task solved under time in the Wednesday lab once each unit is taught.
Open the course →
Units 4 and 7 / Python
Lists, conditions, NumPy, Pandas and Matplotlib until a blank cell holds no fear and a changed requirement is a one-line edit.
Open the course →
Units 5 and 6 / Orange
Image and text workflows built widget by widget, so an Orange task on exam day is a familiar canvas.
Open the course →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?
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 unit | Likely task on the day | Tool |
|---|---|---|
| Unit 7: Advance Python | A short program with input, conditions and a loop; a NumPy array with mean, median and a filter | Python in Jupyter |
| Unit 4: Statistical Data | Read a CSV, show some rows, find a column statistic, filter rows, draw a labelled chart | Pandas and Matplotlib, or Orange |
| Unit 5: Computer Vision | Load an image, print its shape, convert to grayscale, count pixels; or classify images in Orange | NumPy or OpenCV, or Orange |
| Unit 6: NLP | Tokenise text, remove stopwords, count words or build a Bag of Words; or a word cloud and sentiment in Orange | Python, or Orange |
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.
Q2. Advance Python and Statistical Data
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.
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.
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.
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), "%")
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.
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"]])
(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.
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")
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
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.
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])
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.
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])
['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 Orange | Widgets, in order | What to show the examiner |
|---|---|---|
| Classify images, for example ripe and unripe fruit | Import Images, Image Embedding, Test and Score with a learner, Confusion Matrix | The accuracy and one class the model confuses |
| Find the common words in reviews | Corpus, Preprocess Text, Bag of Words or Word Cloud | Why stopwords vanished after preprocessing |
| Score opinions as positive or negative | Corpus, Preprocess Text, Sentiment Analysis, Data Table | The 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?
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 checks | How it shows on screen | How marks slip |
|---|---|---|
| It runs | Every cell executes top to bottom without an error | A cell that only works because an older cell was run first |
| The output is right | Numbers that can be checked by hand, every requested item printed | Printing the mean but forgetting the count the task also asked for |
| The output is readable | Labels in print statements, chart title and axis names | A bare list of numbers nobody can match to the question |
| It is your own | Variable names you can explain, comments in your words | Freezing when asked to change one value |
| It handles a change | The examiner swaps an input and it still works | Values typed into the output instead of computed |
| You can explain it | A clear sentence for what each block does | "I saw it in a video" |
Before you call the examiner, restart the kernel and run every cell. It catches the hidden dependence on a deleted cell.
Read the last line of the error first: it names the problem, often a misspelt column name or a missing import.
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?
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.
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.
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.
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
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
₹1,499
per month, two live classes a week
Option 2 · Choose your own timing
₹4,999
per month, one private class a weektwo private classes a week, at a time set with you
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?
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 live | Mon and Wed 9:00 PM IST | Best format |
|---|---|---|
| India (IST) every Indian city | 9:00 PM | Batch fits |
| UAE and Oman Dubai, Abu Dhabi, Sharjah, Muscat | 7:30 PM | Batch fits |
| Saudi Arabia, Qatar, Kuwait, Bahrain Riyadh, Jeddah, Dammam, Doha, Kuwait City, Manama | 6:30 PM | Batch fits |
| Nepal Kathmandu | 9:15 PM | Batch fits |
| Ethiopia and East Africa Addis Ababa and East Africa Time | 6:30 PM | Batch fits |
| Singapore and Malaysia Singapore, Kuala Lumpur | 11:30 PM | Choose 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
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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