usc-it166 project