SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
1
Introducción a
Python
Programación para el Análisis
Exploratorio de Datos
1
Ver más…
https://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-0001-introduction-to-computer-science-and-programmi
ng-in-python-fall-2016/
2
Ver más…
Guttag, John. Introduction to
Computation and
Programming Using Python:
With Application to
Understanding Data Second
Edition. MIT Press, 2016.
ISBN: 9780262529624.
3
¿Qué hace una computadora?
● Fundamentalmente,
○ realiza cálculos
○ un billón de cálculos por segundo
○ “memoriza” los resultados (100s de gigabytes de almacenamiento!)
● ¿Qué tipos de cálculos?
○ Los que nos ofrece el lenguaje de programación
○ Definidos por programación
● …las computadoras solo saben lo que se les “dice”
Traducido de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 4
Tipos de Conocimiento
● El conocimiento declarativo es un enunciado de hechos
○ “Hoy elegiremos delegad@”
● El conocimiento imperativo es un “tutorial” o receta:
○ 1 - El profesor solicita voluntari@s
○ 2 - L@s estudiantes voluntari@s se identifican
○ 3 - Se realiza una votación
○ 4 - Se elige a quién obtenga una mayor votación
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 5
Un ejemplo numérico
● La raíz cuadrada de un número x es y tal que y*y = x
● Una “receta” para deducir la raíz cuadrada de un número x (16)
○ 1. Adivinemos un número g
○ 2. Si g*g está lo suficientemente cerca a x, detenerse y decir
que g es la respuesta
○ 3. Caso contrario, proponer una nueva estimativa al promediar g
y x/g
○ 4. Usando la nueva propuesta, repetir el proceso hasta que esté
lo suficientemente cerca
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 6
Un ejemplo numérico
Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf
g g*g x/g (g+x/g)/2
x = 16
7
Un ejemplo numérico
Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf
g g*g x/g (g+x/g)/2
3 9 16/3 4.17
x = 16
8
Un ejemplo numérico
Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf
g g*g x/g (g+x/g)/2
3 9 16/3 4.17
x = 16
9
Un ejemplo numérico
Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf
g g*g x/g (g+x/g)/2
3 9 16/3 4.17
4.17 17.36 3.837 4.0035
x = 16
10
Un ejemplo numérico
Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf
g g*g x/g (g+x/g)/2
3 9 16/3 4.17
4.17 17.36 3.837 4.0035
x = 16
11
Un ejemplo numérico
Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf
g g*g x/g (g+x/g)/2
3 9 16/3 4.17
4.17 17.36 3.837 4.0035
x = 16
12
Un ejemplo numérico
Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf
g g*g x/g (g+x/g)/2
3 9 16/3 4.17
4.17 17.36 3.837 4.0035
4.0035 16.0277 3.997 4.000002
x = 16
13
Un ejemplo numérico
Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf
g g*g x/g (g+x/g)/2
3 9 16/3 4.17
4.17 17.36 3.837 4.0035
4.0035 16.0277 3.997 4.000002
x = 16
14
Un ejemplo numérico
Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf
g g*g x/g (g+x/g)/2
3 9 16/3 4.17
4.17 17.36 3.837 4.0035
4.0035 16.0277 3.997 4.000002
x = 16
15
¿Qué es una receta?
1. Una secuencia de pasos simples
2. Un proceso de control de flujo que especifica cuándo es que
debemos realizar cada paso
3. Tener una forma de determinar cuándo detenerse
1+2+3 = es un algoritmo!
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 16
The exact
instructions
challenge
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 17
Las computadoras son máquinas
● ¿Cómo capturar una receta en un
proceso mecánico?
● computadoras de programa fijo
○ por ej. calculadora
● computadoras con programa
almacenado
○ la máquina guarda y ejecuta
instrucciones
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 18
Arquitectura básica de una computadora
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf
Memoria
Unidad de Control
contador del
programa
Unidad aritmética
lógica
operaciones
primitivas
input output
19
Computadoras de programa almacenados (1/2)
● La secuencia de instrucciones almacenadas dentro de la
computadora
○ construidas sobre un conjunto de instrucciones
primitivas
■ aritméticas y lógicas
■ pruebas simples (por ej. comparaciones)
■ mover datos
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 20
Computadoras de programa almacenados (2/2)
● un programa especial (“intérprete”) ejecuta cada
instrucción en orden
○ usa pruebas (por ej. comparaciones) para cambiar el
control de flujo a lo largo de la secuencia
○ se detiene al terminar
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 21
Primitivas básicas
● Turing mostró que se puede calcular todo usando
6 primitivas
● Los lenguajes de programación modernos tienen
un conjunto de primitivas más convenientes
● Se pueden “abstraer” métodos para crear nuevas
primitivas
● Algo computable en un lenguaje es computable
en cualquier lenguaje
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 22
Creando recetas
● un lenguaje de programación ofrece un conjunto de
operaciones primitivas
● las expresiones son combinaciones “legales” elaboradas
(permitidas) en un lenguaje de programación
● Las expresiones y la computación tienen valores y
significado en un lenguaje de programación
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 23
Aspectos de los lenguajes (1/4)
● constructos primitivos
○ Español: palabras
○ Lenguaje de programación: números, cadenas,
operadores simples
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 24
Aspectos de los lenguajes (2/4)
● sintaxis
○ español:
■ “voy computadora clases” → no válido sintácticamente
■ “voy a clases” → válido sintácticamente
○ lenguaje de programación:
■ “hi”5 → no válido sintácticamente
■ 3.2 * 5 → válido sintácticamente
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 25
Aspectos de los lenguajes (3/4)
● semántica estática son las cadenas válidas sintácticamente que
además tienen significado
○ español:
■ “Yo tener hambre” → sintácticamente válido
pero tiene un error de semántica estática
○ lenguaje de programación:
■ 3.2 * 5 → válido sintácticamente
■ 3+”hola” → error de semántica estática
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 26
Aspectos de los lenguajes (4/4)
● semántica es el significado asociado a cadenas de
símbolos sintácticamente correctos sin errores de
semántica estática
○ español:
■ …puede tener múltiples significados “te
esperé en el banco del parque”
○ lenguaje de programación:
■ … tienen un único significado, pero podría ser
diferente al que queríamos
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 27
¿Dónde cometemos errores? (1/2)
● errores sintácticos
○ fáciles de detectar
● errores de semántica estática
○ algunos lenguajes de programación revisan estos
potenciales errores
○ pueden generar comportamiento no previsto
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 28
¿Dónde cometemos errores? (2/2)
● sin errores semánticos, pero con un significado diferente a
nuestra intención
○ el programa se cae, se detiene la ejecución
○ el programa se ejecuta por siempre
○ el programa retorna una respuesta diferente a la
esperada
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 29
Programas en Python
● un programa es una secuencia de definiciones y comandos
○ las definiciones son evaluadas
○ los comandos son ejecutados por el intérprete de python
en un shell
● los comandos (o “statements”) indican al intérprete que debe
hacer algo
● puede ser tipeado directamente en el shell o guardado en un
archivo que es leído por el shell.
Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts
Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu
re-slides-code/MIT6_0001F16_Lec1.pdf 30
Python: un lenguaje de programación en crecimiento
https://news.codecadem
y.com/why-learn-python/
31
¿Quiénes usan Python?
https://stac
kshare.io/p
ython 32
Desarrollo de Python
● Diseñado por Guido van Rossum en 1991
● El soporte para Python 2.x finalizó el 1 de
enero del 2020
● La versión actual con soporte es la rama 3.x y
comenzó en Diciembre del 2008.
https://www.geeksforgeeks.org/history-of-python/ 33
Entrevista a Guido van Rossum
https://www.youtube.com/watch?v=J0Aq44Pze-w 34

