Advanced Interaction Techniques

In this cluster we explore new technologies to design novel interaction techniques. Some of these technologies include eye tracking, Hololens, and Kinect2. One of the directions we investigate is text entry in public displays, where we try to maximize the interaction of the user. Another direction is to design ways to incorporate a sense of "feel" in interaction. Students in this cluster will learn how to design an experiment, collect data, and analyze the results.

  • Related Bachelor Projects:
    • Look at me: a gaze based Interface for text entry
    • Fever: Feeling Virtual Objects using HoloLens and Magnetic Coils

Affective Computing

The growing field of Affective Computing (AC) aspires to enhance the self-awareness humans of their affective state and to build systems that adapt and respond to this affective state. To realize such systems,there is a need to detect affective state, track its changes and to respond to this detected affect with all its constituent components: mood, emotions and cognitive state. The projects included in this topic focus or extend Affective Computing from different perspectives through diverse research questions and applications.

  • Related Bachelor Projects:
    • Applications
    • Character Computing
    • Speech and Emotions

Behavioral Security using Machine Learning

Machine learning algorithms are considered a powerful tool that can be used for the protection of our privacy. This is because of their ability to detect patterns that can be used to infer intrusions or malicious behavior. This cluster investigates how machine learning can be used for security and privacy protection. In particular, we consider two areas: privacy on social media, and smartphone security. Students will explore in depth different types of machine learning algorithms and how they can be applied in a security context.

  • Related Bachelor Projects:
    • SOS: Save our Social Media Account
    • Stolen or Not? My Device is Always Secured
    • Differential Privacy for the Collection of Large Data Sets
    • DEADMAN: Detection of Attacks on High-Profile Accounts using ML

Bio-image Informatics

Imaging has become an essential component in many fields of bio-medical research and clinical practice. Biologists study cells and generate 3D microscopy data sets, virologists generate 3D reconstructions of viruses from micrographs, radiologists identify and quantify tumors from MRI and CT scans, and neuroscientists detect regional metabolic brain activity from PET and functional MRI scans. Analysis of these diverse types of images requires sophisticated algorithms and tools. To support scientific research in the field of bio-medical we aim to develop image processing-based solutions that are accurate reliable and efficient.

  • Related Bachelor Projects:
    • Medical Image Processing
    • Microscopic imaging

Combinatorial Algorithms

According to Kreher and Stinson (1999), combinatorial algorithms are classified into three classes: generation, enumeration, and search algorithms. Generation algorithms "[construct] all the combinatorial structures of a partiular type" (Kreher and Stinson, 1999, p. 1). These include algorithms for generating all subsets, partitions, or all permutations of a set. Enumeration algorithms "[compute the number of different structures of a particular type]" (Kreher and Stinson, 1999, p. 1). For example, finding the number of subsets of size k of a set of size n is an enumeration problem. Search algorithms "[find] at least one example of a structure of a particular type (if it exists)" (Kreher and Stinson, 1999, p. 1). These include, for example, algorithms for finding a clique of a certain size in a given graph. Many interesting combinatorial problems are, unfortunately, NP-hard.

  • Related Bachelor Projects:
    • Minimum Axiom Set

Data science: Beyond Big Data (BBD)

Social platforms like Twitter and Facebook have become a leading medium for marketing political ideas, news and products. Many general-purpose websites (e-commerce, news etc…) integrate the social profiles of their users into their recommender systems. By showing a user what his friends liked or bought, these websites can leverage the trust of real-life friends in marketing their products.

The field of data science or big data analytics studies developing algorithms that uncover hidden structures and relations in the connections of a social platform. These algorithms share the same goal of machine learning in understanding large datasets, with two advantages: considering the links between users and avoiding the lengthy training process of machine learning.

In this set of projects, you will be handling large dataset both readily available and collected by you. You will study and implement algorithms defined in very recent papers to uncover interesting relations in these datasets. These relations have direct applications in the areas of digital marketing and countering social spam, such as fake news.

  • Related Bachelor Projects:
    • Who makes a trend? The influencers in online communities
    • Exploring loyalty and user engagement in online communities
    • Exploring conflict and polarization in online communities

