CE Logo

Major of Software Engineering

Overview

Software engineering applies engineering concepts, techniques and methods to the development of software systems. The software engineering program develops engineering professionals with a mastery of software development theory, practice and process.
Software engineering is based on computer science in the same way other engineering disciplines are based on physical or life sciences. However, it adds an emphasis on issues of requirements, process, design, measurement, analysis and verification, providing a strong foundation in engineering principles and practice as applied to software development.
Software engineering students gain knowledge and skill in all aspects of the software development life cycle, including requirements elicitation and analysis, software architecture, design, construction and verification. They learn to work within and to continuously improve a defined software development process, with the aim of producing high-quality software predictably and efficiently. To provide a basis for this software engineering practice and process, students are grounded in the fundamentals of computer science, including discrete mathematics, data structures, algorithms, computer organization and operating systems.

Read More Read More Icon
Vision

1. Adopt and continuously practice life-long learning through undergraduate and professional education.

2. Actively contribute to develop best engineering practice in the public or private sectors in the technical areas of Big Data and Cloud Computing, Healthcare applications, web and smart devices applications and cyber security.

3. Become professional engineers who apply ethical and social aspects to grow and succeed in designing and developing new software solutions.

Read More Read More Icon
Mission

The mission of the Software Engineering program is to develop highly qualified Software Engineers leaders and entrepreneurs who are knowledgeable to fill the national and international needs in the field of Software Engineering and to pursue applied research that contributes to the communities.

Read More Read More Icon
HOD Image
Louai Aimen Maghrabi , Head of Software Engineering Department

Welcome to the Software Engineering program at the University of Business and Technology. The Software Engineering program is designed to provide essential software engineering knowledge and offer graduates job opportunities in fields such as software development, system design, cybersecurity, and IT project management.

This curriculum is a unique engineering program in the kingdom, focused on problem-solving to enhance the skills needed to manage software engineering projects effectively. It prepares graduates to evaluate, design, and implement comprehensive software solutions, making them career-ready for sectors such as technology, software development, and the public sector.

This program aligns with the University of Business and Technology's commitment to "Education for Job Opportunities and Entrepreneurship," supporting the goals of Saudi Vision 2030.

The Software Engineering program community is dedicated to fostering a career that contributes to their organization’s technological mission—enhancing resources and improving systems while ensuring the safety and effectiveness of software applications.

Read More Read More Icon

Requirements Program


UBT’s Requirement Program consists of non-credited courses and English courses aimed at improving students’ language proficiency before they begin their undergraduate studies, as well as to develop and improve students’ knowledge of mathematical and analytical techniques through the medium of English Language. The program also familiarizes students with the requirements of undergraduate study, study skills and disciplines of all forms. The program consists of the following courses: Language Levels(English Language Academy "ELA") Pre - Calculus(depending on the placement test) At first, newly admitted students are required to take an English placement test to determine his / her level.Each student will be placed according to his/ her test results in the following list:

COURSE UNITS PREREQUISITE
MATH-099-1 Pre-Calculus 3 EL-400-1 English Language Level 4
EL-100-1 English Language Level 1 1 --
EL-200-1 Academic English Level 2 1 EL-100-1 English Language Level 1
EL-300-1 Academic English Level 3 1 EL-200-1 Academic English Level 2
EL-400-1 Academic English Level 4 1 EL-300-1 Academic English Level 3

Students may seek course exemptions at ELA by submitting one of the following options:

  • TOEFL iBT result of 75/120 and IELTS result of 5/9
  • Pass the ELA placement test with a very high score 100/120.
  • Student may be exempted from MATH099 by passing the pre-calculus course placement test

Freshmen (Fall)

Course Code Course Name Units
ARAB101 ARABIC LANGUAGE 1 2
SE 201 PROGRAMMING I 3
Total : 5

Freshmen (Spring)

Course Code Course Name Units
ARAB201 ARABIC LANGUAGE 2 2
SE 202 PROGRAMMING II 3
MATH102 CALCULUS II 4
PHYS101 GENERAL PHYSICS I 3
Total : 12

Sophomore (Fall)

Course Code Course Name Units
MATH203 CALCULUS III 4
PHYS102 GENERAL PHYSICS II 3
SE 204 COMPUTER & ORGANIZATION & ARCHITECTURE 3
ISLS201 ISLAMIC 2 2
Total : 12

Sophomore (Spring)

Course Code Course Name Units
SOC 140 COMMUNICATION SKILLS 3
SE 205 DISCRETE SYSTEM 3
SE 206 INTRODUCTION TO SOFTWARE ENGINEERING 3
IE 201 INTRODUCTION TO ENGINEERING DESIGN I 3
IE 331 PROBABILITY AND ENGINEERING STATISTICS 3
ISLS301 ISLAMIC CULTURE 3 (BUSINESS ETHICS) 3
Total : 18

Junior (Fall)

Course Code Course Name Units
BUS 351 ENTREPRENEURSHIP 3
SE 307 INTRODUCTION TO DATABASE SYSTEM 3
SE 308 SOFTWARE REQUIREMENTS ENGINEERING 3
SE 309 ALGORITHMS AND COMPLEXITY 3
SE 310 MULTIMEDIA & WEB DESIGN 3
SE 311 SOFTWARE PROCESS AND MODELING 2
Total : 17

Junior (Spring)

Course Code Course Name Units
SE 312 DATA COMMUNICATION & NETWORKS 3
SE 313 COMPUTER SECURITY 3
SE 314 SOFTWARE DESIGN AND ARCHITECTURE 3
SE 315 SOFTWARE QUALITY ASSURANCE 3
SE 316 SOFTWARE TESTING AND VALIDATION 3
MATH241 APPLIED LINEAR ALGEBRA I 3
Total : 18

Senior (Fall)

Course Code Course Name Units
SE 417 SUMMER TRAINING 2
SE 418 OPERATING SYSTEMS 3
SE 419 SOFTWARE PROJECT MANAGEMENT 3
SE 420 SOFTWARE MAINTENANCE AND EVOLUTION 3
SE 499 SENIOR PROJECT 4
SE 421 INTERNET APPLICATION 3
Total : 18

Senior (Spring)

Course Code Course Name Units
ELCTSE1 MAJOR ELECTIVE 1 3
ELCTSE2 MAJOR ELECTIVE 2 3
ELCTSE3 MAJOR ELECTIVE 3
ELCTSE4 MAJOR ELECTIVE 4 3
ELCTSE5 MAJOR ELECTIVE 5 3
Total : 15
Plain Total : 115
Total Number of Courses : 39

SOFTWARE ENGINEERING (BIG DATA AND CLOUD COMPUTING)