Más contenido relacionado

Similar a Intro Python EDA

Covid19 map presentation
Covid19 map presentationCovid19 map presentation
Covid19 map presentationDaliya Spasova
 
Unidad V Python proyecto ingeniería hidráulica calculo de ejes hidráulicos
Unidad V  Python proyecto ingeniería hidráulica calculo de ejes hidráulicosUnidad V  Python proyecto ingeniería hidráulica calculo de ejes hidráulicos
Unidad V Python proyecto ingeniería hidráulica calculo de ejes hidráulicosSistemadeEstudiosMed
 
HPC course on MPI, PETSC, and OpenMP
HPC course on MPI, PETSC, and OpenMPHPC course on MPI, PETSC, and OpenMP
HPC course on MPI, PETSC, and OpenMPStorti Mario
 
Mariluz Congosto (2019). Social network analysis: una herramienta para desenm...
Mariluz Congosto (2019). Social network analysis: una herramienta para desenm...Mariluz Congosto (2019). Social network analysis: una herramienta para desenm...
Mariluz Congosto (2019). Social network analysis: una herramienta para desenm...cricc
 
Practicas 2 2016
Practicas 2 2016Practicas 2 2016
Practicas 2 2016Tensor
 
PyQgis gpul-lab Univerisity of A Coruña 20160413
PyQgis gpul-lab Univerisity of A Coruña 20160413PyQgis gpul-lab Univerisity of A Coruña 20160413
PyQgis gpul-lab Univerisity of A Coruña 20160413Luigi Pirelli
 
