Eduteka+
Cursos Completo

Introducción a la Programación: Fundamentos y Lógica para Ingeniería

Creado por Abraham Q.

Ingeniería Ingeniería de sistemas para estudiantes universitarios 4 semanas CC BY-SA 4.0
DOCX PDF

Cómo fue en el aula

Todavía nadie ha contado cómo le fue con este recurso.

Descripción del Curso

Este curso ofrece una introducción integral a la programación orientada a estudiantes universitarios de Ingeniería de Sistemas. Su propósito es brindar los conocimientos fundamentales sobre lógica de programación y conceptos clásicos que constituyen la base para el desarrollo de software y la resolución de problemas computacionales. A lo largo de cuatro semanas, los estudiantes explorarán desde los principios básicos de algoritmos y estructuras de control, hasta la implementación práctica de soluciones mediante ejercicios constantes que fortalecen la comprensión teórica y desarrollan habilidades técnicas.

El curso está diseñado para estudiantes que se inician en la programación, sin requerir experiencia previa, y se enfoca en un enfoque metodológico teórico-práctico, donde la teoría se combina con la aplicación inmediata a través de actividades y ejercicios estructurados. Al finalizar, los participantes serán capaces de diseñar algoritmos eficientes, comprender la lógica detrás de la programación y aplicar conceptos clásicos para resolver problemas reales, sentando así una sólida base para estudios avanzados en programación y desarrollo de software.

Objetivos Generales

  • Desarrollar la capacidad para diseñar algoritmos utilizando herramientas clásicas como diagramas de flujo y pseudocódigo.
  • Comprender y aplicar estructuras de control secuenciales, condicionales y repetitivas en la solución de problemas.
  • Identificar y corregir errores lógicos en algoritmos y programas básicos.
  • Integrar conceptos teóricos de lógica y programación con prácticas de codificación a través de ejercicios.

Competencias

  • Analizar y diseñar algoritmos básicos para la resolución de problemas computacionales.
  • Aplicar conceptos fundamentales de lógica de programación en la construcción de soluciones.
  • Implementar estructuras de control y datos clásicas mediante ejercicios prácticos.
  • Evaluar y corregir errores lógicos en algoritmos y programas simples.
  • Comunicar de manera clara y precisa soluciones algorítmicas utilizando pseudocódigo y diagramas de flujo.

Requerimientos

  • Conocimientos básicos de matemáticas a nivel secundario (lógica y álgebra elemental).
  • Acceso a una computadora con un entorno de desarrollo integrado (IDE) recomendado (por ejemplo, Visual Studio Code o similar).
  • Material didáctico proporcionado por el docente (guías, ejemplos y ejercicios).
  • Disposición para el aprendizaje activo y la práctica constante mediante ejercicios.

Unidades del Curso

1

Fundamentos de la Programación y Lógica Computacional

Introducción a los conceptos básicos de programación, importancia en la ingeniería, tipos de datos y lógica proposicional aplicada a la programación.

Objetivos de Aprendizaje

  • Al finalizar la unidad, el estudiante será capaz de explicar los conceptos básicos de programación y su importancia en el ámbito de la ingeniería mediante exposiciones escritas o verbales.
  • Al finalizar la unidad, el estudiante será capaz de identificar y clasificar los tipos de datos primarios utilizados en programación aplicando ejemplos prácticos en pseudocódigo.
  • Al finalizar la unidad, el estudiante será capaz de analizar proposiciones lógicas y construir tablas de verdad para evaluar su validez en contextos de programación.
  • Al finalizar la unidad, el estudiante será capaz de diseñar algoritmos simples utilizando diagramas de flujo y pseudocódigo que integren estructuras de control básicas y lógica proposicional.
  • Al finalizar la unidad, el estudiante será capaz de aplicar principios de lógica computacional para detectar y corregir errores lógicos en algoritmos simples presentados en pseudocódigo.

Contenidos Temáticos

1. Introducción a la Programación y su Importancia en Ingeniería

  • Definición de programación: qué es y para qué sirve.
  • Importancia de la programación en la ingeniería: automatización, modelado, simulación y resolución de problemas.
  • Breve historia y evolución de la programación.
  • Lenguajes de programación: conceptos básicos y ejemplos comunes.
  • El ciclo de vida del desarrollo de software: análisis, diseño, implementación, prueba y mantenimiento.

2. Tipos de Datos Primarios en Programación

  • Concepto de tipo de dato y su relevancia en programación.
  • Tipos de datos primarios comunes:
    • Enteros (int)
    • Reales o punto flotante (float, double)
    • Caracteres (char)
    • Booleanos (bool)
    • Cadenas de texto (string)
  • Ejemplos de declaración y uso de tipos de datos en pseudocódigo.
  • Conversión y compatibilidad entre tipos de datos.

