IB Computer Science IA Topic Ideas – 60 Practical and High-Scoring Topics

IB Computer Science IA Topic Ideas – 60 Practical and High-Scoring Topics

Jamal Lewis

Choosing a strong IB Computer Science IA topic can be difficult because the solution must be coded, client-based, and achievable within the project timeline. A good Computer Science IA topic solves a real problem for a real user, uses appropriate computational thinking, and demonstrates clear design, development, and testing.

This guide provides sixty IB Computer Science IA topic ideas across Algorithms, Data Science, Machine Learning (allowed in moderation), Educational Tools, Productivity Apps, Utility Software, Games, Databases, Automation Tools, and more. All topics are practical, realistic, and aligned with the IB CS IA requirements.

You will also find mini IA examples, guidance on identifying a real client, and common mistakes to avoid.

What Makes a Good Computer Science IA Topic

What Makes a Good Computer Science IA Topic

A strong IB CS IA topic should:

  1. Solve a real, verifiable problem for a real user
  2. Require coding, not just UI design
  3. Be doable within 30–40 hours
  4. Allow you to apply computational thinking (decomposition, abstraction, algorithms)
  5. Include documentation of design, testing, and iteration

Avoid topics that are too large, require advanced ML models, or need backend infrastructure that a student cannot build.

60 IB Computer Science IA Topic Ideas

All topics below can be built in Python, Java, JavaScript, C#, Swift, or any IB-approved language.

Productivity and Utility Software

Productivity and Utility Software
  1. A task scheduling app that prioritizes tasks using a scoring algorithm
  2. A study timer that adapts intervals based on user focus patterns
  3. A smart note organizer with keyword tagging and search
  4. A budgeting tool that categorizes expenses using rule-based logic
  5. A reading progress tracker with speed estimation algorithms
  6. A file organizer that auto-sorts files based on metadata
  7. A habit tracking app that identifies consistency patterns
  8. A password strength checker using entropy analysis
  9. An attendance tracker with automated data visualizations
  10. A duplicate file finder using hashing techniques

Algorithms and Data Structure Focused Projects

Algorithms and Data Structure Focused Projects
  1. A route optimization tool using Dijkstra’s or A* algorithm
  2. A compression tool implementing a simplified Huffman algorithm
  3. A plagiarism detection tool using string similarity algorithms
  4. A spell-checker using Levenshtein distance
  5. A recommendation engine using collaborative filtering
  6. A sorting algorithm visualizer comparing efficiency
  7. A scheduling system that uses greedy or dynamic programming strategies
  8. A search tool using binary trees or hash maps
  9. A code autograder using pattern matching
  10. A graph-based relationship mapping tool

Machine Learning (Allowed if Student-Coded and Explainable)

Machine Learning

(Avoid heavy frameworks; simple models are fine.)

  1. A simple handwritten digit recognizer using a basic neural network
  2. A spam message classifier using Naive Bayes
  3. A house price predictor using linear regression
  4. A facial emotion recognition tool using classical ML (not deep learning)
  5. A recommendation system for books using similarity scores
  6. A sentiment analysis tool using bag-of-words
  7. A plant growth predictor using simple regression
  8. A quiz difficulty adjuster based on user performance patterns
  9. A simple clustering tool for study habits
  10. A shopping cart price predictor using regression models

Educational Tools & Learning Apps

Educational Tools & Learning Apps
  1. A math learning app with step-by-step solution generation
  2. A typing test platform with custom difficulty levels
  3. A chemistry equation balancer
  4. An interactive periodic table with filters and search
  5. A vocabulary trainer with spaced repetition
  6. A physics formula calculator with scenario simulations
  7. A code-learning mini IDE for beginners
  8. A biology quiz generator with feedback
  9. A geography map quiz with adaptive difficulty
  10. A statistics learning tool that explains distributions

Games and Simulations

Games and Simulations
  1. A turn-based strategy game with pathfinding
  2. A physics simulation game modeling gravity or collisions
  3. A Sudoku solver and puzzle generator
  4. A maze generator using recursive algorithms
  5. A chess or checkers bot using minimax
  6. A farming simulation game with resource optimization
  7. A traffic simulation using cellular automata
  8. A virus spread simulation with adjustable parameters
  9. A stock trading simulator using random walk models
  10. A probability-based board game simulator

Data Management and Database Systems

Data Management and Database Systems
  1. A student gradebook with analytics and trends
  2. A library management system with borrowing predictions
  3. A fitness app that logs health data and charts progress
  4. A restaurant table reservation organizer
  5. A volunteer hours tracking database
  6. A school inventory management tool
  7. A customer feedback analysis dashboard
  8. A local business sales tracker
  9. A clinic appointment management system
  10. A sports team performance analytics tool

Mini IA Examples With Clear CS Focus

1. A study timer with adaptive interval adjustments

Adaptive Study Timer Analysis

Possible research question
How can an adaptive scheduling algorithm improve user focus intervals during study sessions

Computer Science focus
Algorithms, user modeling, timers, data tracking

Client example
Student who struggles with maintaining consistent study focus

What to explore
Adaptive logic, UI feedback, performance metrics.

2. A route planner using Dijkstra’s algorithm

Dijkstra's Route Optimization

Possible research question
How can shortest path algorithms be used to optimize travel routes within a school campus

Computer Science focus
Graphs, pathfinding, algorithmic efficiency

Client example
Student organizing routes between multiple buildings

What to explore
Complexity, edge weighting, alternative paths.

3. Budgeting tool with automated categorization

Automated Expense Categorization

Possible research question
How can rule-based logic categorize expenses to help users track and manage spending patterns

Computer Science focus
Decision structures, data storage, UI design

Client example
User who needs help organizing monthly expenses

What to explore
Pattern rules, visualization, accuracy checks.

Common CS IA Mistakes To Avoid

  1. Projects that are too large or unrealistic
  2. No real client or poorly defined client problem
  3. Choosing a project that is mostly UI and not enough code
  4. Relying on drag and drop tools instead of coding
  5. Weak documentation or missing development screenshots
  6. Using ML without understanding the algorithms
  7. No testing or evaluation with the client

How To Turn a CS Topic Into a Research Question

A strong Computer Science IA question looks like this:

How can [technique or algorithm] be used to solve [client problem] by creating a [type of software]

Examples:

Topic
Encrypted notes app

Research question
How can symmetric encryption be used to create a secure note-taking app for a student user

Topic
Study timer

Research question
How can adaptive timing algorithms help improve productivity for a student during study sessions

Final Tips for Choosing a CS IA Topic

• Identify a real client with a real need
• Keep the scope small and code-focused
• Show computational thinking
• Document design, testing, and iteration
• Build something useful and functional
• Avoid overly complex ML or massive apps

A good CS IA blends creativity with real problem solving. The ideas above can help you choose a topic that is practical, achievable, and demonstrates strong programming skills.

If you want help shaping your IA topic, building your research question, or strengthening your analysis, you can sign up on Baccalytics to work directly with expert IB tutors.

Share this post: