You are on page 1of 9

Cognitive Skills in Programming Survey

**PHASES OF PROGRAMMING**

There are four main subtasks in programming:

1. UNDERSTANDING THE PROBLEM (initial problem representation): In this


phase, the problem solver first sets up some form of "problem representation"
in working memory (of the human), which is used to model a problem in terms
of what the problem solver knows about the problem domain, and how that
knowledge is organized for him.

From understanding the problem, when sufficient information has been


generated to solve the abstracted qualitative problem, the model solver
elaborates a qualitative solution, in terms of all the requirements, variables,
data, sub-systems, etc.

2. DESIGNING/PLANNING THE PROGRAM: Software design is the process of


translating a set of task requirements (functional specifications) into a
structured description [design or plan] of a computer system.

After achieving an initial problem representation (from understanding


problem), the programmer needs to map out a plan or design for the program
to be written later in programming code.

* In practical terms, designing is: identifying modules, procedures, data


structures, data types, algorithms, ...

3. CODING PROGRAM: This phase of program development consists of a


translation from the most refined version of the program design into the
programming code.

"This phase represents a symbolic execution, or what we might describe as


mental simulation, to be the major feature of the coding process: A plan
element triggers a series of steps through which a piece of code is generated
and then the programmer "symbolically executes” that piece of code in order
to assign an effect to it."

4. COMPREHENSION AND DEBUGGING A PROGRAM: If programmers are to


realize how much progress they have made in developing a program,
comprehension must play a key role.

There are four very different views of the program comprehension: one is
bottom-up, one is middle-out, one is top-down and one is transformational.
All of these forms of program comprehension are conducted to assess how
well the program matches the requirements.

The program reader (programmer) then is said to seek out evidence for
predicted program components consistent with their high-level expectations.
This process works iteratively until the program reader has assimilated all the
code to understand its precise workings.

**COGNITIVE SKILLS**
**Attention**: Is the process of directing cognitive resources towards certain
aspects of the environment, or towards the execution of certain actions that
seem most appropriate.

It refers to the state of observation and alertness that allows awareness of


what is happening in the environment.

In other words, attention is the ability to generate, direct, and maintain an


appropriate state of alertness to correctly process information.
-----------------------------------------------------
**Concentration**: Is the ability to attend a task for a prolonged period of
time, in order to receive necessary information and complete that task.

• Concentration can be taught, after which one's proficiency can be


constantly improved by regular and sustained practice.
--------------------------------------------------------
**Gnosis**: Is the ability of the brain to recognize previously learned
information such as objects, persons, or places collected from our senses.
Thus, there are different types of gnosis, one for each sensory modality, and
gnosis which combine different sensory modalities.
-----------------------------------------------------
**Memory**: Is the ability to encode, store, and effectively retrieve
previously learned information or past experiences.

• Working memory: Is the system that allows the maintenance, handling


and processing of information in the mind. Working memory enables you to
hang on to information while in the process of using it.
-----------------------------------------------------
**Planning**: Ability to generate goals, develop action plans to achieve them
(sequence of steps), and to choose the appropriate one based on the
anticipation of consequences.
-----------------------------------------------------
**Reasoning**: ability to compare results, draw inferences and establish
abstract relationships.
-----------------------------------------------------
**Flexibility**: ability to generate new strategies in order to adapt behavior
according to changing environmental demands.
-----------------------------------------------------
**Inhibition**: ability to ignore impulses or irrelevant information either
internally or externally when performing a task.
-----------------------------------------------------
**Decision making**: ability to decide a course of action after weighing the
various kinds of possible options as well as their possible outcomes and
consequences.
-----------------------------------------------------
**Branching (multitasking)**: ability to organize and optimally perform tasks
simultaneously, inter-mixing them yet at all times knowing the status of each.
-----------------------------------------------------
**Language**: Is a high-level cognitive function that develops processes of
symbolization related to encoding and decoding.
Language refers to:
• Reading: ability to interpret symbols, characters and images and
transform them into speech.
• Comprehension: ability to understand the meaning of words and ideas.
• Discrimination: ability to recognize, distinguish and interpret language-
related content
• Writing: ability to transform ideas into symbols, characters and images.
• Naming: ability to name objects, people or events.
-----------------------------------------------------
**Visuospatial skills**: A visuospatial skills is the ability to represent, analyze,
and mentally manipulate objects.
-----------------------------------------------------
**Self-Monitoring**: Ability to attend to & evaluate ongoing
behavior/outcomes to make necessary corrections for successful goal
completion.
-----------------------------------------------------
**Organization**: Applying a structure or system for arranging or classifying
objects & tasks; methodical and efficient behavior.
-----------------------------------------------------
**Logical thinking**: Is the ability to use reasoning and knowledge to solve
problems, as well as coming up with concepts, drawing conclusions, and
analyzing relationships when presented with specific conditions.

