Courses

Software Engineering Core Courses
 

SE112 Introduction to Software Engineering

In this course, students will be introduced to the basis of software engineering. Defining and solving software engineering problems for customers. Overview of software engineering: Concepts, life cycle, systems, customers, users, requirements, design, implementation, software quality assurance, testing and maintenance. Principles of computing: Abstraction, problem solving, reuse, division of systems. Prerequisite(s): None

 

SE211 Human Computer Interaction

Basic principles and applications of interaction interfaces. Usability paradigms and principles, The design process, Models of the user in design, Task analysis, Dialog notations and design, Models of the system, Evaluation techniques, Implementation supportHelp and documentation. Prerequisite(s): SE112.

 

SE222 Software Quality Assurance

Introduction to software quality and assurance. Software Quality Factors, The Components of the Software Quality Assurance System, Contract Review, Development and Quality Plans, Integrating Quality Activities in the Project Life Cycle, Reviews, Assuring The Quality of Software Maintenance, Assuring The Quality of External Participants' Parts, Procedures and Work Instructions. Prerequisite(s): SE112.

 

SE232 System Software Validation and Testing

Software development life cycle models, software development process, economical justification, inspection process, quality metrics and configuration management, testing, validation metrics, software reliability growth, balancing quality, features and schedule, accurate estimating and scheduling, balancing people, process and product, managing commitment and risk. Prerequisite(s): None.

 

SE311 Software Requirements Engineering

The Essentials of Software Requirement, Requirements from the Customer's Perspective, Good Practices for Requirements Engineering, The Requirements Analyst, Establishing the Product Vision and Project Scope, Understanding of the Customer and User Requirements, Documenting the Requirements, Risk Reduction Through Prototyping, Setting Requirement Priorities, Validating the Requirements, Software Requirements Management, Implementing Requirements Engineering. Prerequisite(s): None.

 

SE322 Software Design and Architecture

Introduction to software architecture, the architecture bussiness cycle, understanding and achieving quality, designing and documenting software architecture, reconstructing software architecture, ATAM, CBAM, Product Lines, Building the systems from of the shelf components. 

 

SE332 Object Oriented Analysis and Design 

Thinking Object-Oriented, Abstraction, Object-Oriented analysis and design concept, Design Patterns of software. UML: Introduction, Role of Modelling, Models and Views, Core Diagrams. Fundamental Elements (Structural Elements, Java Independent Entities, Java Dependent Entities). Introduction to Sequence, Class, and Package Diagrams. Development Lifecycle and UML (Requirements, Analysis & Design, Construction, Test, Deployment). The Full Lifecycle.

 

SE399  Summer Practice I(0-0) 0

A minimum of six weeks (30 working days) of training in the industry involving the observation of the hardware and software components of a computer system in use. A summer practice report is prepared that lists the experiences of the student during the six week period.

 

SE420 Software Project Management

Introduction to Software Project Management. Overview of project planning. Selection of appropriate project approach. Software effort estimation. Activity planning. Risk analysis and management. Resource allocation. Project tracking and control. Contract management. Managing people and organizing teams. Software quality assurance. Configuration management. Various tools of software project management. 

 

SE491 Senior Project 1 (Analysis and Design) (2-0) 2

The student is involved in an independent research, which includes literature survey, problem formulation, and preparing a detailed analysis and design of the solution of a software engineering problem. The design is presented in the form of project reports and seminars. Prerequisite(s): None.

 

SE492 Project 2(Implementation)      (1-4) 3

The continuation of the project that was started in Senior Project I (Analysis and Design) with the emphasis on the development of the proposed system. The students are required to submit reports, present their activities, and demonstrate the completed software engineering projects. Prerequisite(s): SE491.

 

SE499  Summer Practice II    (0-0) 0

A minimum of six weeks (30 working days) of training in a computer center involving the observation of the hardware and software components of a computer system. Students are expected to be involved in software development projects of the computer center. A summer practice report is prepared that presents the experiences of the student during the six week period.

 

Software Engineering Elective Courses

 

SE340  Rapid Application Development (2-2) 3

Overview of the base language of a Rapid Application Development (RAD) tool;
object definitions, methods, properties and inheritance. Form design using visual components.
Application development using the libraries of an industry standard RAD tool. Prerequisite(s): Consent of the instructor.

 

SE350 Development of Multimedia Software (3-0) 3

