Você está na página 1de 13

NOMBRE DE LA ASIGNATURA : INTRODUCCION A LA PROGRAMACION

PRE – REQUISITO : NINGUNO


CICLO: I
HORAS SEMANALES: HT: 0 HP: 6 TH: 6
CREDITOS: 3
SUMILLA DE LA ASIGNATURA:
Asignatura teórico - práctico, perteneciente al área de formativa de estudios de especialidad, sub
área de ciencias de la computación y es de carácter obligatorio, esta asignatura provee al
estudiante de los fundamentos de la programación de computadoras y la solución de problemas
mediante el desarrollo de algoritmos, incluyendo técnicas de programación paralela. Dominando
los componentes básicos de un programa, abarca los ítems de: definición de programa de
computadora y conceptos básicos, estructuras de control, funciones y módulos, datos
estructurados, archivos y programación orientada a objetos, también se incluye una visión general
al campo del desarrollo de software y su efecto en la sociedad, además de los principios éticos en
computación, emplea el lenguaje imperante C/C++ para la demostración del funcionamiento de
los algoritmos.

CONTENIDO :

Modulo I: definición de programa de computadora y conceptos básicos

 Historia de la Computación
 Definición de algoritmo y programa
 Visión General de los Lenguajes de Programación
 Seudocódigo, declaración y Tipos.
 Representación gráfica de algoritmos
 Variables, constantes y expresiones algorítmicas
 Fases de la resolución de problemas por computador
 Instrucciones de E/S de un programa
 Operaciones primitivas
 Escritura de programas

Modulo II: estructuras de control, funciones y módulos

 Estructura secuencial (saltos por etiqueta [goto… ])


 Estructura condicional simple [Si (condición) entonces…]
 Estructura condicional doble [Si (condición) entonces… Si no …]
 Anidación de estructuras condicionales
 Estructura condicional múltiple [según sea/ caso de…]
 Estructura repetitiva Mientras [while…]
o Bucles infinitos
o Terminación de bucles con datos de entrada
o Banderas (flags)
 Estructura repetitiva Hacer …Mientras [do…while]
 Estructura repetitiva desde/para [for…]
 Sentencias de ruptura y continuación de bucle [break, continue]
 Anidación de estructuras repetitivas
 Subalgoritmos y subprogramas
 Función
 Procedimiento
 Variables locales y globales
 Parámetros y retornos
 Sobrecarga de funciones

Modulo III: datos estructurados

 Array (vector), operaciones con vectores


 Array bidimensional (tabla o matriz), array multidimensional
 Almacenamiento de un array en la RAM
 Union, registros, estructuras, array de estructuras
 Cadena de caracteres, datos tipo carácter
 Operaciones con cadenas (funciones de cadenas)
 Conversión de tipos (Casting)
 Métodos de ordenamiento (Burbuja, Shell, Inserción, Selección, Quicksort)
 Búsqueda [Secuencial, binaria, por transformación de claves (hasting)]
 Intercalación
 Listas
 Listas enlazadas (operaciones con listas enlazadas)
 Listas circulares (operaciones con listas circulares)
 Listas doblemente enlazadas (operaciones con listas doblemente enlazadas)
 Pilas (operaciones con pilas)
 Colas (operaciones con colas)
 Doble cola (operaciones con doble cola)
 Arboles
 Árbol binario
 Árbol binario de búsqueda
 Grafos
 Recursividad
o Recursividad directa e indirecta
o Problemas de recursividad ( torres de hanoi, búsqueda binaria recursiva, ordenación
rápida, mergesort)

Modulo IV: archivos y programación orientada a objetos

 Archivos y flujos
 Organización de archivos (secuencial, directa, secuencial indexada)
 Operaciones con archivos
 Gestión de archivos
 Flujos y mantenimientos de archivos
 Procesamiento de archivos
 Archivos de texto, binarios, lectura y escritura
 Programación orientada a objetos ( clases y objetos)
 Propiedades de la programación orientada a objetos (POO)
o Abstracción
o Encapsulamiento
o Herencia
o Reutilización de código
o Polimorfismo
 Modelado de aplicaciones con UML

BIBLIOGRAFIA BASICA:

 L. Joyanes. FUNDAMENTOS DE PROGRAMACIÓN Algoritmos, estructura de datos y objetos.