3. Lógica Proposicional Aplicada a la Programación

  • Concepto de proposición lógica: definición y ejemplos en programación.
  • Operadores lógicos básicos:
    • Negación (¬)
    • Conjunción (∧)
    • Disyunción (∨)
    • Condicional (→)
    • Bicondicional (↔)
  • Construcción y análisis de tablas de verdad para operadores básicos.
  • Aplicación de tablas de verdad para evaluar expresiones lógicas en pseudocódigo.

4. Diseño de Algoritmos Simples

  • Concepto de algoritmo: definición y características.
  • Estructuras de control básicas:
    • Secuencia
    • Selección (condicionales if, if-else)
    • Iteración (bucles while, for)
  • Diseño de diagramas de flujo para algoritmos simples.
  • Escritura de pseudocódigo integrando estructuras de control y lógica proposicional.

5. Detección y Corrección de Errores Lógicos en Algoritmos

  • Definición y tipos de errores en programación: sintácticos, semánticos y lógicos.
  • Identificación de errores lógicos en pseudocódigo y diagramas de flujo.
  • Aplicación de principios de lógica computacional para detectar inconsistencias.
  • Estrategias para corregir errores lógicos y validar algoritmos simples.

Actividades

Actividad 1: Exposición sobre la importancia de la programación en ingeniería

Objetivo: Explicar los conceptos básicos de programación y su importancia en la ingeniería.

Descripción:

  • Los estudiantes investigan brevemente casos reales donde la programación ha sido crucial en proyectos de ingeniería.
  • Preparan una presentación escrita o verbal (puede ser un breve informe o una exposición de 5 minutos).
  • Exponen ante el grupo destacando conceptos básicos y aplicaciones prácticas.

Organización: Individual o en parejas.

Producto esperado: Presentación o informe escrito sobre la importancia de la programación en ingeniería.

Duración estimada: 1 hora.

Actividad 2: Clasificación y uso de tipos de datos en pseudocódigo

Objetivo: Identificar y clasificar tipos de datos primarios aplicando ejemplos prácticos en pseudocódigo.

Descripción:

  • Se presentan ejemplos de variables y datos en diferentes tipos (int, float, char, bool, string).
  • Los estudiantes escriben pseudocódigo que declare variables de cada tipo y realicen operaciones simples (por ejemplo, sumar enteros, comparar booleanos, concatenar cadenas).
  • Discusión en grupo sobre la importancia de elegir correctamente el tipo de dato.

Organización: Individual o en parejas.

Producto esperado: Conjunto de fragmentos de pseudocódigo con variables y operaciones correctas.

Duración estimada: 1.5 horas.

Actividad 3: Construcción y análisis de tablas de verdad

Objetivo: Analizar proposiciones lógicas y construir tablas de verdad para evaluar su validez.

Descripción:

  • Se introducen ejercicios con proposiciones lógicas que combinan operadores básicos.
  • Los estudiantes construyen tablas de verdad paso a paso para cada proposición.
  • Interpretan los resultados para determinar si la proposición es tautología, contradicción o contingencia.

Organización: Grupos pequeños (3-4 estudiantes).

Producto esperado: Tablas de verdad completas y análisis escrito de la validez lógica.

Duración estimada: 2 horas.

Actividad 4: Diseño de algoritmos con diagramas de flujo y pseudocódigo

Objetivo: Diseñar algoritmos simples que integren estructuras de control y lógica proposicional.

Descripción:

  • Se proporciona un problema sencillo (por ejemplo, determinar si un número es par o impar, calcular el factorial, o validar condiciones simples).
  • Los estudiantes diseñan el algoritmo usando un diagrama de flujo.
  • Luego escriben el pseudocódigo correspondiente.
  • Finalmente, revisan y detectan posibles errores lógicos en su diseño.

Organización: Grupos o individual.

Producto esperado: Diagrama de flujo y pseudocódigo correctos y revisados.

Duración estimada: 2.5 horas.

Actividad 5: Identificación y corrección de errores lógicos en pseudocódigo

Objetivo: Aplicar principios de lógica computacional para detectar y corregir errores lógicos en algoritmos simples.

Descripción:

  • Se entrega a los estudiantes pseudocódigo con errores lógicos intencionales (por ejemplo, condiciones mal planteadas o secuencias incorrectas).
  • Los estudiantes analizan el pseudocódigo, identifican los errores y proponen correcciones.
  • Discuten en grupo las estrategias utilizadas para la detección y corrección.

Organización: Parejas o grupos pequeños.

Producto esperado: Informe o presentación con los errores identificados y sus correcciones justificadas.

Duración estimada: 2 horas.

Evaluación

Evaluación Diagnóstica

