Please enable JavaScript to use CodeHS

Mobile Apps (Semester)

Mobile applications are becoming increasingly important to our consumption of media, news, social interaction, and learning. In this course, students will learn how to create mobile apps using React Native, a popular platform-agnostic framework. As an online blended high school course, students will design and build applications to run on their own smartphones and will use the latest tools and technologies available for mobile app development. This course is designed for a semester-long session.


Units: 9
Timeframe: Semester
Contact Hours: 70

By the Numbers

Contact Hours 70
Lessons 63
Videos 46
Exercises 94
Challenges 12
Offline Handouts 49


Unit Description
Introduction to Mobile Apps: Students will be introduced to the mobile apps course and the React Native framework and it's program structure and syntax. Students will also preview some of the tools and technologies they will use to build and run their apps.
Components and the Stylesheet: Students are introduced to components, the backbone of building apps with React Native. They learn about the stylesheet object and how to add custom style attributes to their apps.
Buttons and Text Boxes: Students use the TouchableHighlight to create "buttons" that add a layer of functionality. Students also learn about how to create and use text boxes in their programs.
Advanced Layouts and Images: Students learn how to add images to their apps to further customize the building experience. They gain a deeper understanding of mobile apps layouts using Flex values and the Dimensions API.
App Build: Recreate a Popular App: Students apply their knowledge of components, images, buttons, text boxes, and layouts to recreate a screen of a popular app. They will go through this process in steps, taking time to plan their layout and think about the functionality of the app. They may return to the app later to add on additional functions as new concepts are learned.
Events and State: Students learn how to use state values and how to update the state of their app in various ways to create quick, dynamic programs.
Creating Multiple Screens: Students learn how to take their apps to the next level by adding in functionality that allows for content and interactivity on multiple screens.
Working with Conditionals: Students use conditionals to allow for more flexible apps. They also learn how parameters are used inside functions.
App Build: Currency Converter: Students apply their knowledge of components, events, state, conditionals, and more to build a currency converter app. Students use the Stylesheet to create a user friendly layout that can convert multiple currencies!


Here are a few examples of teacher resources and materials to use in the Mobile Apps (Semester) course

Format of Course

The course utilizes a blended classroom approach. The content is a mix of web-based and physical activities. Students will modify existing code and run it in the browser and on their personal mobile devices with the use of Expo, a free open-source toolchain built for running React Native apps with React and JavaScript, create personalized apps, create digital presentations, and engage in in-person collaborative exercises with classmates. Teachers utilize tools and resources provided by CodeHS to leverage time in the classroom and give focused 1-on-1 attention to students.

Who is it for?

The Mobile Apps course is designed for computer science students with the following experience:

  • At least one year of JavaScript
    • React Native is a professional framework that has a need for understanding advanced JavaScript concepts such as objects, mapping, and basic logic.
  • At least one year of Web Design using HTML and CSS
    • Web Design experience will help students when learning how to layout and style their apps, as the concept of tags are used heavily and the formatting of the React Native StyleSheet is similar to CSS.
This course will require students to engage in documentation research and learn to utilize external resources to validate their code.


Students develop responsive layouts:
SnapChat Login Screen
They learn to use state to control values and develop apps with multiple screens:
RSVP Tracker
They will develop a 'Scorekeeper' app in pieces throughout the length of the course:


Interested in teaching the Mobile Apps course with CodeHS? Get in touch, so we can help you bring CodeHS to your school!

Bring to My School