You are on page 1of 9

COMPUTER SCIENCE (71)

Aims: 4. To develop an understanding of the


fundamental concepts of programming and
1. To enable candidates to comprehend the
the ability to apply the same.
concepts and practices of Computer science.
5. To develop an appreciation of the
2. To develop an understanding of how
implications of computer use in
computers store and process data.
contemporary society.
3. To enable candidates to describe the major
components of computer hardware, their
functions and interaction.
CLASS IX

There will be one paper of two hours duration Peripheral devices should also be shown from the
carrying 80 Marks and Internal Assessment of 'inside', if possible.
20 marks.
The paper will be divided into two Sections A and B. 2. Data representation and internal computer
structure
Section A (20 marks): This section will consist of
compulsory short answer questions, testing (i) Number systems, base of a number system -
knowledge, application and skills relating to decimal, binary, octal, hexadecimal
elementary/fundamental aspects of the entire syllabus. representation, conversion between various
representations, character representations
Section B (60 marks): This section will consist of (ASCII, ISCII, Unicode).
questions based on programming. There will be a
choice of questions and candidates will be required to (ii) Representations for integers, real numbers,
answer four questions from this section. limitations of finite representations.
(iii) Internal structure of a computer, a simple
PART I -THEORY decimal load and store computer and its
machine language, instruction format,
1. Computer hardware: parts of a computer and registers, program counter, instruction
their functions register; register addressing modes,
CPU, the clock, cache memory, primary memory, instruction cycle, assembly language for the
secondary memory, input and output devices, same computer, simple algorithms in
communication devices (the aim is not to assembly language.
describe/discuss an exhaustive list of devices but The teachers must review the place notation for
to understand what parts are present in a typical decimal numbers, then make students count and
computer and what the function of each part is). do arithmetic (addition and subtraction) with base
Teachers can open a computer and show the 2 and 8. This develops intuition for conversion of
various parts; explain how the motherboard numbers from one base to another. Emphasize the
becomes a kind of 'central coordinator' where all finiteness of representations when only limited
the others link up; point out the various chips on space is available - a bit, byte and word can be
the motherboard that are responsible for the introduced at this stage to talk about sizes. Give
different functions - CPU, memory, clock, boot examples to enable students to understand the
ROM, etc. maximum and minimum sized numbers that can be
represented in a given number of bits. Students
Similarly, it is good to show students a floppy disk can write simple programs to keep increasing the
and hard disk from the inside (an old non- value of an integer till it overflows and determine
functional disk can be used for this purpose). the number of bits to store numbers of that type.
Discuss different ways to represent negative
144
numbers (signed magnitude, ones complement and 4. Social context of computing and ethical issues
twos complement). Introduce sign, mantissa,
(i) Intellectual property and corresponding laws
radix, exponent notation and how real
and rights, software as intellectual property.
numbers can be represented (sign * mantissa *
exponent
radix ). Discuss normalized and (ii) Software patents, copyrights, and trademarks,
non-normalized representations, 32-bit and 64-bit software licensing and piracy.
representations. In (i) it is useful to introduce
(iii) Free software foundation and its position on
coding systems for other languages - like ISCII software, open source software.
(for Indian languages) and Unicode as a standard
for all languages of the world. In (iii) a simple (iv) Privacy, email etiquette.
decimal computer simulator can be used which There can be very interesting discussions in the
has load, store, arithmetic, simple conditional class regarding the ethical issues. There can be
jumps, jump instructions, simple input output. The discussions on copyright, fair use, a program as
idea is to give a clear understanding of how a free speech and Digital Millennium Copyright
typical computer works, without going into too Act. The students can gather more information
much detail. The student can write simple from the net. The stress should be on following
programs using the instruction set of the machine good etiquette and ethical practices.
so that they understand the need for high level
languages. This will also clarify the basic idea of 5. Algorithms
a stored program where program is treated as
data. (i) Concept of an algorithm.
3. Computer software (ii) Properties of an algorithm (finite, definite,
terminating, precise).
The boot process, operating system (resource
management and command processor), file (iii) Basic ideas of the complexity of an algorithm
system. - space complexity, time complexity.
(i) Boot process, operating systems - resource A number of problems should be introduced to
management, command processing. familiarize the student with the idea of various
ways in which operations on data yield solutions
(ii) Directories, files and hierarchical file system. to problems. (Please refer to topic 6).
(iii) Programming languages (machine language, The problems should use different forms of data -
assembly language, high level language). numeric, nonnumeric, structured.
(iv) Compilers and interpreters. Students should be asked to focus upon what are
the outputs required, the inputs needed and work
(v) Application software. out the solutions to the problems.
One natural way to visualize an OS is as a Informal structured English can be used to write
software layer which creates a virtual machine the solutions.
that is much more useable than the bare machine.
Students should be asked to visualize sample data
This involves giving the user a high level
for the problem especially for the extreme cases.
command interface and the management of the
raw machine resources (like memory, CPU etc.) They should be asked to trace the algorithms to
so that they can be used efficiently. The languages see if the expected output is obtained.
at different levels (machine, assembly, higher) can This would help stabilize the concept of
be motivated by a discussion based on the algorithms.
contents of 2 (iii) above and topic 6 below.
Simple algorithms for number problems can be
Application software is best introduced through
discussed here. These can be coded in the
application software that the student will be using
programming language that is covered as part of
like browsers, spreadsheets, word processing etc.,
topic 6. Simple concrete complexity can be
this can be integrated with the discussion in
discussed so that students understand that not all
topic 7.
algorithms are the same with respect to time and
145
space complexity. Also, briefly discuss space-time (iii) Statements, blocks (where relevant), scope
tradeoffs. and visibility of variables.
6. Programming Using a High Level Language (iv) Conditional statements (if and if-then-else),
switch, break, default.
The programming element in the syllabus is
aimed at problem solving and not on merely rote (v) Loops (for, while-do, do-while).
learning of the commands and syntax of particular (vi) Simple input/output using standard
programming languages. Students have the option input/output.
to use either BASIC or C++ in order to implement The teachers should introduce problem solving
the high level language concepts and algorithms through numerous examples and informally
and to use them for solving problems. While familiarize the students with the idea of various
choosing BASIC care must be taken to choose a ways in which operations on data yield solutions
standard version that has “block if structures”, to problems. The examples should use different
“functions through which parameters may be forms of data (numeric, non-numeric, structured).
passed and values returned”. Very old versions In the beginning the solutions should be written in
using “goto statements” must not be used. Care a freely invented structured form of English. The
must be taken that „standard and recent‟ informal structured English constructs should not
versions of the languages are used on the be too high level – they should be at a level where
computer. It is recommended that students they can be unambiguously carried out – which
mention the version of the language being used means they are at par with programming
while writing answers in order to avoid ambiguity. language constructs. For example, primitive
For example, software such as Microsoft Quick constructs like minimum or maximum of a set of
BASIC, Borland Turbo C++, Visual C++ or GNU numbers, sort etc. should not be allowed (see
C++ on Linux can be used. examples below). Such compound constructs
The emphasis here should be on problem solving. should be introduced as abstractions, that is as
The design approach here may vary. The users of functions or procedures. In the process of writing
QBASIC should use the structured programming the solutions, motivate and informally introduce:
approach while C++ users may use the object- - How the real world presents us with different
oriented approach. types of data (numeric, non-numeric, boolean,
It must be remembered that the language structured).
(QBASIC/ C++) is just a vehicle for expressing - The notion of using a variable to hold data.
solutions. - How the assignment operation is used to
The object-oriented techniques are recommended change the data a variable denotes.
as students learn these very naturally and quickly. - How operations on the variable actually
Once learnt they are very easy to use. operate on the data.
Simple demonstration programs can be executed - How input and output are needed.
on the computer to illustrate various concepts as - How the sequence of operations on data can
they are introduced. be abstracted out (as an algorithm) and be
(i) Primitive data types supported by the repeated on different data sets.
language (integers, floating point numbers, - The concept of a processor (the teacher) and
characters, booleans etc. - will depend on the a store (the blackboard) by mechanically
language), variables (and their declaration - tracing/executing the solutions.
based on language), assignment, difference
- How the same kind of repetitive operation
between the left-hand side and right-hand side
sequences seem to appear again and again in
of an assignment.
the solutions (conditionals, loops).
(ii) Expressions - arithmetic and logical,
- How some solutions can be reused in solving
evaluation of expressions, type of an
other problems.
expression (depends on language). Operators,
associativity and precedence of operators.
146
Throughout this topic the informal structured (ii) Basic introduction to the Internet, browsing,
English constructs of algorithms should be shown email.
to correspond to similar constructs in the Students should be encouraged to use computers
language. Programs should be written for all the to write the assignments, project reports, create
examples. Students should run all the programs banners and placards for school events. They will
discussed in class in the lab. Some of these automatically learn to use the word processors
programs will be done only after the necessary and spreadsheets, etc.
concepts have been introduced.
Students should be encouraged to log on to the
Sample examples: Internet to gather material for their projects.
a) Multiplication as repeated addition. A number of interesting assignments can also be
b) Finding if a number is a prime number. given in this section.
c) Find the maximum or minimum of 3 numbers,
10 numbers, a given set of n numbers PART II - INTERNAL ASSESSMENT
(requires input/output). (PRACTICAL WORK)
d) Ordering (ascending or descending) a set of 3
numbers; a set of 10 numbers; a given set of n Part II (Practical work) will carry 20 marks and shall
numbers. Try to reuse what is done in c). be assessed on a continuous basis throughout the year.
e) Finding the number of vowels in a given The assessment of practical work should include small
sentence (composite data, non-numeric data). projects using software in item 7 and solutions to
f) Finding the number of words in a given programming problems in item 6, which have been
sentence. coded and run in the higher level language being used
in the course.
g) Finding out who has got the maximum
aggregate marks in the class after an exam in Teachers should maintain a record of work done
all the subjects (structured data, accessing through the year and give it due credit at the time of
elements within structured data). cumulative evaluation at the end of the year.
7. Computers in everyday life
(i) Familiarity with software for word
processing, databases, spreadsheets, making
presentations.