Qué se evalúa: Conocimientos previos sobre programación básica, tipos de datos y lógica proposicional.

Cómo se evalúa: Cuestionario breve de opción múltiple y preguntas abiertas.

Instrumento sugerido: Test en línea o en papel con preguntas sobre conceptos básicos y ejemplos sencillos.

Evaluación Formativa

Qué se evalúa: Progreso en la comprensión y aplicación de los conceptos a través de actividades prácticas.

Cómo se evalúa: Revisión continua de las actividades: exposiciones, pseudocódigos, tablas de verdad, diagramas de flujo y corrección de errores.

Instrumento sugerido: Rubricas para presentaciones y trabajos prácticos, listas de cotejo para pseudocódigo y diagramas, retroalimentación escrita y oral.

Evaluación Sumativa

Qué se evalúa: Dominio integral de los objetivos de la unidad, capacidad para explicar conceptos, identificar tipos de datos, analizar lógica, diseñar algoritmos y corregir errores.

Cómo se evalúa: Examen escrito y práctico que incluya:

  • Preguntas de desarrollo sobre conceptos y aplicaciones.
  • Ejercicios para clasificar tipos de datos y escribir pseudocódigo.
  • Construcción de tablas de verdad y análisis proposicional.
  • Diseño de un algoritmo simple con diagrama de flujo y detección de errores.

Instrumento sugerido: Prueba escrita con ejercicios prácticos y preguntas de reflexión.

Duración

La unidad "Fundamentos de la Programación y Lógica Computacional" se sugiere impartir en un total de 10 horas distribuidas en 4 semanas:

  • Semana 1 (2.5 horas): Introducción a la programación y tipos de datos (incluye Actividades 1 y 2).
  • Semana 2 (2.5 horas): Lógica proposicional y tablas de verdad (Actividad 3).
  • Semana 3 (3 horas): Diseño de algoritmos con diagramas de flujo y pseudocódigo (Actividad 4).
  • Semana 4 (2 horas): Detección y corrección de errores lógicos (Actividad 5) y evaluación sumativa.

Este cronograma permite integrar teoría y práctica con espacios para retroalimentación y evaluación continua.

2

Algoritmos, Diagramas de Flujo y Pseudocódigo

Diseño y representación de algoritmos mediante diagramas de flujo y pseudocódigo, con énfasis en la planificación y análisis de problemas.

Objetivos de Aprendizaje

  • Al finalizar la unidad, el estudiante será capaz de diseñar algoritmos para problemas simples utilizando diagramas de flujo, aplicando correctamente las símbolos y convenciones estándar.
  • Al finalizar la unidad, el estudiante será capaz de redactar pseudocódigo que represente soluciones algorítmicas, incorporando estructuras de control secuenciales, condicionales y repetitivas.
  • Al finalizar la unidad, el estudiante será capaz de analizar y planificar la resolución de problemas mediante la descomposición en pasos lógicos claros y ordenados dentro de un algoritmo.
  • Al finalizar la unidad, el estudiante será capaz de identificar errores lógicos en diagramas de flujo y pseudocódigo, proponiendo correcciones fundamentadas para optimizar la solución.
  • Al finalizar la unidad, el estudiante será capaz de evaluar la eficacia de diferentes representaciones algorítmicas para un mismo problema, justificando la elección de la más adecuada según criterios de claridad y eficiencia.

Contenidos Temáticos

1. Introducción a los Algoritmos

  • Definición de algoritmo: concepto y características esenciales.
  • Importancia de los algoritmos en la ingeniería y programación.
  • Pasos para la resolución de problemas mediante algoritmos.
  • Descomposición de problemas: análisis y planificación lógica.

2. Diagramas de Flujo

  • Concepto y finalidad de los diagramas de flujo.
  • Símbolos estándar en diagramas de flujo: inicio/fin, proceso, decisión, entrada/salida, conectores.
  • Reglas y convenciones para el diseño correcto de diagramas de flujo.
  • Construcción de diagramas de flujo para problemas simples.
  • Lectura e interpretación de diagramas de flujo.
  • Errores comunes en diagramas de flujo y cómo corregirlos.

3. Pseudocódigo

  • Concepto y ventajas del pseudocódigo en la representación algorítmica.
  • Estructura básica del pseudocódigo: secuencias, asignaciones y comentarios.
  • Estructuras de control:
    • Secuenciales.
    • Condicionales: if, if-else, switch.
    • Repetitivas: while, for, repeat-until.
  • Convenciones y buenas prácticas para redactar pseudocódigo claro y legible.
  • Redacción de pseudocódigo para problemas simples y moderados.
  • Identificación y corrección de errores lógicos en pseudocódigo.

