comptuer science undergraduate led android app development course uc davis akshey nama omar burney
CS undergraduates Akshey Nama and Omar Burney teach a lecture on api calls with Android as part of their upper-division app development course in Winter 2021. Photo courtesy of Akshey Nama and Omar Burney

Computer Science Undergraduates Teach Upper-division Android App Development Class

Quick Summary

  • The course was developed and taught by two CS undergraduates who were interested in learning more about Android programming
  • Nearly 73% of all mobile devices use Android, making it a lucrative career path for CS majors
uc davis computer science undergraduates akshey nama omar burney
CS undergraduates Akshey Nama (left) and Omar Burney (right) co-led the course. Photos courtesy of Akshey Nama and Omar Burney.

This past winter, computer science (CS) majors Akshey Nama and Omar Burney developed, planned and taught their own upper-division CS class at UC Davis. Their project-based app development course covered the principles of programming for Android, brought in experts from the Android developer community and built a network of students interested in the platform.

App development is an attractive career path for CS majors, and Android is particularly lucrative because it’s native to mobile devices and can exploit unique features like cameras, sensors, maps and other apps. Nearly 73% of mobile devices globally run on Android, but Nama and Burney realized that the only app development course being offered for undergraduates was in iOS, which is limited to Apple devices and inaccessible to students without a Mac.

Instead of waiting for an opportunity to learn more about these prevalent mobile technologies, the two friends thought they could learn about Android and share their knowledge by teaching their own class.

“Sometimes you have to make an opportunity happen,” said Burney. “We thought, ‘what better way to learn about Android than to explore the platform, teach it and create a diverse community?’”

Project-Based Teaching

uc davis computer science undergraduate android app development
An example of applying design principles to views in Android app development. Integrating these interactive objects is a key to Android app design. Photo courtesy of Akshey Nama and Omar Burney.

Since Android can be used in so many contexts—from phones to TVs and refrigerators—developers need to consider the capabilities of different devices as they build their app. This means seamlessly integrating common “objects” like buttons, widgets, notifications and inter-app communication across devices with differing screen size, shape and interface. Understanding what makes a good app and learning principles of user interface design to make an app easy to use is also vital.

“With Android, making legible, usable and dynamic code is very important,” said Nama. “We think it really helps students understand not just how to be better coders, but also how to effectively make their vision more accessible to everyone.”

To teach this, Nama and Burney based the course around three app development projects, each with increasing complexity and addressing real world issues like keeping updated on United Nations news, tracking mental health and addressing student housing during the pandemic. They also invited guest speakers from UC Davis and industry to speak on topics ranging from human-computer interaction to ethics to what working in industry as an Android developer is like.

They also prepared weekly demonstrations, slideshows and recordings for their students and made ample time and space for questions or feedback over email, Piazza, Discord and during office hours over Zoom.

“We made sure to engage with students through a variety of platforms to better facilitate the learning process,” said Nama. “I also found that it made explaining complex topics easier.”

The class culminated in a final project that asked students to explore a new technology in Android they were interested in. Students wrote professional-style proposals about the technology and how it could be used in Android to create any app they wanted that had societal impact.

“For me, the most rewarding part was seeing the students make these applications and say, ‘I want to learn more about Android and app development,’” said Burney.

uc davis computer science undergraduate taught android app development course
An example of the course's first project to create an RSS feed app for UN news. Photo courtesy of Akshey Nama and Omar Burney.

Making an Opportunity Happen

The class was a culmination of months of hard work that involved many connections on campus and in the Android community. Nama and Burney spent summer 2020 developing the idea, polling peers on their interest in the course and researching topics to cover.

After receiving feedback, they put together their curriculum in fall, working with UC Davis faculty and industry experts to make sure the material gave students relevant, real-world skills and experience. CS Professor Nina Amenta guided them through the process, helping them refine their teaching plan, connecting them with other instructors who could give feedback and working to get the class approved for the winter 2021 quarter. Ultimately, over 40 students enrolled.

"Professor Amenta was extremely helpful,” said Nama. “Her insights, support and guidance throughout the process helped us better refine our goals and make this course a reality.”

Since the class ended, Nama and Burney have used their experiences to continue making a difference on campus. The following quarter, they became tutors for the department’s web programming course (ECS 162), helping over 300 students, including some they had taught in winter.

“It was great to see that the skills we developed were beneficial for the student community on a larger scale,” said Nama.

In addition, they’ve built a community of people who are interested in Android development, and several of their former students have stayed in touch as they continue to explore the technology. Though neither planned to teach when joining UC Davis, Nama and Burney are thankful for the experience teaching Android on campus, and they encourage others to pursue a similar opportunity.

“We hope that our work inspires our peers to pursue endeavors that enrich the college experience and education for students at UC Davis,” they said. “We want to thank our advisor, Professor Nina Amenta, our mentors Daniel Fiorillo and Zee Chen, our tutors Henry Yu and Tyler Mayxonesing and our designer Brooke Bahn for all their assistance.”

Primary Category

Tags