Page 8 - Computer science 868 Class 12
P. 8
SECTION B
The programming element in the syllabus (Sections B and C) is aimed at algorithmic problem solving and
not merely rote learning of Java syntax. The Java version used should be 5.0 or later. For programming, the
students can use any text editor and the javac and java programs or any other development environment:
for example, BlueJ, Eclipse, NetBeans etc. BlueJ is strongly recommended for its simplicity, ease of use and
because it is very well suited for an ‘objects first’ approach.
3. Implementation of algorithms to solve problems
The students are required to do lab assignments in the computer lab concurrently with the lectures.
Programming assignments should be done such that each major topic is covered in at least one
assignment. Assignment problems should be designed so that they are sufficiently challenging.
Students must do algorithm design, address correctness issues, implement and execute the algorithm
in Java and debug where necessary.
Self explanatory.
4. Programming in Java (Review of Class XI Sections B and C)
Note that items 4 to 13 should be introduced almost simultaneously along with classes and their
definitions.
While reviewing, ensure that new higher order problems are solved using these constructs.
5. Objects
(a) Objects as data (attributes) + behaviour (methods); object as an instance of a class. Constructors.
(b) Analysis of some real-world programming examples in terms of objects and classes.
(c) Basic input/output using Scanner and Printer classes from JDK; input/output exceptions. Tokens in
an input stream, concept of whitespace, extracting tokens from an input stream (String Tokenizer
class).
6. Primitive values, Wrapper classes, Types and casting
Primitive values and types: byte, int, short, long, float, double, boolean, char. Corresponding wrapper
classes for each primitive type. Class as type of the object. Class as mechanism for user defined types.
Changing types through user defined casting and automatic type coercion for some primitive types.
7. Variables, Expressions
Variables as names for values; named constants (final), expressions (arithmetic and logical) and their
evaluation (operators, associativity, precedence). Assignment operation; difference between left hand
side and right hand side of assignment.
8. Statements, Scope
Statements; conditional (if, if else, if else if, switch case, ternary operator), looping (for, while, do while,
continue, break); grouping statements in blocks, scope and visibility of variables.
9. Methods
Methods (as abstractions for complex user defined operations on objects), formal arguments and actual
arguments in methods; different behaviour of primitive and object arguments. Static method and

