Class 11Computer Science · Beyond the syllabusFull chapter

Emerging Trends

The whole chapter in one place — read it, then test yourself. Clear notes, a reference sheet, a practice quiz, and worked NCERT exercise solutions.

Not in the exam syllabus. In your NCERT textbook, but in no unit of the CBSE 2025-26 syllabus. It is here because it is in your textbook — read it for interest, but do not spend revision time on it.

How to Read This Chapter

Quick answer NCERT Chapter 3 sits outside the CBSE 2025-26 exam syllabus and carries no marks, so read it once for understanding, and notice the single shift behind five of its six topics: sensing, storage and computing all became cheap enough to use casually.

Read this before anything else. This chapter is not in the CBSE 2025-26 exam syllabus for Computer Science (083). It is printed in your NCERT textbook as Chapter 3, but none of its topics appear in the unit-wise content list of the CBSE syllabus, so it carries no marks. It is worth reading for interest. If your board exam is close, your revision time is better spent on Units 1-3 — Computer Systems and Organisation, Computational Thinking and Programming - 1, and Society, Law and Ethics. Read this chapter when you have a free evening, not the night before the paper.

So why is it in the book at all? Because these six words — artificial intelligence, big data, IoT, cloud, grid, blockchain — are the vocabulary of every college brochure, internship advertisement and newspaper technology page. Knowing what each one actually means, and just as usefully what it does not mean, stops you from being impressed by empty claims. That is a real skill, it just is not a scoring one.

What does "emerging" actually mean? Not "newly invented". The mathematics behind neural networks, public-key cryptography and distributed computing is decades old. "Emerging" describes adoption: the idea existed, but the hardware was too expensive or too slow for anyone to bother. When the cost falls below some threshold, the idea suddenly appears everywhere and looks new.

The one engine behind most of this chapter. Four separate things got cheap at roughly the same time, and five of the six technologies here are a consequence of that:

  • Sensing got cheap. A temperature sensor, a camera module or a GPS chip now costs less than a school textbook. So we started measuring things we never used to measure — and that is IoT.
  • Storage got cheap. Once keeping data costs almost nothing, organisations stop deleting anything. That is big data.
  • Computing became rentable. You no longer buy a server; you rent one by the hour and give it back. That is cloud, and pooling many owned machines instead is grid.
  • Enough compute in one place made pattern-learning practical. Training a model on millions of examples stopped being a research luxury. That is the current wave of AI.

Blockchain is the odd one out: it did not come from cheapness, it came from a design question — can a group of strangers agree on a shared record without trusting any single one of them to keep it?

TopicThe one-line ideaWhere you have already met it
Artificial IntelligenceLet the machine work out the rule from examples instead of you writing the ruleYour phone keyboard guessing the next word
Big DataData too large or too fast for one ordinary machine and one ordinary toolA whole year of UPI transactions
Internet of ThingsEveryday objects that sense, report and sometimes actFASTag at a toll plaza, a smart electricity meter
Cloud ComputingRent computing over the internet, pay only for what you useGoogle Drive, an online exam portal
Grid ComputingMany separate, often idle computers pooled to attack one big problemVolunteer science projects
BlockchainA shared record where changing an old entry breaks everything after itCryptocurrency ledgers

Worked example — check the "big" in big data yourself. Suppose a housing society in Pune fits smart water meters in 2500 flats and each meter reports once every 5 seconds. Before believing anyone's claim about "huge data", just count.

# One smart water meter in a Pune housing society sends a reading every 5 seconds.
readings_per_day = 24 * 60 * 60 // 5
print("Readings per meter per day :", readings_per_day)

meters = 2500
per_day = readings_per_day * meters
print("Readings per day, society  :", per_day)
print("Readings per year, society :", per_day * 365)

bytes_per_reading = 40
total = per_day * 365 * bytes_per_reading
print("Bytes per year             :", total)
print("Gigabytes per year         :", round(total / (1024 ** 3), 2))

Real output:

Readings per meter per day : 17280
Readings per day, society  : 43200000
Readings per year, society : 15768000000
Bytes per year             : 630720000000
Gigabytes per year         : 587.4

Read what those numbers say. One building, one boring measurement, produces about 4.32 crore readings a day and roughly 1576.8 crore a year. Even at a tiny 40 bytes per reading that is about 587 GB a year — more than a good many laptop disks can comfortably hold, from water meters. Now imagine a city. That is the honest reason big data exists: nobody set out to collect this much, it simply falls out of measuring often.

Notice also that // was used, not /. 86400 / 5 gives 17280.0, a float; 86400 // 5 gives 17280, an integer. You cannot take half a reading, so the integer is the honest type.

A habit worth keeping. When a product claims to use "AI", ask what data it learned from. When it claims "the cloud", ask whose machine and in which country. When it claims "blockchain", ask who is allowed to write to it. If nobody can answer, the word is decoration.

Floor division a // b int · Whole-number division. 86400 // 5 is 17280 (int); 86400 / 5 is 17280.0 (float).
round() round(x, n) float · Rounds x to n decimal places and returns a float. With no n it returns an int: round(5.0) is 5, round(5.0, 1) is 5.0.
One gibibyte in bytes 1024 ** 3 bytes · = 1073741824. Disk makers usually advertise using 1000 ** 3, which is why a '1 TB' disk shows less in the OS.
print() with commas print(a, b, c) Inserts a single space between items and converts each to str automatically. Commas, not +, so mixing int and str is safe.
Remember
  • This chapter is outside the CBSE 2025-26 exam syllabus and carries no marks; Units 1-3 deserve your revision time.
  • 'Emerging' means newly affordable, not newly invented — most of the underlying mathematics is decades old.
  • Cheap sensing, cheap storage, rentable computing and enough compute for pattern-learning together produced IoT, big data, cloud, grid and the current AI wave.
  • A back-of-the-envelope calculation is the fastest test of any claim about data volume: 2500 water meters alone generate roughly 587 GB a year.
  • Blockchain is the exception — it answers a trust question, not a cost question.

