Page 5 - Computer Science Class 11 With Functions
P. 5
PREFACE
As we are in an age of digital transformations and technological innovations, you have made the right choice to study Computer
Science as part of the CBSE curriculum. This book will introduce you to the fascinating world of computers. It comprises two
volumes, one for the students in class XI and the other for the students in class XII.
In class XI, we will begin by learning what makes the computer so impactful that it affects all aspects of our lives. In the first
unit, we will learn about the computer hardware and software components of a computer and how they combine to make such
a formidable combination. To communicate with a person, we must know their language. As the computer deals with only
binary information (1's and 0's), we will briefly study the binary representation of data and the Boolean algebra of binary values
developed by George Boole.
As the primary purpose of studying Computer Science is to learn to solve our problems using a computer, we will devote the
second unit, which forms a considerable part of the book, to problem-solving using a computer. The task of solving problems
using a computer is often called programming. Although computer only understands the language of 1’s and 0's, humans
find it inconvenient to give instructions to a computer as sequences of 1’s and 0’s. So, computer scientists have developed
several programming languages, called high-level languages, that are close to natural languages. Ultimately, the instructions in
a programming language are translated as binary sequences using either a compiler or an interpreter. In this book, we will learn
Python - a programming language that supports a simple and organised approach to problem-solving.
As old habits die hard, the book encourages the reader to follow good programming practices right from the beginning. We have
made an effort to introduce the programming constructs in the context of the examples that justify the use of those constructs.
We have devoted eleven chapters of the book to introduce the fundamental programming concepts (chapters 4-14). Although
a programming language (like Python) is similar to a natural language, it is not a natural language yet. So, in Chapter 4, we
introduce you to the notions of algorithms, flowcharts, and pseudocodes required for the new way of problem-solving using a
programming language (Python, in our case). Chapters 5-7 cover the basic building blocks of the Python language. We introduce
the concepts of modularity early in the book (Chapter 8) so that it gets integrated with the student’s approach to problem-
solving. In the same spirit, we emphasize the use of the named objects in preference to the ones hard-coded. Further, as good
documentation is key to the success of any software engineering project, we consistently document the code throughout the
book, describing the objective of each piece of the code and how it interfaces with the rest of the code under discussion.
As real-life problems usually require non-sequential and repetitive execution of instructions, the discussion on modularity in
Chapter 8 has been followed by a detailed study of control structures in Chapters 9 and 10. As successful software development
requires the code to be organised in the form of modules, in Chapter 11, we discuss how to design the modules. Text data is
expressed in the form of strings, which is the subject of Chapter 12. Complex problems require structuring the data in the form
of lists, tuples, and dictionaries, as discussed in Chapters 13 and 14.
While automation has made our lives comfortable, serious concerns about IT infrastructure security and individuals' privacy rights
have been raised. Chapter 15 discusses these issues and related laws enacted to address security and privacy concerns.
ACKNOWLEDGEMENTS
We are grateful to Drashti Varshney and Nimish Kumar, undergraduate students at Dyal Singh College of the University of Delhi,
Mr. P.K. Hazra, Dr. Manoj Agarwal and Dr. Neeraj Kumar Sharma, colleagues at the University of Delhi for reviewing different
sections of the book.
We are grateful to the Orange Book team, especially Ms. Nidhi Gupta, who was readily available for help during the book's
preparation. Last but not least, we would like to express our gratitude to our family members for their support and patience.
Naveen Kumar
Ankit Rajpal
Sheetal Rajpal
Mohini Arora

