Skip to main content
School of Electronic Engineering and Computer Science

Miss Hadeel Alrubayyi


Room Number: Temporary Building, TB Ground


Algorithms and Data Structures (Undergraduate)

The module is an introduction to Algorithms and Data Structures. It covers topics such as running time of algorithms, asymptotic complexity, simple and advanced sorting algorithms, divide and conquer algorithms, recursion, dynamic programming, greedy algorithms, basic data structures (strings, arrays, lists), linked lists, trees, hash tables.

C Programming (Undergraduate)

This module introduces the principles of C Programming to students who already know how to program at a basic level in Java. It provides a knowledge of the theory of C Programming and also its practical use in real engineering systems. The focus is on microprocessor based systems.

Creating Interactive Objects (Undergraduate)

Interactive objects are physical devices controlled by microcontrollers using simple sensors and actuators. The module provides students with skills, knowledge, and experience of designing and prototyping interactive physical objects using contemporary microcontrollers. The module covers basic electronics, control circuits, sensors (analogue and digital), output (analogue and digital), microcontrollers, simple networking, and microcontroller programming using the popular Arduino open-source platform. It additionally touches on topics of interaction design and evaluation to provide a framework in which students can prototype and understand interactive objects.

Fundamentals of Web Technology (Undergraduate)

This is a module designed to offer you practical skills as well as understanding of underlying principles of programming the World Wide Web. There will be two hours of lectures per week, and weekly timetabled lab sessions for each student. Major topics you will study include Internet and Web server basics; client-side programming using XHTML; Cascading Style Sheets, and Javascript. You will develop practical skills in server-side programming using PHP and gain an understanding and hands on experience in the practical issues involved when setting up a website.

Introduction to Software Engineering (Postgraduate)

The main focus of this module is software engineering and systems analysis. Students will learn about system complexity and the special challenges of building software systems. They will learn how to analyse system and software requirements, produce object-oriented designs, and learn the principles of how to plan, manage and test systems. Content covers: Systems Analysis Requirements capture and analysis Use cases; UML for use-cases Object oriented design; UML for class diagrams Project management Software lifecycle Quality assurance and testing

Object-Oriented Programming (Undergraduate)

Major topics include the concepts of class, object, method, subclass, inheritance and their use in programming. The relevance of the object oriented style with respect to concrete software problems will be stressed both in lectures and labs. There will be two hours of lectures per week, and each student will have a weekly timetabled lab session. In addition, you will be expected to spend further time outside scheduled lab periods in the lab (or at home machines if they are available), and to read textbooks and review notes.