The Class 12 Project
The Informatics Practices practical carries a project, and the syllabus is unusually specific about its shape: find a real problem by going out and looking, get hold of data in a CSV or a database, analyse it with Python libraries, and produce appropriate charts. Not a program that stores things. An answer to a question somebody actually has.
1What CBSE actually asks for
The syllabus is worth reading rather than paraphrasing, so here is what it says, broken into the six things it is actually asking of you.
Visit shops, businesses, communities or other organisations near you and ask how their work is done — how data gets generated, stored and managed. The problem is meant to be found, not invented at a desk.
The data has to come from a CSV file or a database file. Both halves of the requirement are equally acceptable — seven of the ten projects here read a CSV and three read MySQL.
pandas for the analysis, and any library you like beyond that. The point is that a computer does the work, not that you write everything from scratch.
Charts, plural, and appropriate — a line for something in order, a bar to compare, a histogram for a spread. Choosing the right one is part of what is being marked.
The project may be done individually or in a group of two or three. In a group, everybody has to be able to explain every part of it.
The syllabus says at least six months before the submission deadline. Data collection is the part that takes real time, and it cannot be hurried at the end.
There is also a phrase in the syllabus worth noticing: software for your school or any other social good. A project that helps somebody is explicitly welcome. Two of the ten below are that kind — a survey about students' own sleep, and a municipal water register where the finding is that one ward is nine times worse served than another.
2Finding data worth analysing
This is the part students skip, and it decides the project. Everything else can be fixed later; a boring dataset cannot.
Go and ask. A chemist, a kirana shop, the school office, the librarian, the transport in-charge, your housing society secretary, the municipal ward office. Every one of them writes something down every day and never reads it back. Three questions are usually enough:
- What do you write down every day?
- What do you have to add up at the end of the month?
- What would you like to know that you cannot find out?
The first finds the data. The second finds the calculation. The third finds the chart — and the third question is the one that turns a table into a project.
If nobody will give you data, there is a second route that costs nothing: collect it yourself. A public mandi price board copied down for two minutes a day becomes a year of prices. A survey handed round three classes becomes three hundred responses. Both are in the ten below, and both are genuinely a student's own data. And for public datasets, data.gov.in publishes rainfall, temperature, health and census data under an open licence — cite the page and check what the licence allows.
3Leave the names out
A data project is the first time most students hold information about real people, and Class 12 IP has a whole unit — Societal Impacts — about what that means. Apply it to your own project:
- Use a roll number, an admission number, a bill number or a ward name. Never a person's name, address or phone number.
- Decide this before you collect anything. Anonymising a file afterwards is much harder than never writing the name down.
- A survey should be anonymous, and say so on the form. Students answer honestly when it is and carefully when it is not.
- Get permission in writing, and say in the report who gave it.
None of the ten projects below contains a person's name anywhere, and each one says in its report why not.
4How the report is put together
A CBSE project report follows a settled order. The ten examples here show you all of it except the three pages that carry your name.
| Section | What goes in it |
|---|---|
| Cover page | Project title, class, subject code 065, school, session |
| Certificate | Signed by your teacher and the external examiner |
| Acknowledgement | Who helped, in your own words |
| Index | Section names with page numbers |
| Introduction | The problem, who has it, and what you set out to find |
| Existing systems | How the job is done now, and where it falls short |
| Data source | Where the data came from, who gave it, and permission |
| The dataset | Every column, its type, and what it holds |
| Cleaning | What was wrong with the data and what you did about it |
| Technical details | Python, pandas, matplotlib, and how it is organised |
| Source code | The whole listing, readable and commented |
| Output | A real run, not a mock-up |
| Charts and findings | Each chart, why that kind, and what it showed |
| Testing | Cases you actually ran, including ones that fail |
| Limitations & future scope | What the data cannot tell you, and what to add |
| Conclusion | What you found, honestly |
| Bibliography | The data source first, then books and documentation |
5Ten projects to start from
Seven read a CSV file and three read MySQL, so whichever half of the requirement you want to show, there is a worked example. Between them they read 15,931 rows, draw 50 charts and carry 130 test cases — every one of which was actually executed, along with every transcript and every chart on these pages.
One month of counter sales, and the five things the shopkeeper could never work out from the day book.
Seventy students, five subjects, three terms — and the questions a mark register can answer but never does.
Twelve months of meter readings for sixty-four flats, turned into slab-wise bills and the four arguments they settle.
Three hundred and sixty-five days of temperature, rain and humidity — and what the year actually looks like when you stop remembering it.
A year of sales and a shelf of stock, read out of MySQL — and thirty-four thousand rupees about to expire.
A year of the issue register, read out of MySQL — what children read, when they stop, and which book they are all waiting for.
A school year of driver's logs — and one route whose diesel alone costs more than twice the fee it collects.
Six vegetables, three hundred market days, and the onion that tripled in October.
Three hundred students answered six questions — and the answers are more careful than the headlines about them.
A year of a municipal register — and one ward that complains nine times as often as the ward across town.
6What actually gets the marks
Having written ten of these, the same four things separate a project that reads well from one that does not — and none of them is about the code.
“Sales analysis” is a topic. “Which day of the week should the shop be fully stocked for?” is a question, and it has an answer that fits on one line under a chart.
Real data has duplicates, blanks and three spellings of one word. Say what was wrong, how many rows, and what you did — because how you handled it changes the answer, and an examiner knows that.
Under every chart, write the sentence it proves. If you cannot write that sentence, the chart is decoration and should be cut.
Say what your data cannot tell you. A correlation is not a cause, one month is not a trend, and a report that says so is trusted on everything else it claims.