Mc Graw Hill, España 2014.
 T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to algorithms. MIT Press,
Cambridge, MA, USA, 2001.
 G. Brassard and P. Bratley. Algorithmics: theory & practice. Prentice-Hall, Inc., Upper Saddle
River, NJ, USA, 1988.
 S. Dasgupta, C. H. Papadimitriou, and U. Vazirani. Algorithms. McGraw-Hill
Science/Engineering/Math, 2006.
 S. S. Skiena. The algorithm design manual. Springer-Verlag New York, Inc., New York, NY, USA,
1998.
 Garey, M. R. and Johnson D. S. Computers and intractability : a guide to the theory of NP-
completeness. W.H. Freeman & Company, USA, 2003

NOMBRE DE LA ASIGNATURA : ALGORITMOS Y ESTRUCTURA DE DATOS


PRE – REQUISITO : INTRODUCCIÓN A LA PROGRAMACIÓN DE COMPUTADORAS
CICLO: III
HORAS SEMANALES: HT: 2 HP: 4 TH: 6
CREDITOS: 4
SUMILLA DE LA ASIGNATURA:
Asignatura teórico - práctico, perteneciente al área de formativa de estudios de especialidad, sub
área de ciencias de la computación y es de caracter obligatorio, debido a la importancia de los
algoritmos en la ciencias informática y la ingeniería de software, esta asignatura busca lograr en
los alumnos la comprensión de la naturaleza intrínseca de los problemas, así como las posibles
técnicas de solución independientemente del lenguaje de programación, el paradigma de
programación o el hardware. Abarca los ítems: estrategias algorítmicas, estructuras de datos
fundamentales y algoritmos, autómatas, teoría de la computabilidad y complejidad avanzada,
estructuras de datos avanzadas, algoritmos y análisis

CONTENIDO

Modulo I: estrategias algorítmicas

 Diferencias entre los comportamientos mejores, esperados y peores de un algoritmo


 Análisis asintótico de los límites de complejidad superior y esperado
 Notación Big O: definición formal
 Clases de complejidad, tales como constantes, logarítmicas, lineales, cuadráticas y exponenciales
 Mediciones empíricas del rendimiento
 Intercambios de tiempo y espacio en algoritmos
 Uso de Notación Big O
 Pequeño O, omega grande y notación theta
 Relaciones de recurrencia
 Análisis de algoritmos iterativos y recursivos
 Alguna versión de un teorema maestro
 Algoritmos de fuerza bruta
 Algoritmos codiciosos
 Dividir y vencerás (referencia cruzada SDF / Algoritmos y estrategias de diseño / resolución de
problemas)
 Retroceso recursivo
 Programación dinámica.

Modulo II: estructuras de datos fundamentales y algoritmos

 Algoritmos numéricos simples, tales como calcular el promedio de una lista de números, encontrar
el mínimo, máximo, y el modo en una lista, aproximándose a la raíz cuadrada de un número, o
encontrando el mayor divisor común
 Algoritmos de búsqueda secuencial y binaria
 Algoritmos de clasificación cuadrática de peor caso (selección, inserción)
 Algoritmos de clasificación de orden O (N log N) más peores o medios (quicksort, heapsort,
mergesort)
 Tablas de hash, incluyendo estrategias para evitar y resolver colisiones
 Árboles de búsqueda binaria
• Operaciones comunes en árboles binarios de búsqueda, como seleccionar min, max,
insertar, eliminar, iterar sobre árbol
 Gráficos y algoritmos de gráficos
• Representaciones de gráficos (por ejemplo, lista de adyacencia, matriz de adyacencia)
• Travesías en profundidad y anchura
 Gráficos y algoritmos de gráficos
• Algoritmos de trayecto más cortos (algoritmos de Dijkstra y Floyd)
• Mínimo spanning tree (algoritmos de Prim y Kruskal)
 Correspondencia de patrones y algoritmos de cadena / texto (por ejemplo, coincidencia de
subcadenas, concordancia de expresiones regulares, algoritmos de subsecuencia comunes)