Técnicas para la programación de proyectos - PERT
Técnicas para la programación de proyectos - PERTTécnicas para la programación de proyectos - PERT
Técnicas para la programación de proyectos - PERTJesús Hernández
 
Linux en súperservidores
Linux en súperservidoresLinux en súperservidores
Linux en súperservidoresprofesorgavit0
 
Latinoware: Robots libres e Imprimibles
Latinoware: Robots libres e ImprimiblesLatinoware: Robots libres e Imprimibles
Latinoware: Robots libres e Imprimiblesobijuan_cube
 
Pensamiento computacional en los estudios preuniversitarios. El enfoque de TA...
Pensamiento computacional en los estudios preuniversitarios. El enfoque de TA...Pensamiento computacional en los estudios preuniversitarios. El enfoque de TA...
Pensamiento computacional en los estudios preuniversitarios. El enfoque de TA...Grial - University of Salamanca
 
tecnologia
tecnologiatecnologia
tecnologiayussting
 
tecnologia
tecnologiatecnologia
tecnologiayussting
 
Robots libres e Imprimibles
Robots libres e ImprimiblesRobots libres e Imprimibles
Robots libres e Imprimiblesobijuan_cube
 
Performance and scalability prediction in HPC systems
Performance and scalability prediction in HPC systemsPerformance and scalability prediction in HPC systems
Performance and scalability prediction in HPC systemsFacultad de Informática UCM
 
Fundamentos de la programación · Cibergrafía
Fundamentos de la programación · Cibergrafía Fundamentos de la programación · Cibergrafía
Fundamentos de la programación · Cibergrafía Filip Vermeulen
 
Colaboración entre PDI (1): Estadística y Gráficos Científicos con R.
Colaboración entre PDI (1): Estadística y Gráficos Científicos con R.Colaboración entre PDI (1): Estadística y Gráficos Científicos con R.
Colaboración entre PDI (1): Estadística y Gráficos Científicos con R.Xavier de Pedro
 

Similar a Intro Python EDA (20)

Covid19 map presentation
Covid19 map presentationCovid19 map presentation
Covid19 map presentation
 
