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
- Why This Page Exists
- Key Concepts
- Worked Example: School Event Ticketing
- Quick Check
- Code Completion
- Practice Exercises
- 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
-
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.
-
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.
-
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
-
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).
-
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
- 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