According to a definition from the IEEE Computer Society, “Software engineering is the application of a systematic, disciplined, quantifiable approach to the design, development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.” Software development, a much more used and generic term, does not quantify the entire Software Engineering regime.
Software engineering, although directed towards a unique definition of tasks, is a very broad field to say the least. The present world of computing uses software development and integration in almost every walk of life. Hardware capability of a computer system is limited to use by the extent of the quality of the software being run on it. A heavy inefficient software demands much more computing strength than required for running the task. With ever increasing computing power, software technology has opened new avenues in the fields of computer aided simulation. Real time data acquisition methods help formulate a problem on a computer with almost real-life like results.
Software engineering is often mixed with Computer Engineering. Although not mutually independent, the two fields possess very different purposes and require entirely different skillsets to operate. Speaking in context of an automobile, Computer Engineering manufactures the engine while Software Engineering plays the role of the driver who runs the car.
Software Engineering Universities in Pakistan
Below is a list of universities recognized by PEC for Software Engineering taken from http://www.pec.org.pk/schedule_first.aspx.
- National University of Sciences and Technology, Islamabad
- COMSATS Institute of Information Technology, Islamabad
- Bahria University
- Fatima Jinnah Women University, Rawalpindi
- University of Engineering and Technology
- Foundation University Islamabad
- Ghulam Ishaq Khan Institute of Engineering Sciences and Technology, Topi
- NWFP University of Engineering & Technology, Peshawar (Main Campus)
- Mehran University of Engineering and Technology, Jamshoro
- NED University of Engineering and Technology, Karachi
Job Scope for Software Engineering
In Pakistan, Software Engineering met its peak demand around the start of the last decade. Although, the scope of software engineering has alleviated over the past few years in Pakistan, it experiences a continuous increase in demand all over the world. According to a US technical magazine, Software Engineering is the fastest growing job in the world and is likely to become the most paid job near 2020. Companies of the magnitude of Google, Yahoo, Dell, Facebook, Intel and Microsoft all are made from Software Engineers at their core.
Software Engineering is in high demand in the private sector in Pakistan. Low economy firms employ a high number of software engineers to carry out basic data handling jobs. New websites in Pakistan has also created new job opportunities for software engineers. The continuous expansion in the IT sector of Pakistan will surely saturate the engineering industry with Software Engineers. Although not at the first priority of many students, software engineering is one of the most promising fields to start your career.
Main Subjects in Software Engineering
Software Engineering usually overlaps with computer engineering for several of its undergraduate courses. It includes the following major subjects.
- Algorithms and Computing –Instance of logic written in software
- Data Structures – Organizing and storing data
- Logic and Sequential Circuit Design – Synthesis and Analysis of Sequential Circuits
- Artificial Intelligence Concepts – Study of developing ‘intelligent’ software
- Digital Signal Processing – Mathematical manipulation of an information signal
- Digital Image Processing – Image processing using computer algorithms
- Database Engineering – Defining constraints and parameters for data storage
- Electronic Banking – Deals with software related to online banking
- Internet Computing – Studies the basics of programming for the World Wide Web
- Compiler Writing – Developing code generation software