Skip to main content

meaning - Augmentation in Computer Science


How would you define augmentation in terms of Computer Science?


I've heard it used as ‘strengthening’:



“In jQuery, you design a page, and then you make it dynamic. This is because jQuery was designed for augmentation...)”



or as ‘extension’:



“I heard about cases where adding an extra requirement to a binary search (for example) can be called augmentation.”



A Google search for ‘augmentation computer science’ brings up a Stack Overflow question, but that's for quite a specific context. Wikipedia defines Augmentation for numerous disciplines but not for Computer Science.


There are lots of examples if you search for augmentation on programmers.SE. I had asked this question on programmers.SE - but was pointed here instead.



Answer



Augmentation means the same thing in computer science as it does in general English, which I would summarise as: extending something to make it better.


Oxford Dictionaries Online gives this definition for the verb augment:



Pronunciation: /ɔːgˈmɛnt/



  • make (something) greater by adding to it; increase



There are some particular uses of augment which have become terms in their own right and imply a more specific meaning based on the general one; for example, augmented reality, augmenting path, graph augmentation, augmented data structure.


In the context of a particular sub-field (for example, graph theory) or even a particular algorithm, the term augmentation may take on a more specialised and well-defined meaning, but in computer science as a whole, the meaning of augmentation is not specialised.


Comments

Popular posts from this blog

Is there a word/phrase for "unperformant"?

As a software engineer, I need to sometimes describe a piece of code as something that lacks performance or was not written with performance in mind. Example: This kind of coding style leads to unmaintainable and unperformant code. Based on my Google searches, this isn't a real word. What is the correct way to describe this? EDIT My usage of "performance" here is in regard to speed and efficiency. For example, the better the performance of code the faster the application runs. My question and example target the negative definition, which is in reference to preventing inefficient coding practices. Answer This kind of coding style leads to unmaintainable and unperformant code. In my opinion, reads more easily as: This coding style leads to unmaintainable and poorly performing code. The key to well-written documentation and reports lies in ease of understanding. Adding poorly understood words such as performant decreases that ease. In addressing the use of such a poorly ...

A man has a garden measuring 84 meters by 56 meters. He divides it into the minimum number of square plots. What is the length of the square plots?

We wish to divide this man's garden into the minimum number of square plots possible. A square has all four sides with the same length.Our garden is a rectangle, so the answer is clearly not 1 square plot. If we choose the wrong length for our squares, we may end up with missing holes or we may not be able to fit our squares inside the garden. So we have 84 meters in one direction and 56 meters in the other direction. When we start dividing the garden in square plots, we are "filling" those lengths in their respective directions. At each direction, there must be an integer number of squares (otherwise, we get holes or we leave the garden), so that all the square plots fill up the garden nicely. Thus, our job here is to find the greatest common divisor of 84 and 56. For this, we prime factor both of them: `56 = 2*2*2*7` `84 = 2*2*3*7` We can see that the prime factors and multiplicities in common are `2*2*7 = 28` . This is the desired length of the square plots. If you wi...