ICSE Class 10 · Computer Applications (Java) · Previous year papers 2023 to 2026

ICSE Computer Applications previous year question papers, solved by the pattern they follow.

An ICSE Computer Applications previous year question paper solved once teaches one paper. Read four of them side by side and the board's habits show. This page lists what Section B asked in 2023, 2024, 2025 and 2026, in our own words, tags each question by program family, counts which families came back, and then gives six original programs in the same shapes with full Java answers, every one compiled and run. In our live mini batch, past questions are solved this way: grouped, timed and marked.

Live online · four board papers mapped · 24 Section B questions tagged · six original solved programs · timed past-paper rounds · first class free

Start here

Courses that use these past papers

The ICSE Java course where the mini batch works through past board questions family by family, the Class 11 and 12 Computer Science course that the same program-writing habits feed into, and the algorithms course for a student who wants to go past the board.

Ans. The short version

An ICSE Computer Applications previous year question paper is most useful when it is solved by pattern. In the 2023, 2024, 2025 and 2026 board papers, Section B (any four of six programs, 15 marks each) always had a class with a calculation, a method overloading question with a nested-loop pattern and a String program; a digit-based number check, a 2D array task and a sorting or searching task came in most years. Section A is 40 compulsory marks. Modern Age Coders works through these past questions with students live, in a Tuesday and Wednesday evening mini batch in India or in personalised one to one classes.

Q1. What did each year's Section B ask?

ICSE Computer Applications previous year question paper solved, year by year (2023 to 2026)

Each of these four papers had a Section A of 40 compulsory marks and a Section B of six programs, Questions 3 to 8, of which a candidate writes any four for 15 marks each. The table describes every Section B question in our own words, not the board's, and tags it with the program family it belongs to.

YearQWhat it asked, in our wordsProgram family
20233A student class that takes name, age and marks, then allots a stream from four marks bandsClass and object, if-else ladder
4Ten characters read into an array, arranged in ascending order by bubble sort, both arrays shownSorting (bubble)
5One method name overloaded twice: a five-row grid of repeated digits, and a check comparing the sums of a number's even and odd digitsOverloading, pattern, digit check
6Count the digits, letters and other characters in a StringString, character tests
7Search a double array of twenty values for a user's value with linear search and report the positionSearching (linear)
8Ten integers in an array: add the one-digit values and the two-digit values separately1D array, conditions
20243A courier class that bills a parcel by weight in three slabs, with an extra charge for international parcelsClass and object, slab bill
4One method overloaded three ways: a cone's curved surface area, a rows-by-columns number grid, and a quotient or remainder chosen by a characterOverloading, pattern, Math
5Check whether a number is a palindrome whose digit sum is evenNumber check (digits)
6A 4 by 4 matrix: compare the sums of the two diagonals2D array
7Eight given six-digit codes stored in an array and put in ascending order by selection sortSorting (selection)
8Test whether an email address entered by the user has the parts a valid Gmail address needsString, searching inside a String
20253A cloud storage class that bills gigabytes bought in three slabsClass and object, slab bill
4A 4 by 4 integer matrix: square root of the sum of the squares of every element2D array, Math
5Decide whether a String has as many capital letters as small lettersString, character tests
6A given sorted character array searched for the user's character by binary searchSearching (binary)
7One method overloaded three ways: a symbol pattern, a sum of terms rising in steps of one half, and the larger of two characters' codesOverloading, pattern, series
8Find a number's largest and smallest digits and say whether their sum is odd or evenNumber check (digits)
20263A step tracker class that turns steps walked into calories and kilometres by two given formulasClass and object, formula
4Store a hundred job titles, then count how many match the title the user types1D String array, linear scan
5A 4 by 5 matrix: count zeros and non-zeros and decide whether it is sparse2D array
6Check a number whose sum of squared digits is even and ends in the same digit as the numberNumber check (digits)
7One method overloaded three ways: a shrinking number triangle, the total of a String's character codes, and the sum to n by formulaOverloading, pattern, String
8Rebuild a word from its first consonant onwards, move the leading vowels to the end and add a fixed suffixString, building a new word

The 2022 paper was a second-semester paper and earlier papers used an older layout, so they are left out of this count.

Q2. Which kinds of program keep coming back?

Which program families repeat in ICSE computer board papers?

Three families were in all four papers: a class with a calculation, method overloading and a String program. Three more appeared in three of the four. Because a candidate picks four of six, a student strong in the steady families always has four questions to choose from.

