App Lab

App Lab is a programming environment where you can make simple apps. Design an app, code in JavaScript with either blocks or text, then share your app in seconds.

Ages 13+, all modern browsers, English only
A brown hand with the index finger touching a touch screen tablet emitting stars and rays of light against a blue background

Intro to App Lab (Ages 13+)

Create your own app in JavaScript using block based programming. Or take your skills to the next level with text-based programming. (English Only)
Video thumbnail

App Lab in the classroom

This launch video introduces five reasons App Lab could be a great tool for students learning programming.

Demos for creating apps with App Lab

Video thumbnail
Video thumbnail
Video thumbnail
Video thumbnail
Video thumbnail

For teachers

Want to do more with App Lab? Our introductory course, Computer Science Discoveries, and our Computer Science Principles course both use this tool to help teach students computer science concepts.

Professional Learning Program

Course specific professional learning provides hands on experience with the curriculum.

Computer Science Principles units that use App Lab

Link Unit description
Unit 3 Intro to App Design

Students design their first app while learning both fundamental programming concepts and collaborative software development processes. Students work with partners to develop a simple app that teaches classmates about a topic of personal interest. Throughout the unit, they learn how to use Code.org’s programming environment, App Lab, to design user interfaces and write simple event-driven programs. Along the way, students learn practices like debugging, pair programming, and collecting and responding to feedback, which they will be able to use throughout the course as they build ever more complex projects. The unit concludes with students sharing the apps they develop with their classmates.

Unit 4 Variables, Conditions, and Functions

Students expand the types of apps they can create as they learn how to store information (variables), make decisions (conditionals), and better organize code (functions). Each programming topic is covered in a specific sequence of lessons that ask students to ‘Explore’ ideas through hands-on activities, ‘Investigate’ these ideas through guided code reading, ‘Practice’ with sample problems, and apply their understanding as they ‘Make’ a one-day scoped project. The entire unit concludes with a three-day open-ended project in which students must build an app that makes a recommendation about any topic they wish.

Unit 5 Lists, Loops, and Traversals

Students learn to build apps that use and process lists of information. Like the previous unit, students learn the core concepts of lists, loops, and traversals through a series of EIPM lesson sequences. Later in the unit, students are introduced to tools that allow them to import tables of real-world data to help further power the types of apps they can make. At the conclusion of the unit, students complete a week-long project in which they must design an app around a goal of their choosing that uses one of these data sets.

Unit 7 Parameters, Return, and Libraries

Students learn how to design clean and reusable code that can be shared with a single classmate or the entire world. In the beginning of the unit, students are introduced to the concepts of parameters and return, which allow for students to design functions that implement an algorithm. In the second half of the unit, students learn how to design libraries of functions that can be packaged up and shared with others. The unit concludes with students designing their own small library of functions that can be used by a classmate.

Unit 9 Data

Students explore and visualize datasets from a wide variety of topics as they hunt for patterns and try to learn more about the world around them from the data. Once again, students work with datasets in App Lab, but are now asked to make use of a data visualizer tool that assists students in finding data patterns. They learn how different types of visualizations can be used to better understand the patterns contained in datasets and how to use visualizations when investigating hypotheses. At the conclusion of the unit, students learn about the impacts of data analysis on the world around them and complete a final project in which they must uncover and present a data investigation they've completed independently.

Computer Science Discoveries units that use App Lab

Link Unit description
Unit 4 The Design Process

In this unit, students are asked to consider and understand the needs of others while developing a solution to a problem through a series of design challenges. The second half of the unit consists of an iterative team project, during which students have the opportunity to identify a need that they care about, prototype solutions both on paper and in App Lab, and test their solutions with real users to get feedback and drive further iteration

Unit 6 Physical Computing

In this unit, students develop their programming skills in App Lab while exploring the role of hardware platforms in computing. Students look towards current and “smart” devices to understand the ways in which different sensors can provide more effective input and output than the traditional keyboard, mouse, and monitor. Note: This unit requires access to Adafruit's Circuit Playground board.

Flexible Units that use App Lab

Link Unit description
Unit Creating Apps with Devices

In this Maker unit, students explore the role of physical devices in computing. Using App Lab, students develop programs that utilize the same hardware inputs and outputs that you see in smart devices, looking at how a simple prototype can lead to a finished product. Then, students explore how physical devices can be used to react to the world around them using a “maker” mindset to create prototypes with everyday materials.

Unit Artificial Intelligence (AI) and Machine Learning (ML)

Artificial intelligence (AI) and machine learning (ML) are shaping the world around us. As these technologies touch more and more of our daily lives, they have become an essential part of foundational computer science education. In this unit which spans roughly 5 weeks, students can learn the fundamentals of these technologies and discuss their ethical implications.

Video library

Watch these videos to learn how to create apps in App Lab and learn new programming concepts with the tool.

Procedural abstraction and top-down design

Video thumbnail
Video thumbnail

Documentation and simple loops

Video thumbnail
Video thumbnail

Event-driven programming and apps

Video thumbnail

Variables and strings

Video thumbnail
Video thumbnail

Conditionals and boolean logic

Video thumbnail
Video thumbnail
Video thumbnail

Loops and arrays

Video thumbnail

Processing arrays of data

Video thumbnail