Artificial Intelligence, Machine Learning and Deep Learning

Quick answer AI is the goal of getting machines to do tasks that normally need human intelligence, machine learning is the technique of deriving the rule from labelled examples instead of writing it by hand, and deep learning is machine learning built from many-layered neural networks.

Artificial Intelligence (AI) is the broad aim of making a machine perform tasks that we would call intelligent when a person does them: recognising a face, understanding a spoken sentence in Hindi, planning a route, playing chess. It is a goal, not a single technique.

Why the old approach failed. The first attempts wrote the rules by hand. That works for chess-like problems where the rules are finite and written down. It collapses for perception. Try writing an if condition that decides whether a photograph contains a cow. Cows appear at every angle, in every light, partly hidden behind an auto-rickshaw. No human can list those conditions, so the machine has to work them out itself. That realisation is the whole reason machine learning took over.

Machine Learning (ML) is the approach where you supply many labelled examples and the program adjusts itself until its predictions on those examples are mostly right. You do not write the rule; you write the process that discovers the rule. The three usual families are:

  • Supervised learning — every example comes with the correct answer attached. Spam or not spam. Fraudulent or genuine transaction.
  • Unsupervised learning — no answers given; the program groups similar items. A shop discovering that its customers fall into three buying patterns.
  • Reinforcement learning — the program acts, gets a reward or a penalty, and adjusts. Used for game playing and robot control.

Deep Learning (DL) is machine learning using artificial neural networks with many layers. Each layer transforms the data a little; early layers in an image network pick up edges, later layers pick up shapes, later still whole objects. It is called "deep" only because of the number of layers. Deep learning needs far more data and far more computing power than older ML methods, which is exactly why it became practical only recently.

The relationship is nested, and this nesting is the single most common question asked about the topic:

TermScopeRelationship
Artificial IntelligenceThe overall goal, including rule-based systemsLargest circle
Machine LearningSystems that improve from dataA subset of AI
Deep LearningML using multi-layer neural networksA subset of ML

Branches you will hear named. Natural Language Processing (NLP) handles human language — translation between English and Marathi, chatbots, speech-to-text. Computer vision handles images — reading a number plate, checking a crop leaf for disease. Robotics combines sensing, decision and physical action; a robot is not automatically AI, and much factory automation is plain programmed motion. Immersive experience covers Virtual Reality (a fully computer-generated world seen through a headset) and Augmented Reality (computer-generated things drawn on top of the real world through a camera, like a phone app showing furniture in your room).

Worked example — a real, tiny classifier. This is the nearest-neighbour method: to label a new item, find the labelled example closest to it and copy that label. Each dish is described by two numbers, chilli in grams and sugar in grams.

import math

# Six dishes already labelled by a cook: (chilli in grams, sugar in grams, label)
samples = [(12, 2, "spicy"), (15, 1, "spicy"), (9, 3, "spicy"),
           (1, 30, "sweet"), (0, 45, "sweet"), (2, 38, "sweet")]

new_dish = (3, 33)          # an unlabelled dish
best_label = ""
best_dist = math.inf

for chilli, sugar, label in samples:
    d = math.dist(new_dish, (chilli, sugar))
    print("distance to", label, "sample", (chilli, sugar), "=", round(d, 2))
    if d < best_dist:
        best_dist = d
        best_label = label

print("Nearest neighbour says:", best_label)

Real output:

distance to spicy sample (12, 2) = 32.28
distance to spicy sample (15, 1) = 34.18
distance to spicy sample (9, 3) = 30.59
distance to sweet sample (1, 30) = 3.61
distance to sweet sample (0, 45) = 12.37
distance to sweet sample (2, 38) = 5.1
Nearest neighbour says: sweet

Nowhere in that program is there a rule saying "lots of sugar means sweet". The six labelled examples supplied the knowledge; the code only measured distance. That is machine learning in miniature. math.inf is used as the starting value for best_dist because any real distance is smaller than infinity, so the first comparison always succeeds.

Now the honest limitations, which matter more than the hype:

  • It copies its training data, including the bias. If a bank's past loan decisions were unfair to some group, a model trained on them will reproduce that unfairness and look objective while doing it.
  • It has no understanding. Our example does not know what sugar is. Change the units from grams to kilograms and the "distances" change meaning entirely.
  • It is confident when wrong. The program above prints an answer for any input, including a dish with 0 g of both. Text-generating systems similarly produce fluent, well-formed statements that are simply false.
  • It needs labelled data, and labelling is human work. Most of the cost of a real ML project is people patiently tagging examples.
math.dist() math.dist(p, q) float · Straight-line (Euclidean) distance between two points given as tuples or lists of equal length. Always returns a float. Python 3.8+.
math.inf math.inf float · Larger than every real number. The safe starting value when searching for a minimum; use -math.inf when searching for a maximum.
Unpacking inside a for loop for a, b, c in list_of_tuples: Each tuple must have exactly three items, otherwise Python raises ValueError.
AI / ML / DL nesting DL is inside ML, ML is inside AI Not Python. Deep learning is a kind of machine learning, which is a kind of AI. Never write it the other way round.
Nearest neighbour rule label(new) = label of the closest training example Not Python. With k neighbours instead of one it becomes kNN and takes a majority vote.
Remember
  • AI is the goal; machine learning is a subset of AI; deep learning is a subset of ML that uses many-layered neural networks.
  • ML exists because perception rules cannot be hand-written — no one can list the conditions that make a photo contain a cow.
  • Supervised learning uses labelled data, unsupervised finds groups without labels, reinforcement learning learns from reward and penalty.
  • Nearest-neighbour classification shows the whole idea: knowledge lives in the labelled examples, not in the code.
  • A model inherits the bias of its training data, has no understanding, and stays confident when it is wrong.

