DP Computer Science · HL / SL · B1 Computational thinking

B1.1 Approaches to computational thinking

Get started
Notes Quiz

What is a Problem Specification?

Before any solution can be designed, a problem must be properly understood and documented. A <strong>problem specification</strong> is a structured document that captures everything relevant about the problem before development begins.

A complete problem specification includes at least the following elements:

  1. Problem Statement , clearly defines the problem to be solved
  2. Constraints and Limitations , boundaries that restrict what solutions are possible
  3. Objectives and Goals , what the solution aims to achieve
  4. Input Specifications , defines the data entering the system
  5. Output Specifications , defines what the system will produce
  6. Evaluation Criteria , benchmarks for judging whether the solution succeeds
Note

A well-written problem specification saves enormous time later in development. Vague specifications lead to solutions that miss the point entirely , the most common cause of failed software projects.

Problem Statements

Problem Statement: A clear, specific, and concise description of the problem to be solved. It focuses on the "what" and the "why" of the problem.

A good problem statement is:

  • Concise and specific , no vague language
  • Focused on the problem, not the solution , describe what is wrong, not how to fix it
  • Linked to consequences , explains why the problem matters
  • Measurable where possible , includes quantifiable impact
Warning

A common mistake is writing a problem statement that is too vague. For example, "Our school's database system is outdated" tells us nothing specific. What does "outdated" mean? Slow queries? No automation? Security risks? The reader cannot determine what actually needs fixing.

Example

Poor Problem Statement

"Our school's database system is outdated."

Why it fails:

  • "Outdated" is vague , it could mean slow performance, poor UI, missing features, or security gaps
  • No justification , why does being outdated cause harm?
  • No measurable impact stated

Strong Problem Statement

"Teachers spend an average of 15 minutes generating each student's progress report because the database does not support automated report templates, leading to late distribution of term reports and frequent errors in student records."

Why it works:

  • Specific: identifies the exact problem (no automated templates)
  • Measurable: quantifies impact (15 minutes per report, frequent errors)
  • Consequential: links to a real negative outcome (late distribution, reduced reliability)
Example

Another Strong Example

"The current attendance system requires students to sign in on paper sheets, which then need to be manually entered by staff. This process delays attendance records by up to 24 hours and increases the risk of data entry errors, causing inaccurate student absence tracking."

This works because it identifies the workflow problem, provides a quantifiable delay (24 hours), and highlights a real consequence (inaccurate records).

Free preview

12 more sections in this topic

Koncepts

Learn it properly. Then practise like it's the real paper.

Start free

Features

  • Lessons
  • Past papers
  • Library
  • Homework Help
  • Duels

More

  • For parents
  • Compare
  • Plans & pricing
  • DP for students

Legal

  • Privacy
  • Terms
  • Account deletion

© 2026 Koncepts (product of PrepAiro, Inc). All rights reserved.
DP, IB, EE and TOK are terms of the International Baccalaureate Organization.

Made for IB DP students.