Computer Science is an exciting field that is transforming the way we live and work. Watch the video below to learn more about how computers and software are changing the world.
Think about your favorite apps on your phone and their purpose. App is short for application, which is a program that runs on a computer or any computing device including your phone.
Applications (apps) are programs that run on many kinds of computing devices. Apps can run on smartphones, tablets, laptops, desktops, game consoles, and web browsers, and they are designed to help users accomplish tasks or goals.
People use apps to help solve real problems and accomplish everyday tasks, such as communicating, learning, navigating, creating and sharing media, staying organized, and being entertained.
An appβs purpose is why it was created, its ultimate goal or the problem it solves. For example, the purpose of a texting app on a phone is to help us to communicate with each other.
Take a look at the Google Stopwatch or Github Stopwatch app below. Why would someone use this app? What is its purpose? What happens when you click the Start button? What happens when you click the Pause or Reset buttons? Try it out below.
An app is successful when it uses information to produce an output that helps a user achieve a goal. An appβs value to the user depends on how well the results meet their needs.
Because people rely on apps for everyday tasks, app behavior matters. When an app is confusing, unreliable, or does not work as expected, users can become frustrated because it interrupts what they are trying to do.
Some apps are easy to use with clear purposes and behaviors, but sometimes apps and other designs can fail to meet user needs or expectations. Watch the following video about bad design choices.
Take a look at this app with bad design below or the userinyerface.com funny website. The purpose of the app is to accept your date of birth, but the app is not a successful design. Try to put in your birthdate. Is it frustrating to use?
What are the issues with the Bad Date app and how does it behave when you interact with it? How could it be improved to better meet user needs and expectations?
An appβs behavior is what it does while it is running, including how it responds to user interactions. The behavior of an app is determined by its program code.
Take a look at Google Maps. What is the purpose of Google Maps? People may interact with Google Maps in different ways. Describe the behavior of Google Maps including how you interact with it and how it responds to do two different tasks.
As seen in the video, all computing devices and the apps that run on them are created to receive input from users, store it as data, process the data, and produce output to communicate with users.
When users interact with apps, they often tap or click buttons, type letters or numbers, speak, or move the device. Each of these actions provides input: data sent to a computer for a program to process.
Input is data sent to a computer for processing by a program, and output is the data sent back from the program to the device. Input and output can come in many forms, such as tactile (for example touching a button or the device vibrating), audible (a sound), visual (an image), or text.
Apps should provide clear feedback when they receive input, such as highlighting a button, showing a loading icon, playing a sound, vibrating, or displaying an error message. This feedback is a form of output that helps users know the app received the input, is working, and what step to take next.
Input often comes from a userβs direct actions, but it can also be captured automatically from sources such as sensors (like an accelerometer), location, time, or network signals. Apps may also receive audio or images from microphones and cameras, often through user actions (like a voice command or face scan). These inputs allow apps to provide features like maps, step counting, face filters, or recommendations.
In many apps, the program responds to events, such as button clicks, key presses, or sensor updates, by running specific code. Events are one way input is delivered to a program. An event signals that something happened, and an event handler processes the input and determines what happens next.
Most apps these days use event-driven programming, which means they display the user interface (UI) and wait for user events to trigger actions, for example for the user to touch a button. In event-driven programming, the code is attached to input such as button click and only run when triggered. The appβs behavior is determined by the code that runs in response to the input.
Outputs are what an app produces. Outputs may include text, images, sounds, or something the user feels, like a vibration. Some outputs are directly perceived by the user, while others are not, such as data written to a file or sent over a network.
Review the vocabulary in this lesson. Drag the vocabulary term from the left and drop it on its correct definition on the right. Click the "Check Me" button to see if you are correct.