ECE1778 / Syllabus

ECE1778: Creative Applications for Mobile Devices

Course Syllabus of Fall 2025

Overview

This graduate-level course gives students hands-on experience developing mobile applications with React Native and Expo. Four progressive assignments and a collaborative project build experience with cross-platform development, notifications, state management, and deployment. Teams apply these skills to a working mobile application and explain its design and implementation.

Learning Objectives

  • Develop cross-platform mobile applications using React Native and Expo with TypeScript, applying core components, hooks, and UI design principles.
  • Implement navigation for multi-screen mobile applications using React Navigation or Expo Router, including typed navigation and data passing between screens.
  • Manage application state and persist data across app sessions using Context API, useReducer, React Native Async Storage, and TypeScript.
  • Integrate Expo Notifications to implement local and push notifications for common mobile application scenarios.
  • Connect mobile applications to backend services or APIs, such as REST APIs, Supabase, or Firebase, implementing data fetching, UI updates, and error handling with TypeScript.
  • Explore advanced mobile development features, such as user authentication, real-time updates, mobile sensors, or custom animations, and apply them in appropriate application contexts.
  • Collaborate on a team-based mobile application project using GitHub for version control and project coordination.
  • Build and test mobile applications on iOS or Android devices using Expo EAS Build.

Prerequisites

Students should have a strong foundation in JavaScript, including proficiency with ES6+ features such as arrow functions, destructuring, and asynchronous programming using async/await. Prior experience with React, particularly functional components, props, state, and hooks, is highly recommended. A brief React refresher will be provided in the first lecture. Familiarity with TypeScript is preferred but not required, as it will be used throughout the course with guidance offered as needed.

Working through Assignment 1 during the two-week submission window can give you an early sense of the prerequisite knowledge and level of technical work expected in the course.

The prerequisites are intended to help you assess whether you have the background needed for the course. You do not need to contact the instructor for prerequisite approval before enrolling.

Weekly Schedule

WeekLectureDateTopic
11September 3Course Introduction and React Refresher
22September 10React Native Fundamentals
33September 17Styling and UI Design
44September 24Navigation with React Navigation
55October 1Navigation with Expo Router
66October 8State Management in React Native
77October 15Redux Toolkit and Data Persistence
88October 22Notifications and User Engagement
9--Reading Week (No Lecture)
109November 5Backend Integration and User Authentication
1110November 12Deploying Mobile Apps with Expo EAS
1211November 19Course Project Presentations
1312November 26Course Project Presentations

Grading

Assignments

50%

This course includes four progressive assignments that will guide you through building a real-world mobile application. Each assignment builds upon the previous one, gradually incorporating more advanced technologies and features using React Native and Expo.

Each assignment should be completed individually.

4 assignments, 12.5% each.

Assignment Timeline

AssignmentTopicRelease DateDue Date
1Basic App StructureSeptember 14September 28
2Styling and NavigationSeptember 28October 12
3Navigation and State ManagementOctober 12October 26
4Advanced State Management and PersistenceOctober 26November 9

Detailed assignment handouts and starter code will be provided for each assignment upon release.

Project

50%

Students will work in groups of 2 to 4 to develop a mobile application implementing the modern technologies learned throughout the course.

  • Proposal (15%): due on October 19, 2025, 11:59 PM
  • Presentation (10%): November 19 and November 26, 2025
  • Final Project Deliverable (25%): due on December 7, 2025, 11:59 PM