Deep Learning for the masses (DL4M)

With the overwhelming popularity of deep learning, massive processing power is being exploited by the likes of Google and IBM to produce breakthrough performance in deep learning algorithms. For example, an object recognition challenge can require 100 times the computational power to improve performance accuracy by 0.2%.

This set of projects asks the practical question that is now being asked by industry and researchers alike: how well can deep learning perform on the medium range hardware infrastructure that is available to us. In particular, you will help setup and use the cluster of GTX 1050 Ti GPU cards in lab C7.305 to develop good performance on practical object recognition tasks.

  • Related Bachelor Projects:
    • Dataset understanding for distributed machine learning
    • Deep learning visualization
    • Distributed machine learning on a GPU cluster I
    • Distributed machine learning on a GPU cluster II

Drive like an Egyptian

The dream of self-driving cars roaming the neighborhood seems now closer than ever, with both industry and research active in the area. Reinforcement learning (RL) is one class of machine learning concerned with teaching a smart agent to take actions and decisions. The agent learns independently and without hardcoding any built-in behavior. RL is heavily used in building self-driving agents among other applications. Meanwhile, a software agent that can adapt to the surprises of normal roads or drive in rural areas or developing cities has not yet been realized.

In this set of projects, you will learn, build and use cutting edge reinforcement learning techniques. The objective is to build an agent that can drive like an Egyptian; that is to drive in the wild. An Egyptian driver adapts to surprising road conditions, pedestrians crossing the roads randomly and even overtakes other cars when possible. While we would hope self-driving agents would abide by driving etiquette, having such skills can be very useful for preventative driving or during emergency situations.

  • Related Bachelor Projects:
    • Imitation techniques in reinforcement learning I
    • Imitation techniques in reinforcement learning II
    • Adversarial techniques in reinforcement learning I
    • Adversarial techniques in reinforcement learning II


Educational reform is occurring throughout the world and one of the tenets of the reform is the introduction and integration of assistive technological means in educational systems. Motivated by the prospect of greater economic, social, educational and technological gains, both developing and developed countries, are bringing about this reform, with a clear focus on technology integration in education. This cluster looks at how developing countries can adopt, adapt, and apply the knowledge gained by countries that have already embarked on the technological assistive means integration bandwagon in their own educational systems. We aim at illustrating the ways in which technology mediated learning can be offered for all students with their different profiles in order to achieve a better learning experience and knowledge gain.

  • Related Bachelor Projects:
    • Smart Education Solutions
    • Virtual Reality
    • Augmented Reality

Embedded Systems

An Embedded system is any electronic system that uses a computer chip, but that is not a general-purpose workstation, desktop or laptop computer. Such systems use microcontrollers (MCUs) or microprocessors (MPUs), or they may use custom-designed chips. Deployed by the billions each year in thousands applications, the embedded systems market uses the lion's share of all the electronic components in the world. Embedded systems are employed in automobiles, planes, trains, space vehicles, machine tools, cameras, consumer electronics, office appliances, network appliances, video games, cellphones, GPS navigation as well as robots and toys. Low-cost consumer products can use microcontroller chips that cost less than a dollar.

  • Related Bachelor Projects:
    • IR Control Signals Analyzer for Home Automation Systems
    • Automatic Recognition of IR Control Protocols for A/V Devices

Graphics and Visualization

While computer graphics is the field that is concerned with using utilizing input description to produce artificial digital images, visualization is the visual representations of abstract data. We will work on different graphics and visualization tools.

Interaction Design and Formal Evaluation

This topic aims to investigate new interaction techniques, whether it being a new menu design, a new gesture, or a completely unconventional way to interact with a computing platform.

  • Related Bachelor Projects:
    • Desktop UI
    • Utilizing Kinect in Sports
    • Tangible Interaction
    • 3D Model Construction
    • Augmented Lab
    • Drag and Drop in 3D Space
    • Mini-Projector UI
    • Arm-mounted Display
    • The Homing Problem
    • Typing in mid air
    • Collaboration Using Cell Phones
    • Directory Browsing
    • Cursors for 3D Enviroments
    • Time-series Data
    • Distant Ambient Display