Unidad V Python proyecto ingeniería hidráulica calculo de ejes hidráulicos
Unidad V  Python proyecto ingeniería hidráulica calculo de ejes hidráulicosUnidad V  Python proyecto ingeniería hidráulica calculo de ejes hidráulicos
Unidad V Python proyecto ingeniería hidráulica calculo de ejes hidráulicos
 
HPC course on MPI, PETSC, and OpenMP
HPC course on MPI, PETSC, and OpenMPHPC course on MPI, PETSC, and OpenMP
HPC course on MPI, PETSC, and OpenMP
 
Mariluz Congosto (2019). Social network analysis: una herramienta para desenm...
Mariluz Congosto (2019). Social network analysis: una herramienta para desenm...Mariluz Congosto (2019). Social network analysis: una herramienta para desenm...
Mariluz Congosto (2019). Social network analysis: una herramienta para desenm...
 
PROGRAMACION PYQT5
PROGRAMACION PYQT5PROGRAMACION PYQT5
PROGRAMACION PYQT5
 
Practicas 2 2016
Practicas 2 2016Practicas 2 2016
Practicas 2 2016
 
PyQgis gpul-lab Univerisity of A Coruña 20160413
PyQgis gpul-lab Univerisity of A Coruña 20160413PyQgis gpul-lab Univerisity of A Coruña 20160413
PyQgis gpul-lab Univerisity of A Coruña 20160413
 
Técnicas para la programación de proyectos - PERT
Técnicas para la programación de proyectos - PERTTécnicas para la programación de proyectos - PERT
Técnicas para la programación de proyectos - PERT
 
Big Data: Experiencias (académicas) reales
Big Data: Experiencias (académicas) realesBig Data: Experiencias (académicas) reales
Big Data: Experiencias (académicas) reales
 
Linux en súperservidores
Linux en súperservidoresLinux en súperservidores
Linux en súperservidores
 
Latinoware: Robots libres e Imprimibles
Latinoware: Robots libres e ImprimiblesLatinoware: Robots libres e Imprimibles
Latinoware: Robots libres e Imprimibles
 
Pensamiento computacional en los estudios preuniversitarios. El enfoque de TA...
Pensamiento computacional en los estudios preuniversitarios. El enfoque de TA...Pensamiento computacional en los estudios preuniversitarios. El enfoque de TA...
Pensamiento computacional en los estudios preuniversitarios. El enfoque de TA...
 
tecnologia
tecnologiatecnologia
tecnologia
 
tecnologia
tecnologiatecnologia
tecnologia
 
Robots libres e Imprimibles
Robots libres e ImprimiblesRobots libres e Imprimibles
Robots libres e Imprimibles
 
Estrategias de apoyo 2023.docx
Estrategias de apoyo 2023.docxEstrategias de apoyo 2023.docx
Estrategias de apoyo 2023.docx
 
Performance and scalability prediction in HPC systems
Performance and scalability prediction in HPC systemsPerformance and scalability prediction in HPC systems
Performance and scalability prediction in HPC systems
 
Fundamentos de la programación · Cibergrafía
Fundamentos de la programación · Cibergrafía Fundamentos de la programación · Cibergrafía
Fundamentos de la programación · Cibergrafía
 
Machine learning automatizado
Machine learning automatizadoMachine learning automatizado
Machine learning automatizado
 
Colaboración entre PDI (1): Estadística y Gráficos Científicos con R.
Colaboración entre PDI (1): Estadística y Gráficos Científicos con R.Colaboración entre PDI (1): Estadística y Gráficos Científicos con R.
Colaboración entre PDI (1): Estadística y Gráficos Científicos con R.
 

Último

Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfRodrigoBenitez38
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaSilvia García
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfEDUARDO MAMANI MAMANI
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfGEINER22
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 

Último (20)

Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y química
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdf
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 

