14. COMPUTER SCIENCE (Code No.
083)
Note: Schools may choose from option 1 (Python) or option 2 (C++) and teach accordingly.
Learning Objectives:
To understand basics of computers.
To develop logic for Problem Solving.
To develop problem solving skills and their implementation through Python (version: 2.7) or using C++.
To understand and implement the concept of Object Oriented Methodology.
To understand the concept of working with Relational Database.
To understand the basic concept of Computing Logic.
To understand the basic concepts of Communication and Networking technologies.
To understand Open Source Software.
CLASS XI (Theory) - Python
Unit
No.
Unit Name
Marks
Computer Fundamentals
10
Programming Methodology
12
Introduction To Python
18
Programming with Python
30
Total
70
Unit 1: Computer Fundamentals
(18 Theory + 6 Practical) Periods
Classification of computers: Basics of computer and its operation; Functional Components and
their interconnections, concept of Booting.
Software concepts: Types of Software System Software, Utility Software and Application
Software
System Software: Operating System, Compiler, Interpreter and Assembler;
Operating System: Need for Operating System, Functions of Operating System
Management, Memory Management, File Management and Device Management),
Operating System-Interactive (GUI based), Time Sharing, Real Time and Distributed,
used Operating System: UNIX, LINUX, Windows, Solaris, BOSS (Bharat Operating System
Mobile OS Android, Symbian.
(Processor
Types of
Commonly
Solutions);
Utility Software: Anti Virus, File Management tools, Compression tools and Disk Management tools
(Disk Cleanup, Disk Defragmenter, Backup).
Open Source Concepts: Open Source Software, Freeware, Shareware, and Proprietary Software.
198
Application Software: Office Tools Word Processor, Presentation Tool, Spreadsheet Package,
Database Management System; Domain Specific tools School Management System, Inventory
Management System, Payroll System, Financial Accounting, Hotel Management, Reservation
System and Weather Forecasting System.
Number System: Binary, Octal, Decimal, Hexadecimal and conversion between different number
systems.
Internal Storage encoding of Characters: ASCII, ISCII (Indian Scripts Standard Code for
Information Interchange), and UNICODE (for multilingual computing)
Microprocessor: Basic concepts, Clock speed (MHz, GHz), 16 bit, 32 bit, 64 bit, 128 bit
processors; Types CISC Processors (Complex Instruction Set Computing), RISC Processors
(Reduced Instruction Set Computing), and EPIC (Explicitly Parallel Instruction Computing).
Memory Concepts: Units: Byte, Kilo Byte, Mega Byte, Giga Byte, Tera Byte, Peta Byte, Exa Byte,
Zetta Byte, Yotta Byte.
Primary Memory: Cache, RAM, ROM
Secondary Memory: Fixed and Removable storage Hard Disk Drive, CD/DVD Drive, Pen Drive,
Blue Ray Disk.
Input Output Ports/ Connections: Serial, Parallel and Universal Serial Bus, PS-2 port, Infrared
port, Bluetooth, Firewire.
Unit 2: Programming Methodology
(28 Theory + 10 Practical) Periods
General Concepts: Modular Approach, Clarity and Simplicity of Expressions, Use of proper names
for Identifiers, Comments, Indentation; Documentation and Program Maintenance; Running and
Debugging programs, Syntax Errors, Run-Time Errors, Logical Errors
Problem Solving Methodologies: Understanding of the problem, Solution for the problem,
Identifying minimum number of inputs required for output, Writing code to optimizing execution
time and memory storage, step by step solution for the problem, breaking down solution into
simple steps (modular approach), Identification of arithmetic and logical operations required for
solution; Control Structure- Conditional control and looping (finite and infinite).
Problem Solving: Introduction to Algorithms/Flowcharts.
Unit 3: Introduction to Python
(44 Theory + 36 Practical) Periods
Getting Started: Introduction to Python - an integrated high level language, interactive mode and
script mode. Data types Number (Integer boolean, decimal, octal, hexadecimal; Floating point;
Complex), none, Sequence (String,Tuples, List ) Sets, Mapping.
Mutable and Immutable Variables
Variables, Expressions and Statements: Values, Variables and Keywords; Operators and Operands
in Python: (Arithmetic, Relational and Logical operators), Operator precedence, Expressions and
Statements (Assignment statement); Taking input (using raw_input() and input() and displaying
output(print statement); (single and multiple line) prints with escape sequence and various
formats; Putting Comments.
199
Functions: Importing Modules (entire module or selected objects), invoking built in functions,
functions from math module (for e.g. ceil, floor, fabs, exp, log, log10, pow, sqrt, cos, sin, tan,
degrees, radians, factorial,trunc,fmod),functions from random module (uniform, random, randint
choice shuffle). Function from datetime module (date, time, datetime, timedate), functions from
remodule (compile, match, group, start, end, span, search, findall, finditer), compostion.
Defining functions, invoking functions, arguments and parameters, scope (local and global),
passing parameters (default parameter values, keyword arguments), scope of variables, void
functions and functions returning values, flow of execution,recursion.
Conditional and looping construct: if else statement while, for (range function), break, continue,
else, pass, nested if, nested loops ,use of compound expression in conditional and looping
construct.
Unit 4: Programming with Python
(50 Theory + 48 Practical) Periods
Strings:Creating, initializing and accessing the elements; String operators: +, *, in, not in, slice
[n:m]; Comparing strings using relational operators; String functions & methods: len( ), capitalize
( ), find( ), isalnum( ), isalpha( ), isdigit( ), lower( ), islower( ), isupper( ), upper( ), lstrip( ),
rstrip( ), isspace( ), istitle( ), partition( ), replace ( ), join( ), spilt( ), count( ), decode( ), encode
( ), swapcase( ), String( ), constants, Regular Expressions and Pattern Matching.
Lists: Concept of mutable lists, creating, initializing and accessing the elements, traversing,
appending, updating and deleting elements, composition, lists as arguments .
List operations: Joining, slicing, +,*, in, not in.
List functions and methods: len( ), insert( ), append( ), extend( ), sort( ), remove( ), reverse( ),
pop( ), list( ), count( ), extend( ), index( ), cmp( ), max( ), min( ).
Dictionaries: Concept of key-value pair, creating, initializing and accessing the elements in a
dictionary, traversing, appending, updating and deleting elements.
Dicitionary functions and methods: cmp ( ), len( ), clear( ), get( ), has_key( ), items( ),
key( ), update( ), values( ), pop( ), fromkeys( ), dict( ).
Tuples: Immutable concept, creating1, initializing and accessing elements in a tuple, Tuple
assignment, Tuple slices, Tuple indexing.
Tuple Functions: cmp( ), len( ), max( ), min( ), tuple( ), index( ), count( ), sum( ), any( ),
all( ), sorted( ), reversed( ).
Class XI (Practical)
Python
Duration: 3 hours
Total Marks: 30
1. Programming in Python
12
One programming problem in Python to be developed and tested on Computer during the examination.
Marks are allotted on the basis of following:
Logic
7 Marks
Documentation
2 Marks
200
Output presentation
3 Marks
2. One logical problem to be solved through flow charts.
04
3. Project Work
08
Problems using String or List manipulation: General Guidelines: Initial Requirement, developing an
interface for user (it is advised to use text based interface screen), developing logic for playing the
game and developing logic for scoring points
Hollywood/Hangman: A word Guessing game
Cows 'N Bulls: A word/number Guessing game
Random Number Guessing Game (High\Low)
A game to check whether a word does not use any of the forbidden letters
or
Similar projects may be undertaken in other domains.(As mentioned in general guidelines for project,
given at the end of the curriculum in a group of 2-4 students)
4. Practical File
3+1*
(a) Record of the configuration of computer system used by the student in the computer lab (by
exploring inside computer system in the first 2 lab classes).
(b) Must have minimum 20 programs from the topics covered in class XI course.
Programs on Control structures
Programs on String manipulations
Programs on List Manipulations
Program in tuple & dictionary manipulation.
*1 mark is for innovating while developing programmes.
5. Viva Voce
02
Viva will be asked from the syllabus covered in class XI and the project developed by the student(s).
OR
Class XI (Theory) C++
Duration: 3 hours
Unit No.
Total Marks: 70
Unit Name
Marks
1.
COMPUTER FUNDAMENTALS
10
2.
PROGRAMMING METHODOLOGY
12
3.
INTRODUCTION TO C++
14
4.
PROGRAMMING IN C++
34
Total
70
Unit-1: Computer Fundamentals
Common to both the options. Refer to Unit 1 mentioned in case of Python for further details.
201
Unit-2: Programming Methodology
Common to both the options Refer to Unit 2 mentioned in case of Python for further details.
Unit-3: Introduction to C++
(44 Theory + 36 Practical) Periods
Getting Started: C++ character set, C++ Tokens (Identifiers, Keywords, Constants, Operators,),
Structure of a C++ Program (include files, main function), Header files iostream.h, iomanip.h,
cout, cin; use of I/O operators (<<and>>), Use of endl and setw ( ), Cascading of I/O operators,
compilation , Error Messages; Use of editor, basic commands of editor, compilation, linking and
execution.
Data Types, Variables and Constants: Concept of Data types; Built-in Data types: char, int , float
and double; Constants: Integer Constants, Character constants (- \n, \t, \b), Floating Point
Constants, String Constants; Access modifier: const; Variables of built-in-data types,
Declaration/Initialization of variables, Assignment statement, Type modifier: signed, unsigned,
long
Operator and Expressions: Operators: Arithmetic operators (-,+,*,/,%), Assignment operator (=),
c++ shorthands (+=, -=,*=,/=,%=) Unary operators (-), Increment (++) and Decrement (--)
Operators, Relation operator (>,>=,<=,=,!=), Logical operators (!,&&,||), Conditional operator:
<condition>?<if false>; Precedence of Operators; Automatic type conversion in expressions, Type
casting;
UNIT 4: PROGRAMMING IN C++
(50 Theory + 48 Practical) Periods
Flow of control
Conditional statements: if else, Nested if, switch..case..default, use of conditional operator,
Nested switch..case, break statement (to be used in switch..case only); Loops: while, do
while, for and Nested loops
Inbuilt Functions
Header file Categorization
Header File
Function
Standard input/output functions
stdio.h
gets ( ), puts ( )
Character Functions
ctype.h
isalnum ( ), isalpha ( ),
isdigit ( ), islower ( ),
isupper ( ), tolower ( ),
toupper ( )
strcpy ( ), strcat ( ),
strlen ( ), strcmp ( ),
String Function
string.h
strcmpi ( ), strev ( ),
strupur ( ), strlwr ( )
Mathematical Functions
math.h
fabs ( ), pow ( ), sqrt ( ), sin ( ),
cos ( ), abs ( )
Other Functions
stdlib.h
randomize ( ), random ( )
202
Introduction to user-defined function and its requirements.
Defining a function; function prototype, Invoking/calling a function, passing arguments to
function, specifying argument data types, default argument, constant argument, call by value,
call by reference, returning values from a function, calling functions with arrays, scope rules of
functions and variables local and global variables.
Relating to Parameters and return type concepts in built-in functions.
Structured Data Type
Arrays: Introduction to Array and its advantages.
One Dimensional Array: Declaration/initialization of One-dimensional array, Inputting array
elements, accessing array elements, manipulation of array elements (sum of elements, product of
elements, average of elements, linear search, finding maximum/minimum value)
Declaration / Initialization of a String, string manipulations (counting vowels/ consonants/ digits/
special characters, case conversion, reversing a string, reversing each word of a string)
Two-dimensional Array: Declaration/initialization of a two-dimensional array, inputting array
elements, accessing array elements, manipulation of Array elements (sum of row element, column
elements, diagonal elements, finding maximum / minimum values)
User-defined Data Types: Introduction to user defined data types.
Structure: Defining a Structure (Keyword Structure), declaring structure variables, accessing
structure elements, passing structure to functions as value and reference, argument/parameter,
function returning structure, array of structure, passing an array of structure as an argument/ a
parameter to a function.
Defining a symbol name using typedef keyword and defining a macro using #define preprocessor
directive.
Class XI (Practical) C++
Duration: 3 hours
Total Marks: 30
1. Programming in C++
12
One programming problem in C++ to be developed and tested on Computer during the examination.
Marks are allotted on the basis of following:
Logic
7 Marks
Documentation
2 Marks
Output presentation
3 Marks
2. One logical problem to be solved through flow charts.
04
3. Project Work
08
Problems using String, Number, array and structure manipulation
General Guidelines: Initial Requirement, developing an interface for user (it is advised to use text based
interface screen), developing logic for playing the game and developing logic for scoring points
203
Memory game: A number guessing game with application of 2 dimensional arrays containing
randomly generated numbers in pairs hidden inside boxes.
Hollywood/Hangman: A word Guessing game
Cows 'N Bulls: A word/number Guessing game
Random Number Guessing Game (High\Low)
A game to check whether a word does not use any of the forbidden letters
CrossN knots game: A regular tic-tac toe game.
or
Similar projects may be undertaken in other domains. (As mentioned in general guidelines for
project, given at the end of the curriculum in a group of 2-4 students)
4. Practical File
3+1*
(a) Record of the configuration of computer system used by the student in the computer lab (by
exploring inside computer system in the first 2 lab classes).
(b) Must have minimum 20 programs from the topics covered in class XI course.
Programs on Control structures
Programs on String manipulations
Programs on array manipulations(1D & 2D)
Programs on structures.
*1 mark is for innovating while developing programmes.
6. Viva Voce
02
Viva will be asked from the syllabus covered in class XI and the project developed by the student(s).
*1 mark is for innovating while developing programme.
204