Está en la página 1de 9

Vicerrectoría Académica IP – CFT

Dirección de Desarrollo Curricular

PROGRAMA DE ASIGNATURA

I. ANTECEDENTES GENERALES

CARRERA : INGENIERÍA EN INFORMÁTICA


ASIGNATURA : ESTRUCTURA DE DATOS Y ALGORITMOS
CÓDIGO : IEI-048
PRERREQUISITOS : NO TIENE
RÉGIMEN : SEMESTRAL
CARÁCTER : OBLIGATORIO
NIVEL : I SEMESTRE
CRÉDITOS Y HORAS TOTALES : 07 CRÉDITOS SCT = 196 TOTAL HORAS CRONOL.
TIEMPO LECTIVO PROGRAMADO : 126 HORAS PED. (36 CÁTEDRA / 90 LABORATORIO)
HORAS TPE* : 112 HORAS CRONOLÓGICAS
ULTIMA MODIFICACIÓN : OCTUBRE 2017
*Trabajo personal del estudiante

II. DESCRIPCIÓN DE LA ASIGNATURA

Estructura de Datos y Algoritmos, es una asignatura teórico-práctica, orientada a que el


estudiante adquiera herramientas que le permitan resolver problemas de baja complejidad, a través
del análisis de estos mediante algoritmo y su posterior implantación utilizando un lenguaje de
programación estructurado.

III. COMPETENCIAS DE EGRESO A LAS CUALES TRIBUTA LA ASIGNATURA

Construir soluciones de software y componentes de acuerdo a los requerimientos de las partes


interesadas, estándares definidos y pruebas de aseguramiento de la calidad.

IV. ELEMENTOS DE COMPETENCIA

- Desarrollar soluciones de software, aplicando algoritmos a través del lenguaje de programación


(TEST-1).
- Ejecutar bajo supervisión scripts dados de pruebas, registrando resultados e informando de
problemas detectados, según procedimientos de la organización. (TEST-1)

V. UNIDADES DE APRENDIZAJE

UNIDAD I ELEMENTOS BÁSICOS DE PROGRAMACIÓN 42 HORAS


UNIDAD II ALGORITMOS EN LA RESOLUCIÓN DE PROBLEMAS 42 HORAS
UNIDAD III ELEMENTOS AVANZADOS: ESTRUCTURAS DE DATOS Y 42 HORAS
FUNCIONES

1
Vicerrectoría Académica IP – CFT
Dirección de Desarrollo Curricular

VI. DESCRIPCION DE LAS UNIDADES DE APRENDIZAJE

UNIDAD I: ELEMENTOS BÁSICOS DE PROGRAMACIÓN


TOTAL HORAS: 42
HORAS CÁTEDRA: 12
HORAS LABORATORIO: 30
Elementos de Desarrollar soluciones de software, aplicando algoritmos a través del lenguaje de
Competencias programación (TEST-1).
Aprendizajes Criterios de
Conocimiento Habilidades Actitudes
Esperados Evaluación
Identificar los Definición de: Reconocer la Valora la Describe el
elementos básicos definición y importancia de concepto de
- Problema.
de programación y aplicabilidad del conocer la relación algoritmo y su
- Algoritmo.
su ámbito de concepto de problema, algoritmo utilidad.
- Lenguaje de
aplicación. problema. e implementación.
programación. Identifica los
- Intérprete y Reconocer la componentes de un
compiladores. definición y algoritmo.
aplicabilidad del
concepto de Explica la relación
algoritmo. entre un problema
y su algoritmo.
Relacionar
problemas y sus Describe los
algoritmos de elementos básicos
implementación. de un lenguaje de
Identificar un programación.
lenguaje de Diferencia a un
programación a intérprete de un
través de sus compilador.
características.
Identificar las
características de
un intérprete y un
compilador.
Identificar las Características de Reconocer las Valora la Asocia variables
características de las variables. características de importancia de las que reflejan
variables y las variables. variables y características de
Concepto de
expresiones para expresiones en el un problema.
expresión y sus Reconocer los
su utilización. contexto de los
elementos. elementos y Asocia expresiones
algoritmos.
definición de las que reflejan las
Estructura
expresiones. características del
secuencial de un
problema.
programa. Reconocer la
estructura Identifica una
secuencial de un estructura
programa. secuencial en un
programa.

2
Vicerrectoría Académica IP – CFT
Dirección de Desarrollo Curricular

Resolver Componentes de Identificar los Riguroso en la Construye un


problemas simples un diagrama de componentes de un construcción de un diagrama de flujo
utilizando un flujo: diagrama de flujo. diagrama de flujo para un problema
diagrama de flujo. para solución de con enunciado
- Inicialización. Elaborar diagramas
problemas simples. propuesto.
- Secuencia. de flujo para
- Entrega de problemas Corrige un
resultados. planteados. diagrama de flujo
presentado con
Identificar la lógica errores.
del problema a
Describe la lógica
partir de un
de un problema a
diagrama de flujo
partir de su
dado.
diagrama de flujo.
Elaborar Componentes de Relacionar un Valora el uso del Construye un
seudocódigo para un seudocódigo: diagrama de flujo y pseudocódigo en la seudocódigo para
resolver problemas - Inicialización. seudocódigo en la resolución de un problema dado.
simples. - Secuencia. resolución de problemas simples.
Construye un
- Decisión. problemas.
seudocódigo para
- Ciclos iterativos.
Resolver un diagrama de
- Entrega de
problemas simples flujo.
resultados.
utilizando un
pseudocódigo.

Evaluación de la unidad

Tipo de Evidencia Proceso


Evidencias Laboratorio: Implementación de algoritmos.
Instrumento Evaluativo Escala de valoración
Contexto Sala de Clases - Laboratorio
Ponderación de la unidad 10% Cátedra + 23% Laboratorio = 33%

3
Vicerrectoría Académica IP – CFT
Dirección de Desarrollo Curricular

UNIDAD II: ALGORITMOS EN LA RESOLUCIÓN DE PROBLEMAS


TOTAL HORAS: 42
HORAS CÁTEDRA: 12
HORAS LABORATORIO: 30
(1) Desarrollar soluciones de software, aplicando algoritmos a través del lenguaje de
programación. (TEST-1)
Elementos de
(2) Ejecutar bajo supervisión scripts dados de pruebas, registrando resultados e
Competencias
informando de problemas detectados, según procedimientos de la organización.
(TEST-1)
Aprendizajes Criterios de
Conocimiento Habilidades Actitudes
Esperados Evaluación
(1) Representar Conectividades Identificar Entiende la Identifica los
axiomas lógicos lógicas: conectores lógicos importancia de los diferentes
mediante la - Negación. para representar conectores lógicos conectores lógicos.
construcción de - Y lógico. axiomas. en los axiomas.
Identifica axiomas
Tablas de Verdad. - O lógico.
Comprobar lógicos a través de
- Tabla de Verdad.
axiomas utilizando conectores lógicos.
la Tabla de Verdad.
Construye Tablas
de Verdad para
representar
axiomas.
(1) Aplicar Filosofía del Asociar sentencias Valorar la Utiliza las
estructuras de lenguaje de de decisión para importancia del uso estructuras de
control de decisión programación resolver problemas de sentencias de control de decisión
e iteración para Python: simples. control en la para resolver el
resolver problemas - Declaración de implementación de problema
Asociar sentencias
dados. variables. soluciones a planteado.
de iteración para
- Tipos de datos. problemas simples.
resolver problemas Utiliza las
- Operación de
simples. estructuras de
Asignación.
control de iteración
- Tipos de
para resolver el
Operadores.
problema
- Literales.
planteado.
- Expresiones.
Sentencias de
decisión:
- if/elif/else.
- Ternaria.
- if/else.
Sentencias de
iteración:
- While.
- .for.

4
Vicerrectoría Académica IP – CFT
Dirección de Desarrollo Curricular

(2) Generar Testing: Distinguir las Riguroso en la Describe las


reportes de testing - Concepto. técnicas de testeo generación de técnicas utilizadas
según aplicadas a reportes de testing. para testeo.
- Técnicas
requerimientos, diferentes
básicas. Ejecuta
contrastando problemas.
determinados
resultados - Refinamiento por
Implementar testing guiones de prueba
obtenidos y pasos sucesivos.
en un algoritmo. bajo supervisión.
esperados.
Registra resultados
e informa sobre
problemas.
(2) Ejecutar Elementos de un Reconocer los Minucioso en la Ejecuta guiones de
técnicas de testeo reporte de testing elementos de un ejecución de testing prueba bajo
aplicadas a los simple. reporte de testing. durante el supervisión.
algoritmos Realizar desarrollo de
Registra resultados
implementados. determinados software.
e informa sobre
guiones de prueba problemas.
bajo supervisión.
Contrasta
Cotejar resultados
resultados
obtenidos versus
intermedios,
los resultados
obtenidos versus
esperados.
los esperados.

Evaluación de la unidad

Tipo de Evidencia Proceso


Laboratorio: Algoritmos implementados y Python, y reporte de script
Evidencias
de pruebas.
Instrumento Evaluativo Escala de valoración
Contexto Sala de Clases - Laboratorio
Ponderación de la unidad 10% Cátedra + 23% Laboratorio = 33%

5
Vicerrectoría Académica IP – CFT
Dirección de Desarrollo Curricular

UNIDAD III: ELEMENTOS AVANZADOS: ESTRUCTURAS DE DATOS Y FUNCIONES


TOTAL HORAS: 42
HORAS CÁTEDRA: 12
HORAS LABORATORIO: 30
Elementos de Desarrollar soluciones de software, aplicando algoritmos a través del lenguaje de
Competencias programación (TEST-1).
Aprendizajes Criterios de
Conocimiento Habilidades Actitudes
Esperados Evaluación
Construir Listas: Asociar la Valora la Utiliza listas para
algoritmo simple, - Definición. estructura de datos importancia de implementar
para la solución - Tipos de datos en y objetos para utilizar listas en la algoritmos simples
del problema listas. resolver el implementación de de manejo de
utilizando listas, - Acceso a los problema algoritmos. datos.
tuplas y elementos. planteado.
Valora la Utiliza tuplas para
diccionarios. - Slicing o
Diferenciar los importancia de implementar
particionado.
elementos utilizar tuplas en la algoritmos simples
- Inserciones y
implicados entre las implementación de de manejo de
borrados.
listas, tuplas y algoritmos. datos.
- Ordenamiento
diccionarios, al
- Matrices. Valora la Utiliza diccionarios
construir un
importancia de para implementar
Tuplas: algoritmo simple.
utilizar diccionarios algoritmos simples
- Definición.
Realizar en la de manejo de
- Listas vs Tuplas.
determinados implementación de datos.
- Asignación. guiones de prueba algoritmos
- Elementos y bajo supervisión.
Segmentos de
Tuplas. Cotejar resultados
- Longitud de una obtenidos versus
Tupla. los resultados
- Empaquetado y esperados.
desempaquetado Implementar testing
de una Tupla. en un algoritmo.
Diccionarios:
- Definición.
- Operaciones de
acceso, inserción
y borrado.
- Métodos.
- Asignación de
Alias y copiado.
- Compresión.
- Ordenamiento
Construir Función: Identifica el Sistemático en el Aplica elementos
funciones para - Definición. mecanismo de uso de funciones de lógica en la
implementar - Estructura. creación de predefinidas en la construcción de
algoritmos - Declaración. funciones que implementación de funciones.
simples, - Invocación. permitan algoritmos simples.
Crea funciones con
llamándolas implementar
6
Vicerrectoría Académica IP – CFT
Dirección de Desarrollo Curricular

desde una rutina - Importación. algoritmos simples. algoritmos simples.


principal.
Función de Utilizar funciones
impresión: print. predefinidas para la
resolución de
Función principal:
problemas simples.
main.
Realizar
Sentencia import.
determinados
Llamada de guiones de prueba
funciones desde bajo supervisión.
main.
Cotejar resultados
Concepto de obtenidos versus
parámetro. los resultados
Declaración de esperados.
parámetro. Implementar testing
Paso de parámetros. en un algoritmo.

Valores por defecto y


paso de parámetros.
Retorno de
funciones.
Implementar Buenas prácticas de Identificar mejoras Meticuloso en la Determina las
mejoras al detección y al algoritmo de aplicación de mejoras a
algoritmo para la corrección de acuerdo a mejoras a los implementar en
solución de los problemas. problemas algoritmos para base a las pruebas
problemas detectados. corrección de realizadas.
detectados. Definir mejoras en problemas.
Implementa las
los algoritmos mejoras al
creados. algoritmo, para la
Construir mejoras a solución de los
algoritmos problemas
existentes. requeridos.
Implementar testing
en un algoritmo.

Evaluación de la unidad

Tipo de Evidencia Proceso


Evidencias Laboratorio: Implementación de mejoras a algoritmos.
Instrumento Evaluativo Escala de valoración
Contexto Sala de Clases - Laboratorio
Ponderación de la unidad 10% Cátedra + 24% Laboratorio = 34%

7
Vicerrectoría Académica IP – CFT
Dirección de Desarrollo Curricular

VII. SUGERENCIAS METODOLÓGICAS

Dentro de las actividades a desarrollarse a lo largo de la asignatura, se sugiere estas se realicen


bajo la metodología de Aprendizaje Basado en Problemas, y que desarrollen trabajos de manera
individual para desarrollar habilidades de análisis autónomo y autocritico del trabajo que realiza el
estudiante. Los aprendizajes deben ser extrapolados a contextos y situaciones reales, de manera
que visualice el ámbito de aplicación e impacto de los conceptos y habilidades que va adquiriendo.
Esta asignatura se imparte en la sala de clases, donde los estudiantes adquieren los conocimientos
necesarios para luego aplicarlos en el laboratorio de informática, a partir de ejercicios prácticos y
evidencias.

VIII. REQUERIMIENTOS DE INFRAESTRUCTURA Y EQUIPAMIENTO

- Laboratorio de informática.

IX. EXAMEN FINAL

Tipo de Evidencia Evidencias Instrumento Evaluativo


Producto Laboratorio Rúbrica

X. PONDERACIÓN DEL PROCESO EVALUATIVO DE LA ASIGNATURA

Evaluaciones Ponderación
Unidades de aprendizaje 70%
Examen final 30 %

La ponderación de las evaluaciones parciales del semestre y el examen final está definida por el
reglamento académico.

XI. PERFIL DOCENTE

- Ingeniero (e) en Informática.

XII. BIBLIOGRAFÍA

BÁSICA

- Giusti, Armando. E (2001). Algoritmos, datos y programas: con aplicaciones en Pascal, Delphi y
Visual Da Vinci. Buenos Aires. Editorial Pearson Educación/Prentice-Hall.
- Marzal, A., García, I. (2011). Introducción a la programación con Python. Universitat Jaume,
España.
- Downey, A., Elkner, J. & Meyers, C. (2002). Aprenda a pensar como un programador con Python.
8
Vicerrectoría Académica IP – CFT
Dirección de Desarrollo Curricular

Editorial Green Tea Press, Wllesley, Massachusetts. Disponible en:


https://openlibra.com/es/book/download/aprenda-a-pensar-como-un-programador-con-python

COMPLEMENTARIA

- Chazallet, S. (2016). Python 3. Los fundamentos del lenguaje. Ediciones ENI.


- Rodríguez Ojeda, Luis. (2015) Python Programación. Disponible en:
https://openlibra.com/es/book/python-programacion.

También podría gustarte