App Creators introduces students to the field of computer science and the concepts of computational thinking, through the creation of mobile apps. Students are challenged to be creative and innovative, as they collaboratively design and develop mobile solutions to engaging, authentic problems. Students experience the positive impact of the application of computer science to society as well as other disciplines, particularly biomedical science.
The unit provides students opportunities for self-expression. Teams identify a personal or community problem of interest to them that can be solved with a mobile app solution. The problem can address issues such as health and wellness, the environment, school culture, emergency preparedness, education, community service—the options are endless!
Lesson 1: Let’s Create an App!
Students are introduced to the concept of pair programming, app development, and the MIT App Inventor development tool. They learn about the Model-View-Controller (MVC) design pattern, app graphical design, event-driven programming, debugging, and algorithm creation using variables and conditional logic. They create engaging biomedical science apps and fun interactive games that apply these concepts and use basic user interface features, media, and animation.
Lesson 2: Taking It to the Next Level
Students further explore the concepts investigated in Lesson 1 and build upon their skills to use data in mobile applications. They create algorithms using loops to streamline repetition and iterate through lists, and create procedures to abstract the details of a task and reduce redundancy. They learn to organize and store persistent data collected from user input and device sensors.
Lesson 3: The App Challenge
Students apply all of the knowledge and skills they have acquired to design and create a mobile app solution for a personal or community problem. They apply the design process and computational thinking skills to decompose the problem into smaller modules. Following user-centered design principles, they design and create an appropriate user interface and program the app to produce the desired behavior.