4. Análisis y Planificación de Problemas para Algoritmos

  • Descomposición de un problema en pasos lógicos y ordenados.
  • Identificación de entradas, salidas y procesos intermedios.
  • Diagramas de flujo vs. pseudocódigo: ventajas y limitaciones.
  • Comparación de representaciones para seleccionar la más adecuada según claridad y eficiencia.

5. Evaluación y Optimización de Soluciones Algorítmicas

  • Detección de errores lógicos en diagramas de flujo y pseudocódigo.
  • Propuesta de correcciones fundamentadas para optimizar soluciones.
  • Criterios para evaluar la eficacia de representaciones algorítmicas.
  • Justificación de la elección de una representación para un problema dado.

Actividades

Actividad 1: Diseño de Algoritmos con Diagramas de Flujo

Objetivo: Diseñar algoritmos para problemas simples utilizando diagramas de flujo, aplicando correctamente símbolos y convenciones estándar.

Descripción:

  • Se entregará a los estudiantes un conjunto de problemas simples (por ejemplo, cálculo del área de un círculo, determinar si un número es par o impar, conversión de grados Celsius a Fahrenheit).
  • En equipos de 3, los estudiantes analizarán cada problema y diseñarán el diagrama de flujo correspondiente.
  • Deberán identificar claramente inicio, procesos, decisiones y fin, usando los símbolos estándar.
  • Finalmente, cada equipo presentará su diagrama y explicará el flujo lógico del algoritmo.

Organización: Grupos de 3.

Producto esperado: Diagramas de flujo detallados y presentación oral breve.

Duración estimada: 2 horas.

Actividad 2: Redacción de Pseudocódigo con Estructuras de Control

Objetivo: Redactar pseudocódigo que represente soluciones algorítmicas, incorporando estructuras secuenciales, condicionales y repetitivas.

Descripción:

  • Individualmente, los estudiantes recibirán problemas que requieran el uso de diferentes estructuras de control, por ejemplo:
    • Calcular la suma de los primeros N números naturales (uso de bucles).
    • Determinar la calificación y categoría según nota ingresada (condicionales múltiples).
    • Validar entrada de datos repetidamente hasta que cumpla una condición.
  • Deberán redactar el pseudocódigo detallado que resuelva cada problema.
  • Se fomentará el uso de comentarios y claridad en la estructura.

Organización: Individual.

Producto esperado: Documento con pseudocódigo completo y comentado.

Duración estimada: 2 horas.

Actividad 3: Análisis Crítico y Corrección de Errores en Algoritmos

Objetivo: Identificar errores lógicos en diagramas de flujo y pseudocódigo, proponiendo correcciones fundamentadas para optimizar la solución.

Descripción:

  • Se proporcionarán ejemplos de diagramas de flujo y pseudocódigos con errores lógicos intencionales.
  • En parejas, los estudiantes analizarán cada ejemplo, identificarán los errores y discutirán posibles causas.
  • Propondrán correcciones y mejoras, explicando cómo optimizan la solución.
  • Presentarán sus conclusiones al grupo para discusión y retroalimentación.

Organización: Parejas.

Producto esperado: Informe con identificación de errores y propuesta de correcciones.

Duración estimada: 2 horas.

Actividad 4: Evaluación Comparativa de Representaciones Algorítmicas

Objetivo: Evaluar la eficacia de diferentes representaciones algorítmicas para un mismo problema, justificando la elección de la más adecuada según criterios de claridad y eficiencia.

Descripción:

  • Se entregará a los estudiantes un problema con dos o más representaciones algorítmicas (diagramas de flujo y pseudocódigo).
  • En grupos de 4, analizarán cada representación en términos de claridad, facilidad de comprensión, y eficiencia en la solución.
  • Discutirán ventajas y desventajas de cada representación.
  • Elaborarán un informe escrito y una presentación oral justificando cuál representación es más adecuada y por qué.

Organización: Grupos de 4.

Producto esperado: Informe comparativo y presentación oral.

Duración estimada: 3 horas.

Evaluación

Evaluación Diagnóstica

Qué se evalúa: Conocimientos previos sobre lógica de programación, comprensión básica de algoritmos y representación algorítmica.

Cómo se evalúa: Prueba corta con preguntas teóricas y ejercicios básicos de identificación de símbolos en diagramas de flujo y escritura de pseudocódigo simple.

Instrumento sugerido: Cuestionario escrito o en línea con preguntas de opción múltiple y ejercicios cortos.

Evaluación Formativa

Qué se evalúa: Progreso en el diseño de diagramas de flujo, redacción de pseudocódigo, análisis y corrección de errores, y capacidad crítica en la comparación de representaciones.

Cómo se evalúa: Revisión continua de actividades prácticas, retroalimentación en clase, autoevaluación y coevaluación en actividades grupales.

