4
4
COMPUTADORAS
Pensamiento Computacional
Lógica Computacional
Los programas de computadoras tienen un objetivo claro, son creados para solucionar problemas del
ser humano en sus actividades, por eso es importante, que tanto el usuario que requiere el programa, y
el programador, que es la persona que crea el programa, estén de acuerdo en que hace el programa,
existen muchas metodologías para determinar las necesidades del usuario, como por ejemplo la
ingeniería de requerimiento.
El usuario por lo generar posee muchos datos, a los que desea a través de un programa de computadora,
poder reducir el tiempo en los cálculos que le toca, realizar de forma manual, que incluso por errores
involuntarios de mismo usuario, presentan resultados finales incorrectos; el primer paso que debemos
de realizar, es un dialogo entre el usuario y el programador, en la reunión el usuario expresa sus
necesidades de automatización.
El programador en este dialogo actúa como un receptor de las necesidades del usuario, cada vez que él
¡Para recordar!
tenga alguna duda sobre las necesidades del usuario, que note que no está clara, el interviene y pregunta
las veces que sean necesarias, para no dejar dudas e los puntos tratados.
¡Para recordar!
El usuario en su relato, menciona temas como: la cantidad de tiempo que toma para poder lograr el
informe de resultados, y muestra que requiere para hacer dicha actividad, entre otros temas, a partir de
este punto el programador va estructurando, según lo mencionado por el usuario, que actividad
corresponde a la fase de entrada, cual a la de proceso y por ultimo a la fase de salida.
La entrada corresponde a los datos que tiene el usuario, por lo generar la cantidad de datos es
considerable grande, es por eso que el usuario desea el programa, en este punto el programador debe
de consultar ¿Cuáles son los datos que se necesitan para hacer el reporte final?, y esperar que el usuario,
muestre cuales son esos datos, algunas veces esos datos, están impresos, también lo podríamos
encontrar digital, en hojas de cálculo, es el usuario, quien nos debe de mostrar en donde tiene los datos
necesario para elaborar el informe final.
Ejemplo:
1. Se requiere un sistema para la matriculación de los estudiantes: En este caso el usuario, debería
indicar, que tiene los siguientes datos:
Datos de los estudiantes: nombres, apellidos, cedula, peso, estatura, grupo sanguíneo,
dirección, mail, entre otros datos
Las carreras donde se va a matricular el estudiante: Ingeniera, licenciatura, entre otras
Calificaciones: notas de los estudiantes
2. Se requiere un sistema para llevar la nómina de pagos a los empleados: En este caso el usuario,
debería indicar, que tiene los siguientes datos:
Como vemos en estos dos ejemplos, los datos de entrada, depende del contexto del problema, se
observa que para el primer caso prioriza al estudiante como actor principal del sistema y alrededor de
él se genera información, para el segundo caso se centra en el empleado.
Algo que resaltar en esta fase, es que, si bien el usuario cuenta con miles de datos para ingresar en el
sistema, el programador debe de discernir, cuál de todos esos datos son necesario para llegar al
resultado final, no todos los datos que tiene el usuario, son obligatoriamente ingresados al programa.
Luego de seleccionar los datos proporcionado por el usuario, viene la fase de selección, y de definición
de las variables de entrada.
Los datos deben ser definidos claramente por el programador, según los ejemplos anteriores, vemos
unos datos comunes, como por ejemplo los nombres y apellidos, aquí el programador debe de
determinar si solo requiere:
Un nombre y un apellido
Un nombre y los 2 apellidos
Los dos nombres y los dos apellidos
Será toda la dirección escrita de corrido, por ejemplo:” cdla universitaria km 1.5 vía km 26”
O especificamos las calles
O especificamos calles y un lugar cercado de referencia
Incluso indicar la ubicación geo referencial
En este punto el programador define claramente los datos, se le puede consultar al usuario si tiene
alguna duda al respecto. La definición de los datos por lo general son anotaciones que el programador
hace, en ocasiones estas anotaciones representan datos que el usuario les muestra, por ejemplo, cuando
se indica que se requiere nombre y apellidos, entonces lo que se tiene en la definición de los datos es:
RAFAEL
LAZO SULCA
09999999
90 KG
1.75 MTS
Cuando ya tenemos definidos los datos, ahora asociamos una etiqueta identificativa a cada uno de los
datos, a estas etiquetas se las conoce como variables, que luego en el programa son las zonas de
memoria en donde el computar guardará los datos de entrada.
Las variables tienen asociado un nombre que debe de cumplir un estándar en su definición:
No hay tamaño mínimo para el nombre de la variable, lo que, si se recomienda, es que el nombre asocie
lo que va a contener en ella, para que el programador u otra persona que lea el código, pueda
comprender lo que contiene.
Nombre
Apellido
Peso
Estatura
Edad
Sueldo
NombreEmpleado
ApellidoEmpleado
Como vemos cuando queremos asignar un nombre de variables que requiere usar dos palabras, usamos
la combinación de mayúscula y minúscula, por tanto, de la definición de datos anterior ya podemos
asignar el nombre de variable.
Nombre: RAFAEL
Cedula: 09999999
Peso: 90 KG
Es decir que hemos definido las variables: nombre, apellido, cedula, peso y estatura, que serán las que
contendrán los datos que se ingresaran al programa.
De la misma forma, en esta fase, el usuario debe de explicar los cálculos que se realizan con los datos de
entrada, como un profesor a un estudiante, el usuario explica al programador los cálculos, el
programador al tener alguna duda, pregunta hasta el más mínimo detalle, a veces los usuarios olvidan
mencionar calculo especiales, que se presentan en eventos particulares, una buena práctica, es solicitar
documentos que sustente los cálculos que el usuario realiza, pueden ser también, documento de orden
jurídico, leyes emitidas por alguna institución pública de control, esto permite, cuestionar al usuario en
su explicación y descubrir cálculos que pudieron haber sido omitido el usuario.
En este punto se realizan los cálculos, las operaciones matemáticas y lógicas, dentro del computado se
define lo siguiente:
Son los operadores que permiten realizar las operaciones aritméticas de los cálculos, estos operadores
son:
Operación Operador
suma +
Resta -
Multiplicación *
División /
Corresponde a las 4 operaciones básicas, dentro de los cálculos podemos utilizar el símbolo de
paréntesis () para la agrupación de términos, además los resultados de los cálculos deben de ser
almacenados en variables, diferentes a las definidas en la entrada, por ejemplo:
N1 + N2
Pero ese valor debe ser almacenado en una variable, entonces la operación sería:
N1+ N2 = SUMA
Pero la definición anterior es incorrecta para el computador, para hacer una correcta asignación de
un cálculo, primero expresamos la variable, que recibe el resultado y luego hacemos la asignación
del cálculo:
SUMA=N1 + N2
Sueldo a pagar
Tenemos horas trabajadas, horas faltas, por cada trabajada se recibe un valor hora de $3
Pero ese valor debe ser almacenado en una variable, entonces la operación sería:
(HorasTrabajadas – HorasFalta)*3=TotalAPagar
Pero la definición anterior es incorrecta para el computador, para hacer una correcta asignación de
un cálculo, primero expresamos la variable, que recibe el resultado y luego hacemos la asignación
del cálculo:
TotalAPagar=(HorasTrabajadas – HorasFalta)*3
Iva generado
Se tiene el valor de sub total de la compra y aplicamos el cálculo del iva al 12%, entonces tenemos
SubTotal*0.12
Pero ese valor debe ser almacenado en una variable, entonces la operación sería:
SubTotal*0.12= iva
Pero la definición anterior es incorrecta para el computador, para hacer una correcta asignación de un
cálculo, primero expresamos la variable, que recibe el resultado y luego hacemos la asignación del
cálculo:
iva =SubTotal*0.12
Los operadores lógicos nos permiten aplicar condiciones o preguntas que solo tienen 2 respuestas,
verdadera o falta, los operadores son:
Operador Símbolo
And &&
Or ||
not ¡
En los temas siguiente profundizaremos el uso de los operadores lógicos.
En esta fase el usuario debe de indicar como desea que se presenten los resultados, si bien el usuario,
tiene el reporte final, elaborado de forma manual, es decir hecho por él, puede resultar que el programa
presente otro distinto, pero siempre bajo la aceptación del usuario.
En esta fase solo se muestran las variables que tienen los resultados, por lo general la presentación del
resultado viene asociado con una etiqueta, que es informativa, indicando que el dato que se muestra
correspondo a tal resultado, ejemplo:
La suma es : 34
Siendo así la asignatura se centra en el análisis y diseño de algoritmo, como punto de partida, para luego
usar una herramienta de tecnología de la información, lenguaje de programación, para la creación de
los programas.
los algoritmos son el punto de partida de la construcción de los programas, por ellos vamos a definir
primero su estructura, y luego su diseño:
Según (Garcia, y otros, 2014), vamos a definir la estructura de los algoritmos de la siguiente manera:
Parte declarativa
INICIO
…
.. Parte de procesos
…
FIN
1.1.Estructura de un algoritmo
Fuente: (Garcia, y otros, 2014)
1.6 Parte declarativa
En esta parte listamos todas las variables, tanto las creadas en la entrada, en el proceso y la salida, son
todas las que se utilizaran dentro del algoritmo.
En esta sección debemos indicar el tipo de datos que contendrá la variable, en este punto solo vamos a
diferenciar 2 tipos de datos:
alfa numéricos: Son los que contendrán letras, palabras o frases, en el caso que contengan solo una
letra, se asignara ‘’, comilla simple, y en el caso de contener una palabra o frase, “”, usaremos doble
comilla
Peso=0; estatura=0;
Parte declarativa
Sueldo=0;
Nombre=””
INICIO
…
….
Parte de procesos
…
FIN
1.2.Declaración de variables
Fuente: (Garcia, y otros, 2014)
Como vemos en la gráfica 1.3, se muestra como debemos declarar las variables en el algoritmo
En esta parte también podemos declarar una constante, la constante es un elemento del algoritmo que
tiene como nombre, las mismas restricciones que los nombres de variables, pero que su contenido
nunca cambia.
En la parte de proceso, se plasma el detalle del algoritmo, se requiere que se defina el “paso a paso”,
peor como entendemos esta frase, para ello vamos hacer un ejercicio muy sencillo, citaremos el juego
TETRIS, en este juego tenemos una serie de figuras que debemos de colocarlas de una forma que nunca
quede un espacio libre entre las piezas, para eso el usuario puede rotar las figuras y moverlas.
Entonces, se requiriere conocer que pasos se debería realizar, para que, desde la posición inicial
mostrada figura 1.4, las piezas pasen a estar en la posición deseada según la figura 1.5
Solución:
Cada uno de nosotros abordaríamos, de miles de formas diferentes, el inicio de los movimientos y como
se desarrollarían el resto de pasos, esa es la primera idea que debe estar clara para el estudiante:
¡Para recordar!
Es por eso que cuando estamos iniciando esta asignatura, no debemos distraernos si el
compañero de aula o compañeros, generaron un algoritmo diferente al de usted, lo que en verdad
interesa, es que usted, este seguro que su algoritmo si resuelve el problema plateado, y cumple con
todas las reglas de diseño y estructura.
Entonces vamos a lista los pasos de una de las formas que se resuelve el problema planteado, vamos
hacer el algoritmo, recuerde estos pasos deben seguir un orden de precedencia, es decir cuál es primero
paso, luego el sigue el segundo paso, y así sucesivamente; usted podría hacer su propia forma desde
casa:
Y listo tenemos el algoritmo, esos son “el paso a paso”, a lo que nos hemos estado refiriendo;
notemos lo siguiente, que no existe un paso que diga” mover a la izquierda y bajar” o “mover a la
derecha y subir”, lo que observamos es que primero “movemos la pieza en una dirección” y luego
“la movemos en otra dirección”, ese nivel de desagregación del paso, es el que debemos de tener,
al momento de iniciar el aprendizaje de lógica de algoritmos.
Este mismo ejemplo lo podemos repetir en eventos de nuestra vida cotidiana, por ejemplo:
De la misma forma en actividades normales de una profesión, al momento de ejercer un cargo, todo
está basado en procesos, y los procesos son algoritmos, por ejemplo, vemos:
Todos estos contextos, se refieren a pasos ordenados, es la mejor forma de comprender algo
“detallando el paso a paso”, que para nosotros se refiere al diseño de algoritmos,
En la parte de proceso se plasman las 3 fase que realiza el computador al ejecutar un programa:
LEER(NOMBRE,APELLIDO,VALORHORA,HORASTRABAJADAS);
Las variables son separadas con comas y están encerradas entre paréntesis, la línea de LEER termina
con un punto y coma (;)
El proceso: corresponde a los cálculos que se realizarán sobre las variables de entrada, por ejemplo,
según los datos ingresados vamos a calcular el sueldo a pagar, entonces tenemos:
SUELDO=VALORHORA * HORASTRABAJADAS;
En este punto se detallan los cálculos que se realizan, cada cálculo termina con puto y coma (;) podemos
usar los paréntesis si el cálculo requiere agrupación de términos, los mismo que deben ser en orden
recuerde “el paso a paso”, en estos calculo aplicamos los operadores aritméticos de suma, resta,
multiplicación y división, según sea el caso.
La Salida: corresponde a la presentación de los resultados, que lo general no se presenta solo el valor
de las variables que contienen los cálculos de resultado, a la vez se usa una etiqueta para informar al
usuario a que corresponde la salida mostrada.
Usamos para la presentación de resultado la palabra ESCRIBIR y separamos con comas los mensajes de
salida, por ejemplo:
El siguiente procedimiento, corresponde al análisis del problema, es importante que los estudiantes que
recién inicial, el estudio de los algoritmos, aplique este proceso, que luego con la práctica, nos permitirá
omitir ciertos pasos, para ese punto son evidentes, pero para el iniciamos se recomienda hacerlo muy
detallado lo que llamamos el “paso a paso” del algoritmo.
Armemos una tabla de 3 columnas, en cada columna ubicamos el texto: ENTRADA – PROCESO – SALIDA:
Al momento de resolver el problema, podemos iniciar, definiendo cualquiera de las 3 fases, entrada,
proceso o salida, por eso es que debemos estar claros, que se realiza en cada fase, en resumen, quiere
decir que usted puede iniciar:
A continuación, vamos abordar las 3 formas, para que se observe el proceso, e iniciaremos resolviendo
primero la salida, por lo general es el estimo más fácil de asimilar.
Se anotan en la columna de la SALIDA, el resultado que se requiere para el algoritmo, si existen más
resultados, se anotan cada uno de ellos en forma de lista, en este punto se debe ser preciso y no
combinar resultados, es decir indicar solo un resultado por línea y el siguiente lo anotamos en las líneas
de abajo, el enunciado dice: que “requiere la suma de dos números”, y es lo que anotamos en la tabla
Ahora continuemos con las otras 2 fases, como las entradas no son indicadas en la redacción del
ejercicio, mejor abordaremos la fase de proceso.
En la fase de proceso, ponemos un ejemplo de los cálculos que nos piden, en el caso del ejercicio
planteado, dice que debemos sumar dos números, es decir algo así:
4+2
Y cuando hagamos un cálculo debemos poner el resultado que obtenemos, es decir lo correcto a
escribir seria:
En la última fase, que corresponde a la ENTRADA, nos preguntamos que se requiere para hacer cada
uno de los cálculos, y los anotamos en la columna de entrada, es decir anotamos los mismos valores
que escribimos en la columna de proceso, si son muchos datos de entrada, los podemos separar con
comas, es decir anotamos:
Entonces primero vamos a transformar en las variables, que vamos encontrando, por ejemplo, todas las
entradas deben de tener una variable que recepte el dato, así mismo todas las salidas deben de tener
una variable que reciba el resultado, entonces la tabla quedaría pasada a variables:
En el caso de la columna de PROCESO, debemos usar los nombres de variables definidas en la entrada y
la salida y remplazarlas en las expresiones de los cálculos, y aquel valor que no tiene una variable de
entrada asociada, debemos evaluar, si ese dato es una entrada y no fue considerado, esto lo evaluamos
diciendo, si es el usuario quien lo deba proporcionar, si es así, creamos la variable de entrada, y la
remplazamos en el cálculo, y si no es proporcionada por el usuario por ejemplo el cálculo del IVA, el
valor de porcentaje es del 12%, entonces el valor del porcentaje no tiene una variable de entrada, y lo
dejamos el valor tal cual en el cálculo.
Y en el caso de que no existe un cálculo de resultado, que tenga una variable correspondiente en el lado
de la salida, debemos de evaluar, si ese cálculo falta de especificar en la salida, y si es así lo agregamos
en la salida y creamos la variable correspondiente, o que solo corresponde a un cálculo intermedio, en
este caso creamos la variable nueva para el cálculo.
el paso siguiente es dejar a los cálculos, expresados en el formato que se aplica en los algoritmos, es
decir primo va la variable que recibe el cálculo y luego va la operación:
De esta forma tenemos realizado el análisis, y lo que toca ahora es diseñar el algoritmo, y lo haremos
usando lo que tenemos en la tabla que hemos construido, recordemos, un algoritmo tiene una parte
DECLARATIVA y otra de PROCESO, entonces armemos el algoritmo:
PROCESO
SUMA=NUMERO1+NUMERO2; En el proceso: listamos todos los cálculos, en el
orden que están listados en la tabla
SALIDA
ESCRIBIR(“LA SUMA ES: ”,SUMA);
En la salida: aplicamos la acción de ESCRIBIR, y
FIN
detallamos las variables que se presentaran, tal
como se detalla en la columna de SALIDA, usamos
texto para presentar los valores de resultado
Y de esta forma tenemos el algoritmo, es importante que el estudiante revise este procedimiento,
porque será el que deberá aplicar para la resolución de los ejercicios.
ahora vamos a resolver el mismo ejercicio, pero partiendo del análisis de los procesos:
En la fase de proceso, ponemos un ejemplo de los cálculos que nos piden, en el caso del ejercicio
planteado, dice que debemos sumar dos números, es decir algo así:
4+2
Y cuando hagamos un cálculo debemos poner el resultado que obtenemos, es decir lo correcto a
escribir seria:
4 + 2=6
Se anotan en la columna de la SALIDA, los resultados que se obtiene de cada uno de los cálculos de los
procesos, si es necesario podemos indicar a que se refiere el número, debemos comprobar en esta fase
si se está cumpliendo con los resultados que debe presentar el programa, por ejemplo:
En la última fase, que corresponde a la ENTRADA, nos preguntamos que se requiere para hacer cada
uno de los cálculos, y los anotamos en la columna de entrada, es decir anotamos los mismos valores
que escribimos en la columna de proceso, si son muchos datos de entrada, los podemos separar con
comas, es decir anotamos:
Primero vamos a transformar en las variables, que encontremos, por ejemplo, todas las entradas deben
de tener una variable que recepte el dato, así mismo todas las salidas deben de tener una variable que
reciba el resultado, entonces la tabla quedaría pasada a variables:
En el caso de la columna de PROCESO, debemos usar los nombres de variables definidas en la entrada y
la salida y remplazarlas en las expresiones de los cálculos, y aquel valor que no tiene una variable de
entrada asociada, debemos evaluar, si ese dato es una entrada y no fue considerado, esto lo evaluamos
diciendo, si es el usuario quien lo deba proporcionar, si es así, creamos la variable de entrada, y la
remplazamos en el cálculo, y si no es proporcionada por el usuario por ejemplo el cálculo del IVA, el
valor de porcentaje es del 12%, entonces el valor del porcentaje no tiene una variable de entrada, y lo
dejamos el valor tal cual en el cálculo.
Y en el caso de que no existe un cálculo de resultado, que tenga una variable correspondiente en el lado
de la salida, debemos de evaluar, si ese cálculo falta de especificar en la salida, y si es así lo agregamos
en la salida y creamos la variable correspondiente, o que solo corresponde a un cálculo intermedio, en
este caso creamos la variable nueva para el cálculo.
el paso siguiente es dejar a los cálculos, expresados en el formato que se aplica en los algoritmos, es
decir primo va la variable que recibe el cálculo y luego va la operación:
De esta forma tenemos realizado el análisis, y lo que toca ahora es diseñar el algoritmo, y lo haremos
usando lo que tenemos en la tabla que hemos construido, recordemos, un algoritmo tiene una parte
DECLARATIVA y otra de PROCESO, entonces armemos el algoritmo:
PROCESO
En el proceso: listamos todos los cálculos, en el
SUMA=NUMERO1+NUMERO2;
orden que están listados en la tabla
SALIDA
ESCRIBIR(“LA SUMA ES;”,SUMA); En la salida: aplicamos la acción de ESCRIBIR, y
FIN detallamos las variables que se presentaran, tal
como se detalla en la columna de SALIDA, usamos
texto para presentar los valores de resultado
Y de esta forma tenemos el algoritmo, es importante que el estudiante revise este procedimiento,
porque será el que deberá aplicar para la resolución de los ejercicios.
Se anotan en la columna de la ENTRADA, las variables que se especifican en el enunciado del problema,
en este caso, le enunciado no especifica, por tanto, sería complicado iniciar analizar desde este punto,
en el próximo ejercicio, usaremos este proceso pare resolver el algoritmo
Si las tuviéramos indicadas en el enunciado, tocaría listarlas en la columna ENTRADA, y de ahí repetir el
proceso tal como se hizo en los procedimientos anteriores
Resolvamos ahora a partir de las entradas, entonces tenemos, que solo se indica que a partir de las horas
trabajas se calcule el sueldo:
Luego podemos ir a la fase de PROCESO o de SALIDA, tomemos la de SALIDA, y tenemos como resultado
del algoritmo es presentar el sueldo del empleado
Continuemos con la última fase, que corresponde al proceso, recuerde en esta fase, debemos de hacer
un ejemplo del cálculo, recordemos que el ejercicio indica que se paga por cada hora trabajada $3, se
asigna datos ficticios para el desarrollo, entonces tendremos:
Ahora transformamos a variables, las ENTRADAS y las SALIDAS, y remplazamos estas variables en lo que
corresponda en PROCESO
HorasTrabajada SUELDO
En este punto vemos que el valor por hora, no es una variable, sino una constante, por eso no se le crea
una variable nueva.
ALGORITMO
DECLARACIÓN
HorasTrabajadas=0; SUELDO=0;
PROCESO
ENTRADA
LEER(horasTrabajadas);
PROCESO
SUELDO=horasTrabajadas+3;
SALIDA
ESCRIBIR(“EL SUELDO ES: ”,SUELDO);
FIN
Un granjero tiene como actividad la venta de leche, todos los días llena la caneca
de galón, con la producción del ordeño, y realiza la venta a una plata
pasteurizadora, que le compra la producción a $ 0.70, por cada litro, entonces el
productor requiere un programa que le permita saber cuánto ganará en la venta de
su producción
Como vemos, aquí ya se complicó un poco más, pero tranquilos, “la práctica hace al maestro”,
analizando el problema podemos darnos cuenta que al granjero le pasa es que su producción está en
galones y no en litro, entonces él no puede hacer el cálculo directamente, y decirle que cambien sus
embaces de litro, generaría gastos, y decirle a la empresa que ahora compre en galones, lo único q
causaría, es que se busque a otro grajero, para que les venda el producto, por tanto la solución es hacer
la conversión de galones a litro, es decir, determinar cuántos litros entran en una galón y con esa
transformación hacer el cálculo del valor a pagar, por tanto se define que:
Pasemos al proceso, recuerden en esta fase, hacemos un ejemplo con datos ficticios, para identificar
todos los cálculos
Como observamos requirió hacer un cálculo previo, para llegar al resultado requerido por el algoritmo
En esta fase requirió definir una variable más, que la llamamos LITROS, que no corresponde ni a la
ENTRADA o SALIDA.
ALGORITMO
DECLARACIÓN
PROCESO
ENTRADA
LEER(GalonesProduccion);
PROCESO
litros = galonesProduccion * 3.79;
ganancia =litros * 0.70;
SALIDA
ESCRIBIR(“LA GANANCIA ES: ”,ganancia);
FIN
Los siguientes recursos complementarios son sugerencias para que se pueda ampliar la
información sobre el tema trabajado, como parte de su proceso de aprendizaje autónomo:
Videos de apoyo:
Bibliografía de apoyo:
Links de apoyo:
Bibliografía
Alvarez, A. (27 de 02 de 2017). youtube. Obtenido de youtube :
https://www.youtube.com/watch?v=y7eyMeEZswg
Arshdeep, B., & Vijay, M. (2016). Big Data Science & Analytics: A Hands-On Approach. EEUU: VPT;
Edición: 1.
Deitel, H., & Deitel, P. (2004). CÓMO PROGRAMAR EN C, C++ Y JAVA. Mexico: PEARSON.
Diaz, I. G. (2017). Big Data para CEOs y Directores de Marketing: Como dominar Big Data Analytics en 5
semanas para directivos (Spanish Edition) . MADRID: Independently published .
Garcia, M., Alarcon, C., Angelone, L., Rosario, E., Pedro, C., Guspi, F., . . . Arteaga, J. (2014). Elementos
esenciales para programación: algoritmos y estructura de datos. Mexico: Proyecto Latin .
Jeremy, K., Hayden, J., & Charles E., L. (2018). Mathematics of Big Data: Spreadsheets, Databases,
Matrices, and Graphs. EEUU: The MIT Press .
Jones, H. (2018). iencia de los datos: Lo que saben los mejores científicos de datos sobre el análisis de
datos, minería de datos, estadísticas, aprendizaje automático ... Data - que usted desconoce
(Spanish Edition). MADRID: Independently published.
Mayer-Schönberger, V. (2014). Big Data: A Revolution That Will Transform How We Live, Work, and
Think. Great Britain: An Hachette.
Rodríguez, L. (2007). El gran libro del PC interno: programación de sistemas, hardware a fondo.
Mexico: Marcombo.
Stephens-Davidowitz, S. (2017). Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us
About Who We Really Are. EEUU: Dey Street Books.