Program family2023202420252026Papers
Class and object with a slab, ladder or formula (always Question 3)Q3Q3Q3Q34 of 4
Method overloading, with a nested-loop pattern insideQ5Q4Q7Q74 of 4
String program (count, test or rebuild)Q6Q8Q5Q84 of 4
Number check built on digit extraction, as its own questioninside Q5Q5Q8Q63 of 4
Double dimensional (2D) arraynoneQ6Q4Q53 of 4
Searching: linear or binaryQ7noneQ6Q43 of 4
Sorting: bubble or selectionQ4Q7nonenone2 of 4

What the count tells a 2027 candidate

  • Question 3 is a gift. A class with three or four methods and a calculation came first every year. Practise it until it takes fifteen minutes.
  • Overloading carries a pattern. Every overloading question hid a nested-loop pattern inside it, so pattern practice pays twice.
  • 2D arrays have arrived. They were absent in 2023 and present in each of the next three papers, always as a short scan of rows and columns.
  • Sorting and searching rotate. One of them came every year, so learn bubble sort, selection sort, linear search and binary search, not just one.

Section A changed shape too

Question 1 is still twenty one-mark MCQs and Question 2 ten two-mark parts. What changed from 2024 is the style. Solved copies of the papers show one assertion and reason item in 2024 and two each in 2025 and 2026, and every one of those three papers had at least one item built on a real-life picture or scenario, such as an everyday repeat that stands for a nested loop.

Those newer items are worked on ICSE Computer Applications competency based questions, and an original bank of twenty-mark Question 1 practice is on ICSE Computer Applications MCQ questions.

A count of four papers shows habits, not a promise; any family in the 2027 syllabus can be set. That is why the hub of every program family, ICSE Class 10 Java programs practice, covers the families that did not appear as well.

Q3. Where are the solutions in the same shapes?

ICSE computer applications question paper with answers: three original programs for the steady families

These are new questions written in the same shapes as the board's, not copies. Try each one in BlueJ before reading the answer.

Practice 1: class and object with a slab calculation (the Question 3 shape)

Define a class CabRide with members name, km, ac (Y or N) and fare. The fare is 18 per km for the first 4 km, 15 per km for the next 6 km and 12 per km beyond 10 km; an AC ride adds 10 percent. Write accept(), calculate(), display() and a main that uses an object.

CabRide.javaslab bill in a class
import java.util.Scanner;
class CabRide {
    String name; double km; char ac; double fare;
    void accept() {
        Scanner sc = new Scanner(System.in);
        System.out.print("Rider name: ");
        name = sc.nextLine();
        System.out.print("Distance in km: ");
        km = sc.nextDouble();
        System.out.print("AC ride (Y/N): ");
        ac = sc.next().charAt(0);
    }
    void calculate() {
        if (km <= 4)
            fare = km * 18;
        else if (km <= 10)
            fare = 4 * 18 + (km - 4) * 15;
        else
            fare = 4 * 18 + 6 * 15 + (km - 10) * 12;
        if (ac == 'Y' || ac == 'y')
            fare = fare + fare * 10 / 100;
    }
    void display() {
        System.out.println("Name: " + name);
        System.out.println("Distance: " + km + " km");
        System.out.println("Fare: " + fare);
    }
    public static void main(String[] args) {
        CabRide ob = new CabRide();
        ob.accept(); ob.calculate(); ob.display();
    }
}
Run with 13.5 km, ACoutput
Name: Asha Rao
Distance: 13.5 km
Fare: 224.4

// 72 + 90 + 3.5 x 12 = 204, plus 10 percent
// 3 km, no AC: Fare: 54.0

The slab rule: each band is charged in full before the next band starts, so the upper branches add the fixed totals of the lower bands. Using 13.5 x 12 for the whole distance is the commonest wrong answer.

Practice 2: method overloading with a pattern inside

Overload compute: void compute(int n) prints n rows, row i counting down from n to i; double compute(double r, double h) returns the volume of a cylinder; boolean compute(String s, char ch) returns true when ch occurs more than once in s.

Compute.javathree signatures, one name
class Compute {
    void compute(int n) {
        for (int i = 1; i <= n; i++) {
            for (int j = n; j >= i; j--)
                System.out.print(j + " ");
            System.out.println();
        }
    }
    double compute(double r, double h) {
        return Math.PI * r * r * h;
    }
    boolean compute(String s, char ch) {
        int c = 0;
        for (int i = 0; i < s.length(); i++)
            if (s.charAt(i) == ch)
                c++;
        return c > 1;
    }
    public static void main(String[] args) {
        Compute ob = new Compute();
        ob.compute(4);
        System.out.println(ob.compute(7.0, 10.0));
        System.out.println(ob.compute("BLUEJ", 'E') + " " + ob.compute("TEETH", 'E'));
    }
}
Outputas run
4 3 2 1
4 3 2
4 3
4
1539.3804002589986
false true

