Data Structures underlie everything we do in computer science: understanding them is critical to writing rigorous software and effective algorithms.
There are two general ways of looking at data structures: concept and implementation. Ideally, they should serve you the sense in selecting an effective data structure for a given problem. Fundamental data structures manifest themselves naturally in most situations. The problem usually demands a certain data structure, while others could be represented in different ways. An effective data structure should simplify the problem. But that is only half of the story since a data structure must also ensure computational efficiency…
Gottfried Wilhelm Leibniz was a prominent German polymath of the 17th century. He made contributions not only in the field of mathematics, which his most prominent discoveries on the language of symbolic logic, and calculus were established, but also in philosophy, which he formally studied, and theology where he argued a rational stance for the existence of God. While Leibniz works in different fields were found to be foundational he was involved in controversies that although he was a member of the Royal Society and the Berlin Academy of Science, his grave went unmarked for 50 years.
This is the…
Algorithms can be a very difficult subject to understand. They come in varying logic expressed in varying languages, implemented in different syntax for varying purposes. Indeed, there are algorithms that are said to be different but works pretty much the same: the distinction can be drawn upon many parameters, one that is common is the nature of how the logic is implemented and how efficient it is based on some constraints usually determined by time and memory it needs — more generally with respect to finite resources.
In this article, we shall take a general perspective and build our understanding…
“I don’t know what I did. It opened a bunch of pop-ups and crashed the program. I don’t ever want to use it again; it’s frustrating”
Humans are not immune to errors. In fact, to err is to be human[2]. Systems should, therefore, account for the events of errors. It should have a feedback mechanism that allows the user to have brief information about the series of actions that are rendered inside the system upon request. Whenever an error has occurred the feedback has to be concise and actionable.
Before we delve a bit further into our discussion, it is…
While doing research, it was advised to follow a methodological approach that another author had used for their investigation. There are laboratory standards and protocols one has to follow in doing science. Working for weeks in the Philippine Textile Research Institute with my colleagues investigating the plausibility of Green Chemistry for developing nanotechnology, we spent a ton amount of time, money, and effort on doing something wrong. Apparently, some research upon which we laid the foundations of our methods did not agree with the actual result we had developed in the lab. …
Without the right technical knowledge, we find ourselves alienated with technology. It need not be complicated; we don’t have to feel frustrated in dealing with the complexity of technology. Often times we are not at fault here, we may just simply be interacting with a poorly designed product. Before we delve into the topic further, I should clarify the use-case of the term product of which I intend to refer as a substitute for an abstract object made by the human mind. More elaborately, it is an artificial product of the mind.
Designed products tell a story, it reveals itself…
Good design is actually a lot harder to notice than poor design, in part because good designs fit our needs so well that the design is invisible, serving us without drawing attention to itself. Bad design, on the other hand, screams out its inadequacies, making itself very noticeable (The Design of Everyday Things, 2013).
The American professor and author, Don Norman noted that combination of good observation skills and good design principles are important and can benefit us all because we are all designers in the sense that all of us deliberately design our lives, our rooms, and the way…
Probably the most applied mathematical concept and anyone can learn it. With great power comes with greater responsibility. Let us remember our philosophical grounds before we begin our scientific journey.
Most people use statistics like a drunk man uses a lamppost; more for support than illumination.
— Andrew Lang
There is a 1/6 chance of getting 6 when you roll a die. Eating Chocolate (given X, Y, Z) can reduce up to 10% of your body fat. Brand X is statistically proven to have a significant effect on Y. Are these forms of headlines familiar to you? What do we…
In this article, we will talk about the hype and the financial setbacks that the AI community has faced over the years. The challenges and limitations of logic-based AI (Symbolic AI), and probabilistic models (Neural Networks).
The hype in AI research has ever been fuelled by intense optimism so much so that it had overlooked substantial constraints and obstacles that had caused a couple of setbacks to which the field had almost been abandoned by major investors.
This article is part of my series in Foundations of Understanding Through Mathematics where I layout and presents an overview of some of the most important concepts in Mathematics [with links to learning resources] that are held with strong relevance to Artificial Intelligence and Computer Science.
For this article, we will have to take a look at the theory of Infinitesimal Calculus — the study of continuous change.
“ The calculus was the first achievement of modern mathematics and it is difficult to overestimate its importance. I think it defines more unequivocally than anything else the inception of modern mathematics…
Hi, I’m Dave. I love writing about science & technology — to make sense of what I’m reading. I believe that some ideas are worth sharing.