Big Data and Data Analytics

Quick answer Big data means data whose volume, velocity or variety defeats ordinary single-machine tools, and the useful skill is not collecting it but knowing which summary of it tells the truth.

Big data is data that is too large, arrives too fast, or is too mixed in form for the ordinary tools on one ordinary machine to handle. Note the definition is relative. A dataset that overwhelms a school laptop is routine for a bank. There is no fixed number of gigabytes at which data becomes "big", and anyone who quotes one is guessing.

The characteristics, usually listed as the five V's:

CharacteristicWhat it meansExample
VolumeSheer quantity of dataEvery toll crossing on a national highway network for a year
VelocitySpeed at which new data arrives and must be handledUPI payments during a festival sale, arriving every second
VarietyMany different forms in the same problemNumbers, scanned bills, CCTV video, voice complaints
VeracityHow trustworthy and clean the data isA faulty sensor reporting 500 °C, duplicate entries, blank fields
ValueWhether anything useful can actually be got out of itStoring ten years of logs nobody ever reads has no value

Forms of data. Structured data fits neat rows and columns with a fixed set of fields — a marks table. Semi-structured data has tags or markers but no fixed table shape — XML and JSON files. Unstructured data has no such organisation at all — photographs, audio recordings, free-text complaints. Most of the data an organisation holds is unstructured, which is precisely why it is hard to use.

Why ordinary tools break, and what replaces them. A single computer has a limited amount of RAM, one disk with a limited transfer speed, and a limited number of cores. Past a point, opening the file is itself impossible. The standard answer has two halves: split the data across many machines (distributed storage), and send the computation to wherever each piece is stored rather than dragging the data to one central computer (distributed processing). Moving the program is cheap; moving terabytes is not. Every big-data framework you will meet later is a variation on that one idea.

Data analytics is the work of turning this data into something a person can act on. It is usually described in four steps: descriptive (what happened), diagnostic (why it happened), predictive (what is likely next), and prescriptive (what should we do about it). Only the first is easy.

Worked example 1 — veracity, and why the average lies. Eleven flats in a building, one of which quietly runs a small print shop.

import statistics

# Monthly electricity bills (rupees) of 11 flats. One flat runs a small print shop.
bills = [820, 940, 760, 1100, 890, 1010, 780, 950, 870, 990, 26400]

print("mean   :", statistics.mean(bills))
print("median :", statistics.median(bills))
print("stdev  :", round(statistics.stdev(bills), 2))

without_shop = bills[:-1]
print("mean without the shop :", statistics.mean(without_shop))
print("median without the shop:", statistics.median(without_shop))

Real output:

mean   : 3228.181818181818
median : 940
stdev  : 7685.9
mean without the shop : 911
median without the shop: 915.0

The mean says the typical flat pays ₹3228. Not one flat pays anything close to that. A single outlier dragged the mean up by more than three times, while the median barely moved (940 to 915). The standard deviation of 7685.9 being larger than the mean is itself the warning bell: it says the values are nowhere near their own average. This is what veracity means in practice — the number was computed correctly and still misleads.

Worked example 2 — you often do not need all the data. Two lakh transaction amounts, then a random sample of just 500 of them.

import random, statistics

random.seed(2026)
population = []                     # pretend: one day of UPI amounts, 2 lakh rows
for i in range(200000):
    population.append(random.randint(10, 5000))

print("Full data  - rows  :", len(population))
print("Full data  - mean  :", round(statistics.mean(population), 2))
print("Full data  - median:", statistics.median(population))

sample = random.sample(population, 500)
print("500 sample - mean  :", round(statistics.mean(sample), 2))
print("500 sample - median:", statistics.median(sample))

Real output:

Full data  - rows  : 200000
Full data  - mean  : 2501.06
Full data  - median: 2501.0
500 sample - mean  : 2584.03
500 sample - median: 2700.0

A sample of 500 rows — a quarter of one percent of the data — estimated the mean as 2584 against a true 2501. That is close enough for many decisions, at 1/400th of the work. Good analysts reach for a sample first and the full dataset only when the question genuinely demands it. Note also that random.seed(2026) makes the whole run repeatable; without it you would get different numbers every time and could never check your own work.

Two cautions. More data does not fix bad data — collecting the wrong measurement a billion times gives you a very precise wrong answer. And large personal datasets carry real risk: records that look harmless alone can identify a person when combined, which is why data protection law cares about collection, not just leaks.

statistics.mean() statistics.mean(data) Arithmetic average. Returns an int when the average of int data comes out exact, a float otherwise. Dragged badly by a single outlier; raises StatisticsError on an empty sequence.
statistics.median() statistics.median(data) Middle value after sorting. For an even count it returns the average of the two middle values, so it can be a float even for int data.
statistics.stdev() statistics.stdev(data) float · Sample standard deviation; needs at least two data points. If stdev exceeds the mean, treat the mean as untrustworthy.
random.seed() random.seed(n) Fixes the random sequence so the same run reproduces the same numbers. Essential when you want someone to verify your output.
random.sample() random.sample(population, k) list · k distinct items chosen without repetition. Raises ValueError if k is larger than the population.
Slicing off the last item data[:-1] list · A copy of the list without its final element. The original list is unchanged.
Remember
  • Big data is defined relative to your tools, not by a fixed size; volume, velocity, variety, veracity and value are its characteristics.
  • The standard solution is to split data across machines and send the computation to the data, because moving programs is cheap and moving terabytes is not.
  • Most organisational data is unstructured (images, audio, free text), which is exactly what makes it hard to use.
  • The mean of skewed data misleads: one print shop pushed a set of ~₹900 bills to a 'typical' ₹3228, while the median stayed at ₹940.
  • A 500-row random sample estimated the mean of 2 lakh rows as 2584 against a true 2501 — sampling is usually enough.

