ICSE Computer Applications
ICSE Computer Applications
Aims:
1. To empower students by enabling them to build 3. To develop logical and analytical thinking so
their own applications. that they can easily solve interactive programs.
2. To introduce students to some effective tools to 4. To help students learn fundamental concepts of
enable them to enhance their knowledge, computing using object oriented approach in one
broaden horizons, foster creativity, improve the computer language.
quality of work and increase efficiency. 5. To provide students with a clear idea of ethical
issues involved in the field of computing.
CLASS IX
There will be one written paper of two hours duration 2. Elementary Concept of Objects and Classes
carrying 100 marks and Internal Assessment of
Modelling entities and their behaviour by objects, a
100 marks.
class as a specification for objects and as an object
The paper will be divided into two sections A and B. factory, computation as message passing/method
calls between objects (many examples should be
Section A (Compulsory – 40 marks) will consist of
done to illustrate this). Objects encapsulate state
compulsory short answer questions covering the entire
(attributes) and have behaviour (methods). Class as
syllabus.
a user defined data type.
Section B (60 marks) will consist of questions which
A class may be regarded as a blueprint to create
will require detailed answers. There will be a choice
objects. It may be viewed as a factory that produces
of questions in this section.
similar objects. A class may also be considered as
THEORY – 100 Marks a new data type created by the user, that has its own
functionality.
1. Introduction to Object Oriented Programming
concepts 3. Values and data types
(i) Principles of Object Oriented Programming, Character set, ASCII code, Unicode, Escape
(Difference between Procedure Oriented and sequences, Tokens, Constants and Variables, Data
Object oriented). types, type conversions.
All the four principles of Object Oriented
Escape sequences [\n, \t, \\, \”, \’], Tokens and its
Programming should be defined and
types [keywords, identifiers, literals, punctuators,
explained using real life examples (Data
operators], primitive types and non-primitive types
abstraction, Inheritance, Polymorphism,
with examples, Introduce the primitive types with
Encapsulation).
size in bits and bytes, Implicit type conversion and
(ii) Introduction to JAVA - Types of java Explicit type conversion.
programs – Applets and Applications, Java
Compilation process, Java Source code, Byte 4. Operators in Java
code, Object code, Java Virtual Machine
Forms of operators, Types of operators, Counters,
(JVM), Features of JAVA.
Accumulators, Hierarchy of operators, ‘new’
Definition of Java applets and Java operator, dot ( . ) operator.
applications with examples, steps involved in
Forms of operators (Unary, Binary, Ternary), types
compilation process, definitions of source
of operators (Arithmetic, Relational, Logical,
code, byte code, object code, JVM, features
Assignment, Increment, Decrement, Short hand
of JAVA - Simple, Robust, secured, object
operators), Discuss precedence and associativity of
oriented, platform independent, etc.
operators, prefix and postfix, Creation of dynamic
156
memory by using new operator, invoking members (initializations and updations). Demonstrate break
of class using dot operator, Introduce and continue statements with the help of loops.
System.out.println() and System.out.print() for
Loops are fundamental to computation and their
simple output.
need should be shown by examples.
(Bitwise and shift operators are not included).
9. Nested for loops
5. Input in Java
Introduce nested loops through some simple
Initialization, Parameter, introduction to packages, examples. Demonstrate break and continue
Input streams (Scanner Class), types of errors, statements with the help of nested loops.
types of comments
Programs based on nested loops [ rectangular,
Initialization – Data before execution, Parameters triangular [right angled triangle only] patterns],
– at the time of execution, input stream – data entry series involving single variable.
during execution – using methods of Scanner class (Nested while and nested do while are not
[nextShort(), nextInt( ), nextLong( ), nextFloat ( ), included.)
nextDouble( ), next( ), nextLine( ), next ( )
.charAt(0) ] 10. Computing and Ethics
Discuss different types of errors occurring during Ethical Issues in Computing.
execution and compilation of the program (syntax
errors, runtime errors and logical errors).Single Intellectual property rights; protection of
line comment (//) and multiline comment (/* … */ ) individual’s right to privacy; data protection on
the internet; protection against Spam; software
6. Mathematical Library Methods piracy, cybercrime, hacking, protection against
Introduction to package java.lang [ default ], malicious intent and malicious code. The stress
methods of Math class. should be on good etiquette and ethical practices.
pow(x,y), sqrt(x), cbrt(x), ceil(x), floor(x), round
(x), abs(a), max(a, b), min(a,b), random( ). INTERNAL ASSESSMENT - 100 Marks
Java expressions – using all the operators and This segment of the syllabus is totally practical
methods of Math class. oriented. The accent is on acquiring basic
programming skills quickly and efficiently.
7. Conditional constructs in Java Programming Assignments (Class IX)
Application of if, if else, if else if ladder, Students are expected to do a minimum of
switch-case, default, break. 20 assignments during the whole year to reinforce the
if, if else, if else if, Nested if, switch case, break concepts studied in the class.
statement, fall through condition in switch case, Suggested list of Assignments:
Menu driven programs, System.exit(0) - to
terminate the program. The laboratory assignments will form the bulk of the
course. Good assignments should have problems
8. Iterative constructs in Java which require design, implementation and testing.
They should also embody one or more concepts that
Definition, Types of looping statements, entry
have been discussed in the theory class. A
controlled loops [ for, while], exit controlled loop
significant proportion of the time has to be spent in the
[do while] , variations in looping statements, and
laboratory. Computing can only be learnt by doing.
Jump statements.
The teacher-in-charge should maintain a record of all
Syntax of entry and exit controlled loops, break and
the assignments done as a part of practical work
continue, Simple programs illustrating all three
throughout the year and give it due credit at the time
loops, inter conversion from for – while – do while,
of cumulative evaluation at the end of the year.
finite and infinite, delay, multiple counter variables
157
Some sample problems are given below as examples. (vii) Programs based on Looping Statement
The problems are of varying levels of difficulty:
(a) Programs based on for looping statement.
(i) Programs using Assignment statements.
(b) Programs based on printing simple series,
Example: Calculation of Area / Volume /
summation of simple series, product of
Conversion of temperature / Swapping of values
simple series.
etc.
(c) Prime number, perfect number, composite
(ii) Programs based on– Input through parameters.
number, Fibonacci series. Lowest Common
Example: Implementation of standard formula
Multiple (LCM), Highest Common Factor
etc.
(HCF) etc.
(iii) Programs based on – Input through Scanner
(d) To find the biggest and smallest number
class.
from n number of entered numbers.
Example: Implementation of standard formula
etc. (e) Program based on while loop like
Armstrong number, Spy number, Niven
(iv) Programs based on Mathematical methods.
number, Palindrome number, etc.
Example: larger/smaller of two numbers, cube
root, square root, absolute value, power, etc. (viii) Programs based on nested loops
[rectangular, triangular(right angled triangle
(v) Programs based on if, if else, if else if ladder,
only) patterns], series involving single variable.
nested if etc.
(ix) Generate first n multiples of numbers from 1 to
(a) if programs the limit input by the user.
Larger / smaller of two numbers (x) Menu Driven programs.
To check divisibility of a number, etc.
Important: This list is indicative only. Teachers and
(b) if - else programs
students should use their imagination to create
Odd or even number innovative and original assignments.
Eligibility to vote
Upper case or lower case EVALUATION
Positive or negative number Proposed Guidelines for Marking
Vowel or Consonant The teacher should use the criteria below to judge the
Buzz number etc. internal work done. Basically, four criteria are being
(c) if-else-if programs suggested: class design, coding and documentation,
variable description and execution or output. The
Programs based on discount/interest/ actual grading will be done by the teacher based on
bonus/ taxes/ commission. his/her judgment. However, one possible way: divide
Programs based on slab system. the outcome for each criterion into one of 4 groups:
Programs based on Nested if. excellent, good, fair/acceptable, poor/unacceptable,
then use numeric values for each grade and add to get
(vi) Programs on switch case. the total.
(a) Day of a week Class design:
(b) Name of the month
Has a suitable class (or classes) been used?
(c) Names of the seasons Are all attributes with the right kinds of types present?
(d) Calculator Is encapsulation properly done?
(e) Vowel or consonant etc. Is the interface properly designed?
158
Coding and Documentation: Evaluation of practical work (Assignments) will be
done as follows:
Is the coding done properly? (choice of names, no
unconditional jumps, proper organization of Subject Teacher (Internal Examiner): 100 Marks
conditions, proper choice of loops, error handling code
layout). Is the documentation complete and readable? Criteria Class Variable Coding and Execution
(class documentation, variable documentation, (Total- design description Documentation OR
100 (20 (20 marks) (20 marks) Output
method documentation, constraints, known bugs – if marks) marks) (40
any). marks)
Variable and Description
Excellent 20 20 20 40
Format for variable description:
Name of the Data Type Purpose/Description
Good 16 16 16 32
variable
Fair 12 12 12 24
Poor 8 8 8 16
159
CLASS X
There will be one written paper of two hours duration names to implement modular programming, using
carrying 100 marks and Internal Assessment of data members and member methods, Actual
100 marks. parameters and formal parameters, Declaration
The paper will be divided into two sections A and B. of methods - static and non-static, method
prototype / signature, - Pure and impure methods,
Section A (Compulsory – 40 marks) will consist of - pass by value [with programs] and pass by
compulsory short answer questions covering the entire reference [only definition with an example],
syllabus. Returning values from the methods , use of
Section B (60 marks) will consist of questions which multiple methods and more than one method with
will require detailed answers. There will be a choice the same name (polymorphism - method
of questions in this section overloading).
160
boolean isWhitespace(char ch), boolean equals (String str)
char toLowerCase (char ch) boolean equalsIgnoreCase(String str)
char toUpperCase(char ch) int compareTo(String str)
6. Encapsulation int compareToIgnoreCase(String str)
Access specifiers and its scope and visibility. String replace (char oldChar,char newChar)
Access specifiers – private, protected and public. String substring (int beginIndex)
Visibility rules for private, protected and public String substring (int beginIndex, int endIndex)
access specifiers. Scope of variables, class
variables, instance variables, argument variables, boolean startsWith(String str)
local variables. boolean endsWith(String str)
Definition of an array, types of arrays, declaration, Programs based on the above methods, extracting
initialization and accepting data of single and and modifying characters of a string, alphabetical
double dimensional arrays, accessing the elements order of the strings in an array [Bubble and
of single dimensional and double dimensional Selection sort techniques], searching for a string
arrays. using linear search technique.
8. String handling The laboratory assignments will form the bulk of the
course. Good assignments should have problems
String class, methods of String class, which require design, implementation and testing.
implementation of String class methods, String They should also embody one or more concepts that
array have been discussed in the theory class. A
The following String class methods are to be significant proportion of the time has to be spent in the
covered: laboratory. Computing can only be learnt by doing.
161
(c) Programs involving data members, member EVALUATION
methods invoking the methods with respect to
The teacher-in-charge shall evaluate all the
the object created.
assignments done by the student throughout the year
(ii) Constructors [both written and practical work]. He/she shall ensure
(a) Programs based on different types of that most of the components of the syllabus have been
constructors mentioned in the scope of the used appropriately in the assignments. Assignments
syllabus. should be with appropriate list of variables and
(b) Programs / outputs based on constructor comment statements. The student has to mention the
overloading output of the programs.
(iii) Library classes Proposed Guidelines for Marking
(a) Outputs based on all the methods mentioned The teacher should use the criteria below to judge the
in the scope of the syllabus. internal work done. Basically, four criteria are being
suggested: class design, coding and documentation,
(b) Programs to check whether a given character
variable description and execution or output. The
is an uppercase/ lowercase / digit etc.
actual grading will be done by the teacher based on
(iv) Encapsulation his/her judgment. However, one possible way: divide
the outcome for each criterion into one of 4 groups:
Questions based on identifying the different
excellent, good, fair/acceptable, poor/unacceptable,
variables like local, instance, arguments, private,
then use numeric values for each grade and add to get
public, class variable etc.
the total.
(v) Arrays
Class design:
(a) Programs based on accessing the elements of Has a suitable class (or classes) been used?
an array. Are all attributes with the right kinds of types present?
(b) Programs based on sort techniques mentioned Is encapsulation properly done?
in the scope of the syllabus. Is the interface properly designed
(c) Programs based on search techniques Coding and documentation:
mentioned in the scope of the syllabus.
Is the coding done properly? (Choice of names, no
(d) Programs on Double dimensional arrays as unconditional jumps, proper organization of
given in the scope of the syllabus. conditions, proper choice of loops, error handling,
(vi) String handling code layout) Is the documentation complete and
readable? (class documentation, variable
(a) Outputs based on all the string methods documentation, method documentation, constraints,
mentioned in the scope of the syllabus. known bugs - if any).
(b) Programs based on extracting the characters Variable description:
from a given string and manipulating the
same. Format for variable description:
(c) Palindrome string, pig Latin, alphabetical Name of the Data Purpose/description
order of characters, etc. Variable Type
Important: This list is indicative only. Teachers and
students should use their imagination to create
innovative and original assignments.
162
Execution or Output: 2 periods – Lecture cum demonstration by the
Instructor.
Does the program run on all sample input correctly?
Evaluation of practical work will be done as 2 periods – Assignments/Practical work.
follows: The hardware and software platforms should be such
that students can comfortably develop and run
Subject Teacher (Internal 50 marks
programs on those machines.
Examiner)
Since hardware and software evolve and change very
External Examiner 50 marks rapidly the schools shall need to upgrade them as
Criteria Class Variable Coding and Execution required. Following are the minimal specifications as
(Total- design description Documentation OR of now.
50 (10 (10 marks) (10 marks) Output
marks) marks) (20 RECOMMENDED FACILITIES:
marks)
A lecture cum demonstration room with a
Excellent 10 10 10 20 MULTIMEDIA PROJECTOR/ an LCD and
Overhead Projector (OHP) attached to the
Good 8 8 8 16 computer.
Fair 6 6 6 12 A white board with white board markers should be
available.
Poor 4 4 4 8 A fully equipped Computer Laboratory that allows
one computer per student.
An External Examiner shall be nominated by the Head The computers should have a minimum of
of the School and may be a teacher from the faculty, 1 GB RAM and at least a P - IV or Equivalent
but not teaching the subject in the relevant Processor.
section/class. For example, A teacher of Computer Good Quality printers.
Science of class VIII may be deputed to be the A scanner, a web cam/a digital camera (Should be
External Examiner for class X. provided if possible).
The total marks obtained out of 100 are to be sent to
the Council by the Head of the school. SOFTWARE FOR CLASSES IX & X
The Head of the school will be responsible for the Any suitable Operating System can be used.
online entry of marks on the Council’s CAREERS For teaching fundamental concepts of computing
portal by the due date. using object oriented approach, Blue J environment
(3.2 or higher version) compatible with JDK (5.0 or
EQUIPMENT higher version) as the base or any other editor or IDE,
There should be enough computer systems to provide compatible with JDK (5.0 or higher version) as the
for a teaching schedule where at least three-fourth of a base may be used. Ensure that the latest versions of
time available is used for programming and software are used.
assignments/practical work. The course shall require
at least 4 periods of about 40 minutes duration per
week. In one week, out of 4 periods the time should be
divided as follows:
163