
1. DATOS INFORMATIVOS
DOMINIO:
CARRERA:IngenieríaenCiberseguridadyGestión deTecnologíasdelaInformación
Asignatura/Módulo:FundamentosdeProgramacióny EstructurasdeDatos
Paralelo:N°horas
Plandeestudios:
Prerrequisitos:
Periodoacadémico:
H. aprendizaje autónomo: 72 H. aprendizaje prácticoexperimental: 16
DocenteooCo-Docente1:Gradoacadémicoytítuloprofesional:Co-Docente2: Gradoacadémicoy títuloprofesional:
Ivonne Maldonado
4to. Nivel: Magíster en Tecnologías de la Información Mención Seguridad en Redes y Comunicaciones
3er. Nivel: Ingeniera en Sistemas Informáticos y de Computación
Docente en la Escuala de Formación de Tecnólogos de la Escuela Politécnica Nacional desde el año 2015. Su labor académica también incluye la participación en proyectos como: transición de régimen de créditos a régimen por horas y plan piloto de evaluación de materias de nivelación.
En el campo laboral, se desempeño como Supervisor de Control de Calidad de Desarrollo en Grupo SES, donde lideró el control de calidad de los sistemas desarrollados, asegurando su funcionalidad y cumplimiento de estándares. Esta experiencia refuerza su capacidad para trabajar bajo presión, su sentido de urgencia y su enfoque en la excelencia.
Indicacióndehorariodeatenciónalestudiante:
Tutoríapresencial:Teléfono: Tutoríavirtual:Correoelectrónico:
2. DESCRIPCIÓN DE LA ASIGNATURA
El Módulo 1: Fundamentos de Programación y Estructuras de Datos está diseñado para introducir a los estudiantes en los principios fundamentales de la programación y las estructuras de datos, proporcionando una base sólida tanto en aspectos teóricos como prácticos. Explorando temas clave como los conceptos básicos de programación, declaración y tipos de datos, estructuras de control de flujo, funciones y procedimientos, así como estructuras de datos como arreglos, listas enlazadas, pilas y colas. El objetivo teórico del módulo es que los estudiantes comprendan los fundamentos de la programación y la lógica computacional, mientras que el enfoque práctico busca que implementen soluciones de software eficientes y escalables mediante el uso de algoritmos y estructuras de datos adecuados. Al finalizar, los estudiantes estarán capacitados para resolver problemas de complejidad media y alta, aplicando técnicas de diseño e implementación en programación.
3. DESCRIPCIÓN DE COMPETENCIAS Y RESULTADOS DE APRENDIZAJE
COMPETENCIAS TRANSVERSALES
Capacidad de aprendizaje autónomo.
Pensamiento crítico y resolución de problemas.
COMPETENCIAS DISCIPLINARES DEL DOMINIO
RESULTADOS DE APRENDIZAJE DE LA CARRERA
Adaptación y aplicación de conocimientos teóricos y prácticos en la resolución de problemas.
Soluciones innovadoras que respondan a las necesidades específicas de cada contexto.
Trabajo en equipo.
Colaboración efectiva en proyectos para el desarrollo de soluciones escalables y sostenibles.
RESULTADOS DE APRENDIZAJE DE LA ASIGNATURA
1. Aplicar los principios de programación para el diseño e implementación de soluciones de software eficientes y escalables, cumpliendo con los estándares de calidad y seguridad. Comprender los principios fundamentales de programación y estructuras de datos para la resolución de problemas computacionales.
1. Aplicar los principios de programación para el diseño e implementación de soluciones de software eficientes y escalables, cumpliendo con los estándares de calidad y seguridad. Aplicar los principios de programación para el diseño e implementación de soluciones de software eficientes y escalables.
2. Implementar algoritmos y estructuras de datos para la resolución de problemas de complejidad media y alta en distintas áreas de la computación.
Implementar algoritmos y estructuras de datos para la resolución de problemas de complejidad media y alta.

