programming assignement1