Qué es un algoritmo
1. Introducción a los algoritmos
Breve repaso: ¿Qué es un algoritmo?
Importancia de los algoritmos en la programación.
Componentes básicos de un algoritmo: entrada, proceso y salida.
Características que debe tener todo algoritmo (precisión, finitud, orden).
2. Diseño de algoritmos
Explicar paso a paso cómo diseñar un algoritmo para resolver un problema sencillo.
Ejemplo práctico en papel: algoritmo para sumar tres números o calcular el área de un rectángulo.
Presentar simbología básica para diagramas de flujo o pseudocódigo (instrucciones secuenciales,
decisiones, ciclos simples).
3. Introducción al lenguaje de programación o pseudocódigo
Presentar un lenguaje sencillo o pseudocódigo para expresar el algoritmo diseñado.
Escribir el algoritmo anterior en pseudocódigo o en lenguaje estructurado básico (por ejemplo,
Python o un lenguaje educativo).
Explicar la sintaxis básica: variables, entrada y salida, estructuras de control (if, while, for).
4. Ejercicios prácticos
Los participantes codifican un algoritmo sencillo (ejemplo: calcular la suma y producto de tres
números, o decidir el mayor de dos números).
Si se dispone de entorno, permitir la ejecución y prueba del código.
Resolver dudas y depurar errores en conjunto.
5. Cierre y recapitulación
Resumir los pasos para diseñar un algoritmo y llevarlo a un lenguaje de programación.
Aclarar la importancia del pensamiento lógico y la planificación antes de programar.
Invitar a practicar con problemas adicionales y explorar otros conceptos (funciones, estructuras más
complejas).
Para desarrollar una sesión de algoritmos, el lenguaje de programación recomendado depende del nivel del
grupo y del objetivo de la sesión. En general, estos son algunos lenguajes apropiados para diferentes
contextos:
•Python: Es ideal para principiantes por su sintaxis clara, sencilla y cercana al lenguaje natural. Permite
enfocarse más en la lógica del algoritmo que en detalles complejos del lenguaje. Además, es muy utilizado
en educación y tiene gran cantidad de recursos y entornos fáciles de usar.
•Pseudocódigo o un lenguaje educativo (como PSeInt): Si la intención es centrarse sólo en el diseño y
comprensión del algoritmo, sin preocuparse por la sintaxis real de un lenguaje de programación, el
pseudocódigo es muy útil. Lenguajes educativos ayudan a ilustrar conceptos básicos sin distracciones
técnicas.
•JavaScript: Bueno para sesiones que buscan mostrar cómo se implementan algoritmos en la web o en el
desarrollo frontend. También tiene una sintaxis bastante accesible para principiantes.
•Scratch u otros lenguajes visuales: Si los participantes son muy jóvenes o sin ninguna experiencia previa,
los lenguajes visuales que usan bloques pueden servir para entender la lógica de los algoritmos de forma
gráfica e intuitiva.
SESION DE LENGUAJE DE PROGRAMACION – PYTHON - ALGORITMOS
Python es un lenguaje de programación de alto nivel, interpretado y de propósito general, creado por Guido
van Rossum en 1991. Su diseño se enfoca en la simplicidad y la legibilidad del código, lo que facilita el
aprendizaje y la escritura para principiantes y profesionales.
Las principales características de Python son:
Sintaxis clara y sencilla, cercana al lenguaje natural, lo que facilita la lectura y mantenimiento del
código.
Es un lenguaje interpretado, lo que significa que ejecuta el código línea por línea, facilitando la
depuración y experimentación.
Multiparadigma, permitiendo programación procedimental, orientada a objetos y funcional.
Maneja la memoria automáticamente y tiene tipado dinámico, por lo que no es necesario declarar
tipos de variables previamente.
Cuenta con una gran biblioteca estándar y una comunidad activa que ofrece numerosos módulos y
funciones para diversas tareas.
Se utiliza en una amplia variedad de aplicaciones como desarrollo web, automatización, ciencia de
datos, inteligencia artificial y aprendizaje automático.
Python es considerado uno de los lenguajes de programación más versátiles actualmente por varias
razones clave:
Sintaxis simple y legible: Su código es fácil de escribir y entender, con una sintaxis que se acerca al lenguaje
natural, facilitando el aprendizaje y el desarrollo rápido. Esto permite expresar en pocas líneas lo que en
otros lenguajes puede requerir mucho más código, haciendo que los programas sean más limpios y
mantenibles.
Código abierto y gratuito: Python es un lenguaje de código abierto con una comunidad global muy activa
que contribuye constantemente a su mejora, desarrollo de librerías y corrección de errores, lo que lo
mantiene actualizado y robusto.
Enorme ecosistema de librerías y módulos: Cuenta con una vasta colección de librerías para diversas
aplicaciones, desde desarrollo web, ciencia de datos, inteligencia artificial, machine learning, hasta
automatización y más. Esto permite reutilizar código para tareas complejas sin necesidad de escribirlas
desde cero.
Multiparadigma y portable: Python soporta diferentes paradigmas de programación (orientada a objetos,
funcional, imperativa) y puede ejecutarse en múltiples sistemas operativos como Windows, Linux y macOS
sin modificaciones, facilitando su adaptación y uso en diversos entornos.
Amplia comunidad y soporte: Cuenta con millones de usuarios y desarrolladores activos en todo el mundo,
lo que garantiza ayuda, recursos, tutoriales y actualizaciones constantes, impulsando su crecimiento y
popularidad.
Integración con otros lenguajes: Python puede interactuar con lenguajes como Java, C y C++, aumentando
su utilidad y funciones en proyectos complejos.
Python es un lenguaje de programación muy adaptable a diferentes campos gracias a varias características
fundamentales:
Sintaxis limpia y fácil de entender: Su código es claro y cercano al lenguaje natural, lo que facilita el
aprendizaje y permite a los desarrolladores concentrarse en la lógica sin complicarse con detalles
técnicos. Esto es especialmente útil para principiantes y en entornos educativos.
Lenguaje interpretado y de tipado dinámico: No necesita ser compilado antes de ejecutarse, lo que
permite probar y ajustar el código rápidamente. El tipado dinámico agiliza el desarrollo porque no
exige declarar tipos de variables, favoreciendo prototipos rápidos y flexibilidad.
Compatible con múltiples paradigmas de programación: Permite programar de forma estructurada,
orientada a objetos o funcional, adaptándose a distintos estilos y necesidades de proyectos
diversos.
Amplio ecosistema de bibliotecas y frameworks: Cuenta con una vasta colección de librerías para
diversas áreas como inteligencia artificial (TensorFlow, PyTorch, Scikit-learn), ciencia de datos
(Pandas, NumPy, Matplotlib), desarrollo web (Django, Flask), automatización, robótica, análisis de
datos, y más. Esto facilita abordar problemas complejos sin empezar desde cero.
Comunidad activa y recursos abundantes: Una gran comunidad global provee documentación,
tutoriales, foros y soluciones que enriquecen el ecosistema y hacen más accesible el aprendizaje y
la resolución de problemas.
Multiplataforma: Funciona en Windows, macOS, Linux e incluso algunos dispositivos móviles, lo que
permite ejecutar el mismo código en diferentes entornos sin modificación.
Facilidad de integración con otros lenguajes y tecnologías: Se puede combinar fácilmente con C, C+
+, Java, y otros, permitiendo desarrollos híbridos y la integración en sistemas complejos.
Ideal para prototipos rápidos y proyectos escalables: Su simplicidad y potencia permiten lanzar
proyectos iniciales rápidamente y luego escalar a soluciones más robustas.
Estas características hacen que Python sea una herramienta versátil, eficiente y poderosa que se adapta a
muchas áreas tecnológicas, científicas y comerciales, desde la inteligencia artificial y ciencia de datos hasta
el desarrollo web y la automatización industrial.
Sesión de Python para Computación
Objetivo general:
Que los participantes comprendan y apliquen los conceptos básicos de Python, diseñando y ejecutando
algoritmos simples que contemplen la estructura de inicio, proceso y salida.
Estructura de la sesión:
1. Inicio (45 minutos)
Introducción a Python
¿Qué es Python? Características y aplicaciones.
Instalación/configuración del entorno (IDLE, VSCode o cualquier editor simple).
Ejecución de un programa básico: impresión del clásico "Hola Mundo".
Conceptos básicos:
Tipos de datos (números, texto).
Variables y asignación.
2. Proceso (4 horas)
Entrada, proceso y salida:
Explicación del flujo básico: recibir datos, procesar datos, mostrar resultados.
Entrada de datos
Uso de input() para pedir datos al usuario.
Conversión de tipos (int, float, string).
Procesos y operaciones básicas
Operadores aritméticos y lógicos: suma, resta, multiplicación, división; comparación y
operadores booleanos.
Control de flujo: condicionales (if, else, elif).
Bucles: while y for.
Ejercicios prácticos (cada uno con entrada, proceso y salida)
Sumar dos números y mostrar resultado.
Determinar si un número es positivo, negativo o cero.
Calcular área de figuras geométricas (cuadrado, rectángulo).
Uso de bucles para sumar números del 1 al n.
Funciones básicas
Definición de funciones.
Uso de funciones para organizar algoritmos.
Pequeños proyectos o problemas
Calculadora simple.
Adivinanza o juego sencillo.
Validación de datos ingresados.
3. Salida (15 minutos)
Resumen y repaso
Recapitulación de los conceptos vistos.
Importancia de la estructura inicio-proceso-salida en la programación.
Preguntas y respuestas
Orientación para seguir aprendiendo
Recursos y materiales recomendados.