What Are Precision and Recall and Why Are They Needed in Search Engines?

In this post, I am going to talk about precision and recall and their importance in information retrieval. First of all, let’s talk about what we mean by information retrieval. Suppose you wake up one morning and decide you want to make muffins for breakfast. You take out your laptop and search for “healthy muffin recipe” on Google. Then, you go through the search results, decide on a recipe and get started on it. This is an example of information retrieval where the search engine (Google in this case) retrieved the results for your search query “healthy muffin recipe”. 

Continue reading

Impressions of Primavera Hacker (Santiago de Chile)

Due to my involvement in the UNAM/DGAPA/PAPIME PE102718 project on the ”creation of teaching materials regarding privacy and anonymity mechanisms”, as the Southern half of the world gets ready for the warm season, I was invited to participate during the first weekend of December in Primavera Hacker 17. With around 350 participants spanning a good chunk of Latin America, this was a most interesting experience.
Continue reading

The Power of Bisection Logic

Bisection or Binary logic is an example of a simple yet powerful idea in computer science that has today become an integral part of every computer scientist’s arsenal. It stands synonymous to logarithmic time complexity that is no less than music to a programmer’s ears. Yet, the technique never fails to surprise us with all the creative ways it has been put to use to solve some tricky programming problems. This blog-post will endeavour to acquaint you with a few such problems and their solutions to delight you and make you appreciate it’s ingenuity and efficacy. Continue reading

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

Flex, Regular Expressions, and Lexical Analysis

 What Makes a Programming Language?

There is an alphabet, words, grammar, statements, semantics, and various ways to organize the previous in order to create a computer program in a programming language. Flex helps developers create a tool called a lexical analyzer which identifies the words of a program during the compilation/interpretation process.

Continue reading