cmpe273-assignment3