📌 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
- The tools used here: Data Handling Using Pandas I and Data Handling using Pandas II teach DataFrames,
loc, CSV files andgroupby. - The charts: Plotting Data using Matplotlib covers the bar and pie charts that every project ends with.
- The 3 Rs: Societal Impacts explains Reduce, Reuse and Recycle, the idea behind the books camp project.
🎯 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.
Q4. Assertion (A): A project leader must be identified when the plan is defined. Reason (R): Every project is a time relevance project.
▸ Show answer & explanation
Answer: B
Both statements are true. The leader is needed to coordinate roles and monitor the work, not because projects are time relevant, so the reason does not explain the assertion. Time relevance is the basis of the separate step of fixing a time frame.
Q5. Match List I with List II. List I: (i) Identification of a project (ii) Defining a plan (iii) Providing guidance and monitoring (iv) Outcome of a project. List II: (p) A project leader is chosen and roles are fixed (q) Output can be peer reviewed and modified using feedback (r) Help is taken from books, websites and experts (s) The idea comes from a real life situation
▸ Show answer & explanation
Answer: C
Real life ideas belong to identification, the leader and roles to defining a plan, outside help to guidance and monitoring, and peer review to the outcome. Options A, B and D each swap two of these pairs.
Q6. During the End of Season Sale, a customer buys an item priced at ₹2,000 using the code EOS. How much does the customer pay?
▸ Show answer & explanation
Answer: A
EOS gives a 15 per cent discount, so the customer pays 85 per cent of 2000, which is ₹1,700. The figure ₹1,800 is the FEST price with 10 per cent off.
Q7. In the APPAREL EASY project, which details must be entered when the payment mode is a credit or debit card?
▸ Show answer & explanation
Answer: D
Card payments need the card number, name, CVV and validity. No extra details are asked for Cash on Delivery, which is why option B is wrong, and the PIN is not among the specified fields.
Q8. The APPAREL EASY store has 400 items. According to the specification, the number of items randomly selected for a sale must not exceed
▸ Show answer & explanation
Answer: B
Selected merchandise must not be more than 70 per cent of the total, and 70 per cent of 400 is 280. The value 120 is 30 per cent, and 300 and 320 are 75 per cent and 80 per cent.
Q9. In the Books Donation Camp project, which entry is valid in the collection file?
▸ Show answer & explanation
Answer: A
Book IDs start with B, notebook IDs start with N, and condition can only be Fit, Needs Mending or Unfit. Option B gives a book an N prefix, option C uses a condition value that does not exist, and option D uses a prefix that is not defined.
Q10. In the Books Donation Camp project, what is done with the pages of unfit books?
▸ Show answer & explanation
Answer: C
The pages of unfit books are used to make paper bags and envelopes, an example of recycling. The other books are resold at half the price, and notebooks with remaining pages are stripped and rebound.
Q11. Which sequence correctly describes the survey project on social networking and teenagers?
▸ Show answer & explanation
Answer: B
Data must be collected before it can be imported, analysed and plotted, so the questionnaire and CSV file come first and the charts come last. Options A, C and D place analysis or plotting before the data exists.
Q12. The open government dataset used in Project IV was contributed by the Ministry of Home Affairs and released under which policy?
▸ Show answer & explanation
Answer: D
The dataset on adolescent and youth population was released under the National Data Sharing and Accessibility Policy (NDSAP) on the OGD Platform India. The two Acts deal with pollution and cyber matters, and Creative Commons is a licensing organisation.
Q13. A student writes: df1 = df.loc[(df['Area Name'] == 'INDIA'), 'Area Name':'Total Population - Females']. What does this statement do?
▸ Show answer & explanation
Answer: A
The method loc works with labels, with a condition for the rows and a label slice for the columns. Integer positions are used by iloc, nothing is deleted, and renaming is done by assigning to the columns attribute.
Q14. After grouping the data by Category, the statement d = d.drop(['Adolescent (10-19)', 'All Ages', 'Youth (15-24)'], axis=0) is executed. What is the effect?
▸ Show answer & explanation
Answer: C
With axis=0 the drop method removes rows, here the rows labelled with the three categories, leaving 10-14, 15-19 and 20-24. Using axis=1 would have removed columns, and drop never adds or renames.
Q15. Which of the following is NOT one of the six components of teamwork?
▸ Show answer & explanation
Answer: B
The six components are communicate, listen, share, respect, help and participate. Competing with others is not a component, because teamwork is about working collectively to accomplish a task.
📊 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