CMPE-295B SJSU Masters project