Home / Computer Science / Class XII / Project Based Learning
Project Based Learning — CUET Computer Science hero
Class XII 💻 Computer Science Ch 20 of 20

Project Based Learning

CUET unit: Project Based Learning

📌 Snapshot

  • Plan, run and present a data project: five PBL steps, six teamwork skills and four sample projects explained.
  • Modules, project leader, time frame and monitoring, and why a project that skips planning fails.
  • Online shop, books camp, survey and open data projects, with their rules, codes, CSV files and Pandas steps.
  • The eight step Pandas analysis on census data with the exact code, plus the exam traps NTA sets around it.

📖 Detailed Notes

Written and reviewed by Rohit Singh, Computer Science & Commerce faculty at UniDrill (MCA, Osmania University · 6 years teaching). Based on NCERT Informatics Practices Class XII, Chapter 7.

Why do group projects fall apart?

Four friends decide to build a small online shop. One starts designing the logo, one writes code, one collects product photos, and the fourth waits for instructions. Three weeks later the code does not match the photos, nobody knows who owns the database, and the deadline is tomorrow. The code was not the problem. The method was. Project Based Learning (PBL) is the method that prevents this: pick a real problem, split it into modules, share the roles, watch the clock, and combine the pieces into one result. This chapter also shows four sample projects, so it is part theory (steps and teamwork) and part practice (Pandas and plots on real data).

What PBL is

PBL gives students thorough practical exposure to a problem. Working in groups, they build skills such as working together, problem solving, decision making and investigating. The process runs in four moves: analyse the problem, break it into small modules, solve each module with a suitable method, and integrate the module solutions into the complete answer. Along the way the team gathers the data the project needs, processes it with a chosen method, and reports the results in a predetermined format.

Approaches: modules, top-down and bottom-up

A project can be run in several ways, namely the modular, top-down and bottom-up approaches.

Approach Idea Example
Modular (structured) Split the project into manageable modules. Each module has a well-defined task, a set of inputs and a set of outputs, and the outputs together give the desired outcome Online shop: catalogue module, orders module, sales report module
Top-down Start from the whole system and break it into smaller parts Draw the full shop first, then design each page
Bottom-up Build the small low-level parts first and combine them upward Write the discount function first, then build the checkout around it

Why modules work. If each module has clear inputs and outputs, three team members can work on three modules at the same time without waiting for each other. Integration at the end is simple only if every module delivers exactly what the next one expects.

Beyond the textbook. For the exam: a module has a task, inputs and outputs, and integrating modules gives the outcome. In reality: the usual reason integration fails is that two modules were built on different assumptions, for example one stores prices as text and another expects numbers. Teams avoid this by agreeing on the format of each module's input and output before anyone starts coding.

The five steps of PBL

The steps are numbered, and exam questions test the order and the one idea that belongs to each step.

The flow in one line: Identification → Defining a plan → Fixing a time frame and processing → Guidance and monitoring → Outcome

Step What happens The idea to remember
1. Identification of a project The idea comes from a real life situation, such as organising a seminar; understand its usefulness and impact Encourage interdisciplinary projects
2. Defining a plan Identify one project leader; define the roles of leader and members; assign specific activities; know the tools; think of extreme situations Roles and tools
3. Fixing a time frame and processing Every project is time relevant; each activity needs time Well structured but flexible
4. Providing guidance and monitoring Stuck members get help from books, websites and experts; the project leader monitors, and the guide teacher helps Leader monitors, teacher guides
5. Outcome of a project The outcome can be single or multiple; it can be peer reviewed and modified using feedback Peer review and feedback

Pause and predict: a team starts writing code on the first day without choosing a leader or deciding who does what. Which step did it skip?

Check your answer: step 2, defining a plan. That step is where the project leader is chosen, the roles are fixed, activities are assigned and tools are listed. Skipping it produces the confusion in the hook of this chapter.

Teamwork: six skills that decide the result

Teamwork is an effort made collectively by individuals to accomplish a task. In a cricket match, a good ball takes a wicket only if the fielder holds the catch, so batting, bowling and fielding all matter. Apart from technical skill, a successful team needs six components.

