Wiki glosario tecnico_ingles_jhon_jairorincon_jimmyalbertomartinez
1. Wiki con el glosario técnico en Inglés y Español
Jhon Jairo Rincón Rocha (Ficha 854868)
Jimmy Alberto Martínez (Ficha 854866)
SENA
Análisis y Desarrollo de Sistemas de Información
Santiago de Cali
2015
2. Wiki con el glosario técnico
Realice una labor de investigación y realice su propio diccionario tanto en inglés como
en español, con el objetivo de enriquecer y ampliar el vocabulario que será empleado
durante su proceso de formación.
Los términos seleccionados y desarrollados para la actividad son:
Technical Glossary in English
Programming language: A programming language is a formal constructed
language designed to communicate instructions to a machine, particularly a computer.
Programming languages can be used to create programs to control the behavior of a
machine or to express algorithms.
Algorithms: In mathematics and computer science, an algorithm is a self-contained
step-by-step set of operations to be performed. Algorithms exist that
perform calculation, data processing, and automated reasoning.
Machine Code/Machine Language: Machine code or machine language is a set
of instructions executed directly by a computer's central processing unit (CPU). Each
instruction performs a very specific task, such as a load, a jump, or an ALU operation on
a unit of data in a CPU register or memory. Every program directly executed by a CPU
is made up of a series of such instructions.
Low-level Programming Language: In computer science, a low-level programming
language is a programming language that provides little or no abstraction from a
computer's instruction set architecture—commands or functions in the language map
closely to processor instructions. Generally this refers to either machine
3. code or assembly language. The word "low" refers to the small or nonexistent amount
of abstraction between the language and machine language; because of this, low-level
languages are sometimes described as being "close to the hardware."
High-level Programming Language: In computer science, a high-level programming
language is a programming language with strong abstraction from the details of
the computer. In comparison to low-level programming languages, it may use natural
language elements, be easier to use, or may automate (or even hide entirely) significant
areas of computing systems (e.g. memory management), making the process of
developing a program simpler and more understandable relative to a lower-level
language. The amount of abstraction provided defines how "high-level" a programming
language is.
Qualitative Algorithms: They are those that uses numeric calculations to define the steps of
the process. They describe or solve problems of the quotidian life but always framing in three
fundamental structures:
Sequences of actions
Decision of action
Cycles of action
Quantitative Algorithms: They’re those uses numeric calculations to define the steps
of the process. Similarly these kind of algorithms describe three essential parts: input,
process, and output.
Algorithmic Graphic Language: They are the graphic representation of the operations
that an algorithm performs (Flowchart). The flowchart is characterized for the detailed
way how it represents in graphic way the steps to follow to find the solution for the
proposed problem.
4. No Graphic Language: Represents in descriptive way the operations that an algorithm
must to perform (pseudocode).
Pseudocode: Pseudocode is an informal high-level description of the operating
principle of a computer program or other algorithm. It uses the structural conventions of
a programming language, but is intended for human reading rather than machine
reading. Pseudocode typically omits details that are essential for machine
understanding of the algorithm, such as variable declarations, system-specific code and
some subroutines. The programming language is augmented with natural
language description details, where convenient, or with compact mathematical notation.
The purpose of using pseudocode is that it is easier for people to understand than
conventional programming language code, and that it is an efficient and environment-
independent description of the key principles of an algorithm. It is commonly used in
textbooks and scientific publications that are documenting various algorithms, and also
in planning of computer program development, for sketching out the structure of the
program before the actual coding takes place.
Problem definition: This phase is gave by the problem statement, which requires a
definition clear and accurate. It is important know to want that the computer to perform;
while It does not know totally, it does not have much case to continue with next stage.
Problem analysis: Once you have understood what you want on the computer, you
need to define:
Input data
What is the information to be produced (output)
The methods and formulas that are needed to process the data.
5. A very practical recommendation is to put us in the place of the computer and analyze
what we need to order us and in what sequence to produce the expected results.
Algorithm design: Algorithm design is a specific method to create a mathematical
process in solving problems. Applied algorithm design is algorithm engineering.
Algorithm design is identified and incorporated into many solution theories of operation
research, such as dynamic programming and divide-and-conquer. Techniques for
designing and implementing algorithm designs are algorithm design patterns, such
as template method pattern and decorator pattern, and uses of data structures, and
name and sort lists. Some current day uses of algorithm design can be found in internet
retrieval processes of web crawling, packet routing and caching.
Codification: In computing, a character encoding is used to represent a repertoire
of characters by some kind of an encoding system.[1] Depending on the abstraction
level and context, corresponding code points and the resulting code space may be
regarded as bit patterns, octets, natural numbers, electrical pulses, etc. A character
encoding is used in computation, data storage, and transmission of textual data.
Compilation and execution: In computer programming, the translation of source code
into object code by a compiler. Execution in computer and software engineering is the
process by which a computer or a virtual machine performs the instructions of
a computer program. The instructions in the program trigger sequences of simple
actions on the executing machine. Those actions produce effects according to
the semantics of the instructions in the program.
Testing and debugging: Testing means verifying correct behavior. Testing can be
done at all stages of module development: requirements analysis, interface design,
6. algorithm design, implementation, and integration with other modules. In the following,
attention will be directed at implementation testing. Implementation testing is not
restricted to execution testing. An implementation can also be tested using correctness
proofs, code tracing, and peer reviews, as described below.
Debugging is a cyclic activity involving execution testing and code correction. The
testing that is done during debugging has a different aim than final module testing. Final
module testing aims to demonstrate correctness, whereas testing during debugging is
primarily aimed at locating errors. This difference has a significant effect on the choice
of testing strategies.
Documentation: It is the guide or written communication in its varied ways, It can be in
statements, procedures, drawings or diagrams.
Maintenance: Software maintenance in software engineering is the modification of a
software product after delivery to correct faults, to improve performance or other
attributes.
A common perception of maintenance is that it merely involves fixing defects.
Data type: In computer science and computer programming, a data type or
simply type is a classification identifying one of various types of data, such
as real, integer or Boolean, that determines the possible values for that type; the
operations that can be done on values of that type; the meaning of the data; and the
way values of that type can be stored.
Expressions: In mathematics, an expression (or mathematical expression) is a finite
combination of symbols that is well-formed according to rules that depend on the
context. Mathematical symbols can designate numbers
7. (constants), variables, operations, functions, punctuation, grouping, and other aspects
of logical syntax.
Operators and Operands: Programming languages typically support a set
of operators: constructs which behave generally like functions, but which differ
syntactically or semantically from usual functions. Common simple examples include
arithmetic (addition with +, comparison with >) and logical operations (such as AND or
&&). More involved examples include assignment (usually = or :=), field access in a
record or object (usually.), and the scope resolution operator (often ::). Languages
usually define a set of built-in operators, and in some cases allow user-defined
operators. In mathematics, an operand is the object of a mathematical operation, a
quantity on which an operation is performed.
Identifiers (variables and constants): In computer science, identifiers (IDs)
are lexical tokens that name entities. Identifiers are used extensively in virtually
all information processing systems. Identifying entities makes it possible to refer to
them, which is essential for any kind of symbolic processing. In computer languages,
identifiers are tokens (also called symbols) which name language entities. Some of the
kinds of entities an identifier might denote include variables, types, labels, subroutines,
and packages.
Design techniques/Top-Down and Bottom-Up Design: Top-down and bottom-
up are both strategies of information processing and knowledge ordering, used in a
variety of fields including software, humanistic and scientific theories (see systemics),
and management and organization. In practice, they can be seen as a style of thinking
and teaching. A top-down approach (also known as stepwise design and in some
8. cases used as a synonym of decomposition) is essentially the breaking down of a
system to gain insight into its compositional sub-systems. In a top-down approach an
overview of the system is formulated, specifying but not detailing any first-level
subsystems. Each subsystem is then refined in yet greater detail, sometimes in many
additional subsystem levels, until the entire specification is reduced to base elements. A
top-down model is often specified with the assistance of "black boxes", these make it
easier to manipulate. However, black boxes may fail to elucidate elementary
mechanisms or be detailed enough to realistically validate the model. Top down
approach starts with the big picture. It breaks down from there into smaller segments.
A bottom-up approach is the piecing together of systems to give rise to more complex
systems, thus making the original systems sub-systems of the emergent system.
Bottom-up processing is a type of information processing based on incoming data from
the environment to form a perception. From a Cognitive Psychology perspective,
information enters the eyes in one direction (sensory input, or the "bottom"), and is then
turned into an image by the brain that can be interpreted and recognized as a
perception (output that is "built up" from processing to final cognition). In a bottom-up
approach the individual base elements of the system are first specified in great detail.
These elements are then linked together to form larger subsystems, which then in turn
are linked, sometimes in many levels, until a complete top-level system is formed. This
strategy often resembles a "seed" model, whereby the beginnings are small but
eventually grow in complexity and completeness. However, "organic strategies" may
result in a tangle of elements and subsystems, developed in isolation and subject to
local optimization as opposed to meeting a global purpose.
9. Input devices: In computing, an input device is a peripheral (piece of computer
hardware equipment) used to provide data and control signals to an information
processing system such as a computer or other information appliance.
Output devices: An output device is any piece of computer hardware equipment used
to communicate the results of data processing carried out by an information processing
system (such as a computer) which converts the electronically generated information
into human-readable form.
Central Processing Unit: A central processing unit (CPU) is the electronic
circuitry within a computer that carries out the instructions of a computer program by
performing the basic arithmetic, logical, control and input/output (I/O) operations
specified by the instructions. The term has been used in the computer industry at least
since the early 1960s.[1] Traditionally, the term "CPU" refers to a processor, more
specifically to its processing unit and control unit (CU), distinguishing these core
elements of a computer from external components such as main memory and I/O
circuitry.
Control Unit: The control unit (CU) is a component of a computer's central processing
unit (CPU) that directs operation of the processor. It tells the computer's memory,
arithmetic/logic unit and input and output devices how to respond to a program's
instructions.
Arithmetic Logic Unit: An arithmetic logic unit (ALU) is a digital electronic circuit that
performs arithmetic and bitwise logical operations on integer binary numbers. It is a
fundamental building block of the central processing unit (CPU) found in many
computers
10. Main memory: Primary storage (also known as main memory or internal memory),
often referred to simply as memory, is the only one directly accessible to the CPU. The
CPU continuously reads instructions stored there and executes them as required. Any
data actively operated on is also stored there in uniform manner. Main memory is
directly or indirectly connected to the central processing unit via a memory bus.
Random Access Memory (RAM memory): Random-access memory (RAM) is a
form of computer data storage. A random-access memory device allows data items to
be read and written in approximately the same amount of time, regardless of the order
in which data items are accessed.
Read Only Memory (ROM Memory): Read-only memory (ROM) is a class
of storage medium used in computers and other electronic devices. Data stored in ROM
can only be modified slowly, with difficulty, or not at all, so it is mainly used to
distribute firmware (software that is very closely tied to specific hardware, and unlikely
to need frequent updates).
Auxiliary Storage/ Auxiliary Memory/Secondary Storage: Secondary storage (also
known as external memory or auxiliary storage), differs from primary storage in that it is
not directly accessible by the CPU. The computer usually uses its input/output channels
to access secondary storage and transfers the desired data using intermediate area in
primary storage. Secondary storage does not lose the data when the device is powered
down—it is non-volatile. Per unit, it is typically also two orders of magnitude less
expensive than primary storage. Modern computer systems typically have two orders of
magnitude more secondary storage than primary storage and data are kept for a longer
time there.
11. Glosario Técnico de la Actividad en Español
Lenguaje de programación: Es un lenguaje formal diseñado para
expresar procesos que pueden ser llevados a cabo por máquinas como
las computadoras. Pueden usarse para crear programas que controlen el
comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión,
o como modo de comunicación humana.1
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que
definen su estructura y el significado de sus elementos y expresiones. Al proceso por el
cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene
el código fuente de un programa informático se le llama programación.
Algoritmos: Es un conjunto prescrito de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que
no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una
entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una
solución.
Lenguaje de máquina: s el sistema de códigos directamente interpretable por un
circuito micro programable, como el microprocesador de una computadora o el micro-
controlador de un autómata. Este lenguaje está compuesto por un conjunto de
instrucciones que determinan acciones al ser tomadas por la máquina.
Lenguaje de bajo nivel (ensamblador): Un lenguaje de programación de
características bajo nivel es aquel en el que sus instrucciones ejercen un control directo
sobre el hardware y están condicionados por la estructura física de la computadora que
lo soporta. El uso de la palabra bajo en su denominación no implica que el lenguaje sea
12. inferior a un lenguaje de alto nivel, si no que se refiere a la reducida abstracción entre
el lenguaje y el hardware.
Lenguaje de alto nivel: Un lenguaje de programación de alto nivel se caracteriza por
expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en
lugar de la capacidad ejecutora de las máquinas.
Algoritmos cualitativos: Los algoritmos cuantitativos son aquellos en los que se
utilizan cálculos numéricos para definir los pasos del proceso. Son aquellos en los
que se describen o se resuelven problemas de la vida cotidiana pero siempre
enmarcada en tres estructuras fundamentales que son:
Secuencias de acciones
Decisión de acción
Ciclos de acciones
Algoritmos cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para
definir los pasos del proceso. De igual forma estos tipos de algoritmos describen tres
partes esenciales: ENTRADA - PROCESO - SALIDA
Lenguajes algorítmicos gráficos: GRÁFICOS: son la representación gráfica de las
operaciones que realiza un algoritmo (diagrama de flujo). El diagrama de flujo se
caracteriza por la forma detallada como representa de forma gráfica los pasos a seguir
para encontrar la solución del problema propuesto.
Lenguaje no gráfico: representan en forma descriptiva las operaciones que
debe realizar un algoritmo (seudocódigo).
Pseudocódigo: El seudocódigo es un lenguaje intermedio entre nuestro lenguaje y el
lenguaje de programación, su característica principal es el de representar la solución de
13. forma más detallada y lo más parecida al lenguaje, para que posteriormente se pueda
codificar. Otras características son:
Se puede ejecutar en un ordenador.
Facilita el paso del programa al lenguaje de programación.
Es independiente del lenguaje de programación que se vaya a utilizar.
Método que facilita la programación y solución al algoritmo del programa.
Definición del problema: Esta fase está dada por el enunciado del problema, el cual
requiere una definición clara y precisa. Es importante que se conozca lo que se desea
que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso
continuar con la siguiente etapa.
Análisis del problema: Una vez que se ha comprendido lo que se desea de la
computadora, es necesario definir:
Los datos de entrada.
Cuál es la información que se desea producir (salida)
Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy práctica es el que nos pongamos en el lugar de la
computadora y analicemos que es lo que necesitamos que nos ordenen y en que
secuencia para producir los resultados esperados.
Diseño del algoritmo: es un método específico para poder crear un modelo
matemático ajustado a un problema específico para resolverlo. El diseño de algoritmos
es una teoría de la Investigación de operaciones.
Las características de un buen algoritmo son:
Debe tener un punto particular de inicio.
14. Debe ser definido, no debe permitir dobles interpretaciones.
Debe ser general, es decir, soportar la mayoría de las variantes que se puedan
presentar en la definición del problema.
Debe ser finito en tamaño y tiempo de ejecución.
Codificación: Con el algoritmo ya diseñado, se procede a su reescritura en un
lenguaje de programación establecido (programación) en la etapa anterior, es decir, en
códigos que la máquina pueda interpretar y ejecutar.
Compilación y ejecución: es una técnica para mejorar el rendimiento de sistemas de
programación que compilan a bytecode, consistente en traducir el bytecode a código
máquina nativo en tiempo de ejecución. La compilación en tiempo de ejecución se
construye a partir de dos ideas anteriores relacionadas con los entornos de ejecución:
la compilación a bytecode y la compilación dinámica.
Prueba y depuración:
La prueba consiste en la captura de datos hasta que el programa no presente errores
(los más comunes son los sintácticos y lógicos).
La depuración es el proceso de encontrar los errores del programa y corregir o
eliminar dichos errores.
Documentación: Es la guía o comunicación escrita es sus variadas formas, ya sea en
enunciados, procedimientos, dibujos o diagramas.
A menudo un programa escrito por una persona, es usado por otra. Por ello
la documentación sirve para ayudar a comprender o usar un programa o para facilitar
futuras modificaciones (mantenimiento).
15. Mantenimiento: Se lleva acabo después de terminado el programa, cuando se detecta
que es necesario hacer algún cambio, ajuste o complementación al programa para que
siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el
programa este correctamente documentado.
Tipos de datos: es un atributo de una parte de los datos que indica al ordenador (y/o al
programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye
imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones
se pueden realizar. Tipos de datos comunes son: enteros, números de coma
flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, etc.
Expresiones: es una combinación de constantes, variables o funciones, que es
interpretada de acuerdo a las normas particulares de precedencia y asociación para
un lenguaje de programación en particular.
Operadores: Son elementos que relacionan de forma diferente, los valores de una o
más variables y/o constantes. Es decir, los operadores nos permiten manipular valores.
Operandos: Elemento al que se aplica una operación:
Identificadores (variables y constantes)
Los identificadores son elementos textuales (también llamados símbolos) que
nombran entidades del lenguaje. Algunas de las de entidades que un identificador
puede denotar son las variables, las constantes, los tipos de dato, las etiquetas,
las subrutinas (procedimientos y funciones) y los paquetes.
Una constante es un dato cuyo valor no puede cambiar durante la ejecución del
programa. Recibe un valor en el momento de la compilación y este permanece
inalterado durante todo el programa.
16. Una variable es un nombre asociado a un elemento de datos que está situado en
posiciones contiguas de la memoria principal, y su valor puede cambiar durante la
ejecución de un programa.
Técnicas de diseño top down y bottom up
Top-down (‘de arriba a abajo’) En el modelo top-down se formula un resumen del
sistema, sin especificar detalles. Cada parte del sistema se refina diseñando con mayor
detalle. Cada parte nueva es entonces redefinida, cada vez con mayor detalle, hasta
que la especificación completa es lo suficientemente detallada para validar el modelo.
El modelo top-down se diseña con frecuencia con la ayuda de "cajas negras" que
hacen más fácil cumplir requisitos aunque estas cajas negras no expliquen en detalle
los componentes individuales.
bottom-up (‘de abajo a arriba’) las partes individuales se diseñan con detalle y luego
se enlazan para formar componentes más grandes, que a su vez se enlazan hasta que
se forma el sistema completo. Las estrategias basadas en el flujo de información
"bottom-up" se antojan potencialmente necesarias y suficientes porque se basan en el
conocimiento de todas las variables que pueden afectar los elementos del sistema.
Dispositivos de entrada: son aquellos equipos y componentes que permiten ingresar
información a la unidad de procesamiento; algunos ejemplos conocidos por todos son
el teclado, el mouse (también llamado ratón), el escáner, la cámara web (webcam),
el lápiz óptico y el micrófono
Dispositivos de salida: por lo tanto, es aquél que emite una señal con información.
En este sentido podemos mencionar la impresora (que recibe información de
una computadora y produce una salida impresa en papel), el monitor (exhibe los
17. datos en la pantalla), los auriculares (emite sonidos para que sean escuchados por
una persona) y el altavoz (reproduce sonidos al ambiente).
Unidad central de procesamiento (c.p.u): es el hardware dentro de un computador u
otros dispositivos programables, que interpreta las instrucciones de un programa de
ordenador mediante la realización de las operaciones básicas aritméticas, lógicas y de
entrada/salida del sistema
Unidad de control: es uno de los tres bloques funcionales principales en los que se
divide una unidad central de procesamiento (CPU). Los otros dos bloques son la unidad
de procesos y el bus de entrada/salida.
Unidad aritmético – lógica: es un circuito digital que calcula operaciones aritméticas
(como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos
números.
Memoria central (interna): es la memoria de la computadora donde se almacenan
temporalmente tanto los datos como los programas que la unidad central de
procesamiento (CPU) está procesando o va a procesar en un determinado momento.
Por su función, la MP debe ser inseparable del microprocesador o CPU, con quien se
comunica a través del bus de datos y el bus de direcciones.
Memoria RAM: un tipo de memoria de ordenador a la que se puede acceder
aleatoriamente; es decir, se puede acceder a cualquier byte de memoria sin acceder a
los bytes precedentes. La memoria RAM es el tipo de memoria más común en
ordenadores y otros dispositivos como impresoras.
Memoria ROM: (read-only memory) o memoria de sólo lectura, es la memoria que se
utiliza para almacenar los programas que ponen en marcha el ordenador y realizan los
18. diagnósticos. La mayoría de los ordenadores tienen una cantidad pequeña de memoria
ROM (algunos miles de bytes).
Memoria auxiliar (externa): conjunto de dispositivos y soportes de almacenamiento de
datos que conforman el subsistema de memoria de la computadora, junto con
la memoria primaria o principal