★★★★★
"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
ICSE Class 10 · Computer Applications (Java) · Answer key and paper analysis
This ICSE Computer Applications answer key lives at one address and is rewritten after every board paper. Right now it covers the March 2026 paper: each Section A item described in our own words with its answer and the trap it set, tested outputs for all six Section B programs, and our honest reading of which questions were easy and which cost marks. Every answer was run in Java 21 before it went on the page. After the 2027 paper, the same page will carry that paper.
Live online · 30 Section A answers explained · 6 Section B programs tested · every answer run in Java · rewritten after each board paper · first class free
Start here
The ICSE Java course in which the mini batch reviews each new board paper item by item, the Class 11 and 12 Computer Science course for students continuing with Java at ISC, and the algorithms course for anyone who found Section B too easy.

The batch / ICSE CA
Class 9 and 10 Computer Applications in a mini batch, where the newest board paper is answered, traced and rewritten in BlueJ in class.
Open the course →
Next step / ISC
For students moving to ISC Computer Science, where the same Java grows into longer programs, recursion and data structures.
Open the course →
Beyond the syllabus / DSA
For the student who finished Section B early and wants to learn why one search or sort beats another.
Open the course →Ans. The short version
An ICSE Computer Applications answer key is only useful if every answer has been tested. In the 2026 paper, Section A (40 compulsory marks) mostly tested single facts and short traces, with two assertion and reason items; Section B (any four of six programs at 15 marks) asked for a class with two formulas, a String array count, a sparse matrix, a digit-based number test, an overloading question and a word rebuild. Every answer here was run in Java. Modern Age Coders reviews each new paper live in a Tuesday and Wednesday mini batch in India, or in personalised one to one classes.
Q1. What did Section A ask in 2026, and what were the answers?
Question 1 had twenty one-mark MCQs. Below, each item is described in our own words, not the paper's, with the correct answer and the trap the wrong options were built on. Answers that involve Java were run in Java 21.
| Item | What it tested, in our words | Answer | The trap |
|---|---|---|---|
| 1(i) | Expanding the abbreviation for the machine that runs bytecode | Java Virtual Machine | Two options swap Virtual for Visible |
| 1(ii) | Which of four literals needs exactly 2 bytes | the backslash escape sequence | It looks like two characters but is one char, and a char is 2 bytes |
| 1(iii) | Spotting the accumulator in an update statement | the variable on both sides | An accumulator keeps adding to its own old value |
| 1(iv) | Which word is not an access specifier | package | Default access exists, but package is not a specifier keyword |
| 1(v) | Math.pow with an exponent written as an integer division | 36.0 | 6/5 is 1, not 1.2, and pow returns double |
| 1(vi) | Turning an if-else that assigns one of two values into a ternary | condition ? true value : false value | Options swap the two values or misplace the colon |
| 1(vii) | Character.toUpperCase on a small letter, then plus 2 | 68 | char plus int is int arithmetic: B is 66 |
| 1(viii) | Naming the objects in two creation statements | the two reference names, case as written | The class name is not an object; one option changes the capital letter |
| 1(ix) | The earth turning daily while circling the sun yearly, as a Java idea | nested loop | One repetition runs inside another |
| 1(x) | Return type of a method that sends back YES or NO | String | boolean tempts, but the method returns words, not true or false |
| 1(xi) | Several calculate() methods in one calculator class | polymorphism | Overloading is a form of polymorphism, not of encapsulation |
| 1(xii) | Assertion and reason: an int expression with + and /, and a false claim about precedence | (A) true, (R) false | 3 + 7/2 is 6 because / goes first; the reason says the opposite |
| 1(xiii) | Parameter type of parseInt | String | It converts text to an int, so it takes text |
| 1(xiv) | End index needed to pull a three-letter word out of a longer word starting at index 3 | 6 | The end index is excluded, so it is one past the last letter |
| 1(xv) | charAt on two elements of a String array joined with a symbol | d*a | The String in the middle turns + into joining |
| 1(xvi) | Which String method can return a negative value | compareTo() | length is never negative; equals returns boolean |
| 1(xvii) | A picture of three numbers put in order by neighbouring swaps | bubble sort | Selection sort picks the smallest and swaps it once per pass |
| 1(xviii) | Bytes taken by a 5 by 5 int array of sales figures | 100 | 25 elements times 4 bytes; 25 and 50 are the slips |
| 1(xix) | Assertion and reason: does substring change the original String? | (A) false, (R) true | Strings are immutable; substring returns a new String |
| 1(xx) | What must differ between overloaded constructors | parameters | Constructors have no return type to differ in |
| Part | What it asked, in our words | Answer, as run |
|---|---|---|
| 2(i) | Rewrite a while loop that subtracts 2 from 10 as a for loop, then print a product | for ( ; b > 0; b -= 2) { } and the program prints 0, because b ends at 0 |
| 2(ii) | Evaluate an expression mixing *, % and three pre-increments or decrements with a = 7, b = 8, c = 2 | 17: 56 % 3 is 2, then 2 + 8 + 7 |
| 2(iii) | Java expression for the cube root of x plus the absolute value of y | Math.cbrt(x) + Math.abs(y) |
| 2(iv) | An age-above-10 eligibility check as a ternary stored in a String | String idStatus = age > 10 ? "Eligible" : "Not eligible"; then print it |
| 2(v) | substring from index 4 of one word, then endsWith on another | IOUS on one line, false on the next |
| 2(vi) | Output and pass count of a do-while that adds 2 from 1 while the value stays at most 6 | 3, 5, 7 on separate lines; the loop runs 3 times |
| 2(vii) | A factorial loop that always prints 0 | Logical error: the product starts at 0. Start it at 1 and it prints 120 |
| 2(viii) | Index of the largest and smallest values in a 4 by 2 array | largest at [2][0], smallest at [1][1] |
| 2(ix) | Two missing lines that swap two array elements without a third variable, using * and / | x[0] = x[0] * x[1]; and x[1] = x[0] / x[1];, printing 8 4 |
| 2(x) | Return type of equals(), and a String method with no parameter that returns a String | boolean; any of toUpperCase(), toLowerCase() or trim() |
Assertion and reason items and picture-based items like 1(ix) now come every year; a set of original ones is on ICSE Computer Applications competency based questions, and more trace practice of the 1(v) and 1(vii) kind is on ICSE Java output questions.
Q2. How do I check my Section B programs against the key?
A Section B answer is right when it compiles and gives the right output for the example and for the awkward cases. The table lists inputs we ran through our own solutions to each 2026 question and the exact output, so a student can type their answer into BlueJ and compare.
| Q | Task, in our words | Test input | Expected result | Where answers went wrong |
|---|---|---|---|---|
| 3 | Step tracker class: calories at 0.04 per step, kilometres at 1300 steps to the km | 6500 steps 1000 steps | 260.0 cal, 5.0 km 40.0 cal, 0.7692307692307693 km | With an int step count, steps / 1300 is integer division and gives 0 km for 1000 steps; divide by 1300.0 |
| 4 | Store 100 job titles, then count how many match the one the user types | Manager among six sample titles, three of them Manager | 3 | Comparing Strings with == instead of equals or equalsIgnoreCase |
| 5 | 4 by 5 matrix: count zeros and non-zeros, decide if it is sparse | a matrix with 11 zeros | 11 zeros, 9 non-zeros, sparse | Forgetting that "more zeros than non-zeros" is a strict comparison |
| 6 | Mark number: digit squares add to an even sum ending in the number's last digit | 28 358 135 | 68, Mark 98, Mark 35, not Mark | Destroying n in the loop, then comparing the sum with a 0 that used to be n |
| 7 | Overloaded format: a shrinking number triangle, the total of a String's character codes, and 1 to n by formula | no argument CAB 100 | 1 2 3 4 5 down to 5 198 5050 | Returning the sum from a void version, or printing the codes instead of adding them |
| 8 | Symbolic word: from the first consonant onwards, then the leading vowels, then TR | AIRWAYS OUTPUT EAU | RWAYSAITR TPUTOUTR EAUTR | Not handling a word that is all vowels, which crashes or prints nothing |
Two of the six, written our way. Neither is the board's model answer; both are the kind of complete program that earns full marks.
import java.util.Scanner;
class MarkCheck {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
int n = sc.nextInt();
int t = n, sq = 0;
while (t > 0) {
int d = t % 10;
sq = sq + d * d;
t = t / 10;
}
boolean even = sq % 2 == 0;
boolean sameEnd = sq % 10 == n % 10;
System.out.println("Sum of squares = " + sq);
if (even && sameEnd)
System.out.println(n + " is a Mark number");
else
System.out.println(n + " is not a Mark number");
}
}
Sum of squares = 68 28 is a Mark number Sum of squares = 98 358 is a Mark number Sum of squares = 35 135 is not a Mark number
The loop works on a copy, t, so n is still whole when its last digit is compared. Naming the two conditions as booleans makes the final if read like the definition, which helps the examiner follow the logic.
import java.util.Scanner;
class Symbolic {
static boolean isVowel(char ch) {
return "AEIOUaeiou".indexOf(ch) >= 0;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a word: ");
String w = sc.next();
int k = 0;
while (k < w.length() && isVowel(w.charAt(k)))
k++;
String sym = w.substring(k) + w.substring(0, k) + "TR";
System.out.println("Symbolic word: " + sym);
}
}
Symbolic word: RWAYSAITR Symbolic word: TPUTOUTR Symbolic word: EAUTR Symbolic word: STRENGTHTR
k counts the leading vowels and stops at the first consonant. The test k < w.length() comes first, so a word of only vowels stops safely at the end; substring(k) is then empty and the word is simply followed by TR. A word that starts with a consonant has k = 0 and is unchanged before TR.
The digit loop in Question 6 is the same template behind every number check on special number programs in Java, and the zero count in Question 5 is one of the standard tasks on ICSE Class 10 2D array programs.
Q3. Was the 2026 paper easy or hard?
Our reading: a fair, mostly direct paper. A student who had written the standard programs in BlueJ through the year could finish it with time to check. Marks were lost to small type and index slips, not to unfamiliar questions. This is our teachers' judgement from working the paper, not a statistic.
| Part | Our difficulty rating | Why | Time we would budget |
|---|---|---|---|
| Question 1, recall items | Easy | JVM, access specifiers, parseInt, compareTo and constructor overloading are straight definitions | 5 min |
| Question 1, trace items | Moderate | The pow exponent, the char plus int, the substring end index and the 2D array size each hide one rule | 10 min |
| Question 1, the two assertion and reason items | Moderate | Each statement must be judged on its own first; the precedence item rewards knowing why 6 is right | 3 min |
| Question 2 | Easy to moderate | The do-while count, the swap without a third variable and the factorial with a zero start are classic shapes | 20 min |
| Section B, Questions 3 and 7 | Easy | A two-formula class and a three-way overload, both close to textbook exercises | 15 min each |
| Section B, Questions 4, 5 and 6 | Easy to moderate | Short single loops or a double loop; the risks are String comparison and keeping the original number | 15 min each |
| Section B, Question 8 | Moderate | The only rebuild-a-word task; finding the first consonant and joining the pieces in the right order needs care | 20 min |
Question 3 used two fixed formulas instead of a slab bill, and no sorting question was set for the second year running. Two assertion and reason items again sat in Question 1.
Question 3 stored steps as an int. Dividing it by 1300 gives a whole number of kilometres and silently loses the fraction. Writing 1300.0 fixes it, and it is exactly the integer division rule tested in Section A.
For most students, Questions 3, 5, 6 and 7 were the safest four: each has one clear loop or formula and a short output. Question 8 suited students confident with substring and character tests.
How the 2026 Section B sits beside 2023, 2024 and 2025, family by family, is on ICSE Computer Applications previous year papers solved; this page stays with the latest paper only.
Q4. When will the 2027 answer key be here?
After the 2027 Computer Applications paper, this same page is rewritten for it. The 2027 date is not known yet: as of 6 November 2026 CISCE had not published the ICSE 2027 timetable on cisce.org. For comparison, the 2026 timetable was released on 13 November 2025, and the 2026 ICSE examinations ran from 17 February to 30 March 2026.
When the official 2027 timetable appears on cisce.org, the Computer Applications date goes at the top of this page. Until then we print no date, because the guesses circulating online do not agree.
Each of the twenty MCQs and ten short parts is described in our words with its answer and the rule it tested. Anything with code is typed into Java and run before it is posted.
For all six programs we post test inputs and the exact outputs our own solutions give, including the edge cases, so students can check their memory of what they wrote.
A rating for each part, and a plain note on anything new: a different count of assertion and reason items, a new program family, or a change in layout.
The 2026 tables stay available lower on the page, so the two papers can be compared side by side.
Sit the 2026 paper complete in two hours, mark it with the tables above, and list every item lost by type: integer division, String comparison, an index off by one. Then sit the current specimen paper and the mock tests on the ICSE specimen paper and mock tests page. The layout of the 2027 paper is on ICSE Computer Applications exam date and paper pattern.
Q5. How is the latest paper used in the live classes?
A fresh board paper is the closest thing to the real exam a student can practise. The batch does not just read the key; it sits the paper, marks it and fixes each lost mark.
Students write the paper under a two-hour timer before seeing any answer. Their own score is the starting point for everything that follows.
At the 5:30 PM IST class, every Question 1 and 2 item a student missed is traced on a shared screen until the rule behind it is clear, then a fresh item on the same rule is tried.
At the 8:00 PM IST class, students type their programs into BlueJ and feed in the test inputs from the table above. Wrong outputs are fixed while the teacher watches.
Each student leaves with a short worksheet built on the items they lost, checked at the next class.
The end of each class is kept for questions from school work, so the paper review never crowds out the syllabus.
From January, complete papers are sat under time and marked like the board, the latest paper among them.
A batch never has more than six students, so every paper gets read by the teacher. Abroad, the same review runs one to one.
Batch or personalised: you choose
The answer key, the test inputs and the Java runs are the same in both formats. In India a family can choose the Tuesday and Wednesday evening batch or private sessions; an ICSE student living abroad takes the private format. The fee is billed monthly, and there is no admission charge.
Option 1 · Fixed batch timings
₹2,999
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
Outside India: the ICSE Computer Applications course runs as personalised one to one, two private classes a week at a time set in your own time zone. The mini batch is taught for families in India.
A student who scored well on the 2026 paper but lost a handful of Section A marks to type rules usually needs only a few private sessions on those rules. A student who could not finish the paper in two hours gains more from two batch classes a week until the exam. The fee appears in your local currency.
Studying outside India?
ICSE schools overseas sit the same Computer Applications paper as schools in India, so the same answer key and the same review apply. Outside India, the review is taught privately at an hour that suits the student's own clock.
| Where you live | Time difference | Usual class window, local time | Format |
|---|---|---|---|
| India (IST) every Indian city | IST | Tue 5:30 PM, Wed 8:00 PM | Mini batch or 1-on-1 |
| United Arab Emirates Dubai, Sharjah | 1 h 30 min behind India | 3:00 PM to 9:00 PM | Personalised 1-on-1 |
| Indonesia and Thailand West Java, Bangkok area | 1 h 30 min ahead of India | 3:30 PM to 9:00 PM | Personalised 1-on-1 |
| Singapore Singapore | 2 h 30 min ahead of India | 3:30 PM to 9:00 PM | Personalised 1-on-1 |
The class time is settled after the free demo and can move around school exams. Families abroad can read the full arrangement on ICSE Computer Applications 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 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 the answer key
This page carries an answer key for the 2026 board paper: every Section A item described in our own words with its answer and trap, and tested outputs for all six Section B programs. Each answer was run in Java 21. The page is rewritten after the 2027 paper, at the same address.
Keys that appear after the paper, including this one, come from teachers and publishers rather than from a board release, so treat them as unofficial. The board's examiners decide the marks. For a program, any correct method earns credit, so compare your outputs with the key rather than your exact lines of code.
Not announced yet. As of 6 November 2026, CISCE had not published the ICSE 2027 timetable on cisce.org. The 2026 timetable came out on 13 November 2025 and the 2026 examinations ran from 17 February to 30 March 2026. This page will show the 2027 date once the official timetable is out.
In our teachers' view it was fair and mostly direct. Section A tested single rules and short traces, and Section B asked for familiar programs: a class with formulas, a String array count, a sparse matrix, a number check, an overloading question and a word rebuild. Most lost marks came from integer division and String comparison slips.
In our words: a step tracker class turning steps into calories and kilometres, a count of matching job titles in a String array, a sparse matrix check on a 4 by 5 array, a Mark number test using squared digits, an overloaded method with a number triangle, a character code total and a formula sum, and a word rebuilt from its first consonant.
Two, both in Question 1. One paired a true claim about an integer expression with a false claim about operator precedence; the other paired a false claim that substring changes the original String with a true description of what substring does. Judge each statement alone before deciding whether one explains the other.
Rewrite the program in BlueJ the way you wrote it in the exam, then feed in the test inputs in the Section B table on this page. If your outputs match, including the edge cases such as a word made only of vowels, your logic was right even if your variable names differ.
Because the step count was an int, and an int divided by the int 1300 is integer division, which drops the fraction. Dividing by 1300.0, or casting to double first, gives about 0.769 km. It is the same rule Section A tested with the pow exponent written as 6/5.
The 2027 syllabus keeps the same structure: a two-hour, 100-mark paper with Section A of 40 compulsory marks and Section B of six programs, any four at 15 marks each, plus internal assessment. Whether the item styles change is only known on the day, which is why this page is rewritten after the paper.
Yes. In the mini batch the latest paper is sat under a two-hour timer, missed Section A items are traced on a shared screen on Tuesday, and Section B programs are rerun in BlueJ with test inputs on Wednesday. Families can also choose personalised one to one classes at a time that suits them.
Start
In the free demo your child answers a timed block of items from the latest board paper, then rewrites one Section B program in BlueJ and checks it against the test inputs with the mentor. You then hear which marks would have been lost, why, and whether the mini batch or one to one suits your child.
Looking for the whole syllabus first? 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.
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