Pensamiento computacional para ingeniería
Dr. Rafael Martínez Martínez
ramartinezr@tec.mx
Contenido
1. Lenguajes de programación
2. Tipos de datos
Algoritmo.
Descripción del método mediante el cual se realiza una tarea (algoritmo para encontrar máximos y mínimos)
Características
- Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
- Un algoritmo debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez
- Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe de terminar en algún momento.
Lenguajes de programación
Representaciones de los algoritmos
- Diagramas de flujo. Forma gráfica para describir un algoritmo
- Pseudocódigo. Manera "informal" de describir un algoritmo
Lenguajes de programación
Imagen tomada del enlace
Imagen tomada del enlace
Lenguaje de programación.
Es un lenguaje formal (símbolos y reglas) usado en una computadora para implementar algoritmos.
Elementos
- Conjunto de operaciones primitivas (números, cadenas, operaciones)
-
Mecanismos para combinar primitivas y formar expresiones más complejas
- Sintaxis. Cómo se escriben las cosas (2.5 + 2.1)
- Semántica. Qué significan las cosas (2.3 / 'a')
- Mecanismos para deducir el significado o valores asociados con los cálculos o expresiones
Lenguajes de programación
Objetivo inicial
Aprender la sintaxis y semántica del lenguaje de programación Python para implementar algoritmos que dan solución a problemas específicos.
¿Por qué Python?
- Existen varias razones (¿Podrías investigar 2?)
- Es multiparadigma ¿? (imperativo, orientado a objetos)
Lenguajes de programación
Python es un lenguaje de programación que se concibió a finales de 1980 por Guido van Rossum. El nombre de Python se deriva de la serie de televisión Monty Python's Flying Circus.
¿Cuántos lenguajes de programación existen?
Lenguajes de programación
No aprendas un lenguaje de programación aprende los conceptos de programación para buscar las implementaciones (sintaxis) de tu interés
parte1 = 'Hola'
parte2 = 'mundo'
completo = parte1 + "-" + parte2
parte1 = 'Hola';
parte2 = 'Mundo';
completo = strcat(parte1,'-',parte2)
parte1 <- 'Hola';
parte2 <- 'Mundo';
completo <- paste(parte1,'-',parte2)
#include <stdio.h>
#include <string.h>
int main()
{
char str[80];
strcpy(str, "Hola");
strcat(str, "-");
strcat(str, "Mundo");
printf("%s",str);
return 0;
}
Tipos de datos básicos
Numéricos
{
- Enteros
- Flotantes
Complejos
Secuencias
{
- Mutables
- Inmutables
{
{
- Cadenas de caracteres
- Tuplas
Bytes
- Listas
Colección de bytesOtros
- int
- bool
{
Otros tipos: Conjuntos, Mapeos (diccionarios), invocables (funciones, métodos, clases, y otros), Módulos, etc.
Laboratorio 3
1. Divulgación
2. Funciones y Métodos
3. Ciclos
Uso de datos
Divulgación
Machine Learning, Evaluación de Impacto enlace
Divulgación
Laboratorio 4
1. Divulgación
2. Control de excepciones
¿Quién tiene el poder en internet?
Divulgación
¿Cuántas exepciones existen?
- ArithmeticError
- BufferError
- IndexError
- ...
- ...
- ...
Control de excepciones
Laboratorio 5
1. Divulgación
2. Paradigmas
3. Comprensión
4. Lambdas
5. Recursión
¿De qué es capaz la inteligencia artificial?
Divulgación
Un paradigma de programación indica un método de realizar cómputos y la manera en que se deben estructurar y organizar las tareas que debe llevar a cabo un programa
- Imperativo (estructurado, procedimental)
- Declarativo (funcional, lógico, ...)
- ...
- ...
- Orientado a objetos
Paradigmas de programación
Laboratorio 6
1. Divulgación
2. Árboles (clasificación)
3. Estructuras
Cómo cambia nuestra sociedad la inteligencia artificial
Divulgación
Laboratorio 7
1. Divulgación
2. Dudas
Límites éticos para la inteligencia artificial
Divulgación
Laboratorio 8
1. Divulgación
2. NumPy
3. pandas
Divulgación
Laboratorio 9
1. NumPy II
2. pandas II
Laboratorio 10
1. Ejemplos NumPy
2. Ejemplos pandas
Laboratorio 11
1. Análisis exploratorio de datos
2. Expresiones regulares
2. Scraping
Laboratorio 12
1. Visualización
2. Tableros
Laboratorio 13
1. Regresión
2. ML
Pensamiento Computacional
By ra_fa
Pensamiento Computacional
Slides para PC
- 299