Computer Science (CS) IA Exemplar: Python Programme for Car and… | RevisionDojo
Loading document preview...
IB Computer Science (CS) SL Internal Assessment Example
Python programme to manage car and house rental businessSL
Loading scores...
6
Official IB Result
20/34
Criteria A: Planning
4/6
0
3
6
Criteria StrandsPro
A.1Scenario and Client Investigation
Excellent
A.2Product Rationale
Moderate
A.3Success Criteria
Good
Criteria Feedback
Detailed evidence of iterative consultation via full interview transcripts
Clear identification of client and appropriate scenario
Specific and measurable success criteria addressing core functionality
Scenario description lacks depth on operational context and client pain points
Rationale omits explicit comparisons to alternative platforms and deeper feature linkage
Success criteria miss aspects such as security, portability, and maintainability
1.1·Weakness
Page 1• Click to view
The rationale identifies Python/Tkinter familiarity but omits evaluation of alternatives or explicit linkage of platform features to client requirements. Consider comparing other frameworks and justifying each choice in relation to client needs.
1.2·Weakness
Page 1• Click to view
The scenario briefly outlines the client’s rental business but lacks depth on operational scale and context. Expanding the description to include client pain points, business size, and target users will strengthen the scenario.
1.3·Suggestion
Page 2• Click to view
While success criteria cover core functionality, they omit maintainability, security, and portability aspects. Including criteria for data security and future maintainability would provide a more comprehensive evaluation framework.
1.4·Strength
Page 2• Click to view
The success criteria are mostly specific (e.g., 50% faster input) and measurable, addressing usability and performance. This fosters clear evaluation benchmarks.
Criteria B: Solution Overview
4/6
0
3
6
Criteria StrandsPro
B.1Record of Tasks
Excellent
B.2Design Overview
Excellent
B.3Test Plan
Good
Criteria Feedback
Comprehensive, detailed task record covering the full project lifecycle with timestamps and criterion links
Well‐developed design overview including wireframes, flowchart, and input/output tables
Test plan covers normal and extreme cases with expected outcomes for most tests
Design mock-ups lack data dictionary or class diagram for full technical clarity
Some test cases have incomplete or vague expected outcomes (e.g., search bar)
Traceability between success criteria and test cases could be improved
2.1·Strength
Page 3• Click to view
The task record is detailed and complete, showing planned actions, outcomes, timestamps, and criterion links. This provides a clear development timeline and evidence of systematic planning.
2.2·Strength
Page 4• Click to view
Continuation of the task log maintains consistency and depth across criteria A–E, reinforcing a comprehensive development process record.
2.3·Suggestion
Page 6• Click to view
The ‘Wrong type of input’ entries are marked as ‘–’, which lacks guidance on handling errors. Specify expected error messages or input validation rules to clarify system behavior.
2.4·Strength
Page 6• Click to view
The Input/Output table thoroughly maps each field to data types, valid examples, and error cases, supporting a clear design specification.
2.5·Strength
Page 7• Click to view
The table of outputs comprehensively lists warnings and info messages, detailing scenarios and expected messages, which strengthens the test planning.
2.6·Weakness
Page 8• Click to view
The first prototype wireframe demonstrates initial layout concepts but has inconsistent alignment and sparse annotation, reducing clarity. Consider refining grid alignment and labeling controls.
2.7·Strength
Page 9• Click to view
The second wireframe is annotated with user interactions and sample values, clearly showing field purpose and flow. This demonstrates effective design iteration.
2.8·Weakness
Page 16• Click to view
Some test cases lack detailed expected outcomes (e.g., search bar entry). Defining precise expected results for each test improves verification rigour.
2.9·Suggestion
Page 16• Click to view
The Test Plan section covers main window functionality and special cases. Including a clear mapping between success criteria and test cases would further improve traceability.
2.10·Strength
Page 17• Click to view
Extreme input testing is well considered (e.g., long names, distant dates), showing foresight in handling boundary conditions.
2.11·Strength
Page 17• Click to view
The test plan includes sorting, filtering, and button functionality, demonstrating thorough coverage of dynamic behaviors.
Effective and varied use of external libraries (Tkinter, tkcalendar, ttk) integrated appropriately
Clear code explanations with annotated screenshots linking techniques to project needs
No external sources or tutorials cited, lacking formal documentation of origins
Opportunities remain to optimize or refactor file I/O for configurability
Complexity is solid but does not reach the very highest SL expectations for innovativeness
3.1·Strength
Page 20• Click to view
The explanation of external libraries highlights their roles in UI, date handling, and persistence, linking choices to program reliability.
3.2·Strength
Page 20• Click to view
The list of techniques identifies a wide range of advanced methods (calendars, file handling, event IDs), illustrating the project’s technical depth.
3.3·Strength
Page 22• Click to view
The discussion of the Calendar widget articulates usability benefits and error reduction, showing appropriate use of third-party tools.
3.4·Strength
Page 22• Click to view
Input validation via messagebox.showerror for required fields demonstrates robust error handling and prevents incomplete data entry.
3.5·Strength
Page 24• Click to view
The try-except sorting algorithm handles both numeric and text columns, toggling sort direction. This reflects moderate algorithmic ingenuity.
3.6·Strength
Page 26• Click to view
The conflict detection algorithm converts dates, checks overlaps, and warns the user, showcasing a well-structured logical check to prevent double bookings.
3.7·Strength
Page 27• Click to view
Event handling is clearly described, linking GUI actions to function calls and demonstrating dynamic interaction design.
3.8·Strength
Page 27• Click to view
Persistent file I/O with automatic backups and dynamic load/save routines enhances data integrity and demonstrates effective file handling.
3.9·Strength
Page 28• Click to view
Unique event IDs combine timestamp and count to avoid collisions, showing thoughtful design for data consistency and traceability.
Criteria D: Functionality and Extensibility
2/4
0
2
4
Criteria StrandsPro
D.1Product Functionality
Excellent
D.2Extensibility
Good
Criteria Feedback
Product functions reliably in add/edit/delete, search, conflict checks, and persistence as demonstrated
Modular code structure supports straightforward addition of new fields or database back‐end
Hard-coded file paths impede configurability and extensibility
Some extension tasks (e.g., UI enhancements) would require non‐trivial refactoring
4.1·Strength
Page 30• Click to view
Button command binding is consistent and enhances usability with clear one-click actions for core functions.
4.2·Strength
Page 31• Click to view
The product functions well, meeting most success criteria (add/edit/delete, conflict checks, data persistence) as confirmed by user testing.
4.3·Suggestion
Page 32• Click to view
The modular code structure supports straightforward extension (e.g., adding new fields or migrating to a database) but some file paths remain hard-coded. Refactor I/O for configurability.
Criteria E: Evaluation
3/6
0
3
6
Criteria StrandsPro
E.1Evaluation Against Success Criteria
Good
E.2Client/Adviser Feedback
Excellent
E.3Future Recommendations
Excellent
Criteria Feedback
Systematic evaluation against each success criterion with met/partially met judgments