Skip to content
Writing
14 min readFYP

Final Year Project (FYP) Guide for Students

A practical final year project guide for choosing scope, building steadily, avoiding weak ideas, and presenting work clearly.

Introduction

The fact that you have decided to read this behemoth of an article deserves admiration and tells me that you're serious about your academics and career (or are procrastinating on something else). Give me the next 20 mins of your life and I'll make you into a much more informed individual. Your Final Year Project (FYP) is one of the most important academic tasks in your degree. It can shape your career, fill out your portfolio, and make you better at solving problems.
This guide covers how to choose the right topic, advisor, tech stack, and strategy so your FYP stands out. It mainly targets FASTians because that's where my experience is, but the advice applies to any university. I've been through the process as a student, and now I see it from the other side as a lab instructor. So take my very opinionated advice with a grain of salt.


Research & Development vs. Development

Early on, decide which type of project fits your interests, skills, and career goals. There are two broad categories:

  • Research and development (R&D) projects have a theoretical research component plus a practical implementation. Expect to explore new concepts, do literature reviews, and test hypotheses while also building a functional prototype.
  • In pure development projects you build a fully functional product or system using existing technologies and methods, usually with less emphasis on novel research.

A quick comparison:

AspectR&D ProjectsPure Development
FocusResearch + prototypeBuild a complete product
InnovationNovel contributions, possible publicationsApplies proven methods
Time & RiskLonger, uncertain outcomesPredictable, lower risk
Career FitAcademia, research rolesIndustry, hands-on coding
DocumentationResearch-heavy reportsTechnical & project docs

Tip: Pick a Research & Development project if you want to explore new ideas and contribute to academic knowledge and can live with more uncertainty. Pick a Pure Development project if you'd rather build a market-ready product that shows future employers what you can do.


How to Choose a Topic

Picking the right topic makes or breaks your FYP. A good topic should be:

  • Interesting: Choose something you're passionate about. No one wants to work on a boring project, let alone for a whole year.
  • Feasible: Consider your time, skills, and available resources. Scope is one of the most important factors in your FYP. It will dictate your life for the next year, and it's the first thing your advisor(s) and the evaluation committee will ask you about.
  • Relevant: Align with industry trends or research needs. As an example, I am an avid "AI" pessimist but I can't deny the fact that it's the hottest trend in the industry right now. So, if you're into AI, you might want to consider a project in that domain. Look at the recent explosion of AI Agents and Generative AI. I have many concerns about the ethical implications of these technologies but that's a topic for another day. You want a skillset that's in demand, or at the very least will allow you to have a good conversation with a potential employer. That said, don't pick the next hottest thing and chase after it, because by the time you're done with your project it might not be the hottest thing anymore. Pick something you're passionate about that aligns with your academic and career goals.
  • Problem-Solving: Your project should address a real problem or offer innovation. Please don't build another e-commerce website or a basic recommendation system. A novel project will make you stand out and give you a sense of accomplishment (and probably a few sleepless nights but you're a FASTian, it's your life anyway).

Tip: Browse research papers, GitHub projects, and tech blogs for inspiration. Look at what the students from foreign universities are doing. They're not necessarily smarter than you but they have access to better resources and they're more likely to be working on current research problems. You don't have to copy them, but take every chance to learn from them. A good way to shortlist a project is to do a preliminary literature review, which tells you what's already been done and what hasn't. Don't wanna jump into an overcrowded room now, do you?


How to Choose an Advisor

Your advisor plays a huge role in your project's success. A good advisor should be:

  • Experienced in your chosen field: If your idea is novel and complex enough, you might want an advisor who has experience in that domain. They can guide you better and help you avoid common pitfalls. A good example is the HODs who excel in their respective fields. They’re usually very busy but if you can get them to agree to be your advisor, you’re in for a treat. There are also many, many other faculty members who are just as good (if not better, considering they have more time to dedicate to you), and you should consider them as well.
  • Responsive and willing to guide you properly: This is a big one. You don’t want an advisor who’s too busy to meet with you or doesn’t respond to your emails. And let me be clear, this isn’t a slight against any of the faculty members; they’re all extremely helpful and knowledgeable. Some of them are just too busy to give you the attention you need. This is where clear communication with your potential advisor comes in. Be upfront about your expectations and ask them about theirs, including their current project load and typical response times.
  • Supportive of your ideas but also critical when needed: Everyone loves a chill time but you shouldn’t try to chill with your FYP. You need someone who can guide you properly and point out the flaws in your project. You need someone who can push you to do better. You need someone who can be your mentor. And you need someone who can be your friend. And you need someone who can be your critic. And you need someone who can be your cheerleader. That was a lot of "ands" but you get the point. FAST is filled with faculty members who can be all of these things and more. You just need to find the right one for you.
  • Co-Advisor: If possible, consider having a co-advisor for a second perspective and more support. This is especially useful if your project needs expertise in multiple domains. For example, if it involves both AI and Web Development, you might want an AI expert as your primary advisor and a Web Development expert as your co-advisor.
  • External Advisor: If you can get an external advisor, that’s even better. Don’t know where to find them? Start with your team leads or managers at the companies you interned at. If you build a trustworthy and professional relationship with them, they might be willing to help you out. They can give you real-world insights, help you align your project with industry needs, and help with your job search after graduation. It always comes down to networking and building relationships. If you provide value to others, they’ll reciprocate (mostly).