• Strong logic and reasoning skills are necessary for doing anything that
involves abstract thinking in order to arrive at a solution, such as solving
mathematical problems, programming, and so on.
Habilidades Cognitivas en la Encuesta de Programación

** FASES DE LA PROGRAMACION **

Hay cuatro sub-tareas principales en la programación:

1. ENTENDIENDO EL PROBLEMA (representación inicial del problema): en esta


fase, el programador primero imagina alguna forma de "representación del
problema" en la memoria de trabajo (del ser humano), que se utiliza para
modelar un problema en términos de cuanto el programador conoce el
dominio del problema y cómo organiza ese conocimiento para él.

A partir de la comprensión del problema, cuando se ha generado suficiente


información para resolver el problema cualitativo resumido, el programador
elabora una solución cualitativa, en términos de todos los requisitos, variables,
datos, subsistemas, etc.

2. DISEÑAR / PLANIFICAR EL PROGRAMA: El diseño de software es el proceso


de traducir un conjunto de requisitos de tareas (especificaciones funcionales)
en una descripción estructurada [diseño o plan] de un sistema informático.

Después de lograr una representación inicial del problema (de entender el


problema), el programador debe diseñar un plan o diseño para que el
programa se escriba más adelante en el código de programación.

* En términos prácticos, el diseño es: identificar módulos, procedimientos,


estructuras de datos, tipos de datos, algoritmos, ...
3. PROGRAMA DE CODIFICACIÓN: Esta fase del desarrollo del programa
consiste en una traducción de la versión más refinada del diseño del
programa al código de programación.

"Esta fase representa una ejecución simbólica, o lo que podríamos describir


como simulación mental, como la característica principal del proceso de
codificación: un elemento del plan desencadena una serie de pasos a través de
los cuales se genera una pieza de código y luego el programador" ejecuta
simbólicamente "Esa pieza de código para asignarle un efecto".

4. COMPRENSIÓN Y COMPLEMENTO DE UN PROGRAMA: Si los


programadores requieren darse cuenta del progreso que han logrado en el
desarrollo de un programa, la comprensión juega un papel clave.

Hay cuatro vistas muy diferentes de la comprensión del programa: una es de


abajo hacia arriba, otra es de la mitad, una es de arriba hacia abajo y la otra es
transformacional. Todas estas formas de comprensión del programa se
realizan para evaluar qué tan bien el programa cumple con los requisitos.

Se dice entonces que el lector del programa (programador) busca evidencia de


los componentes del programa predichos que concuerdan con sus
expectativas de alto nivel (requerimientos funcionales). Este proceso funciona
de manera iterativa hasta que el programador haya asimilado todo el código
para comprender su funcionamiento preciso.
**HABILIDADES COGNITIVAS**

** Atención **: Es el proceso de dirigir los recursos cognitivos hacia ciertos


aspectos del entorno, o hacia la ejecución de ciertas acciones que parecen más
apropiadas.

Se refiere al estado de observación y alerta que permite tomar conciencia de


