| |
Computer Structure
(i) Logic gates (NOT, AND, OR, XOR) and their use in computers.
(ii) Review of number systems (binary, decimal, octal, hexadecimal), representation for different types - integers, float, characters.
(iii) Simple binary arithmetic, including addition, subtraction, multiplication and division.
(iv) Computer logic, Boolean operations, logical operators (NOT, AND, OR, XOR) and their truth tables.
Review of Programming
Review of programming in BASIC or in C++ from grade 9.
(i) 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.
(ii) Expressions - arithmetic and logical, evaluation of expressions, type of an
expression (depends on language). Operators, associativity and precedence of operators.
(iii) Statements, blocks (where relevant), scope and visibility of variables.
(iv) Conditional statements (if and if-then-else), switch, break, default.
(v) Loops (for, while-do, do-while).
(vi) Simple input/output using standard input/output.
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.
(i) Functions / subroutines as procedural abstractions. Using functions / subroutines in
programs.
(ii) Arguments and argument passing in functions/subroutines.
(iii) Scope of variables.
(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).
(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.
(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/string types and numeric types.
(viii) Distinction between compile time and run time errors. Run time errors due to finite representations - overflow, underflow. Other run time errors.
(ix) Basic ideas about linking, loading, execution.
Documentation of programs Need for good documentation; good documentation practices; standards and naming conventions.
Practical Work Regular programming should supplement every topic . 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.

|
|