Component What it means What goes wrong without it
Communicate Use emails, phone calls or group meetings so everyone understands each other and sorts out problems Two members build the same module
Listen Understand others' ideas in meetings and follow the steps agreed Decisions are repeated or ignored
Share Share ideas, images and tools; experts share experience to meet the time frame One member becomes the bottleneck
Respect Treat everyone respectfully and consider every idea A member who is ignored stops giving his best
Help Every member lends a hand; help from outside the team is sometimes used too A small problem stalls the whole team
Participate Everyone takes part in the work and in discussions, so each feels important Quiet members drift away

Remember the six as C, L, S, R, H, P. There are exactly six. Ideas such as "Compete with others" or "Evaluate others" are not in the list.

Project I: the online shopping platform

Murugan plans an online store called APPAREL EASY with two broad categories, Men and Women, and the sub-categories Clothing, Footwear and Accessories. He plans two mega events: the Festive Sale (a month before Diwali to Christmas) and the End of Season Sale (February and August). He wants to record monthly revenue, category wise sales and the discounts offered by manufacturers, payment sites or the portal itself.

Rule Detail
Data fields Apparel Code, Name, Category, Size, Price, Customer Name, Payment Mode, Discount Code, etc.
Credit or debit card Card number, name, CVV and validity must be entered
Cash on Delivery (COD) No details are asked
Sale items Randomly selected, and not more than 70 per cent of the total merchandise
Discount codes FEST = 10 per cent (Festive Sale), EOS = 15 per cent (End of Season Sale)
Tools Store data with Python Pandas; keep records of visiting and ordering customers; plot the data to guide marketing

Worked example: sale price and limit. A jacket costs ₹1,800. The store has 400 items.

Step What we do Result
1 FEST price = price × (1 − 0.10) 1800 × 0.90 = ₹1,620
2 EOS price = price × (1 − 0.15) 1800 × 0.85 = ₹1,530
3 Maximum items on sale = 70 per cent of 400 0.70 × 400 = 280 items

A common wrong step is to subtract the percentage number straight from the price (1800 − 15), or to swap the two codes. FEST is the smaller discount.

Code
def final_price(price, code):
    rate = {"FEST": 0.10, "EOS": 0.15}.get(code, 0)
    return price * (1 - rate)
print(final_price(2000, "FEST"))
print(final_price(2000, "EOS"))
Output
1800.0
1700.0

Pause and predict: an item costs ₹2,400 and the customer uses the EOS code. What does the customer pay?

Check your answer: ₹2,040. EOS gives 15 per cent off, so the customer pays 85 per cent: $2400 \times 0.85 = 2040$.

Project II: the books donation camp

The Bookworm club's annual camp is built on Reduce, Reuse, Recycle. Volunteers sort donated books into Fit, Needs Mending or Unfit. Pages of unfit books become paper bags and envelopes. The other books are resold at half the price. Notebooks with pages left are stripped, bound afresh and sold.

The software uses three CSV files managed with Pandas.

File Columns Rules
Collection Item category, Item ID, Item name, Item type, Condition Book ID starts with B and type is Academic or Non Academic (class is entered for academic); Notebook ID starts with N and type is Single line, Four Line or Five Line; Condition is only Fit, Needs Mending or Unfit
Refurbished items Item id, Item name, Item Category, Quantity, Price Category can be Paper bags, Notebook or Books (class is also entered for books)
Orders Item Category, Item name, Quantity, Price An order updates the quantity in the refurbished file

Plots are drawn to show sales, items refurbished and items collected, so that the club can decide what to collect and make next year.

Code
import pandas as pd
df = pd.DataFrame({"Item ID": ["B101", "B102", "N201", "N202", "B103"],
    "Condition": ["Fit", "Unfit", "Fit", "Needs Mending", "Fit"]})
print(len(df[df["Condition"] == "Fit"]))
print(len(df[df["Item ID"].str.startswith("B")]))
Output
3
3

The first line counts the items in Fit condition, and the second counts the items whose ID starts with B, which are the books.

Project III: the survey on social networking and teenagers

This project asks how heavy use of social networking sites affects teenagers' behaviour, a topic of concern for mental health. The five steps are a clear template for any survey project:

Step Task
1 Create a questionnaire with a free online tool such as Google Forms and store the responses in a CSV file
2 Prepare the data analysis questions you expect to answer
3 Import the CSV file into a Pandas DataFrame
4 Compute statistics such as mean and median for those questions
5 Visualise the findings with suitable charts

