Menu
Theme
Bachelor of Science in Computer Science
Course Content

Documentation

Final Year Project

Mambo Vipi, Future Innovator! Let's Talk About Your Project's Superpower: Documentation

Habari yako? I see you've reached the final boss of your degree: the Final Year Project. You have a brilliant idea, you've spent sleepless nights coding, designing, and building. Your project is like a delicious, perfectly cooked pilau. But what happens if you serve that amazing pilau on a dusty, cracked plate? People might not even want to taste it, right? That, my friend, is what poor documentation does to a great project.

Documentation isn't a punishment from your supervisor. It's the story of your hard work, your genius, and your journey. It’s the superpower that proves the value of what you’ve built. So, let's get you ready to not just build your project, but to present it like the masterpiece it is. Sawa?

Why Bother? The 'So What?' of Project Documentation

Before we dive into the 'how', let's understand the 'why'. Good documentation is your project's best friend. Here’s why:

  • It's Your Proof of Work: Your supervisor and the examination panel can't live in your head. The report is your evidence. It shows them your thought process, your research, your struggles, and your triumphs. A great project with a weak report screams "I got lucky" instead of "I am an expert."
  • It's Your Blueprint for Success: Think of building a house in Nairobi. You wouldn't just start mixing cement and laying bricks, would you? You need architectural plans (System Design), a list of materials (Requirements), and a final title deed (Final Report). Your documentation is that professional plan.
  • It's Your User Manual: If you've built an app to help farmers track crop prices, how will they know how to use it? A simple, clear user guide is essential. Good documentation makes your project usable by real people.
  • It's Your Memory: Imagine looking back at your code six months from now. Will you remember why you wrote that complex function? Good comments and notes are messages to your future self!

Image Suggestion: A split-screen image. On the left, a vibrant, modern building in Nairobi under construction, with architects looking at detailed blueprints. On the right, a confident Kenyan university student pointing to a complex flowchart on a whiteboard that maps out their project's system architecture. The style is bright and optimistic.

Anatomy of a Killer Project Report: The Kenyan University Edition

Most university project reports follow a standard structure. Think of it as a recipe. You need all the ingredients in the right order. Here's a typical breakdown:

  1. Chapter 1: Introduction - The "What" and "Why". State the problem you are solving (e.g., "The high cost of textbooks for university students"), your objectives (e.g., "To develop a peer-to-peer textbook exchange platform"), and the scope of your project.
  2. Chapter 2: Literature Review - The "Who Else?". What have other researchers and developers done in this area? This shows you've done your homework and aren't reinventing the wheel. You're standing on the shoulders of giants!
  3. Chapter 3: Methodology & System Design - The "How". This is your secret sauce! How did you design your system? What tools, languages, and algorithms did you use? Flowcharts and diagrams are your best friends here.

    
    
      [ Start: User opens App ]
                 |
                 V
    [ User Logs In / Registers ]
                 |
                 V
    +----[ Authentication? ]----+
    |            |              |
   (Yes)         |             (No)
    |            |              |
    V            V              V
[ Main Dashboard ] [ Display Error ]-->[ Back to Login ]
    |
    V
[ End of this Flow ]

4. Chapter 4: Implementation & Results - The "Show Me". This is where you show off your work. Include screenshots of your system, code snippets, and the results of any tests you ran. Did your system work as expected?

5. Chapter 5: Discussion, Conclusion & Recommendations - The "So What Now?". Discuss what your results mean. What challenges did you face? What are the limitations of your project? Conclude by summarizing your achievements and recommending future work. This shows critical thinking.

Real-World Story: I once had a student, let's call her Chep, who built a fantastic mobile app for SACCO management. Her code was brilliant. But in Chapter 3, she just wrote, "I used a database and a front-end." The panel was confused. Another student, Omar, built a simpler project but his Chapter 3 had detailed diagrams, explained *why* he chose PostgreSQL over MySQL, and justified his entire system architecture. Omar scored higher because he *proved* his understanding. Don't be Chep. Be Omar.

Documentation in Action: From Code to People