The three versions differ in the number and types of parameters, which is what overloading needs. A different return type alone would not compile. Row i starts the inner loop at n and stops at i, so each row is one shorter.

Practice 3: a digit-based number check

A Twin-end number (our own definition) has the same first and last digit, and a digit sum divisible by 3. 2742 qualifies: it starts and ends with 2 and its digits add to 15. Accept a number and say whether it is one.

TwinEnd.javaone loop, three facts
import java.util.Scanner;
class TwinEnd {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int n = sc.nextInt();
        int last = n % 10, first = 0, sum = 0, t = n;
        while (t > 0) {
            int d = t % 10;
            sum = sum + d;
            first = d;
            t = t / 10;
        }
        if (first == last && sum % 3 == 0)
            System.out.println(n + " is a Twin-end number");
        else
            System.out.println(n + " is not a Twin-end number");
    }
}
Four runsoutput
2742 is a Twin-end number
4504 is not a Twin-end number
3713 is not a Twin-end number
5 is not a Twin-end number

The last digit to be peeled off is the first digit of the number, so first simply keeps the latest d. Work on a copy, t, so the original n is still there to print. 4504 fails on the sum (13); 5 fails because 5 is not divisible by 3.

Dozens more digit checks, each with its loop rule, are on special number programs in Java.

Q4. And the String, array and search questions?

ICSE computer board paper solutions in the same shapes: String, 2D array and binary search

One original question for each family that came in three of the last four papers.

Practice 4: a String program that rebuilds words

Accept a sentence. Print it with the first and last letters of every word swapped, and count the words that begin with a vowel.

SwapEnds.javaword by word
import java.util.Scanner;
class SwapEnds {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a sentence: ");
        String s = sc.nextLine().trim() + " ";
        String word = "", result = "";
        int vowelStart = 0;
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            if (ch != ' ') {
                word = word + ch;
            } else if (word.length() > 0) {
                char f = Character.toUpperCase(word.charAt(0));
                if ("AEIOU".indexOf(f) >= 0)
                    vowelStart++;
                int L = word.length();
                if (L > 1)
                    word = word.charAt(L - 1) + word.substring(1, L - 1) + word.charAt(0);
                result = result + word + " ";
                word = "";
            }
        }
        System.out.println(result.trim());
        System.out.println("Words starting with a vowel: " + vowelStart);
    }
}
Input: the exam is nearoutput
eht mxae si rean
Words starting with a vowel: 2

Adding one space to the end means the last word is handled by the same branch as the others. The check word.length() > 0 skips double spaces, and L > 1 leaves a one-letter word such as "a" alone, where substring(1, 0) would crash.

Practice 5: a double dimensional array check

Accept a 3 by 3 integer matrix. Say whether it is symmetric (each a[i][j] equals a[j][i]) and print the sum of its boundary elements.

Symmetric.javaone double loop, two jobs
import java.util.Scanner;
class Symmetric {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[][] a = new int[3][3];
        System.out.println("Enter 9 elements:");
        for (int i = 0; i < 3; i++)
            for (int j = 0; j < 3; j++)
                a[i][j] = sc.nextInt();
        boolean sym = true;
        int boundary = 0;
        for (int i = 0; i < 3; i++)
            for (int j = 0; j < 3; j++) {
                if (a[i][j] != a[j][i])
                    sym = false;
                if (i == 0 || i == 2 || j == 0 || j == 2)
                    boundary += a[i][j];
            }
        System.out.println(sym ? "Symmetric matrix" : "Not a symmetric matrix");
        System.out.println("Sum of boundary elements = " + boundary);
    }
}
Two runsoutput
// input 1 4 7 / 4 2 5 / 7 5 3
Symmetric matrix
Sum of boundary elements = 36

A boundary cell is in the first or last row or column; in a 3 by 3 matrix only the centre is left out. Input 1 to 9 in order prints Not a symmetric matrix and 40.

Practice 6: sort a String array, then binary search it

Store six city names, arrange them alphabetically by bubble sort, print them, then search for a city typed by the user with binary search, ignoring case.

