(Download) ICSE: Class X Syllabus - 2013 "Computer Science"

Disclaimer: This website is NOT associated with CBSE, for official website of CBSE visit - www.cbse.gov.in

https://cbseportal.com/images/Logo-CISCE.JPG

ICSE (Class X)
Syllabus (2013)

Subject: Computer Science

Class: X

There will be one paper of two hours duration carrying 80 Marks and Internal Assessment of 20 marks.

The paper will be divided into two Sections A and B.

Section A (20 marks): This section will consist of compulsory short answer questions, testing knowledge, application and skills relating to elementary/fundamental aspects of the entire syllabus.

Section B (60 marks): This section will consist of questions based on programming. There will be a choice of questions and candidates will be required to answer four questions from this section.

PART I -THEORY

1. Computer Structure

  1. Logic gates (NOT, AND, OR, XOR) and their use in computers.
  2. Review of number systems (binary, decimal, octal, hexadecimal), representation for different types - integers, float, characters.
  3. Simple binary arithmetic, including addition, subtraction, multiplication and division.
  4. Computer logic, Boolean operations, logical operators (NOT, AND, OR, XOR) and their truth tables.

The following points should be discussed:

  • Some interesting real life examples can be taken to introduce propositional logic and fundamental Boolean operations.
  • These can be connected to problem solving and programming.
  • Verification of fundamental laws of Boolean algebra using truth tables.
  • Writing inputs and outputs for a circuit like half adder and writing the SOP expression.
  • Using Boolean algebra to reduce expressions.
  • Drawing logic gate diagrams for the given expression.
  • The finiteness of representations should be emphasized to show that real numbers and fractions (that is rational numbers) are only approximated and cannot be represented exactly in some cases. For example, consider not terminating decimal representations of fractions and representations of irrational numbers like .

2. Review of Programming

Review of programming in BASIC or in C++ from Class IX.

  1. Primitive data types supported by the language (integers, floating point numbers, characters, booleans etc. - will depend on the language), variables (and their declaration - based on language), assignment, difference
    between the left-hand side and right-hand side of an assignment.
  2. Expressions - arithmetic and logical, evaluation of expressions, type of an expression (depends on language). Operators, associativity and precedence of operators.
  3. Statements, blocks (where relevant), scope and visibility of variables.
  4. Conditional statements (if and if-then-else), switch, break, default.
  5. Loops (for, while-do, do-while).
  6. Simple input/output using standard input/output.

Topics 5 and 6 of Class IX syllabus should be revised briefly. By now, students should be reasonably adept at problem solving using QBASIC/C++.

3. Advanced Programming

The programming element in the syllabus is aimed at problem solving and not on merely rote learning of the commands and syntax of particular programming languages. Students have the option to use either BASIC or C++ in order to implement algorithms and to use them for solving problems. While choosing BASIC, care must be taken to choose a standard version that has “block if structures”, “functions through which parameters
may be passed and values returned”. Very old versions using “goto statements” must not be used. Care must be taken that ‘standard and recent’ versions of the languages are used on the computer - it is recommended that students mention the version of the language being used while writing answers in order to avoid ambiguity. For example, software such as Microsoft Quick BASIC, Borland Turbo C++, Visual C++ or GNU C++ on Linux can be used.

  1. Functions / subroutines as procedural abstractions. Using functions/subroutines in programs.
  2. Arguments and argument passing in functions/subroutines.
  3. Scope of variables.

The concepts to be emphasized are:

  • How functions/subroutines help in solving larger and complex problems.
  • How the same code can be reused from various points in a program.
  • Parameter passing (pass by value/pass by reference).
  • Return values.
  • Scope and visibility of variables.
  • The examples done in Class IX can be used to motivate the need for abstracting out and capturing functionality used repeatedly in multiple places. In each example, the complexity of actually executing the function should be analyzed - what happens in the worst case and what happens on average. Students should run the algorithms on multiple instances of random data to convince themselves that the analytical approach
    matches what they observe.

Examples:

a) Use minimum and maximum functions of n numbers to arrange n numbers in ascending/descending order.

b) Use a search function for a given search element from a given point to solve problems like finding number of vowels in a sentence, number of words in a sentence etc. Those using object oriented program can introduce classes and member functions at this point.

(iv) Structured types, arrays as an example of a structured type. Use of arrays in sorting and searching. Two-dimensional arrays. Use of two-dimensional arrays to represent matrices. Matrix arithmetic using arrays. Use of arrays to solve linear equations (Gauss elimination method).

The concepts involved are:

• How a large amount of data of the same type can be stored and accessed by using one variable name and a subscript.

• How complex problems can be solved easily with the help of arrays. e.g. Frequency counts
Selection sort
Linear search
Binary search