Framework for Multimedia Software Engineering, Perspectives in Multimedia Software Engineering, Visual Languages, Multimedia Languages, The Active Index, Teleaction Objects, Tools for a Multimedia Development Environment, Prototyping Multimedia Applications, The Design of Multimedia Languages, Distributed Multimedia Systems Design, The Specification of Multimedia Applications will be covered. Prerequisite(s): Consent of the instructor.

 

SE360 System Modelling and Simulation (3-0) 3

The course discusses modeling, simulation and performance analysis techniques of systems. Dynamic Simulations, Providing custom-made data types, operators and control structures for simulation, Model generators, Simulation Programming Landscape, Simulation Problems. Prerequisite(s): IE220, COMPE223  

 

SE435 System Analysis and Design (3-0) 3

This course is designed to cover concepts including understanding system analysis and design, how to manage an information system project and modules to develop a system. Selected applications using selected tools and methods will be studied throughout the semester. Prerequisite(s): SE332

 

SE439 Introduction to e-commerce (3-0) 3

A context for developing e-commerce applications, Types of e-commerce applications, Identifying and describing an e-commerce applications, E-commerce feasibility, E-commerce requirement analysis, Important e-commerce issues, High-level, detailed and technical design and construction, E-business models, Internet Marketing, Online Monetary Transactions, Internet Taxation, Legal, Ethical and Social Issues, Testing and Implementation, JavaScript, JScript, DHTML, CSS, ASP, XML. Prerequisite(s): Consent of the instructor.

 

SE440 Analysis and Design of User Interfaces (3-0) 3

Usability of Interactive Systems, Guidelines, Principles, and Theories, Managing Design Processes, Evaluating Interface Designs, Software Tools, Direct Manipulation and Virtual Environments, Menu Selection, Form Filling, and Dialog Boxes, Command and Natural Languages, Interaction Devices, Collaboration and Quality of Service are the topics that will be covered in this course. Prerequisite(s): None.

 

SE444 Image Processing and Visual Design

This course aims to teach image processing and visaul design for representation of information.. Data structures and algorithms for visual representation of information. Digital Image Fundamentals , Image Enhancement and Restoration, Image Compression, Image Segmentation, Representation and Description, Object Recognition will be covered. Prerequisite(s): None

 

SE450 Software Engineering Ethics (3-0) 3

Corporate responsibility, engineering responsibilities, personal rights, whistle blowing, conflicts of interest, professional autonomy, risk assessment, sustainable development, and the place and purpose of engineering codes of ethics.  Ethics, rules and principles in software engineering and other information systems. Ethical work and ethical decision  making in the field. Prerequisite(s): None.

 

SE453 Large Scaled System Software Development (3-0) 3

This course discusses the nature and development lifecycle for large-scale software (LLS) projects. Roles of the Software Architect, Software Architecture and the Development Process, System Context and Domain Analysis, Component Design and Modeling, Subsystem Design, Transaction and Data Design,  Process and Deployment Design, Architecture Techniques, Applying the Viewpoints. Prerequisite(s): SE332

 

SE460 Software Construction (3-0) 3

System specification, refinement and implementation could be integrated into a comprehensive mathematical theory and could be supported by industrial strength system development tools. Object oriented software construction, currency, distribution, Object-oriented databases, persistence, schema evolution, step-by-step software development. Prerequisite(s): COMPE223, SE332

 Computer Engineering Technical Courses

 

COMPE111    Introduction to Computers       (2-2) 3 

COMPE112    Introduction to Programming in C (3-2) 4 

COMPE223    Object Oriented Programming  (3-0) 3

COMPE226    Data Structures (3-0) 3

COMPE251    Discrete Computational Structures      (3-0) 3

COMPE323    Algorithms      (3:0) 3

COMPE325    Study of Programming Languages  (3-0) 3

COMPE326    Formal Languages and Automata Theory      (3-0) 3  

COMPE331    Computer Architecture and Organization     (3-0) 3

COMPE341    Database Design and Management (3-2) 4 

COMPE422    Visual Programming (2-2) 3 

COMPE431    Operating Systems     (3-2) 4

COMPE436    Data Communication and Computer Networks         (3-2) 4 

COMPE438    Java Programming (3-0) 3

COMPE462    Artificial Intelligence  (3-0) 3


| University Home Page | Faculty Home Page| Home| About Department | Academic Programs |
| Courses | Staff | News & Announcements | Links | Contact |