Instrumento sugerido: Rúbricas para cada actividad práctica, listas de cotejo para evaluación de diagramas y pseudocódigo, y registros de participación y discusión.

Evaluación Sumativa

Qué se evalúa: Dominio integral para diseñar algoritmos con diagramas de flujo y pseudocódigo, análisis y planificación de problemas, identificación y corrección de errores, y justificación de representaciones algorítmicas.

Cómo se evalúa: Examen práctico donde el estudiante debe resolver un problema planteado:

  • Diseñar un diagrama de flujo correcto.
  • Redactar el pseudocódigo correspondiente.
  • Analizar posibles errores y proponer mejoras.
  • Justificar la elección de la representación utilizada.

Instrumento sugerido: Prueba práctica individual con rúbrica detallada para evaluar cada componente y criterio de calidad.

Duración

La unidad está diseñada para ser desarrollada en 2 semanas, con una duración total aproximada de 12 horas distribuidas de la siguiente manera:

  • Semana 1 (6 horas): Introducción a algoritmos y diagramas de flujo (3 horas), actividad 1 y 2 (3 horas).
  • Semana 2 (6 horas): Pseudocódigo, análisis y planificación (2 horas), actividades 3 y 4 (4 horas), evaluación sumativa práctica (2 horas, puede coincidir con actividades).

Este esquema incluye tiempo para exposiciones, actividades prácticas, discusiones y retroalimentación.

3

Estructuras de Control: Secuencia, Selección y Repetición

Estudio de las estructuras básicas de control, incluyendo sentencias condicionales y ciclos, y su aplicación en la solución de problemas.

Objetivos de Aprendizaje

  • Al finalizar la unidad, el estudiante será capaz de identificar y describir las características de las estructuras de control secuenciales, condicionales y repetitivas en pseudocódigo y diagramas de flujo.
  • Al finalizar la unidad, el estudiante será capaz de diseñar algoritmos que utilicen sentencias condicionales para resolver problemas simples, aplicando criterios lógicos adecuados.
  • Al finalizar la unidad, el estudiante será capaz de implementar ciclos de repetición (como mientras y para) en pseudocódigo para automatizar tareas repetitivas en la solución de problemas.
  • Al finalizar la unidad, el estudiante será capaz de analizar y corregir errores lógicos en algoritmos que empleen estructuras de control de selección y repetición, asegurando su correcto funcionamiento.
  • Al finalizar la unidad, el estudiante será capaz de integrar estructuras de control secuenciales, condicionales y repetitivas en un algoritmo completo, demostrando coherencia y eficiencia en la solución propuesta.

Contenidos Temáticos

1. Introducción a las estructuras de control

  • Concepto y importancia de las estructuras de control en la programación
  • Tipos básicos: secuencia, selección y repetición
  • Representación de algoritmos: pseudocódigo y diagramas de flujo

2. Estructura de control secuencial

  • Definición y características
  • Ejemplos en pseudocódigo
  • Representación en diagramas de flujo
  • Aplicaciones prácticas en problemas simples

3. Estructuras de selección (condicionales)

  • Concepto y tipos de selección
  • Sentencias condicionales simples (if)
  • Sentencias condicionales compuestas (if-else)
  • Sentencias condicionales múltiples (switch o condicionales anidadas)
  • Condiciones lógicas y operadores relacionales
  • Representación en pseudocódigo y diagramas de flujo
  • Ejemplos prácticos y resolución de problemas

4. Estructuras de repetición (ciclos)

  • Concepto y utilidad de los ciclos en programación
  • Ciclo mientras (while): sintaxis y funcionamiento
  • Ciclo para (for): sintaxis y funcionamiento
  • Ciclo repetir hasta (do-while): diferencias y uso
  • Condiciones de terminación y control de bucles
  • Representación en pseudocódigo y diagramas de flujo
  • Ejemplos prácticos para automatización de tareas

5. Análisis y corrección de errores lógicos en estructuras de control

  • Identificación de errores comunes en sentencias condicionales y ciclos
  • Técnicas para depurar y corregir algoritmos
  • Ejemplos de algoritmos con errores y su corrección

6. Integración de estructuras de control en algoritmos completos

  • Diseño y desarrollo de algoritmos que combinan secuencia, selección y repetición
  • Buenas prácticas para la coherencia y eficiencia
  • Ejemplos y ejercicios de integración en pseudocódigo y diagramas de flujo

Actividades

Actividad 1: Identificación y representación de estructuras de control

Objetivo: Contribuir al primer objetivo: identificar y describir características de las estructuras de control en pseudocódigo y diagramas de flujo.