Modulo III: autómatas, computabilidad y complejidad avanzada

 Máquinas de estado finito


 Expresiones regulares
 El problema de detención
 Gramáticas sin contexto (referencia cruzada PL / Syntax Analysis)
 Introducción a las clases P y NP y el problema P vs. NP
 Introducción a la clase NP-completa y problemas NP-completos ejemplares (por ejemplo, SAT,
Knapsack)
 Revisión de las clases P y NP; Introduzca P-espacio y EXP
 Jerarquía polinomial
 NP-completitud (teorema de Cook)
 Problemas clásicos NP-completos
 Técnicas de Reducción

Modulo IV: estructuras de datos avanzadas, algoritmos y análisis

 Conjuntos e idiomas
• Idiomas regulares
• Revisión de los autómatas finitos deterministas (DFAs)
• Autómatas finitos no determinísticos (NFAs)
• Equivalencia de DFAs y NFAs
• Revisión de las expresiones regulares; Su equivalencia a autómatas finitos
• Propiedades de cierre
• Probar lenguajes no regulares, a través del lema de bombeo o medios alternativos
 Lenguajes sin contexto
• Autómatas push-down (PDAs)
• Relación de PDAs y gramáticas sin contexto
• Propiedades de los idiomas sin contexto
 Máquinas de Turing, o un modelo formal equivalente de computación universal
 Máquinas de Turing no deterministas
 Jerarquía de Chomsky
 La tesis de Church-Turing
 Computabilidad
 Teorema del Arroz
 Ejemplos de funciones no contables
 Implicaciones de la incompatibilidad
 Árboles balanceados (por ejemplo, árboles AVL, árboles rojo-negros, árboles splay, tréboles)
 Gráficos (por ejemplo, clasificación topológica, búsqueda de componentes fuertemente
conectados, correspondencia)
 Estructuras de datos avanzadas (por ejemplo, árboles B, montones de Fibonacci)
 Estructuras y algoritmos de datos basados en cadenas (por ejemplo, matrices de sufijo, árboles de
sufijo, intentos)
 Flujos de red (por ejemplo, flujo máximo [algoritmo Ford-Fulkerson], corte máximo de flujo - min,
máximo bipartito pareo)
 Programación lineal (por ejemplo, dualidad, método simplex, algoritmos de puntos interiores)
 Algoritmos de teoría numérica (por ejemplo, aritmética modular, pruebas de primalidad,
factorización entera)
 Algoritmos geométricos (por ejemplo, puntos, segmentos de línea, polígonos [propiedades,
intersecciones], hallazgo del casco convexo,
 Descomposición espacial, detección de colisiones, búsqueda geométrica / proximidad)
 Algoritmos aleatorios
 Algoritmos estocásticos
 Algoritmos de aproximación
 Análisis amortizado
 Análisis probabilístico
 Algoritmos en línea y análisis competitivo

BIBLIOGRAFIA BASICA:

 T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to algorithms. MIT Press,


Cambridge, MA, USA, 2001.
 G. Brassard and P. Bratley. Algorithmics: theory & practice. Prentice-Hall, Inc., Upper Saddle
River, NJ, USA, 1988.
 S. Dasgupta, C. H. Papadimitriou, and U. Vazirani. Algorithms. McGraw-Hill
Science/Engineering/Math, 2006.
 S. S. Skiena. The algorithm design manual. Springer-Verlag New York, Inc., New York, NY, USA,
1998.
 Garey, M. R. and Johnson D. S. Computers and intractability : a guide to the theory of NP-
completeness. W.H. Freeman & Company, USA, 2003
 Maning C. D. and Schutze H. Foundations of Statistical Natural Language Proccessing. MIT Press,
2000.
 Horowitz E. Sahni S. Fundamentals of Computer Algorithms. Computer Science Press. 1978.

NOMBRE DE LA ASIGNATURA : INGENIERÍA DE REQUERIMIENTOS