Credit Hours: 2
Prerequisite: ARAB101-1, ARAB101-2
Credit Hours: 3
Prerequisite: EL400-1, MATH099-2
matter and measurements. atoms, molecules, and ions. chemical formulas. chemical reactions and equations. sources of the elements. thermochemistry. physical behavior of gases. the electronic structure of atoms. covalent bonding; molecular substances. an introduction to organic chemistry.
Credit Hours: 3
Prerequisite: ENG101-7
Credit Hours: 3
Prerequisite: MATH102-1
descriptive statistics with graphical summaries. basic concepts of probability and its engineering applications. probability distributions of random variables. confidence intervals. introduction to hypothesis testing. correlation and linear regression.
Credit Hours: 4
Prerequisite: MATH102-1
vector algebra and application in 3-d-different coordinate systems in 3-d. analytic geometry in 3-d; (lines & planes), plane curves, tangents and normal. curvature. functions of several variables: partial derivatives & differentials, extreme and applications. line, double and triple integrals with applications in various coordinates. vector analysis: differentiation of a vector function, directional derivatives. differential operators (grad, div, curl). integration of a vector faction. divergence, green's and stokes' theorems.
Credit Hours: 3
Prerequisite: MATH203-1, SE311-1
vector spaces, subspaces, basis and dimension. matrices. reduced form and rank of a matrix. determinant and inverse of a matrix. solution of system of linear equations. linear transformation. kernel and range. eigen-vectors and eigen-values.
Credit Hours: 3
Prerequisite: SE201-1
principles of object oriented programming including classes, polymorphism, encapsulation and information hiding, and inheritance. principles of object oriented design. program debugging and documentation techniques. implementation and simple analysis of algorithms for sorting and searching. event-driven programming and the use of libraries for user interfaces. introduction to computer history. programming assignments.
Credit Hours: 3
Prerequisite: SE202-1
structure and operation of digital systems and computers. fundamentals of digital logic. machine organization, control and data paths, instruction sets, and addressing modes. hardwired and microprogrammed control. memory systems organization. discussion of alternative architectures such as risc, cics, and various parallel architectures.
Credit Hours: 3
Prerequisite: MATH101-2
mathematical methods for characterizing and analyzing discrete systems. modern algebraic concepts, logic theory, set theory, grammars and formal languages, and graph theory. application to the analysis of computer systems and computational structures.
Credit Hours: 3
Prerequisite: SE202-1
software engineering concepts: the software life cycle and other software-development process models; specification techniques, design methodologies, performance analysis, and verification techniques; team-oriented software design and development, and project management techniques; use of appropriate design and debugging tools for a modern programming language. homework and laboratory projects that emphasize design and the use/features of a modern programming language will be given.
Credit Hours: 3
Prerequisite: SE203-1
effective using of database software tools is one of the fundamental goals of database system implementation. training on different database tools leads to provide students with solid knowledge and required practice on well-known tools. students will be able to access to tools and experiences that will increase their success at developing effective skills in designing and developing database applications.
Credit Hours: 3
Prerequisite: SE206-1
the course covers techniques for eliciting requirements. languages and models for representing requirements. analysis and validation techniques, including need, goal and use-case analysis. requirements in the context of system engineering. specifying and measuring external qualities: performance, reliability, availability, safety, security, etc. specifying and analyzing requirements for various types of systems: embedded systems, consumer systems, web-based systems, business systems, systems for scientists and other engineers. resolving feature interactions. requirements documentation standards. traceability. human factors. requirements in the context agile processes. requirements management
Credit Hours: 3
Prerequisite: SE205-1
design and analysis of efficient computer algorithms: algorithm design techniques, including divide-and-conquer, depth-first search, and greedy approaches; worst-case and average-case analysis; models of computation. np-complete problem
Credit Hours: 3
Prerequisite: SE203-1
static web page development using html; formatting web pages with tables, images, frames and css (cascading style sheets); introduction to client side scripting such as javascript; dynamic web content generation and use of dhtml; the modern web applications; xhtml, xml, web services, and ajax, multimedia programming to create interactive cds for training, education, marketing and research, 2d and 3d graphics and animation for the web, video and sound editing, dynamic scripting (programming) languages to create vibrant websites introduces multimedia and web computer graphics.
Credit Hours: 2
Prerequisite: SE308-1
a comprehensive presentation of: the key concepts, modeling techniques, and development methodologies used in object-oriented approaches in software engineering. this includes modeling with uml: structural modeling, behavioral modeling - system architecture design, - user interface design - object persistence design - class and method design - object-oriented testing - unified process development cycle - use case analysis - sequence diagrams - encapsulation - inheritance - polymorphism - design principles of coupling and cohesion - design patterns. oo case tools, uml generating tools, standard templates, quality control and other swe related standards.
Credit Hours: 3
Prerequisite: SE204-1, SE308-1
introduction to communication systems and computer networks: network essentials, network features, network models, network components, classification of telecommunication network, multiplexing and internet technology; overview of computer networks and protocols (protocol hierarchies, osi); internet and tcp/ip protocols, physical layer : features, transmission media, operations, encoding and modulating: a/d and d/a conversion; data link layer: services, functions, framing, error detection and correction, flow control, medium access control; ethernet network; token ring network and wireless networks; overview of network, transport and application layers; wans.
Credit Hours: 3
Prerequisite: SE311-1
computer security and the design of secure systems; cryptographic primitives; operating system security and access control; network, software and database security; the use of randomness; malicious software; digital rights management, anonymity and privacy; attacks and countermeasures; ethical, legal and business aspects.
Credit Hours: 3
Prerequisite: SE204-1, SE308-1, SE311-1
fundamental design principles and strategies for software architecture and design. architectural styles, quality attributes notations and documents, reference architecture, domain-specific architecture in architecture process and pattern-oriented design, component-oriented design, aspect-oriented design, and interface design in detail design process are discussed. software evolution, flexibility, middleware architectures such as com and .net are also discussed. an introduction to soa is also presented. an overview of design issues in user interfaces and the concepts of reusability, portability and robustness in design are also given in the course. students participate in a group project on software design and architecture and design tools.
Credit Hours: 3
Prerequisite: MATH203-1, SE311-1
quality assurance and measurements and metrics in the software industry: measurements of product, process and resource attributes - planning a measurements program - goal/question/metric - collection and analysis of software empirical measurements - building software metrics - software quality assurance - software quality management - quality planning and control - quality manual - product and process standards - internal and external software quality attributes - software reviews, walkthrough and inspection - statistical software quality assurance - software configuration management - software reliability - international software quality models. - software process improvement - the capability maturity model (cmm), balanced scorecards.
Credit Hours: 3
Prerequisite: SE308-1, SE311-1
introduction to testing - software validation and verification - test cases - managing the testing process: developing test plans, test scripts and test cases, reports - unit, functional, and acceptance testing - black-box and white-box testing - equivalence partitioning - path testing - cycloramic complexity - integration testing - system testing: regression testing; interface testing; stress testing; incremental testing; interaction and usability testing; etc. - object-oriented testing - software testing tools - alpha, beta, and user acceptance testing - testing in agile development environment - automated testing.
Credit Hours: 2
Prerequisite: SE315-1
students are required to join an it center in a government or private sector as a full time for at least 8 weeks during summer prior to their graduation. the aim of the student training is to allow students acquiring the experience and knowledge of real-world work environment (as far as this is possible) as well as applying knowledge and skills they learned in classes in real life and in team working. the student training is evaluated through both his training advisor in the work place as well as the training committee through the report students write about their training.
Credit Hours: 3
Prerequisite: SE309-1
this course covers: introduction to the theory, design, and implementation of software systems to support the management of computing resources; topics include the synchronization of concurrent processes, memory management, processor management, scheduling, device management, file systems, and protection.
Credit Hours: 3
Prerequisite: SE315-1
introduction to project management, main concepts, tools, and techniques related to project management, organization of a large software project; size/cost/time estimation, roles of team members; leaders and managers skills and responsibilities; scope management; scheduling; budget control; progress monitoring; integration management; human resource management; communication management, licensing and contracts management, etc.
Credit Hours: 3
Prerequisite: SE315-1
this course covers types of maintenance, economic implications of maintenance; managerial issues related to system maintenance such as maintenance organizational structure; quality measurement, processes related to change requests and configuration management. topics including: website maintenance; role of case tools; reverse engineering, reengineering; code restructuring and amenability measures. different maintenance process models such as: boehm, osborne, iterative enhancement and reuse-oriented modes.
Credit Hours: 3
Prerequisite: SE310-1, SE312-1, SE316-1
this course covers an introduction to the internet and its services, applications and tools. topics include internet-based facilities and applications (e.g., e-mail, web browsers, file transfer utilities, list servers, etc), web engineering fundamentals, and markup languages, styling, data description and transformation, client and server side programming.
Credit Hours: 3
Prerequisite: SE307-1
the primary focus of this course is on data warehousing and its applications. we will concentrate on topics like: requirements gathering for data warehousing, data warehouse architecture, dimensional model design for data warehousing, physical database design for data warehousing, extracting, transforming, and loading strategies, introduction to applications using data warehouse, design and development of these applications, expansion and support of a data warehouse.
Credit Hours: 3
Prerequisite: SE307-1, SE421-1
the course helps to understand the technologies and applications of cloud computing and its virtualization foundation used in servers, desktops, embedded devices and mobile devices, large-scale internet applications, and other practical issues in designing and implementing trustworthy, scalable distributed software.
Credit Hours: 3
Prerequisite: SE307-1
introduction to big data analytics introduces you to the basics of data science and data analytics for handling of massive databases. the course covers concepts data mining for big data analytics, and introduces you to the practicalities of map reduce while adopting the big data management life cycle
Credit Hours: 3
Prerequisite: IE331-1, SE307-1
this course presents the state of the art in knowledge discovery in databases (kdd) dealing with data integration, mining, and interpretation of patterns in large collections of data. topics include data warehousing and data preprocessing techniques; data mining techniques for classification, regression, clustering, deviation detection, and association analysis; and evaluation of patterns mined from data. industrial and scientific applications are discussed
Credit Hours: 3
Prerequisite: SE307-1, SE419-1
thorough coverage of the latest theory and practice of knowledge management (km), with an integrated interdisciplinary presentation that makes sense of the confusingly wide variety of computer science and business km perspectives arising simultaneously from artificial intelligence, information systems, and organizational behavior. solidly covers the "hard" technical components of computer tools and technology for managing knowledge, without losing sight of the "soft" management needs and challenges in leveraging knowledge effectively within an organization. critically evaluates the nature, computer representation, access, and utilization of knowledge versus information within a human context. essential preparation for managerial, technical, and systems workers alike in today's modern knowledge-based economy.
Credit Hours: 4
Prerequisite: SE310-1, SE312-1, SE316-1
the graduation project i is the first part of a senior design and development software project that will give the chance to students to apply the knowledge they acquired in the curriculum on a real project of appropriate complexity within a team under realistic constraints. the outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. the project should cover most phases of the software lifecycle. in this part of the project, the focus will be on software process and development methodologies, requirements analysis & specification, high-level design, quality assurance, as well as on management of the project. students must use software case tools to realize their work. they also need to implement a "hello world" version of their software. the focus will be in this part on low-level design, implementation, testing and quality assurance as well as management of the project. the outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. students must use software case tools as well as programming environments to do their work. students must deliver the code, a final report, and must do a presentation of their work as well as a demo of the software realized.
Credit Hours: 3
Prerequisite: EL400-1, ENG101-7
survey of theories of interpersonal communication in social and professional relational contexts with attention to roles, social exchange, dimensions of communication both socially and professionally, development and deterioration of communications.

