Undergraduate software engineering education: the body of knowledge, existing programs and accreditation | IEEE Conference Publication | IEEE Xplore