Software Engineering 132 CRs

  • Software Engineering |
  • English

Program Description

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software that is, the application of engineering to software. Therefore, developing and maintaining reliable and efficient software systems is the primary concern to software engineering professionals. Software systems should be affordable to develop and maintain and satisfy all the requirements that customers have defined. More recently, it has evolved in response to factors such as the growing impact of large and expensive software systems in a wide range of situations and the increased importance of software in safety-critical applications. Software engineering is different in character from other engineering disciplines due to both the intangible nature of software and the discontinuous nature of software operation. It seeks to integrate the principles of mathematics and computer science with the engineering practices developed for tangible, physical artefacts.

Learning Outcomes

  • Graduates of the program will have an ability to:
    (SO1) Identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
    (SO2) 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.
    (SO3) Communicate effectively with a range of audiences.
    (SO4) 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.
    (SO5) Function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
    (SO6) Develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
    (SO7) Acquire and apply new knowledge as needed, using appropriate learning strategies.

Markets and Career

  • Job Opportunities include but are not limited to:
    If you enjoy solving problems and have strong analytical skills, a career as a software engineer can be both fun and challenging. Furthermore, as technology continues to evolve, the need for software engineers continues to grow. Moreover, software engineering skills, tools and techniques are used to govern the software development life cycle that is applied in a diverse set of domains such as:

    Web/Mobile development, Scientific Development, Business Development, Embedded Systems, IoT systems or Artificial Intelligence enabled Systems.

    * Junior Software Engineer: Junior software engineers are entry-level members of a software development team. They assist the team with basic tasks under the supervision of their seniors, such as learning base code and writing simple code, and debugging existing software (Web/Mobile).

    * Technical Architect: Architects still write code occasionally as well; however, they are mainly responsible for designing complex systems that other developers will implement. The role of architect is a technical one and not usually a steppingstone to something more - often thought of as the highest position on the technical side of things.

    * Requirements Engineer: responsible for the analysis, documentation, coordination, and management of requirements regarding new software projects. They identify and understand the customer's project-specific demands and document them in a clear and binding way.

    * Product Manager: responsible for both product planning and product marketing. This includes managing the product throughout the Product Lifecycle, gathering and prioritizing product and customer requirements, defining the product vision, and working closely with engineering to deliver winning products.

    * Software Test Engineer: responsible for evaluating software using automated or manual testing methods and analyzing the results. Strong analytical skills can help them navigate and break down complex software systems.

    * Software Quality Assurance (QA) Engineer: responsible for every phase of the development process to ensure that the design and software adhere to company standards. A software quality assurance engineer helps meet deadlines by breaking up the development process into attainable testing goals and relaying any issues back to the development and product teams or leaders.

    * Software Project Manager: responsible for the planning, scheduling, budgeting, execution, and delivery of software projects. They ensure the successful completion of all software projects and oversee the people performing work on the projects. Prepares reports for upper management regarding status of project. The successful candidate will work directly with clients to ensure deliverables fall within the applicable scope and budget.

    * Security Software Engineer: responsible for analyzing software designs and implementations from a security perspective٫ to identify and resolve security issues. Your duties will include the appropriate security analysis٫ defenses and countermeasures at each phase of the software development lifecycle٫ to result in robust and reliable software.

    * DevOps Engineer: A DevOps engineer acts as a fulcrum between development and operational teams, and basically forms the foundation of the entire dev ops environment. For development to go as planned, there needs to be an operational team ready to implement the IT structures, applications, and software enhancements that are created. Between these two teams, and coordinating the efforts of both, are DevOps engineers. A DevOps engineer introduces processes, tools, and methodologies to balance needs throughout the software development life cycle, from coding and deployment to maintenance and updates.

Admission Requirements

Data will be available soon!

Tests & Prerequisites

Data will be available soon!





Code Title Prequisites
CCS1101 Introduction to computing None
CIS1000 Introduction to information systems None
UNR1302 Fundamentals of business None
EBA1203 Calculus 1 None or (EBA0201 for science students)
EBA1110 Physics None
UNR1403 Academic English None
UNRXXXX University Req. Elective None
EBA0201 Precalculus None
GLA0001 Remedial English None
Code Title Prequisites
UNR2101 Communication and Presentation Skills UNR1403
UNR1407 Academic Writing UNR1403
EBA1204 Calculus 2 EBA1203
EBAXXXX Science Elective None
CCS1001 Discrete structures CCS1101
CCS1302 Problem solving and programming CCS1101
CNC1401 Entrepreneurship skills 10 CR. or more
Code Title Prequisites
CCS2102 Digital Logic Design CCS1101
CCS2303 Object-Oriented Programming CCS1302
EBA2204 Linear Algebra EBA1204
CIS2101 Database Systems CCS1302
CCS2201 Introduction to Networks CCS1302
Code Title Prequisites
CSE3101 Software Requirements and Specifications CSE2001
CSE3402 Project Management CSE2001
EBA3202 Differential Equations EBA1204
CCS3601 Introduction to Artificial Intelligence CCS1001- CCS2401
CCS3203 Operating Systems CCS2103 - CCS2401
CIT3200 Professional Training in Mobile Apps Programming None
Code Title Prequisites
CSE3201 Designing Human Centered Software CSE2001
CSE3202 Software Component Design CSE2001 - CCS2304
CCS3403 Computing Algorithms CCS2401
EBA3201 Advanced Statistics EBA2203
CCS3002 Numerical Methods EBA2204 - CCS1302
CITXXXX Professional Training I None
Code Title Prequisites
CSE4301 Software Verification and Validation CSE3101
CSE4901 Project I GPA>=2.0 & 90 CR or more
CITXXXXX Professional Training II None
Major 1 Major Elective None
Major 2 Major Elective None
CSE4203 Principles of Software Architecture CSE3101-CSE3202
Code Title Prequisites
CSE4401 Software Engineering Process CSE2001
CCS4204 Computer System Security CCS3203 - CCY2001
CSE4902 Project II CSE4901
CITXXXXXX Professional Training III None
Major 3 Major Elective None
Major 4 Major Elective None
CIT400 Practical Training None

Start your Application

Start The Journey to your Career.