SOFTWARE ENGINEERING (CYBER SECURITY)


Credit Hours: 2
Prerequisite: ARAB101-2
Credit Hours: 3
Prerequisite: EL400-1, SE311-1
Credit Hours: 3
Prerequisite: EL400-1, MATH099-2
matter and measurements. atoms, molecules, and ions. chemical formulas. chemical reactions and equations. sources of the elements. thermochemistry. physical behavior of gases. the electronic structure of atoms. covalent bonding; molecular substances. an introduction to organic chemistry.
Credit Hours: 3
Prerequisite: ENG101-7
Credit Hours: 3
Prerequisite: MATH102-1
descriptive statistics with graphical summaries. basic concepts of probability and its engineering applications. probability distributions of random variables. confidence intervals. introduction to hypothesis testing. correlation and linear regression.
Credit Hours: 3
Prerequisite: ISLS201-3
the emphasis of this course is on the responsibilities of management and staff toward other stakeholders, namely society, suppliers, customers, government, and owner/shareholders. topics will include from islamic point of view: social responsibility, trust, devotion, loyalty, law-obedience, and honesty; all in the context of business practices
Credit Hours: 3
Prerequisite: EL400-1
this course emphasizes two components necessary for success in this level course which employ mathematics. the first component consists of basic algebraic notions and their manipulations. the second component consists of the practice of solving multi-step problems from other disciplines, called mathematical modeling. the topics include: lines, systems of equations, polynomials, rational expressions, exponential and logarithmic functions. students will engage in group projects in mathematical modeling.
Credit Hours: 4
Prerequisite: MATH102-1
vector algebra and application in 3-d-different coordinate systems in 3-d. analytic geometry in 3-d; (lines & planes), plane curves, tangents and normal. curvature. functions of several variables: partial derivatives & differentials, extreme and applications. line, double and triple integrals with applications in various coordinates. vector analysis: differentiation of a vector function, directional derivatives. differential operators (grad, div, curl). integration of a vector faction. divergence, green's and stokes' theorems.
Credit Hours: 3
Prerequisite: MATH203-1
vector spaces, subspaces, basis and dimension. matrices. reduced form and rank of a matrix. determinant and inverse of a matrix. solution of system of linear equations. linear transformation. kernel and range. eigen-vectors and eigen-values.
Credit Hours: 3
Prerequisite: SE201-1
principles of object oriented programming including classes, polymorphism, encapsulation and information hiding, and inheritance. principles of object oriented design. program debugging and documentation techniques. implementation and simple analysis of algorithms for sorting and searching. event-driven programming and the use of libraries for user interfaces. introduction to computer history. programming assignments.
Credit Hours: 3
Prerequisite: SE202-1
structure and operation of digital systems and computers. fundamentals of digital logic. machine organization, control and data paths, instruction sets, and addressing modes. hardwired and microprogrammed control. memory systems organization. discussion of alternative architectures such as risc, cics, and various parallel architectures.
Credit Hours: 3
Prerequisite: MATH101-2
mathematical methods for characterizing and analyzing discrete systems. modern algebraic concepts, logic theory, set theory, grammars and formal languages, and graph theory. application to the analysis of computer systems and computational structures.
Credit Hours: 3
Prerequisite: SE202-1
software engineering concepts: the software life cycle and other software-development process models; specification techniques, design methodologies, performance analysis, and verification techniques; team-oriented software design and development, and project management techniques; use of appropriate design and debugging tools for a modern programming language. homework and laboratory projects that emphasize design and the use/features of a modern programming language will be given.
Credit Hours: 3
Prerequisite: SE203-1
effective using of database software tools is one of the fundamental goals of database system implementation. training on different database tools leads to provide students with solid knowledge and required practice on well-known tools. students will be able to access to tools and experiences that will increase their success at developing effective skills in designing and developing database applications.
Credit Hours: 3
Prerequisite: ENG101-7, SE206-1
the course covers techniques for eliciting requirements. languages and models for representing requirements. analysis and validation techniques, including need, goal and use-case analysis. requirements in the context of system engineering. specifying and measuring external qualities: performance, reliability, availability, safety, security, etc. specifying and analyzing requirements for various types of systems: embedded systems, consumer systems, web-based systems, business systems, systems for scientists and other engineers. resolving feature interactions. requirements documentation standards. traceability. human factors. requirements in the context agile processes. requirements management
Credit Hours: 3
Prerequisite: SE205-1
design and analysis of efficient computer algorithms: algorithm design techniques, including divide-and-conquer, depth-first search, and greedy approaches; worst-case and average-case analysis; models of computation. np-complete problem
Credit Hours: 3
Prerequisite: SE203-1
static web page development using html; formatting web pages with tables, images, frames and css (cascading style sheets); introduction to client side scripting such as javascript; dynamic web content generation and use of dhtml; the modern web applications; xhtml, xml, web services, and ajax, multimedia programming to create interactive cds for training, education, marketing and research, 2d and 3d graphics and animation for the web, video and sound editing, dynamic scripting (programming) languages to create vibrant websites introduces multimedia and web computer graphics.
Credit Hours: 2
Prerequisite: SE308-1
a comprehensive presentation of: the key concepts, modeling techniques, and development methodologies used in object-oriented approaches in software engineering. this includes modeling with uml: structural modeling, behavioral modeling - system architecture design, - user interface design - object persistence design - class and method design - object-oriented testing - unified process development cycle - use case analysis - sequence diagrams - encapsulation - inheritance - polymorphism - design principles of coupling and cohesion - design patterns. oo case tools, uml generating tools, standard templates, quality control and other swe related standards.
Credit Hours: 3
Prerequisite: SE204-1
introduction to communication systems and computer networks: network essentials, network features, network models, network components, classification of telecommunication network, multiplexing and internet technology; overview of computer networks and protocols (protocol hierarchies, osi); internet and tcp/ip protocols, physical layer : features, transmission media, operations, encoding and modulating: a/d and d/a conversion; data link layer: services, functions, framing, error detection and correction, flow control, medium access control; ethernet network; token ring network and wireless networks; overview of network, transport and application layers; wans.
Credit Hours: 3
Prerequisite: SE206-1
fundamental design principles and strategies for software architecture and design. architectural styles, quality attributes notations and documents, reference architecture, domain-specific architecture in architecture process and pattern-oriented design, component-oriented design, aspect-oriented design, and interface design in detail design process are discussed. software evolution, flexibility, middleware architectures such as com and .net are also discussed. an introduction to soa is also presented. an overview of design issues in user interfaces and the concepts of reusability, portability and robustness in design are also given in the course. students participate in a group project on software design and architecture and design tools.
Credit Hours: 3
Prerequisite: EL400-1, SE311-1
quality assurance and measurements and metrics in the software industry: measurements of product, process and resource attributes - planning a measurements program - goal/question/metric - collection and analysis of software empirical measurements - building software metrics - software quality assurance - software quality management - quality planning and control - quality manual - product and process standards - internal and external software quality attributes - software reviews, walkthrough and inspection - statistical software quality assurance - software configuration management - software reliability - international software quality models. - software process improvement - the capability maturity model (cmm), balanced scorecards.
Credit Hours: 3
Prerequisite: SE311-1
introduction to testing - software validation and verification - test cases - managing the testing process: developing test plans, test scripts and test cases, reports - unit, functional, and acceptance testing - black-box and white-box testing - equivalence partitioning - path testing - cycloramic complexity - integration testing - system testing: regression testing; interface testing; stress testing; incremental testing; interaction and usability testing; etc. - object-oriented testing - software testing tools - alpha, beta, and user acceptance testing - testing in agile development environment - automated testing.
Credit Hours: 2
Prerequisite: SE315-1
students are required to join an it center in a government or private sector as a full time for at least 8 weeks during summer prior to their graduation. the aim of the student training is to allow students acquiring the experience and knowledge of real-world work environment (as far as this is possible) as well as applying knowledge and skills they learned in classes in real life and in team working. the student training is evaluated through both his training advisor in the work place as well as the training committee through the report students write about their training.
Credit Hours: 3
Prerequisite: SE309-1
this course covers: introduction to the theory, design, and implementation of software systems to support the management of computing resources; topics include the synchronization of concurrent processes, memory management, processor management, scheduling, device management, file systems, and protection.
Credit Hours: 3
Prerequisite: SE315-1
introduction to project management, main concepts, tools, and techniques related to project management, organization of a large software project; size/cost/time estimation, roles of team members; leaders and managers skills and responsibilities; scope management; scheduling; budget control; progress monitoring; integration management; human resource management; communication management, licensing and contracts management, etc.
Credit Hours: 3
Prerequisite: SE315-1
this course covers types of maintenance, economic implications of maintenance; managerial issues related to system maintenance such as maintenance organizational structure; quality measurement, processes related to change requests and configuration management. topics including: website maintenance; role of case tools; reverse engineering, reengineering; code restructuring and amenability measures. different maintenance process models such as: boehm, osborne, iterative enhancement and reuse-oriented modes.
Credit Hours: 3
Prerequisite: SE310-1, SE312-1
this course covers an introduction to the internet and its services, applications and tools. topics include internet-based facilities and applications (e.g., e-mail, web browsers, file transfer utilities, list servers, etc), web engineering fundamentals, and markup languages, styling, data description and transformation, client and server side programming.
Credit Hours: 3
Prerequisite: SE307-1
this course helps students gaining fundamental and comprehensive understanding of information security. we will focus on an overview of major information security issues, technologies, and approaches. students who successfully complete this course will have a concept and knowledge of security properties, concerns, policies, models, cryptography, pki, firewalls, security evaluation, and real-­?life security cases. students will also have hands-­?on experience in selected information security technologies through lab sessions.
Credit Hours: 3
Prerequisite: SE309-1
software analysis, testing, and verification: study the general methodology and specific techniques for analyzing software for vulnerabilities, testing programs for bugs, and verifying correctness of code. techniques covered include static analysis, high-coverage testing, fault injection, model checking, and theorem proving. we'll survey a set of existing tools as well as the underlying techniques. secure software engineering practices and system evaluation: study security issues in software lifecycle including design, implementation, evaluation, patching, etc.
Credit Hours: 3
Prerequisite: SE312-1
introduction to skills, knowledge, techniques, and tools required by information-technology security professionals. topics include security and risk management, physical security, access control, cryptography, security architecture and design, security for networks and telecommunications, application security, and legal considerations
Credit Hours: 3
Prerequisite: SE203-1, SE312-1
cryptography is an indispensable tool for protecting information in computer systems. this course explains the inner workings of cryptographic primitives and how to correctly use them
Credit Hours: 3
Prerequisite: SE312-1, SE418-1
this course advances foundational security issues and challenges inherent in the development, implementation, monitoring, and administration of networks, and in the provision and use of the internet. in addition to addressing internet security challenges, this expanded course includes coverage of securing networks and network operating systems, security in network protocols and topologies, challenges in securing wireless transmission, network authentication, and basic infrastructure security.
Credit Hours: 4
Prerequisite: SE316-1
the graduation project i is the first part of a senior design and development software project that will give the chance to students to apply the knowledge they acquired in the curriculum on a real project of appropriate complexity within a team under realistic constraints. the outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. the project should cover most phases of the software lifecycle. in this part of the project, the focus will be on software process and development methodologies, requirements analysis & specification, high-level design, quality assurance, as well as on management of the project. students must use software case tools to realize their work. they also need to implement a "hello world" version of their software. the focus will be in this part on low-level design, implementation, testing and quality assurance as well as management of the project. the outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. students must use software case tools as well as programming environments to do their work. students must deliver the code, a final report, and must do a presentation of their work as well as a demo of the software realized.
Credit Hours: 3
Prerequisite: EL400-1, ENG101-7
survey of theories of interpersonal communication in social and professional relational contexts with attention to roles, social exchange, dimensions of communication both socially and professionally, development and deterioration of communications.

