Software engineering is mainly concerned with software development (programming, design), testing, maintenance and other activities in the software life cycle. Software project management provides software quality assurance and follows standards. Software engineering covers lessons that include close to sixty percent of the computer engineering curriculum. Program students have the opportunity to improve themselves in areas such as computer programming, databases, software design, mobile programming, algorithms, software architecture, web programming, artificial intelligence and machine learning.