Return to main page
View source or report issues on GitHub

The IB Computer Science Internal Assessment

Much of the material in this section comes directly from the IA Manual for Students published by long-time IB CS teacher Paul Baumgarten on his website. Incredible thanks to him for his hard work. The rest of his website is a fantastic resource for IB CS students as well.

The Internal Assessment for Computer Science is an opportunity for you to showcase your algorithmic and technical prowess at developing software intended to solve a legitimate, real world problem for someone.Approximately 30 hours of class time will be devoted to the Internal Assessment. Beyond that it is expected you will contribute at least the same amount of your own time towards the project.

We will spend about 30 hours of class time SPECIFICALLY devoted towards working on the IA, as well as additional time working on the programming skills you will need to succeed. You will also be expected to contribute a large amount of your own time to the project. The computer science IA is a large project, but an attainable one, and one that you can be proud of.

What you will Deliver

Choosing Your Project

Step 1 - Find a client

Step 2 - Define the meaningful project (WITH your client)

Step 3 - Criterion A - Planning (6 marks)

First Formal Interview with Client

Though it is likely you will have discussed possible projects with your client in steps 1 and 2, you should start the formal IA process with a formal interview. This should be recorded and then transcribed into the Appendix of your IA as evidence of a real meeting with a real person.

In the meeting, you should discuss:

Report Section: Description of Scenario

This is a short piece of writing (175-250 words) that describes: * Who the client is (without giving identifying information that breaks privacy laws) * What problem or desire is being solved by the student * A summary of the early meeting with the client, focused on the problem itself. (the full interview, again, will be in the transcript, but summarize here.)

Report Section: Rationale for project

In this second short piece of writing (175-250 words), you should: * Justify your project as solving the problem * Justify the technology you are using (this includes the programming language and platform)

Report Section: Success Criteria

This should be a bulleted list of specific, objectively measurable criteria. Avoid generic success criteria such as “doesn’t crash” or “user friendly” - describe the actual experience and features your client wants. If you need a second formal meeting to solidify this you should arrange it, record it, and transcribe it for your appendix.

The success criteria should be presented as a bulleted list, in which case it will not count against your overall word count.

Step 4 - Criterion B - Overview (6 marks)

Report Section: Record of Tasks

The IB provides a template, as shown below, for this part of your report.

Task Number Planned Action Planned Outcome Time Estimated Target Completion Date Criterion
           
           
           

This is a chronological table in which you will plan out your work on the project. The first few lines should cover the work you did for Criterion A (find client, interview client, etc). You will be provided a Google Docs version of this template on google classroom an encouraged to update it regularly.

Report Section: Design Overview

This section of your report should include a large number of diagrams that describe how you planned out your final project. This will include:

As long as your writing in this section is presented as diagrams, tables, and bulleted lists ONLY (as it can and should be) this will not count toward word count.

This MUST be limited to PLANNING information - do not include screenshots of the final code or screens in this section, but if you add new planning as you work on the project you can include those later-added plans. You can even include multiple drafts of your plans as long as they are clearly labeled.

Report Section: Test Plan

This is included as part of the Design Overview, but feels different enough to be worth its own heading.

This should describe EXACTLY how you will test the success criteria in part A. Format it as a table Success Criteria, Method of Testing, Expected Result.

Again, as long as it is presented as a table with limited writing, no word count applies.

Step 5 - Criterion C - Development (12 marks)

Once you have your initial plan ready to go, you can start developing. You may have found that you have several holes in your knowledge and will need to take a break from the IA itself to learn how to work with your chosen language. As you do, you may improve your plan. This is expected!

Finally, you’ll build your program. This is the longest and hardest part. It also comes with the longest and hardest written component.

Report Section: Development

This section uses the most words of any section, 500-1000 of them in addition to screenshots, appropriate diagrams, and so on. It must explain: * The structure of the product and why the structure is appropriate * The algorithmic and computational thinking you used in the development of the product * Programming techniques you used and why they were appropriate (this should include screenshots of code, potentially example data, and references to more detailed code int he appendix) * Any existing tools that you used in the development of your product, such as code libraries, APIs, software packages, etc.

This section is the largest part of the report AND your score. Your project, through this section, will be scored on INGENUITY and COMPLEXITY. We will save a detailed look at those words for a later time. The key thing is understanding that if you do something cool, you need to be able to explain why its cool in this section.