A medida que aumenta la demanda de
programadores también aumenta la oferta, naturalmente; por lo tanto, te reunirás
con más personas que ingresan a la industria todos los días. Sin embargo, es
una industria competitiva. Para mejorar continuamente, desarrollar habilidades
y aumentar tu salario, debes demostrar que eres un programador competente. Una
forma de hacerlo es aprendiendo las cosas que la gente normalmente no sabe.
Mucha gente irrumpe en la industria
de la programación asumiendo que no es necesario conocer las matemáticas que hay detrás. Aunque esto es algo cierto,
ser capaz de comprender el concepto matemático lógico detrás de la programación
te convertirá en un programador más competente.
¿Cómo es eso? Entendiendo lo que
estás haciendo y lo que está sucediendo. Ahora mismo te explico.
Así que entremos directamente en
ello. ¿Cuáles son los 10 conceptos matemáticos que todo programador debe
conocer?
1. Álgebra de
Boole
El álgebra booleana surge del
álgebra. Supongo que eso era obvio. Si eres
programador o estás buscando convertirte en uno, probablemente ya sepas que
significa booleano. Si no, lo definiré rápidamente.
Booleano es un tipo de datos/variable
binaria que tiene uno de los dos valores posibles, por ejemplo 0 (falso) o 1
(verdadero). El tipo de datos booleano está respaldado por el álgebra booleana,
en la que los valores de la variable se conocen como valores de verdad,
verdadero y falso. Cuando se trabaja con álgebra booleana, hay tres operadores
que puedes utilizar:
- Conjunción u operación AND
- Disyunción u operación OR
- Negación o no operación
Estos se pueden representar
visualmente como diagramas de Venn, para brindarte una mejor comprensión del
resultado. El álgebra de Boole se compone de 6 leyes:
- Ley conmutativa
- Ley asociativa
- Ley distributiva
- Y ley
- O ley
- Ley de inversión
2. Sistemas
numéricos
Las computadoras entienden los
números y por eso necesitan un sistema numérico. Un sistema de numeración es un
sistema de escritura utilizado para expresar números. Por ejemplo, tienes estos
cuatro tipos de sistemas numéricos más comunes:
- Sistema numérico decimal (Base-10)
- Sistema de numeración binario
(Base-2) - Sistema numérico octal (Base-8)
- Sistema numérico hexadecimal
(Base-16)
Las computadoras funcionan con un
sistema numérico Base-2, donde los dígitos posibles son 0 y 1. Base64 también
se usa para codificar datos binarios en formato de cadena.
3. Coma
flotante
Para aprender más sobre los números
es necesario hablar de la coma flotante. Una coma flotante es un tipo de datos
variable que representa números reales como una aproximación. Un número de coma
flotante es un número en el que la posición del punto decimal puede moverse o
«flotar» en lugar de estar en una posición fija. Esto permite a los
desarrolladores hacer un equilibrio entre alcance y precisión.
Pero ¿por qué una aproximación? Las
computadoras solo tienen una cantidad limitada de espacio, ya sea 32 bits
(precisión simple) o 64 bits (precisión doble). 64 bits es el valor
predeterminado para lenguajes de programación como Python y JavaScript. Un ejemplo
de números de coma flotante son 1,29, 87,565 y 9038724,2. Puede ser un número
entero positivo o negativo con punto decimal.
4. Logaritmos
También conocido como log es un
concepto matemático que utiliza la inversa de exponenciales para responder la
pregunta. Entonces, ¿por qué los logaritmos son importantes para los
programadores? Porque simplifica los cálculos matemáticos complejos. Por ejemplo,
1000 = 10^4 también se puede escribir como 4 = log101000.
El número base es un objeto
matemático que debe multiplicarse por sí mismo. El exponente es un número que
identifica cuántas veces se debe multiplicar un número base por sí mismo. Por
tanto, un logaritmo es un exponente que indica a qué potencia se debe elevar
una base para producir un número determinado.
Cuando log usa Base-2 es un logaritmo
binario, y si es Base-10 es un logaritmo común.
5. Teoría de
conjuntos
Un conjunto es una colección única de
valores desordenados, que no necesitan tener ninguna relación entre sí. Solo
pueden contener elementos únicos y no pueden contener el mismo elemento dos o
más veces.
Por ejemplo, los archivos de Excel
o una base de datos contienen tablas que tienen un conjunto de filas únicas.
Este es un tipo de matemática discreta ya que estas estructuras pueden tener un
número finito de elementos. El objetivo de la teoría de conjuntos es comprender
las colecciones de valores y las relaciones entre sí. Normalmente se utiliza
para analistas de datos, expertos en SQL y científicos de datos.
Puedes hacer esto usando:
- Unión o intersección interna:
devuelve un conjunto que contiene elementos que están presentes en ambos
conjuntos. - Unión o unión externa: devuelve
elementos de ambos conjuntos - Unión todo: igual que el operador de
unión externa, pero contendrá todos los duplicados. - Excepto o menos: A menos B es un
conjunto que contiene elementos del conjunto A que no son elementos del
conjunto B.
6. Combinatoria
La combinatoria es el arte de contar
cosas para obtener resultados y comprender ciertas propiedades de estructuras
finitas a través de patrones. La programación se trata de resolver problemas y
la combinatoria es la forma en que podemos organizar objetos para estudiar
estas estructuras finitas y discretas.
La fórmula combinatoria es una
combinación de permutación y combinación.
- La permutación es el acto de
organizar un conjunto en algún orden o secuencia. - La combinación es la selección de
valores del conjunto donde no se tiene en cuenta el orden.
7. Teoría de
grafos
Como ya sabes, un gráfico es una
representación visual de un conjunto de valores y estos valores se pueden
conectar. Cuando se trata de datos, estos valores están conectados debido a
variables, que en teoría de grafos se conocen como vínculos.
La teoría de grafos es el estudio de
gráficos relacionados con la relación entre aristas y vértices de conjuntos de
puntos conectados. Esto nos permite crear una relación de pares entre objetos
usando los vértices, también conocidos como nodos que están conectados por los
bordes, conocidos como líneas. Un gráfico se representa como un par G (V, E),
donde V representa los vértices del conjunto finito y E representa las aristas
del conjunto finito.
8. Teoría de
la complejidad
La teoría de la complejidad es el
estudio de la cantidad de tiempo y memoria que necesita para ejecutarse un
algoritmo en función del tamaño de entrada. Hay dos tipos de complejidades:
- Complejidad del espacio: la cantidad
de memoria que necesita un algoritmo para ejecutarse. - Complejidad del tiempo: la cantidad
de tiempo que necesita para ejecutarse un algoritmo.
Cada vez más personas están
preocupadas por la complejidad del tiempo, ya que podemos reutilizar la memoria
de un algoritmo. Cuando se trata de complejidad temporal, la mejor manera de
medirla es considerando la cantidad de operaciones que realiza el algoritmo.
Los algoritmos se construyen utilizando sentencias if y bucles, por lo tanto,
para reducir el tiempo invertido, deseas utilizar código que tenga la menor
cantidad posible de sentencias if y bucles.
La teoría de la complejidad de los
algoritmos utiliza la notación o grande para ayudar a describir y proporcionar
una mejor comprensión del comportamiento limitante de un algoritmo. Se utiliza
para clasificar algoritmos según cómo responden a cambios en el tamaño de
entrada.
9. Estadísticas
Aaah, estadísticas. Si deseas adentrarte
en la inteligencia artificial,
necesitas conocimientos de estadística. La inteligencia artificial y el aprendizaje automático son buenos nombres que
se utilizan para las estadísticas. La programación estadística se utiliza para
resolver problemas con muchos datos, como ChatGPT.
Las respuestas de ChatGPT se basan
en la probabilidad de coincidir con el mensaje proporcionado por el usuario.
Necesitarás aprender más que la
media, la mediana y la moda cuando se trata de programación estadística.
Necesitará aprender sobre el sesgo, la covarianza y el teorema de Bayes. Como
programador, se te asignarán tareas y te darás cuenta de que te preguntarás si
se trata de un problema de regresión lineal o de un problema de regresión
logística. Comprender la diferencia entre los dos te ayudará a identificar qué
tipo de tarea tienes entre manos.
10. Álgebra
lineal
Es posible que hayas estudiado
álgebra lineal en la escuela, o puede que no. El álgebra lineal es muy
importante y se usa ampliamente en gráficos por computadora y aprendizaje
profundo. Para comprender el álgebra lineal, necesitarás comprender estas tres
palabras:
- Escalar: un valor numérico único
- Vector: Una lista de números o una
matriz unidimensional - Matriz: una cuadrícula o una matriz
bidimensional
Los vectores pueden representar
puntos y la dirección en un espacio 3D, mientras que las matrices pueden
representar transformaciones que les suceden a estos vectores.
Adentrándote en la matemática para programar
Este artículo te proporciona una
descripción general rápida de los 10 conceptos matemáticos principales que
mejorarán tu carrera en programación. Aprender las complejidades no sólo hará
que tus tareas diarias sean más fluidas y fáciles de entender, sino que también
podrá mostrarle a tu empleador tu potencial.
10 mitos sobre la programación y el desarrollo de software que debes conocer