Internal assessment: solution development - Computer Science IB Study Notes

Overview
# Internal Assessment: Solution Development Summary This lesson guides students through the systematic development of their Computer Science Internal Assessment (IA) solution, emphasizing the creation of well-documented, functional code that addresses their chosen client's needs. Students learn to apply computational thinking, implement appropriate algorithms and data structures, and demonstrate technical competency through iterative development cycles with clear evidence of testing and refinement. The IA solution accounts for 30% of the final grade, making robust development practices, comprehensive documentation of the development process, and alignment with assessment criteria essential for achieving top marks in Criterion C (Development).
Core Concepts & Theory
Internal Assessment (IA) in IB Computer Science is a solution development project worth 30% of your final grade, requiring you to identify a real client's problem and create a computational solution. The IA follows the Software Development Life Cycle (SDLC) and must demonstrate algorithmic thinking, technical skill, and proper documentation.
Key Components:
Criterion A: Planning (6 marks) - Identify a client with a genuine problem, conduct consultations, and produce a detailed success criteria with measurable, specific outcomes.
Criterion B: Solution Overview (6 marks) - Create comprehensive design documentation including system diagrams (data flow, structure charts), algorithms (pseudocode or flowcharts), and record of planning tools used.
Criterion C: Development (12 marks) - Implement your solution with evidence of complex computational thinking, demonstrating techniques like recursion, searching/sorting algorithms, or database operations. Code must be well-structured with appropriate data structures (arrays, objects, databases).
Criterion D: Functionality & Extensibility (6 marks) - The product must be fully functional, meeting all success criteria, with extensible code that allows future modifications.
Criterion E: Evaluation (6 marks) - Conduct client testing, gather feedback systematically, and propose specific improvements based on the development process.
Critical Formula: Total IA marks = 36 points × (7/36) = scaled to 7 for final IB grade calculation
The computational solution must involve programming (not just webpage design) and demonstrate complexity appropriate to HL/SL level.
Detailed Explanation with Real-World Examples
Think of the IA like architectural design for a building - you wouldn't start construction without blueprints, client meetings, and safety checks. Similarly, your solution development follows structured phases.
Real-World Example 1: School Library System A student created a book reservation system for their school librarian (client). The problem? Students couldn't reserve books online, causing queues during lunch. The solution involved a Python/SQLite database application with login authentication, search functionality, and automated email notifications. The complexity came from implementing binary search for quick lookups and hash encryption for password security.
Real-World Example 2: Sports Team Management Another student developed a tournament scheduling app for a local basketball coach. The challenge involved algorithmic complexity - creating fair match schedules avoiding team conflicts. Using recursive backtracking algorithms, the program generated optimal schedules, demonstrating HL-level computational thinking.
The Client Relationship Analogy: Your client is like a translator between problems and solutions. They articulate needs but may not know technical requirements. During consultation, when a teacher says "I want grades sorted", you translate this into technical criteria: "System shall sort student records using merge sort algorithm in ascending/descending order by percentage within 2 seconds for datasets up to 500 records."
Testing as Quality Control: Like a restaurant chef tasting dishes before serving, your evaluation phase involves systematic testing. Alpha testing (you test functionality) catches bugs; beta testing (client tests) validates user experience. Document both with screenshots, test tables, and client quotes.
Worked Examples & Step-by-Step Solutions
**Example 1: Writing Success Criteria (Criterion A)** *Weak criterion*: "The system should be fast." *Strong criterion*: "The system shall retrieve student records from a database of 300+ entries within 1.5 seconds using indexed SQL queries, verified through timestamp logging." **Step-by-step imp...
Unlock 3 More Sections
Sign up free to access the complete notes, key concepts, and exam tips for this topic.
No credit card required · Free forever
Key Concepts
- Solution Development: The process of creating a working computer program or app from a design plan.
- Code: Instructions written in a programming language that a computer can understand and execute.
- Program/App: A set of instructions (code) that performs a specific task or solves a problem.
- Programming Language: A special language (like Python or Java) used to write instructions for computers.
- +6 more (sign up to view)
Exam Tips
- →Always reference your design document in your development section; explain how your code implements specific parts of your design.
- →Show evidence of **iterative development** (building and testing in small steps) by including screenshots or descriptions of testing at different stages.
- +3 more tips (sign up)
More Computer Science Notes