Neural Networks and Recent Accomplishments (and how to train your own NN: a Python based DIY)

Artificial Neural Networks (ANN) are computational models inspired from one of nature’s most splendid creations – the neuron. It seems our quest to make the machines smarter has converged onto the realization that we ought to code the ‘smartness’ into them, literally. What better way than to draw parallels from the source of our own intelligence, our brains?

Continue reading

What is topic modeling?

Topic modeling is an Information Retrieval (IR) technique that discovers representative topics from a collection of documents. Thus, we expect that logically related words will co-exist in the same document more frequently than words from different topics. For example, in a document about the space, it is more possibly to find words such as: planet, satellite, universe, galaxy, and asteroid. Whereas, in a document about the wildlife, it is more likely to find words such as: ecosystem, species, animal, and plant, landscape. But why text classification is so useful? In this blog post, we try to explain the importance of topic modeling and its use in software engineering.

Continue reading

Summer at XRDS: Issue on “Computational Biology” a comprehensive preview!

I am very pleased to introduce the June issue for XRDS on computational biology. I had the privilege to work as Issue Editor for this issue alongside Guest Editor Cristina Pop, who recently received her Ph.D. from Stanford University.

Computational biology is ubiquitous. Every modern bioscience lab relies on computational biology and bioinformatics techniques to some extend, whether for gene and protein sequencing or data storage. Moreover, advances in computational biology techniques allow researchers to gain deeper insights into biological mechanisms, simplify lab-bench methods, and develop more reliable and sophisticated methods for diagnosis and clinical applications. Computational biology drives biological research and even bounds the types of questions that researchers and clinicians can ask. This is why it is such an exciting and rapidly growing area of computer science. Continue reading

How can we evaluate modern software systems?

Most people maybe think that software engineers are only coders that develop and maintain applications, systems, and infrastructures. This is not false. But, software engineers are also responsible for the assessment and improvement of the source code itself, based on specific metrics and techniques. This post briefly discusses how software engineering can evaluate modern software systems.

Continue reading

How Connected are Quantum Graphs?

Some students in my department this quarter hosted a reading group on quantum computing. Quantum computing is becoming more and more relevant and the topic attracted the participation of a diverse group of researchers. The best way to handle the scope of the topic and diversity of the participants was to invite volunteer speakers to give talks on the quantum analog of their own research area — “Quantum Circuit Lower Bounds,” “Quantum Game Theory,” and “QPSPACE” were among some of the topics. Naturally, I saw this as a great opportunity to understand more about quantum spectral graph theory. In this post I will outline some basic definitions and properties of quantum graphs, and as a follow up to my previous post on the connections between spectral geometry and graph theory, discuss isospectral properties of discrete and quantum graphs. Continue reading