• School timetable and matrices can be used to introduce two-dimensional arrays. To begin with, some simple examples can be used:

• Finding sum/difference of two matrices.

• Finding the sum of the elements of rows and columns of a matrix.

(v) Review of input/output using standard input and standard output from Class IX. Input/output using sequential files. Opening, closing files. Creating and deleting files. Formatting output. Concept of a token and
separator. Extracting tokens from the input. Only sequential file programs need to be done in QBASIC. In C++ formatted data may be written on to the streams. Programs for creating files, reading them, updating them
and manipulating them should be done.

(vi) Characters, ASCII representation, strings as a composite data type; functions on strings (ex. length, substring, concatenate, equality, accessing individual characters in a string, inserting a string in another string at a given
location).

(vii) Simple type casting for primitive types; inter-conversion between character/stringtypes and numeric types.

The students should understand why the ASCII code is needed.

In QBASIC there are library functions for inter conversion but in C++ simple assignment from char to int and vice-versa will do the job. Simple string and text processing problems like: substring problems, search problems in a text, frequency problems in text can be used for motivation.

(viii) Distinction between compile time and run time errors. Run time errors due to finite representations - overflow, underflow. Other run time errors.

Self-explanatory.

(ix) Basic ideas about linking, loading, execution. Self-explanatory.

4. Documentation of programs Need for good documentation; good documentation practices; standards and naming conventions. The teachers can show an undocumented program and then the same program properly documented, with good naming conventions. Experiments can be done on how much time it takes for making changes to the program (so that it does something extra) and trying to understand the program.

5. Practical Work

Regular programming in labs. should supplement every topic that is taught in the classroom. The students will be expected to invent algorithmic solutions expressed in C++ or Basic to solve
problems and then actually implement and run the program to get answers. The student will also be required to do a project that involves significant programming effort.

Self-explanatory.

PART II - INTERNAL ASSESSMENT (PRACTICAL WORK)

Internal Assessment will comprise of assignments and Project work.

Minimum number of Assignments

Assignments as prescribed by the teacher to cover all the concepts in the programming syllabus. Project Work - One project in BASIC or C++.

Suggested Assignments

The generation of all three-digit prime numbers, mensuration, calculating income tax, commissions, etc.

Various number problems, twin primes, perfect numbers, Syracuse numbers, etc.

A programming assignment on a problem resulting in formatted screen or printer output, Example: forming a diamond shape with the* character in the middle of the screen, calculating
and outputting electricity bills, printing tabular data.

A small menu driven program, marks processing and ranking algorithms.

Sorting and searching algorithms.

Permutation generation algorithms.

Finding mode, mean, median of a set of numbers.

File handling assignment. A sequential file may  be prepared by the teacher to be manipulated by the students in one or more of the following ways:

Reading and filtering data according to given criteria, adding/deleting/ modifying records.

Programming Project

Proposed Guidelines for Marking

The teacher should use the criteria below to judge the internal work done. Basically, four criteria are being suggested: Analysis, Algorithm Design, Coding and

Documentation and Execution. The important questions to be asked when evaluating each criterion are shown. 25% of the total credit is assigned to each criterion - so each is equally important. The actual grading will be done by the teacher based on his/her judgment. However, one recommended criteria is: divide the outcome for each criterion into one of 4 groups: excellent, good, fair/acceptable, poor/ unacceptable, then use numeric values for each grade and add to get the total which can be multiplied by a suitable factor to get the final marks.Analysis:
Has the problem been analyzed carefully?

Are all attributes with the right kinds of types present?

Has the problem been broken up into proper  segments?

Algorithm design:

Is the choice of data structures proper?

Is the algorithm suitable for the problem?

How efficient is it?

Coding and Documentation: Is the coding done properly? (Choice of names, no unconditional jumps, proper organization of conditions, proper choice of loops, error handling, code layout)

Is the documentation complete and readable? (Documentation, variable documentation, function documentation, constraints, known bugs - if any)

EVALUATION

Teachers should maintain a record of work done through the year and give it due credit at the time of cumulative evaluation at the end of the year.

An External Examiner shall evaluate the one project built by the candidates. The examiner shall view the project and conduct a viva to judge the depth of knowledge and understanding of the candidate.

An External Examiner shall be nominated by the Principal and may be a teacher from the faculty, but not teaching the subject in the relevant section/class.

For example, a teacher of Computer Science of Class VIII may be deputed to be the External Examiner for Class X, Computer Science Projects. Evaluation of practical work will be done as follows:

Award of Marks (20 Marks)

Subject Teacher (Internal Examiner) 10 Marks

External Examiner 10 Marks

The total marks obtained out of 20 are to be sent to the Council by the Head of the school.

The Head of the school will be responsible for the entry of marks on the mark sheets provided by the Council.

Courtesy: cisce.org