Certainly find software taking care of business. On your computer and in your smartphone, in your dishwasher and in your car, in the bank, supermarket, or mall, on the streets or in your house. Software makes things run smarter and cheaper, and makes it possible to have a better quality of life. And since software has become a main and important part of life, it needs professionals to take care of how it is designed, implemented and installed, and to make sure that it stays working correctly after it is installed. This is what Software Engineers do.
There are many things a Software Engineer can be a part of. For example, you can be involved in developing software, learning various programming techniques, and understanding how your programs can be made to run successfully on different platforms (desktops, laptops, pads, smartphones, gamebox). But for a software developer to know what to develop, he or she needs to know what are the requirements for this software. Consider, for instance, reliability, software runs a fighter jet or a pacemaker needs to be absolutely reliable with no room for failure, while lesser reliability can be expected from a game running on your Android. Accuracy, is another functional requirements. Would you consider what could go wrong if the software running your bank made a mistake in its calculations? For these and for other reasons, it is vital that a software engineer regularly interacts with the client to make sure that the developers know what needs to be done. You can also recognize that it is important that a software is extensively tested before it is delivered to the client, or sent out to the public. Testing and validation is a major component of software engineering. It achieves a main objective, which is making sure that the software meets the clients' design requirements. And due to the complexity and the size of the software, oftentimes a software engineer is not directly involved in these different stages, but in managing how the software evolves from one stage to another. Crafting a process for developing a software is not an easy task, as sometimes many people can participate in the software, and they may not necessarily be in the same room, building or country. Engineering a software development process has hence become one of the important disciplines that a software engineer can excel at.
Today, in Saudi Arabia and the world, there is a great demand for software engineers. Local companies like Microsoft, IBM, Cisco Systems, Oracle, Aramco, SCECO, SABIC, banks, telecommunications providers and carriers such as STC, Mobily and Zain, in addition to multinationals such as Google, Apple, Microsoft, Siemens and Telus – all have constant interest in software engineers across all branches. Here, at Alfaisal University, we have a worldclass SE program that helps prepare you for the international job market, and that makes you able to take part in powering up the world.
Program Educational Objectives
The Alfaisal University Bachelor in Software Engineering degree will produce graduates who are expected to attain the following program educational objectives (not necessarily all of them):
PEO1. Successfully enter a chosen profession related to software engineering and/or pursue graduate studies.
PEO2. Succeed in their chosen profession as evidenced by career satisfaction, promotions, and assume progressively leading and influential roles in their organizations and communities.
PEO3. Maintain currency through self-learning or other professional development, adapting to the rapidly changing technological world.
Graduates of the Bachelor in Software Engineering program will possess by the time of graduation the following essential computing and engineering skills:
- An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
- An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
- An ability to communicate effectively with a range of audiences
- An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
- An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
- An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
- An ability to acquire and apply new knowledge as needed, using appropriate learning strategies