4. EVALUACIÓN DE LOGROS DE APRENDIZAJE
Resultadodeaprendizaje
PROYECTODELNIVEL Retos
El proyecto consiste en diseñar e implementar un Sistema de Gestión de Pedidos para una Empresa Exportadora de Ramilletes de Flores. El sistema debe permitir a los clientes elegir entre una variedad de ramilletes personalizados según tipo de flores, tamaño y colores, realizar pedidos y hacer un seguimiento del estado del envío. Además, el sistema debe proporcionar herramientas para gestionar el inventario de flores, procesar los pedidos, y coordinar los envíos internacionales.
Los estudiantes deben ir resolviendo el proyecto en etapas, cada una centrada en uno de los resultados de aprendizaje.
Reto 1: En este reto, los estudiantes diseñarán la estructura lógica básica del sistema mediante diagramas de flujo y pseudocódigo, modelando cómo se ingresarán, procesarán y mostrarán los datos relacionados con el inventario de flores y los pedidos iniciales. Este reto incluye el uso de conceptos fundamentales como variables, tipos de datos, operadores y estructuras de control.
Comprender los principios fundamentales de programación y estructuras de datos para la resolución de problemas computacionales.
Reto 2: En este reto los estudiantes desarrollarán un sistema básico que permita registrar, mostrar y editar y eliminar pedidos e inventarios. Se enfocarán en usar funciones y procedimientos para organizar el código, de manera eficiente y escalable.
Aplicar los principios de programación para el diseño e implementación de soluciones de software eficientes y escalables.
Reto 3: En el tercer reto los estudiantes optimizarán el sistema implementando estructuras avanzadas como listas enlazadas, pilas y/o colas.
Reto 4: En el último reto, los estudiantes integrarán alertas para casos como inventarios insuficientes. Finalmente, los estudiantes deberán integrar todas las funcionalidades en los retos anteriores en un sistema completo y funcional. Deberán realizar pruebas para asegurarse de que el sistema funcione correctamente.
Implementar algoritmos y estructuras de datos para la resolución de problemas de complejidad media y alta.
DefinicióndelcriteriodeevaluacióndelRdA Ponderacióncriterios
Criterio 1: Comprende y utiliza correctamente los conceptos básicos de programación (variables, tipos de datos y operadores) para estructurar soluciones. 30%
Criterio 2: Diseña diagramas de flujo claros y coherentes para representar procesos computacionales básicos. 30%
Criterio 3: Desarrolla pseudocódigo que incluye entrada/salida y manejo de arreglos para almacenar datos básicos. 40%
Criterio 1: Implementa correctamente un programa funcional con entrada, procesamiento y salida de datos organizados en módulos. 50%
Criterio 2: Utiliza funciones y procedimientos de manera adecuada para estructurar el programa y que este sea escalable. 50%
Criterio 1: Implementa correctamente listas enlazadas, pilas y/o colas para resolver problemas específicos del sistema. 50%
40.00
Observaciones(Alertasparatutoríasacadémicas)
Los estudiantes en nivel D deben reforzar la comprensión de variables, diagramas de flujo y pseudocódigo con ejercicios prácticos.
Los estudiantes en nivel D deben reforzar la comprensión de variables, diagramas de flujo y pseudocódigo con ejercicios prácticos.
Los estudiantes en nivel D deben reforzar la comprensión de variables, diagramas de flujo y pseudocódigo con ejercicios prácticos.
Los estudiantes en nivel D deben reforzar el uso de funciones y diseño modular con ejercicios prácticos guiados.
Los estudiantes en nivel D deben reforzar el uso de funciones y diseño modular con ejercicios prácticos guiados.
Los estudiantes en nivel D deben reforzar su comprensión de estructuras avanzadas y diseño de algoritmos mediante tutorías específicas y ejercicios prácticos.
Criterio 2: Garantiza que el sistema maneje correctamente los casos límite (ej., inventario insuficiente o cola de pedidos llena). 50%
Los estudiantes en nivel D deben reforzar su comprensión de estructuras avanzadas y diseño de algoritmos mediante tutorías específicas y ejercicios prácticos.