Java SNePS

SNePS is one of the oldest, yet developing, systems for knowledge representation and reasoning in AI. Akin to a programming language, SNePS is a flexible system for building and manipulating propositional semantic networks. A propositional semantic network is a labeled directed graph where nodes represent entities (possibly propositions) and arcs represent structural relations among them. The basic SNePS system is a network management system concerned with building and finding nodes. On top of that, there are several sub-systems for reasoning, acting, belief-revision, and natural language understanding and generation. The official version of SNePS is implemented in Common Lisp. Over the past seven years, we have implemented local Java versions. We are now ready to launch the third version Java SNePS. In the course of the development, we shall take extra care of implementation efficiency and proper software engineering practices.

  • Related Bachelor Projects:
    • SNeBR
    • SNePS Networks
    • SNIP
    • User Interface
    • Matching

Machine learning algorithms for stock market trading

What does it take to trade stocks successfully? A lot.

Stock trading requires knowledge of finance, awareness of economic and political events, and how they impact markets. Above all, a successful trader has excellent decision making skills.

  • Related Bachelor Projects:
    • Machine learning algorithms for stock market trading

Me versus the machine

Reinforcement learning is one class of machine learning algorithms. The goal of reinforcement learning (RL) is to train a computer program to solve a problem the same way a human does, even surpassing human performance at times. Computer games have been one successful application where an RL agent can be trained to play and win. The training process however is lengthy and complex. So far, RL agents have been able to play and win games that involve only simple strategy, and after lengthy training.

In this set of projects, we will use your gaming and algorithmic skills in coding a strategic agent that plays a game you choose or develop. You will then develop an RL agent that learns from the strategic agent either through imitation or competition.

  • Related Bachelor Projects:
    • Imitation techniques in game reinforcement learning
    • Adversarial techniques in game reinforcement learning

Mobile Security

As mobile devices become more proliferated in every aspect of our daily lives, they also become a dangerous vulnerability against our privacy. This cluster investigates new and innovative attacks against mobile devices as well as ways of securing them. For example, recent research has shown that thermal cameras can be used to detect traces of using a keyboard or touchpad, which can then be used to infer passwords. We will explore how thermal cameras can be used for other forms of attacks such as detecting the usage profile of as device. In addition, we will explore novel authentication mechanisms that address these vulnerabilities. For example, we will investigate how eye gaze and gesture detection can be used as authentication mechanisms that are immune against thermal attacks. We also investigate how to secure the mobile device even after its stolen, through innovative use of machine learning techniques.

  • Related Bachelor Projects:
    • Exploring Thermal Attacks on Graphical Password Authentication
    • Thermal Attacks on Keyboards for Profiling User Activity
    • GADiD: A Gait Authentication Mechanism for Mobile Devices
    • GAnGSTA: Authentication using Gaze and Gesture Recognition

Natural Language Processing (NLP)

In Natural Language Processing, we are concerned with computing systems that can process, analyze, or understand human languages. The offered group of projects will cover various NLP tasks, algorithms, and performance evaluation metrics. A focus is placed on deep learning and statistical learning algorithms that can learn from annotated datasets to automatically acquire the knowledge needed to perform the task.

  • Related Bachelor Projects:
    • Applications
    • Code-switching
    • Named Entity Recognition (NER)
    • A Recommender System for Movies
    • Chatbot Applications
    • A Recommender System for Electronic Commerce
    • Question-Answering System using the Stanford QA Dataset
    • Automatic Arabic Diacritization using Deep Learning
    • Analyzing and detection biased language
    • A Chatbot for Customer Support Applications
    • Sentiment Analysis using deep learning
    • Identify question pairs with the same intent for Quora
    • Word Embedding for Synonym Extraction
    • Morphological Analysis for Arabic
    • Neural Machine Translation
    • Transfer Learning on Stack Exchange Tags using Kaggle dataset
    • Deep Learning for co-reference resolution
    • Sarcasm Analysis
    • Word Sense Disambiguation using deep learning
    • A Chatbot for Lonely and Elderly People
    • DeepEmoji: Deep Learning for Emotion Analysis