Android Basics Nanodegree Syllabus
Before You Start
This is an entry-level, single term Nanodegree program with no prior programming
experience required.
Support Options
We are here to support you every step of the way.
The Study Group feature found in the Udacity classroom helps student, like you, connect
with their peers, mentors, and project reviewers. Students can also seek help, network, and
collaborate with their classmates throughout their program!
The Knowledge platform helps students engage with their peers & mentors, ask and answer
questions, and overcome learning roadblocks quickly.
While going through the program if students experience any issues or have questions
regarding our product offerings we encourage them to send us an e-mail at
abnd-support@udacity.com
Project 1: Build a Single Screen App
Design and implement a single screen app that displays information about a fictional
small business. Think along the lines of your favorite coffee shop, local restaurant, or
that gem of a store that sells those rare comic books or records.
Your design must include:
● Business name
● At least one photo representing the business
● Two or more other pieces of information, such as:
○ Contact information for the business (eg phone number, email address,
website)
○ Address of the Business
○ Description of business
○ Hours of operation
Supporting Learning Content
Course Title Learning Outcomes
BUILDING LAYOUTS:
PART 1
➔ Create the basic structure of a single-screen app by
placing layouts on a page and integrating images,
buttons, and text.
BUILDING LAYOUTS:
PART 2
➔ Group layouts to allow for more creativity and
variation in your design.
Project 2: Score Keeper App
Build a Score Keeper app, which gives a user the ability to keep track of the score of
two different teams playing a game of your choice.
This project is about combining various ideas and skills we’ve been practicing
throughout the course:
● Adding button code to your app
● Updating views
● Properly scoping variables
● Finding views by their ID
Supporting Course Content
Course Title Learning Outcomes
MAKING AN APP
INTERACTIVE: PART 1
➔ Create interactive layouts utilizing buttons.
MAKING AN APP
INTERACTIVE: PART 2
➔ Continue practicing creating an interactive user
experience.
Project 3: Quiz App
The Quiz App project is a chance for you to combine and practice everything you
learned in this section of the Nanodegree program. You will be making your own
Android app - taking it from the idea stage to building out the full app. You can share
your app with family and friends, as well as with other students in this course.
The goal is to create an educational app that quizzes a user about a certain topic of
your choice. We want you to be creative about how you accomplish this. It’s up to you
to decide what the quiz questions will be about and how you want to present them to
your user. (We recommend about 5-10 quiz questions for a reasonable scope of your
app).
This project is about combining various ideas and skills we’ve been practicing
throughout the course. They include:
● Planning your app design before coding.
● Taking an app layout from drawing to XML code.
● Creating, positioning, and styling views.
● Creating interactivity through button clicks and Java code.
● Commenting and documenting your code.
Supporting Lesson Content
Lesson Title Learning Outcomes
OBJECT-ORIENTED
PROGRAMMING: PART 1
➔ Create an object in Java and call methods on that
object
OBJECT-ORIENTED
PROGRAMMING: PART 2
➔ Use booleans, conditions and relational operators,
and practice adding intents and styles to your app
Project 4: Musical Structure App
The goal is to design and create the structure of a Music app . Note for this project,
the app does not actually need to play music. The focus of this project is to implement
Intents, new Activities, Arraylists, Loops and Custom Classes to design the user flow of
a music playing app. There are many music player apps, and it will be your job to
design the Java structure to store and present the user with song information as well as
the user flow through the app. Will you build an app to play music from the user’s
library of music? Will you build an app to stream random songs from a database? Will
you build a musical suggestion engine? Those choices are up to you!
This project is about combining various ideas and skills we’ve been practicing
throughout the course. They include:
● Designing an app experience to achieve a certain goal
● Creating new activities
● Using explicit Intents to link between activities in your app
● Using OnClickListeners to add behavior to buttons using Java code.
● Creating your own Custom Class
● Looping through an ArrayList
● Populating a ListView or GridView with an ArrayAdapter
Supporting Course Content
Course Title Learning Outcomes
INTENTS AND ACTIVITIES ➔ Use intents and activities to build our the structure
of an app
JAVA BREAK: INTERFACES ➔ Learn how to take advantage of Interfaces - a core
OOP concept in Java that makes your code more
flexible.
ARRAYS, LIST, LOOPS, &
CUSTOM CLASSES
➔ Learn how to use arrays, lists, and loops to populate
your app.
JAVA BREAK: LOOPS ➔ Use for and while loops to iterate over a block of
code. Learn how to write nested loops. Use 2D
arrays to store and retrieve information.
QUICK GUIDE TO
GRADLE
➔ Learn how to work with gradle
Project 5: Tour Guide App
You will be making your own multi-screen Android app to share your knowledge about
a city you are very familiar with.
The goal is to create a Tour Guide app which presents relevant information to a user
who’s visiting your city. The app can list top attractions, restaurants, public places, or
events for the city. It can contain all the best known secrets that only locals know. It’s
up to you which categories you want to provide, as well as what information to provide
in each category.
This project is about combining various ideas and skills we’ve been practicing
throughout the course. They include:
● Planning your app design and navigation before coding
● Selecting proper data structures to store lists of information
● Building layouts to display those lists of data
● Navigating between lists in Fragments using a ViewPager or Navigation Drawer
● Creating your own custom classes
● Properly handling images or audio (if applicable)
Supporting Course Content
Course Title Learning Outcomes
IMAGES AND VISUAL
POLISH
➔ Polish image and visuals to improve the quality of
your app.
ACTIVITY LIFECYCLE AND
AUDIO PLAYBACK
➔ Use an external library to add audio to your app.
PRACTICE SET: ACTIVITY
LIFECYCLE AND AUDIO
PLAYBACK
➔ Solidify your understanding of the Activity
Lifecycle and Audio Playback.
FRAGMENTS ➔ Modify the structure an app to make a smoother
user experience.
Project 6: News App
Create a News feed app which gives a user regularly-updated news from the internet
related to a particular topic, person, or location. The presentation of the information as
well as the topic is up to you.
This project is about combining various ideas and skills we’ve been practicing
throughout the course. They include:
● Connecting to an API
● Parsing the JSON response
● Handling error cases gracefully
● Updating information regularly
● Using an AsyncTask
● Doing network operations independent of the Activity lifecycle
● Use Uri.Builder class to add query parameters to the URL
Supporting Course Content
Course Title Learning Outcomes
JSON PARSING ➔ Learn how to parse JSON, one of the most useful
data formats.
HTTP NETWORKING ➔ Learn how to connect to the internet in your
Android code.
THREADS &
PARALLELISM
➔ Learn how to use threads to make your device do
multiple things at once.
PREFERENCES ➔ Learn how to add a new Settings Activity and use the
user's stored preferences to change the URL
Comments
Post a Comment