How to find one?

  • Check faculty profiles and see their published work.
  • Ask seniors about their experiences with different advisors. This is the most important one. They've been through the process and they know who's good and who's not. They can also be biased towards or against certain faculty members, so take their advice with a grain of salt. Maybe the advisor who was too strict for them is the perfect fit for you.
  • Approach multiple advisors with a short, well-prepared proposal. Get a printed copy, please. It's a small thing but it shows that you're serious about your project, and it's a good habit to get into. You should always have a printed copy of your proposal, your project plan, your project report, your project presentation, your project defence, your project... you get the point.

Choosing the Right Tech Stack

Your tech stack should be practical and aligned with your project's scope. Consider:

  • Industry Demand: Is the tech widely used (e.g., Python, React, Django)?
  • Community Support and Libraries: Are there resources available for learning and troubleshooting? Don't pick an obscure tool where you're stuck bashing your head against a wall because there's no documentation. Pick one with a large community behind it, so when you run into an issue a Google search turns up the solution.
  • Scalability: Can your tech handle future growth? Not all projects need to scale. If your project is meant for a small group of people, scalability might not be a concern; if it's meant for a large group, it should be one of your top concerns. So please don't over-engineer or under-engineer your project. I have a habit of designing projects (even hobby ones) that can scale to thousands of users, and that's not always necessary.
  • Learning Curve: Will you have time to master it? FASTians are built different. They can learn anything in a short amount of time. That doesn't mean you should try to learn everything. Stick to what you know and what you can learn in a reasonable amount of time. You don't want to be learning a new language or framework in the middle of your project. Imagine flying a plane with your right while holding the manual on your left. If you have some time before your FYP starts, though, you can use it to learn a new language or framework.

Example Tech Stacks:

  • Web Apps: Vue.js / Django / PostgreSQL. I love this stack. It's simple, powerful, and easy to learn.
  • AI/ML: Python (TensorFlow, PyTorch) + Flask / FastAPI
  • Mobile Apps: Kotlin / Swift. I prefer native apps to hybrid apps because I want to squeeze every bit of performance out of my apps. You might not care about that, and hybrid is perfectly fine.

Tip: Stick to technologies you are comfortable with or have enough time to learn.


Can an FYP Help with Employment and Master's Admissions?

Yes. A well-executed FYP can:

  • Impress recruiters: Companies prefer candidates who have built real-world projects that they can check out.
  • Boost your resume & portfolio: Especially if it’s on GitHub with good documentation, code quality, a working demo, and a good commit history.
  • Support your Master’s application: A strong project with a research component can help in admissions and scholarships.

Tip: Try to publish a paper or present your project in a competition for extra credibility.


How to Write a Strong Proposal

A solid proposal improves your chances of approval and gives you a roadmap for the project. It should include:

  • Project Title: Clear and concise.
  • Problem Statement: What issue are you solving? Be specific about the challenges or gaps your project addresses.
  • Objectives: Define clear, measurable goals. Instead of a vague aim like "I want to build a website," write "I want to build a website that allows users to register, search, and interact with community content."
  • Tech Stack: Justify your choice of tools. Explain why you picked one database over another, a specific language, or a particular framework. This shows you've researched the technical needs of your project.
  • Expected Outcomes: Describe the expected impact of your project. What problems will it solve, and how will it benefit users or contribute to your field?
  • Methodology: Outline your approach, whether it’s a research-driven study, iterative software development, or an experimental design, so it's clear how you’ll reach your objectives.
  • Literature Review: Give a brief overview of existing work related to your topic. This shows what's new about your project and what it builds on.
  • Timeline & Milestones: Include a realistic timeline with specific milestones. Splitting the project into phases shows you have a plan for finishing on schedule.
  • Risk Management & Contingency Plans: Identify potential challenges, such as technical hurdles or resource constraints, and how you'd handle them. Evaluators like seeing that you've thought ahead.
  • Resource & Budget Considerations (if applicable): Detail any additional resources or funding you may need, such as software licenses, hardware, or access to special datasets.