PRE – REQUISITO : LENGUAJE DE PROGRAMACIÓN II
CICLO: VI
HORAS SEMANALES: HT: 3 HP: 2 TH: 5
CREDITOS: 4
SUMILLA DE LA ASIGNATURA:
Asignatura teórico - práctico, perteneciente al área de formativa de estudios de especialidad, sub
área de ingeniería de software y es de caracter obligatorio, esta asignatura se constituye como
uno de los ejes primordiales de la ingeniería de software y busca lograr en los alumnos la
comprensión del rol de la ingeniería de requerimientos y su proceso, formulando una solución de
problemas usando técnicas de análisis para determinar los requerimientos de las partes
interesadas y producir una especificación con requerimientos funcionales y no funcionales
basados en los requerimientos obtenidos. Abarca los siguientes ítems: conceptos básicos y
principios de ingeniería de requerimientos de software, sus herramientas y Técnicas y métodos
para modelar sistemas de software, Elicitación, creación de prototipos, requerimientos
funcionales y no funcionales, orientación a objetos, técnicas y seguimiento de requerimientos.

CONTENIDO
Modulo I: Conceptos básicos y principios de ingeniería de requerimientos de software, sus
herramientas y Técnicas, Métodos para modelar sistemas de software

 Definición de requerimientos (por ejemplo, producto, proyecto, restricciones, límites del sistema,
externos, internos, etc.)
 Proceso de requerimientos
 Capas / niveles de requerimientos (por ejemplo, necesidades, metas, Requerimientos del usuario,
requerimientos del sistema, Requerimientos del software, etc.)
 Características de los requerimientos (por ejemplo, comprobables, no ambiguas, Coherente,
correcto, rastreable, prioridad, Etc)
 Análisis de los requerimientos de calidad (no funcionales) (Por ejemplo, seguridad, seguridad,
usabilidad, rendimiento, raíz Análisis de causa, etc.)
 Requerimientos de software en el contexto de la Ingeniería de sistemas.
 Evolución de los requerimientos
 Trazabilidad
 Priorización, análisis de trade-off, análisis de riesgo y Análisis de impacto
 Gestión de requerimientos (por ejemplo, coherencia, Gestión, planificación de la liberación,
reutilización, etc.)
 Interacción entre requerimientos y arquitectura

Modulo II: Elicitación, creación de prototipos, requerimientos funcionales y no funcionales,


Orientación a objetos, técnicas y seguimiento de requerimientos

 Obtención de Requerimientos, fuentes de elicitación (por ejemplo, partes interesadas, dominio


Expertos, entornos operacionales y de organización, Etc)
 Las técnicas de elicitación (por ejemplo, entrevistas, Cuestionarios / encuestas, prototipos, casos de
uso, Observación, técnicas participativas, etc.)
 Especificación de requerimientos y documentación, Conceptos básicos de la documentación de
requerimientos (por ejemplo, tipos, Audiencia, estructura, calidad, atributos, estándares, Etc)
 Técnicas de especificación de requerimientos de software (Por ejemplo: Documentación de
requerimientos basada en planes, Tablas de decisiones, historias de usuarios, Especificaciones)
 Requerimientos validación, Revisiones e inspección, Prototipado para validar los requerimientos
 Diseño de la prueba de aceptación, Validación de atributos de calidad del producto
 Análisis de interacción de requerimientos (por ejemplo, característica, Interacción)
 Análisis de requerimientos formales
 Introducción al Modelado y Análisis de Software Tipos de modelos
 El modelado del comportamiento (por ejemplo, análisis de casos de uso, actividad, Diagramas,
diagramas de interacción, diagramas de máquina de estado, Etc)
 Modelado de dominio (por ejemplo, enfoques de ingeniería de dominio, Etc)

BIBLIOGRAFIA BASICA:

 Pressman, Roger, Ingeniería del Software. 7ma. ed. España: McGraw-Hill; 2010.
 Pressman, Roger, Ingeniería del Software - Un Enfoque Practico. 5ta ed. España: McGraw-
Hill; 2002
 Sommerville Ian, Ingeniería de software. 9na ed. Mexico: Pearson 2012
 Salazar Caraballo Luis, Asuntos de la Ingeniería del Software: Volumen 2, 1ra ed. Create
Space Independent Publishing Platform, 2013
 Braude, Eric J, Ingeniería de software una perspectiva orientada a objetos. 1ra Ed México:
2003
 Jacobson I., Booch G., Rumbaugh J, El Proceso Unificado de Desarrollo del Software 1ra.
Ed España: Addison Wesley; 2000

NOMBRE DE LA ASIGNATURA : ANÁLISIS Y DISEÑO DE SISTEMAS


