1
To be able to define problems in life by indentifying functional and nonfunctional requirements the software is to satisfy.
2
To be able to define the other constituents of software architecture, components, interface and system.
3
To be able to develop software by coding, verifying, doing unit testing and debugging.
4
To be able to solve software maintenance problems stemming from working environment changes, new user demands and the emergence of software errors that occur during the execution.
5
To have knowledge in the area of software requirements analysis, process planning, output specification, resource planning, risk management and quality planning.
6
To be able to identify, evaluate, measure and manage changes in software development by applying software engineering processes and release software versions systematically.
7
To be able to use various tools and methods to carry out the software design, testing, maintenance and development activities.
8
To have knowledge of basic quality metrics, software life cycle, software quality, quality model, and be able to use them to develop, verify and test software.
9
To have knowledge in other disciplines that have common boundaries with software engineering such as computer engineering, management, mathematics, ergonomics and systems engineering.
10
To be able to grasp software engineering culture and ethics and have the basic information of applying them to the software engineering for the good of society.
11
To be able to use a foreign language to follow related field publications and communicate with colleagues.
12
To be able to demonstrate software engineering profession at international level.