Descripción paso a paso:

  • Se proporcionará a los estudiantes una serie de algoritmos escritos en lenguaje natural que describen procesos simples.
  • Los estudiantes analizarán cada algoritmo para identificar las estructuras de control presentes (secuencia, selección o repetición).
  • Luego, deberán representar cada algoritmo en pseudocódigo y en un diagrama de flujo, destacando claramente las estructuras de control.
  • Finalmente, en plenaria, se discutirán las representaciones para validar la comprensión.

Organización: Parejas

Producto esperado: Documento con pseudocódigo y diagramas de flujo correctos para cada algoritmo.

Duración estimada: 90 minutos

Actividad 2: Diseño de algoritmos con sentencias condicionales

Objetivo: Diseñar algoritmos que utilicen sentencias condicionales para resolver problemas simples.

Descripción paso a paso:

  • Se presentarán problemas prácticos que requieren toma de decisiones (por ejemplo, determinar si un número es par o impar, calcular descuentos según condiciones, etc.).
  • Los estudiantes elaborarán algoritmos en pseudocódigo que utilicen sentencias condicionales adecuadas para resolver cada problema.
  • Se realizará una revisión entre pares para identificar posibles mejoras y errores lógicos.
  • Finalmente, el docente orientará la corrección y optimización de los algoritmos.

Organización: Individual

Producto esperado: Algoritmos en pseudocódigo con condicionales correctas y claras.

Duración estimada: 90 minutos

Actividad 3: Implementación y comparación de ciclos de repetición

Objetivo: Implementar ciclos de repetición (mientras y para) en pseudocódigo para automatizar tareas repetitivas.

Descripción paso a paso:

  • Se asignarán problemas que requieran repetir una acción un número determinado de veces o mientras se cumpla una condición (por ejemplo, imprimir números del 1 al 10, validar ingreso de datos, calcular sumatorias).
  • Los estudiantes escribirán dos versiones de pseudocódigo para cada problema: una usando ciclo "mientras" y otra usando ciclo "para".
  • Compararán la legibilidad y eficiencia de ambas versiones en una breve discusión grupal.

Organización: Grupos de 3-4 estudiantes

Producto esperado: Dos versiones de pseudocódigo para cada problema con ciclos "mientras" y "para".

Duración estimada: 120 minutos

Actividad 4: Análisis y corrección de algoritmos con errores lógicos

Objetivo: Analizar y corregir errores lógicos en algoritmos que empleen estructuras de selección y repetición.

Descripción paso a paso:

  • Se entregarán a los estudiantes algoritmos en pseudocódigo con errores lógicos comunes relacionados con estructuras condicionales y ciclos.
  • Los estudiantes deberán identificar los errores, justificar por qué son errores y proponer correcciones.
  • Después, cada estudiante presentará su análisis y corrección al grupo para discusión y retroalimentación.

Organización: Individual

Producto esperado: Informe con identificación de errores, análisis y corrección de cada algoritmo.

Duración estimada: 90 minutos

Actividad 5: Proyecto integrador: diseño de un algoritmo completo

Objetivo: Integrar estructuras secuenciales, condicionales y repetitivas en un algoritmo completo y eficiente.

Descripción paso a paso:

  • Se planteará un problema que requiera la combinación de las tres estructuras de control (por ejemplo, un programa para gestionar el registro de notas de estudiantes, con validación de datos, cálculo de promedios y repetición para múltiples alumnos).
  • Los estudiantes diseñarán el algoritmo completo en pseudocódigo, acompañado del diagrama de flujo correspondiente.
  • Se realizará una sesión de revisión grupal para evaluar la coherencia, claridad y eficiencia del algoritmo.
  • Finalmente, se entregará una versión corregida e individual con base en la retroalimentación recibida.

Organización: Grupos de 3 estudiantes para diseño y discusión; entrega individual final

Producto esperado: Algoritmo en pseudocódigo y diagrama de flujo integrados, corregidos y eficientes.

Duración estimada: 3 horas (2 horas diseño y discusión + 1 hora entrega y corrección individual)

Evaluación

Evaluación diagnóstica

Qué se evalúa: Conocimientos previos sobre estructuras básicas de control y habilidades para representar algoritmos en pseudocódigo y diagramas de flujo.

Cómo se evalúa: Cuestionario de opción múltiple y preguntas abiertas sobre conceptos básicos y análisis de un algoritmo simple.

Instrumento sugerido: Prueba corta escrita o en plataforma virtual (30 minutos).

Evaluación formativa

Qué se evalúa: Progreso en la identificación, diseño, implementación y corrección de estructuras de control.

  • Revisión de actividades prácticas (pseudocódigo y diagramas de flujo).
  • Retroalimentación continua durante las actividades grupales e individuales.
  • Análisis de correcciones propuestas en algoritmos con errores lógicos.