147
CLASS X

There will be one paper of two hours duration approximated and cannot be represented
carrying 80 Marks and Internal Assessment of exactly in some cases. For example, consider
20 marks. not terminating decimal representations of
fractions and representations of irrational
The paper will be divided into two Sections A and B.
numbers like π.
Section A (20 marks): This section will consist of
2. Review of Programming
compulsory short answer questions, testing
knowledge, application and skills relating to Review of programming in BASIC or in C++
elementary/fundamental aspects of the entire syllabus. from Class IX.
Section B (60 marks): This section will consist of
(i) Primitive data types supported by the
questions based on programming. There will be a
language (integers, floating point numbers,
choice of questions and candidates will be required to
characters, booleans etc. - will depend on the
answer four questions from this section.
language), variables (and their declaration -
based on language), assignment, difference
between the left-hand side and right-hand side
PART I -THEORY of an assignment.
(ii) Expressions - arithmetic and logical,
1. Computer Structure
evaluation of expressions, type of an
(i) Logic gates (NOT, AND, OR, XOR) and their expression (depends on language). Operators,
use in computers. associativity and precedence of operators.
(ii) Review of number systems (binary, decimal, (iii) Statements, blocks (where relevant), scope
octal, hexadecimal), representation for and visibility of variables.
different types - integers, float, characters.
(iv) Conditional statements (if and if-then-else),
(iii) Simple binary arithmetic, including addition, switch, break, default.
subtraction, multiplication and division.
(v) Loops (for, while-do, do-while).
(iv) Computer logic, Boolean operations, logical
(vi) Simple input/output using standard
operators (NOT, AND, OR, XOR) and their
truth tables. input/output.
Topics 5 and 6 of Class IX syllabus should be
The following points should be discussed: revised briefly. By now, students should be
a. Some interesting real life examples can be reasonably adept at problem solving using
taken to introduce propositional logic and QBASIC/C++.
fundamental Boolean operations.
b. These can be connected to problem solving 3. Advanced Programming
and programming. The programming element in the syllabus is
c. Verification of fundamental laws of Boolean aimed at problem solving and not on merely rote
algebra using truth tables. learning of the commands and syntax of particular
d. Writing inputs and outputs for a circuit like programming languages. Students have the option
half adder and writing the SOP expression. to use either BASIC or C++ in order to implement
e. Using Boolean algebra to reduce expressions. algorithms and to use them for solving problems.
f. Drawing logic gate diagrams for the given While choosing BASIC, care must be taken to
choose a standard version that has “block if
expression.
structures”, “functions through which parameters
g. The finiteness of representations should be may be passed and values returned”. Very old
emphasized to show that real numbers and versions using “goto statements” must not be
fractions (that is rational numbers) are only
148
used. Care must be taken that „standard and (iv) Structured types, arrays as an example of a
recent‟ versions of the languages are used on the structured type. Use of arrays in sorting and
computer - it is recommended that students searching. Two-dimensional arrays. Use of
mention the version of the language being used two-dimensional arrays to represent matrices.
while writing answers in order to avoid ambiguity. Matrix arithmetic using arrays. Use of arrays
For example, software such as Microsoft Quick to solve linear equations (Gauss elimination
BASIC, Borland Turbo C++, Visual C++ or GNU method).
C++ on Linux can be used. The concepts involved are:
(i) Functions / subroutines as procedural How a large amount of data of the same
abstractions. Using functions/subroutines in type can be stored and accessed by using
programs. one variable name and a subscript.
(ii) Arguments and argument passing in How complex problems can be solved easily
functions/subroutines. with the help of arrays. e.g.
Frequency counts
(iii) Scope of variables.
Selection sort
The concepts to be emphasized are:
Linear search
How functions/subroutines help in solving
larger and complex problems. Binary search
How the same code can be reused from School timetable and matrices can be used
various points in a program. to introduce two-dimensional arrays.
Parameter passing (pass by value/pass by To begin with, some simple examples can be
reference). used:
Return values. Finding sum/difference of two matrices.
Scope and visibility of variables. Finding the sum of the elements of rows and
The examples done in Class IX can be used to columns of a matrix.
motivate the need for abstracting out and (v) Review of input/output using standard input
capturing functionality used repeatedly in and standard output from Class IX.
multiple places. In each example, the Input/output using sequential files. Opening,
complexity of actually executing the function closing files. Creating and deleting files.
should be analyzed - what happens in the Formatting output. Concept of a token and
worst case and what happens on average. separator. Extracting tokens from the input.
Students should run the algorithms on
multiple instances of random data to convince Only sequential file programs need to be done
themselves that the analytical approach in QBASIC. In C++ formatted data may be
matches what they observe. written on to the streams. Programs for
creating files, reading them, updating them
Examples: and manipulating them should be done.
a) Use minimum and maximum functions of n
numbers to arrange n numbers in (vi) Characters, ASCII representation, strings as a
ascending/descending order. composite data type; functions on strings
(ex. length, substring, concatenate, equality,
b) Use a search function for a given search accessing individual characters in a string,
element from a given point to solve problems inserting a string in another string at a given
like finding number of vowels in a sentence, location).
number of words in a sentence etc.
(vii)Simple type casting for primitive types;
Those using object oriented program can inter-conversion between character/string
introduce classes and member functions at this
types and numeric types.
point.
149
The students should understand why the Minimum number of Assignments
ASCII code is needed.
Assignments as prescribed by the teacher to cover all
In QBASIC there are library functions for the concepts in the programming syllabus.
inter conversion but in C++ simple
assignment from char to int and vice-versa Project Work - One project in BASIC or C++.
will do the job. Simple string and text Suggested Assignments
processing problems like: substring problems,
search problems in a text, frequency problems  The generation of all three-digit prime numbers,
in text can be used for motivation. mensuration, calculating income tax,
commissions, etc.
(viii)Distinction between compile time and run
time errors. Run time errors due to finite  Various number problems, twin primes, perfect
representations - overflow, underflow. Other numbers, Syracuse numbers, etc.
run time errors.
 A programming assignment on a problem
