
Gaming Engine Algorithm Verification
Inquiry Framework
Question Framework
Driving Question
The overarching question that guides the entire project.How can formal verification techniques ensure the robustness and reliability of gaming engine algorithms by leveraging formal modelling, specification, and logic principles learned in computer science?Essential Questions
Supporting questions that break down major concepts.- What is formal verification and why is it important for gaming engine algorithms?
- How can propositional and predicate logic be applied to verify the robustness of gaming engine algorithms?
- What role do automatons and formal languages play in formal methods for software development?
- How does formal modelling aid in the specification and verification of algorithms in computer science?
- What are the challenges in applying formal methods to real-world software development, particularly in gaming engines?
Standards & Learning Goals
Learning Goals
By the end of this project, students will be able to:- Understand and apply formal verification techniques to ensure robustness in gaming engine algorithms.
- Develop formal models and specifications for algorithms used in gaming engines, ensuring their reliability.
- Utilize propositional and predicate logic to verify the correctness and reliability of software algorithms.
- Explain the role of automatons, formal languages, and their significance in the software development process.
ACM/IEEE-CS Computer Science Curricula 2013
Entry Events
Events that will be used to introduce the project to studentsDigital Forensics: Uncovering the Hidden Bugs
Start the project with a simulated scenario where a major gaming company has identified bugs leading to unexplained crashes in an online game. Students will be handed an 'investigator's dossier' containing snippets of code with mysterious anomalies and tasked with forming a team to delve into algorithm verification, echoing steps of a real digital forensics investigation.Portfolio Activities
Portfolio Activities
These activities progressively build towards your learning goals, with each submission contributing to the student's final portfolio.Logic Foundations Workshop
Students begin by revisiting essential concepts of propositional and predicate logic to understand their application in verifying software robustness. This workshop lays the groundwork for applying these principles to analyze gaming algorithms critically.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityA portfolio entry of logic problems solved that relate to algorithm analysis.Alignment
How this activity aligns with the learning objectives & standardsAligns with CS2013-SF-FormalLogic by reinforcing the application of logic in software verification.Automaton Adventure
Explore the theory of automatons by constructing and analyzing finite automata models related to gaming scenarios. This activity helps students understand how formal languages can be applied to software verification processes.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityA comprehensive report including the design and analysis of a finite automaton model.Alignment
How this activity aligns with the learning objectives & standardsAligns with CS2013-SF-Automata by applying automata theory to practical software development scenarios.Modeling Mastery Session
In this activity, students delve into formal modeling and specification techniques to describe algorithmic behavior within gaming engines. Through modeling, students gain insights into complex interactions and potential vulnerabilities.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityA formal model and specification document that outlines the chosen gaming algorithm's design and functionalities.Alignment
How this activity aligns with the learning objectives & standardsAligns with CS2013-SF-Modeling through the use of specification techniques to describe software systems.Formal Methodology Practicum
Students apply formal methods to develop rigorous algorithm verification techniques. This practicum focuses on using formal methods to improve the robustness and reliability of gaming algorithms.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityA detailed reflection and analysis report on the application of formal methods to a gaming algorithm.Alignment
How this activity aligns with the learning objectives & standardsAligns with CS2013-SF-FormalMethods by encouraging the application of formal methods for software system verification.Verification Vanguard
This final activity challenges students to synthesize their learning by performing a comprehensive verification of a gaming engine algorithm. Students will apply learned techniques to ensure the algorithm's robustness and reliability.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityAn in-depth presentation showcasing the complete verification process and findings.Alignment
How this activity aligns with the learning objectives & standardsEncompasses all standards: formal logic, automata, modeling, and formal methods, bringing them together for comprehensive verification.Rubric & Reflection
Portfolio Rubric
Grading criteria for assessing the overall project portfolioGaming Engine Algorithm Verification Rubric
Application of Formal Logic
Assessment of the ability to utilize formal logic in the verification of software algorithms, focusing on robustness and reliability.Understanding of Formal Logic
Measures the depth of understanding regarding propositional and predicate logic used in software verification for gaming engines.
Exemplary
4 PointsDemonstrates a sophisticated understanding of formal logic principles and applies them innovatively to verify software robustness in gaming engines.
Proficient
3 PointsDemonstrates thorough understanding and appropriate application of formal logic concepts to verify gaming algorithms.
Developing
2 PointsShows emerging understanding with some inconsistency in applying formal logic principles for verification.
Beginning
1 PointsShows initial understanding and struggles with the application of formal logic in verification tasks.
Problem-Solving with Logic
Assesses the ability to solve and analyze logic problems related to algorithm verification.
Exemplary
4 PointsSolves complex logic problems with precision and applies solutions effectively to enhance gaming algorithm robustness.
Proficient
3 PointsConsistently solves logic problems accurately, applying solutions effectively to verify algorithms.
Developing
2 PointsSolves basic logic problems with partial accuracy and inconsistent application to verification.
Beginning
1 PointsStruggles with solving logic problems and applying solutions to verification tasks.
Modeling and Specification
Evaluation of skills in modeling and specification of gaming algorithms using formal methods.Development of Formal Models
Evaluation of students' ability to develop and specify formal models for algorithm analysis and verification.
Exemplary
4 PointsCreates highly precise and comprehensive formal models, clearly specifying key functionalities and constraints.
Proficient
3 PointsDevelops clear and functional models specifying essential aspects for verification purposes.
Developing
2 PointsProduces basic models with some level of functionality and specification.
Beginning
1 PointsStruggles to develop coherent models for algorithm specification.
Use of Formal Methods
Assessment of students' capability to apply formal methods effectively in software verification for gaming engines.Application of Formal Techniques
Measures how well students apply formal methods to enhance algorithm verification processes.
Exemplary
4 PointsApplies formal methods with exceptional skill, identifying edge cases and resolving potential errors effectively.
Proficient
3 PointsEffectively applies formal methods to identify errors systematically within algorithms.
Developing
2 PointsApplies formal methods with some effectiveness, identifying errors in a limited scope.
Beginning
1 PointsStruggles with applying formal methods effectively for verification purposes.
Project Synthesis and Presentation
Assessment of the ability to synthesize learning and present findings comprehensively.Presentation of Verification Process and Findings
Measures students' ability to compile and present verification processes and results comprehensively.
Exemplary
4 PointsDelivers a highly engaging, well-organized presentation demonstrating exceptional insight into verification processes and outcomes.
Proficient
3 PointsPresents findings in a coherent, organized manner, effectively summarizing verification strategies and outcomes.
Developing
2 PointsPresents findings with some structure, needing more depth and clarity in communicating verification insights.
Beginning
1 PointsStruggles to present verification activities and findings in an organized, clear manner.