Pe Leon
Textbook for CBSE Class XIl
efeyanl oleit=i¢
Science
— With ——
Pythen |
As per Latest Syllabus
i) 51 -tH aNe lita
AU oeE
Textbook for 4 =t)3 oD 4)
Computer
Science
er a dc eee
MY Bn gr ae) tee
PREETI ARORA
Itan chandPREFACE
Programming is very important for learning to innovate and create eco-friendly
solutions to global problems. Programming is also important in our day-to-day life to.
enhance the power of computers and internet, An important step towards learning
innovative programming solutions is through Python programming which this book
has at its core.
Python is a popular object-oriented language used both for stand-alone programa and.
scripting applications in a variety of domains. This book presents a contemporary
approach to programming with stress on principles of good programming, such as
clarity, legibility and efficiency in program design. Thus, an interactive programming
style has been emphasized/expressed throughout the book.
The thoroughly revised Computer Science with Python for Class XII provides
an in-depth understanding of the latest Computer Science (083) curriculum and
strictly adheres to the guidelines laid down by the CBSE. The book deals with
advanced concepts of Python Programming Language, Functions in Python, Exception
Handling, Data File Handling, Data Structure, Computer Networks, Relational
Database Management System (SQL) and Python-\ ySQL Connectivity. However,
an overview of Python Libraries has been included in the Appendices, which may be
ferred for project work.
The text of the book has been pre: ed in a student-friendly and easy-to-comprehend
r provides t ted, debugged and error-free codes with screenshots.
nd examples, practical implementations, problem-solving and
students will learn how to design the logie of programs and
implement those programs using Python.
Based on the CBSE curriculum, the book has been divided into three units:
Unit I; Computational Thinking and Programming-2 - Chapters 1-5
This unit contains five chapters covering a review of Python studied in Class XI,
concept of functions and modules in Python, Exception Handling using try-except-
finally blocks, Text, Binary file-handling operations involving read, write and append
operations and CSV file-handling operations involving reading from a CSV file and
writing into a CSV file, Standard input-output and error streams and relative and
absolute paths for a file, Besides, implementing Python Data Structures, viz. Stacks
using Lists, has also been thoroughly discussed.
Unit 1: Computer Networks ~ Chapter 6
‘This unit covers the concepts of Computer Networking, Evolution of Networking,
Data Communication terminologies, Transmission Media, Network Devices such as
Hub, Switch, Repeater, Gateway, Router, Wi-Fi Card, Ethernet Card, ete, Network
Topologies and Protocols, Introduction to Web Services such as WWW, Website, —
Web Server, Web Hosting, DNS, ete., and Setting up a Computer Network. au
Unit Il; Database Management ~- Chapters 7 and 8
‘This unit covers Database Concepts, Relational Database Model,
and Aggregate Functions such as SUMO, AVGO, COUNTO,ee
Syllabus
COMPUTER SCIENCE ;
CLASS XII Code No. 083
a
Unit 1
Unit 2:
DATABASE MANAGEMENT
[Total
COMPUTATIONAL THINKING AND PROGRAMMING ~ 2
© Revision of Python topics covered in Class XI
© Functions: Types of function (built-in functions, functions defined in module, user-defined
functions), creating user-defined function, arguments and parameters, default parameters,
positional parameters, function returning value(s), flow of execution, scope of a variable
{global scope, local scope)
* Exception Handling: Introduction, handling exceptions using try-except-finally blocks
« Introduction to files, types of files (Text file, Binary file, CSV file), relative and absolute paths
> Text file: Opening 2 text file, text file open modes (r, r+, w, w+, a, ae), closing 2 text file,
opening a file using with clause, writing/appending data to a text file using write() and
writelines(), reading from a text file using read(), readline() and readiines(), seek and tell
methods, manipulation of data in a text file
> Binary file. Basic operations on a binary file: Open using file open modes (rb, rot, wb,
whe, ab, abs), close a binary file, import pickle module, dump() and load() method, read,
write/create, search, append and update operations in a binary file
+ CSV file: Import csv module, open/close csv file, write into a csv file using writer(),
writerow(), writerows() and read from a csv file using reader{)
© Data Structure: Stack, operations on stack (push & pop), implementation of stack using fist
(COMPUTER NETWORKS
‘© Evolution of Networking: Introduction to computer networks, evolution of networking
(ARPANET, NSENET, INTERNET)
© Data Communication terminologies: Concept of communication, components of data
communication (sender, receiver, message, communication media, protocols}, measuring
capacity of communication media (bandwidth, data transfer rate), IP address, switching
techniques (Gircuit switching, Packet switching)
‘© Transmission Media: Wired communication media (Twisted pair cable, Co-axial cable,
Fibre-optic cable}, Wireless media (Radio waves, Micro waves, infrared waves)
* Network Devices (Modem, Ethernet card, RIMS, Repeater, Hub, Switch,
| Network Protocol: HTTP, FTP, PPP,
Introduction | 'Unit) DATABASE MANAGEMENT
Database Concepts: Introduction to database concepts and their need
‘+ Relational Dota Model: Relation, attribute, tuple, domain, degree,
key, primary key, alternate key, foreign key)
# Structured Query Language: Introduction, Data Definition Language
Language, data type (char(n), varchar(n), int, float, date), constraints (nat
key}, create database, use database, show databases, drop database, sh
table, describe table, alter table (add and remove an attribute, add and,
drop table, insert, delete, select, operators (mathematical, relational and
distinct clause, where clause, in, between, order by, meaning of null, is
update command, delete command, aggregate functions (max, min,
group by, having clause, joins: cartesian product on two tables, equi-join and
‘= Interface of Python with an SQL database: Connecting SQL with Python,
update, delete queries using cursor, display data by using connect{),
commit(), fetchone(), fetchal(), rowcount, creating database connectivity
‘%s format specifier or format() to perform queries
& PRACTICAL
(irae)
| Lab Test
J+ Python program (60% logic + 20% documentation + 20% code quality)
© SQL queries (4 queries based on one or two tables)
Report File
Minimum 15 Python programs
® SQL Queries - Minimum 5 sets using one table/two tables
j
5S: SUGGESTED PRACTICAL LIST
Python Programming
‘© Read a text file line by line and display each word separated by a #.
# Read a text file and display the number of vowels/consonants/uppe'
in the file
'# Remove all the lines that contain the character ‘a’ in a file and write it to.
'* Create a binary file with name and roll number. Search for a given
a roll
‘ame, if not found display appropriate message.
. ‘reate-a binary file with roll number, name and marks, input a roll
: * Write a random number generator that generates
G (simulates a dice) randog
So ins Pins irritant
+ Gheate 8 CV Me by entering userid and p wail|
|
® ORDER BY to display data in ascending/descending order
® DELETE to remave tuple(s)
® GROUP BY and find the min, max, sum, count and average
* Similar exercise may be framed for other cases
'* Integrate SQL with Python by importing suitable module.
: PROJECT
The aim of the class project is to create something that is tangible and useful using Python file
handling/Python-SQL connectivity. This should be done in groups of two to three students and
should be started by students at least 6 months before the submission deadline, The aim here is
to find a real-world problem that is worthwhile to solve,
‘Students are encouraged to visit local businesses and ask them about the problems that they are
facing. For example, if a business is finding it hard to create invoices for filing GST claims, then
students can do a project that takes the raw data (list of transactions), groups the transactions
by category, accounts for the GST tax rates, and creates invoices in the appropriate format.
‘Students can be extremely creative here. They can use a wide variety of Python libraries to create
user-friendly applications such as games, software for their school, software for disabled fellow
students and mobile applications. Of course, todo some of these projects, some additional learning
is required and this should be encouraged. Students should know how to teach themselves,
‘The students should be sensitized to avoid plagiarism and violation of copyright issues while
working on projects. Teachers should take necessary measures for this.L i Reade ie edaih we helt oelngt
fv rap om econ
&
$10.1 Reading and virting Lata bromn/ete Beary Fie
6.25 Random hese in Files wing Wel) ad weet!)
612 nreduction to CW
01: Why we CON
414 COV File Handing in Python
4145 Ranting from 2 OW Fle
42 Wolamg 0 2 CH Fle7. Relational Database and SQL Sa
6.13.10 Web Server
6.13.11 Web Hosting
6.14 Setting up a Computer Network—An Example
7.1 Introduction
7.2. Database Management System (DBMS) roe
7.2.1 Need for DBMS ieee
7.22 Components of a Database System ?
7.2.3. Advantages of DBMS ae
7.3. DBMS Models oe
7.3.1. Types of Data Models ae
7.3.2. Relational Data Model oie
7.4 Relational Database