Central Board of Secondary Education
CBSE Class XII - Computer Science Syllabus
UNIT 1: OBJECT ORIENTED PROGRAMMING IN C++
REVIEW: C++ covered In Class -XI, Object Oriented Programming:
Concept of Object Oriented Programming - Data hiding, Data encapsulation,
Class and Object, Abstract class and Concrete class, Polymorphism
(Implementation of polymorphism using Function overloading as an example in
C++); Inheritance, Advantages of Object Oriented Programming over earlier
Implementation of Object Oriented Programming concepts in C++:
Definition of a class, Members of a class - Data Members and Member
Functions (methods), Using Private and Public visibility modes, default
visibility mode (private); Member function definition: inside class definition
and outside class definition using scope resolution operator (::); Declaration
of objects as instances of a class; accessing members from object(s), Objects as
function arguments - pass by value and pass by reference;
Constructor and Destructor:
Constructor: Special Characteristics, Declaration and Definition of a
constructor, Default Constructor, Overloaded Constructors, Copy Constructor,
Constructor with default arguments; Destructor: Special Characteristics,
Declaration and definition of destructor;
Inheritance (Extending Classes):
Concept of Inheritance, Base Class, Derived Class, Defining derived classes,
protected visibility mode; Single level inheritance, Multilevel inheritance and
Multiple inheritance, Privately derived, Publicly derived and Protectedly
derived class, accessibility of members from objects and within derived class(es);
Data File Handling:
Need for a data file, Types of data files - Text file and Binary file;
Text File : Basic file operations on text file: Creating/Writing text into file,
Reading and Manipulation of text from an already existing text File (accessing
sequentially); Binary File: Creation of file, Writing data into file,
Searching for required data from file, Appending data to a file, Insertion of
data in sorted file, Deletion of data from file, Modification of data in a file;
Implementation of above mentioned data file handling in C++;
Components of C++ to be used with file handling: Header file:
fstream.h; ifstream, ofstream, fstream classes; Opening a text file in in, out,
and app modes;
Using cascading operators (>> <<)for writing text to the file and reading text
from the file; open(),
get(), put(), getline() and close() functions; Detecting end-of-file (with or
without using eof() function);
Opening a binary file using in, out, and app modes;
open(), read(), write() and close() functions; Detecting end-of-file (with or
without using eof()
function); tellg(), tellp(), seekg(), seekp() functions.
Pointers: Introduction to Printer, Declaration and Initialization of
Pointers; Dynamic memory allocation/ deallocation operators: new, delete;
Pointers and Arrays: Array of Pointers, Pointer to an array (1 dimensional
array) Function returning a pointer, Reference variables and use of alias;
Function call by reference. Pointer to structures: Deference operator: *, ->;
self referencial structures;
UNIT 2: DATA STRUCTURES
Introduction to data structure, primitive and non-primitive data structure,
linear and non-linear structure, static and dynamic data structure.
Arrays: One and two Dimensional arrays: Sequential allocation and address
One dimensional array: Traversal, Searching (Linear, Binary Search), Insertion
of an element in an array, deletion of an element from an array, Sorting
(Insertion, Selection, Two-dimensional arrays: Traversal, Finding sum/difference
of two NxM arrays containing numeric values, Interchanging Row and Column
elements in a two dimensional array;
Stack (Array and Linked implementation of Stack):
Operations on Stack (PUSH and POP) and its Implementation in C++, Converting
expressions from INFIX to POSTFIX notation and evaluation of Postfix expression;
Queue: (Circular Array and Linked Implementation): Introduction to Queue
(FIFO - First in First out operations) Operations on Queue (Insert and Delete)
and its Implementation in C++.
UNIT 3: DATABASES AND SQL
Database Concepts: Introduction to data base concepts and its need.
Relational data model: Concept of domain, tuple, relation, key, primary key,
alternate key, candidate key;
Relational algebra: Selection, Projection, Union and Cartesian product;
Structured Query Language: General Concepts: Advantages of using SQL,
Data Definition Language and Data Manipulation Language;
Data types: NUMBER/DECIMAL, CHARACTER/VARCHAR/VARCHAR2, DATE;
SQL commands: CREATE TABLE, DROP TABLE, ALTER TABLE, UPDATE...SET...,
INSERT, DELETE; SELECT, DISTINCT, FROM, WHERE, IN, BETWEEN, GROUP BY, HAVING,
SQL functions: SUM, AVG, COUNT, MAX and MIN; Obtaining results (SELECT
query) from 2 tables using equi-join, Cartesian Product and Union
Note: Implementation of the above mentioned commands could be done on any
SQL supported software on one or two tables.
UNIT 4: BOOLEAN ALGEBRA
Role of Logical Operations in Computing.
Binary-valued Quantities, Logical Variable, Logical Constant and Logical
Operators: AND, OR, NOT;
Truth Tables; Closure Property, Commutative Law, Associative Law, Identity law,
Inverse law, Principle of Duality, Idem potent Law, Distributive Law, Absorption
Law, Involution law, DeMorgan's Law and their applications;
Obtaining Sum of Product (SOP) and Product of Sum (POS) form from the Truth
Table, Reducing Boolean Expression (SOP and POS) to its minimal form, Use of
Karnaugh Map for minimization of Boolean expressions (up to 4 variables);
Application of Computing Logic:
Building up logic circuits using basic Logic Gates (NOT, AND, OR, NAND, NOT)
Use of Boolean operators (NOT, AND, OR) in SQL SELECT statements
Use of Boolean operators (AND, OR) in search engine queries.
UNIT 5: COMMUNICATION AND OPEN SOURCE CONCEPTS COMMUNICATION TECHNOLOGIES
Evolution of Networking: ARPANET, Internet, Interspace Different ways of
sending data across the network with reference to switching techniques (Circuit,
Message and Packet switching)
Data Communication terminologies: Concept of Channel, Baud, Bandwidth
(Hz, KHz, MHz) and Data transfer rate (bps, kbps, Mbps, Gbps, Tbps)
Transmission media: Twisted pair cable, coaxial cable, optical fiber,
infrared, radio link, microwave link and satellite link
Network devices: Modem, RJ45 connector, Ethernet Card, Hub, Switch,
Network Topologies and types: Bus, Star, Tree; PAN, LAN, WAN, MAN
Network Protocol: TCP/IP, File Transfer Protocol (FTP), PPP, Remote Login
(Telnet), Internet Wireless/Mobile Communication protocol such as GSM, CDMA,
GPRS, WLL, 1G, 2G and 3G Electronic mail protocols such as SMTP, POP3 Protocols
for Chat and Video Conferencing VoIP protocols such as Wi-Fi and WiMax
Network Security Concepts: Threats and prevention from Viruses, Worms,
Cyber Law, Cyber Crimes, IPR issues, Hacking. WebServices: WWW, Hyper Text
Markup Language (HTML), eXtensible Markup Language (XML); Hyper Text Transfer
Protocol (HTTP); Domain Names; URL; Protocol Address; Website, Web browser, Web
Servers; Web Hosting, Web Scripting - Client side (VB Script, Java Script, PHP)
and Server side (ASP, JSP, PHP), Web 2.0 (for social networking) Open Standards
Introduction to open standards and its advantage in development of
inter-operable environment. Open Source Concepts Proprietory and Open Source
Software, Freeware, Shareware, FLOSS/FOSS, GNU,FSF, OSI, W3C
1. Programming in C++ 10 - One programming problem in C++ to be
developed and tested in Computer during the examination. Marks are allotted on
the basis of following:
Logic : 5 Marks
Documentation/Indentation : 2 Marks
Output presentation : 3 Marks
Notes: The types of problems to be given will be of application type
from the following topics.
- Arrays (One dimensional and two dimensional)
- Array of structure
- Stack using arrays and linked implementation
- Queue using arrays (circular) and linked implementation
- Binary File operations (Creation, Displaying, Searching and
- Text File operations (Creation, Displaying and modification)
2. SQL Commands 05 - Five Query questions based on a particular
Table/Reaction to be tested practically on Computer during the examination. The
command along with the result must be written in the answer sheet.
3. Project Work 05 - The project has to be developed in C++ language
with Object Oriented Technology and also should have use of Data files. (The
project is required to be developed in a group of 2-4 students)
- Presentation on the computer
- Project report (Listing, Sample, Outputs, Documentation
4. Practical File 05 - Must have minimum 20 programs from the
- Arrays (One dimensional and two dimensional, sorting, searching,
merging, deletion'& insertion of elements)
- Arrays of structures,
- Stacks using arrays and linked implementation
- Queues using arrays (linear and circular) and linked implementation
- File (Binary and Text) operations (Creation, Updation, Query)
- Any computational based problems
- 15 SQL commands along with the output based on any table/relation: 3
5. Viva Voce 05 - Viva will be asked from syllabus covered in class XII
and the project developed by student.
GUIDELINES FOR PROJECTS (Class XI and XII)
1.1 The academic course in Computer Science includes one Project in each year.
The Purpose behind this is to consolidate the concepts and practices imparted
during the course and to serve as a record of competence.
1.2 A group of 2-4 students as team may be allowed to work on one project.
2. Project content
2.1 Project for class XI can be selected from the topics mentioned in the
syllabus or domains on the similar lines
2.2 Project for class XII should ensure the coverage of following areas of
a. Problem Solving
b. Data Structure
c. Object Oriented Programming in C++
d. Data File Handling
Theme of the project can be
- Any subsystem of a System Software or Tool
- Any Scientific or a fairly complex algorithmic situation.
- School Management, Banking, Library information system, Hotel or
Hospital management system, Transport query system
- Tutor/Computer Aided Learning Systems
2.3 The aim of the project is to highlight the abilities of algorithmic
formulation, modular programming, optimized code preparation, systematic
documentation and other associated aspects of Software Development.
2.4 The assessment would be through the project demonstration and the Project
Report, which should portray Programming Style, Structured Design, Minimum
Coupling, High Cohesion, Good documentation of the code to ensure readability
and ease of maintenance.
Suggested Reference Books:
Computer Fundamentals and Boolean Algebra
1. Rajaraman, FUNDAMENTALS OF COMPUTERS 4th Edition, Prentice Hall of India.
2. Peter Norton, INTRODUCTION TO COMPUTER 4th Edition, Tata McGraw Hill
3. Thomas C. Bartee, DIGITAL COMPUTER FUNDAMENTALS, McGraw Hill International.
Problem Solving and Programming in C++
Note: Prior knowledge of C is not required in the learning of C++,
eventhough reference about C are made in some of the books.
1. Robert Lafore, OBJECT ORIENTED PROGRAMMING IN TURBO C++, Galgotia
Publications Pvt. Ltd.
2. David Parsons, OBJECT ORIENTED PROGRAMMING WITH C++, BPB Publications.
3. Bjarne Stroutrup, THE C++ PROGRAMMING LANGUGE, Adison Wesley.
1. M.A. Weiss, Data Structures and Algorithm Analysis in C++. the
Benjamin/Cummings Pub. Co., Inc.
2. Sartaj & Sahni, Fundamentals of Data Structure, Galgotia Book Source
Database Management System and SQL
1. C.J. Date, DATABASE PRIMER, Adison Wesley.
1. A.S. Tanenbaum, Computer Network 4th Edition, Prentice Hall of India P.
2. Williams Stalling, Data Communication and Networks 5th Edition, Prentice Hall
of India P. Ltd.
3. Hancock, Network Concept and Architectures, BPB Publications.