Perfilado de sección

  • Curso de Python y Colab de Google

    Bienvenidos al curso "Python y Colab de Google". Este programa de formación ha sido diseñado estructuralmente para guiar al estudiante desde los fundamentos lógicos de la programación hasta el desarrollo de soluciones analíticas basadas en Inteligencia Artificial. La plataforma de aprendizaje se sustentará íntegramente en la nube a través de Google Colab, eliminando las barreras de configuración local y permitiendo una inmersión inmediata en la escritura y ejecución de código. Las actividades están planificadas bajo una metodología eminentemente práctica, donde la teoría se consolida mediante la experimentación y el aprendizaje colaborativo.

    A lo largo de los módulos, los estudiantes adquirirán competencias en el manejo de estructuras de datos, programación orientada a objetos y las bibliotecas estándar requeridas para la ciencia de datos. Hacia el tramo final, el curso abordará la construcción de modelos predictivos y redes neuronales artificiales, sentando las bases teóricas y prácticas para explorar arquitecturas cognitivas más complejas en el futuro. Cada unidad culmina con un espacio interactivo de foro diseñado para fomentar el pensamiento crítico, la resolución de problemas y la interacción académica entre pares.

    Dr. Pedro Salcedo Lagos

    Más información del autor:   Scholar.google - Researchgate

  • Google Colaboratory, o "Colab", es un entorno de desarrollo interactivo basado en la nube que permite escribir y ejecutar código Python directamente desde el navegador. Este módulo establece los cimientos del curso, guiando al estudiante en la creación de sus primeras libretas (notebooks) y familiarizándolo con una interfaz intuitiva. Se explorarán las ventajas tangibles de utilizar una plataforma alojada, destacando cómo facilita la colaboración en tiempo real y democratiza el acceso a recursos computacionales de alto nivel.

    Durante esta unidad, se abordará la convivencia entre bloques de texto enriquecido (Markdown) y celdas lógicas de código. Los estudiantes aprenderán a organizar visualmente sus apuntes, ejecutar sentencias simples y utilizar los atajos de teclado esenciales que optimizan el flujo de trabajo dentro de la plataforma. Esto garantiza que todos comiencen su proceso formativo con una base técnica sólida y totalmente estandarizada.

    • Video Recomendado: Introducción a Google Colab, una noble y completa guía - Un recorrido práctico y pormenorizado por la interfaz gráfica y las funcionalidades básicas de los notebooks.

    • Preséntate ante la clase y comparte el enlace público a tu primer notebook de Colab. En tu mensaje, describe brevemente qué tipo de procesos esperas llegar a automatizar o resolver al finalizar este programa formativo.

    • Más información

  • Una vez dominados los aspectos básicos, es fundamental aprovechar el verdadero potencial de la infraestructura en la nube. Este módulo profundiza en la integración directa de Colab con Google Drive, permitiendo el almacenamiento persistente de grandes volúmenes de datos, la exportación automática de resultados y el montaje de directorios masivos. Se introducen también los "comandos mágicos" (magic commands), los cuales extienden notablemente las capacidades de las celdas más allá de la sintaxis estándar de Python.

    Además, se instruirá rigurosamente sobre cómo habilitar y gestionar aceleradores de hardware, tales como las Unidades de Procesamiento Gráfico (GPU) y Tensor (TPU). Entender cómo asignar, verificar y aprovechar estos recursos gratuitos será un paso crucial para las etapas finales del curso, especialmente cuando el entrenamiento de modelos de aprendizaje automático demande una capacidad de cómputo superior a la de un procesador estándar.

    • Video Recomendado: Usa la GPU de Colab GRATIS en VS Code - Explica de forma visual cómo solicitar y verificar que estamos aprovechando la aceleración por hardware en la nube.

    • Más información del curso

  • La programación es, en esencia, la estructuración y manipulación lógica de información. En este módulo se introduce la sintaxis limpia y legible que caracteriza a Python. Comenzaremos definiendo el concepto de tipado dinámico y la declaración de variables fundamentales, abarcando números enteros, flotantes, cadenas de texto y valores lógicos booleanos. Comprender la naturaleza técnica de estos datos es el primer requerimiento para construir algoritmos libres de ambigüedades.

    Posteriormente, la unidad se enfocará en el uso de operadores aritméticos, relacionales y lógicos. Los alumnos aprenderán a realizar operaciones matemáticas básicas, comparar valores y evaluar expresiones compuestas de mayor complejidad. Finalmente, se integrarán las funciones predeterminadas de entrada y salida (input() y print()) para permitir la interactividad bidireccional del programa, logrando una retroalimentación inmediata en la consola.

    • Video Recomendado: APRENDE TIPOS, VARIABLES y OPERADORES en PYTHON  - Explicación gráfica sobre la asignación de memoria y el manejo de los tipos primitivos del lenguaje.

    • Desarrolla y comparte un pequeño script que calcule el Índice de Masa Corporal (IMC) o cualquier otra fórmula matemática, solicitando los datos iniciales al usuario. Reflexiona sobre qué tipos de datos (y conversiones) utilizaste para evitar errores de cálculo.

  • Para lograr que un programa tome decisiones autónomas y repita procesos repetitivos sin intervención manual, resulta indispensable dominar el flujo de control computacional. Este módulo desgrana las sentencias condicionales (if, elif, else) y los bucles iterativos (for, while). Se fomentará el análisis estructurado para que los estudiantes logren bifurcar la ejecución de su código basándose dinámicamente en el estado de las variables.

    A la par del desarrollo del flujo lógico, se explorarán exhaustivamente las colecciones de datos, herramientas vitales para el empaquetado de múltiples valores. Se analizarán las listas y sus métodos de alteración, la estricta inmutabilidad de las tuplas, y la eficiencia estructural de los conjuntos (sets). Especial atención recibirán los diccionarios, que organizan la información mediante la lógica de "clave-valor", lo cual resulta fundamental para el posterior análisis tabular.

    • Video Recomendado: Estructuras de datos con Python en 8 minutos: Listas, Tuplas, Conjuntos y Diccionarios  - Un resumen sumamente ágil y pedagógico sobre las diferencias estructurales y casos de uso de cada colección.

    • Plantea un problema logístico cotidiano (por ejemplo, gestionar el inventario de una pequeña biblioteca o el registro de calificaciones de un aula) que solucionarías combinando un diccionario y un ciclo iterativo. Revisa y comenta la lógica planteada por al menos uno de tus pares.

  • La modularidad y la escalabilidad son ejes centrales en el diseño de software. En esta sección, los alumnos aprenderán a encapsular bloques lógicos recurrentes dentro de funciones personalizadas haciendo uso de la instrucción def. Se profundizará metodológicamente en el paso de argumentos (posicionales y nominales) y en el retorno correcto de valores espaciales, promoviendo las buenas prácticas que evitan la duplicidad de código.

    Sabiendo que todo sistema informático es susceptible a fallos, la segunda mitad del módulo se abocará a la gestión proactiva de excepciones. A través de la implementación de los bloques lógicos try, except y finally, el estudiante desarrollará resiliencia arquitectónica en sus aplicaciones, evitando el colapso del programa ante ingresos erráticos por parte del usuario. También se abordará la importación selectiva de bibliotecas de la librería estándar.

    • Video Recomendado: APRENDE FUNCIONES en PYTHON: def, pass, sintaxis - Recurso imprescindible para asimilar conceptualmente el alcance (scope) de las variables y el ciclo de vida de una función.

    • Publica en este espacio una función de tu propia autoría encargada de validar una entrada de datos específica (por ejemplo, confirmar que un número ingresado tenga la cantidad exacta de dígitos). Indica explícitamente qué bloque de código protege tu validación.

  • A medida que los requerimientos de programación evolucionan, se vuelve imperativo adoptar paradigmas más elaborados. Este módulo introduce formalmente la Programación Orientada a Objetos (POO), un esquema analítico que permite modelar la realidad o dominios de estudio a través de "Clases" y "Objetos". Se desglosará la abstracción de entidades en atributos (su estado interno) y métodos (sus comportamientos o acciones disponibles).

    Más allá de la sintaxis fundacional del método constructor, los participantes se sumergirán en los pilares innegociables de la POO: el encapsulamiento para proteger y resguardar la manipulación de datos, la herencia para jerarquizar lógicamente y heredar características entre clases, y el polimorfismo para flexibilizar la ejecución. Estas competencias teóricas son de extrema necesidad para comprender el código fuente de herramientas analíticas de nivel profesional.

    • Video Recomendado: Programación Orientada a Objetos (POO): Abstracción, Encapsulamiento, Herencia, Polimorfismo - Ilustra teórica y sintácticamente los pilares del paradigma orientado a objetos.

    • Diseña de forma teórica y en código la estructura de una entidad propia de tu área de estudio o desempeño profesional (ej. un Paciente, un Cuestionario, una Investigación) definiendo su Clase base en Python. Publica tu fragmento especificando sus principales atributos y métodos.

  • La crucial transición desde el desarrollo de software puro hacia la Ciencia de Datos (Data Science) da inicio aquí. Se explorará inicialmente la biblioteca NumPy, proveyendo los cimientos para un procesamiento algebraico ultrarrápido mediante matrices y arreglos (arrays) multidimensionales. Esta optimización es vital, pues reduce la carga de la memoria y agiliza las operaciones con respecto a las colecciones nativas abordadas en los módulos iniciales.

    La principal herramienta de trabajo será Pandas, el estándar indiscutido para la manipulación tabular de información. Se instruirá paso a paso en la importación de archivos CSV u hojas de cálculo alojadas en Drive, transformándolas en DataFrames. Una vez mapeados, se practicarán técnicas exhaustivas de limpieza de datos, agrupación (groupby), indexación y el tratamiento de valores atípicos (outliers) o nulos.

    • Video Recomendado: Curso Análisis de datos con Pandas en Python y Google Colab  - Un excelente taller práctico y prolongado para dominar las funciones de transformación y lectura de datasets.

    • Discute una experiencia real o un escenario analítico en donde consideres que una matriz de datos "sucia" o inconsistente pueda generar sesgos graves y afectar negativamente los resultados de un informe institucional.

  • Los datos cuantitativos, por más depurados que se encuentren, sufren una pérdida de impacto académico o profesional si carecen de una adecuada representación visual. En esta etapa, el curso capacita en la creación de gráficos estáticos con Matplotlib. Se abordará la instanciación de figuras, configuración de ejes cartesianos, y la inserción precisa de etiquetas o leyendas que aseguren que la gráfica se explique por sí sola de manera inequívoca.

    Para dotar de sofisticación visual y peso estadístico a los reportes, se introducirá Seaborn. Mediante esta librería especializada, el cursante logrará renderizar representaciones de alta densidad gráfica, como mapas de correlación o calor (heatmaps), distribuciones estadísticas y gráficos complejos de dispersión categórica. Estas destrezas son invaluables para justificar evidencias en artículos, docencia o toma de decisiones gerenciales.

    • Video Recomendado: Tutorial: ¡SEABORN DESDE CERO!  - Un tutorial focalizado en transformar gráficos simples en paneles de visualización estética y estadísticamente fiables.

  • Al transitar la frontera hacia la automatización inteligente, este módulo cimienta los principios del Aprendizaje Automático (Machine Learning). Se establecerán las definiciones formales para demarcar el aprendizaje supervisado (algoritmos de clasificación y regresión) respecto al aprendizaje no supervisado (clustering). Además, se abordará un concepto crítico del diseño de modelos: la segmentación técnica de los datos en subconjuntos de entrenamiento y prueba para prever sesgos como el sobreajuste (overfitting).

    Apoyados íntegramente en la librería Scikit-Learn, construiremos nuestros primeros pipelines o flujos de trabajo funcionales. Esto abarcará desde el escalado estandarizado de las características, la instanciación de estimadores estadísticos y, de manera concluyente, la evaluación metódica de las predicciones arrojadas por la máquina utilizando métricas de rigor como precisión, sensibilidad y matrices de confusión.

    • Video Recomendado: Tutorial: ¡SCIKIT-LEARN DESDE CERO!  - Una introducción ordenada metodológicamente a la formulación y evaluación de modelos predictivos.

  • El programa alcanza su cénit exponiendo a los participantes a la vanguardia tecnológica del Aprendizaje Profundo (Deep Learning). Se indagarán los fundamentos arquitectónicos y matemáticos subyacentes a las Redes Neuronales Artificiales. Este acercamiento permite diferenciar las limitaciones de capacidad representacional del Machine Learning clásico respecto a los sistemas profundos que lideran la revolución contemporánea de la Inteligencia Artificial.

    Conjugando el potencial de las GPUs configuradas anteriormente en Colab, los alumnos construirán una topología neuronal secuencial y realizarán el entrenamiento empleando los frameworks dominantes de la industria (como Keras/TensorFlow). El objetivo final es brindarles el marco referencial necesario para que puedan asimilar la inminente evolución de la IA hacia superestructuras, preparándolos para analizar o incorporar arquitecturas cognitivas emergentes, tales como los Modelos de Lenguaje Masivo y los Modelos del Mundo (World Models), dentro del ecosistema de la educación e investigación.

    • Video Recomendado: Tu primera red neuronal en Python y Tensorflow - Una notable demostración práctica para comprender las capas ocultas, los ciclos de entrenamiento (épocas) y la función de pérdida del algoritmo.

    • A la luz de la transición acelerada hacia estructuras más complejas de IA generativa (como los Modelos del Mundo), ¿de qué manera vislumbras que estas nuevas redes neuronales impactarán y transformarán las dinámicas de la docencia, la investigación disciplinaria y la generación de conocimiento durante los próximos 5 años?

    • Al aprobar esta evaluación, se habilitará el sistema para la descarga del certificado. Podrás descargar cualquiera o los tres modelos de certificado en cuanto apruebas la evaluación.