Lectura de Introducción a la Programación y Ciencias de la Computación

Jul 13, 2024

Introducción a la Programación y Ciencias de la Computación en Python

Presentación

  • Orador: Anabelle (Anna Bell)
  • Curso: 6.111 y 6.000
  • Institución: MIT EECS Department
  • Contenido: Conceptos básicos de programación en Python

Agenda de la Clase

  1. Administración del Curso:
    • Información del curso
    • Recomendaciones para las clases grabadas
    • Uso de material proporcionado para seguir la clase
  2. Qué es la Computación:
    • Conceptos de alto nivel sobre lo que hacen las computadoras
    • Matemáticas básicas y operaciones en Python
  3. Python Básico:
    • Operaciones matemáticas
    • Variables y tipos en Python

Éxito en el Curso

  • **Recomendaciones: **
    • Leer los p-sets tan pronto salgan
    • Practica constante
    • No tener miedo de cometer errores

Estructura del Curso

  • Objetivos:
    • Conocimiento de conceptos
    • Habilidad de programación
    • Resolución de problemas a través del p-sets
  • Tres Secciones Principales:
    1. Aprender a programar (crear objetos, estructuras de datos, flujo de control)
    2. Escribir código legible y organizado
    3. Introducción a la ciencia de la computación (comparación y eficiencia de programas y algoritmos)

Conceptos Básicos de Computación

  • Funcionalidades de la Computadora:
    • Realizar cálculos rápidamente
    • Almacenar resultados
    • Tipos de cálculos: básicos y definidos por el usuario
  • Conocimiento Declarativo vs Imperativo:
    • Declarativo: Hechos y afirmaciones
    • Imperativo: Secuencia de pasos o instrucciones
    • Ejemplos ilustrativos: Ganador de un premio, cálculo de la raíz cuadrada
  • **Partes de un Algoritmo: **
    • Secuencia de pasos
    • Flujo de control (decisiones y repeticiones)
    • Método para detenerse

Tipos de Computadoras y Arquitectura Básica

  • Computadoras de Programa Fijo vs Programa Almacenado:
  • **Arquitectura del Computador: **
    • Memoria: datos y secuencias de instrucciones
    • ALU: unidad de lógica y aritmética para operaciones primitivas
    • Unidad de Control: maneja el flujo de instrucciones

Lenguajes de Programación y Primitivas

  • Resumen por Alan Turing: Se pueden computar todo usando seis primitivas
  • Primitivas del Lenguaje Programación:
    • Tipos de datos y operadores básicos
  • Expresiones y Sentencias en Python:

Objetos y Tipos en Python

  • Objetos Escalares vs No Escalares:
    • Escalares: int, float, bool, NoneType
    • No Escalares: estructuras con partes internas
  • **Comandos y Conversiones: **
    • type(obj) para obtener el tipo
    • float(int) y int(float) para conversiones entre tipos

Variables y Asignaciones

  • Asignación: variable = expresión
  • Reutilización y Reasignación de Nombres:
  • Importancia de Nombres Descriptivos:

Errores y Depuración

  • **Errores Sintácticos vs Errores de Semántica Estática: **
    • Sintácticos: Python los detecta fácilmente
    • Semántica Estática: más difíciles, el programa puede hacer algo diferente a lo esperado
  • Depuración y Testeo: Importancia en la programación

Ejecución y Control de Flujo

  • Comandos Básicos en el Shell y el Editor:
    • Diferencia entre imprimir y evaluar
    • Importancia de la práctica interactuando con Python

Próxima Clase

  • Control de flujo en los programas (decisiones y repeticiones)