ISC Class 11 Computer Science Syllabus 2024-25

ISC has released the Latest Updated Syllabus of the New Academic Session 2024-25, for ISC Class 11 Computer Science.

ISC Class 11 Computer Science Syllabus has been revised and updated for the new session 2024-25. It’s very important for both Teachers and Students to understand the changes and strictly follow the topics covered in ISC Class 11 Computer Science Syllabus 2024-25.

We have also updated Oswal Publishers Books as per the Latest Paper Pattern prescribed by CISCE Board for ISC Class 11 Computer Science Syllabus 2024-25.

Students can directly access the ISC Computer Science Syllabus for Class 11 of the academic year 2024-25 by clicking on the link below.

PDF download links to the latest ISC Class 11 Computer Science Syllabus for 2024-25 academic session

Please Click on Download Now

Latest ISC Class 11 Computer Science Syllabus 2024-25

There will be two papers in the subject:

Paper I: Theory………….. 3 hours…70 marks

Paper II: Practical………. 3 hours…30 marks

PAPER I –THEORY – 70 MARKS 

 SECTION A

Basic Computer Hardware and Software

  1. Numbers

Representation of numbers in different bases and interconversion between them (e.g. binary, octal, decimal, hexadecimal). Addition and subtraction operations for numbers in different bases. Introduce the positional system of representing numbers and the concept of a base.

 Discuss the conversion of representations between different bases using English or pseudo code. These algorithms are also good examples for defining different functions in a class modelling numbers (when programming is discussed). For addition and subtraction (1’s complement and 2’s complement) use the analogy with decimal numbers, emphasize how carry works (this will be useful later when binary adders are discussed) 

 2. Encodings

  • Binary encodings for integers and real numbers using a finite number of bits (signmagnitude, 2’s complement, mantissaexponent notation).

Signed, unsigned numbers, least and most significant bits. Sign-magnitude representation and its shortcomings (two representations for 0, addition requires extra step); two’s-complement representation. Operations (arithmetic, logical, shift), discuss the basic algorithms used for the arithmetic operations. representation: Floating point normalized scientific notation, mantissa-exponent representation, binary point (discuss trade-off between size of mantissa and exponent). Single and double precision. 

  • Characters and their encodings (e.g. ASCII, ISCII, Unicode).

Discuss the limitations of the ASCII code in representing characters of other languages. Discuss the Unicode representation for the local language. Java uses Unicode, so strings in the local language can be used (they can be displayed if fonts are available) – a simple table lookup for local language equivalents for Latin (i.e. English) character strings may be done. More details on Unicode are available at www.unicode.org. .

