SOFTWARE ENGINEERING TERMINOLOGY
|Терминология Специальности
SPECIALTY TERMINOLOGY
Read, listen, repeat, memorize!
|Читайте, слушайте, повторяйте, запоминайте!
Click “NEXT” to start
Event-driven programming
Listen, repeat, memorize!
In computer programming, event–driven programming is a programming paradigm in which the flow of the program is determined by events such as user actions (mouse clicks, key presses), sensor outputs, or messages from other programs/threads.
An event-driven program is one that largely responds to user events or other similar input. The concept of event-driven programming is an important one in application development and other kinds of programming, and has spawned the emergence of event handlers and other resources.
IDEA (International Data Encryption Algorithm) is an encryption algorithm developed at ETH in Zurich, Switzerland.
The idea in event-driven programming is that the program is designed to react. It reacts to specific kinds of input from users, whether it’s a click on a command button, a choice from a drop-down list, an entry into a text box, or other kinds of user events.
Other programming languages may feature user events that are largely delivered through a command-line interface or some other type of user interface. The opposite of event-driven programming would be programming that is written to act regardless of user input.
Event-driven programs can be written in any programming language, although some languages(Visual Basic for example) are specifically designed to facilitate event-driven programming, and provide an integrated development environment (IDE) that partially automates the production of code, and provides a comprehensive selection of built-in objects and controls, each of which can respond to a range of events.
Virtually all object-oriented and visual languages support event-driven programming. Visual Basic, Visual C++ and Java are examples of such languages.
A visual programming IDE such as VB.Net provides much of the code for detecting events automatically when a new application is created. The programmer can therefore concentrate on issues such as interface design, which involves adding controls such as command buttons, text boxes, and labels to standard forms (a form represents an application’s workspace or window).
Expressions and operators
Listen, repeat, memorize!
An expression is a particular concept in computer science in which a number of variables or constants, and operators and functions, are put together in a single statement that is acted on by a particular programming language.
In computer science, expressions are written by developers, interpreted by computers and ‘evaluated.’ The evaluation produces a return or result. Simple mathematical equations such as 2 + 2 are expressions in code. They’re typically called arithmetic expressions.
Other kinds of numerical or arithmetic expressions may use variables, so that they look like algebra equations. In addition, various data types such as characters, strings, integers, floating point numbers and others can be acted on in expressions as constants or variables.
Operators and functions determine how the computer will act on these objects in a given expression. Different types of expressions are categorized according to how they work and what they ‘evaluate to.’ Boolean expressions evaluate to either a true or false value, while numerical expressions evaluate to numbers.
String expressions evaluate to character strings, where text and character strings are changed by functions to produce a different result. For instance, adding an exclamation point to the display or printing of the phrase ‘hello world’ would be an example of a string expression that uses functions to add ASCII characters, rather than changing numerical values or creating different code conditions.
Like other kinds of fundamentals, expressions rely on the specific syntax of a programming language. In terms of structure, experts point out that an expression inherently needs at least one ‘operand’ or value that is acted on, and must have one or more operators.
It’s important for programmers to understand what’s ‘legal’ or ‘illegal’ in program syntax. Inputting incorrect or illegal syntax will result in compiling errors, and developers will have to make expressions and code modules conform to proper syntax in order to run them.
Listen to the Text:
Listen, repeat, memorize!
Many problems in graph algorithms may be solved efficiently on graphs of low pathwidth, by using dynamic programming on a path-decomposition of the graph. On graphs of bounded pathwidth, this approach leads to fixed-parameter tractable algorithms, parametrized by the pathwidth.
Such results are not frequently found in the literature because they are subsumed by similar algorithms parametrized by the treewidth; however, pathwidth arises even in treewidth-based dynamic programming algorithms in measuring the space complexity of these algorithms.
The same dynamic programming method also can be applied to graphs with unbounded pathwidth, leading to algorithms that solve unparametrized graph problems in exponential time. A similar approach leads to improved exponential-time algorithms for the maximum cut and minimum dominating set problems in cubic graphs,and for several other NP-hard optimization problems.
An algorithm is said to be solvable in polynomial time if the number of steps required to complete the algorithm for a given input is for some nonnegative integer , where is the complexity of the input. Polynomial-time algorithms are said to be ‘fast’.
In computational complexity theory, P, also known as PTIME or DTIME (n), is a fundamental complexity class. It contains all decision problems that can be solved by a deterministic Turing machine using a polynomial amount of computation time, or polynomial time.
Listen to the Text:
Listen, repeat, memorize!
A sorting algorithm is an algorithm that sorts arrays of data. In some ways, the sorting algorithm is a unit of more complex technology processes.
Sorting algorithms are also useful in rapidly advancing fields like machine learning, partly because into the big data age and beyond, one of the biggest capabilities of IT systems is to manipulate large sets of data.
This inherently involves quite a lot of sorting.
In machine learning, where the machine learns from large sets of training data, sorting algorithms may be a major component of the intellectual and computational work involved in building the systems and implementing them.
As a result, understanding basic sorting algorithms is a necessary part of certain kinds of computer science work.
In general, the computer scientist must be a kind of mathematician – understanding the terminology and lingo of mathematics and statistics, and understanding how to use each kind of sort algorithm effectively.
Listen to the Text: