top of page

Optimized course registration mobile app

CouReg Front.png

The idea of building a course registration app starts with many college students' frustration during course registration every semester - hard to register through mobile phone, the overall registration procedure is confusing (no idea about where to click), the user interface is not appealing, the website gets overload and crash on the registration day. With the goal of improving Teachers College, Columbia University students' course registration user experience, CouReg, short for Course Registration, provides an easy and optimized solution on mobile phones. Its clear layout and simple workflow with elaborate aesthetic design ensure a pleasant course registration experience for students. 

Tools: Java, XML, Android Studio, Firebase

Click here for code.

User Research

How do students evaluate their course registration system?

  • Hard to use and no idea about where to click,

    • "Successfully register courses for next semester is like a test I have to pass in order to demonstrate I qualify for an ivy league school."

  • Hard to operate on mobile phone as we have to register on school website,

  • The user interface needs a better design,

  • Would be better to have a calendar that displays my course schedule.

Goals and Objectives
  1. Mobile option:

    • Create a mobile phone app for course registration.

  2. Workflow:​

    • Establish simple workflow for course registration process.​

  3. User Interface:​

    • Design ​an easy-to-navigate and consistent interface that provides necessary visual cues and reduces cognitive load.

UX Framework
CouReg Workflow.png
Design and Coding
Log-in Page
Gmail Log-in


  • Integrated Google Sign-in.

  • Only allows to sign in with school email so that the course registration information would connect to students' account.

Course Search

  • Follows a clear logic: select a semester -> select a department  -> courses display.

  • Select Semester: it includes semester start and end date with pictures for visual cue. 

  • Select Department: it includes department's full name and department's abbreviation for easy identification. 

  • Course Display: it includes course number, course name, and a brief description of the course.  

Select Semester
Select Department
 Course List
Course Information

Course Information

  • Course detailed information - course number, course name, instructor, credit, remaining seat, room, and time.

  • Data are stored on Firebase.

  • By clicking the button "REGISTER NOW," this course will be added. The interface goes back to the last page of course list.


  • The student's name will display on the Me tab, which is extracted from the student's email information.

  • Students can change profile picture.

  • Registered course will be listed.

  • By clicking "DROP" button, the course will be removed from the list. 

  • By clicking "SIGN OUT" button, it goes back to the log in page.

Me 1.png
Me 2.png
Project Demo
Future Developments

Even though this project won the Best Final Project in the course due to its clear workflow, detailed aesthetic design, and great integration of coding knowledge learned in the course, CouReg is still under development from the technical perspective: 

  • Integrate Google calendar API:

    • Ideally the calendar view would connect with students' google calendar so that they are able to see complete daily schedule and decide whether the course they tend to register would cause a time conflict.

  • Connect students' course registration information to Firebase as well, which would update students' course registration information and remaining seats in real-time. Once the number of the remaining seats reaches to zero, the "REGISTER NOW" button for this course will disappear on the interface.

From an instructional design perspective, I also want to include an "auto-registration" feature to prevent the registration website from crashing as all students are logging into the system at the same time. By selecting a course and clicking auto-registration before the registration day, the system will automatically add the course into registered course list when the registration is open. The advantages of integrating this design include (1) preventing the website from crashing on the registration day and (2) students do not have to set an alarm and wait on the registration day to manually select the course they want.

bottom of page