Software engineers create, maintain and modify computer and software programs such as operating systems, communications software, utility programs and compilers. They design and develop many types of software including computer games, operating systems, network control systems, and middleware and business applications to meet specific business needs. A major focus of this degree is on practical learning based on the use of modern hardware techniques and software technologies to design, construct, manufacture and manage systems and products. Completion of this major as part of the Bachelor of Engineering will prepare students for a career in software engineering. Students can combine this major with one of the following as a major or minor of the Bachelor of Engineering: computer, electronics, mechanical, mechatronic, and telecommunications engineering.