XI - C.S. Python Supplement
XI - C.S. Python Supplement
Computer Science with Python Programming is a textbook designed for the students of Class XI, CBSE. It covers complete course of
Computer Science. The book has been written in easy to understand language and contain ample examples. However, every attempt has
been made to keep the text as precise as possible.
The code has been tested in Python 3.x on a machine with Windows 10.
Each chapter of the book includes a variety of end-chapter exercises in the form of MCQs with answers, review questions, and
programming exercises to help readers test their knowledge. It may be stated here that the topics in the book have been written considering
the fact that some of the readers may opt Computer Science as their career.
Key Features:
Ÿ The book has sections dedicated to Computer System and Organization to help the students to understand the basics.
Ÿ Offers in-depth treatment of topics such as List, Tuples and Dictionaries.
Ÿ The book introduces Database Management System and NoSQL.
Ÿ Provides points to remember and a Glossary with definitions of the key terms at the end of each chapter which will help readers to
quickly recollect the important concepts.
Questions, given at the end of each chapter and the appendices would help students during viva and examinations.
Harsh Bhasin has done his B Tech. in Computer Science and M Tech. in Computers and is currently pursuing PhD. He qualified UGC
NET in 2012 and received the Visvesvaraya Fellowship from DIETY in 2016. He was awarded the Young Researcher’s Award by ErNet in
2012. Mr. Bhasin has authored a few papers, including those published in journals like Soft Computing. He has also authored
“Programming in C#” (2014), “Algorithm Analysis and Design” (2015) and “Theory of Computation”. He has been actively involved in
research both as an author and reviewer for ACM, Pearson, Oxford University Press, Springer etc. Mr. Bhasin was the editor in chief of the
special issue on “Applicability of Soft Computing Techniques in NP Problems,” SciEp, USA.
Professionally, Mr. Bhasin is a programmer and has been involved in the development of many Enterprise Resource Planning Systems
while being the proprietor of a firm based in Faridabad, Haryana, India. He has a vast industrial experience. He was an Assistant Professor
in Department of Computer Science, FMIT, Jamia Hamdard. He has also taught as visiting faculty in many colleges including Delhi
Technological University.
His areas of interest include Genetic Algorithms, Theory of Computation, C#, Python, Algorithms, Cellular Automata and Machine
Learning.
His personal interests include Hindi poetry and Hindustani Classical Music. Mr. Bhasin is also a blogger. You can reach him at his
Facebook page DTU Computation or via email at i_harsh_bhasin@yahoo.com.
PYTHON
SUPPLEMENT
For the new topics introduced by CBSE in
the latest Syllabus issued in July, 2020
CLASS XI
IN INDIA
Visit us at www.newagegolden.com
Dear Students
Use this free Supplement
along with the
Main Book
DEDUCTED
COMPUTER SCIENCE - 083
CLASS XI
Topic reduced
Unit I: Computer Systems and Organisation
• Encoding Schemes : UTF8, UTF32
• Concept of cloud computing and cloud services (SaaS, IaaS, PaaS), cloud (public/
private), Blockchain technology
Unit II: Computational Thinking and Programming-1
Decomposition – concept, need for decomposing a problem, examples of problem solving using
decomposition.
• Sorting algorithm: bubble and insertion sort; count the number of operations while
sorting.
Suggested Practical List Input a list of elements, sort in ascending/ descending order using
Bubble/ Insertion sort.
(ii)
CLASS XI, CBSE, COMPUTER SCIENCE,
REVISED SYLLABUS (2020-2021)
(iii)
Lists: Definition, Creation of a list, Traversal of a list. Operations on a Chapter 10
list - concatenation, repetition, membership; functions/methods– len(),
list(), append(), extend(), insert(), count(), index(), remove(), pop(),
reverse(), sort(), min(), max(), sum(); Lists Slicing; Nested lists; finding
the maximum, minimum, mean of numeric values stored in a list; linear
search on list of numbers
Tuples: Definition, Creation of a Tuple, Traversal of a tuple. Operations Chapter 11
on a tuple - concatenation, repetition, membership; functions/methods
– len(), tuple(), count(), index(), sorted(), min(), max(), sum(); Nested
tuple; Tuple slicing; finding the minimum, maximum, mean of values
stored in a tuple; linear search on a tuple of numbers
Dictionary: Definition, Creation, Accessing elements of a dictionary, Chapter 12
add an item, modify an item in a dictionary; Traversal, functions/
methods – len(), dict(), keys(), values(), items(), , max(), min(), count(),
sorted() copy()
(iv)
SYLLABUS
Computer Science (Revised)–[CLASS-XI, Code No. 083, 2020-21]
1. Learning Outcomes
• Ability to understand and apply basic computational thinking.
• Ability to understand the notion of data types and data structures and apply in different situations.
• Ability to appreciate the notion of an algorithm and apply its structure including how algorithms handle corner cases.
• Ability to develop a basic understanding of computer systems-architecture, operating system, mobile and cloud computing.
• Ability to work in the cyber world with understanding of cyber ethics, cyber safety and cybercrime
• Ability to make use the value of technology in societies, gender and disability issues and the technology behind biometric ids.
2. Distribution of Marks
Unit Unit Name Theory Periods
No. Marks Theory Practical
I Computer Systems and Organisation 10 10 5
II Computational Thinking and Programming-1 45 50 35
III Society, Law and Ethics 15 20 ----
Total 70 80 40
Unit I: Computer Systems and Organisation
• Basic computer organisation: description of a computer system and mobile system, CPU, memory, hard disk, I/O, battery.
• Types of software: Application software, System software and Utility software.
• Memory Units: bit, byte, MB, GB, TB, and PB.
• Boolean logic: NOT, AND, OR, NAND, NOR, XOR, NOT, truth tables and De Morgan’s laws, Logic circuits
• Number System: numbers in base 2, 8, 16 and binary addition.
• Encoding Schemes : ASCII, ISCII and Unicode
• Concept of Compiler and Interpreter
• Operating System (OS) - need for an operating system, brief introduction to functions of OS, user interface
Unit II: Computational Thinking and Programming-1
Introduction to Problem solving: Problem solving cycle - Analysing a problem, designing algorithms and representation of
algorithm using flowchart and pseudo-code.
Familiarization with the basics of Python programming: a simple “hello world" program, the process of writing a program
(Interactive & Script mode), running it and print statements; simple data-types: integer, float and string.
• Features of Python, Python Character Set, Token & Identifiers, Keywords, Literals, Delimiters, Operators.
• Comments: (Single line & Multiline/ Continuation statements), Clarity & Simplification of expression
• Introduce the notion of a variable and methods to manipulate it (concept of L-value and R-value even if not taught explicitly).
• Knowledge of data types and operators: accepting input from the console, assignment statement, expressions, operators and
their precedence.
• Operators & types: Binary operators-Arithmetic, Relational Operators, Logical Operators, Augmented Assignment
Operators.
• Execution of a program, errors- syntax error, run-time error and logical error.
• Conditional statements: if,if-else,if-elif-else;simple programs:e.g.:absolute value, sort 3 numbers and divisibility of a number.
• Notion of iterative computation and control flow: for(range(),len()), while, using flowcharts, suggested programs:
calculation of simple and compound interests, finding the factorial of a positive number etc.
• Strings: Traversal, operations – concatenation, repetition, membership; functions/methods–len(), capitalize(), title(), upper(),
lower(), count(), find(), index(), isalnum(), islower(), isupper(), isspace(), isalpha(), isdigit(), split(), partition(), strip(),
lstrip(), rstrip(), replace(); String slicing.
• Lists: Definition, Creation of a list, Traversal of a list. Operations on a list - concatenation, repetition, membership;
functions/methods–len(), list(), append(), extend(), insert(), count(), index(), remove(), pop(), reverse(), sort(), min(), max(),
sum(); Lists Slicing; Nested lists; finding the maximum, minimum, mean of numeric values stored in a list; linear search on
list of numbers and counting the frequency of elements in a list.
• Tuples: Definition, Creation of a Tuple, Traversal of a tuple. Operations on a tuple - concatenation, repetition, membership;
functions/methods – len(), tuple(), count(), index(), sorted(), min(), max(), sum(); Nested tuple; Tuple slicing; finding the
(v)
minimum, maximum, mean of values stored in a tuple; linear search on a tuple of numbers, counting the frequency of
elements in a tuple.
• Dictionary: Definition, Creation, Accessing elements of a dictionary, add an item, modify an item in a dictionary; Traversal,
functions/methods – len(), dict(), keys(), values(), items(), get(), update(), del(), del, clear(), fromkeys(), copy(), pop(),
popitem(), setdefault(), max(), min(), count(), sorted() copy(); Suggested programs : count the number of times a character
appears in a given string using a dictionary, create a dictionary with names of employees, their salary and access them.
• Introduction to Python modules: Importing math module (pi, e, sqrt, ceil, floor, pow, fabs, sin, cos, tan); random module
(random, randint, randrange), statistics module (mean, median, mode).
Unit III: Society, Law and Ethics
• Cyber safety: safely browsing the web, identity protection, confidentiality, social networks, cyber trolls and bullying.
• Appropriate usage of social networks: spread of rumours, and common social networking sites (Twitter, LinkedIn, and
Facebook) and specific usage rules.
• Safely accessing web sites: adware, malware, viruses, trojans
• Safely communicating data: secure connections, eavesdropping, phishing and identity verification.
• Intellectual property rights, plagiarism, digital rights management, and licensing (Creative Commons, GPL and Apache),
open source, open data, privacy.
• Privacy laws, fraud; cyber-crime- phishing, illegal downloads, child pornography, scams; cyber forensics, IT Act, 2000.
• Technology and society:
• understanding of societal issues and cultural changes induced by technology.
• E-waste management: proper disposal of used electronic gadgets.
• Identity theft, unique ids and biometrics.
• Gender and disability issues while teaching and using computers.
3. Practical
S.No. Area Marks (Total=30)
1. Lab Test (12 marks)
Python program (60% logic + 20% documentation + 20% code quality) 12
2. Report File + Viva (10 marks)
Report file: Minimum 20 Python programs 7
Viva voce 3
3. Project (8 marks)
(that uses most of the concepts that have been learnt See CS-XII for the rules regarding the projects)
(vi)
Additional Matter
Additional Matter
1. Sort 3 numbers
num1=int(input('Enter the first number\t:'))
num2=int(input('Enter the second number\t:'))
num3=int(input('Enter the third number\t:'))
if(num1>num2):
if(num1>num3):
max1=num1
else:
max1=num3
else:
if(num2>num3):
max1=num2
else:
max1=num3
print('The max of the three numbers is ',max1)
2. Divisibility of a number
num1=int(input('Enter the first number\t:'))
num2=int(input('Enter the second number\t:'))
if(num1%num2==0):
print('The first number is divisible by the second number')
else:
print('The first number is not divisible by the second number')
3. Counting the frequency of elements in a tuple
L=[]
n=int(input('Enter the number of elements\t:'))
for i in range(n):
item=int(input('Enter item\t:'))
L.append(item)
Additional Matter 3
7. Dictionary Functions
get(), update(), del(), clear(), fromkeys(), copy(), pop(), popitem(),
setdefault().
clear()
This function removes all items from the dictionary.
copy()
This function returns a shallow copy of the dictionary.
get(key[, default])
This function returns the value for key if key is in the dictionary,
else default is returned. The default value is NONE.
pop(key[, default])
If key is in the dictionary, this function removes it and returns its
value, else it returns default. If default is not given and key is
not in the dictionary, the KeyError is raised.
popitem()
This function removes and returns a (key, value) pair from the
dictionary. The pairs are returned in the LIFO order.
setdefault(key[, default])
If key is in the dictionary, this function returns its value. If not,
the insert key with a value of default is returned. It defaults to
None.
update([other])
This function updates the dictionary with the key/value pairs from
other. It overwrites the existing keys.
fromkeys(iterable[, value])
This function creates a new dictionary with keys from iterable and
values set to value.
del d[key]
This function removes d[key] from d. It raises a KeyError if key is
not in the map.
8. Math Module
The math module provides the mathematical function which are define by C standards. However
these functions cannot return a complex number. Some of the most important functions of this
module are as follows.
_____________________________________________________________________________
To run the following codes import the math module
import math
_____________________________________________________________________________
math.factorial(x)
This function returns the factorial of the argument. It raises the ValueError if the argument is not
an integral or is negative.
math.pow(x, y)
This function returns x raised to the power y. It converts both its arguments to float. For
example,
pow(3,4) returns 81
pow(5,3) returns 125
Additional Matter 5
Output:
0.9999996829318346 0.0007963267107332633 1255.7655915007897
Constants: e and pi
The math module also provides us with e and pi constants.
Code:
print(math.pi)
print(math.e)
Output:
3.141592653589793
2.718281828459045
9. Random module
This module implements pseudo-random number generators for various distributions. Some of
the most important functions of this module are as follows.
_____________________________________________________________________________
To run the following codes import the random module
import random
_____________________________________________________________________________
random.random()
This function produces a random number between 0 and 1.
random.ranrange(start, stop)
This function returns an integer between start and stop.
random.randrange(start, stop, step)
This function returns an integer between start and stop with a step. Here stop is not included.
random.randrange(start, stop, step)
This function returns an integer between start and stop. Here stop is included.
The following examples demonstrate the use of these functions.
Code:
ans1=random.random()
ans2=random.randrange(3,8)#3,4,5,6,7
ans3=random.randrange(3,56,2)#3,5,7,...
ans4=random.randint(5,9)#5,6,7,8,9
print(ans1,ans2, ans3, ans4)
Output:
0.564352337835268 6 47 6
10. Statistics module
This module helps us to find statistical metrics like mean, median and mode of a given list or
array. Some of the most important functions of this module are as follows.
Additional Matter 7
The Operating System Software and the Utility Software also come under the ambit of System
Software.
14. Utility Software
As per Wikipedia
“Utility software is software designed to help to analyze, configure, optimize or maintain a
computer. It is used to support the computer infrastructure - in contrast to application software,
which is aimed at directly performing tasks that benefit ordinary users.”
Some examples of Utility Software are as follows:
• File Management tools
• Disk Management Tools
• Tools for Compression
• The defragmenter and cleaning tools
Algorithmic Efficiency 9
1 Algorithmic Efficiency
LEARNING OBJECTIVES
After reading this chapter, the reader will be able to
• Understand the importance of Algorithms
• Understand the features of a good algorithm
• Understand the ways of writing an algorithm
• Understand Asymptotic notations
• Differentiate between recursive and iterative algorithms
1.1 INTRODUCTION
This chapter introduces algorithms and discusses the idea of computational complexity. Let us
begin our discussion with the meaning of the term ‘algorithm’. The word algorithm comes from
algorithmi from the tile “Algoritmi de numeroIndorum,” a book written by “Muhammad ibn
Musa al-Khwarizmi”, who was a Persian mathematician. The word was corrupted and became
“Algorism”. Finally, in the 19th century, it became algorithm. Interestingly, the book, stated
above, was on Indian numerals. Lately, the word algorithm is identified with any procedure
applied to accomplish a given computing task.
Algorithm directs how to solve a problem and there can be many algorithms to solve the same
problem. However, not all of them are equally effective and efficient. Here, the term effective is
used in the sense of correctness and efficient in terms of the memory requirement and time of
execution. Given a problem, we should aim at developing an algorithm which is correct, takes
lesser time and memory space.
Also, it is desirable that in the sequence of steps for accomplishing a task, each step should be
as basic as possible and the task should be accomplished in a finite number of steps. So, a good
algorithm should be finite and each instruction should be unambiguous.
Algorithms are implemented using programming languages. So, we first design an algorithm
and then implement it in some programming language. However, designing an algorithm cannot
be automated. It is, rather, an art. Art cannot be automated, but you can at least learn procedures
like Divide and Conquer, Backtracking, Branch and Bound, Dynamic programming, Greedy
approaches etc. Learning these approaches would not only help you in Computer Science but
would also help in other disciplines like Computational Biology, Finance etc.
Algorithmic Efficiency 11
• Input: An algorithm takes zero or more input.
• Output: It produces at least one output.
• Correctness: It must be correct.
• Efficient: It should be efficient, both in terms of memory and space and
• Unambiguous: It should not be ambiguous.
Algorithmic Efficiency 13
For example, the nth Fibonacci term can be expressed as the sum of the (n–1)th and
(n–2)th Fibonacci terms. Since, the evaluation of nth Fibonacci term requires two previous results
of evaluation, two base conditions must be specified. The first and the second terms of this
sequences are 1 and 1. Therefore the function can be written as follows.
fib(n) = fib(n – 1) + fib(n – 2)
fib(1) = 1
fib(2) = 1
That is, to find the 5th Fibonacci term, we need to find the sum of the 4th and the 3rd term.
The 4th Fibonacci term can be found by adding the 3rd and the 2nd term. The 3rd Fibonacci term
can be found by adding the 2nd and the first term, both of which are 1. The process has been
depicted in Figure 1.2.
Algorithmic Efficiency 15
pow(5,3)
pow(5,4)
Output
5
25
125
625
3125
1.7 ILLUSTRATIONS
In order to find the complexity of a given program, the following steps must be followed.
1. Find how many times a statement executes.
2. Find the sum of the above.
Find the upper bound, that is, O of the expression obtained in step 2.
The following illustration would help the readers to understand the process of finding
complexity.
Illustration 1.1: Write a program to find the sum of first n natural numbers. Also find its
complexity.
Solution:
Statement Frequency
n=int(input('Enter n\t:')) 1
sum1=0 1
i=1 1
while(i<=n): (n+1)
sum1+=I n
i+=1 n
print('The sum of the first ',n,' terms is \t:',sum1) 1
Total = 3n+5 = O(n)
Algorithmic Efficiency 17
Illustration 1.2: Write a program to find the sum of squares of first n natural numbers. Also
find its complexity.
Solution:
Statement Frequency
n=int(input('Enter n\t:')) 1
sum1=0 1
i=1 1
while(i<=n): (n+1)
sum1+=i*I n
i+=1 n
print('The sum of squares of the first ',n,' terms is \t:',sum1) 1
Total = 5+3n = O(n)
Illustration 1.3: Write a program to find the sum ∑ni = 1 ∑ni = 1 i × j. Also find its complexity.
Solution:
Statement Frequency
n=int(input('Enter n\t:')) 1
i=1 1
sum1=0 1
while(i<=n): (n+1)
j=1 n
while(j<=n): n×(n+1)
sum1+=i*j n×n
j+=1 n×n
i+=1 n
print(sum1) 1
Algorithmic Efficiency 19
In order to understand the above definitions let us take an example of Linear Search. The
running time of Linear Search depends on the input. If the element to be searched is found at
the first location, the number of steps taken to accomplish the task of searching the element
in the given list is least, hence it can be considered as the best case. On the other hand, if the
element to be searched is found at the last location or is not found at all, the number of steps
taken to accomplish the task of searching the element in the given list is maximum; hence it can
be considered as the worst-case. The best-case complexity of Linear Search, is therefore O(1) and
worst-case complexity is O(n).
Another example can be that of selection sort. Note that if a sorted list is given as an input to
the program that implement Selection Sort, no swaps are required, hence such input would lead to
best-case where as an input in which maximum swaps are required, would be the worst-case, in
terms of number of swaps.
1.9 CONCLUSION
Algorithms are the set of steps used to accomplish a given task, efficiently and effectively. An
algorithm must be definite and each instruction should be unambiguous. There are many ways
of representing the steps to accomplish the given task: by simply writing the instruction in
English, by drawing the flow-chart or by writing the pseudocode. An algorithm must generate at
least one output. Moreover, a good algorithm should be efficient both in terms of memory and
computation time. The asymptotic complexity helps us to ascertain the efficiency of an algorithm.
Problem solving using algorithms is an involved process. It requires due deliberation and an
intricate analysis. Some algorithms like linear search, binary search etc. have been presented
in this chapter. Readers, new to programming, may find it difficult to get hold of some of the
procedures presented in this chapter. This chapter is a door to the fascinating world of algorithms
and problem solving and Python would be your friend in this long journey. So, let us meet our
new friend “Python”.
Algorithmic Efficiency 21
6. Generally, which of the following has more time complexity?
(a) Recursive algorithm (b) Iterative algorithm
(c) Both (d) None of the above
7. Which of the following represents upper bound?
(a) Big Oh notation (b) Omega notation
(c) Theta notation (d) None of the above
8. If an algorithm is O(n) then it is
(a) O(n2) (b) O(n3)
(c) O(2n) (d) All of the above
9. If an algorithm is O(n2) then it is not
(a) O(n) (b) O(n3)
(c) O(2n) (d) All of the above
10. Who was the brain behind the famous page rank algorithm?
(a) Larry Page (b) Alan Turing
(c) Trump (d) None of the above
THEORY
1. Define the term algorithm. Also state the features of a good algorithm.
2. What is space and time complexity. Also discuss the importance of the two.
3. Define the following asymptotic notations.
(a) Big Oh (b) Omega (c) Theta
4. What are the different ways of writing an algorithm?
5. Differentiate between an algorithm and a program.
6. Why should design precede implementation.
7. What are the various design approaches?
8. Discuss time memory trade off.
APPLICATION
1. Write an algorithm for Linear Search.
2. If the given list is a sorted list, an element can be searched as follows. We start with looking
at the first, last and the middle position of the list. If the element is not found at these
positions, the list is divided into two halves. If the element to be searched is less than the
element present at the mid, then the process is repeated on the left part of the list; otherwise
the process is applied on the right part. At the end a single element is left, which can be easily
checked. Write a formal algorithm for this process.
3. In the above case, if the list is divided into four parts, instead of two, write the algorithm.
4. Write an algorithm to sort a given list.
5. Write an algorithm to find the minimum element from a given list.
6. Write an algorithm to find the maximum element from a given list.
7. Write an algorithm to find the second maximum element from a given list.
8. Write an algorithm to find the sum of the elements of a given list. Also find the average,
standard deviation and the quartile deviation of the elements in the list.
9. Write an algorithm to find if a list contains repeated elements.
10. Write an algorithm to reverse a given list.
Algorithmic Efficiency 23
2 Society, Law and Ethics
LEARNING OBJECTIVES
After reading this chapter, the reader will be able to
• Appreciate the importance of Intellectual Property Rights
• Understand plagiarism
• Understand the following cyber crimes
Identity Thefts,
Phishing,
Credit Card Frauds,
Cyber Stalking,
Cyber Bullying and
Illegal Downloading
• Understand the importance of e-waste management.
2.1 INTRODUCTION
Having studied programming, database and networking, let us shift our focus to society, law
and ethics. This chapter introduces you to the ethical considerations, cybercrimes and the law
dealing with such crimes. The chapter ends with the most important topics of our times: e-waste
management.
As a Computer Science student, you must understand the importance of not copying other’s
works and respect and understand Intellectual Property. You are expected to have a working
knowledge of cyber crimes and the law that deals with such crimes. Lastly, you are expected to
appreciate the problem of e-wastes and know what can be done to deal with them.
The chapter has been organized as follows. Section 2.2 discusses Plagiarism and section 2.3
introduces Intellectual Property. Section 2.4 introduces Licensing and discusses various licences.
Section 2.5 discusses Cyber Crimes. Sections 2.6 to 2.11 discusses the cyber crimes like Identity
Thefts, Phishing, Credit Card Frauds, Cyber Stalking, Cyber Bullying and Illegal Downloading.
Section 2.12 introduces the Information Technology Act 2000, its features and the 2008
amendment to the act. Section 2.13 discusses Electronic Waste Management and the last section
concludes.
Intellectual
patent
Industrial
Copyright Patent Trademark design
2.3.3 Patents
It is the right given to the inventor to decide whether the invention can be used by others and the
terms of doing so.
Except for the above, Industrial designs etc. also come under the preview of IP.
2.4 LICENSING
The literal meaning of licence is to authorize the use of a thing. This section discusses some of the
most common Software Licences.
2.4.1 FOSS
FOSS is Free and Open Source Software Licence. The licence does not have any universal
definition. Different organizations define FOSS in different ways. Open Source Initiative (OSI)
is one of the organization that keeps the list of licences. Likewise, the Free Software Foundation
(FSF) keeps the list of what is free. It may be noted that there are some which are accepted by
OSI but are not free as per FSF. The OSI also keeps track of
• Price
• Type of contribution
• Origin
Different licences can be compared by the following features:
• Trademark: Whether trademark can be used
• Distribution: If it can be distributed
• Modification: Whether it can be modified
• Private Use: Whether any change in the code should be shared with the community
• Patent Grant: It guarantees the protection of licensees from patent claims by contributors
• Linking: It is the linking of code to an already licensed one.
• Sub-licensing: If signifies whether a code can be licensed under some other licence
Some of the most common licences are as follows.
2.6.3 Precautions
• Protect your personal information.
• Do not respond to unsolicited requests by phone, email, or online for your name,
birthdates, Social Security, or bank account number.
• Collect your mail promptly.
• Enable the security features on your mobile devices.
• Review your credit card and financial statements.
• Install firewalls and virus-detection software on your home computer.
• Use good passwords and change them periodically.
2.7 PHISHING
This technique is used to walk off with important information like the credit card numbers,
credentials and data. In this attack, the hacker poses as a trusted entity and sends e-mail, messages
etc. to lure the victim to click a link or enter his details.
This may lead to
• Identity thefts
• Installation of malware
• Ransomware attack
• Leakage of sensitive information.
The above may help the hacker to carry out purchases, get into a network or even commit a crime
by using your credentials. Though financial losses incurred by such attacks may be huge, the
access to the private network may pose a bigger challenge.
2.12.1 Features
The main features of the act are as follows.
• All electronic contracts made through secure electronic channels are legally valid.
• Legal recognition for digital signatures.
• A procedure for the appointment of adjudicating officers for holding inquiries under the
Act is finalized
• Provision for establishing a Cyber Regulatory Appellant Tribunal under the Act.
• An appeal against the order of the Cyber Appellant Tribunal is possible only in the High
Court
• Digital Signatures will use an asymmetric cryptosystem and also a hash function
• The Act also applies to offences or contraventions committed outside India
• Senior police officers and other officers can enter any public place and search and arrest
without warrant
2.12.2 Non-applicability
The act is not applicable in the following cases
• Execution of a Power of Attorney
• Creation of Trust under the Indian Trust Act, 1882.
• Execution of a Will
• Entering into a contract for the sale of conveyance
2.14 CONCLUSION
This chapter introduced plagiarism and IP. The students must make sure that they do not copy
their assignments ever in the lives. This will help them in being innovative and develop their
writing skills from the very beginning. This chapter also discussed various cyber crimes and their
effects. These are dealt-with in the Information Technology act. The act and its amendments are
also discussed in the chapter. Lastly, this chapter discussed the menace of e-wastes.
It may be stated that the Chapter 3 takes the discussion forward. The following topic has been
discussed in the Chapter 3.
Chapter 3: Technology and Society
THEORY
1. Define Plagiarism. Write a note on the types of Plagiarism.
2. How can you avoid Plagiarism?
3. Define IP and state its types.
4. What does OSI cover?
5. What is the difference between OSI and FSF?
6. Compare Apache, GNU and Creative Commons.
7. State the features of IT Act.
8. When was IT Act modified and what were the amendments?
9. Explain the structure of the IT Act.
10. Explain sections 66A and 69 of the 2008 amendments to the IT Act.
11. What is Electronic Waste management?
12. How are e-wastes classified?
13. State the motivation behind e-waste management. What are the steps being taken to handle
the problem of e-wastes?
14. State how are the following e-wastes handled?
(a) Plastics (b) CRT
(c) Wires (d) PCB
(e) Chip
15. State the problems posed by e-waste management?
16. Explain recycle, reuse and refurbish.
LEARNING OBJECTIVES
After reading this Chapter, the reader will be able to
• Appreciate the relation between Technology and Society
• Understand how technology affects society
• Understand how society affects technology
3.1 INTRODUCTION
Technology impacts society and vice-versa. The importance of technological advancements can
be understood by the following examples (Figure 3.1(a) and (b)).
• The technological advancements in medicine helped us in our fight against diseases.
• The advancements in robotics and AI have helped us in making things easy, efficient and
effective.
• The advancements in printing technology has helped in the spread of education.
• The advent of internet and internet working has helped us in numerous ways.
The The
invention of Internet
the wheel
Neolithic The
Revolution telephone
Society Technology