NSF grant funds computer-assisted programming project