lo que está sucediendo en el ambiente.

En otras palabras, la atención es la capacidad de generar, dirigir y mantener un


estado apropiado de alerta para procesar correctamente la información.
-------------------------------------------------- ---
** Concentración **: es la capacidad de atender a una tarea durante un
período prolongado de tiempo, para recibir la información necesaria y
completar esa tarea.

• La concentración puede enseñarse, después de lo cual la capacidad de una


persona puede mejorarse constantemente mediante la práctica regular y
sostenida.
-------------------------------------------------- ------
** Gnosis **: Es la capacidad del cerebro para reconocer información
aprendida previamente, como objetos, personas o lugares recopilados por
nuestros sentidos. Por lo tanto, hay diferentes tipos de gnosis, uno para cada
modalidad sensorial, y hay gnosis que combinan diferentes modalidades
sensoriales.
-------------------------------------------------- ---
** Memoria **: es la capacidad de codificar, almacenar y recuperar
efectivamente la información aprendida previamente o las experiencias
pasadas.

• Memoria de trabajo: es el sistema que permite el mantenimiento, manejo y


procesamiento de la información en la mente. La memoria de trabajo le
permite aferrarse a la información mientras la usa.
-------------------------------------------------- ---
** Planificación **: Capacidad para generar objetivos, desarrollar planes de
acción para lograrlos (secuencia de pasos) y elegir el adecuado según la
anticipación de las consecuencias.
-------------------------------------------------- ---
** Razonamiento **: capacidad para comparar resultados, hacer inferencias
y establecer relaciones abstractas.
-------------------------------------------------- ---
** Flexibilidad **: capacidad de generar nuevas estrategias para adaptar el
comportamiento de acuerdo con las cambiantes demandas ambientales.
-------------------------------------------------- ---
** Inhibición **: capacidad para ignorar impulsos o información irrelevante,
ya sea interna o externamente cuando se realiza una tarea.
-------------------------------------------------- ---
** Toma de decisiones **: capacidad para decidir un curso de acción después
de sopesar los diversos tipos de opciones posibles, así como sus posibles
resultados y consecuencias.
-------------------------------------------------- ---
** Bifurcación (multitarea) **: capacidad para organizar y realizar tareas de
manera óptima de forma simultánea, mezclándolas pero en todo momento
conociendo el estado de cada una.
-------------------------------------------------- ---
** Idioma **: es una función cognitiva de alto nivel que desarrolla procesos
de simbolización relacionados con la codificación y la decodificación.
El lenguaje se refiere a:
• Lectura: capacidad para interpretar símbolos, personajes e imágenes y
transformarlos en habla.
• Comprensión: habilidad para entender el significado de palabras e ideas.
• Discriminación: capacidad para reconocer, distinguir e interpretar contenido
relacionado con el idioma.
• Escritura: capacidad de transformar ideas en símbolos, personajes e
imágenes.
• Nombre: capacidad para nombrar objetos, personas o eventos.
-------------------------------------------------- ---
** Habilidades visuo-espaciales **: Una habilidad visuo-espacial es la
capacidad de representar, analizar y manipular mentalmente objetos.
-------------------------------------------------- ---
** Autocontrol **: Capacidad para atender y evaluar el comportamiento / los
resultados en curso para hacer las correcciones necesarias para completar con
éxito la meta.
-------------------------------------------------- ---
** Organización **: aplicación de una estructura o sistema para organizar o
clasificar objetos y tareas; comportamiento metódico y eficiente.
-------------------------------------------------- ---
** Pensamiento lógico **: es la capacidad de utilizar el razonamiento y el
conocimiento para resolver problemas, así como para generar conceptos,
sacar conclusiones y analizar relaciones cuando se presentan condiciones
específicas.

• La lógica sólida y las habilidades de razonamiento son necesarias para hacer


cualquier cosa que implique un pensamiento abstracto para llegar a una
solución, como resolver problemas matemáticos, programación, etc.

You might also like