Intro to Android (AND101)
π Course Description
Through a series of hands-on labs and projects, this course empowers students to create their own single-screen Android apps. Students learn about designing, building, debugging applications in Android, then work in small teams to finish the course by creating a fully functional app.
Course Goals
At the completion of the course, students are expected to:
- Create real, usable single-screen Android apps from scratch using real-world technologies: Android Studio, Kotlin, XML, and Gradle
- Use XML to design custom layouts for apps and customize their appearance
- Write code in Kotlin to add interactive functionality to apps, including:
- Buttons, text boxes, calculations, network requests, lists
π Student Expectations
Prior Knowledge
Students entering the program are expected to be able to:
- define and implement functions, conditionals, loops, variables, primitive data types, and arrays in at least one programming language
Through the completion of the prework you will also learn how to:
- set up an Android development environment on your computer, allowing you to edit and run apps
- brainstorm a design for an Android app, paying attention to required features and technologies
Time Commitment
Students are expected to commit 4-6 hours a week during the duration of the 10-week program.
- 2 hour synchronous class time
- 2-4 hrs asynchronous work time on projects
ποΈ Course Structure
Key Activities
- Synchronous Class Sessions: Students will meet synchronously once a week with their instructor.
- Optional Office Hours: Attend office hours led by TAs. This is a time to ask questions about projects or topics in a smaller environment.
Topics Schedule
| Topic | Key Concepts |
|---|---|
| Android Studio | Android Studio IDE, Gradle, debugging, git |
| Kotlin Syntax | Kotlin programming language syntax and debugging |
| Layouts & Views | Views in Android, Layouts, ViewBinding, RecyclerView |
| APIs & Networking | APIs, parsing JSON responses, CodePathβs AsyncHttpLibrary |
| Resources & Attributes | Resource files, attribute files, theming Android apps |
| App Lifecycle | App lifecycle: onCreate, onDestroy, Shared Preferences |
Projects
In this course you will have the opportunity to apply your understanding of the topics discussed in class and incorporate your own creativity through projects and labs.
- Individual Projects: You will work on a total of 7 projects from weeks 1-7. They should take approximately 2-4 hours to complete and will be submitted at the end of the week.
- Group Capstone Project: You will work on a group project in teams of 3-8 members. This will be an ongoing project from weeks 8-10.
The table below specifies the percentage weight a given section of the course has on the final grade.
| Weight | Section | Description |
|---|---|---|
| 50% | Assignments | Weekly app projects |
| 50% | Group Project Milestones | Original app project and presentation |
π Capstone Project
During the last 3 weeks of the course, students will work together to design and create their own app!
Features you will be able to implement includes:
- Scrolling lists of content
- Pulling live data from an API (For example, thecatapi.com)
- Entry boxes and buttons for user to press
- Basic data saving between sessions
Example Capstone Project:
CodePath PetFinder
This sample app uses an API to
show the user a list of animals available
for adoption near them!