Internet of Things, Sensors and Smart Cities

Quick answer IoT is the practice of putting sensing, a network connection and some decision-making into ordinary objects so they report what is happening and sometimes act on it, which is powerful, cheap, and by default insecure.

The Internet of Things (IoT) is the idea of connecting everyday physical objects — meters, vehicles, streetlights, farm equipment, wristbands — to a network so that they can send what they measure and, in some cases, receive instructions back. The "thing" is anything that is not normally thought of as a computer.

Every IoT system has the same four parts. Learn these four and you can describe any IoT product:

  1. The thing and its sensors — the hardware that measures something physical and converts it into an electrical signal.
  2. Connectivity — how the reading leaves the device: Wi-Fi, Bluetooth, a mobile network SIM, or a long-range low-power radio for devices in fields.
  3. Processing and storage — where readings are collected, checked and kept, often a cloud service.
  4. Action and interface — what happens as a result: an alert on a phone, a chart on a dashboard, or an actuator physically doing something.

Sensors versus actuators. A sensor turns a physical quantity into a signal. An actuator turns a signal into physical movement or change. The distinction is asked often and is easy to get right: sensors read the world, actuators change it.

SensorMeasuresActuatorDoes
LDRLight levelDC motorRotates something
ThermistorTemperature (a DHT module adds humidity)Servo motorTurns to a set angle
Ultrasonic sensorDistance to an objectRelaySwitches a mains appliance on or off
Soil moisture probeWater content in soilBuzzerMakes a sound alert
Gas / air quality sensorConcentration of a gasSolenoid valveOpens or closes a water line
RFID readerIdentity of a nearby tagLED indicatorShows status by colour

You already use IoT daily. FASTag is an RFID tag read by an antenna at the toll plaza, which triggers a payment and lifts the barrier — sensor, network, processing, actuator, all four parts. A smart electricity meter reports consumption to the utility without a person visiting. A cold-chain box carrying vaccines logs its temperature the whole way so anyone can check the batch was never allowed to warm up.

Related terms. A Wireless Sensor Network (WSN) is a group of scattered sensor nodes that pass their readings to a gateway, often relaying through one another. An embedded system is a computer built into a larger device for one fixed job — a washing machine controller. A smart city is simply IoT applied at municipal scale: traffic signals that respond to actual queues, streetlights that dim when a road is empty, bins that report when they are full, water pipelines that detect leaks by pressure drop.

Edge versus cloud, and why it is a real decision. Should the device decide, or should it send everything to a server? A CCTV camera that streams full video all day burns bandwidth and money. If instead it decides on the device that nothing is happening and sends only a short clip when something moves, that is edge computing. Edge wins when you need an instant response, when bandwidth is scarce, or when the raw data is private and should not leave the building.

Worked example — a sensor loop with a threshold alert. Real firmware reads a hardware pin; here random.randint() stands in for the sensor so the program runs on any machine. The seed keeps the "readings" identical every run.

import random, statistics

random.seed(11)          # same "sensor" values on every run
readings = []
alerts = 0

for hour in range(12):
    aqi = random.randint(60, 260)      # pretend: AQI sensor on a Delhi terrace
    readings.append(aqi)
    if aqi > 200:
        alerts = alerts + 1
        print("hour", hour, "AQI", aqi, "-> ALERT: air quality Poor")

print("All readings :", readings)
print("Average AQI  :", round(statistics.mean(readings), 1))
print("Worst hour   :", readings.index(max(readings)), "with", max(readings))
print("Alerts raised:", alerts)

Real output:

hour 1 AQI 203 -> ALERT: air quality Poor
hour 2 AQI 259 -> ALERT: air quality Poor
hour 6 AQI 210 -> ALERT: air quality Poor
hour 11 AQI 221 -> ALERT: air quality Poor
All readings : [175, 203, 259, 179, 175, 190, 210, 108, 107, 191, 181, 221]
Average AQI  : 183.2
Worst hour   : 2 with 259
Alerts raised: 4

This tiny program is the shape of almost every IoT application: read, store, compare against a threshold, act, summarise. The threshold of 200 is not arbitrary — on India's National Air Quality Index the band 101-200 is Moderate, 201-300 is Poor and 301-400 is Very Poor, so every alert above is a Poor hour, not a Very Poor one. Notice that the average of 183.2 hides the problem completely: it sits inside the Moderate band, yet the air crossed into Poor four separate times. Reporting only the average would have hidden every bad hour. readings.index(max(readings)) gives the position of the largest value; if two hours tied, index() would return the first one.

The security problem is not a footnote. IoT devices are cheap, shipped with the same default password on every unit, often never updated, and expected to run for a decade. That combination has been used repeatedly to take over large numbers of cameras and routers and turn them into attack networks. A device that watches your front door and accepts admin/admin is a worse risk than no device at all. If you build one for a project, change the default credentials and do not expose it directly to the open internet.