3. Propositional logic, Hardware implementation, Arithmetic operations

  • Propositional logic, well-formed formulae, truth values and interpretation of well formed formulae, truth tables. riables; the common logical connectives ((not)(negation), (and)(conjunction), ∧ (or)(disjunction),∨ variables; the common logical connectives ((not)(negation), (and)(conjunction), ∧ ∨ truth tables; satisfiable, unsatisfiable and valid formulae. 
  • Logic and hardware, basic gates (AND, NOT, OR) and their universality, other gates (NAND, NOR, XOR, XNOR), half adder, full added Show how the logic in (a) above can be realized in hardware in the form of gates. These gates can then be combined to implement the basic operations for arithmetic. Tie up with the arithmetic operations on integers discussed earlier in 2 (a). 

SECTION B

The programming element in the syllabus 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.

4. Introduction to Programming using Java Object Oriented

Note that topics 5 to 12 should be introduced almost simultaneously along with Classes and their definitions.

5. Objects

  • Objects as data (attributes) + behaviour (methods or methods); object as an instance of a class. Difference between object and class should be made very clear. BlueJ (www.bluej.org) and Greenfoot (www.greenfoot.org) can be used for this purpose
  • Analysis of some real-world programming examples in terms of objects and classes. Use simple examples like a calculator, date, number etc. to illustrate how they can be treated as objects that behave in certain welldefined ways and how the interface provides a way to access behaviour. Illustrate behaviour changes by adding new methods, deleting old methods or modifying existing methods. 
  • Basic concept of a virtual machine; Java Virtual Machine (JVM); compilation and execution of Java programs (the javac and java programs). The JVM is a machine but built as a program and not through hardware. Therefore it is called a virtual machine. To run, JVM machine language programs require an interpreter. The advantage is that such JVM machine language programs (.class files) are portable and can run on any machine that has the java program.
  • Compile time and run time errors; basic concept of an exception, the Exception class, try-catch, throw, throws and finally. Differentiate between compile time and run time errors. Run time errors crash the program. Recovery is possible by the use of exceptions. Explain how an exception object is created and passed up until a matching catch is found. This behaviour is different from the one where a value is returned by a deeply nested method call.

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. Ideally, everything should be a class; primitive types are defined for efficiency reasons; each primitive type has a corresponding wrapper class. Classes as user defined types. In some cases types are changed by automatic coercion or casting – e.g. mixed type expressions. However, casting in general is not a good idea and should be avoided, if possible. 

Ideally, everything should be a class; primitive types are defined for efficiency reasons; each primitive type has a corresponding wrapper class. Classes as user defined types. In some cases types are changed by automatic coercion or casting – e.g. mixed type expressions. However, casting in general is not a good idea and should be avoided, if possible.

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. Variables denote values; variables are already defined as attributes in classes; variables have types that constrain the values it can denote. Difference between variables denoting primitive values and object values – variables denoting objects are references to those objects. The assignment operator = is special. The variable on the LHS of = denotes the memory location while the same variable on the RHS denotes the contents of the location e.g. i=i+2. 

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. Describe the semantics of the conditional and looping statements in detail. Evaluation of the condition in conditional statements. Nesting of blocks. Variables with block scope, method scope, class scope. Visibility rules when variables with the same name are defined in different scopes.

9. Methods and Constructors

Methods and Constructors (as abstractions for complex user defined operations on objects), methods as mechanisms for side effects; formal arguments and actual arguments in methods; different behaviour of primitive and object arguments. Static methods and variables. The this operator. Examples of algorithmic problem solving using methods (number problems, finding roots of algebraic equations etc.). Methods are like complex operations where the object is implicitly the first argument. Operator this denotes the current object. Methods typically return values. Illustrate the difference between primitive values and object values as arguments (changes made inside methods persist after the call for object values). Static definitions as class variables and class methods visible and shared by all instances. Need for static methods and variables. Introduce the main method – needed to begin execution. Constructor as a special kind of method; the new operator; multiple constructors 10. Computing and Ethics 

Ethical Issues in Computing.

Intellectual property rights; protection of individual’s right to privacy; data protection on the internet; protection against Spam; software piracy, cybercrime, hacking, protection against malicious intent and malicious code. The stress should be on good etiquette and ethical practices.with different argument structures; constructor returns a reference to the object.

10. Arrays, Strings 

Structured data types – arrays (single and multidimensional), strings. Example algorithms that use structured data types (searching, finding maximum/minimum, sorting techniques, solving systems of linear equations, substring, concatenation, length, access to char in string, etc.). Storing many data elements of the same type requires structured data types – like arrays. Access in arrays is constant time and does not depend on the number of elements. Sorting techniques (bubble, selection, insertion), Structured data types can be defined by classes – String. Introduce the Java library String class and the basic operations on strings (accessing individual characters, various substring operations, concatenation, replacement, index of operations).

SECTION C

11. Basic input/output Data File Handling (Binary and Text) 

  1. Basic input/output using Scanner and Printer classes. Input/output exceptions. Tokens in an input stream, concept of whitespace, extracting tokens from an input stream (String Tokenizer class). The Scanner class can be used for input of various types of data (e.g. int, float, char etc.) from the standard input stream. Similarly, the Printer class handles output. Only basic input and output using these classes should be covered. Discuss the concept of a token (a delimited continuous stream of characters that is meaningful in the application program – e.g. words in a sentence where the delimiter is the blank character). This naturally leads to the idea of delimiters and in particular whitespace and user defined characters as delimiters. As an example show how the StringTokenizer class allows one to extract a sequence of tokens from a string with user defined delimiters.
  2.  Data File Handling Need for Data file, Input Stream, Output Stream, Byte Stream (FileInputStream and FileOutputStream), Character Stream (FileReader, FileWriter), Operations- Creation, Reading, Writing, Appending, and Searching.

12. Recursion 

Concept of recursion, simple recursive methods (e.g. factorial, GCD, binary search, conversion of representations of numbers between different bases). Many problems can be solved very elegantly by observing that the solution can be composed of solutions to ‘smaller’ versions of the same problem with the base version having a known simple solution. Recursion can be initially motivated by using recursive equations to define certain methods. These definitions are fairly obvious and are easy to understand. The definitions can be directly converted to a program. Emphasize that any recursion must have a base case. Otherwise, the computation can go into an infinite loop.

13. 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 and make the student do algorithm design, address correctness issues, implement and execute the algorithm in Java and debug where necessary.

14. Packages 

Definition, creation of packages, importing user defined packages, interaction of objects across packages. Java Application Programming Interface (API), development of applications using user defined packages.

15. Trends in computing and ethical issues

  1. Artificial Intelligence, Internet of Things, Virtual Reality and Augmented Reality. Brief understanding of the above and their impact on Society.
  2. Cyber Security, privacy, netiquette, spam, phishing.
  3. Intellectual property, Software copyright and patents and Free Software Foundation. Intellectual property and corresponding laws and rights, software as intellectual property. Software copyright and patents and the difference between the two; trademarks; software licensing and piracy. free Software Foundation and its position on software, Open Source Software, various types of licensing (e.g. GPL, BSD). Social impact and ethical issues should be discussed and debated in class. The important thing is for students to realise that these are complex issues and there are multiple points of view on many of them and there is no single ‘correct’ or ‘right’ view.

PAPER II: PRACTICAL – 30 MARKS

This paper of three hours duration will be evaluated internally by the school. The paper shall consist of three programming problems from which a candidate has to attempt any one. The practical consists of the two parts:

(1) Planning Session

(2) Examination Session

The total time to be spent on the Planning session and the Examination session is three hours. A maximum of 90 minutes is permitted for the Planning session and 90 minutes for the Examination session. Candidates are to be permitted to proceed to the Examination Session only after the 90 minutes of the Planning Session are over.

Planning Session

The candidates will be required to prepare an algorithm and a hand-written Java program to solve the problem.

Examination Session

The program handed in at the end of the Planning session shall be returned to the candidates. The candidates will be required to key-in and execute the Java program on seen and unseen inputs individually on the Computer and show execution to the examiner. A printout of the program listing, including output results should be attached to the answer script containing the algorithm and handwritten program. This should be returned to the examiner. The program should be sufficiently documented so that the algorithm, representation and development process is clear from reading the program. Large differences between the planned program and the printout will result in loss of marks. Teachers should maintain a record of all the assignments done as part of the practical work throughout the year and give it due credit at the time of cumulative evaluation at the end of the year. Students are expected to do a minimum of twenty assignments for the year and ONE project based on the syllabus.

LIST OF SUGGESTED PROJECTS:

PRESENTATION / MODEL BASED/ APPLICATION BASED

  1. Creating an expert system for road-traffic management (routing and re-routing of vehicles depending on congestion)
  2. Creating an expert system for medical diagnosis on the basis of symptoms and prescribe a suitable treatment.
  3. Creating a security system for age-appropriate access to social media.
  4. Simulate Adders using Arduino Controllers and Components.
  5. Simulate a converter of Binary to Decimal number systems using Arduino Controllers and Components.
  6. Develop a console-based application using Java for Movie Ticket Reservation.
  7. Develop a console-based application using Java to encrypt and decrypt a message (using cipher text, Unicode-exchange, etc).
  8. Develop a console-based application using Java to find name of the bank and branch location from IFSC.
  9. Develop a console-based application using Java to calculate taxable income (only direct tax).
  10.  Develop a console-based application using Java to develop a simple text editor (text typing, copy, cut, paste, delete).

Evaluation

Marks (out of a total of 30) should be distributed as given below:

Continuous Evaluation

Candidates will be required to submit a work file containing the practical work related to programming assignments done during the year and ONE project.

ISC Class 11 Computer Science Syllabus 2023-24

(for reference purposes only)

Share page on