CECS171-2004