Please enable JavaScript to use CodeHS


Mobile Apps (Semester)

Lessons

  1. Introduction to Mobile Apps

    1. 1.1 Introduction to React Native and Expo

    2. Description

      In this first lesson, students will be introduced to React Native, a framework that will be used to develop apps throughout this course. They will also be guided through the download process for Expo, an app that helps students run their programs on their handheld devices as they are created.

    3. Objective

      Students will be able to:

      • Articulate what React Native is, what it is used for, and the benefits of the framework
      • Download and run the Expo app on a device in order to physically view apps as they create them throughout the course
  2. Components and the Stylesheet

    1. 2.1 Introduction to Components

    2. Description

      In this lesson, students are introduced to the basic components used to build React Native apps. They will learn about the parent view component and see how all child components are nested inside.

    3. Objective

      Students will be able to:

      • Create a basic app using view and text components
      • Nest child components inside a parent view component
    4. 2.2 Introduction to the Stylesheet API

    5. Description

      In this lesson, students learn how to add styling to specific components to their apps using the Stylesheet API.

    6. Objective

      Students will be able to:

      • Define style rules using a stylesheet
      • Apply a specific style rule to a particular component
    7. 2.3 Styling View Components

    8. Description

      In this lesson, students will begin to style their app layout using various Stylesheet components.

    9. Objective

      Students will be able to:

      • Position different components relative to each other
      • Control the size and position of components
    10. 2.4 Styling Text Components

    11. Description

      In this lesson, students will learn about the text attributes that can be styled.

    12. Objective

      Students will be able to:

      • Style a Text component’s font size, weight, and color using the Stylesheet API
    13. 2.5 Challenge: Scorekeeper Pt 1

    14. Description

      In this lesson, students will begin creating their Scorekeeper program. They will be able to design it how they wish and will be adding to this program throughout the course as they learn new concepts.

    15. Objective

      Students will be able to:

      • apply their knowledge of components and styling to develop a layout for a scorekeeper app
    16. 2.6 Components and the Stylesheet Quiz

    17. Description

      In this lesson, students review content with a 15 question End-of-Unit Quiz.

    18. Objective

      Students will be able to:

      • Prove their knowledge of view and text components and styling through a multiple choice quiz
  3. Buttons and Text Boxes

    1. 3.1 TouchableHighlight and the onPress Function

    2. Description

      In this lesson, students will learn how to make components of their apps react to being pressed.

    3. Objective

      Students will be able to:

      • create an alert when a particular component is pressed
      • make any component behave like a button
    4. 3.2 TextInput

    5. Description

      In this lesson, students will learn how to use the TextInput component to allow users to input information into their apps.

    6. Objective

      Students will be able to:

      • use the TextInput component to allow users to enter text into their apps
      • set state values that will control the initial values in their text boxes
      • concatenate strings with state objects to personalize alert messages
    7. 3.3 Challenge: Scorekeeper Pt 2

    8. Description

      In this lesson, students will add some functionality to their Scorekeeper program. They will allow users to enter team names as well as fire alerts when certain buttons are pressed.

    9. Objective

      Students will be able to:

      • apply their knowledge of buttons and text boxes to update and add functionality to their scorekeeper app
    10. 3.4 Buttons & Text Boxes Quiz

    11. Description

      In this lesson, students review content with a 15 question End-of-Unit Quiz.

    12. Objective

      Students will be able to:

      • Prove their knowledge of buttons and text boxes through a multiple choice quiz
  4. Advanced Layouts and Images

    1. 4.1 The Image Component

    2. Description

      In this lesson, students will learn how to add images to their apps.

    3. Objective

      Students will be able to:

      • incorporate images into their app designs and size them appropriately
      • explain what the aspect ratio of an image is
    4. 4.2 Setting a Background Image

    5. Description

      In this lesson, students will learn how to use the ImageBackground component to allow other components to be placed on top of an image.

    6. Objective

      Students will be able to:

      • use ImageBackground components to layer various components on top of an image
    7. 4.3 Using Images as Buttons

    8. Description

      In this lesson, students will learn how the Image component can be nested inside a TouchableHighlight component in order to use images as buttons.

    9. Objective

      Students will be able to:

      • use Image components as buttons in their apps
    10. 4.4 Flex Layouts

    11. Description

      In this lesson, students will learn how to create responsive layouts using flex values.

    12. Objective

      Students will be able to:

      • size components relative to each other and the screen size using flex
    13. 4.5 Using 'Dimensions' to Control Size

    14. Description

      In this lesson, students will learn how to create responsive layouts using the Dimensions API.

    15. Objective

      Students will be able to:

      • size components relative to each other and the screen size using the Dimensions API
      • note the reasons we would use Dimensions over flex values to create responsive designs
    16. 4.6 Challenge: Scorekeeper Pt 3

    17. Description

      In this lesson, students will add images to their Scorekeeper apps. They will also alter the way their components are sized so that their layout is responsive.

    18. Objective

      Students will be able to:

      • apply their knowledge of Image components to make their Scorekeeper app more appealing
      • use flex values or Dimensions to create a responsive layout
    19. 4.7 Advanced Layouts and Images Quiz

    20. Description

      In this lesson, students review content with a 15 question End-of-Unit Quiz.

    21. Objective

      Students will be able to:

      • Prove their knowledge of images and advanced layout concepts through a multiple choice quiz
  5. App Build: Recreate a Popular App

    1. 5.1 Recreate a Popular App

    2. Description

      In this lesson, students will spend time researching, exploring, planning, and developing a replica of an app screen they’ve used previously. They should try their best to mirror the features of the chosen screen and think about the functionality that should be built into the app in order to clearly determine which topics they still need to learn when it comes to app creation.

    3. Objective

      Students will be able to:

      • replicate an app screen design using the skills they’ve learned up to this point
      • think critically about the layout and style of an app screen
  6. Events and State

    1. 6.1 Using State to Control Values

    2. Description

      In this lesson, students will learn how to set state variables and use their values inside their programs.

    3. Objective

      Students will be able to:

      • set multiple state values
      • use state values inside their programs
    4. 6.2 Updating State with onPress

    5. Description

      In this lesson, students will learn how to update the values of states by using TouchableHighlight components.

    6. Objective

      Students will be able to:

      • create and use functions that are called using the onPress function to update state values
    7. 6.3 Using Mathematical Equations to Update State

    8. Description

      In this lesson, students will learn how to set numerical state values and update them using mathematical equations.

    9. Objective

      Students will be able to:

      • use mathematical equations to update numerical state values in their programs
    10. 6.4 Using Methods to Update String States

    11. Description

      In this lesson, students will learn how string methods can be used to update the value of string states.

    12. Objective

      Students will be able to:

      • use string methods to update the value of string states
    13. 6.5 Challenge: Scorekeeper Pt 4

    14. Description

      In this lesson, students will add functionality to their app that will update the score of each team based on button presses.

    15. Objective

      Students will be able to:

      • apply their knowledge of state values to update the scores for each team in their Scorekeeper app
    16. 6.6 Events and State Quiz

    17. Description

      In this lesson, students review content with a 15 question End-of-Unit Quiz.

    18. Objective

      Students will be able to:

      • Prove their knowledge of Events and State through a multiple choice quiz
  7. Creating Multiple Screens

    1. 7.1 Creating a Navbar

    2. Description

      In this lesson, students will learn how to create layouts that include navbars.

    3. Objective

      Students will be able to:

      • create a layout which includes a component for each screen’s information and a container that acts as a navbar
    4. 7.2 Using Buttons to Navigate Screens

    5. Description

      In this lesson, students will learn how to create apps that have multiple screens.

    6. Objective

      Students will be able to:

      • develop apps that use buttons placed in a navbar to navigate between multiple screens
    7. 7.3 Challenge: Scorekeeper Pt 5

    8. Description

      In this lesson, students will separate the contents of their Scorekeeper app onto multiple screens.

    9. Objective

      Students will be able to:

      • use their knowledge of navbars to create navigation between multiple screens on their Scorekeeper app
    10. 7.4 Creating Multiple Screens Quiz

    11. Description

      In this lesson, students review content with a 15 question End-of-Unit Quiz.

    12. Objective

      Students will be able to:

      • Prove their knowledge of creating multiple screens through a multiple choice quiz
  8. Working with Conditionals

    1. 8.1 Conditionals and State Change

    2. Description

      In this lesson, students will learn how they can use conditionals in their React Native apps.

    3. Objective

      Students will be able to:

      • use conditionals in their programs to tell the computer to complete one action over another
    4. 8.2 Conditionals using Parameters

    5. Description

      In this lesson, students will learn how parameters can be used inside React Native functions.

    6. Objective

      Students will be able to:

      • use parameters inside functions to control conditional blocks
    7. 8.3 Challenge: Scorekeeper Pt 6

    8. Description

      In this lesson, students will add a new screen to their app where the record of each team’s wins, losses, and ties will be recorded. They will use their prior knowledge of creating multiple screens and the new concepts of conditionals to complete this task.

    9. Objective

      Students will be able to:

      • use their knowledge of conditionals to create a Standings screen where a record of wins, losses, and ties for each team will be stored
    10. 8.4 Working with Conditionals Quiz

    11. Description

      In this lesson, students review content with a 15 question End-of-Unit Quiz.

    12. Objective

      Students will be able to:

      • Prove their knowledge of conditionals through a multiple choice quiz
  9. App Build: Currency Converter

    1. 9.1 Currency Converter

    2. Description

      In this lesson, students will spend time researching, exploring, planning, and developing an app that converts between multiple currencies.

    3. Objective

      Students will be able to:

      • create an app that converts between multiple currencies
      • think critically about the user experience while using their app
  10. Midterm

    1. 10.1 Midterm

    2. Description

      In this lesson, students review content with a midterm exam.

    3. Objective

      Students will be able to:

      • Prove their knowledge of coding in React Native through a midterm exam
  11. Additional Topics

    1. 11.1 Changing Attributes Through User Interaction

    2. Description
    3. Objective
  12. Mobile Apps Prerequisite

    1. 12.1 Introduction to HTML

    2. Description

      Have you ever wondered how web pages are made? In this lesson students will be introduced to HTML: the language for building web pages. Students learn about why HTML is important, how it works, and start building their very own web pages.

    3. Objective

      Students will be able to:

      • Understand the purpose and applications of HTML
      • Create their first simple web page using tags

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 3.2 Computing facilitates exploration and the discovery of connections in information. (LO 3.2.1)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    4. 12.2 Structure of an HTML Page

    5. Description

      In this lesson, students upgrade from simple tags to full HTML documents. Students learn new tags that let them put information in different places on the web page, and about the nested tree structure of an HTML document.

    6. Objective

      Students will be able to:

      • Understand the various parts of an HTML page, and how to properly format them
      • Create fully formed HTML pages

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    7. 12.3 Formatting Text

    8. Description

      The web pages students have been building have been awesome, but they’d be even better with some style. In this lesson students learn about formatting tags that let them modify the appearance of text and make their web pages look clear and aesthetically pleasing.

    9. Objective

      Students will be able to:

      • Format tags to modify the appearance of text and make web pages look clear and aesthetically pleasing.

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    10. 12.4 Links

    11. Description

      Have you ever clicked on text on a webpage and it took you to a different web page? One of the most important features of a web page is that they can be linked together! In this lesson students learn how to add hyperlinks to their web pages using the <a> tag.

    12. Objective

      Students will be able to:

      • Add hyperlinks to their webpages.

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 3.2 Computing facilitates exploration and the discovery of connections in information. (LO 3.2.1)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    13. 12.5 Images

    14. Description

      Almost all web pages on the Internet have images. In this lesson, students learn how to add images to their own web pages using the <img> tag!

    15. Objective

      Students will be able to:

      • Embed an image in HTML.

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    16. 12.6 HTML Lists

    17. Description

      Students see lists all the time on web pages. They are a fun and easy way to display information to the reader. In this lesson students learn how to add lists to their web pages, and practice making different kinds of lists.

    18. Objective

      Students will be able to:

      • Add different kinds of lists to their web pages.

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 3.2 Computing facilitates exploration and the discovery of connections in information. (LO 3.2.1)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    19. 12.7 HTML Tables

    20. Description

      In addition to lists, tables are a very commonly used way to display information on web pages. In this lesson students learn how to make their own tables on their web pages!

    21. Objective

      Students will be able to:

      • Create tables in their web pages
      • Explain the benefits of including tables on web pages
      • Compare various ways of displaying information and choose the appropriate format

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 3.2 Computing facilitates exploration and the discovery of connections in information. (LO 3.2.1)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    22. 12.8 HTML Styling

    23. Description

      Now that students know how to use HTML, they need to learn how to build expressive web pages. Students can use HTML Styling to make their pages visually appealing and unique.

    24. Objective

      Students will be able to:

      • Use HTML styling to make their web pages more visually appealing and unique.

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    25. 12.9 HTML Colors

    26. Description

      In this lesson, students will dissect how colors are represented on a webpage. They will learn about how red, green, and blue are mixed to create colors, and how the levels of red, green, and blue are specified using rgb values and hex values.

    27. Objective

      Students will be able to:

      • Explain how colors are created on webpages
      • Create their own colors by mixing red, green, and blue
      • Make use of the color wheel to choose coordinating colors for their webpages
    28. 12.10 Introduction to CSS

    29. Description

      In this lesson, students will begin using CSS to add styling to their HTML pages.

    30. Objective

      Students will be able to describe how CSS adds styling to HTML pages.

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    31. 12.11 CSS Select by Tag

    32. Description

      In this lesson, we learn CSS superpowers. We can use CSS tag selectors to select all elements of the same kind (<table>, or <h1> for example) and give them all the same style.

    33. Objective

      Students will be able to use CSS tag selectors to select all elements of the same kind and give them all the same style.

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    34. 12.12 CSS Select by Class

    35. Description

      In this lesson, we learn to use CSS Class selectors to apply CSS styling to all HTML elements that share a specified class. This allows us to be more specific when applying our styling.

    36. Objective

      Students will be able to use CSS Class selectors to apply CSS styling to all HTML units that share a specified class.

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    37. 12.13 CSS Select by ID

    38. Description

      CSS Selectors by ID help us select a single element to format on our page. This is helpful when we need to be as specific as possible in applying our CSS rules.

    39. Objective

      Students will be able to use CSS Selectors by ID to select a single element to format on a webpage.

      Enduring Understandings

      This lesson builds toward the following Enduring Understandings (EUs) and Learning Objectives (LOs). Students should understand that…

      • EU 1.1 Creative development can be an essential process for creating computational artifacts. (LO 1.1.1)
      • EU 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem. (LOs 1.2.1, 1.2.3, 1.2.5)
      • EU 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society). (LOs 5.1.1, 5.1.2)
    40. 12.14 The Cascade

    41. Description

      In this lesson, students will learn how CSS rules are applied when more than one rule applies to an element.

    42. Objective

      Students will be able to …

      • Explain the order of precedence of CSS rules
      • Explain why CSS allows rules to cascade
      • Apply the order of precedence of CSS rules to achieve the desired styling of specific elements on the webpage
    43. 12.15 Variables

    44. Description

      Variables are like a box that can hold values. The steps to using variables are to first define it to a certain type such as Boolean, string, or integer and using suggested naming conventions. Secondly, variables must be initialized to a start value, and to assign it to a variable type.

    45. Objective

      Students will be able to…
      * Explain what variables are and what they are used for
      * Create their own variables
      * Print out the values stored in variables

    46. 12.16 Booleans

    47. Description

      Booleans refer to a value that is either true or false. Named after English-born mathematician, philosopher and logician, George Boole, Booleans are used to test whether a condition is true or false.

    48. Objective

      Students will be able to…
      * Create boolean variables to represent meaningful yes/no values
      * Print out the value of a boolean variable

    49. 12.17 Logical Operators

    50. Description

      Logical operators allow us to connect or modify Boolean expressions. Three logical operators are the !, ||, && characters.
      * ! = NOT
      * || = OR
      * && = AND
      Logical operators can be used in combination.

      With these logical operators, we can construct logical statements such as “I go to sleep when I am tired OR it’s after 9pm”, “I wear flip flops when I am outside AND it is NOT raining”

    51. Objective

      Students will be able to…
      * Describe the meaning and usage of each logical operator: OR (||), AND (&&), and NOT (!)
      * Construct logical statements using boolean variables and logical operators

    52. 12.18 Comparison Operators

    53. Description

      Comparison operators let us compare two values. Using comparison operators in programming is similar to math in that less than <, greater than >, less than or equal to <=, and greater than or equal to >= are the same. The differences are that operators for equal to are == and not equal are !=. Using comparison operators allows our program to make decisions.

    54. Objective

      Students will be able to…
      * Explain the meaning of each of the comparison operators (<, <=, >, >=, ==, !=)
      * Create programs using the comparison operators to compare values
      * Predict the boolean result of comparing two values
      * Print out the boolean result of comparing values

    55. 12.19 If Statements

    56. Description

      JavaScript uses if statements as a way to make decisions and execute specific code. If statements are helpful in writing code that can be used in different situations.

    57. Objective

      Students will be able to…
      * Explain the purpose of if statements
      * Create their own if statements to selective choose which code is executed in their programs

  13. Designing User Interfaces

    1. 13.1 Intro to Design Thinking

    2. Description

      Students begin the Designing User Interface module by taking a look at various UIs and defining the aspects as ‘good’ or ‘bad’. They then begin to brainstorm an idea for their group app creation.

    3. Objective

      Students will be able to:

      • Define design thinking
      • Name the steps in the design cycle
      • Characterize a ‘good’ UI from a ‘bad’ UI
    4. 13.2 Empathy

    5. Description

      Students learn how to design for accessibility in order to create apps that can be used by a wide audience. They will learn the best practices when performing interviews and will have a chance to put them into practice.

    6. Objective

      Students will be able to:

      • keep accessibility in mind when designing apps
      • use best practices when interviewing potential users/ clients
    7. 13.3 Define

    8. Description

      Students use their knowledge of accessibility and interviewing techniques to create a composite character profile which will lead to a point-of-view statement that will define their app’s purpose.

    9. Objective

      Students will be able to:

      • Create a point-of-view statement based on a composite character profile in order to create an app that solves a specific problem.
    10. 13.4 Ideate

    11. Description

      Students will learn how to have a successful group brainstorming session. They will learn some specific guidelines that help to create a successful session and will put them to practice in a session with their classmates.

    12. Objective

      Students will be able to:

      • Participate in a group brainstorming session in order to come up with possible solutions for their point-of-view statement
    13. 13.5 Prototype

    14. Description

      In this lesson, students will be introduced to prototyping. They will be given guidelines for this step and shown examples in order to successfully create prototypes of their group’s project ideas.

    15. Objective

      Students will be able to:

      • Explain what prototyping is and why it is an important part of the design process
    16. 13.6 Test

    17. Description

      Students will learn how to successfully test their prototype with a user. They will get useful feedback on both of their initial prototype designs and will use this information to create a final prototype that will then be programmed using React Native.

    18. Objective

      Students will be able to:

      • Describe why testing is an important part of the design process
      • Explore good and bad testing practices in order to receive helpful feedback on their final project ideas
    19. 13.7 Designing User Interfaces Quiz

    20. Description

      In this lesson, students review content with a 10 question End-of-Unit Quiz.

    21. Objective

      Students will be able to:

      • Prove their knowledge of various user interface design concepts through a multiple choice quiz
  14. End of Course App Build

    1. 14.1 Build Your Own App

    2. Description

      In a group, students will create a functioning and stylized app based on their prototype created in the previous module.

    3. Objective

      Students will be able to:

      • utilize all concepts learned in order to create a final app of their own
      • work in a group to collaboratively develop a product