Home of real teaching & learning
  • Full support for teachers
  • Focus on critical thinking
  • Engaging classroom activities
  • Integrated student eBook
  • Assessed tasks / qBank
  • Practice exam questions

The InThinking Guarantee: Our sites are written by expert practitioners and not by AI

See our AI policy

Disclaimer: InThinking subject sites are neither endorsed by nor connected with the International Baccalaureate Organisation.

Don't miss out, find out!

Getting Started: Choosing Your Project

Choosing your IA topic is the most important decision you'll make. A good project is complex enough to be challenging for a DP Computer Science student. It must solve a real problem and store data permanently (not just in RAM). This guide helps you find a feasible, high-scoring project idea and shows you which common pitfalls to avoid.

Getting Started: Choosing Your Project

Choosing the right problem is the most critical first step of your Internal Assessment. A good topic is engaging, challenging (but not impossible), and allows you to demonstrate your full range of computer science skills.

This guide will help you understand what makes a good IA topic and what pitfalls to avoid.

What is a "Problem of Sufficient Complexity"?

Your IA isn't just a simple coding exercise; it's a solution to a problem. The IB requires your chosen problem to have "sufficient complexity" to be appropriate for a DP-level course.

So, what does that mean?

  • It's more than a classroom exercise: A "calculator" or a simple "cash register" program is too simple. The problem should be large enough that it needs to be broken down (decomposed) into many smaller, manageable parts.
  • It requires a range of skills: A good project will require you to use problem-solving techniques, design data structures, manage data (in files or a database), and create complex algorithms.
  • It fits the timeline and due dates set by your teacher: Your project must be realistic. Designing an "overly complex game" (like a 3D MMORPG) is not feasible. You must be able to plan, design, build, test, and document your solution within the timeline outlined by your teacher.
  • It should be interesting to you: The TSM notes that the problem should be "interesting enough to fully engage students." This is your project, so pick something you'll enjoy working on.

Good Project Scenarios

Your problem can come from anywhere: the real world, another DP subject, or a specific computational context.

Official examples of appropriate projects include:

  • An inventory management system for a school club or small business.
  • A student database or library management system.
  • An appointment scheduling tool for a teacher or local service.
  • An encryption/decryption utility to secure messages.
  • A computer simulation of a concept (e.g., a physics experiment, a disease spread).
  • A mobile application that solves a specific problem (e.g., a study timer, a workout tracker).
  • Adding functionality to an existing system, like writing a new plug-in for a piece of software or connecting a database to a website.

Where to Find Ideas

  • Solve your own problem: Is there something in your life that's inefficient? Automate it.
  • Help your community: Build a solution for your CAS project (e.g., a volunteer sign-up system, a resource tracker for a food bank).
  • Link to other subjects:
    • Sciences: Simulate a biology experiment (e.g., predator-prey) or a chemistry concept (e.g., titration).
    • Math: Build a tool to visualise complex graphs or solve specific equations.
    • Humanities: Create a database to analyse historical data or track geographical trends.

⚠️ Common Pitfalls: Inappropriate Projects to AVOID

The IB is very clear that some projects are not complex enough. Avoid these common traps:

  • Simple "CRUD" Apps: Solutions "limited to the basic functionalities of adding, searching, editing, and/or deleting records solely within RAM" are not sufficient (TSM p.61). Your data must be stored permanently (e.g., in files or a database).
  • Using Wizards or Templates:
    • A template-based website where you just change text and images.
    • A database built using a wizard (like in MS Access) without complex, student-written queries and macros.
    • An app built using a drag-and-drop tool "without the need for code development."
  • Copied Code:
    • A program built "using only copied code."
    • A copied computer game "without major modifications" that is documented by you.
  • Basic Classroom Exercises: A simple "calculator" or "cash register."
  • Unfinished Products: Your solution must be a complete, functional product, not just the "first level of a multi-level game."

Standard Level vs. Higher Level

All Internal Assessments in Computer Science are graded using the same criteria and standards.

As stated in the IB DP Computer Science Frequently Asked Questions (p. 16):

“ SL and HL are graded by the same criteria and at the same level. The IB moderation of the computational solution does not distinguish between SL and HL work.” 

While this may seem more challenging for SL students, it is balanced by the weighting in the final grade. The IA makes up for 30% of the overall mark at SL, compared to 20% at HL.

Your Teacher's Role in This Step

Your teacher is your guide, not your project manager. In this phase, their job is to:

  • Counsel you on whether your idea is feasible and has sufficient complexity.
  • Guide you on the time and resources you'll need.
  • Ensure your topic is appropriate and will allow you to meet the criteria.

Use their experience. Discuss your ideas with them early and often.

All materials on this website are for the exclusive use of teachers and students at subscribing schools for the period of their subscription. Any unauthorised copying or posting of materials on other websites is an infringement of our copyright and could result in your account being blocked and legal action being taken against you.

Help