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, 5:30 PM - 6:30 PM at Hewlett Teaching Center Rm 101
Thursdays, 6-7pm (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
Week 6: Intents
Week 7: Networking
Week 8: Firebase + other topics in Android
- Other topics covered: fragments, testing strategies, app architectures, and alternatives to pure Android development.
- YT Tutorial for EmojiStory, an Android app covering Firebase + Android.
Week 9: Panel discussion
- Our last class is a panel with Android veterans: ask them about their Android/tech journey.
- Zarah Dominguez
- Kaushik Gopal
- Chet Hasse
- Emily Kager
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 Ed Discussion for course announcements and questions. Unless your question has sensitive information, please use Ed 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.