Mean and median can tell different stories. For daily hours online reported as 1, 2, 2, 3 and 7, the mean is 3.0 but the median is 2.0, because one heavy user pulls the mean up.

Code
import pandas as pd
hours = pd.Series([1, 2, 2, 3, 7])
print(hours.mean())
print(hours.median())
Output
3.0
2.0

Beyond the textbook. For the exam: the survey steps are questionnaire, CSV, DataFrame, statistics, charts. In reality: a survey describes only the people who answered. If only your friends fill the form, the result describes your friends, not "teenagers". Report it as "of the 80 respondents..." and not as a claim about all teenagers.

Project IV: analysing an open government dataset

The Open Government Data (OGD) Platform India, www.data.gov.in, supports the Government of India's open data initiative. The chapter uses the dataset "Special Tabulation on Adolescent and youth population classified by various parameters for India, States and Union Territories, 2011". It was contributed by the Ministry of Home Affairs, released under the National Data Sharing and Accessibility Policy (NDSAP) and published on the portal on 07/09/2015.

Fact Value
Rows 12168
Columns 123
Key columns Area Name (states and union territories), Total/Rural/Urban, Adolescent and youth categories, population for persons, males and females; Scheduled Caste and Scheduled Tribe columns; literate, illiterate, main worker and marginal worker columns, each split by male and female

A project takes any 4 or 5 questions from a list and answers them step by step with documentation. The list includes the population aged 10 to 24 in India, the state with the most illiterate youth, the percentage of marginal workers, the top five states for marginal workers, the sex ratio of rural against urban areas, and literacy among Scheduled Castes and Tribes. Each question points to a chart type: comparisons of states or of male against female use bar graphs, and a share of a whole, such as literate against illiterate Scheduled Tribes in urban areas, uses a pie chart.

Task 1 in eight steps: What is the total population, male population and female population aged 10 to 24 in India?

Step Action Statement
0 Import the libraries import pandas as pd and import matplotlib.pyplot as plt
1 Read the CSV file into a DataFrame pd.read_csv(...)
2 Check the shape print(df.shape) gives (12168, 123)
3 View the columns print(df.columns.values)
4 Filter: pick the columns needed and the rows needed (Area Name = INDIA) Inspect df['Area Name']
5 Create a new DataFrame with the filtered data df.loc[row selection, column selection]
6 Rename long column names df1.columns = [...] with six short names
7 Group the data by category and sum groupby('Category').sum(), then drop unwanted rows
8 Plot a bar chart d.plot(kind='bar') and plt.show()
Code
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv("PCA_AY_2011_Revised.csv")
df = pd.DataFrame(data)
print(df.shape)
df1 = df.loc[(df['Area Name'] == 'INDIA'), 'Area Name':'Total Population - Females']
df1.columns = ['Area', 'Class', 'Category', 'TotalPop', 'MalePop', 'FemalePop']
d = df1.groupby('Category').sum()
d = d.drop(['Adolescent (10-19)', 'All Ages', 'Youth (15-24)'], axis=0)
d.plot(kind='bar')
plt.show()

Reading the key lines. df.loc[rows, columns] selects by labels. The row condition keeps only rows whose Area Name is INDIA, and the slice 'Area Name':'Total Population - Females' takes every column from the first label to the second, and with labels the end column is included. That gives six columns, which is why exactly six new names are assigned in step 6. The Category column holds six values: 10-14, 15-19, 20-24, Adolescent (10-19), All Ages and Youth (15-24). Only the first three are wanted, so drop removes the other three with axis=0, which means rows (axis=1 would mean columns). Pandas spells the grouping method groupby, in one lowercase word, and it works like the SQL clause GROUP BY. On newer Pandas versions, sum() also tries to add the text columns, and sum(numeric_only=True) keeps only the number columns.

Pause and predict: df.shape for this dataset prints (12168, 123). Which number is the count of rows and which is the count of columns?

Check your answer: the shape is always (rows, columns), so there are 12168 rows and 123 columns. Swapping them is a classic slip.

The grouped and trimmed result that the chapter shows is:

Category TotalPop MalePop FemalePop
10-14 265418424 138837670 126580754
15-19 241052898 127964792 113088106
20-24 222848444 115169386 107679058

