
Virtual Pet Simulator: Design & Code Interactive Game
Inquiry Framework
Question Framework
Driving Question
The overarching question that guides the entire project.How can we design and develop a virtual pet simulator that not only functions effectively through the use of programming constructs and abstractions but also provides an engaging user experience with rich media and an intuitive interface?Essential Questions
Supporting questions that break down major concepts.- What is the design process, and how can it be applied in developing a virtual pet simulator?
- How do programming constructs like data types, variables, control structures, and modularity contribute to creating a functional virtual pet game?
- What role do abstractions play in simplifying the development of complex systems such as a virtual pet simulator?
- How does using abstraction help manage the complexity in programming and development of a virtual pet game?
- What are the strategies for formulating algorithms to effectively solve problems involved in developing a virtual pet simulator?
- How can a virtual pet simulator be tested to ensure it behaves as expected and interacts well with users?
- What makes an effective user interface in the context of a virtual pet simulator?
- How can rich media enhance the user experience in a virtual pet game?
- What constitutes good programming practice and how can it be applied in developing a virtual pet game, particularly in terms of using conventional standards and effective commenting?
Standards & Learning Goals
Learning Goals
By the end of this project, students will be able to:- Students will understand and apply the design process to develop a virtual pet simulator.
- Students will demonstrate proficiency in using programming constructs such as data types, variables, control structures, and modularity.
- Students will explain and implement abstractions to hide complex implementation details and manage program complexity.
- Students will formulate algorithms to address problems encountered in the development of the virtual pet simulator.
- Students will develop a user-friendly interface and incorporate rich media into their virtual pet simulator.
- Students will test and verify the correct behavior of their virtual pet simulator.
- Students will apply good programming practices, including the use of conventional standards and effective commenting in their code.
Computer Science
Entry Events
Events that will be used to introduce the project to studentsInteractive Virtual Pet Adoption Fair
Initiate with a virtual 'pet adoption fair' where students use scratch programming or a simple game engine to create basic virtual pets to 'adopt.' Each student's pet can have unique traits, encouraging exploration of algorithms and modularity while establishing the basics of a user interface and rich media for their project.Portfolio Activities
Portfolio Activities
These activities progressively build towards your learning goals, with each submission contributing to the student's final portfolio.Virtual Pet Design Sprint
In this activity, students will apply the design process to brainstorm, plan, and sketch their virtual pet simulator concepts. By following a structured design sprint, they will outline the key features, user interface elements, and the overall user experience for their pet game.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityDetailed design sketches and plans for each student's virtual pet simulator concept.Alignment
How this activity aligns with the learning objectives & standardsICS-2.1 Use the design process to iteratively develop a computing artifact.Coding Constructs Workshop
Students dive into programming constructs to set the foundation for their virtual pet game. This workshop will cover the fundamental programming components necessary to start coding, including data types, variables, control structures, and basic functions.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 of code snippets demonstrating understanding of programming constructs.Alignment
How this activity aligns with the learning objectives & standardsICS-2.2 Demonstrate competencies of programming constructs, including: use of data types and variables, control structures (sequencing, looping, branching), and modularity.Abstracting the Pet
By focusing on abstraction, students will learn how to manage the complexity of their code for the virtual pet simulator. They will practice creating functions and modules to simplify their code and enhance clarity and reusability.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 set of modular functions integrated into the virtual pet simulator code.Alignment
How this activity aligns with the learning objectives & standardsICS-2.3 Understand how abstractions hide implementation details when used in everyday objects. ICS-2.4 Use abstraction to manage program complexity.Algorithm Architects
Students will focus on formulating algorithms to tackle problems involved in developing a virtual pet simulator. They will design algorithms to guide their pet's behavior, interactions, and user interface responses.Steps
Here is some basic scaffolding to help students complete the activity.Final Product
What students will submit as the final product of the activityPseudocode for various algorithms governing virtual pet behaviors.Alignment
How this activity aligns with the learning objectives & standardsICS-2.5 Formulate algorithms using programming structures to decompose a complex problem.Testing Trial Run
In this activity, students will test their virtual pet simulator to ensure it performs correctly and meets user needs. They will learn to develop test cases, identify bugs, and refine their code based on testing results.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 testing report that includes test cases, results, and identified fixes for the virtual pet simulator.Alignment
How this activity aligns with the learning objectives & standardsICS-2.6 Assess a program by testing to verify correct behavior.UI/UX Innovators
Students concentrate on developing an engaging user interface for their virtual pet simulator while incorporating rich media elements. This includes designing visually appealing graphics and intuitive navigation to enhance user experience.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 polished user interface and media-rich environment for the virtual pet simulator.Alignment
How this activity aligns with the learning objectives & standardsICS-2.7 Construct a computing artifact that has a user interface. ICS-2.8 Produce an artifact that includes rich media.Code Curators
Emphasizing good programming practices, students will learn to apply conventional coding standards and effective commenting within their virtual pet simulator project.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 enhanced codebase for the virtual pet simulator that aligns with conventional standards and includes thorough documentation.Alignment
How this activity aligns with the learning objectives & standardsICS-2.9 Illustrate knowledge of good programming practice including the use of conventional standards and comment.Rubric & Reflection
Portfolio Rubric
Grading criteria for assessing the overall project portfolioVirtual Pet Simulator Development Rubric
Design Process and Planning
Evaluates the students' ability to apply the design process in planning and developing the virtual pet simulator.Application of Design Process
Measures how effectively students use the design process in their project planning and development.
Exemplary
4 PointsConsistently applies the design process, demonstrating creativity in the development of a comprehensive virtual pet simulator plan with detailed sketches and innovative user experience design elements.
Proficient
3 PointsEffectively applies the design process, producing clear and functional design sketches with a well-thought-out user experience.
Developing
2 PointsApplies the design process with some guidance, producing basic design sketches that address user experience and interface needs.
Beginning
1 PointsStruggles to apply the design process, producing sketches that lack detail or consideration for user experience.
Programming Constructs
Assesses the students' competencies in using programming constructs to develop their virtual pet simulator.Understanding of Programming Constructs
Evaluates students' grasp of data types, variables, control structures, and modularization in their coding portfolio.
Exemplary
4 PointsDemonstrates an advanced understanding, using a wide range of programming constructs expertly to solve complex problems.
Proficient
3 PointsShows a thorough understanding of programming constructs, using them effectively in the code.
Developing
2 PointsShows basic understanding, using programming constructs inconsistently, needing some guidance.
Beginning
1 PointsShows limited understanding of programming constructs, requiring significant guidance to apply them.
Abstraction Techniques
Assesses the use of abstraction to manage complexity in the virtual pet simulator code.Implementation of Abstraction
Evaluates how students implement abstraction techniques, such as functions and modules, in simplifying their code.
Exemplary
4 PointsExpertly implements abstraction, using functions and modules that significantly enhance code readability and reusability.
Proficient
3 PointsEffectively uses abstraction techniques to enhance code structure and reduce complexity.
Developing
2 PointsUses abstraction techniques with some effectiveness, but with room for improvement in code organization.
Beginning
1 PointsStruggles to implement abstraction, resulting in complex and hard-to-manage code.
Algorithm Development
Evaluates students' ability to develop algorithms for their virtual pet simulator.Formulation and Implementation of Algorithms
Measures the ability to formulate and implement algorithms effectively in the simulator code.
Exemplary
4 PointsFormulates and implements complex algorithms expertly, addressing all required behaviors and interactions with innovation.
Proficient
3 PointsDevelops effective algorithms that address the main behaviors and interactions proficiently.
Developing
2 PointsDevelops basic algorithms, but they require refinement to address all necessary functions.
Beginning
1 PointsStruggles to formulate basic algorithms, missing key elements in the simulator's operations.
Testing and Evaluation
Assesses students' ability to systematically test and evaluate their virtual pet simulator.Development and Execution of Test Cases
Evaluates the thoroughness and effectiveness of test cases created and executed by students.
Exemplary
4 PointsDevelops comprehensive test cases, effectively identifying and resolving all errors and user experience issues with confidence.
Proficient
3 PointsCreates and executes effective test cases, identifying most errors and resolving them proficiently.
Developing
2 PointsDevelops basic test cases that address some but not all issues, with guidance needed for resolution.
Beginning
1 PointsStruggles to develop test cases, missing many key issues and requiring assistance to resolve them.
User Interface and Experience
Evaluates the development of a user-friendly interface and incorporation of rich media in the simulator.Design and Integration of User Interface and Media
Measures how effectively the user interface and media elements enhance the simulator's user experience.
Exemplary
4 PointsDesigns and integrates a highly engaging and intuitive user interface with rich media elements that significantly enhance user experience.
Proficient
3 PointsDevelops an effective user interface and includes appropriate media enhancements, contributing positively to user experience.
Developing
2 PointsCreates a basic user interface with minimal media integration, with several areas for improvement in engagement and intuitiveness.
Beginning
1 PointsStruggles to develop a coherent user interface or fails to incorporate effective media, significantly impacting user engagement.
Good Programming Practices
Assesses students' application of conventional coding standards and commenting practices.Adherence to Programming Standards and Commenting
Evaluates students' ability to create clear, well-documented code that follows industry standards.
Exemplary
4 PointsProduces code that excellently adheres to standards, with thorough and insightful comments that enhance understanding.
Proficient
3 PointsConsistently adheres to coding standards and provides clear comments, facilitating code understanding.
Developing
2 PointsAdheres to basic coding standards but with inconsistent commenting, making some sections hard to follow.
Beginning
1 PointsShows limited regard for coding standards and comments are minimal or unclear, limiting code readability.