Instrumento sugerido: Rúbrica para evaluar la claridad, corrección y aplicación lógica en pseudocódigo y diagramas, junto con observación directa y registros de participación.

Evaluación sumativa

Qué se evalúa: Competencia para integrar correctamente estructuras secuenciales, condicionales y repetitivas en algoritmos completos, asegurando coherencia, eficiencia y corrección lógica.

Cómo se evalúa: Proyecto integrador final que incluye pseudocódigo y diagrama de flujo, además de un examen escrito con preguntas teóricas y prácticas.

Instrumento sugerido: Rúbrica de proyecto integrador y examen escrito (preguntas teóricas y ejercicios prácticos) aplicado al finalizar la unidad.

Duración

La unidad "Estructuras de Control: Secuencia, Selección y Repetición" se recomienda impartir en un total de 12 horas distribuidas en 4 sesiones de 3 horas cada una. La distribución sugerida es:

  • Sesión 1 (3 horas): Introducción a las estructuras de control, estructura secuencial y actividades de identificación y representación (Actividad 1).
  • Sesión 2 (3 horas): Estructuras de selección, diseño de algoritmos condicionales (Actividad 2) y análisis de condiciones lógicas.
  • Sesión 3 (3 horas): Estructuras de repetición, implementación de ciclos (Actividad 3) y corrección de errores lógicos (Actividad 4).
  • Sesión 4 (3 horas): Integración de estructuras de control, desarrollo y presentación del proyecto integrador (Actividad 5) y evaluación sumativa.

Esta distribución permite un aprendizaje progresivo y tiempo suficiente para la práctica y retroalimentación.

4

Ejercicios Prácticos y Resolución de Problemas Clásicos

Aplicación práctica de los conceptos aprendidos a través de ejercicios y problemas clásicos de programación, enfatizando la lógica y corrección de algoritmos.

Objetivos de Aprendizaje

  • Al finalizar la unidad, el estudiante será capaz de resolver problemas clásicos de programación aplicando estructuras de control secuenciales, condicionales y repetitivas en pseudocódigo y diagramas de flujo.
  • Al finalizar la unidad, el estudiante será capaz de diseñar algoritmos correctos para ejercicios prácticos utilizando lógica de programación y verificando la precisión mediante pruebas estructuradas.
  • Al finalizar la unidad, el estudiante será capaz de identificar y corregir errores lógicos en algoritmos y programas básicos durante la resolución de problemas prácticos.
  • Al finalizar la unidad, el estudiante será capaz de integrar conceptos teóricos y prácticos de lógica y programación para desarrollar soluciones eficientes a problemas clásicos de programación.

Contenidos Temáticos

1. Introducción a la Resolución de Problemas Clásicos en Programación

  • Definición y relevancia de problemas clásicos en programación
  • Repaso de conceptos clave: estructuras de control, variables, y tipos de datos
  • Importancia del pseudocódigo y diagramas de flujo para la planificación algorítmica

2. Estructuras de Control en la Resolución de Problemas

  • Secuenciales: ejecución lineal y ordenada de instrucciones
  • Condicionales: toma de decisiones utilizando IF, ELSE, ELSE IF
  • Repetitivas: bucles FOR, WHILE, DO-WHILE para iteración controlada e indeterminada
  • Combinación de estructuras para resolver problemas complejos

3. Diseño y Representación de Algoritmos

  • Construcción de pseudocódigo para problemas clásicos
  • Elaboración de diagramas de flujo claros y precisos
  • Buenas prácticas en documentación y nombrado de variables
  • Ejemplos prácticos: cálculo de promedio, factorial, números primos

4. Resolución de Problemas Clásicos de Programación

  • Problema del mayor y menor número en un conjunto
  • Serie de Fibonacci: generación y análisis
  • Determinación de números primos
  • Conversión de unidades y cálculos matemáticos básicos
  • Problemas de control de flujo con múltiples condiciones

5. Verificación y Corrección de Algoritmos

  • Identificación de errores lógicos comunes en algoritmos
  • Pruebas estructuradas: casos de prueba, entradas y salidas esperadas
  • Corrección y optimización de algoritmos mal diseñados
  • Uso de ejemplos para validar soluciones

6. Integración de Conceptos Teóricos y Prácticos

  • Desarrollo de soluciones eficientes combinando estructuras de control
  • Aplicación de lógica de programación a problemas reales y simulados
  • Evaluación de la eficiencia y claridad de los algoritmos diseñados
  • Presentación y explicación de soluciones desarrolladas

Actividades

Actividad 1: Diseño y Representación de Algoritmos para Problemas Clásicos

Objetivo: Aplicar estructuras de control secuenciales, condicionales y repetitivas para diseñar algoritmos en pseudocódigo y diagramas de flujo.

