CS 194A Android Workshop
Rahul Pandey (firstname.lastname@example.org)
[Syllabus link] Learn basic, foundational techniques for developing Android mobile applications and apply those toward building a single or multi page, networked Android application.
The goal for this class is to build several Android apps together, empowering you to extend them, create your own apps, and build a portfolio.
Topics include: the Android ecosystem, introduction to Kotlin, UI elements, lists, multiple activities and intents, working with APIs, and cloud storage.
Meeting time and place
Wednesdays, 4:00 PM - 5:20 PM using Zoom (find the link for upcoming and past lectures in Canvas).
Thursdays, 6-7:30pm (Zoom link available in Canvas)
Week 1: Introduction to Android
Week 2: Introduction to Kotlin
- Android Studio shortcuts playlist
- Complete two Leetcode problems in Kotlin: Two Sum and Water Container
- Here's the completed code for the BiggerNumber app
Week 3: Layouts, UI, and Responding to User Input
Week 4: ImageView + RecyclerView
Week 5: Activities and Intents
Week 6: Activity Lifecycle + Guest Speaker
Week 7: Permissions + Networking/APIs
Week 8: Remote databases: Firebase (NO LECTURE)
Week 9: Additional topics in Android
Week 10: Panel Discussion
- Our last class is a Q&A with several veteran Android developers who have worked at companies like Pinterest, Robinhood, Meetup, and Google.
There are 3 Android projects in this class. Each assignment should have a Github repository which includes the README.md template specified for each assignment.
Assignment 1 – Tip Calculator
Assignment 2 – My Maps
Assignment 3 – Yelp Clone
We will primarily use Piazza for course announcements and questions. Unless your question has sensitive information, please use Piazza for asking and answering questions so others can benefit.
CS 106B, or an equivalent amount of programming experience, is expected for this class. Experience with Kotlin is not required.
If you have not taken CS 106B, you are still welcome to take this class, but you should expect the assignments to take significantly longer to complete.
You must complete each of the 3 assignments plus any extension to gain credit.
An extension can be anything from changing the background color of the app to introducing a new screen into the app. My goal is for you to do something beyond what is shown in the walkthrough video.
The walkthrough videos will guide you through the majority of each assignment. You may discuss extensions with other students and you may work together to come up with solutions. Each student must write the code for their extension independently.
Late submissions are not permitted. Since there are only 3 assignments, and we will be doing peer reviews, it's essential that submissions happen on time.
If you have questions about these policies, please ask me.