random.randint() random.randint(a, b) int · Both ends included, unlike range(). randint(1, 6) can return 6.
list.append() readings.append(x) Adds one item to the end and returns None. Writing readings = readings.append(x) destroys your list.
list.index() readings.index(v) int · Position of the first occurrence of v. Raises ValueError if v is not present.
max() / min() max(readings) Largest item. Combine with index() to find where the largest value occurred.
India's National AQI bands 0-50 Good, 51-100 Satisfactory, 101-200 Moderate, 201-300 Poor, 301-400 Very Poor, 401-500 Severe Not Python. Worth knowing because an AQI of 259 is Poor, not Very Poor, and news reports often get the band name wrong.
Threshold pattern if value > LIMIT: raise alert Not library syntax. The core of nearly every IoT rule; the limit belongs in a named variable, not typed inline.
Remember
  • Every IoT system has four parts: the thing with its sensors, connectivity, processing and storage, and action or interface.
  • Sensors read the world (LDR, thermistor, ultrasonic, RFID); actuators change it (motor, relay, buzzer, valve).
  • FASTag is a complete IoT example — an RFID tag read at the plaza triggers payment and lifts the barrier.
  • Edge computing decides on the device instead of streaming everything, which saves bandwidth, cuts delay and keeps raw data local.
  • An average hides threshold events: a mean AQI of 183.2 sits in the Moderate band while four separate hours crossed 200 into Poor.

Cloud Computing, Grid Computing and Blockchain

Quick answer Cloud rents computing on demand from a provider, grid pools many separately-owned computers to solve one large problem, and blockchain chains records together with hashes so that altering an old entry invalidates every entry after it.

