601.290 User Interfaces and Mobile Applications
Assignment 1 -- due by 11pm on Monday, 27 Jan
12 points total
Overview
The primary purpose of this individual assignment is to introduce
yourself to the rest of the class and the course staff, and also to
reflect on user interfaces through brief app reviews. You will also
start to familiarize yourself with Android development and install the
software necessary for this course.
Submission details: There is nothing to submit for Parts
A, D or E. We will know you have signed up for Piazza and posted about
yourself by your name. Type up your app concept and reviews for
parts B & C, and submit as one pdf file on Canvas to assignment
a1.
Part A: Piazza Introductions [submit by 1/27, 3 points]
Getting to know you:
- Access our
Piazza course site through Canvas
(link in course menu)
- Read the "UIMA Posting Policies" post (@16)
- Introduce yourself to everyone by adding a follow-up
to that post. Your post must not be anonymous, and must
address the first four items (#0-3) on the list below. You also then must
include at least 3 of the information categories numbered 4-9
in order to help classmates decide whether to request you as a
teammate for the group project.
- Your preferred name and JHED-based email (such as Joey, jname1@jhu.edu).
- Your year in school, majors and minors (include all).
- The best times for you to meet with team members (days, evenings,
weekends, etc.).
- The type of app you might want to develop (game/entertainment,
healthcare, business, personal, education, philanthropic, etc.).
- Your best and/or worst prior team experience.
- Your familiarity with Android technologies, ranging from none to
lots (do you have an Android device, etc.).
- Any other SE courses you've taken (full-stack, OOSE, databases, etc.)
- Your strengths (choose from organization, design, communication,
presentations, big picture, hairy little details, putting things
together, coding, testing, debugging, logistics, decision making,
meeting deadlines, etc.).
- Your weaknesses (choose from organization, design, communication,
presentations, big picture, hairy little details, putting things
together, coding, testing, debugging, logistics, decision making,
meeting deadlines, etc.).
- How you identify, or something random you want to include that is
not listed above.
Part B: App Concept [submit by 1/27, 3 points]
Write a short description of an app you'd like
to develop for the large group project. Your description should
focus on the primary purpose of the app, the intended user base and
key functionality. The app should require the use of at least one
advanced feature, such as a database, media, GPS, sensors, web,
graphics, etc.
Part C: App Reviews [submit by 1/27, 6 points]
Choose two apps that you use regularly (can be iOS or Android) and
write a brief review of their user interfaces (1-2 paragraphs for
each). Identify what you think are particularly good elements and
particularly bad elements from a design/usability perspective.
Grading for parts B and C will be based on thoroughness and writing clarity.
Part D: Android Studio Installs [do by 1/30, 0 points]
Install Android Studio according to the instructions on Piazza (@6)
Don't forget to use Piazza for any
problems that arise, or to help out your classmates who might get
stuck on something you figured out already. We will also be posting
staff office hours on Piazza.
Part E: Android Exploration [do by 1/30, 0 points]
There are two purposes for this assignment part:
- explore UI views and handlers in action
- become familiar with android app components and development
Required Readings: There are substantial readings for this
first assignment to familiarize you with the Android look and feel,
as well as the primary components we'll be using to build apps. We
will review much of this information during class sessions in the
first few weeks.
-
Browse through some of the apps on
Google Play to get a feel for Android design elements, especially if you
are an iOS user! In particular, you might want to check out screen
shots of some of your favorite apps, like Instagram, Google Calendar and Venmo, as
well as others that might be new to you such as Notes, Calm, and
Yahoo Weather.
- In the Android API read through Application Fundamentals to gain an
overview of Android app building blocks. Remember that we
will be developing in Java this semester.
-
In the Android API read through
About Layouts to get a comprehensive
overview of Layouts and Views, essential UI building
blocks. Remember to toggle the Java code where there is an
option. [Note that we will not be covering the Jetpack Compose
this semester.] Also scan through the sections in "Add
Components/Add Core Components" in
the left menu to get familiar with common View elements such as
Buttons, Checkboxes, Radio Buttons, Pickers, Dialogs, etc.]
- In the Android API
Touch and Input guide, browse through the overview
and the first several sections:
- In This Guide
- About Input Events
- Use Touch Gestures
- Handle Keyboard Input
- There is nothing to submit for this part of the assignment.
Looking Ahead
Read these sections in the API guide to prepare for future classes.