5. METODOLOGÍA
comprenden los fundamentos de programación y estructuras
sino
también aplican
implementación de soluciones eficientes y escalables. La metodología utilizada fomentan la participación activa y la reflexión crítica, permitiendo que los estudiantes conecten la teoría con aplicaciones prácticas. Con la orientación del docente, el trabajo colaborativo y el uso de herramientas de programación se alcanzan los objetivos del módulo y se prepara a los estudiantes
Reto 1: En este reto, los estudiantes diseñarán la estructura lógica básica del sistema mediante diagramas de flujo y pseudocódigo, modelando cómo se ingresarán, procesarán y mostrarán los datos relacionados con el inventario de flores y los pedidos iniciales. Este reto incluye el uso de conceptos fundamentales como variables, tipos de datos, operadores y estructuras de control.
Comprender los principios fundamentales de programación y estructuras de datos para la resolución de problemas computacionales.
El proyecto consiste en diseñar e implementar un Sistema de Gestión de Pedidos para una Empresa Exportadora de Ramilletes de Flores. El sistema debe permitir a los clientes elegir entre una variedad de ramilletes personalizados según tipo de flores, tamaño y colores, realizar pedidos y hacer un seguimiento del estado del envío. Además, el sistema debe proporcionar herramientas para gestionar el inventario de flores, procesar los pedidos, y coordinar los envíos internacionales. Los estudiantes deben ir resolviendo el proyecto en etapas, cada una centrada en uno de los resultados de aprendizaje.
Reto 2: En este reto los estudiantes desarrollarán un sistema básico que permita registrar, mostrar y gestionar pedidos e inventarios. Se enfocarán en usar funciones y procedimientos para organizar el código, de manera eficiente y escalable.
Aplicar los principios de programación para el diseño e implementación de soluciones de software eficientes y escalables.
Condicionales: if, else, elif.
Bucles: for, while y do-while.
Estructuras de control de flujo (Parte 2)
Anidación de estructuras de control.
Combinación de condicionales y bucles. 6 4. Funciones y procedimientos (Parte 1) 4.1. Introducción a la modularidad en programación. 4.2. Creación y uso de funciones simples: sintaxis y ejemplos. 7
4. Funciones y procedimientos (Parte 2) 4.3. Parámetros de entrada y salida en funciones. 4.4. Procedimientos vs. funciones: diferencias y aplicaciones. 4.5. Uso de parámetros en funciones. 8
5. Arreglos y tipos abstractos de datos (Parte 1) 5.1. Introducción a los arreglos: definición y uso. 5.2. Arreglos unidimensionales: operaciones básicas (lectura, escritura, iteración).
5. Arreglos y tipos abstractos de datos (Parte 2) 5.3. Arreglos multidimensionales: definición y aplicaciones. 5.4. Aplicaciones prácticas: manejo de datos en tablas y matrices.
4. Funciones y procedimientos (Parte 3) 4.5. Integración de funciones y arreglos.
4. Funciones y procedimientos (Parte 4) 4.6. Buenas prácticas en programación. 12
6. Listas enlazadas, pilas y colas (Parte 1) 6.1. Introducción a listas enlazadas: concepto y utilidad. 6.2. Implementación de listas enlazadas simples: nodos y enlaces.
Reto 3: En el tercer reto los estudiantes optimizarán el sistema implementando estructuras avanzadas como listas enlazadas, pilas y/o colas.
Reto 4: En el último reto, los estudiantes integrarán alertas para casos como inventarios insuficientes. Finalmente, los estudiantes deberán integrar todas las funcionalidades en los retos anteriores en un sistema completo y funcional. Deberán realizar pruebas para asegurarse de que el sistema funcione correctamente.
13
6. Listas enlazadas, pilas y colas (Parte 2) 6.3. Introducción a pilas: definición y operaciones básicas (push, pop, peek). 6.4. Aplicaciones de pilas: historial de acciones, deshacer/rehacer.

8. BIBLIOGRAFÍA
a. BÁSICA / LIBROS
Bibliografía (basarse en normas APA)
Kernighan, B. W., & Ritchie, D. M. (1991). El lenguaje de programación C. Pearson Educación.
Deitel, H. M., & Deitel, P. J. (2009). C++: Cómo programar (6.ª ed.). Pearson Education.
Joyanes Aguilar, L. (2008). Fundamentos de programación: Algoritmos, estructuras de datos y objetos. McGrawHill.
Sznajdleder, P. (2012). Algoritmos a fondo. Alfaomega.
Levitin, A. (2012). Introduction to the Design & Analysis of Algorithms. Pearson.
Elaborado por:
Ivonne Maldonado Soliz
Revisado y Aprobado por:
Código Biblioteca PUCESI Nro. de ejemplares
Biblioteca virtualhttps://catalogobiblioteca.puce.e du.ec/cgi-bin/koha/opacdetail.pl?biblionumber=31532 NA
Biblioteca virtualhttps://catalogobiblioteca.puce.e du.ec/cgi-bin/koha/opacdetail.pl?biblionumber=31503&quer NA
Biblioteca virtualhttps://catalogobiblioteca.puce.e du.ec/cgi-bin/koha/opacdetail.pl?biblionumber=252247&que NA
Biblioteca virtualhttps://catalogobiblioteca.puce.e du.ec/cgi-bin/koha/opacdetail.pl?biblionumber=257842
NA
Biblioteca virtualhttps://catalogobiblioteca.puce.e du.ec/cgi-bin/koha/opacdetail.pl?biblionumber=30471 NA
f) Docente