SOFTWARE ENGINEERING (GENERAL)


Credit Hours: 2
Prerequisite: ARAB101-2
Credit Hours: 3
Prerequisite: EL400-1, MATH099-2
matter and measurements. atoms, molecules, and ions. chemical formulas. chemical reactions and equations. sources of the elements. thermochemistry. physical behavior of gases. the electronic structure of atoms. covalent bonding; molecular substances. an introduction to organic chemistry.
Credit Hours: 3
Prerequisite: ENG101-7
Credit Hours: 3
Prerequisite: MATH102-1
descriptive statistics with graphical summaries. basic concepts of probability and its engineering applications. probability distributions of random variables. confidence intervals. introduction to hypothesis testing. correlation and linear regression.
Credit Hours: 3
Prerequisite: EL400-1
this course emphasizes two components necessary for success in this level course which employ mathematics. the first component consists of basic algebraic notions and their manipulations. the second component consists of the practice of solving multi-step problems from other disciplines, called mathematical modeling. the topics include: lines, systems of equations, polynomials, rational expressions, exponential and logarithmic functions. students will engage in group projects in mathematical modeling.
Credit Hours: 4
Prerequisite: MATH102-1
vector algebra and application in 3-d-different coordinate systems in 3-d. analytic geometry in 3-d; (lines & planes), plane curves, tangents and normal. curvature. functions of several variables: partial derivatives & differentials, extreme and applications. line, double and triple integrals with applications in various coordinates. vector analysis: differentiation of a vector function, directional derivatives. differential operators (grad, div, curl). integration of a vector faction. divergence, green's and stokes' theorems.
Credit Hours: 3
Prerequisite: MATH102-1, MATH203-1
vector spaces, subspaces, basis and dimension. matrices. reduced form and rank of a matrix. determinant and inverse of a matrix. solution of system of linear equations. linear transformation. kernel and range. eigen-vectors and eigen-values.
Credit Hours: 3
Prerequisite: SE201-1
principles of object oriented programming including classes, polymorphism, encapsulation and information hiding, and inheritance. principles of object oriented design. program debugging and documentation techniques. implementation and simple analysis of algorithms for sorting and searching. event-driven programming and the use of libraries for user interfaces. introduction to computer history. programming assignments.
Credit Hours: 3
Prerequisite: SE202-1
structure and operation of digital systems and computers. fundamentals of digital logic. machine organization, control and data paths, instruction sets, and addressing modes. hardwired and microprogrammed control. memory systems organization. discussion of alternative architectures such as risc, cics, and various parallel architectures.
Credit Hours: 3
Prerequisite: MATH101-2
mathematical methods for characterizing and analyzing discrete systems. modern algebraic concepts, logic theory, set theory, grammars and formal languages, and graph theory. application to the analysis of computer systems and computational structures.
Credit Hours: 3
Prerequisite: SE202-1
software engineering concepts: the software life cycle and other software-development process models; specification techniques, design methodologies, performance analysis, and verification techniques; team-oriented software design and development, and project management techniques; use of appropriate design and debugging tools for a modern programming language. homework and laboratory projects that emphasize design and the use/features of a modern programming language will be given.
Credit Hours: 3
Prerequisite: SE203-1
effective using of database software tools is one of the fundamental goals of database system implementation. training on different database tools leads to provide students with solid knowledge and required practice on well-known tools. students will be able to access to tools and experiences that will increase their success at developing effective skills in designing and developing database applications.
Credit Hours: 3
Prerequisite: SE206-1
the course covers techniques for eliciting requirements. languages and models for representing requirements. analysis and validation techniques, including need, goal and use-case analysis. requirements in the context of system engineering. specifying and measuring external qualities: performance, reliability, availability, safety, security, etc. specifying and analyzing requirements for various types of systems: embedded systems, consumer systems, web-based systems, business systems, systems for scientists and other engineers. resolving feature interactions. requirements documentation standards. traceability. human factors. requirements in the context agile processes. requirements management
Credit Hours: 3
Prerequisite: SE205-1
design and analysis of efficient computer algorithms: algorithm design techniques, including divide-and-conquer, depth-first search, and greedy approaches; worst-case and average-case analysis; models of computation. np-complete problem
Credit Hours: 3
Prerequisite: SE203-1
static web page development using html; formatting web pages with tables, images, frames and css (cascading style sheets); introduction to client side scripting such as javascript; dynamic web content generation and use of dhtml; the modern web applications; xhtml, xml, web services, and ajax, multimedia programming to create interactive cds for training, education, marketing and research, 2d and 3d graphics and animation for the web, video and sound editing, dynamic scripting (programming) languages to create vibrant websites introduces multimedia and web computer graphics.
Credit Hours: 2
Prerequisite: SE308-1
a comprehensive presentation of: the key concepts, modeling techniques, and development methodologies used in object-oriented approaches in software engineering. this includes modeling with uml: structural modeling, behavioral modeling - system architecture design, - user interface design - object persistence design - class and method design - object-oriented testing - unified process development cycle - use case analysis - sequence diagrams - encapsulation - inheritance - polymorphism - design principles of coupling and cohesion - design patterns. oo case tools, uml generating tools, standard templates, quality control and other swe related standards.
Credit Hours: 3
Prerequisite: SE204-1
introduction to communication systems and computer networks: network essentials, network features, network models, network components, classification of telecommunication network, multiplexing and internet technology; overview of computer networks and protocols (protocol hierarchies, osi); internet and tcp/ip protocols, physical layer : features, transmission media, operations, encoding and modulating: a/d and d/a conversion; data link layer: services, functions, framing, error detection and correction, flow control, medium access control; ethernet network; token ring network and wireless networks; overview of network, transport and application layers; wans.
Credit Hours: 3
Prerequisite: SE311-1
computer security and the design of secure systems; cryptographic primitives; operating system security and access control; network, software and database security; the use of randomness; malicious software; digital rights management, anonymity and privacy; attacks and countermeasures; ethical, legal and business aspects.
Credit Hours: 3
Prerequisite: SE308-1
fundamental design principles and strategies for software architecture and design. architectural styles, quality attributes notations and documents, reference architecture, domain-specific architecture in architecture process and pattern-oriented design, component-oriented design, aspect-oriented design, and interface design in detail design process are discussed. software evolution, flexibility, middleware architectures such as com and .net are also discussed. an introduction to soa is also presented. an overview of design issues in user interfaces and the concepts of reusability, portability and robustness in design are also given in the course. students participate in a group project on software design and architecture and design tools.
Credit Hours: 3
Prerequisite: SE311-1
quality assurance and measurements and metrics in the software industry: measurements of product, process and resource attributes - planning a measurements program - goal/question/metric - collection and analysis of software empirical measurements - building software metrics - software quality assurance - software quality management - quality planning and control - quality manual - product and process standards - internal and external software quality attributes - software reviews, walkthrough and inspection - statistical software quality assurance - software configuration management - software reliability - international software quality models. - software process improvement - the capability maturity model (cmm), balanced scorecards.
Credit Hours: 3
Prerequisite: SE311-1
introduction to testing - software validation and verification - test cases - managing the testing process: developing test plans, test scripts and test cases, reports - unit, functional, and acceptance testing - black-box and white-box testing - equivalence partitioning - path testing - cycloramic complexity - integration testing - system testing: regression testing; interface testing; stress testing; incremental testing; interaction and usability testing; etc. - object-oriented testing - software testing tools - alpha, beta, and user acceptance testing - testing in agile development environment - automated testing.
Credit Hours: 2
Prerequisite: SE315-1
students are required to join an it center in a government or private sector as a full time for at least 8 weeks during summer prior to their graduation. the aim of the student training is to allow students acquiring the experience and knowledge of real-world work environment (as far as this is possible) as well as applying knowledge and skills they learned in classes in real life and in team working. the student training is evaluated through both his training advisor in the work place as well as the training committee through the report students write about their training.
Credit Hours: 3
Prerequisite: SE309-1
this course covers: introduction to the theory, design, and implementation of software systems to support the management of computing resources; topics include the synchronization of concurrent processes, memory management, processor management, scheduling, device management, file systems, and protection.
Credit Hours: 3
Prerequisite: SE315-1
introduction to project management, main concepts, tools, and techniques related to project management, organization of a large software project; size/cost/time estimation, roles of team members; leaders and managers skills and responsibilities; scope management; scheduling; budget control; progress monitoring; integration management; human resource management; communication management, licensing and contracts management, etc.
Credit Hours: 3
Prerequisite: SE315-1
this course covers types of maintenance, economic implications of maintenance; managerial issues related to system maintenance such as maintenance organizational structure; quality measurement, processes related to change requests and configuration management. topics including: website maintenance; role of case tools; reverse engineering, reengineering; code restructuring and amenability measures. different maintenance process models such as: boehm, osborne, iterative enhancement and reuse-oriented modes.
Credit Hours: 3
Prerequisite: SE310-1, SE312-1, SE314-1
this course covers an introduction to the internet and its services, applications and tools. topics include internet-based facilities and applications (e.g., e-mail, web browsers, file transfer utilities, list servers, etc), web engineering fundamentals, and markup languages, styling, data description and transformation, client and server side programming.
Credit Hours: 4
Prerequisite: SE316-1
the graduation project i is the first part of a senior design and development software project that will give the chance to students to apply the knowledge they acquired in the curriculum on a real project of appropriate complexity within a team under realistic constraints. the outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. the project should cover most phases of the software lifecycle. in this part of the project, the focus will be on software process and development methodologies, requirements analysis & specification, high-level design, quality assurance, as well as on management of the project. students must use software case tools to realize their work. they also need to implement a "hello world" version of their software. the focus will be in this part on low-level design, implementation, testing and quality assurance as well as management of the project. the outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. students must use software case tools as well as programming environments to do their work. students must deliver the code, a final report, and must do a presentation of their work as well as a demo of the software realized.
Credit Hours: 3
Prerequisite: EL400-1, ENG101-7
survey of theories of interpersonal communication in social and professional relational contexts with attention to roles, social exchange, dimensions of communication both socially and professionally, development and deterioration of communications.

