Although most people aren’t aware of it, one of the biggest driving forces behind today’s accelerating rate of technological innovation is the massive amount of data behind it all. Without the data created, collected, and disseminated in the form of documents, images, graphics, maps, text, email, video, and more, there would be no such thing as the internet (and if you think about it, the life you live today). This article is an overview of some of the technologies that made this rapid rise in data dissemination possible, and the impact this has on security and app design. These concepts all tie into an approach to teaching about data and app design behind the App Design courses at Launch After School.
There are two key technologies that have made the internet as we know it today possible. The first is advances in the hardware and microchip technology that enables us to store massive amounts of data. Simply put, transistors are the parts of a microchip that stores the 1’s and 0’s that makeup computer data. Since the advent of the computer, their storage capacity has roughly doubled every couple of years as the result of improving transistor technology. This means higher resolution photos, more files, and what is known as ‘Big Data’, or a massive amount of data that is now being created and made available to the world at large.
Source: Julben, repurposed with permissions under the GMU Free Documentation License.(https://commons.wikimedia.org/wiki/File:Moores_law.svg)
This ability to store and shared increasing amounts of data has changed just about every industry, and given insight and capabilities like never before. However, this surplus of data also means that companies and individuals are more vulnerable to those who may want to use that knowledge to their own advantage.
The second technology that has been paramount to the development of our data-driven age is data compression. Algorithms that allow us to reorganize and reduce the file storage size are what makes innovations such as mobile devices and online apps even possible. Nowadays, most of the data created is not stored on personal machines and computers but rather sent out over the internet, stored in data centers, and shared on apps. A decade ago, streaming audio and video was slow and inefficient. Now, streaming video rules the internet. All of the apps you use on your phone or tablet require that a great amount of data is sent to computers elsewhere. This efficient data flow of cloud to phone is made possible by compression algorithms that repackage and enable us to send that data over the internet.
With new technology comes new problems. Sending most of our information over the internet means that we have to find a way to make it secure using methods like encryption and active monitoring. Keeping personal, financial, and business information secure becomes more difficult as more and more of this data is put in digital form and disseminated. It is vital for companies and individuals to be aware of the possible risks they are taking and how to protect all their personal and financial data.
Another issue with data privacy is the concept of Metadata. Metadata is the anonymized data that is generated any time information is shared. first glance, seems like harmless, innocuous information. Some examples of metadata include the location you access a website from, the date you created a file, or the size of a file you uploaded. However, with better pattern recognition and data processing technology, patterns in data like this can be found and manipulated to find valuable market patterns, and even identify and track individuals. Regulating how metadata is shared to protect users is now becoming an important issue with social media, health tracking apps, and any consumer-facing apps.
Teaching App Design
MIT App Inventor Overview
MIT App Inventor is an amazing tool developed by professors, students, and advisors at MIT in 2011 and has been used in amazing ways. This tool allows students with little to no coding experience to create and program apps with a visual interface to create the layout and set properties for the elements you add to your app;
Once they layout is set, one can then program these elements using block programming, adding functionality to the app, and accessing the things each unique element can do;
Using block-based programming is a great way to introduce students to the world of programming because it makes the concepts more clear and accessible. The color coordination of the blocks helps students understand the structure of programming languages. The way that different elements snap together helps students understand different structures & data in the program work together.
Offering specific choices for programming elements in the form of a set of blocks provides an easy, intuitive way for students to learn what kinds of methods and properties can be used with different elements they choose to use within their app.
One of the best things about App Inventor is that students can create and test out their first app on an Android phone in their first lesson! Seeing their programs come to life is exciting and rewarding for any student, and unleashes kids’ creative potential in an unimaginable number of ways.
Data Topics in the Course
Most students are already familiar with mobile apps and the way that they can have an impact on their own life. This course aims to further their understanding by unlocking the secrets to app creation. Not only will students be creating, apps, they will also be introduced to the underlying knowledge that app developers must possess to create an app that can be used and shared in the real world. The topics in this course include;
- The Development and Deployment Environments- understanding the tools of the trade and how to use them.
- Databases- Learn how data is sent and stored to make your apps run.
- Data Vulnerability and Security- Learn about how your user’s data can be compromised, and how to protect against it.
- Setting up Screens & Using Timers- Learn about the fundamentals of app and mobile game design.
- API Integration- Set up communication with a Firebase Database and learn about how your app & databases communicate.
- App Design Principles- Learn about user stories, UX, user flow, planning and designing like a real app developer!
App Design Experience
In addition to the topics above, students will create several different apps that compliment the computer science and app design themed lessons they are learning about in the course. They will start off with a simple ‘Graffiti App, creating an app that allows them to draw with their phones. This lesson is meant to be creative, fun, and allows students to develop a fully functional app in their first lesson!
As students come to understand more about data and app design, they will design more complex apps that use arithmetic logic, branching logic, passing data to variables and between screens, and even learn to create a login that sends the data to a Firebase Database!
Pass data from one screen to another!
By the end of this course, students will have all the skills they need to create and even publish an app in the app store! It’s important that they not only learn the skills, but also about security, design thinking, and data that they need to have to be equipped with the tools to become an app developer, and this course will give them the fundamental knowledge, as well as the skills needed to accomplish this.