It is estimated over the last year that mobile internet usage surpassed desktop internet usage for the first time . 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. Students will learn about the fundamentals of building mobile apps with React Native, mobile app structure, using the various components for user interaction, and the basics of custom functionality all through the CodeHS web-based platform.
The entirely web-based curriculum is made up of a series of learning modules that cover the fundamentals of building mobile applications with React Native. Each module is comprised of short video tutorials, quizzes, example programs, programming exercises, challenge problems, unit tests, and end of unit projects. The course is designed for a year long class that meets 5 days per week, though schools implement it in a variety of ways.
Below is a summary of the material covered in each unit:
|Introduction to Mobile Apps: Students will be introduced to the mobile apps course and the React Native framework and its 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. They will learn how mathematical equations and string methods can be used to alter values as the user interacts with their 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!|
|Using Collections of Data: Students learn how to use arrays to organize and use larger data sets in their programs. They’ll learn how to use mapping to quickly assign styling and layouts to large amounts of data.|
|Working with ScrollView: Students learn how to use ScrollView inside their programs to show more content on one page than can fit on the screen. Students learn how to scroll through images and text and how mapping can be used with ScrollView to move through large sets of data.|
|App Build: Image Feed App: Students apply concepts from previous modules to build an image feed app. Students use control structures, state, and object mapping to display a number of photos, comments, and other information with the ability to "like" photos!|
|Designing User Interfaces: This unit introduces students to the theory and practice of user interface design. Students learn about what makes an engaging and accessible user interface, and will employ an iterative design process including rapid prototyping and user testing to design and develop their own engaging mobile apps.|
|End of Course App Build: In this project-facing module, students will use everything they have learned in this course to design, prototype, and code their own custom app and present it to their class.|
|Final: Students will prove their knowledge of all concepts learned throughout the course through a final exam.|
The Grading Plan