SOFTWARE ENGINEERING (HEALTHCARE APPLICATION)


Credit Hours: 2
Prerequisite: ARAB101-2
Credit Hours: 3
Prerequisite: EL400-1, MATH099-2
matter and measurements. atoms, molecules, and ions. chemical formulas. chemical reactions and equations. sources of the elements. thermochemistry. physical behavior of gases. the electronic structure of atoms. covalent bonding; molecular substances. an introduction to organic chemistry.
Credit Hours: 3
Prerequisite: ENG101-7
Credit Hours: 3
Prerequisite: MATH102-1
descriptive statistics with graphical summaries. basic concepts of probability and its engineering applications. probability distributions of random variables. confidence intervals. introduction to hypothesis testing. correlation and linear regression.
Credit Hours: 3
Prerequisite: CLE500-1
the emphasis of this course is on the responsibilities of management and staff toward other stakeholders, namely society, suppliers, customers, government, and owner/shareholders. topics will include from islamic point of view: social responsibility, trust, devotion, loyalty, law-obedience, and honesty; all in the context of business practices
Credit Hours: 4
Prerequisite: MATH102-1
vector algebra and application in 3-d-different coordinate systems in 3-d. analytic geometry in 3-d; (lines & planes), plane curves, tangents and normal. curvature. functions of several variables: partial derivatives & differentials, extreme and applications. line, double and triple integrals with applications in various coordinates. vector analysis: differentiation of a vector function, directional derivatives. differential operators (grad, div, curl). integration of a vector faction. divergence, green's and stokes' theorems.
Credit Hours: 3
Prerequisite: MATH102-1, MATH203-1, SE310-1, SE312-1, SE421-1
vector spaces, subspaces, basis and dimension. matrices. reduced form and rank of a matrix. determinant and inverse of a matrix. solution of system of linear equations. linear transformation. kernel and range. eigen-vectors and eigen-values.
Credit Hours: 3
Prerequisite: SE201-1
principles of object oriented programming including classes, polymorphism, encapsulation and information hiding, and inheritance. principles of object oriented design. program debugging and documentation techniques. implementation and simple analysis of algorithms for sorting and searching. event-driven programming and the use of libraries for user interfaces. introduction to computer history. programming assignments.
Credit Hours: 3
Prerequisite: SE202-1
structure and operation of digital systems and computers. fundamentals of digital logic. machine organization, control and data paths, instruction sets, and addressing modes. hardwired and microprogrammed control. memory systems organization. discussion of alternative architectures such as risc, cics, and various parallel architectures.
Credit Hours: 3
Prerequisite: MATH101-2
mathematical methods for characterizing and analyzing discrete systems. modern algebraic concepts, logic theory, set theory, grammars and formal languages, and graph theory. application to the analysis of computer systems and computational structures.
Credit Hours: 3
Prerequisite: SE202-1
software engineering concepts: the software life cycle and other software-development process models; specification techniques, design methodologies, performance analysis, and verification techniques; team-oriented software design and development, and project management techniques; use of appropriate design and debugging tools for a modern programming language. homework and laboratory projects that emphasize design and the use/features of a modern programming language will be given.
Credit Hours: 3
Prerequisite: SE203-1
effective using of database software tools is one of the fundamental goals of database system implementation. training on different database tools leads to provide students with solid knowledge and required practice on well-known tools. students will be able to access to tools and experiences that will increase their success at developing effective skills in designing and developing database applications.
Credit Hours: 3
Prerequisite: SE206-1
the course covers techniques for eliciting requirements. languages and models for representing requirements. analysis and validation techniques, including need, goal and use-case analysis. requirements in the context of system engineering. specifying and measuring external qualities: performance, reliability, availability, safety, security, etc. specifying and analyzing requirements for various types of systems: embedded systems, consumer systems, web-based systems, business systems, systems for scientists and other engineers. resolving feature interactions. requirements documentation standards. traceability. human factors. requirements in the context agile processes. requirements management
Credit Hours: 3
Prerequisite: SE205-1
design and analysis of efficient computer algorithms: algorithm design techniques, including divide-and-conquer, depth-first search, and greedy approaches; worst-case and average-case analysis; models of computation. np-complete problem
Credit Hours: 3
Prerequisite: SE203-1
static web page development using html; formatting web pages with tables, images, frames and css (cascading style sheets); introduction to client side scripting such as javascript; dynamic web content generation and use of dhtml; the modern web applications; xhtml, xml, web services, and ajax, multimedia programming to create interactive cds for training, education, marketing and research, 2d and 3d graphics and animation for the web, video and sound editing, dynamic scripting (programming) languages to create vibrant websites introduces multimedia and web computer graphics.
Credit Hours: 2
Prerequisite: SE206-1
a comprehensive presentation of: the key concepts, modeling techniques, and development methodologies used in object-oriented approaches in software engineering. this includes modeling with uml: structural modeling, behavioral modeling - system architecture design, - user interface design - object persistence design - class and method design - object-oriented testing - unified process development cycle - use case analysis - sequence diagrams - encapsulation - inheritance - polymorphism - design principles of coupling and cohesion - design patterns. oo case tools, uml generating tools, standard templates, quality control and other swe related standards.
Credit Hours: 3
Prerequisite: SE204-1, SE315-1
introduction to communication systems and computer networks: network essentials, network features, network models, network components, classification of telecommunication network, multiplexing and internet technology; overview of computer networks and protocols (protocol hierarchies, osi); internet and tcp/ip protocols, physical layer : features, transmission media, operations, encoding and modulating: a/d and d/a conversion; data link layer: services, functions, framing, error detection and correction, flow control, medium access control; ethernet network; token ring network and wireless networks; overview of network, transport and application layers; wans.
Credit Hours: 3
Prerequisite: SE309-1, SE311-1
computer security and the design of secure systems; cryptographic primitives; operating system security and access control; network, software and database security; the use of randomness; malicious software; digital rights management, anonymity and privacy; attacks and countermeasures; ethical, legal and business aspects.
Credit Hours: 3
Prerequisite: SE308-1, SE311-1
fundamental design principles and strategies for software architecture and design. architectural styles, quality attributes notations and documents, reference architecture, domain-specific architecture in architecture process and pattern-oriented design, component-oriented design, aspect-oriented design, and interface design in detail design process are discussed. software evolution, flexibility, middleware architectures such as com and .net are also discussed. an introduction to soa is also presented. an overview of design issues in user interfaces and the concepts of reusability, portability and robustness in design are also given in the course. students participate in a group project on software design and architecture and design tools.
Credit Hours: 3
Prerequisite: SE308-1, SE314-1
quality assurance and measurements and metrics in the software industry: measurements of product, process and resource attributes - planning a measurements program - goal/question/metric - collection and analysis of software empirical measurements - building software metrics - software quality assurance - software quality management - quality planning and control - quality manual - product and process standards - internal and external software quality attributes - software reviews, walkthrough and inspection - statistical software quality assurance - software configuration management - software reliability - international software quality models. - software process improvement - the capability maturity model (cmm), balanced scorecards.
Credit Hours: 3
Prerequisite: SE310-1, SE311-1, SE312-1, SE421-1
introduction to testing - software validation and verification - test cases - managing the testing process: developing test plans, test scripts and test cases, reports - unit, functional, and acceptance testing - black-box and white-box testing - equivalence partitioning - path testing - cycloramic complexity - integration testing - system testing: regression testing; interface testing; stress testing; incremental testing; interaction and usability testing; etc. - object-oriented testing - software testing tools - alpha, beta, and user acceptance testing - testing in agile development environment - automated testing.
Credit Hours: 2
Prerequisite: SE204-1, SE315-1
students are required to join an it center in a government or private sector as a full time for at least 8 weeks during summer prior to their graduation. the aim of the student training is to allow students acquiring the experience and knowledge of real-world work environment (as far as this is possible) as well as applying knowledge and skills they learned in classes in real life and in team working. the student training is evaluated through both his training advisor in the work place as well as the training committee through the report students write about their training.
Credit Hours: 3
Prerequisite: SE309-1, SE311-1
this course covers: introduction to the theory, design, and implementation of software systems to support the management of computing resources; topics include the synchronization of concurrent processes, memory management, processor management, scheduling, device management, file systems, and protection.
Credit Hours: 3
Prerequisite: SE308-1, SE311-1
introduction to project management, main concepts, tools, and techniques related to project management, organization of a large software project; size/cost/time estimation, roles of team members; leaders and managers skills and responsibilities; scope management; scheduling; budget control; progress monitoring; integration management; human resource management; communication management, licensing and contracts management, etc.
Credit Hours: 3
Prerequisite: SE308-1, SE314-1
this course covers types of maintenance, economic implications of maintenance; managerial issues related to system maintenance such as maintenance organizational structure; quality measurement, processes related to change requests and configuration management. topics including: website maintenance; role of case tools; reverse engineering, reengineering; code restructuring and amenability measures. different maintenance process models such as: boehm, osborne, iterative enhancement and reuse-oriented modes.
Credit Hours: 3
Prerequisite: MATH203-1, SE310-1, SE311-1, SE312-1
this course covers an introduction to the internet and its services, applications and tools. topics include internet-based facilities and applications (e.g., e-mail, web browsers, file transfer utilities, list servers, etc), web engineering fundamentals, and markup languages, styling, data description and transformation, client and server side programming.
Credit Hours: 3
Prerequisite: SE420-1
introduce the discipline of health care informatics. an overview of the subject including the history, basic knowledge of healthcare informatics, healthcare terminologies and tools as applied in support of health care delivery. understanding healthcare facility setting, procedures, electronic patients records, different types of services, clinical applications systems, telemedicine, electronic medical records, and administrative and management applications opportunities for hands-on experiences with software products are provided.
Credit Hours: 3
Prerequisite: SE315-1
this course provides the student with a basic understanding of the general flow of information in a medical office setting and the role computers play in the processing of health information. additionally, to provide students with a basic understanding of how to use the medisoft billing software to input data, record data, file claims, print reports and schedule appointments.
Credit Hours: 3
Prerequisite: SE315-1
this course provides a broad overview of the evolving role of information systems within a wide range of healthcare settings, taking into account both patient and practitioner perspectives. students critique the impact that healthcare information systems have on decision-making, reporting, managing healthcare costs and improving patient outcomes. legislation and regulatory requirements that affect healthcare it, electronic health records, and healthcare policy are evaluated.
Credit Hours: 3
Prerequisite: SE419-1
this course covers project management methods and skills for healthcare. the latest project management techniques for medical informatics projects: project initiation, planning, implementation and project termination are studied. case discussions highlight the state-or-the-art for project management practices as applied to health informatics in contemporary environments. case study and hands on practice with some project management software related to medical informatics.
Credit Hours: 3
Prerequisite: SE313-1
this course covers healthcare organization, people and their roles, information regulations, information risk management and assurance, security policies, workforce, and mechanisms related to confidentiality, integrity, authentication, identification, and availability issues related to patients record and other healthcare information
Credit Hours: 4
Prerequisite: MATH102-1, SE311-1, SE421-1
the graduation project i is the first part of a senior design and development software project that will give the chance to students to apply the knowledge they acquired in the curriculum on a real project of appropriate complexity within a team under realistic constraints. the outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. the project should cover most phases of the software lifecycle. in this part of the project, the focus will be on software process and development methodologies, requirements analysis & specification, high-level design, quality assurance, as well as on management of the project. students must use software case tools to realize their work. they also need to implement a "hello world" version of their software. the focus will be in this part on low-level design, implementation, testing and quality assurance as well as management of the project. the outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. students must use software case tools as well as programming environments to do their work. students must deliver the code, a final report, and must do a presentation of their work as well as a demo of the software realized.
Credit Hours: 3
Prerequisite: EL400-1, ENG101-7
survey of theories of interpersonal communication in social and professional relational contexts with attention to roles, social exchange, dimensions of communication both socially and professionally, development and deterioration of communications.

