Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Android Programming (CS 386P) Review

Date: 1/18/2023

Course Information

University of Texas Android Programming

Description

Students will study Android APIs and learn to build significant Android applications. The course will have a practical focus, with significant in-class programming, programming assignments and a large project (optionally with a partner). The course philosophy is that programming is learned by doing. While the course focuses on Android, we will learn general principles of software engineering and mobile app development.

The course assumes familiarity with programming and object-oriented terminology. The course is taught entirely in Kotlin, the modern sibling of Java. We will spend a bit of time reviewing Kotlin, but you are expected to be familiar enough with Java that the transition will be seamless. The course does not assume any previous experience with Android programming.

My Experience

My background

My review of this course is based on completing the curriculum with an A+ grade in Fall 2022. I went into Android Programming with a decent level of experience in Java, some experience in iOS development with SwiftUI which is relevant for MVVM design patterns, and Django web app development for MVT design patterns. I had never used Kotlin before. I also had never used Android Studio before, so I had to learn that as well.

My certificate of completion for this course is available here. Note - This is a MSCS course at UT Austin and my GPA is only available on my official MSCS UT Austin transcript.

My Review

Review CategoryRating (7 best, 1 worst)
Overall Rating6/7
Difficulty4/7
TextbookNone
Lectures2/7
Professor6/7
Assignments/Projects6/7

I found the course was structured well to lead developers into the Android developer tools smoothly. Our first project was implementing a layout using XML, which was a good introduction to the Android Studio IDE. We then moved on to implementing a simple app that used a RecyclerView to display a list of items. Later projects involved using various Android APIs to implement more complex apps and Android features. We implemented app features using the Model-View-ViewModel (MVVM) design pattern, which is a common design pattern for Android apps.

The final project was a group project where we implemented a travel planning app. We used the Google Maps API to enable saved locations and maps viewing for the users. The main selling point of this app is a feature that allows the user to save a list of locations and then generate a route that visits all the locations in the order that is optimized automatically using an optimization algorithm given the user’s preferences. You can read more about my experience with this project in my Android Development - City Explorer App page.