UVA Automated Course Advising Assistant Research Project; Semiotic Approaches & Software Development

Lutz, Scott, School of Engineering and Applied Science, University of Virginia
Laugelli, Benjamin, University of Virginia
Tychonievich, Luther, EN-Comp Science Dept, University of Virginia

My technical work and STS research are connected through University of Virginia’s
(UVA) Student Information System (SIS). In my technical work my team developed a web
application to help Computer Science students plan their curriculum for each semester based on
the requirements provided by SIS. We started this project because SIS did not currently have a
way for students to create and verify a plan for themselves, so students have to rely on their
advisor. In my STS research I analyzed many of the shortcomings of SIS and why it has failed as
a tool for students. While it provides a lot of useful functionality it is missing a curriculum
planner and the workflow it creates is extremely frustrating and unintuitive, so students are
forced to rely on third party tools in order to create a schedule. My technical work was meant to
help students by bringing some of these tools together and presenting them on an official
platform backed by UVA.
In the technical project I helped develop a web application where students can log in and
add classes to a 4-year curriculum plan. The application was created primarily using Python,
Django, and ReactJS. Students upload a PDF of their transcript and it will automatically parse it
and fill up the student’s course history. The tool then shows what classes the student still needs
to take and automatically creates a plan based on how many semesters the student has left and
how many credits they want to take each semester. Students can also manually create their own
In my STS research I discussed how SIS prioritizes functionality over usability and this
creates an extremely negative experience for the users. The designers failed to take into account
the goals and identity of the users. Many of the common tasks users want to perform require
them to jump back and forth between pages in an endless and repetitive loop. This caused the
workflow of the design to fail to match up with the workflow of the users. Resulting in them
being forced to create and use workaround tools in order to accomplish the task of creating a
By conducting both of these projects together I was able to enhance the web application I
created and gain a better understanding of developing software for real world use. In the STS
research I learned the importance of understanding the user in order to create software that
matches their desires in order to help them accomplish their goals. I used this understanding to
plan out the design of the application in order to be easy and intuitive for students to use. By
conducting my technical projects, I was able to learn more about web development and gain a lot
of experience. I also understand that designers may make poor decisions because it might be
much faster to implement. By doing both of these projects together I was able to understand
when it was not okay to take these shortcuts due to how important usability is to the user.

BS (Bachelor of Science)
Usability, SIS, Advising, Users

School of Engineering and Applied Science
Bachelor of Science in Computer Science
Technical Advisor: Luther Tychonievich
STS Advisor: Benjamin Laugelli
Technical Team Members: Bugi Abdulkarim, Christine Cheng, Sean Gatewood, Alex Hicks, Rahul Batra, Rahat Maini

All rights reserved (no additional license for public reuse)
Issued Date: