Unidad
didáctica Estructura de Datos
Computacionales
Ciclo: 2 6 créditos
Módulo Programación de software
formativo
Unidad de Desarrollar la construcción de programas de los sistemas de información, de
Competencia acuerdo al diseño funcional, estándares internacionales de TI, buenas prácticas
de programación y políticas de seguridad de la organización.
Sumilla La Unidad Didáctica Estructura de Datos Computacionales pertenece al eje de
Desarrollo de Software. La Unidad Didáctica se basa en el paradigma de la
programación orientada a objetos (POO). En primer lugar, se inicia con el manejo
de módulos, paquetes, manejo de excepciones, creación de clases y objetos
desarrollándose los conceptos de Abstracción, Encapsulamiento, Herencia y
Polimorfismo. Posteriormente, se aprenderá a desarrollar formularios y se
realizarán pruebas unitarias a través de TDD utilizando para ello el lenguaje de
programación Python.
Capacidad de Codificar componentes de software utilizando para ello el paradigma de
Aprendizaje Programación Orientado a Objetos (POO), utilizando los conceptos de
Abstracción, Encapsulamiento, Herencia y Polimorfismo, realizando pruebas
unitarias con TDD y aplicándolos en una solución de escritorio con Python.
Escuela de Tecnología Sistemas de Información
Perfil del
Estudiante
Comunica asertivamente su opinión, ideas o
01 Comunicación propuestas, de manera oral o escrita y a través de
Efectiva diferentes medios físicos y digitales.
Utiliza activamente la tecnología para crear valor y
02 Mentalidad oportunidades a través de propuestas ágiles,
Digital colaborativas y centradas en las personas.
Cuestiona su entorno actual a partir de fundamentos
03 Pensamiento teóricos y empíricos buscando el progreso y
Crítico bienestar de la sociedad.
Gestiona con eficiencia y eficacia las diferentes
04 Foco de tareas o proyectos que se le encomiendan,
Ejecución asegurando las metas y objetivos planteados.
Emprende iniciativas dentro y fuera de su
05 Emprendimiento organización con miras a generar valor para la
comunidad y usuarios finales.
Escuela de Tecnología Sistemas de Información
Malla Curricular
Ciclo Desarrollo Algoritmos Diseño web Soporte de TI Laboratorio de
Personal Computacion Integración 1:
I
ales Diseño Web
Ciclo Habilidades Desarrollo de Estructura de Modelamiento y Laboratorio de
Comunicativa aplicaciones Datos Diseño de Base Integración 2:
II
s Front-End Computacional de Datos Programación
es de una
aplicación
Front-End
Técnico
Ciclo Modelamient Investigación Programación Fundamentos Laboratorio de
o de y Análisis de de Base de de Integración 3:
III
Software Desarrollo de Datos Investigación Modelado y
aplicaciones programación
Back-End de una
aplicación
Frontend y
Backend
Ciclo Desarrollo Integración Métodos y Estadística Laboratorio de
Profesional de Técnicas para aplicada a la Integración 4:
IV
aplicaciones probar el computación Desarrollo y
Back-End Software Prueba de
Software
Ciclo Technical Big Data e Administración Desarrollo de Métodos para el Técnicas e
English IoT y servicios en aplicaciones Análisis de Instrumentos de
V
Profesional Técnico
la nube Móviles Datos Investigación
Profesional Técnico
Ciclo Inteligencia Modelado y Análisis de Metodologías Metodologías Laboratorio de
de Negocios presentación Datos Web Ágiles de ágiles para la Integración 5:
VI
y Analytics de Datos Innovación innovación Desarrollo y
despliegue de un
software de
Inteligencia de
Negocios
Ciclo Creación y Arquitectura Gestión de Gestión de Gestión de Proyecto de
Gastón de de Sistemas Servicios y Proyectos Proyectos Innovación
VII
Nuevos de Gobierno de TI Agiles Predictivos Tecnológica
Negocios Información
Profesional
Ciclo Seguridad y Sistemas Sistemas para Proyecto de Laboratorio de
Auditoría de Integrados de la Toma de Innovación Integración 6:
VIII
TI Gestión Decisiones Empresarial Planificación de
Proyectos de
Software
Escuela de Tecnología Sistemas de Información
Programación
INDICADOR DE LOGRO SUBINDICADOR TEMAS Y SUBTEMAS
Preparación del escenario de
trabajo
Introducción.
Descarga e instalación de
Python.
1. Realiza la preparación del Descarga e instalación de
ambiente de desarrollo, a través de Microsoft Visual Code.
la instalación y configuración de los Descarga e instalación de
software requeridos para el QtDesigner
desarrollo de las clases. Instalación de Librerías
pip.
PyQt5
Otros
Alternativos.
IL 1: PROGRAMACIÓN Prueba de priogramas y
MODULAR Y PAQUETES Ejemplos.
Codifica programas de Módulos y paquetes
manera modular, Módulos
gestionando los errores ¿Qué es un Módulo?
comunes a través de Creación de Modulos.
excepciones, utilizando Importar Módulo.
nociones básicas de Paquetes
2. Codifica módulos y paquetes,
programación orientada a utilizando el lenguaje de ¿Qué es un Paquete?
objetos. programación propuesto. Creación de
Paquetes.
Importa Módulos para
paquetes.
Módulos y Paquetes
combinados.
Errores y Excepciones
¿Qué es un error?
3. Maneja los errores más comunes Tipos de errores.
y las diferentes excepciones para Excepciones.
ejecutar un programa, utilizando un Bloque try-except
lenguaje de programación. Bloque else
Bloque finally.
Manejo de Cadenas.
IL 2: PROGRAMACIÓN ¿Qué es una Cadena?
ORIENTADA A OBJETOS Operadores de Cadena de
caracteres.
Construye componentes de 4. Implementa programas, los
Concatenar
software que incluya los cuales manipulen cadenas de
Multiplicar
conceptos de programación caracteres, utilizando un lenguaje de
Métodos para Cadenas de
orientada a objetos, a través programación.
caracteres.
de un lenguaje de
Extensión.
programación.
Encontrar.
Minúsculas.
Escuela de Tecnología Sistemas de Información
Reemplazar.
Cortar.
Programación Orientada a
Objetos.
¿Qué es una Clase?
¿Qué es un Objeto?
Implementación de una
Clase:
Atributos públicos de
5. Crea programas orientado a una Clase.
objetos, utilizando un lenguaje de Metodos públicos de
programación. Clase y empleo del
identificador self.
Declaración e inicialización
de Objetos.
Acceso a los miembros de
una clase.
Programación Orientada a
Objetos y Encapsulamiento.
Atributos privados.
Constructor.
Sobre-cargas
6. Aplica el paradigma orientado a
Encapsulamiento.
objetos y encapsulamiento,
Abstracción
utilizando un lenguaje de
programación. Herencia
Polimorfismo
Metodos de acceso
publico set y get.
Declaración e
inicialización de objetos.
QtDesigner y PyQt5 diseño de
Formularios y uso de Controles
Widget.
Explorando QtDesigner.
Nuestro primer proyecto.
7. Realiza el diseño de formularios y
Revisión de la
controles (Widget) de escritorio a
IL 3: QtDesigner - PyQt5 documentación de PyQt5
través de QtDesigner y su
EN EL DESARROLLO DE y QtDesigner.
implementación con la librería PyQt5.
PROYECTOS – Uso del componente
PAQUETE Label, Line Edit, Text Edit,
CONTROLADOR. Push Botonm Radio
Button, Check Box ,Spin
Desarrolla un proyecto de Box.
software, implementado el QtDesigner y PyQt5, diseño de
paquete Controlador, formularios y uso de Controles
utilizando el paradigma de Widget avanzados.
programación orientada a 8. Realiza el diseño de formularios y Uso de componentes
objetos . controles (Widget avanzados) de avanzados:
escritorio a través de QtDesigner y List Widget
su implementación con la librería Combo Box
PyQt5. Table Widget
Calendar Widget
Menu.
Escuela de Tecnología Sistemas de Información
Proyecto: Implementación de
clases del paquete Controlador
9. Implementa un proyecto de Introducción.
software utilizando el patrón MVC, Estructura de MVC
teniendo en cuenta la estructura de Diagrama de clase del
un proyecto y desarrollando los proyecto.
componentes del Paquete Implementación de Clase
Controlador. Controlador.
Proyecto: Herramientas de
Programación Orientada a
10. Implementa un proyecto de Objetos.
software utilizando el patrón MVC,
Encapsulamiento.
utilizando el concepto de herencia,
Herencia.
encapsulamiento y polimorfismo.
Polimorfismo.
11. Implementa las clases del Proyecto: Implementación de
proyecto del paquete Vista, clases del paquete Vista
utilizando las propiedades y Programación de los
métodos de clases contenidas en la formularios para su
librería PyQt5. llamada.
Proyecto: Implementación de
los archivos de texto del
Paquete Modelo.
Generadores y cierres.
12. Implementa el paquete Modelo a Procesando archivos de
través del manejo de archivos de texto.
texto para la implementación de Open
IL 4: QtDesigner PyQt5 EN
persistencia utilizando un lenguaje Close
EL DESARROLLO DE
de programación. Read / Readline /
PROYECTOS – PAQUETE Readlines.
VISTA y MODELO Write.
Trabajando con
Desarrolla un proyecto de archivos reales.
software, implementado el Mantenimiento de Archivos de
paquete Modelo, Vista y 13. Implementa el paquete Modelo a Textos, Paquete Modelo.
Controlador utilizando el través del mantenimiento de datos a CRUD
paradigma de programación través del manejo de archivos de Grabar (Create)
orientada a objetos. texto, a través de un lenguaje de Consultar (Read)
programación. Actualizar (Update)
Eliminar (Delete)
Pruebas que se realizan en un
Proyecto.
Pruebas unitarias
Tipos de pruebas
14. Realiza las pruebas unitarias y Pruebas de Aceptación
de integración de los componentes
Pruebas Funcionales
de software utilizando un lenguaje
Pruebas de Sistema
de programación.
Pruebas Unitarias
Pruebas de Integración
Uso de Formato
Casos de Prueba
Escuela de Tecnología Sistemas de Información
Sistema
de Evaluación
ED EP EC EF EA AV
Evaluación Evaluación Evaluación Evaluación Final Evaluación Actividades
Diagnóstico Continua 1 Continua 2 Actitudinal Virtuales
Peso Peso Peso Peso Peso Peso
0% 15% 25% 40% 10% 10%
Referencias
bibliográficas
Bibliografía virtual básica
1. Base de datos E-Libro:
Blasco, F. (2019). Programación orientada a objetos en Java. RA-MA y Ediciones de la U.
Ceballos Sierra, F. J. (2018). Programación orientada a objetos con C++ (5a. ed.). RA-MA.
Fernández de Sevilla Vellón, M. Á. (2019). Introducción práctica a la programación con Python.
Universidad de Alcalá.
Hinojosa Gutiérrez, Á. P. (2016). Python paso a paso. RA-MA.
Moreno Pérez, J. C. (2015). Programación orientada a objetos. RA-MA.
Nolasco Valenzuela, J. S. (2018). Python: aplicaciones prácticas. RA-MA.
Oviedo Regino, E. M. (2015). Lógica de programación orientada a objetos. Ecoe Ediciones.
2. Biblioteca virtual Macro:
Marcelo Villalobos, R. W. (2014). Fundamentos de Programación Visual Basic. Macro.
3. Otros documentos en línea:
Severance, Ch. R. (2009). Python para todos. Explorando la información con Python 3. Elliott Hauser.
[Link]
Escuela de Tecnología Sistemas de Información