Tip: Avoid overly ambitious goals. "Underpromise and overdeliver" is a solid strategy; overpromising what you can achieve leads to unnecessary stress and setbacks.


Project Management Best Practices

A few habits keep the project moving:

  • Use Agile/Scrum: Break work into small, manageable tasks.
  • Version Control: Use Git/GitHub for tracking changes. For the love of all that's holy, don't send each other code files over WhatsApp. Use Git. It's not that hard to learn and it will save you a lot of time and effort.
  • Task Management: Use Trello, Notion, or Jira for planning. You can mostly get away with Trello; it's simple and free. If you want more features, use Notion or Jira.
  • Code Documentation: Write readable, well-commented code. Look into tools that help with this, for example JSDoc for JavaScript, Sphinx for Python, and Doxygen for C++.
  • Usecase-based development: Divide the use cases amongst the members and have each person build theirs end to end. Don't commit the cardinal sin of assigning a whole layer to one member (my X member did the frontend). This is a recipe for disaster.

Tip: Meet with your team/advisor weekly to track progress.


Testing & Deployment Strategies

Testing is often overlooked, and your project's success depends on it. Plan for:

  • Unit Testing: Test individual components to make sure they work as expected.
  • Integration Testing: Verify that different modules interact correctly.
  • Performance Testing: Measure scalability and speed; look at techniques like skeleton and lazy loading for optimization.
  • Security Testing: Check your application for vulnerabilities, especially if it handles sensitive data.
  • Usability Testing: Get feedback from real users to find out whether the project is easy to use.

For deployment:

  • Reliable Platforms: Choose trusted platforms like AWS, Firebase, Heroku, or DigitalOcean. For a more hands-on approach, consider setting up your own VPS.
  • Automated Testing & Deployment: Use CI/CD pipelines to run tests and deploy automatically. This cuts manual errors and keeps releases consistent.
  • Backup & Rollback Plans: Have a documented rollback plan. When a deployment goes wrong, it saves time and can prevent data loss.

Tip: Document any issues you hit during testing and deployment, and how you resolved them. Those notes help a lot during your project defence and on future projects.


Preparing for Your FYP Defense

Your FYP defence is where you show off your work. A great presentation includes:

  • Clear Project Demo: Focus on the key features and functionality of your project. Prepare backup materials like screenshots or a recorded demo in case of technical glitches.
  • Performance Insights: Present efficiency improvements, benchmarking data, or any performance metrics that back up your claims.
  • Comprehensive Understanding: Every team member should know every part of the project, so you're ready for both technical and theoretical questions from the panel.
  • Presentation Design & Narrative: Keep the slides clear, concise, and easy to look at. Walk through the problem, your approach, and the impact of your project as one story.
  • Handling Q&A: Anticipate common questions and practice your responses. Be ready to discuss challenges, lessons learned, and possible future enhancements.

Tip: Practice your defense multiple times before presenting so you stay calm when the unexpected questions come. Make sure all the members know all the details of the project. You don't want to be caught off guard by a question you should know the answer to.


Company Sponsorships and Mentorship Programs

You can also find support outside your department:

  • If you've interned at a company, approach them with your project proposal. They might be interested in sponsoring your project, providing financial support and making sure your work matches industry needs. This is how it worked for me and how I got my external advisor.
  • Many professors have strong links with software houses. Occasionally, they secure projects from these companies that can be developed as part of a student's FYP. Ask your advisor if such opportunities exist.
  • In Pakistan, several software houses now run FYP mentorship programs. They pair students with experienced industry professionals who advise them throughout the project.
  • Reach out to professionals in your field on LinkedIn. Many are willing to mentor students and advise on project development, tech stack selection, and career opportunities, so even if you can't get into a mentorship program, you can still have a mentor. You just need to ask.

Tip: Ask both your past internship supervisors and your professors about these opportunities. They can lead to industry partnerships.


One last thing

Treat your FYP as a launchpad for your career.

  • Choose the right topic and tech stack.
  • Work with a supportive advisor.
  • Follow best coding & project management practices.
  • Use it to boost your resume and career prospects.

Final Tip: Start early, be consistent, and seek feedback from peers and advisors.


I hope this guide helps with your Final Year Project. If you have questions, reach out or leave a comment.

Next essayWhat It Costs to Run mhassan.dev: $8/yearThe full cost of running this site, what's free, and the tradeoffs behind each choice.