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
support, Help 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
|