SOFTWARE ENGINEERING (WEB AND SMART DEVISES APPLICATION)


Credit Hours: 2
Prerequisite: ARAB101-2
Credit Hours: 3
Prerequisite: SE206-1
Credit Hours: 3
Prerequisite: EL400-1, MATH099-2
matter and measurements. atoms, molecules, and ions. chemical formulas. chemical reactions and equations. sources of the elements. thermochemistry. physical behavior of gases. the electronic structure of atoms. covalent bonding; molecular substances. an introduction to organic chemistry.
Credit Hours: 1
Prerequisite: EL100-1
Credit Hours: 3
Prerequisite: ENG101-7
Credit Hours: 3
Prerequisite: MATH102-1
descriptive statistics with graphical summaries. basic concepts of probability and its engineering applications. probability distributions of random variables. confidence intervals. introduction to hypothesis testing. correlation and linear regression.
Credit Hours: 4
Prerequisite: MATH102-1
vector algebra and application in 3-d-different coordinate systems in 3-d. analytic geometry in 3-d; (lines & planes), plane curves, tangents and normal. curvature. functions of several variables: partial derivatives & differentials, extreme and applications. line, double and triple integrals with applications in various coordinates. vector analysis: differentiation of a vector function, directional derivatives. differential operators (grad, div, curl). integration of a vector faction. divergence, green's and stokes' theorems.
Credit Hours: 3
Prerequisite: MATH203-1
vector spaces, subspaces, basis and dimension. matrices. reduced form and rank of a matrix. determinant and inverse of a matrix. solution of system of linear equations. linear transformation. kernel and range. eigen-vectors and eigen-values.
Credit Hours: 3
Prerequisite: SE201-1
principles of object oriented programming including classes, polymorphism, encapsulation and information hiding, and inheritance. principles of object oriented design. program debugging and documentation techniques. implementation and simple analysis of algorithms for sorting and searching. event-driven programming and the use of libraries for user interfaces. introduction to computer history. programming assignments.
Credit Hours: 3
Prerequisite: PHYS101-2, SE202-1
structure and operation of digital systems and computers. fundamentals of digital logic. machine organization, control and data paths, instruction sets, and addressing modes. hardwired and microprogrammed control. memory systems organization. discussion of alternative architectures such as risc, cics, and various parallel architectures.
Credit Hours: 3
Prerequisite: MATH101-2
mathematical methods for characterizing and analyzing discrete systems. modern algebraic concepts, logic theory, set theory, grammars and formal languages, and graph theory. application to the analysis of computer systems and computational structures.
Credit Hours: 3
Prerequisite: SE202-1
software engineering concepts: the software life cycle and other software-development process models; specification techniques, design methodologies, performance analysis, and verification techniques; team-oriented software design and development, and project management techniques; use of appropriate design and debugging tools for a modern programming language. homework and laboratory projects that emphasize design and the use/features of a modern programming language will be given.
Credit Hours: 3
Prerequisite: SE203-1, SE206-1
effective using of database software tools is one of the fundamental goals of database system implementation. training on different database tools leads to provide students with solid knowledge and required practice on well-known tools. students will be able to access to tools and experiences that will increase their success at developing effective skills in designing and developing database applications.
Credit Hours: 3
Prerequisite: SE203-1, SE205-1, SE206-1
the course covers techniques for eliciting requirements. languages and models for representing requirements. analysis and validation techniques, including need, goal and use-case analysis. requirements in the context of system engineering. specifying and measuring external qualities: performance, reliability, availability, safety, security, etc. specifying and analyzing requirements for various types of systems: embedded systems, consumer systems, web-based systems, business systems, systems for scientists and other engineers. resolving feature interactions. requirements documentation standards. traceability. human factors. requirements in the context agile processes. requirements management
Credit Hours: 3
Prerequisite: SE203-1, SE205-1, SE206-1
design and analysis of efficient computer algorithms: algorithm design techniques, including divide-and-conquer, depth-first search, and greedy approaches; worst-case and average-case analysis; models of computation. np-complete problem
Credit Hours: 3
Prerequisite: SE203-1, SE205-1, SE206-1
static web page development using html; formatting web pages with tables, images, frames and css (cascading style sheets); introduction to client side scripting such as javascript; dynamic web content generation and use of dhtml; the modern web applications; xhtml, xml, web services, and ajax, multimedia programming to create interactive cds for training, education, marketing and research, 2d and 3d graphics and animation for the web, video and sound editing, dynamic scripting (programming) languages to create vibrant websites introduces multimedia and web computer graphics.
Credit Hours: 2
Prerequisite: SE203-1, SE206-1
a comprehensive presentation of: the key concepts, modeling techniques, and development methodologies used in object-oriented approaches in software engineering. this includes modeling with uml: structural modeling, behavioral modeling - system architecture design, - user interface design - object persistence design - class and method design - object-oriented testing - unified process development cycle - use case analysis - sequence diagrams - encapsulation - inheritance - polymorphism - design principles of coupling and cohesion - design patterns. oo case tools, uml generating tools, standard templates, quality control and other swe related standards.
Credit Hours: 3
Prerequisite: SE204-1
introduction to communication systems and computer networks: network essentials, network features, network models, network components, classification of telecommunication network, multiplexing and internet technology; overview of computer networks and protocols (protocol hierarchies, osi); internet and tcp/ip protocols, physical layer : features, transmission media, operations, encoding and modulating: a/d and d/a conversion; data link layer: services, functions, framing, error detection and correction, flow control, medium access control; ethernet network; token ring network and wireless networks; overview of network, transport and application layers; wans.
Credit Hours: 3
Prerequisite: SE311-1
computer security and the design of secure systems; cryptographic primitives; operating system security and access control; network, software and database security; the use of randomness; malicious software; digital rights management, anonymity and privacy; attacks and countermeasures; ethical, legal and business aspects.
Credit Hours: 3
Prerequisite: SE308-1
fundamental design principles and strategies for software architecture and design. architectural styles, quality attributes notations and documents, reference architecture, domain-specific architecture in architecture process and pattern-oriented design, component-oriented design, aspect-oriented design, and interface design in detail design process are discussed. software evolution, flexibility, middleware architectures such as com and .net are also discussed. an introduction to soa is also presented. an overview of design issues in user interfaces and the concepts of reusability, portability and robustness in design are also given in the course. students participate in a group project on software design and architecture and design tools.
Credit Hours: 3
Prerequisite: SE308-1
quality assurance and measurements and metrics in the software industry: measurements of product, process and resource attributes - planning a measurements program - goal/question/metric - collection and analysis of software empirical measurements - building software metrics - software quality assurance - software quality management - quality planning and control - quality manual - product and process standards - internal and external software quality attributes - software reviews, walkthrough and inspection - statistical software quality assurance - software configuration management - software reliability - international software quality models. - software process improvement - the capability maturity model (cmm), balanced scorecards.
Credit Hours: 3
Prerequisite: SE311-1
introduction to testing - software validation and verification - test cases - managing the testing process: developing test plans, test scripts and test cases, reports - unit, functional, and acceptance testing - black-box and white-box testing - equivalence partitioning - path testing - cycloramic complexity - integration testing - system testing: regression testing; interface testing; stress testing; incremental testing; interaction and usability testing; etc. - object-oriented testing - software testing tools - alpha, beta, and user acceptance testing - testing in agile development environment - automated testing.
Credit Hours: 2
Prerequisite: SE315-1
students are required to join an it center in a government or private sector as a full time for at least 8 weeks during summer prior to their graduation. the aim of the student training is to allow students acquiring the experience and knowledge of real-world work environment (as far as this is possible) as well as applying knowledge and skills they learned in classes in real life and in team working. the student training is evaluated through both his training advisor in the work place as well as the training committee through the report students write about their training.
Credit Hours: 3
Prerequisite: SE309-1
this course covers: introduction to the theory, design, and implementation of software systems to support the management of computing resources; topics include the synchronization of concurrent processes, memory management, processor management, scheduling, device management, file systems, and protection.
Credit Hours: 3
Prerequisite: SE311-1
introduction to project management, main concepts, tools, and techniques related to project management, organization of a large software project; size/cost/time estimation, roles of team members; leaders and managers skills and responsibilities; scope management; scheduling; budget control; progress monitoring; integration management; human resource management; communication management, licensing and contracts management, etc.
Credit Hours: 3
Prerequisite: SE314-1
this course covers types of maintenance, economic implications of maintenance; managerial issues related to system maintenance such as maintenance organizational structure; quality measurement, processes related to change requests and configuration management. topics including: website maintenance; role of case tools; reverse engineering, reengineering; code restructuring and amenability measures. different maintenance process models such as: boehm, osborne, iterative enhancement and reuse-oriented modes.
Credit Hours: 3
Prerequisite: SE310-1, SE312-1
this course covers an introduction to the internet and its services, applications and tools. topics include internet-based facilities and applications (e.g., e-mail, web browsers, file transfer utilities, list servers, etc), web engineering fundamentals, and markup languages, styling, data description and transformation, client and server side programming.
Credit Hours: 3
Prerequisite: SE421-1
web animation using adobe flash, will teach students how to use flash to create dynamic, compelling, and highly interactive web content. students will use flash as a drawing tool, an animation environment, a programming language and a web authoring package.
Credit Hours: 3
Prerequisite: SE310-1
web-based digital media (images, audio, and video). it also shows how to display media on the internet and provides a foundation for more advanced topics in digital media and web development such as search engines, social networking and mobile platforms
Credit Hours: 3
Prerequisite: SE310-1
in this course students will understand usability by exploring the role of the human in the design and implementation of software. to prepare students to design and evaluate the quality of an interface between computer software and the human user. after completing this course, students will be able to design software interfaces that are appropriate for the application, know a variety of interface design strategies, and be able to evaluate objectively the quality of a software interface.
Credit Hours: 3
Prerequisite: SE314-1
in this course, students learn to write both web apps and native apps for android using eclipse and the android sdk, to write native apps for iphones, ipod touches, and ipads using xcode and the ios sdk, and to write web apps for both platforms.
Credit Hours: 3
Prerequisite: SE310-1, SE421-1
multimedia has become an indispensable part of modern computer technology. in this course, students will be introduced to principles and current technologies of multimedia systems. issues in effectively representing, processing, and retrieving multimedia data such as sound and music, graphics, image and video will be addressed. the students will gain hands-on experience in those areas by implementing some components of a multimedia streaming system as their term project.
Credit Hours: 4
Prerequisite: SE421-1
the graduation project i is the first part of a senior design and development software project that will give the chance to students to apply the knowledge they acquired in the curriculum on a real project of appropriate complexity within a team under realistic constraints. the outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. the project should cover most phases of the software lifecycle. in this part of the project, the focus will be on software process and development methodologies, requirements analysis & specification, high-level design, quality assurance, as well as on management of the project. students must use software case tools to realize their work. they also need to implement a "hello world" version of their software. the focus will be in this part on low-level design, implementation, testing and quality assurance as well as management of the project. the outcome of this project must be a significant software system, employing knowledge gained from courses throughout the curriculum. students must use software case tools as well as programming environments to do their work. students must deliver the code, a final report, and must do a presentation of their work as well as a demo of the software realized.
Credit Hours: 3
Prerequisite: EL400-1
survey of theories of interpersonal communication in social and professional relational contexts with attention to roles, social exchange, dimensions of communication both socially and professionally, development and deterioration of communications.

Carrer Prospects

Software Engineering is the important discipline that is concerned with the software production in the form of stages including Requirements, Design, Development, Test and Maintenance of Software’s. The demand for Software Engineers increases due to increase in technological solutions for both consumer and enterprise based markets. Students at College of Engineering follow a curriculum that provides the state-of-the-art in the Software Engineering major with the hands-on experience needed to be productive in the future work environments. The students are well trained in both Theory and practical for the Programming courses in JAVA, Python, Software Engineering Requirements, Software Engineering Architecture, Software Testing & Validation, Software Maintenance, Data Communication & Network, Big Databases, Cloud computing, Data warehousing, Mobile Application Development and Cyber security. After the completion of these courses students will gain sufficient knowledge and technical skills to compete in job market. Today all most all the major industries are in need of software Engineers.

Software Engineering graduates have the following Opportunities in the job market:

  1. Software Engineer
  2. Software Analyst
  3. Software Architecture
  4. Software Developer
  5. Software Tester
  6. Software Maintenance engineering
  7. Cyber Security Specialist
  8. Network Engineer
  9. Cloud Network Engineer
  10. Web Developer
  11. Mobile Application Developer
  12. Database Developer
  13. Database Administrator

Ensure Academic Success

Follow Your Program Plan Closely!