About Abdelrahman Hosny

I’m a research-oriented software engineer. I write code, analyze data, read latest research pieces and communicate my thoughts online/offline. My goal is to establish an AI-based datacenter in Africa.

Chatbots to Drive Student Engagement in Higher Education

Whether you are ready for chatbots or not, they have been the future we live in now. Chatbots are not robots, but they are supposed to mimic humans. They are a piece of software that you chat with to get things done or be entertained. You have probably used Apple’s Siri, Google Assistant or Microsoft’s Cortana. But chatbots are more than just the built-in personal assistants. They are everywhere now; from ordering pizza to checking flight status

I have run an experiment to use chatbots in higher education in order to drive student engagement beyond the classroom experience. In this post, I am going to share my experience in developing a chatbot teaching assistant, called Koko. Continue reading

Cancer: From Biology to Computer Science

October is the breast cancer awareness month. Cancer is classified as a genetic disease caused by the abnormal cell division that destroy body tissue. Wait! Cell? Body tissue? Disease? So now you might be wondering: what does this have to do with computers?

In fact, cancer research has been in the heart of life sciences for the past few decades. Since genetics play an important role in most cancers, computational methods are crucial in understanding the development of the disease as well as predicting the results of clinical trials for treatment. That’s where computer science comes into action.

Biological background

Before we define the computational problem, let’s review some biology from high school and learn some facts about cancer.

Our human body consists of trillions of cells. Although each cell has the exact same DNA all over your body, every cell carries out its own function. The DNA is a long sequence of nucleotides preserved inside a cell nucleus.

genecelldna

Photo adapted from: The Fatal Lover, Mata Hari (2016) watch online 1080

Continue reading

Diving into IBM’s Quantum Experience through your Browser

People tend to stay away when they hear the word “Quantum Computing”. The word itself gives the feeling that it targets scientists or physics researchers, but not your average person scrolling down in their newsfeed. However, quantum computing increasingly becomes more mature to kill its reputation as a hard field. Understanding quantum computing requires as much imagination as math or physics knowledge. In this post, I’m going to briefly spark your imagination about the next generation of computers and give you a glimpse of how IBM makes the experience accessible through your web browser; not access-restricted physics labs.

What is Quantum Computing?

Perhaps you are reading this blog post from your desktop, laptop, tablet or smartphone. All of these devices run on a traditional computer (or what we call: classical computer). Every piece of tech gadget you are using nowadays uses the concepts of classical computing. But what are classical computers and how are they different from quantum computers?  Continue reading

42 Tips to Increase Your Website’s Rank from UConn Students

At the University of Connecticut, undergraduate students majoring in Computer Science studied Google’s PageRank algorithm as a practice on stochastic processes and their applications. After their research on the algorithm along with other search techniques that Google uses to rank websites, they have come up with some cool, and easy-to-implement, tips for website owners to organically increase their website rank. As the TA for that class, I felt thrilled with their awesome submissions and wanted to share some of their work on this study.

42 tips to increase your website’s rank based on understanding Google’s PageRank Continue reading

The Pythonic Way

Python is a very powerful programming language that understands structural, functional and object oriented programming paradigms. New comers to Python from other languages tend to carry with them their mother (programming) tongue culture. Although they achieve the required task, they might have fallen in the trap of using Python the wrong way. In this post, we cover some efficient tricks to achieve tasks in Python; we call it the Pythonic way. Find an IPython Notebook for all tricks here on our GitHub repository.

Lists, Tuples, Dictionaries and Sets

Continue reading