CitySearch.javasort first, then halve
import java.util.Scanner;
class CitySearch {
    public static void main(String[] args) {
        String[] c = {"Pune", "Agra", "Surat", "Kochi", "Delhi", "Bhopal"};
        int n = c.length;
        for (int i = 0; i < n - 1; i++)
            for (int j = 0; j < n - 1 - i; j++)
                if (c[j].compareToIgnoreCase(c[j + 1]) > 0) {
                    String t = c[j]; c[j] = c[j + 1]; c[j + 1] = t;
                }
        for (int i = 0; i < n; i++)
            System.out.print(c[i] + " ");
        System.out.println();
        Scanner sc = new Scanner(System.in);
        System.out.print("City to search: ");
        String key = sc.next();
        int low = 0, high = n - 1, pos = -1;
        while (low <= high) {
            int mid = (low + high) / 2;
            int r = key.compareToIgnoreCase(c[mid]);
            if (r == 0) { pos = mid; break; }
            else if (r < 0) high = mid - 1;
            else low = mid + 1;
        }
        if (pos >= 0)
            System.out.println(key + " found at index " + pos);
        else
            System.out.println(key + " not found");
    }
}
Two runsoutput
Agra Bhopal Delhi Kochi Pune Surat
surat found at index 5

Agra Bhopal Delhi Kochi Pune Surat
Goa not found

Binary search only works on sorted data, which is why the sort comes first. Strings are compared with compareToIgnoreCase, never with < or ==, and the sign of the result says which half to keep.

Each family has a full page of programs: ICSE Class 10 String programs, 2D array programs and sorting and searching programs.

Q5. How should past papers be used?

How to solve ICSE Computer Applications previous year papers so they raise your marks

Solve each past paper twice: once by family, early, to learn the shapes, and once whole, timed, near the exam. Reading a solution is not solving a paper.

  1. Group the questions by family first

    Take all four Question 3s together, then all four overloading questions, and so on. Seeing the same shape four times in a row shows what is fixed and what changes from year to year.

  2. Write, then run, every Section B answer

    Write the program on paper as the exam demands, then type it into BlueJ exactly as written. The compiler finds the missing semicolon and the wrong method name that your eye skipped.

  3. Test with more than the example

    The example in a question is the easy case. Try a one-digit number, an empty space, the first and last elements of an array, and a value that is not there. The 2025 binary search only proves itself when a missing character is searched.

  4. Mark against points, not a feeling

    For each program, check the parts an examiner looks for: the class and method headers asked for, input taken the way the question says, correct logic, the output in the format shown, and the meaningful variable names or short variable description the Section B instructions ask for so the logic is clear. Flowcharts and algorithms are not required.

  5. Then sit whole papers, timed

    From January, sit one complete past paper at a time in two hours, choosing your four Section B questions in the first minutes and sticking to the choice.

The latest paper, discussed question by question with an answer key, is on ICSE Computer Applications paper analysis.

Q6. How are past papers taught in the live classes?

Past board questions, one family a week, marked on a shared screen

The mini batch works through old papers in the order the families repeat, so the steadiest marks are secured first.

Tuesday: Section A from a past year

In the 5:30 PM IST Tuesday session, students answer a block of past Question 1 and Question 2 items against a timer. Wrong answers are traced aloud until the mistaken step is found.

Wednesday: one Section B family

In the 8:00 PM IST Wednesday session, the batch takes one family across all four years, then writes a fresh question in the same shape in BlueJ while the teacher watches the screens.

Marked, not just checked

Each program is marked point by point against the parts listed above, then a short worksheet of new questions in the same shape goes home and is run at the next class.

Whole papers from January

Once each family is secure, complete past papers are sat in two hours, marked like the board and reviewed together the following week.

With no more than six students in a batch, every program written in class is read by the teacher. Abroad, the same plan runs one to one.

Batch or personalised: you choose

Work through past papers in the mini batch, or one to one

Both formats follow the family-by-family plan above and use the same original practice questions. Indian families may take the Tuesday and Wednesday evening batch or private sessions, while ICSE students living abroad are taught one to one. Payment is monthly and nothing is charged for admission.

Option 1 · Fixed batch timings

Mini batch, Tuesday 5:30 PM and Wednesday 8 PM

₹2,999

per month, two live classes a week

  • Tuesday 5:30 PM and Wednesday 8:00 PM IST, live
  • Up to six ICSE Class 10 students per batch
  • Past Section A items timed every Tuesday
  • One Section B family written in BlueJ every Wednesday
  • Whole past papers sat and marked from January
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

  • Slot chosen by the family, in India or abroad
  • Start with the families your child finds hardest
  • Every program read and marked by the teacher
  • Extra papers added when a family needs it
  • The batch teachers and the 2027 syllabus, privately
Ask for a personalised plan

A student who already handles Question 3 and overloading well, and only stumbles on 2D arrays or binary search, can close those gaps in a few one to one sessions. A student who has not yet written a full program in two hours does better with two batch classes every week until the exam. You will see the fee in your local currency.