Documentation isn't just one big report. It happens at different levels.

1. Technical Documentation (For Developers)

This is the documentation that lives with your code. The most important part is commenting your code. It explains the 'why' behind your code, not just the 'what'.


# Python Example: A function for a hypothetical M-Pesa Integration

def initiate_stk_push(phone_number, amount):
    """
    Initiates an STK push request to the Safaricom API.

    This function formats the phone number to the required 254... format,
    validates the amount to ensure it's not negative, and then sends
    the request to the payment gateway.

    Args:
        phone_number (str): The customer's phone number in 07... format.
        amount (int): The transaction amount in KES.

    Returns:
        dict: A dictionary containing the API response or an error message.
    """
    
    # Validate and format the phone number (a common source of errors)
    if not phone_number.startswith('07'):
        return {"error": "Invalid phone number format. Must start with 07."}
    
    formatted_phone = "254" + phone_number[1:]

    # Ensure the transaction amount is valid
    if amount <= 0:
        return {"error": "Amount must be a positive number."}

    # ... code to make the API call would go here ...
    print(f"STK Push initiated for {formatted_phone} for KES {amount}")
    
    return {"status": "success", "message": "Request sent successfully."}

2. User Documentation (For Everyday People)

This is your user manual or help guide. It should be simple, non-technical, and use lots of visuals. If you made that "Chama Management System," your user guide should have sections like:

  • How to Register Your Chama
  • How to Add a New Member
  • How to Record a Contribution
  • Troubleshooting: What to do if a payment is not recorded.

Image Suggestion: A vibrant and colorful illustration of a diverse group of Kenyans (a young tech-savvy person, a mama mboga, an older gentleman) smiling as they easily use a new application on their smartphones. The app interface is visible and looks clean and user-friendly.

Let's Get Practical: Tips, Tricks, and a Little Bit of Math

Okay, theory is great, but how do you actually do this without losing your mind? Chap chap, let's go:

Tip 1: Document As You Go! Do NOT, I repeat, do NOT wait until the last week to start writing your 80-page report. It's a recipe for disaster. After you finish a feature, write about it. After you design a database schema, document it. Write a little every day.

Tip 2: Version Control is Your Diary. Using tools like Git and GitHub is not just for code. Each time you "commit" your code, you write a message. These commit messages create a perfect log of your project's history!

Tip 3: Justify Your Project with Numbers. In your proposal (Chapter 1), you need to justify why your project is important. Basic calculations can make your argument much stronger. For example, for your textbook exchange app:


    ## Simple Cost-Benefit Analysis for "Edu-Swap" App Proposal

    Average cost of one new textbook: KES 3,500
    Number of required textbooks per year: 8
    Total cost per student per year (new): 3500 * 8 = KES 28,000

    ------------------------------------------------------------------

    Estimated cost on Edu-Swap (second-hand): KES 1,500
    Platform service fee per book: KES 100
    Total cost per book on platform: 1500 + 100 = KES 1,600
    Total cost per student per year (Edu-Swap): 1600 * 8 = KES 12,800

    ------------------------------------------------------------------

    POTENTIAL SAVINGS PER STUDENT: 28,000 - 12,800 = KES 15,200
    
    Conclusion: The platform offers a potential 54% cost reduction for students.

Your Final Word: The Grand Finale!

Listen, your final year project is your signature, your mark on the world before you even graduate. It’s a culmination of everything you've learned. The documentation is the frame for your masterpiece. It gives it context, value, and a voice.

Don't let your brilliant work be misunderstood. Tell its story, and tell it well. You have put in the hours, the passion, and the brainpower. Now, go and prove it on paper. You've got this!

Image Suggestion: A confident, happy Kenyan graduate in a graduation gown, standing in front of a presentation screen. The screen shows the logo of their final year project. They are holding a bound copy of their project report and gesturing towards the screen, clearly and articulately explaining their work to an impressed panel of lecturers.

Pro Tip

Take your own short notes while going through the topics.

KenyaEdu
Add KenyaEdu to Home Screen
For offline access and faster experience