The bar chart that follows shows the three population columns for each age group. Its y axis is marked 1e8, which is an offset in scientific notation: every tick value must be multiplied by 100,000,000.

Beyond the textbook. For the exam: the grouped table above is the result of step 7, and the code is as written. In reality: the table counts every person twice. The INDIA rows hold a Total row, a Rural row and an Urban row for each age group, and Total is just Rural plus Urban (for 10-14: 96,804,494 + 35,904,718 = 132,709,212). Summing all three doubles the figure: 2 × 132,709,212 = 265,418,424. To get the true answer you would keep only the Total rows before grouping. Then the 10 to 24 population is 132,709,212 + 120,526,449 + 111,424,222 = 364,659,883 persons, made up of 190,985,924 males and 173,673,959 females. Always ask "do my rows overlap?" before you sum.

Exam traps

The trap Why it's tempting The truth
"Defining a plan comes after fixing the time frame." Time seems the first thing a project needs Order is identification, defining a plan, time frame, guidance and monitoring, outcome
"There are seven teamwork components." Longer lists look complete Exactly six: communicate, listen, share, respect, help, participate
"EOS gives 10 per cent and FEST gives 15 per cent." The longer sale sounds bigger FEST = 10 per cent, EOS = 15 per cent
"Notebook IDs start with B." Both items are books to many people Book = B, Notebook = N
"Condition can be Good, Average or Poor." These sound natural Only Fit, Needs Mending or Unfit
"df.loc uses integer positions." iloc and loc look alike loc selects by labels; iloc selects by integer position
"drop with axis=1 removes rows." Axis numbers feel arbitrary axis=0 drops rows; axis=1 drops columns
"The OGD dataset has 123 rows." The two numbers look similar 12168 rows and 123 columns

60-second revision

Topic Lock this in
PBL process Analyse → modules → solve each → integrate; report in a predetermined format
Five steps Identification · Defining a plan · Time frame · Guidance and monitoring · Outcome
Plan step One project leader, defined roles, assigned activities, known tools
Teamwork Communicate · Listen · Share · Respect · Help · Participate
APPAREL EASY Men and Women · COD needs no details · card needs number, name, CVV, validity · sale items at most 70 per cent · FEST 10 · EOS 15
Books camp Fit, Needs Mending, Unfit · B for book, N for notebook · three CSV files · unfit pages become paper bags
Survey Online form → CSV → DataFrame → mean and median → charts
OGD dataset data.gov.in · Ministry of Home Affairs · NDSAP · 12168 rows × 123 columns
Pandas steps read_csv → shape → columns → loc → rename → groupby → drop (axis=0) → plot bar

Where this chapter connects

🎯 Practice MCQs

First 3 questions free · create a free account to unlock the rest — answers & explanations included, no payment needed

Q1. A group of students decides to organise a school seminar. They discuss why it is useful and what impact it would have. Which step of Project Based Learning are they performing?

▸ Show answer & explanation

Answer: C

Identification is the first step, where the idea comes from a real situation and its usefulness and impact are understood. Defining a plan is about the leader, roles and tools, and fixing a time frame is about duration.

Q2. In a project team, one student is chosen as leader, each member is given a role and a specific activity, and the tools for the work are listed. This is the step of

▸ Show answer & explanation

Answer: A

Identifying a project leader, defining roles, assigning activities and knowing the tools all belong to defining a plan, which is step 2. Guidance and monitoring is about help when members get stuck and about tracking progress.

Q3. During a group meeting, the ideas of one junior member are ignored, and he stops giving his best. Which component of teamwork is missing?

▸ Show answer & explanation

Answer: D

Not respecting the views of a member may stop that member from giving his best, which is the reason for the respect component. Share is about circulating ideas and tools, help is about lending a hand, and communicate is about using emails, calls or meetings.

🔒 12 more practice MCQs

Create a free account to unlock every MCQ in this chapter — answers and explanations included. No payment needed.

Already registered? Just log in and they'll all appear here.

📊 Previous-Year Questions

Practise with real CUET Computer Science previous-year papers — every question solved, with the correct answer and a step-by-step explanation.

View solved CUET PYQ papers →

Ready to drill Computer Science?

Unlock all MCQs, chapter tests, mocks & PYQs for ₹199/year.

Get UniDrill Pro