Studying outside India?

Past paper practice for ICSE students outside India

ICSE schools abroad sit the same Computer Applications paper as schools in India, so the same past questions are the best practice. Overseas, the past-paper rounds are private classes held in the late afternoon or evening of the student's own clock.

Where you liveTime differenceUsual class window, local timeFormat
India (IST)
every Indian city
ISTTue 5:30 PM, Wed 8:00 PMMini batch or 1-on-1
United Arab Emirates
Dubai, Sharjah
1 h 30 min behind India3:00 PM to 9:00 PMPersonalised 1-on-1
Indonesia and Thailand
West Java, Bangkok area
1 h 30 min ahead of India3:30 PM to 9:00 PMPersonalised 1-on-1
Singapore
Singapore
2 h 30 min ahead of India3:30 PM to 9:00 PMPersonalised 1-on-1

Once the free demo is over we agree an hour, and it can shift in a week of school exams. For the overseas arrangement in full, read ICSE Computer Applications 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 ICSE Class 10 Computer Applications series, grouped by what you need: classes, each chapter, Section B programs, question practice, notes and revision, and the exam itself.

CBSE Class 10 AI (417): The Mon and Wed 9 PM AI batch CBSE AI 417 syllabus explained CBSE AI important questions Sample paper and mock tests

Questions about previous year papers

What students ask about ICSE Computer Applications previous year papers

Where can I find ICSE Computer Applications previous year question papers with solutions?

Past board papers are printed in the solved-paper books most ICSE schools recommend, and CISCE publishes specimen papers on cisce.org. This page does not reprint any paper. It describes what Section B asked in 2023, 2024, 2025 and 2026, tags each question by program family and gives original practice programs in the same shapes, with full solutions that were compiled and run.

What was asked in the ICSE Computer Applications 2025 paper Section B?

In our own words: a cloud storage class billed in three slabs, the square root of the sum of squares of a 4 by 4 matrix, a String with equal capital and small letters, a binary search of a sorted character array, an overloaded method with a symbol pattern, a half-step series and a character comparison, and the parity of the sum of a number's largest and smallest digits.

How many questions are there in Section B of ICSE Computer Applications?

Six, numbered Questions 3 to 8. A candidate answers any four, each worth 15 marks, for 60 marks. Section A, Questions 1 and 2, is 40 compulsory marks: twenty one-mark MCQs and ten two-mark parts. The whole paper is 100 marks in two hours, with reading time before writing starts.

Which programs come every year in the ICSE Computer Applications board exam?

In the 2023 to 2026 papers, three families came every year: a class with a calculation as Question 3, a method overloading question containing a nested-loop pattern, and a String program. A digit-based number check, a 2D array task and a searching task each came in three of the four years. Sorting came twice.

Are 2D array questions asked in ICSE Computer Applications?

Yes. Double dimensional arrays are in the 2027 syllabus and a 2D array program appeared in Section B in 2024, 2025 and 2026: comparing diagonal sums, finding the square root of the sum of squares, and counting zeros to test a sparse matrix. Each was a short scan of rows and columns with nested loops.

How many previous year papers should I solve for ICSE Computer Applications?

At least the last four board papers and the current specimen paper, each solved twice: first question by question grouped by family, then as a whole timed paper. Older papers are useful for extra Section B practice, but their Section A layout differs, so use them for programs rather than for timing.

Do ICSE Computer Applications questions repeat from previous years?

The exact questions rarely repeat, but the shapes do. Every recent paper opened Section B with a class that calculates a bill or a result, and every one had an overloading question with a pattern. Practising new questions in each repeating shape prepares you better than memorising old answers.

Are assertion and reason questions in the ICSE Computer Applications paper?

Yes, inside Question 1. Solved copies of the papers show one assertion and reason MCQ in 2024 and two in each of 2025 and 2026. They test the same Java facts as the other MCQs, so the key is to judge the assertion and the reason separately before deciding whether one explains the other.

Do you solve previous year papers in your live classes?

Yes. In the mini batch, Tuesday classes time past Section A items and Wednesday classes take one Section B family across several years, followed by a fresh question in the same shape written in BlueJ and marked. From January, whole past papers are sat in two hours. Families can also choose personalised one to one classes at their own time.

Start

Try a free live past-paper class

In the free demo your child writes one past-paper style Section B program in BlueJ with the mentor watching, and answers a short timed set of Question 1 items. We then tell you which program families look secure, which need work, and the format we would suggest.

Prefer to start with the full topic list? See ICSE Computer Applications important questions or the ICSE Class 10 Java classes.

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