Cloud computing means getting computing resources — machines, storage, databases, finished applications — over the internet, on demand, paying only for what you use. The usual list of essential characteristics is: on-demand self-service (you provision it yourself, no phone call), broad network access, resource pooling (one provider's hardware serves many customers), rapid elasticity (scale up for exam results day, scale down after), and measured service (usage is metered and billed).

Service models — what exactly you are renting:

ModelYou rentYou manageExample use
IaaS (Infrastructure as a Service)A bare virtual machine, storage, networkOperating system, database, your applicationA college rents a VM and installs its own server software
PaaS (Platform as a Service)A ready environment to run your codeOnly your application code and dataDeploying a Python web app without touching the OS
SaaS (Software as a Service)A finished applicationOnly your data and settingsWebmail, an online classroom, a cloud spreadsheet

The rule to remember: the more you rent, the less you control. IaaS gives the most freedom and the most work; SaaS gives the least of both.

Deployment models. A public cloud is shared infrastructure open to any paying customer. A private cloud is dedicated to one organisation, whether on its own premises or hosted for it — chosen when rules require the data to stay under direct control. A community cloud is shared by several organisations with common requirements, such as a group of hospitals. A hybrid cloud combines them: sensitive records in the private part, the public website in the public part.

Worked example — why renting can beat buying. A college result portal is idle for most of the year and then hammered for a few weeks.

# Cloud pricing is per-use. Compare buying a server vs renting one.
own_cost = 180000            # rupees, one-time, plus power/AC
rent_per_hour = 12           # rupees

hours_in_year = 365 * 24
print("Hours in a year        :", hours_in_year)
print("Renting all year       :", rent_per_hour * hours_in_year)

# A college result portal is really busy only 30 days a year, 10 hours a day.
busy_hours = 30 * 10
print("Renting only when busy :", rent_per_hour * busy_hours)
print("Break-even hours       :", own_cost // rent_per_hour)

Real output:

Hours in a year        : 8760
Renting all year       : 105120
Renting only when busy : 3600
Break-even hours       : 15000

Read the result carefully. Renting round the clock costs ₹1,05,120 a year, so over two years renting continuously is worse than buying — the break-even is 15000 hours, which is about 1.7 years of continuous use. But renting only during the 300 busy hours costs ₹3,600. Cloud is not automatically cheaper; it is cheaper when your load is bursty. For a steady 24×7 load, owning often wins. That is the honest version of the cloud sales pitch.

Grid computing pools many separate, often geographically scattered and differently-configured computers so they work together on one large problem, typically by splitting it into independent pieces. The classic use is scientific: volunteer projects where thousands of people donate their idle home computers to research calculations. Note the contrast with a supercomputer such as C-DAC's PARAM series — that is one tightly-coupled machine in one room, not a grid.

PointCloud ComputingGrid Computing
OwnershipOne provider owns the hardwareMany owners contribute their own machines
PurposeGeneral services, rented by anyoneUsually one large computational problem
PaymentPay per useUsually voluntary or by institutional agreement
HardwareUniform, virtualisedHeterogeneous, whatever members have
CouplingCentrally managedLoosely coupled, machines join and leave

Blockchain is a record (a ledger) kept as a chain of blocks. Each block holds some data, its own hash, and the hash of the previous block. Many participants keep a full copy, and a consensus rule decides which new block everyone accepts. The result is tamper-evident storage: you cannot quietly edit an old entry, because doing so changes that block's hash, which was recorded inside the next block, and so on down the chain.

Worked example — build the chain, then try to cheat it. Real blockchains use SHA-256; this toy hash is deliberately simple so you can see the mechanism.

# A toy hash. Real blockchains use SHA-256; the idea is the same:
# any change in the text changes the number completely.
blocks = ["Aarav pays Priya 500",
          "Priya pays Rahul 200",
          "Rahul pays Sana 50"]

prev = 0
chain = []
for data in blocks:
    text = str(prev) + "|" + data
    h = 7
    for ch in text:
        h = (h * 31 + ord(ch)) % 1000003
    chain.append((prev, h, data))
    prev = h

for p, h, data in chain:
    print("prev =", p, " hash =", h, " :", data)

Real output:

prev = 0  hash = 571671  : Aarav pays Priya 500
prev = 571671  hash = 334703  : Priya pays Rahul 200
prev = 334703  hash = 857821  : Rahul pays Sana 50

Now someone edits the middle block, changing 200 to 2000:

# Someone edits block 2: "200" becomes "2000". Watch every later hash change.
tampered = ["Aarav pays Priya 500",
            "Priya pays Rahul 2000",
            "Rahul pays Sana 50"]

prev = 0
for data in tampered:
    text = str(prev) + "|" + data
    h = 7
    for ch in text:
        h = (h * 31 + ord(ch)) % 1000003
    print("prev =", prev, " hash =", h, " :", data)
    prev = h

Real output:

prev = 0  hash = 571671  : Aarav pays Priya 500
prev = 571671  hash = 375811  : Priya pays Rahul 2000
prev = 375811  hash = 323050  : Rahul pays Sana 50

Compare the two runs. Block 1 is untouched, so its hash is still 571671. But block 2's hash went from 334703 to 375811, and block 3 — whose text was never edited at all — went from 857821 to 323050, purely because the previous hash feeding into it changed. That is the entire trick. To hide the edit you would have to recompute every block after it, on every copy held by every participant, faster than the network adds new blocks.

Be precise about what blockchain does and does not give you:

  • It makes changing stored records detectable. It does not check whether the data was true when it was written. If someone records a false land ownership entry on day one, the chain protects that falsehood perfectly.
  • "Tamper-evident" is the correct word, not "tamper-proof".
  • Proof-of-work consensus, used by some public blockchains, consumes a great deal of electricity by design — the cost is the security.
  • Blockchains are slow and expensive compared with an ordinary database. If one organisation controls the data anyway, a database with good backups and audit logs is the sensible choice. Blockchain earns its cost only when the participants genuinely do not trust one another.
IaaS / PaaS / SaaS rent machine / rent platform / rent finished app Not Python. Control decreases and convenience increases as you move down the list.
Cloud deployment models public | private | community | hybrid Not Python. Hybrid means sensitive workloads private, public-facing ones on shared infrastructure.
ord() ord(ch) int · Unicode code point of a one-character string. ord('I') is 73, ord('A') is 65. chr() is the reverse.
Modulo h % 1000003 int · Keeps a running hash inside a fixed range. A small modulus means more collisions, which is why real hashes are 256 bits wide.
Block link rule block[n] stores hash(block[n-1]) Not Python. Editing any old block invalidates the hash of every block after it — the whole basis of tamper evidence.
Joining an int to a str str(prev) + "|" + data + never joins an int and a str. Writing prev + "|" raises TypeError: unsupported operand type(s) for +: 'int' and 'str'; the other order, "|" + prev, raises TypeError: can only concatenate str (not "int") to str. str() avoids both.
Remember
  • Cloud service models: IaaS rents a bare machine, PaaS rents a run-ready platform, SaaS rents a finished application — the more you rent, the less you control.
  • Cloud deployment models are public, private, community and hybrid; the choice is usually driven by rules about where data may live.
  • Cloud wins on bursty load, not automatically: renting round the clock cost ₹1,05,120 a year against a ₹1,80,000 server, break-even at 15000 hours (about 1.7 years).
  • Grid pools many separately-owned, heterogeneous machines for one problem; cloud is one provider's uniform hardware rented per use.
  • Each block stores the previous block's hash, so editing block 2 changed block 3's hash from 857821 to 323050 even though block 3's text was untouched.
  • Blockchain is tamper-evident, not tamper-proof, and it never verifies that the data written into it was true.

The formula sheet

Every formula in this chapter, in one place — screenshot it before your exam.

a // b
Floor divisionint
round(x, n)
round()float
1024 ** 3
One gibibyte in bytesbytes
print(a, b, c)
print() with commas
math.dist(p, q)
math.dist()float
math.inf
math.inffloat
for a, b, c in list_of_tuples:
Unpacking inside a for loop
DL is inside ML, ML is inside AI
AI / ML / DL nesting
label(new) = label of the closest training example
Nearest neighbour rule
statistics.mean(data)
statistics.mean()
statistics.median(data)
statistics.median()
statistics.stdev(data)
statistics.stdev()float
random.seed(n)
random.seed()
random.sample(population, k)
random.sample()list
data[:-1]
Slicing off the last itemlist
random.randint(a, b)
random.randint()int
readings.append(x)
list.append()
readings.index(v)
list.index()int
max(readings)
max() / min()
0-50 Good, 51-100 Satisfactory, 101-200 Moderate, 201-300 Poor, 301-400 Very Poor, 401-500 Severe
India's National AQI bands
if value > LIMIT: raise alert
Threshold pattern
rent machine / rent platform / rent finished app
IaaS / PaaS / SaaS
public | private | community | hybrid
Cloud deployment models
ord(ch)
ord()int
h % 1000003
Moduloint
block[n] stores hash(block[n-1])
Block link rule
str(prev) + "|" + data
Joining an int to a str

Test yourself

Tap an answer to check it instantly — you'll see why it's right, and what to revise if it isn't.

0 correct · 0/12 answered
Q1

What is the output of this code?import statisticsdata = [10, 20, 30, 40, 500]print(statistics.median(data), statistics.mean(data))

Q2

Which of the following is NOT one of the characteristics normally listed for Big Data?

Q3

What is the output of this code?import randomrandom.seed(5)a = random.randint(1, 100)random.seed(5)b = random.randint(1, 100)print(a == b, a)

Q4

A college rents a bare virtual machine from a provider, then installs the operating system, the web server and the database itself. Which cloud service model is this?

Q5

What is the output of this code?h = 7for ch in "IoT": h = (h * 31 + ord(ch)) % 1000print(h)

Q6

In a blockchain, what makes it hard to quietly alter a transaction stored in an old block?

Q7

What is the output of this code?r = [175, 203, 259, 108]c = 0for x in r: if x > 200: c = c + 1print(c, r.index(max(r)))

Q8

Which of the following is an actuator rather than a sensor?

Q9

What is the output of this code?import mathprint(round(math.dist((0, 0), (3, 4)), 1))

Q10

Which statement correctly distinguishes grid computing from cloud computing?

Q11

What is the output of this code?import statisticsprint(statistics.mode(["cloud", "grid", "cloud", "iot"]))

Q12

Which statement about machine learning is correct?

NCERT solutions & previous-year questions

Step-by-step model answers — tap a question to reveal the full solution.

NCERT questions 6

1 What is the difference between Artificial Intelligence and Machine Learning? Explain with an example.Artificial Intelligence

Artificial Intelligence (AI) is the wider goal of making a machine perform tasks that would need human intelligence — recognising a face, understanding speech, planning a route, playing a game. AI includes systems where a human writes every rule by hand.

Machine Learning (ML) is one approach to achieving AI, in which the program is given many labelled examples and works out the rule itself. Nobody writes the rule; the program adjusts until its answers on the examples are mostly correct.

PointArtificial IntelligenceMachine Learning
ScopeThe overall field and goalA subset of AI
How the rule is obtainedMay be written by a programmerDerived from data by the program
Needs training data?Not necessarilyYes, essentially always
Improves with more data?Not by itselfUsually yes

Example. A calculator app that decides a number is even using if n % 2 == 0 is a hand-written rule — simple AI-style logic, not ML. Now consider deciding whether a dish is sweet or spicy from its ingredients. Nobody writes that rule; you show the program labelled examples and it decides by finding the closest one:

import math
samples = [(12, 2, "spicy"), (15, 1, "spicy"), (9, 3, "spicy"),
           (1, 30, "sweet"), (0, 45, "sweet"), (2, 38, "sweet")]
new_dish = (3, 33)
best_label = ""
best_dist = math.inf
for chilli, sugar, label in samples:
    d = math.dist(new_dish, (chilli, sugar))
    if d < best_dist:
        best_dist = d
        best_label = label
print("Nearest neighbour says:", best_label)

Observed output: Nearest neighbour says: sweet

The code contains no statement saying "high sugar means sweet". The knowledge sits entirely in the six labelled examples. That is the practical difference: in ML, changing the data changes the behaviour without changing a single line of code.

2 Define Big Data. Explain the characteristics of Big Data.Big Data

Definition. Big data refers to data whose size, speed of arrival or variety of form makes it impractical to store and process using ordinary tools on a single computer. The definition is deliberately relative — what is unmanageable for a school laptop is routine for a bank — so there is no fixed number of gigabytes at which data becomes "big".

Characteristics (the five V's):

  1. Volume — the sheer quantity. For example, every toll-plaza crossing on a highway network across a year.
  2. Velocity — the rate at which new data arrives and must be handled, such as UPI payments during a festival sale.
  3. Variety — different forms in the same problem: numbers, scanned bills, CCTV video, recorded voice complaints.
  4. Veracity — how trustworthy the data is. Faulty sensors, duplicate rows and blank fields all reduce veracity.
  5. Value — whether anything useful can actually be obtained. Data nobody analyses has no value however large it is.

Showing volume with a calculation. Take 2500 smart water meters, each reporting once every 5 seconds:

readings_per_day = 24 * 60 * 60 // 5
meters = 2500
per_day = readings_per_day * meters
total = per_day * 365 * 40          # 40 bytes per reading
print(readings_per_day, per_day, round(total / (1024 ** 3), 2))

Observed output: 17280 43200000 587.4

So one building alone produces about 4.32 crore readings a day and roughly 587 GB a year from a single boring measurement. This is volume arising without anyone intending it.

Showing veracity with a calculation. Eleven electricity bills where one flat runs a print shop:

import statistics
bills = [820, 940, 760, 1100, 890, 1010, 780, 950, 870, 990, 26400]
print(statistics.mean(bills), statistics.median(bills))

Observed output: 3228.181818181818 940

The mean of ₹3228 describes no actual flat. One unreliable or unusual record can distort a correctly-computed summary, which is exactly why veracity is listed as a characteristic in its own right.

3 What is the Internet of Things (IoT)? Name the components of an IoT system and give two examples of sensors used in it.Internet of Things

Definition. The Internet of Things is the network of everyday physical objects — meters, vehicles, streetlights, farm equipment, wearables — that are fitted with sensors and network connectivity so they can collect data, send it, and in many cases receive instructions and act on them. The "thing" is any object not normally regarded as a computer.

Components of an IoT system:

  1. The thing with its sensors — hardware that measures a physical quantity and converts it into an electrical signal.
  2. Connectivity — the path the reading takes out of the device: Wi-Fi, Bluetooth, a mobile SIM, or a long-range low-power radio.
  3. Data processing and storage — where readings are collected, validated and kept, often a cloud service.
  4. Action and user interface — an alert, a dashboard, or an actuator such as a motor or relay that physically responds.

Two example sensors:

  • LDR (Light Dependent Resistor) — its resistance changes with light level, used in streetlights that switch on at dusk.
  • Ultrasonic sensor — sends a pulse and times the echo to measure distance, used in a smart bin to check how full it is.

(Others that would be accepted: thermistor or DHT module for temperature and humidity, soil-moisture probe, gas/air-quality sensor, RFID reader.)

Worked illustration of the read-compare-act loop:

import random, statistics
random.seed(11)
readings = []
alerts = 0
for hour in range(12):
    aqi = random.randint(60, 260)
    readings.append(aqi)
    if aqi > 200:
        alerts = alerts + 1
print(readings)
print(round(statistics.mean(readings), 1), alerts)

Observed output:

[175, 203, 259, 179, 175, 190, 210, 108, 107, 191, 181, 221]
183.2 4

Here random.randint stands in for a real hardware sensor. The mean of 183.2 sits in the Moderate band of India's National AQI scale, even though the air crossed 200 into the Poor band on four separate occasions — a reminder that an IoT system must report events, not just averages.

4 What is cloud computing? Explain the different service models of cloud computing.Cloud Computing

Definition. Cloud computing is the delivery of computing resources — machines, storage, databases and finished applications — over the internet, on demand, with payment based on actual usage. Its essential characteristics are on-demand self-service, broad network access, resource pooling, rapid elasticity and measured (metered) service.

Service models:

ModelProvider suppliesCustomer managesExample
IaaS — Infrastructure as a ServiceVirtual machines, storage, networkingOperating system, database, application, dataA school rents a virtual server and installs its own software on it
PaaS — Platform as a ServiceA ready run-time environment with OS and tools already set upOnly the application code and its dataUploading a Python web application without configuring any server
SaaS — Software as a ServiceA complete, finished applicationOnly the data and settingsWebmail, an online classroom, a cloud spreadsheet

The pattern: as you move from IaaS to SaaS, the provider takes on more work and you keep less control.

Deployment models (often asked in the same question): public (shared, open to any paying customer), private (dedicated to one organisation), community (shared by organisations with common requirements), and hybrid (a combination, typically sensitive data private and the public website on public cloud).

Worked example — when is renting actually cheaper?

own_cost = 180000
rent_per_hour = 12
hours_in_year = 365 * 24
print(hours_in_year, rent_per_hour * hours_in_year)
busy_hours = 30 * 10
print(rent_per_hour * busy_hours, own_cost // rent_per_hour)

Observed output:

8760 105120
3600 15000

Renting continuously costs ₹1,05,120 a year, so the break-even against a ₹1,80,000 server is 15000 hours — about 1.7 years of non-stop use. But a result portal that is genuinely busy for only 300 hours a year costs just ₹3,600 to rent. The correct conclusion is that cloud saves money when the load is bursty and unpredictable, not in every case.

5 Differentiate between cloud computing and grid computing.Grid Computing

Both spread work across more than one machine, but they answer different questions. Cloud computing asks: how do I get computing without buying hardware? Grid computing asks: how do we pool the computers we already own to solve one problem too big for any of them alone?

BasisCloud ComputingGrid Computing
Ownership of machinesOne provider owns and operates the hardwareMany independent owners contribute their own machines
Main purposeDeliver general-purpose services on demand to any customerSolve one large computational problem, often scientific
HardwareUniform and virtualisedHeterogeneous — whatever each member happens to own
Coupling and controlCentrally managed by the providerLoosely coupled; nodes join and leave freely
Payment modelPay per use, meteredUsually voluntary participation or an institutional agreement
LocationProvider data centresGeographically scattered, often across institutions or homes
Typical userBusinesses, schools, individual developersResearch groups, universities, volunteer science projects

Example of each. A college that rents a virtual server for its admission portal during application season and gives it back afterwards is using cloud computing. A research project that splits a very large calculation into independent pieces and distributes them to thousands of volunteers' idle home computers is using grid computing.

A distinction worth adding. Neither is the same as a supercomputer. A supercomputer such as C-DAC's PARAM series is one tightly-coupled machine housed in a single facility with a fast internal interconnect. A grid is deliberately the opposite: loosely-coupled, mismatched machines in many places, tolerant of members disappearing at any moment.

6 What is a blockchain? Explain how a blockchain makes it difficult to change a record that has already been stored.Blockchain

Definition. A blockchain is a distributed ledger kept as a chain of blocks. Each block contains some data (for example a set of transactions), its own hash, and the hash of the previous block. Many participants keep a full copy of the chain, and a consensus rule decides which new block everyone accepts.

Why an old record cannot be quietly edited. A hash is a fixed-size number computed from the contents of a block; change even one character and the hash changes completely. Because block n stores the hash of block n-1, altering an old block breaks the link recorded in the very next block, whose hash then changes, breaking the next one, and so on to the end of the chain.

Demonstration. Building a three-block chain with a simple hash:

blocks = ["Aarav pays Priya 500",
          "Priya pays Rahul 200",
          "Rahul pays Sana 50"]
prev = 0
for data in blocks:
    text = str(prev) + "|" + data
    h = 7
    for ch in text:
        h = (h * 31 + ord(ch)) % 1000003
    print("prev =", prev, " hash =", h, " :", data)
    prev = h

Observed output:

prev = 0  hash = 571671  : Aarav pays Priya 500
prev = 571671  hash = 334703  : Priya pays Rahul 200
prev = 334703  hash = 857821  : Rahul pays Sana 50

Now the middle block is tampered with, 200 becoming 2000, and nothing else is touched — only the list changes, the loop above is run again unaltered:

blocks = ["Aarav pays Priya 500",
          "Priya pays Rahul 2000",
          "Rahul pays Sana 50"]

Observed output:

prev = 0  hash = 571671  : Aarav pays Priya 500
prev = 571671  hash = 375811  : Priya pays Rahul 2000
prev = 375811  hash = 323050  : Rahul pays Sana 50

Reading the result: block 1 is unchanged, so its hash is still 571671. Block 2's hash changed from 334703 to 375811 because its text changed. Crucially, block 3's hash changed from 857821 to 323050 even though its own text was never edited — only the previous hash feeding into it changed. Anyone holding a copy of the original chain sees the mismatch immediately. To hide the edit, the attacker would have to recompute every subsequent block on a majority of all copies, faster than the network adds new ones.

An important qualification. Blockchain makes changes to stored records detectable — it is tamper-evident, not tamper-proof — and it does not verify that the data was true when it was first written. A false entry recorded on day one is protected just as faithfully as a true one.

Part of Priodemy for School

Interactive CBSE lessons, Class 8–12 — free with every school on Priodemy EduSuite. Explore more chapters and labs on the Priodemy for School hub.

Ask AI