Self-explanatory. resulting in formatted screen or printer output,
(ix) Basic ideas about linking, loading, execution. Example: forming a diamond shape with the*
Self-explanatory. character in the middle of the screen, calculating
and outputting electricity bills, printing tabular
4. Documentation of programs data.
Need for good documentation; good  A small menu driven program, marks processing
documentation practices; standards and naming and ranking algorithms.
conventions.
 Sorting and searching algorithms.
The teachers can show an undocumented program
and then the same program properly documented,  Permutation generation algorithms.
with good naming conventions. Experiments can
be done on how much time it takes for making  Finding mode, mean, median of a set of numbers.
changes to the program (so that it does something  File handling assignment. A sequential file may
extra) and trying to understand the program.
be prepared by the teacher to be manipulated by
5. Practical Work the students in one or more of the following ways:
Reading and filtering data according to given
Regular programming in labs. should supplement criteria, adding/deleting/ modifying records.
every topic that is taught in the classroom. The
students will be expected to invent algorithmic
Programming Project
solutions expressed in C++ or Basic to solve
problems and then actually implement and run the Proposed Guidelines for Marking
program to get answers.
The teacher should use the criteria below to judge the
The student will also be required to do a project internal work done. Basically, four criteria are being
that involves significant programming effort. suggested: Analysis, Algorithm Design, Coding and
Self-explanatory. Documentation and Execution. The important
questions to be asked when evaluating each criterion
PART II - INTERNAL ASSESSMENT
are shown. 25% of the total credit is assigned to each
(PRACTICAL WORK) criterion - so each is equally important. The actual
Internal Assessment will comprise of assignments and grading will be done by the teacher based on his/her
Project work. judgment. However, one recommended criteria is:
divide the outcome for each criterion into one
of 4 groups: excellent, good, fair/acceptable, poor/
150
unacceptable, then use numeric values for each grade An External Examiner shall evaluate the one project
and add to get the total which can be multiplied by a built by the candidates. The examiner shall view the
suitable factor to get the final marks. project and conduct a viva to judge the depth of
knowledge and understanding of the candidate.
Analysis:
An External Examiner shall be nominated by the
Has the problem been analyzed carefully?
Principal and may be a teacher from the faculty, but
Are all attributes with the right kinds of types present? not teaching the subject in the relevant section/class.
Has the problem been broken up into proper For example, a teacher of Computer Science of
segments? Class VIII may be deputed to be the External
Examiner for Class X, Computer Science Projects.
Algorithm design:
Evaluation of practical work will be done as follows:
Is the choice of data structures proper?
Award of Marks (20 Marks)
Is the algorithm suitable for the problem?
Subject Teacher (Internal Examiner) 10 Marks
How efficient is it?
External Examiner 10 Marks
Coding and Documentation:
The total marks obtained out of 20 are to be sent to the
Is the coding done properly? (Choice of names, no Council by the Head of the school.
unconditional jumps, proper organization of
conditions, proper choice of loops, error handling, The Head of the school will be responsible for the
code layout) entry of marks on the mark sheets provided by the
Council.
Is the documentation complete and readable?
(Documentation, variable documentation, function EQUIPMENT
documentation, constraints, known bugs - if any)
There should be enough computer systems to provide
Execution: for a teaching schedule where at least three-fourths of
Does the program run correctly on all sample input? the time available is used for programming and
project work.
Criteria Analysis Algorithm Coding and Execution
The hardware and software platforms should be such
(total Design Documentation
(mm-5) (mm-5) that the students can comfortably develop and run
marks - (mm-5) (mm-5)
programs on those machines.
20)
Since hardware and software evolve and change very
Excellent 5 5 5 5
rapidly the schools shall need to upgrade them as
Good 4 4 4 4 required.
Fair 3 3 3 3 Following are the recommended specifications as of
now:
Poor 2 2 2 2
THE FACILITIES:
 A lecture cum demonstration room with a
