Problem Specification

IB Syllabus: B1.1.1 – Construct a problem specification: problem statement, constraints, limitations, objectives, goals, input/output specifications, evaluation criteria.

Table of Contents

  1. Why This Page Exists
  2. Key Concepts
    1. What is a Problem Specification?
    2. Problem Statement
    3. Constraints and Limitations
    4. Objectives and Goals
    5. Input and Output Specifications
    6. Evaluation Criteria
  3. Worked Example: School Event Ticketing
  4. Quick Check
  5. Code Completion
  6. Practice Exercises
    1. Core
    2. Extension
    3. Challenge
  7. Connections

Why This Page Exists

Before you can solve a problem, you need to understand it completely. A vague problem leads to a vague solution. A problem specification is a structured document that forces you to think through every aspect of the problem before writing a single line of code.

This is the first step in computational thinking – and the first thing IB examiners look for in your IA (Criterion A: Planning).


Key Concepts

What is a Problem Specification?

A problem specification is a structured description of a problem that includes:

Component What it answers
Problem Statement What is the problem? Who is affected?
Constraints and Limitations What restrictions exist? (time, resources, rules)
Objectives What should the solution achieve?
Goals What measurable targets define success?
Input Specifications What data does the system receive?
Output Specifications What does the system produce?
Evaluation Criteria How will we judge if the solution works?

Problem Statement

A good problem statement is specific, measurable, and focused on the user’s experience. It describes what is going wrong, who is affected, and what the consequences are.

Weak: “The school needs a better system.” Strong: “Students waste an average of 8 minutes per lunch break waiting in cafeteria queues, leaving insufficient time to eat and reach their next class. The current system has no way to direct students to shorter queues.”

A good problem statement answers three questions: What is the problem? Who is affected? What happens if it is not solved?

Constraints and Limitations

Constraints are the boundaries within which your solution must operate. They limit what you can do.

Type Example
Time Only 30 minutes for lunch; solution must work within this window
Resources No budget for electronic displays; must use existing infrastructure
Technical Must work on school devices with no app installation required
Rules Meatless Mondays restrict hot food options
Physical Limited physical space – 7 food stations, fixed layout
Human Students have different dietary needs and social preferences

Objectives and Goals

Objectives are broad aims (what you want to achieve). Goals are specific, measurable targets.

Objectives (broad) Goals (measurable)
Reduce waiting time Reduce average wait by at least 30%
Improve student satisfaction At least 90% satisfied with meal choice
Get students to class on time Students arrive within 2 minutes of break ending

Goals should be SMART: Specific, Measurable, Achievable, Relevant, Time-bound. “Make things better” is not a goal. “Reduce average wait from 8 minutes to under 5 minutes” is.

Input and Output Specifications

Inputs are the data your system receives. Outputs are what it produces.

Inputs Outputs
Student’s food preferences (picky/not) Recommended food station
Day of the week (Meatless Monday?) Estimated waiting time
Time available before next class Queue position to join
Current queue lengths Optional parallel tasks (get water, find seat)
Hunger level / energy needs  

Evaluation Criteria

How will you judge whether your solution works? Evaluation criteria are the standards against which you test the final product.

  • Average waiting time reduced (compared to baseline)
  • Percentage of students arriving to class on time
  • Proportion of students satisfied with their meal choice
  • Ease of applying the decision rules in real life
  • Flexibility when conditions change (e.g., a friend joins late)

Worked Example: School Event Ticketing

Problem statement: The school’s annual talent show sells 200 tickets. Currently, tickets are sold on a first-come-first-served basis during one lunch break, creating long queues and leaving many students without tickets. Students in later lunch slots have no chance to buy tickets.

Constraints:

  • 200 tickets available, 500+ students interested
  • Three different lunch slots (students can only buy during their slot)
  • No online payment system available
  • Must be fair across all lunch slots

Objectives: Distribute tickets fairly across all lunch slots. Minimise queuing time.

Goals:

  • Each lunch slot gets a proportional allocation (e.g., 67 tickets each for 3 slots)
  • Maximum queue time under 10 minutes
  • Zero students turned away without having had a chance to buy

Inputs: Student name, year group, lunch slot, number of tickets requested (max 2 per student)

Outputs: Ticket confirmation or waitlist position, receipt

Evaluation criteria: Were all slots given equal opportunity? Was the maximum queue time under 10 minutes? Were any students unfairly excluded?


Quick Check

Q1. What is the purpose of a problem specification?

Q2. Which is a better problem statement?

Q3. Which of the following is a constraint?

Q4. Which goal is SMART (Specific, Measurable, Achievable, Relevant, Time-bound)?

Q5. What are evaluation criteria used for?


Code Completion

Complete the missing components of this problem specification.

Fill in the blanks: Identify which part of the problem specification each item belongs to.

// "Only 30 minutes available for lunch"
// This is a: 

// "Reduce average waiting time by at least 30%"
// This is a: 

// "Student's food preferences (picky vs non-picky)"
// This is an: 

// "Recommended food station to join"
// This is an: 

// "Percentage of students who arrive to class on time"
// This is an: 

Practice Exercises

Core

  1. Critique a problem statement – Read this problem statement: “The library is not great.” Identify three specific weaknesses and rewrite it as a strong problem statement.

  2. Identify components – A school wants to improve the morning attendance process. Students currently line up to scan their ID cards on one scanner, causing delays. Identify: (a) two constraints, (b) two objectives, (c) two measurable goals, (d) three inputs, (e) two outputs, (f) two evaluation criteria.

  3. Classify items – For each of the following, state whether it is a constraint, objective, goal, input, output, or evaluation criterion:

    • “The system must work without internet access”
    • “Student grade (A-F)”
    • “Improve assignment submission rates”
    • “95% of assignments submitted on time”
    • “List of late submissions with dates”
    • “Percentage of on-time submissions compared to last term”

Extension

  1. Write a full specification – Your school wants to reduce paper waste from printing. Write a complete problem specification including all 7 components (problem statement, constraints, objectives, goals, inputs, outputs, evaluation criteria).

  2. Compare two specifications – Two students wrote problem specs for the same problem (school library book tracking). Student A wrote 3 sentences. Student B wrote a full specification with all 7 components. Explain three specific ways Student B’s specification would lead to a better solution.

Challenge

  1. Real-world specification – Choose a real problem you face at school or home. Write a complete problem specification for it. Then identify which constraints would change if you had unlimited budget, and how the goals would change as a result.

Connections

  • Forward: CT Concepts – after specifying the problem, apply CT to approach it
  • Forward: Flowcharts – visualise the algorithmic solution
  • Related: Structuring Your IA – IA Criterion A is a problem specification

© EduCS.me — A resource hub for IB Computer Science

This site uses Just the Docs, a documentation theme for Jekyll.