Intro Python EDA

  • 1. 1 Introducción a Python Programación para el Análisis Exploratorio de Datos 1
  • 3. Ver más… Guttag, John. Introduction to Computation and Programming Using Python: With Application to Understanding Data Second Edition. MIT Press, 2016. ISBN: 9780262529624. 3
  • 4. ¿Qué hace una computadora? ● Fundamentalmente, ○ realiza cálculos ○ un billón de cálculos por segundo ○ “memoriza” los resultados (100s de gigabytes de almacenamiento!) ● ¿Qué tipos de cálculos? ○ Los que nos ofrece el lenguaje de programación ○ Definidos por programación ● …las computadoras solo saben lo que se les “dice” Traducido de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 4
  • 5. Tipos de Conocimiento ● El conocimiento declarativo es un enunciado de hechos ○ “Hoy elegiremos delegad@” ● El conocimiento imperativo es un “tutorial” o receta: ○ 1 - El profesor solicita voluntari@s ○ 2 - L@s estudiantes voluntari@s se identifican ○ 3 - Se realiza una votación ○ 4 - Se elige a quién obtenga una mayor votación Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 5
  • 6. Un ejemplo numérico ● La raíz cuadrada de un número x es y tal que y*y = x ● Una “receta” para deducir la raíz cuadrada de un número x (16) ○ 1. Adivinemos un número g ○ 2. Si g*g está lo suficientemente cerca a x, detenerse y decir que g es la respuesta ○ 3. Caso contrario, proponer una nueva estimativa al promediar g y x/g ○ 4. Usando la nueva propuesta, repetir el proceso hasta que esté lo suficientemente cerca Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 6
  • 7. Un ejemplo numérico Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf g g*g x/g (g+x/g)/2 x = 16 7
  • 8. Un ejemplo numérico Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf g g*g x/g (g+x/g)/2 3 9 16/3 4.17 x = 16 8
  • 9. Un ejemplo numérico Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf g g*g x/g (g+x/g)/2 3 9 16/3 4.17 x = 16 9
  • 10. Un ejemplo numérico Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf g g*g x/g (g+x/g)/2 3 9 16/3 4.17 4.17 17.36 3.837 4.0035 x = 16 10
  • 11. Un ejemplo numérico Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf g g*g x/g (g+x/g)/2 3 9 16/3 4.17 4.17 17.36 3.837 4.0035 x = 16 11
  • 12. Un ejemplo numérico Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf g g*g x/g (g+x/g)/2 3 9 16/3 4.17 4.17 17.36 3.837 4.0035 x = 16 12
  • 13. Un ejemplo numérico Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf g g*g x/g (g+x/g)/2 3 9 16/3 4.17 4.17 17.36 3.837 4.0035 4.0035 16.0277 3.997 4.000002 x = 16 13
  • 14. Un ejemplo numérico Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf g g*g x/g (g+x/g)/2 3 9 16/3 4.17 4.17 17.36 3.837 4.0035 4.0035 16.0277 3.997 4.000002 x = 16 14
  • 15. Un ejemplo numérico Tomado de: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf g g*g x/g (g+x/g)/2 3 9 16/3 4.17 4.17 17.36 3.837 4.0035 4.0035 16.0277 3.997 4.000002 x = 16 15
  • 16. ¿Qué es una receta? 1. Una secuencia de pasos simples 2. Un proceso de control de flujo que especifica cuándo es que debemos realizar cada paso 3. Tener una forma de determinar cuándo detenerse 1+2+3 = es un algoritmo! Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 16
  • 17. The exact instructions challenge Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 17
  • 18. Las computadoras son máquinas ● ¿Cómo capturar una receta en un proceso mecánico? ● computadoras de programa fijo ○ por ej. calculadora ● computadoras con programa almacenado ○ la máquina guarda y ejecuta instrucciones Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 18
  • 19. Arquitectura básica de una computadora Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf Memoria Unidad de Control contador del programa Unidad aritmética lógica operaciones primitivas input output 19
  • 20. Computadoras de programa almacenados (1/2) ● La secuencia de instrucciones almacenadas dentro de la computadora ○ construidas sobre un conjunto de instrucciones primitivas ■ aritméticas y lógicas ■ pruebas simples (por ej. comparaciones) ■ mover datos Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 20
  • 21. Computadoras de programa almacenados (2/2) ● un programa especial (“intérprete”) ejecuta cada instrucción en orden ○ usa pruebas (por ej. comparaciones) para cambiar el control de flujo a lo largo de la secuencia ○ se detiene al terminar Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 21
  • 22. Primitivas básicas ● Turing mostró que se puede calcular todo usando 6 primitivas ● Los lenguajes de programación modernos tienen un conjunto de primitivas más convenientes ● Se pueden “abstraer” métodos para crear nuevas primitivas ● Algo computable en un lenguaje es computable en cualquier lenguaje Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 22
  • 23. Creando recetas ● un lenguaje de programación ofrece un conjunto de operaciones primitivas ● las expresiones son combinaciones “legales” elaboradas (permitidas) en un lenguaje de programación ● Las expresiones y la computación tienen valores y significado en un lenguaje de programación Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 23
  • 24. Aspectos de los lenguajes (1/4) ● constructos primitivos ○ Español: palabras ○ Lenguaje de programación: números, cadenas, operadores simples Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 24
  • 25. Aspectos de los lenguajes (2/4) ● sintaxis ○ español: ■ “voy computadora clases” → no válido sintácticamente ■ “voy a clases” → válido sintácticamente ○ lenguaje de programación: ■ “hi”5 → no válido sintácticamente ■ 3.2 * 5 → válido sintácticamente Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 25
  • 26. Aspectos de los lenguajes (3/4) ● semántica estática son las cadenas válidas sintácticamente que además tienen significado ○ español: ■ “Yo tener hambre” → sintácticamente válido pero tiene un error de semántica estática ○ lenguaje de programación: ■ 3.2 * 5 → válido sintácticamente ■ 3+”hola” → error de semántica estática Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 26
  • 27. Aspectos de los lenguajes (4/4) ● semántica es el significado asociado a cadenas de símbolos sintácticamente correctos sin errores de semántica estática ○ español: ■ …puede tener múltiples significados “te esperé en el banco del parque” ○ lenguaje de programación: ■ … tienen un único significado, pero podría ser diferente al que queríamos Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 27
  • 28. ¿Dónde cometemos errores? (1/2) ● errores sintácticos ○ fáciles de detectar ● errores de semántica estática ○ algunos lenguajes de programación revisan estos potenciales errores ○ pueden generar comportamiento no previsto Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 28
  • 29. ¿Dónde cometemos errores? (2/2) ● sin errores semánticos, pero con un significado diferente a nuestra intención ○ el programa se cae, se detiene la ejecución ○ el programa se ejecuta por siempre ○ el programa retorna una respuesta diferente a la esperada Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 29
  • 30. Programas en Python ● un programa es una secuencia de definiciones y comandos ○ las definiciones son evaluadas ○ los comandos son ejecutados por el intérprete de python en un shell ● los comandos (o “statements”) indican al intérprete que debe hacer algo ● puede ser tipeado directamente en el shell o guardado en un archivo que es leído por el shell. Basado en: Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA. https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lectu re-slides-code/MIT6_0001F16_Lec1.pdf 30
  • 31. Python: un lenguaje de programación en crecimiento https://news.codecadem y.com/why-learn-python/ 31
  • 33. Desarrollo de Python ● Diseñado por Guido van Rossum en 1991 ● El soporte para Python 2.x finalizó el 1 de enero del 2020 ● La versión actual con soporte es la rama 3.x y comenzó en Diciembre del 2008. https://www.geeksforgeeks.org/history-of-python/ 33
  • 34. Entrevista a Guido van Rossum https://www.youtube.com/watch?v=J0Aq44Pze-w 34