EVALUATION
MULTIMEDIA PROJECTOR/ an LCD and
Teachers should maintain a record of work done O.H.P. attached to the computer.
through the year and give it due credit at the time of
 A white board with white board markers should
cumulative evaluation at the end of the year.
be available.

151
 A fully equipped Computer Laboratory that  It should have a good user interface so that the
allows one computer per student. beginners may learn to use it easily.
 Internet connection for accessing the World Wide  It should be used widely and be easily available.
Web and email facility.  The material related to the software should be
 The computers should have a Minimum of abundantly available.
128 MB RAM and a PIII or Equivalent Processor. In this respect the latest versions of the chosen
 Good quality printers. software should be made available.
Great emphasis should be placed on ethics. Some
 A scanner, a web cam/a digital camera - should be people do not object to using pirated software. They
provided if possible. do not realize that it has something to do with ethics.
SOFTWARE: It is important to introduce these concepts to the
students in the very beginning.
There is a wide variety of software packages and The Council does not recommend any Operating
operating systems and compiler available but software systems or Software Packages by any particular
has to be chosen very carefully. Any suitable Vendor.
Operating System or Software Package, which is The schools are free to use Software Packages
being used currently and is likely to be used in future, available in the Public Domain Software.
can be chosen.
The criteria used in the selection of software should
be:

152

You might also like