0% found this document useful (0 votes)
7 views7 pages

Ch1 Introduction

The document introduces mobile app development concepts, including algorithms, programming languages, and software development processes. It explains the importance of algorithms in everyday tasks and outlines the steps involved in software development, as well as the differences between mobile operating systems. Additionally, it covers the use of App Inventor for app creation and testing methods for mobile applications.

Uploaded by

blueberrybao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views7 pages

Ch1 Introduction

The document introduces mobile app development concepts, including algorithms, programming languages, and software development processes. It explains the importance of algorithms in everyday tasks and outlines the steps involved in software development, as well as the differences between mobile operating systems. Additionally, it covers the use of App Inventor for app creation and testing methods for mobile applications.

Uploaded by

blueberrybao
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Good Hope School

Secondary 1 ICT
Mobile App Development – Ch.1 Introduction
Name: _________________________________
Kailey Cheung Class: ___________
1E (2 )

Program and Algorithm


Computers are machines that can perform tasks (e.g. calculations) very quickly. But without
instructions given by a human, computers do not know what to do.

Please give me
something to do!

An algorithm is a list of instructions to solve a problem. Algorithms have to be in the right


order.

Think about an algorithm for getting dressed in the morning. What if you put on your shoes
before your socks? When you write an algorithm, the order of the instructions is very
important.

💡💡 Think-Pair-Share: What algorithms did you use?


We use lots of algorithms every day without realising it. Guess what the algorithms
might be.
Problem to solve The algorithm is the …
We need to make a cake
The algorithm is the cake recipe. It can be found in a cookbook.

We can’t find the park The algorithm is a set of directions to the park.
There might be different ways to the park so you can have different
algorithms

Write down your algorithm for cooking instant noodles with a pot (up to 5 steps).
1.
add water into the pot and boil water

2.
open the instant noodle packet and put noodle inside

3.
wait for it to boil while opening seasonings

4.
add seasonings and stir

5.
put in a bowl and eat~

How many different algorithms do our class have?

S1 ICT Mobile App Development – Ch.1 Page 1 of 7


Programming Languages
• Instructions that computers can understand are referred as program code, written in
programming languages.
• The process of programming is to think of the algorithm and write it out using
programming languages.
• There are many programming languages. We use different languages for different
purposes.
if (gender == 'F') {
cout << "Hi pretty";
}

C++ Scratch App Inventor

Software Development
• Software development is the process of designing and creating
computer software, including the design of the user interface.
• Programming is part of the software development process.
• A typical software development cycle involves:
Planning, designing, programming, testing and documentation

Mobile Software Platforms


• Just like computers, a mobile device runs on an operating system. An operating
system provides basic functionalities to a computer such as keeping the date and time.
Common mobile operating systems include:

Android iOS / iPadOS Windows macOS


• Traditionally, programs are written specifically for just one platform. For example, an
app written for Android cannot be run on iOS.
• A program written for a particular platform has to be modified or rewritten before it can
run on another platform.

S1 ICT Mobile App Development – Ch.1 Page 2 of 7


Mobile Devices
A mobile device is a computer small enough to hold and
operate in the hand.
Smartphones and tablets are examples of mobile devices.

💡💡 Think-Pair-Share: Disassembling a Smartphone


Since a smartphone is essentially a computer, do you still remember what you have
learnt about computer hardware?

(taken from ifixit.com)

Visit any website about disassembling smartphones. Find out what hardware
components you can find inside a smartphone.
Input Devices Output Devices Other Devices
touch screen
speaker
flash memory
microphone main memory
home/volume buttons wifi modules
camera bluetooth modules
face scanner gps transceiver
fingerprint scanner touch screen unit
accelerometer cpu
light sensor nfc module

S1 ICT Mobile App Development – Ch.1 Page 3 of 7


Setting Up App Inventor 2
• App Inventor is a cloud application which runs completely within a browser. Use
Chrome, Firefox, Edge, Safari or any modern browser.
• Visit http://ai2.appinventor.mit.edu and login using your GHS Google account. You will
be asked to authorise App Inventor for accessing some of your account details. Click
“Allow” to proceed.

[email protected]

• App Inventor consists of the Designer and the Blocks Editor. The Designer is where
you will design your app’s user interface.

• Switch to the Blocks Editor by clicking on “Blocks” in the top right-hand corner of your
window.

S1 ICT Mobile App Development – Ch.1 Page 4 of 7


• The Blocks Editor is where you do the programming.

🔨🔨 Practical 1 Login to App Inventor and explore the tool.

Ways to Test Your App


It is not possible to run Android programs on a Windows/Mac computer so you cannot test
it there. You may use the following ways to test your app:
Situation How to Test the App
You have a Windows/Mac computer and Method 1: Side-by-side Testing
an Android/iOS/iPadOS device with you
You only have an iPad with you Method 2: iPad Split Screen Testing

Method 1: Side-by-side Testing


Run the Companion App on an Android or
iOS/iPadOS device and connect it from your
computer

1. Make sure that both your computer and your Android device are connected to the
same Wi-fi network.
2. Install the MIT AI2 Companion App from the App Store/Play Store on your
Android/iOS/iPadOS device and start it.

S1 ICT Mobile App Development – Ch.1 Page 5 of 7


3. In App Inventor on your computer, click Connect  AI Companion. This will display a
random 6-letter code both as QR code and plain text.

4. On the companion app, either scan the QR code or type in the 6-letter code and click
the “Connect to App Inventor” button.

Method 2: iPad Split Screen Testing


Run the Companion App and the App Inventor on the
same iPad at the same time

1. Rotate the iPad into the horizontal orientation if you haven’t done so.
2. Install the MIT AI2 Companion App from the App Store on your iPad. Start the app.
3. Swipe up slightly from the bottom of the screen to see the Dock.

4. Tap and hold the Safari icon and drag it onto the Companion App.

5. Resize the screens by dragging the black vertical bar. Follow steps 3 and 4 of method
1 to connect the Companion App to App Inventor.

S1 ICT Mobile App Development – Ch.1 Page 6 of 7


Program Translation
• Computers only understand their own machine language in 1s and 0s. They cannot
read programming languages (e.g. Scratch, App Inventor) directly.
• Translator software is used to translate program code into machine code. This process
is often called “to compile” or “to build”.
• An APK file (.apk) contains the translated code for an Android device.
00101100 10110110
00110011 11101000
00111001 10101000

Programming Language Machine Language


(Human-readable) (Machine-readable)

💡💡 What is the difference between an .aia file and an .apk file? (Circle the correct answer)
A. An AIA file is a project file which contains the human-readable source code while an
APK file contains the translated machine-readable binary code.
B. An AIA file contains the translated machine-readable binary code while an APK file is
a project file which contains the human-readable source code.

References
• Mobile CS Principles – https://course.mobilecsp.org
• MIT App Inventor – http://appinventor.mit.edu
End

S1 ICT Mobile App Development – Ch.1 Page 7 of 7

You might also like