A new winter quarter course, CS47 SI: “Cross-Platform Mobile Development,” aims to ease the technological barriers of creating a new app.
The course teaches programs and useful tools for app-making and culminates in a capstone project in which students design and create their own app. The two-unit class is student-led, taught by Abdallah Abuhashem ’19 and Santiago Gutierrez ‘19. James Landay, a professor of computer science, serves as a faculty advisor for the class.
CS47 SI teaches students how to use React Native, a powerful framework that lets app developers write a single program that can be run on both iOS and Android devices. iOS and Android app development typically requires the use of different development platforms and programming languages. Consequently, new app developers first build their app for either iOS or Android devices and then have to figure out how to rebuild their app to work on the other device. React Native overcomes this technological barrier and is behind highly popular apps such as Facebook, Instagram, Airbnb and Skype.
Abuhashem first encountered React Native while developing a mobile app last June for The Daily.
“I was blown away by how easy it made things and how flexible the framework was,” Abuhashem said. “I said to myself, ‘I wish there was a course at Stanford that taught this material.’”
While React Native is the focus of the course, Abuhashem and Gutierrez also seek to teach a variety of useful software development skills including how to fetch data, how to manage internal mobile storage and how to integrate third party libraries into an app.
“We hope to break any barriers and fears that students have of starting a new project from scratch,” Abuhashem said.
For their capstone projects, students build fully functional apps using tools such as component customization, navigation and local storage libraries.
The course proved to be popular among students, which, according to Abuhashem and Gutierrez, was an unexpected but pleasant surprise.
“The course went live in the middle of winter break, way after enrollment opened for winter quarter,” Abuhashem said. “Our cap right now is 20 students and we were able to get about 40 applicants for the class.”
Some of the demand for the course is driven by students wishing to supplement CS147: “Introduction to Human Computer Interaction Design.”
“I first heard of React Native in CS 147,” said Alison Chen ’19, a current student in CS47 SI. “It’s a really powerful tool and I wanted to understand it better and do more work with it.”
In addition to functioning as a stand-alone course, CS47 SI “offers a potential toolset that CS147 students can use to build their projects,” according to Gutierrez.
The great demand for CS47 SI bodes well for the future of Abuhashem and Gutierrez’s course, the instructors reflected.
“We are going to offer this class again and we are hoping for the continuity of this class over the coming years,” added Abuhashem.