- algorithm An algorithm is a recipe for how a particular task can be performed. An algorithm is not written in a programming language and does not deal with how data is stored and retrieved, but focuses on the processing. Algorithms cannot be executed by computers.
- API Application Programming Interface. It defines how other applications
- Application Computer program to perform a particular task.
- boolean A variable type of which the value can be only true or false.
- compiler A compiler is a computer program that converts one programming language into a lower level language. Some compiler convert a higher level programming language into machine code directly (C++), while others use intermediate languages (Java).
- CPU Central Processing Unity. Also called processor. The CPU performs all tasks and calculations in the computer, using memory to store data. A CPU performs all tasks in a linear fashion, step by step, one thing after another: there is ever only the next instruction, and to remember anything, it needs memory. All tasks are performed in simple steps like adding up numbers, assigning values to variables, and retrieving larger amounts of data from files on external memory (hard disk, solid state disks, internet, etc) into internal memory for processing. The programming language for the CPU is called machine code.
- documentation Documentation describes the application. User-oriented documentation focuses on what the application does, how it should be used, etc. Developer documentation describes what the application is supposed to do (the algorithm) and how that was implemented.
- double See float.
- dynamic HTML Dynamic HTML refers to the combination of HTML and JavaScript, where the JavaScript dynamically changes the HTML depicted by the web browser.
- float A variable type to capture non-integer numbers. Computer representation of non-integer numbers have a predefined precision. Doubles often have a higher precision than floats, but also require more memory.
- for-loop Programming languages have a number of constructs to simplify repetitive processes. The for-loop is one of the most important ones, and iterates as long as some end condition is not met, normally with a particular starting condition, and a change in each iteration. The CPU, however, will execute the for-loop in a linear fashion, starting with the starting condition, repeating the content of the for-loop, for as long as the end condition is not met.
- function Programming languages have a number of constructs to simplify repetitive processes. Functions are constructs that group a number of statements into a functional bit. It is comparable to mathematical functions, though not exactly the same.
- HTML HyperText Markup Language is the language used by computers to exchange the content of web pages.
- implementation An implementation is the translation of an algorithm into a particular programming language, so that a computer then execute that algorithm.
- JSON JavaScript Object Notation is a language often used by computers to exchange data between web services and JavaScript client code.
- library Where a function is a group of statements, a library is a group of functions. For example, the ops.js library is a group of functions to interact with Open PHACTS web services.
- list A list is a commonly used variable type in programming languages, to group together a list of variable values. It can be compared to a mathematical vector, which is basically a list of floats.
- list of lists Because lists can contain also complex variable types, they can also contain another list. Of all contained lists are of the same lenght, you effectively get a matrix. Therefore, the computer representation of a mathematical matrix, is commonly a list of lists of floats.
- machine code Programming language used to instruct a CPU what computation to perform.
- map A map is another complex variable type, which is a construct where each element is a pair of a key and a value. A list only has values and no keys. This has the advantage that you can look up elements by key values. The JSON structure is based on the map concept.
- map of maps Similar to list of lists, a map value can also be another map.
- memory CPUs use simple operations to change vaiable values. However, a CPU has very limited memory (a few registers) and can hold only very few values at the same time. Variables as used in programming language are stored, instead, in the internal memory. This internal memory is allocated by the application, and cleared when the application ends. Internal memory is not persistent beyond the time a computer is turned on. External memory, such as CDs/DVDs, hard disk, solid state disks, memory sticks are persistent, and can be used to store data over a longer time.
- operator An operator is a special kind of function, using a different structure where the function parameters can be found after and before the operator. Common operators are those for assigning values to variables ('='), addition for numbers and concatenation of string (+), etc. An overview of JavaScript operators can be found at http://www.w3schools.com/js/js_operators.asp.
- parameter Functions require input data. This input data is passed to them using parameters. The parameters define the variables that are known in the function call.
- Open Science Science in which experiment protocols and results are shared immediately.
- programming language Language that can be used to instruct a computer to perform a certain task.
- RDF Resource Description Framework is a particular data model used by the Semantic Web.
- Semantic Web Where the World Wide Web is linked network of web pages, the Semantic Web is the equivalent for data.
- source code A text file containing an algorithm and/or data model written in one or more programming languages.
- statement A statement is the smallest "sentence" of a programming "language". It is typically ended by a statement terminator, such as the ';' character in JavaScript. Forgetting to add the statement terminator is a very common reason source code does not compile: the compiler does not know what the source code means.
- unit testing Testing is important to ensure your code does what you think it does. That is, it matches the computed results from the implementation with expected results which follow from the algorithm. Unit tests are the smallest possible tests, which typically test a single function, and often even a particular feature of that function.
- URI Uniform Resource Identifiers are identifiers with a very specific format. Uniform Resource Locators are the most common kind of URIs, and used to identify webpages.
- variable A variable is used in programming languages as link or pointer to a particular value. The variable is of a particular data type, such as boolean, number, string, list, and map. The value behind a variable can change, it is variable, which allows computer programs to process variable input data.
- variable type The type of a variable indicates what functions and operators can act on it. For example, while you can multiply two number values, you cannot multiply two strings values.
- web service A web service is effectively a web location that acts as a function. It commonly takes input (parameters), and returns calculation or search results. A web services uses common standards for communication. JSON is an example data exchange format used by many web services.