PRE – REQUISITO : INGENIERÍA DE REQUERIMIENTOS
CICLO: VII
HORAS SEMANALES: HT: 3 HP: 2 TH: 5
CREDITOS: 4
SUMILLA DE LA ASIGNATURA:
Asignatura teórico - práctico, perteneciente al área de formativa de estudios de especialidad, sub
área de ingeniería de software y es de caracter obligatorio, esta asignatura es de importancia
significativa en la ingeniería de software, se complementa con la ingeniería de software y busca
lograr en los alumnos la comprensión clara de la Teoría general del análisis y diseño de sistemas,
concepto y técnicas relacionadas con la planificación, análisis, diseño, implementación de sistemas
de información, apoyo y seguridad de los mismos, abarca los ítems de: Modelado y Análisis de
Sistemas, comportamiento y estructura y El diseño detallado del sistema de información

CONTENIDO
Modulo I: Modelado y Análisis de Sistemas, comportamiento y estructura

 Fundamentos del análisis de sistemas


 buenas prácticas del análisis de sistemas (por ejemplo, completitud, consistencia, robustez, etc.)
 Analizar la corrección (por ejemplo, análisis estático, simulación, Verificación de modelos, etc.)
 Análisis formal, fundamentos de modelado
 Los principios de modelización (por ejemplo, descomposición, Generalización, etc.)
 Condiciones previas, post condiciones, invariantes, contratos
 Introducción a modelos matemáticos y notación formal
 Tipos de modelos
 El modelado de información (por ejemplo, modelado de entidad-relación, Diagramas de clase, etc.)
 Modelado del comportamiento (por ejemplo, análisis de casos de uso, actividad, Diagramas,
diagramas de interacción, diagramas de máquina de estado, Etc)
 Modelado de estructuras (por ejemplo, diagramas de clases, etc.)
 Modelado de dominio (por ejemplo, enfoques de ingeniería de dominio, Etc)
 Modelado funcional (por ejemplo, diagramas de componentes, etc.)

Modulo II: El diseño detallado

 Modelado de empresas (por ejemplo, procesos empresariales, Organizaciones, objetivos, etc.)


 Modelado de sistemas embebidos (por ejemplo, programación en tiempo real, análisis de
interfaces externas, etc.)
 Las anotaciones de diseño (por ejemplo, diagramas de clases y objetos, UML, Diagramas de
estados, especificaciones formales, etc.)
 Evaluación de diseño, Análisis del diseño formal
 Verificación y validación de software
 Comentarios y Análisis estático (detección común de defectos, comprobación versus
especificaciones formales, etc.)3
 Análisis y especificaciones de los requisitos, validación de requisitos
 Análisis de los requisitos formales, seguridad del diseño
 Desarrollo de software seguro
 Construcción de la seguridad en el ciclo de vida del desarrollo de software
 Técnicas seguras de construcción de software
 Verificación y validación relacionadas con la seguridad

BIBLIOGRAFIA BASICA:

 Pressman, Roger, Ingeniería del Software. 7ma. ed. España: McGraw-Hill; 2010.
 Pressman, Roger, Ingeniería del Software - Un Enfoque Practico. 5ta ed. España: McGraw-
Hill; 2002
 Sommerville Ian, Ingeniería de software. 9na ed. Mexico: Pearson 2012
 Salazar Caraballo Luis, Asuntos de la Ingeniería del Software: Volumen 2, 1ra ed. Create
Space Independent Publishing Platform, 2013
 Braude, Eric J, Ingeniería de software una perspectiva orientada a objetos. 1ra Ed México:
2003
 Jacobson I., Booch G., Rumbaugh J, El Proceso Unificado de Desarrollo del Software 1ra.
Ed España: Addison Wesley; 2000

NOMBRE DE LA ASIGNATURA : SISTEMAS DINÁMICOS


PRE – REQUISITO : MÉTODOS NUMÉRICOS
CICLO: VII
HORAS SEMANALES: HT: 2 HP: 2 TH: 4
CREDITOS: 3
SUMILLA DE LA ASIGNATURA:
Asignatura teórico - práctico, perteneciente al área de formativa de estudios de especialidad, sub
área de Gestión organizacional y sistémica y es de caracter obligatorio, el propósito de esta
asignatura es dotar al alumno de una herramienta sistémica que mejore la comprensión de las
formas en que el desempeño de una organización como sistema, relacionando su estructura
interna, sus políticas, aspectos de los clientes, competidores, proveedores y otras partes
interesadas; y explora los ítems de: Conceptualización del modelo dinámico, formulación del
modelo, retroalimentación, retrasos, análisis y evaluación del modelo

