COMPUTER SCIENCE
Class XII (Theory) - C++
                                             (Session 2018-19)
        Duration: 3 hours                                                               Total Marks: 70
        Unit No.                                    Unit Name                                       Marks
           1.      OBJECT OIENTED PROGRAMMIMG IN C++                                                 30
           2.      DATA STRUCTURE                                                                    14
           3.      DATABASE MANAGEMENT SYSTEM AND SQL                                                 8
           4.      BOOLEAN ALGEBRA                                                                    8
           5.      COMMUNICATION TECHNOLOGIES                                                        10
                   Total                                                                             70
Unit 1: Object Oriented Programming in C++                    (50 Theory + 40 Practical) Periods
        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 programming methodologies,
       Implementation of Object Oriented Programming concepts in C++: Definition of a class, Member
       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 (::); 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 Inheritances, Base Class, 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, 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 (), read (), put (), write(), getline() and close() functions; Detecting end-of-file (with or
       without using eof() function), tellg(), tellp(), seekg(), seekp();
          Pointers:
          Introduction to Pointer, Declaration and Initialization of Pointer; Dynamic memory allocation/de-
          allocation 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 structure: De-reference/Deference operator: *, ->; self referential
          structure;
Unit 2:   Data Structures                                               (42 Theory + 36 Practical) Periods
          Introduction to data structure- array, stack queues 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 calculation;
          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, Bubble)
          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):
          Introduction to stack (LIFO: Last in First out Operations)
          Operations on stack (PUSH and POP) and its Implementation in C++, Converting expressions from
          INFIX to POSTFIX notation and evaluation of Postfix expression;
          Queue: (Array and Linked Implementation)
          Introduction to Queue (FIFO: First in First out operations)
          Operations on Queue (Insert and Delete and its Implementation in C++, circular queue using array.
Unit 3:   Database Management System and SQL                            (20 Theory + 20 Practical) Periods
          Data base 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, ORDER BY;
          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                                               (16 Theory + 0 Practical) Periods
          Role of Logical Operations in Computing.
          Binary-valued Quantities, Boolean Variable, Boolean Constant and Boolean Operators: AND, OR,
          NOT; Truth Tables; Closure Property, Commutative Law, Associative Law, Identity law, Inverse
          Law, Principle of Duality, Idempotent Law, Distributive Law, Absorption Law, Involution Law,
          DeMorgan’s Law and their applications;
          Obtaining Sum of Product (SOP) and Product of Sum (POS) form 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 Boolean Logic: Digital electronic circuit design using basic Logic Gates (NOT, AND,
          OR, NAND, NOR)
          Use of Boolean operators (NOT, AND, OR) in SQL SELECT statements
          Use of Boolean operators (AND, OR) in search engine queries.
Unit 5:   Communication Technologies                                    (16 Theory + 3 Practical) Periods
          Evolution of Networking: ARPANET, Internet, Interspace Different ways of sending data across
          the network with reference to switching techniques (Circuit and Packet switching).
          Data Communication terminologies: Concept of Channel, 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, Router, Switch, Gateway, wifi card.
          Network Topologies and types: Bus, Star, Tree, PAN, LAN, WAN, MAN.
          Network Protocol: TCP/IP, File Transfer Protocol (FTP), PPP, SMTP, POP3 Remote Login (Talent),
          and Internet Wireless/Mobile Communication protocol such as GSM, CDMA, GPRS, and WLL.
          Mobile Telecommunication Technologies: 1G, 2G, 3G and 4G; Mobile processors;
          Electronic mail protocols such as SMTP, POP3
          Protocols for Chat and Video Conferencing VOIP
          Wireless technologies such as Wi-Fi and WiMax
          Network Security Concepts:
          Threats and prevention from Viruses, Worms, Trojan horse, Spams
          Use of Cookies, Protection using Firewall, https;
          India IT Act, Cyber Law, Cyber Crimes, IPR issues, hacking.
          Introduction To Web services: WWW, Hyper Text Markup Language (HTML), Extensible Markup
          Language (XML); Hyper Text Transfer Protocol (HTTP); Domain Names; URL; 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)
          E-commerce payment transactions using online banking, mobile banking and payment apps and
          services.