Course image COE4263 Real-Time Systems
Trimester 2

Dear Students,

welcome to this course, below is the content:

  1. Introduction to real time systems
  • Types of real time systems
  • Embedded System introduction
  • Priorities, Deadlines, context switch mechanisms
  • Task assignment and scheduling theory
  • Fixed priority scheduling
  • Rate Monotonic scheduling
  • EDF (Earliest deadline first)
  • Fault Tolerant Real Time System,
  • Clock Synchronization
  •  Issues in Real Time Software Design
  1. Introduction to real time Operating Systems
  2. Different real time concepts
  3. Multiprocessor Scheduling
  4. Real time design
Course image COE 4265 Software Testing and Quality
Trimester 2

 Software testing and quality is the course for software engineering students for 4th year. In the field of Software Engineering, a software engineer assure the quality of the software developed and the same quality that the stakeholder and users need. Therefore, this course concern explaining in detail the principles and techniques to assure the quality of software from a software planning to development and production. Quality attributes that have been set on requirements gathering are tested on different steps of software development.

The course content is as follows;

            COE4265 Software Testing and quality

The dynamic verification of the behavior of a program on a finite set of test cases, suitably selected from the usually infinite executions domain, against the expected behavior.

Objectives

  • Software Testing Fundamentals
    • testing-related terminology
    • key issues of testing, e.g.,
    • relationship of testing to other activities
  • Test Levels (between targets and objectives of tests)
  • Test Techniques
    • tests based on the tester’s intuition and experience (done)
    • specification-based techniques (done)
    • code-based techniques (done)
    • fault-based techniques (done)
    • usage-based techniques (done)
    • techniques relative to the nature of the application (done)
    • selection and combination of test techniques (done)
  • Test-Related Measures
    • evaluation of the program under test
    • evaluation of the tests performed
  • Test Process (practical consideration and test activities)

Practicals: related to software testing to implement test conditions with different applications

Course image COE4264 Software Engineering
Trimester 2

The goal of this unit is to introduce to the students concepts which will achieve the following objectives: 

-          Provide the students necessary conceptual background for undertaking advanced studies in software engineering, through courses or on their own.

-          Define what is meant by software engineering and describe the differences between computer science and software engineering.

-          Identify the characteristics of “good software”.

-          To introduce ethical and professional issues that are useful to software engineers

-          Define what is meant by the term “process” and how it applies to software development.

-          Describe several different models of the software development process and understand their drawbacks and when they are applicable.

-          To know what software engineering is and its importance as well as having answers to key questions related to software engineering

-          To introduce architectural design and to discuss its importance

-          To explain the architectural design decisions.

-          Differentiate between the system life cycle and a system development methodology

-          To introduce the concepts of software requirements (user, system and specification requirements)

-          To explain how software requirements may be organised in   a requirements document

-          To understand the concepts of software design 

-          Introduce the notations of the Unified Modeling Language (UML)

-          To discuss coding and unit testing

-          To understand testing techniques that are geared to discover program faults

-          To understand specific approaches to object-oriented testing

Course image COE4262 Ubiquitous and Pervasive Computing
Trimester 2

This course addresses all areas of pervasive and ubiquitous computing with the objective to discuss and explore latest technical developments in this emerging field as well as to identify potential future directions and issues. Some topics to be covered include: Visions and challenges in ubiquitous computing, Ubicomp applications. Interaction techniques Programmable/autonomous physical environments and Privacy and social concerns

Course image COE4261 Grid Computing
Trimester 2

This course is intended as an introduction to computational grids, why we need them, who will use them, the basic services that must be provided by the grid infrastructure.,

The course would compliment Cluster Computing and also Parallel and Distributed Programming and represent the third course in a sequence suitable for research in a cluster and meta-cluster design, administration and programming.

Keywords:

Distributed Computing, Client-Server Computing.