CONTENIDO
Modulo I: Conceptualización del modelo dinámico

 La sistémica:
o Concepto de Sistema
o Clases de Sistemas
o Límites del Sistema
 Entorno del Sistema:
o Entorno Cercano
o Entorno Lejano
 Descripción de un sistema: epistemológicamente, ontológicamente
o Sistema de referencia
 La Sistemas dinámicos:
o Historia
o Sistemas estáticos
o sistemas dinámicos
o Propósito y conceptos de sistemas dinámicos
 Características estructurales de los sistemas dinámicos
 Características funcionales de los sistemas dinámicos
 Modelos. Tipos de modelos en los sistemas dinámicos
 Etapas para la elaboración de un modelo Dinámico:
o Conceptualización
o Descripción verbal del sistema.
o Definición precisa de las variables
o Definición del problema y propósito del modelo, teoría de la construcción con
diagramas de bucles causales
o Reglas en la construcción de diagramas causales

Modulo II: formulación del modelo

 Formulación
o Construcción de los Diagramas de Forrester (tipos de variables, símbolos, reglas).
 Mapeo de la estructura de Nivel y flujo de los sistemas
 Elaboración de Ecuaciones: Nivel, Flujo, Variables auxiliares, tablas, parámetros, exógenas.
 Elaboración de Ecuaciones (Uso del paquete simulador STELLA, POWERSIN o similar)
 Dinámica de stocks y flujos; Vinculación de retroalimentación con la estructura de stock y
flujo
 Simulación de Modelos Dinámicos utilizando PULSE, RAMP, STEP (y otras funciones
básicas)
 Comprensión de los sistemas dinámicos simples
o Elaboración de Ecuaciones: Simulación de Modelos Dinámicos utilizando
funciones: estadísticas: RANDOM, POISSON, NORMAL, etc. y funciones lógicas :
IF..THEN..ELSE, AND, OR, NOT y funciones matemáticas: ABS, ROUND, INT, MAX,
MIN, PCT, PI, SQRT, SUM
 Vectores y tablas en un modelo.

Modulo III: retroalimentación, retrasos

 Procesos de retroalimentación positiva


o Concepto
o Comportamiento de un proceso de retroalimentación positiva
o Tipos: virtuoso, vicioso
o Simulación de Modelos Dinámicos: Procesos de retroalimentación positiva
 Procesos de retroalimentación negativa
o Concepto
o Comportamiento de un proceso de retroalimentación negativa
o Simulación de Modelos Dinámicos: Procesos de retroalimentación negativa
 Procesos de retroalimentación en “S”
o Concepto
o Comportamiento de un proceso de retroalimentación en S
o Simulación de Modelos Dinámicos Procesos de retroalimentación en “S”
 Funciones No Lineales
 Simulación de Modelos Dinámicos utilizando Funciones No Lineales
 Retrasos
o Unidades de tiempo, retraso de Información
o Retraso de Materiales
o Simulación de Modelos Dinámicos con retrasos.

Modulo IV: análisis y evaluación del modelo

 Arquetipos
 Calibrado y validación
 Análisis de sensibilidad y Evaluación del modelo
 Análisis de sistemas y creación de políticas sólidas
BIBLIOGRAFIA BASICA:

 Edwards G. , Introducción al análisis de sistemas dinámicos, Ediciones UC, Chile: 2014


 Aracil J, Gordillo F., Dinámica de sistemas, Alianza Editorial S.A. 2007
 Hurtado D., Teoría General de Sistemas: Un enfoque hacia la Ingeniería de Sistemas ,
Amazon Digital Services LLC, 2011
 Sala A., BONDIA J., Comportamiento Dinámico de Sistemas, Universidad Politécnica De
Valencia, España: 2000.
 Forrester J., Industrial Dynamics, Martino Fine Books, 2013
 Forrester J., Principles of Systems, Productivity Pr, 1988

Você também pode gostar