Descripción:

  • Se entrega a los estudiantes un conjunto de problemas clásicos (ej. cálculo de factorial, números primos, serie de Fibonacci).
  • Los estudiantes diseñan el pseudocódigo correspondiente para cada problema.
  • Convierten el pseudocódigo en diagramas de flujo claros y correctos.
  • Discusión en clase sobre las diferentes soluciones y estructuras utilizadas.

Organización: Individual

Producto esperado: Documento con pseudocódigos y diagramas de flujo para cada problema propuesto.

Duración estimada: 2 horas

Actividad 2: Resolución Práctica y Corrección de Errores en Algoritmos

Objetivo: Identificar y corregir errores lógicos en algoritmos y programas básicos.

Descripción:

  • Se proporciona a los estudiantes algoritmos con errores intencionales (errores lógicos, fallas en estructuras de control).
  • Los estudiantes analizan cada algoritmo, detectan errores y proponen correcciones.
  • Se realizan pruebas manuales con casos de prueba para validar las correcciones.
  • Presentación de soluciones corregidas y explicación de los errores encontrados.

Organización: Parejas

Producto esperado: Informe con errores detectados, correcciones realizadas y resultados de pruebas.

Duración estimada: 2 horas

Actividad 3: Desarrollo de Soluciones Integrales para Problemas Clásicos

Objetivo: Integrar conceptos teóricos y prácticos para diseñar soluciones eficientes a problemas clásicos.

Descripción:

  • En grupos, se asigna un problema clásico más complejo (ej. ordenamiento de números, cálculo de números perfectos).
  • Diseñan el algoritmo en pseudocódigo y diagramas de flujo.
  • Realizan pruebas estructuradas para verificar la precisión del algoritmo.
  • Discuten la eficiencia y posibles mejoras del algoritmo.
  • Preparan una presentación para explicar su solución al resto de la clase.

Organización: Grupos de 3-4 estudiantes

Producto esperado: Algoritmo documentado, pruebas realizadas y presentación oral.

Duración estimada: 3 horas

Actividad 4: Taller de Pruebas y Validación de Algoritmos

Objetivo: Verificar la precisión de algoritmos mediante pruebas estructuradas y mejorar su corrección.

Descripción:

  • Se proporciona un conjunto de algoritmos funcionales pero sin pruebas.
  • Los estudiantes diseñan casos de prueba incluyendo entradas válidas, límites y casos extremos.
  • Ejecutan las pruebas y documentan los resultados, identificando posibles fallos o mejoras.
  • Modifican los algoritmos si es necesario para corregir errores detectados.

Organización: Individual

Producto esperado: Documento con casos de prueba, resultados y mejoras aplicadas.

Duración estimada: 2 horas

Evaluación

Evaluación Diagnóstica

Qué se evalúa: Nivel inicial de comprensión sobre estructuras de control y lógica de programación.

Cómo se evalúa: Cuestionario breve con preguntas teóricas y resolución de un problema simple en pseudocódigo.

Instrumento sugerido: Prueba escrita digital o papel con preguntas de selección múltiple y una actividad de pseudocódigo.

Evaluación Formativa

Qué se evalúa: Progreso en la aplicación de estructuras de control, diseño correcto de algoritmos y detección de errores.

Cómo se evalúa: Revisión continua de actividades prácticas, retroalimentación en entregas parciales, participación en discusiones y talleres.

Instrumento sugerido: Rúbricas para actividades prácticas y observación directa del desempeño durante actividades grupales e individuales.

Evaluación Sumativa

Qué se evalúa: Capacidad para resolver problemas clásicos aplicando estructuras de control, diseñar algoritmos correctos, realizar pruebas y corregir errores.

Cómo se evalúa: Examen teórico-práctico que incluya diseño de pseudocódigo y diagramas de flujo para un problema clásico, junto con análisis y corrección de un algoritmo dado.

Instrumento sugerido: Examen escrito o digital con preguntas abiertas, ejercicios de diseño y análisis, evaluado con rúbrica detallada.

Duración

Esta unidad se recomienda impartir en un total de 9 horas distribuidas en 3 semanas, con sesiones de 3 horas semanales. La distribución sugerida es:

  • Semana 1: Introducción, estudio de estructuras de control y diseño de algoritmos (3 horas)
  • Semana 2: Resolución de problemas clásicos y corrección de errores (3 horas)
  • Semana 3: Integración de conceptos, pruebas estructuradas y presentación de soluciones (3 horas)

Este formato permite que los estudiantes desarrollen habilidades progresivamente, con tiempo para práctica, retroalimentación y consolidación del aprendizaje.

Crea tus propios cursos con EdutekaLab

Diseña cursos completos con unidades, objetivos y actividades usando IA.

Comenzar gratis