Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Appendix B: Project Guidelines

The class project carries 8 marks in your practical examination. The objective is to apply the concepts learned in Classes XI and XII (specifically Python file handling and Python-SQL connectivity) to create a tangible, useful application that solves a real-world problem.


B.1 Project Requirements

  1. Group Size: The project should be done in groups of two to three students.
  2. Timeline: It should be started at least 6 months before the final submission deadline.
  3. Core Technology: The project must utilize either:
    • Python File Handling (Text, Binary, or CSV files) for data storage.
    • Python-SQL Connectivity, using a backend database like MySQL. (This is generally preferred and leads to more robust applications).
  4. Originality: Students must avoid plagiarism and copyright violations. Do not download pre-made projects from the internet. The code must be written by your group.

B.2 Finding a Problem to Solve

You are encouraged to look around your community, school, or local businesses for inspiration. A good project solves a specific problem.

Ideas from the CBSE Syllabus:

  • Business Invoice System: Visit a local shop. If they struggle with filing GST claims or generating bills manually, create a Python app that takes transaction data, calculates tax rates, groups items by category, and generates formatted invoices (saving them to CSV or a Database).
  • School Management Software: Create a system for the school library to track books issued and returned, or a system for managing student attendance and generating reports.
  • Accessibility Software: Build software designed to help disabled fellow students learn or interact with computers more easily.
  • Educational Games: Build a quiz game or an interactive learning application using pygame or standard Tkinter GUI, storing high scores in a database.

B.3 Project Phases & Documentation

Your final submission must include entirely functional code and a detailed Project Report File.

Phase 1: Analysis & Design

  • Problem Statement: Clearly define what the project does and who it is for.
  • Requirements specification: Hardware and software needed.
  • Database Design: If using SQL, draw an Entity-Relationship (ER) diagram or clearly list the tables, their attributes, primary keys, and relationships.

Phase 2: Development

  • Write modular code using functions.
  • Implement robust Exception Handling to ensure the program doesn’t crash on invalid user input.
  • Comment your code extensively so the examiner understands your logic.

Phase 3: Testing

  • Test all features with various inputs (valid and invalid) to ensure accuracy.

Phase 4: Creating the Report File The printed report file should typically contain:

  1. Title Page (Project Name, Group Members, School Info).
  2. Certificate of Authenticity (Signed by the teacher).
  3. Acknowledgement.
  4. Index/Table of Contents.
  5. Introduction / Problem Statement.
  6. Hardware & Software Requirements.
  7. Database Design (Schema).
  8. Source Code (Printed neatly).
  9. Output Screens (Screenshots proving the program works).
  10. Bibliography / References.

B.4 Tips for Success

  • Don’t overcomplicate it: A simple project that works flawlessly and is thoroughly understood by the group is much better than a heavily complex project that is broken or was copied from somewhere else.
  • Focus on the interface: Use basic menus in the console (e.g., “Press 1 to Add Book, Press 2 to Search…”) to make the application user-friendly. If you are ambitious, look into learning Tkinter for graphical interfaces, but standard console menus are perfectly acceptable.
  • Prepare for the Viva: During the practical exam, the external examiner will ask you questions about your code (the Viva Voce, worth 3 marks). You must be able to explain how your code works line by line.