CS-UCSP Plan2016 PDF
CS-UCSP Plan2016 PDF
Ciencia de la Computacion
http://cs.ucsp.edu.pe
Reporte Final
Equipo de trabajo
Alex Cuadros-Vargas
Profesor Investigador del P.P. de Ciencia de la Computacion, UCSP, Arequipa
Director del Centro de Investigacion de Ciencia de la Computacion, UCSP, Arequipa
Miembro de la Sociedad Peruana de Computacion
email: [email protected]
Ademas, han colaborado con este esfuerzo los siguientes profesionales: line:31 ?? a quienes de-
jamos publico nuestro agradecimiento.
Resumen ejecutivo
Este documento representa el informe nal de la nueva malla curricular 2016 de la Escuela Profe-
sional de Ciencia de la Computacion de la Universidad Catolica San Pablo (http://www.ucsp.edu.pe)
en la ciudad de Arequipa-Peru.
Todo el contenido del documento esta basado en la propuesta internacional denominada Computing
Curricula 1 en el area especca de Ciencia de la Computacion. Este documento es el resultado de un
trabajo conjunto de la Association for Computing Machinery (ACM) y la Sociedad de Computacion
de IEEE (IEEE-CS) y puede ser accesado a traves de la direccion http://www.acm.org/education en
sus versions CS2001, CS2008 y CS2013.
Considerando que existen peculiaridades menores al aplicar esta propuesta internacional a nuestros
paises, el modelo de Computing Curricula fue utilizado para proponer el documento base de la presente
malla.
La computacion hoy en da presenta 5 perles de formacion profesional claramente denidos:
Indice general
Agradecimientos XV
Abreviaturas XVII
1. Introduccion 1
1.1. Deniciones basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Perl Profesional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Campo y mercado ocupacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Importancia de la carrera en la sociedad . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5. Identidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6. Mision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.7. Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.8. Resultados de la carrera Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.9. Perl de competencias profesionales (Resultados de la carrera) . . . . . . . . . . . . . 6
1.9.1. Competencias Generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.9.2. Competencias Especcas para Ciencia de la Computacion (Computer Science) 8
1.9.3. Competencias Especcas para Ingeniera de Computacion (Computer Enginee-
ring) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.9.4. Competencias Especcas para Sistemas de Informacion (Information Systems) 9
1.9.5. Competencias Especcas para Ingeniera de Software (Software Engineering) . 9
1.9.6. Competencias Especcas para Tecnologa de la Informacion (Information Tech-
nology) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.10. Objetivos de Aprendizaje (Learning Outcomes) . . . . . . . . . . . . . . . . . . . . . . 10
1.11. Perl del ingresante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.12. Perl del egresado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.13. Perl del docente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.14. Grados y Ttulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.15. Recursos para dictado de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6. Laboratorios 425
Indice de figuras
Indice de cuadros
Agradecimientos
Ademas de los autores directos de este documento, tambien deseamos dejar maniesto de nuestro
agradecimiento a otros colegas de diversas universidades del pas y del mundo que gentilmente han
aportado parte de su tiempo a darnos sus sugerencias. Entre ellos debemos mencionar a:
Roberto Heredia (UCSP), Miriam Luque (UCSP), Anthony Ccapira A.(UCSP), Simon Choquehuay-
ta (UNSA), Miler Diaz Zevallos (UCSP), Alvaro Mamani Aliaga (UCSP), Romulo Condori (UNSA),
Carlso Arias (UCSP), Miguel Ravelo (UNSA), Junior Mayta (UCSP), Omar Quispe (UCSP), Cesar
Espinoza (USS), Daniel Yanac (UCSP), Jose Valdivia (UCSP), Julio Santisteban (UCSP), Josimar
Chire Saire (UCSP), Juan Carlos Duenas Garca (UCSP), Liliana Sarmiento Lopez (UCSP).
Tambien deseamos agradecer a la Universidad Catolica San Pablo (UCSP) de Arequipa-Peru por
su colaboracion decidida de forma institucional y de forma individual a traves de sus autoridades.
No hay duda de que cuando las autoridades estan decididas a hacer las cosas bien todo el trabajo se
realiza de forma rapida. Realmente es un ejemplo a seguir y llevar a todas las universidades de nuestro
pas.
Todo este equipo de trabajo asumio como premisa que el centro de nuestro esfuerzo, es la formacion
academica y humana de los estudiantes.
A todos ellos deseamos agradecerles por su aporte que ha permitido generar este documento, unico
en su genero en nuestro pas, que servira para sentar las bases de una carrera mas solida en esta
fantastica area que nos ha tocado estudiar y de la cual nos sentimos orgullosos de formar parte:
Computacion.
Abreviaturas
Captulo 1
Introduccion
(ACM), IEEE Computer Society (IEEE-CS) y la Association for Information Systems (AIS). Estas tres
organizaciones propusieron la Computing Curricula en el documento denominado: Joint Task Force
for Computing Curricula 2005, Computing Curricula 2005. Overview Report[Shakelford et al., 2005].
La Ciencia de la Computacion es un termino de origen estadounidense Ciencia de la Computacion
Computer Science (CS). Este termino es conocido tambien como informatica en el ambito europeo1 .
Segun el diccionario de la Real Academia de la Lengua Espanola (http://www.rae.es) ambos ter-
minos tambien son sinonimos.
A nivel internacional, la computacion presenta 5 perles claramente denidos:
Sistemas de Informacion (Information Systems) [Topi et al., 2010, Gorgone et al., 2002b],
La Figura 1.1 es tomada de la denicion propuesta en la Computing Curricula [Shakelford et al., 2005]
en el area de Ciencia de la Computacion (CC) cuyo ultima version es la denominada CS2013 (cs2013.org)
[ACM/IEEE-CS Joint Task Force on Computing Curricula, 2013]. La CC cubre la mayor parte entre
el extremo superior y el extremo inferior, porque el profesional en CC no trata solamente con el
hardware que utiliza un software o de solamente la organizacion que hace uso de la informacion que
la computacion le puede proveer.
Problematica
Organizacional
y Sistemas
de Informacion
Tecnologas
de Aplicacion
Tecnologas
y Metodos
de Software
Infraestructura
de Sistemas
Arquitectura y
Hardware
Computacional
Teora Aplicacion
Principios Despliegue
Las Ciencias de la Computacion cubren un amplio rango, desde sus fundamentos teoricos y al-
gortmicos hasta los ultimos desarrollos en robotica, vision por computadora, sistemas inteligentes,
bioinformatica, y otras areas emocionantes. Podemos pensar que el trabajo de un cientco de la
computacion pertenece a las siguientes tres categoras:
1 El termino europeo es derivado del vocablo frances Informatique.
Las Ciencias de la Computacion cubren todo el rango desde la teora hasta la programacion.
Mientras otras disciplinas pueden producir titulados mejor preparados para trabajos especcos, las
ciencias de la computacion ofrecen un amplio fundamento que permite a sus titulados adaptarse a
nuevas tecnologas y nuevas ideas.
El profesional en CC se preocupa por casi todo en medio de estas areas. En direccion hacia el
hardware, este profesional llega a desarrollar software que permite el funcionamiento de dispositivos
devices. En direccion a aspectos organizacionales, el profesional de CC ayuda a que los sistemas de
informacion operen correctamente en las organizaciones. El genera la tecnologa que permite que otras
areas como los sistemas de informacion se desarrollen adecuadamente.
El profesional en CC disena y desarrolla todo tipo de software, desde infraestructura de plataformas
(sistemas operativos, programas de comunicacion, etc.) hasta aplicacion de tecnologas (navegadores
de Internet, bases de datos, motores de busqueda, etc.). Este profesional crea estas capacidades, pero
no esta orientado al uso de las mismas. Por lo tanto, el area sombreada (g. 1.1) para CC se estrecha
y naliza en la medida que nos movamos hacia la aplicacion y conguracion de productos.
Aportar con su formacion humana y sus capacidades cientcas y profesionales con la solucion
de los problemas sociales de nuestro entorno.
Transformar, acelerar y ampliar los lmites de cualquier area del conocimiento a traves de solu-
ciones innovadoras basadas en el uso eciente de tecnologa computacional.
Trabajar y liderar equipos multidisciplinarios que llevan a cabo proyectos de innovacion tecno-
logica.
Incrementar las ventajas competitivas de cualquier organizacion a traves del uso eciente de
tecnologa computacional gracias a su alta capacidad de abstraccion.
Empresas, instituciones y organizaciones que requieran software de calidad para mejorar sus
actividades y/o servicios ofertados.
Nuestro egresado puede desempenarse en el mercado laboral sin ningun problema ya que, en gene-
ral, la exigencia del mercado y campo ocupacional esta mucho mas orientada al uso de herramientas.
Sin embargo, es poco comun que los propios profesionales de esta carrera se pregunten: que tipo de
formacion debera tener si yo quisiera crear esas herramientas ademas de saber usarlas?. Ambos perles
(usuario y creador) son bastante diferentes pues no sera posible usar algo que todava no fue creado.
En otras palabras, los creadores de tecnologa son los que dan origen a nuevos puestos de trabajo y
abren la posibilidad de que otros puedan usar esa tecnologa.
Debido a la formacion basada en la investigacion, nuestro profesional debe siempre ser un innova-
dor donde trabaje. Esta misma formacion permite que el egresado piense tambien en crear su propia
empresa de desarrollo de software. Considerando que pases como el nuestro tienen un costo de vida
mucho menor que Norte America o Europa, una posibilidad que se muestra interesante es la exporta-
cion de software pero eso requiere que la calidad del producto sea al mismo nivel de lo ofrecido a nivel
internacional.
Este perl profesional tambien posibilita que nuestros egresados se queden en nuestro pas; producir
software en nuestro pas y venderlo fuera es mas rentable que salir al extranjero y comercializarlo alla.
El campo ocupacional de un egresado es amplio y esta en continua expansion y cambio. Practica-
mente toda empresa u organizacion hace uso de servicios de computacion de algun tipo, y la buena
formacion basica de nuestros egresados hace que puedan responder a los requerimientos de las mismas
exitosamente. Este egresado, no solo podra dar soluciones a los problemas existentes sino que debera
proponer innovaciones tecnologicas que impulsen la empresa hacia un progreso constante.
A medida que la informatizacion basica de las empresas del pas avanza, la necesidad de personas
capacitadas para resolver los problemas de mayor complejidad aumenta y el plan de estudios que
hemos desarrollado tiene como objetivo satisfacer esta demanda considerandola a mediano y largo
plazo. El campo para las tareas de investigacion y desarrollo de problemas complejos en computacion
es tambien muy amplio y esta creciendo da a da a nivel mundial.
Debido a la capacidad innovadora de nuestro egresado, existe una mayor la probabilidad de registrar
patentes con un alto nivel inventivo lo cual es especialmente importante en nuestros pases.
utilizan estructuras de datos que ya existan hace algunas decadas. Es logico pensar que la gente del
area academica no se dedique a estudiar en profundidad la ultima version de un determinado software
cuando esa tecnologa ya la conocan hace mucho tiempo. Por esa misma razon es raro en el mundo
observar que una universidad tenga convenios con una transnacional de software para dictar solamente
esa tecnologa pues, nuestra funcion es generar esa tecnologa y no solo saber usarla.
Tampoco debemos olvidar que los alumnos que ingresan hoy saldran al mercado dentro de 5 anos
aproximadamente y, en un mundo que cambia tan rapido, no podemos ni debemos ensenarles tomando
en cuenta solamente el mercado actual. Nuestros profesionales deben estar preparados para resolver
los problemas que habra dentro de 10 o 15 anos y eso solo es posible a traves de la investigacion.
1.5. Identidad
La Universidad Catolica San Pablo es una comunidad academica animada por las orien-
taciones y vida de la Iglesia Catolica que, a la luz de la fe y con el esfuerzo de la razon,
busca la verdad y promueve la formacion integral de la persona mediante actividades co-
mo la investigacion, la ensenanza y la extension, para contribuir con la conguracion de la
cultura conforme a la identidad y despliegue propios del ser humano.
De esta identidad se desprenden cuatro pilares fundamentales que sostienen la Universidad Catolica
San Pablo:
1.6. Mision
Por lo antes mencionado, pensamos que tenemos como mision:
Contribuir al desarrollo tecnologico y tecnico del pas, a traves de profesionales competentes, orien-
tados a la creacion de nueva tecnologa computacional, como motor que impulse y consolide la industria
del software en base a la investigacion cientca y tecnologica en areas innovadoras formando profe-
sionales un conjunto de habilidades y destrezas para la solucion de problemas computacionales con un
compromiso social.
1.7. Vision
Queremos ser una carrera profesional acreditada con estandares internacionales y que cuente
con el reconocimiento en funcion de la calidad y competitividad de sus docentes y egresados.
Queremos ser una carrera que trascienda por la relevancia y pertinencia de sus proyectos de
investigacion basica y aplicada.
Queremos ser una carrera que promueva el desarrollo de la industria del software a nivel interna-
cional, incorporando a sus egresados a la industria ya establecida o generando nuevas empresas
desarrolladoras de software.
Queremos ser una carrera que comparta y difunda el conocimiento con todos los sectores de la
poblacion y contribuya a la solucion de los problemas estrategicos de nuestra sociedad.
g) Analizar el impacto local y global de la computacion sobre los individuos, organizaciones y sociedad.
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural.
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano.
Las competencias y/o resultados a)-k) propuestas en esta malla curricular corresponden a las
competencias y/o resultados propuestas por ABET2 . Por otro lado, las habilidades l)-o) son aportes
de este grupo de trabajo.
C2. Capacidad para tener una perspectiva crtica y creativa para identicar y resolver problemas
utilizando el pensamiento computacional.
C3. Una comprension intelectual de, y el aprecio por el papel central de los algoritmos y estructuras
de datos.
C4. Una comprension del hardware de la computadora desde la perspectiva del software, por ejemplo,
el uso del procesador, memoria, unidades de disco, pantalla, etc
C5. Capacidad para implementar algoritmos y estructuras de datos en el software..
C6. Capacidad para disenar y poner en practica las unidades estructurales mayores que utilizan
algoritmos y estructuras de datos y las interfaces a traves del cual estas unidades se comunican.
C7. Ser capaz de aplicar los principios y tecnologas de ingeniera de software para asegurar que las
implementaciones de software son robustos, ables y apropiados para su publico objetivo.
C8. Entendimiento de lo que las tecnologas actuales pueden y no pueden lograr.
C9. Comprension de las limitaciones de la computacion, incluyendo la diferencia entre lo que la
computacion es inherentemente incapaz de hacer frente a lo que puede lograrse a traves de un
futuro de ciencia y tecnologa.
C10. Comprension del impacto en las personas, las organizaciones y la sociedad de la implementacion
de soluciones tecnologicas e intervenciones.
C11. Entendimiento del concepto del ciclo de vida, incluyendo la importancia de sus fases (planica-
cion, desarrollo, implementacion y evolucion).
C12. Entender las implicaciones de ciclo de vida para el desarrollo de todos los aspectos de los sistemas
informaticos (incluyendo software, hardware, y la interfaz de la computadora humana).
C13. Comprender la relacion entre la calidad y la gestion del ciclo de vida.
C14. Entendimiento del concepto esencial del proceso en lo relacionado con la informatica, especial-
mente la ejecucion del programa y el funcionamiento del sistema.
C15. Entendimiento del concepto esencial del proceso, ya que se relaciona con la actividad profesional
sobre todo la relacion entre la calidad del producto y el despliegue de los procesos humanos
apropiados durante el desarrollo de productos.
C16. Capacidad para identicar temas avanzados de computacion y de la comprension de las fronteras
de la disciplina.
C17. Capacidad para expresarse en los medios de comunicacion orales y escritos como se espera de
un graduado..
C18. Capacidad para participar de forma activa y coordinada en un equipo.
C19. Capacidad para identicar ecazmente los objetivos y las prioridades de su trabajo / area /
proyecto con indicacion de la accion, el tiempo y los recursos necesarios.
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los acontecimientos
del mundo real que explican su pertinencia y utilidad.
C21. Comprender el aspecto profesional, legal, seguridad, asuntos polticos, humanistas, ambientales,
culturales y eticos.
C22. Capacidad para demostrar las actitudes y prioridades que honrar, proteger y mejorar la estatura
y la reputacion etica de la profesion.
C23. Capacidad para emprender, completar, y presentar un proyecto nal.
C24. Comprender la necesidad de la formacion permanente y la mejora de habilidades y capacidades.
C25. Capacidad para comunicarse en un segundo idioma.
CE7. Analizar, evaluar, seleccionar y congurar plataformas hardware para el desarrollo e implemen-
tacion de aplicaciones y servicios de software.
IS2. Cuenta para interfaces hombre-maquina y las diferencias interculturales, con el n de ofrecer
una experiencia de usuario de calidad.
IS3. Disenar, implementar, integrar y gestionar los sistemas de TI, la empresa, los datos y las arqui-
tecturas de aplicaciones.
IS4. Gestionar los proyectos de sistemas de informacion, incluyendo el analisis de riesgos, estudios
nancieros, elaboracion de presupuestos, la contratacion y el desarrollo, y para apreciar los
problemas de mantenimiento de los sistemas de informacion.
IS5. Identicar, analizar y comunicar los problemas, opciones y alternativas de solucion, incluidos los
estudios de viabilidad.
IS6. Identicar y comprender las oportunidades creadas por las innovaciones tecnologicas.
IS7. Apreciar las relaciones entre la estrategia empresarial y los sistemas de informacion, la arquitec-
tura y la infraestructura.
IS8. Entender los procesos de negocio y la aplicacion de las TI para ellos, incluyendo la gestion de
cambios, el control y las cuestiones de riesgo.
SE1. Desarrollar, mantener y evaluar los sistemas de software y servicios para satisfacer todas las
necesidades del usuario y se comporten de forma able y eciente, sean asequibles de desarrollar
y mantener y cumplir con los estandares de calidad, aplicando las teoras, principios, metodos y
mejores practicas de la Ingeniera del Software
SE2. Evaluar las necesidades del cliente y especicar los requisitos software para satisfacer estas ne-
cesidades, reconciliando objetivos en conicto mediante la busqueda de compromisos aceptables
dentro de las limitaciones derivadas de los costes, el tiempo, la existencia de sistemas ya desa-
rrollados y de las propias organizaciones
SE4. Trabajar como individuo y como parte de un equipo para desarrollar y entregar artefactos de
software de calidad. Comprender diversos procesos (actividades, normas y conguraciones de
ciclo de vida, la formalidad a diferencia de agilidad) y roles. Realizar mediciones y analisis
(basica) en proyectos , los procesos y las dimensiones del producto.
SE5. Conciliar conictivos objetivos del proyecto, la busqueda de compromisos aceptables dentro
de las limitaciones de costo, tiempo, conocimiento, sistemas existentes, las organizaciones, la
ingeniera economica, las nanzas y los fundamentos del analisis de riesgos y la gestion en un
contexto de software.
SE6. Diseno soluciones apropiadas en uno o mas dominios de aplicacion utilizando metodos de inge-
niera del software que integren aspectos eticos, sociales, legales y economicos.
SE7. Demostrar una comprension y aplicacion de las teoras actuales, modelos y tecnicas que propor-
cionan una base para la identicacion y analisis de problemas, diseno de software, desarrollo,
construccion e implementacion, vericacion y validacion, documentacion y analisis cuantitativo
de los elementos de diseno y arquitecturas de software.
SE8. Demostrar una comprension de la reutilizacion del software y la adaptacion, realizar el manteni-
miento, la integracion, la migracion de productos de software y componentes, preparar elementos
de software para su reutilizacion potencial y crear interfaces tecnicas a los componentes y servi-
cios.
SE9. Demostrar una comprension de los sistemas de software y su entorno (los modelos de negocio,
regulaciones).
Actitudes de:
1. Interes y gusto por el estudio de las ciencias de la computacion y matematicas.
2. Disposicion para el trabajo academico, en forma cooperativa y participativa, dentro y fuera del
aula de clases.
3. Iniciativa y competencia en el desempeno escolar.
Captulo 2
2.1 Algoritmos y Complejidad (AL) (Pag. 17) 2.4 Estructuras Discretas (DS) (Pag. 35)
2.1.1 Analisis Basico (Pag. 18) 2.4.1 Funciones, relaciones y conjuntos (Pag. 36)
2.1.2 Estrategias Algortmicas (Pag. 19) 2.4.2 Logica basica (Pag. 36)
2.2.1 Logica digital y sistemas digitales (Pag. 24) 2.5.5 Animacion por computadora (Pag. 45)
2.2.2 Representacion de datos a nivel maquina (Pag. 25) 2.5.6 Visualizacion (Pag. 46)
2.6 Interaccion Humano-Computador (HCI)
2.2.3 Organizacion de la Maquina a Nivel Ensamblador
(Pag. 46)
(Pag. 26)
2.6.1 Fundamentos (Pag. 47)
2.2.4 Organizacion y Arquitectura del Sistema de Me-
moria (Pag. 27) 2.6.2 Diseno de Interaccion (Pag. 48)
2.2.5 Interfaz y comunicacion (Pag. 27) 2.6.3 Programacion de Sistemas Interactivos (Pag. 48)
2.2.6 Organizacion funcional (Pag. 28) 2.6.4 Diseno y Testing centrados en el usuario (Pag. 49)
2.2.7 Multiprocesamiento y arquitecturas alternativas 2.6.5 Nuevas Tecnologas Interactivas (Pag. 50)
(Pag. 29)
2.6.6 Colaboracion y Comunicacion (Pag. 50)
2.2.8 Mejoras de rendimiento (Pag. 29) 2.6.7 Metodos estadsticos para HCI (Pag. 51)
2.3 Ciencia Computacional (CN) (Pag. 30) 2.6.8 Factores Humanos y seguridad (Pag. 51)
2.3.1 Introduccion al modelamiento y simulacion 2.6.9 HCI orientada al diseno (Pag. 52)
(Pag. 30)
2.6.10 Realidad virtual y aumentada mezcladas
2.3.2 Modelamiento y simulacion (Pag. 31) (Pag. 52)
2.3.6 Analisis numerico (Pag. 35) 2.7.3 Programacion Defensiva (Pag. 56)
2.7.5 Seguridad de Red (Pag. 58) 2.10.8 Redes sociales (Pag. 85)
2.7.6 Criptografa (Pag. 59) 2.11 Sistemas Operativos (OS) (Pag. 86)
2.7.7 Seguridad en la Web (Pag. 60) 2.11.1 Vision general de Sistemas Operativos (Pag. 86)
2.7.8 Seguridad de plataformas (Pag. 61) 2.11.2 Principios de Sistemas Operativos (Pag. 87)
2.7.9 Poltica de Seguridad y Gobernabilidad (Pag. 61) 2.11.3 Concurrencia (Pag. 87)
2.7.10 Investigacion digital (Digital Forensics) 2.11.4 Planificacion y despacho (Pag. 88)
(Pag. 62)
2.11.5 Manejo de memoria (Pag. 89)
2.7.11 Seguridad en Ingeniera de Software (Pag. 63)
2.11.6 Seguridad y proteccion (Pag. 89)
2.8 Gestion de la informacion (IM) (Pag. 64)
2.11.7 Maquinas virtuales (Pag. 90)
2.8.1 Conceptos de Gestion de la Informacion (Pag. 64)
2.11.8 Manejo de dispositivos (Pag. 90)
2.8.2 Sistemas de Bases de Datos (Pag. 65)
2.11.9 Sistema de archivos (Pag. 91)
2.8.3 Modelado de datos (Pag. 66) 2.11.10 Sistemas empotrados y de tiempo real (Pag. 91)
2.8.4 Indexacion (Pag. 67) 2.11.11 Tolerancia a fallas (Pag. 92)
2.8.5 Bases de Datos Relacionales (Pag. 67) 2.11.12 Evaluacion del desempeno de sistemas (Pag. 92)
2.8.6 Lenguajes de Consulta (Pag. 68) 2.12 Desarrollo basados en plataforma (PBD)
(Pag. 92)
2.8.7 Procesamiento de Transacciones (Pag. 69)
2.12.1 Introduccion (Pag. 93)
2.8.8 Bases de Datos Distribuidas (Pag. 69)
2.12.2 Plataformas web (Pag. 93)
2.8.9 Diseno Fsico de Bases de Datos (Pag. 70)
2.12.3 Plataformas moviles (Pag. 94)
2.8.10 Minera de Datos (Pag. 71)
2.12.4 Plataformas industriales (Pag. 94)
2.8.11 Almacenamiento y Recuperacion de Informacion
(Pag. 71) 2.12.5 Plataformas para video juegos (Pag. 95)
2.8.12 Sistemas Multimedia (Pag. 72) 2.13 Computacion paralela y distribuda (PD)
(Pag. 95)
2.9 Sistemas Inteligentes (IS) (Pag. 73)
2.13.1 Fundamentos de paralelismo (Pag. 96)
2.9.1 Cuestiones fundamentales (Pag. 73)
2.13.2 Descomposicion en paralelo (Pag. 97)
2.9.2 Estrategias de busquedas basicas (Pag. 74)
2.13.3 Comunicacion y coordinacion (Pag. 97)
2.9.3 Raciocinio y representacion basica de conocimien-
to (Pag. 75) 2.13.4 Analisis y programacion de algoritmos paralelos
(Pag. 99)
2.9.4 Aprendizaje Automatico Basico (Pag. 75)
2.13.5 Arquitecturas paralelas (Pag. 100)
2.9.5 Busqueda Avanzada (Pag. 76)
2.13.6 Desempeno en paralelo (Pag. 101)
2.9.6 Representacion Avanzada y Razonamiento
(Pag. 76) 2.13.7 Sistemas distribudos (Pag. 101)
2.10.2 Aplicaciones en red (Pag. 83) 2.14.6 Traduccion y ejecucion de lenguajes (Pag. 108)
2.10.3 Entrega confiable de datos (Pag. 83) 2.14.7 Analisis de sintaxis (Pag. 108)
2.10.4 Ruteo y reenvo (Pag. 84) 2.14.8 Analisis semantico de compiladores (Pag. 109)
2.10.5 Redes de area local (Pag. 84) 2.14.9 Generacion de codigo (Pag. 109)
2.10.6 Asignacion de recursos (Pag. 84) 2.14.10 Sistemas de tiempo de ejecucion (Pag. 110)
2.14.11 Analisis estatico (Pag. 110) 2.17 Fundamentos de Sistemas (SF) (Pag. 131)
2.14.14 Sistemas de tipos (Pag. 112) 2.17.3 Estados y maquinas de estados (Pag. 133)
Al igual que con todas las areas de conocimiento, el orden de los temas y sus agrupaciones no ne-
cesariamente se correlaciona con un orden especco de presentacion. Diferentes programas ensenaran
los temas en diferentes cursos y deben hacerlo en el orden que ellos creen es el mas apropiado para
sus estudiantes.
Core Tier2
Relaciones recurrentes.
Objetivos de Aprendizaje:
Core-Tier1:
1. Explique a que se reere con mejor, esperado y peor caso de comportamiento de un algo-
ritmo [Familiarizarse]
2. En el contexto de a algoritmos especcos, identique las caractersticas de data y/o otras con-
diciones o suposiciones que lleven a diferentes comportamientos [Evaluar]
6. Realizar estudios empricos para validar una hipotesis sobre runtime stemming desde un analisis
matematico Ejecute algoritmos con entrada de varios tamanos y compare el desempeno [Evaluar]
7. Da ejemplos que ilustran las compensaciones entre espacio y tiempo que se dan en los algorit-
mos [Familiarizarse]
Core-Tier2:
8. Use la notacion formal de la Big O para dar lmites superiores asintoticos en la complejidad de
tiempo y espacio de los algoritmos [Usar]
9. Usar la notacion formal Big O para dar lmites de casos esperados en el tiempo de complejidad
de los algoritmos [Usar]
10. Explicar el uso de la notacion theta grande, omega grande y o pequena para describir la cantidad
de trabajo hecho por un algoritmo [Familiarizarse]
11. Usar relaciones recurrentes para determinar el tiempo de complejidad de algoritmos recursiva-
mente denidos [Usar]
12. Resuelve relaciones de recurrencia basicas, por ejemplo. usando alguna forma del Teorema Maes-
tro [Usar]
Core-Tier2:
9. Describe las compensaciones que se dan entre usar estrategias de fuerza bruta y aquellas basadas
en heursticas [Evaluar]
10. Describe como un enfoque de ramicacion y poda puede ser usado para mejorar el rendimiento
de un metodo heurstico [Familiarizarse]
Algoritmos numericos simples, tales como el calculo de la media de una lista de numeros, en-
contrar el mnimo y maximo.
Algoritmos de ordenamiento con peor caso o caso promedio en O(N lg N) (Quicksort, Heapsort,
Mergesort)
Core Tier2
Montculos (Heaps)
Objetivos de Aprendizaje:
Core-Tier1:
2. Implementar algoritmos de busqueda simple y explicar las diferencias en sus tiempos de com-
plejidad [Evaluar]
3. Ser capaz de implementar algoritmos de ordenamiento comunes cuadraticos y O(N log N) [Usar]
2. Convierte entre notaciones igualmente poderosas para un lenguaje, incluyendo entre estas AFDs,
AFNDs, expresiones regulares, y entre AP y GLCs [Usar]
Arboles balanceados (ej. arboles AVL, Arboles red-black, Arboles biselados (splay trees), Treaps)
Estructuras de Datos y Algoritmos basados en cadenas (ej. Arrays de sujos, Arboles de sujos,
Arboles digitales (Tries)
Redes de Flujo (ej. Flujo Maximo [Algoritmo de Ford-Fulkerson], Flujo Maximo - Mnimo Corte,
Maxima Asignacion Bipartita)
Algoritmos aleatorios.
Algortimos estocasticos.
Algoritmos de aproximacion.
Analisis amortizado.
Analisis Probabilstico.
Objetivos de Aprendizaje:
Elective:
1. Entender el mapeamento de problemas del mundo real a soluciones algortmicas (ejemplo, pro-
blemas de grafos, programas lineares,etc) [Evaluar]
Objetivos de Aprendizaje:
Core-Tier2:
3. Explicar las implicancias de los lmites de potencia para mejoras adicionales en el rendimiento
de los procesadores y tambien en el aprovechamiento del paralelismo [Familiarizarse]
6. Usar herramientas CAD para capturar, sistetizar, y simular bloques de construccion (como
ALUs, registros, movimiento entre registros) de un computador simple [Usar]
Objetivos de Aprendizaje:
Core-Tier2:
2. Explicar las razones de usar formatos alternativos para representar datos numericos [Familiari-
zarse]
3. Describir como los enteros negativos se almacenan con representaciones de bit de signo y com-
plemento a 2 [Familiarizarse]
Unidad de Control.
Formato de instrucciones.
Modos de direccionamiento.
I/O e Interrupciones.
Objetivos de Aprendizaje:
Core-Tier2:
2. Describir como se ejecuta una instruccion en una maquina de von Neumann con extension para
hebras, sincronizacion multiproceso y ejecucion SIMD (maquina vectorial) [Familiarizarse]
3. Describir el paralelismo a nivel de instrucciones y sus peligros, y como es esto tratado en pipelines
de proceso tpicos [Familiarizarse]
4. Resumir como se representan las instrucciones, tanto a nivel de maquina bajo el contexto de un
ensamblador simbolico [Familiarizarse]
5. Demostrar como se mapean los patrones de lenguajes de alto nivel en notaciones en lenguaje
ensamblador o en codigo maquina [Familiarizarse]
7. Explicar como las llamadas a subrutinas son manejadas a nivel de ensamblador [Familiarizarse]
8. Explicar los conceptos basicos de interrupciones y operaciones de entrada y salida (I/O) [Fami-
liarizarse]
10. Ilustrar como los bloques constructores fundamentales en lenguajes de alto nivel son implemen-
tados a nivel de lenguaje maquina [Usar]
Soporte Multimedia.
Arquitecturas RAID.
Objetivos de Aprendizaje:
Core-Tier2:
1. Explicar como las interrupciones son aplicadas para implementar control de entrada-salida y
transferencia de datos [Familiarizarse]
5. Identicar las interfaces entre capas necesarios para el acceso y presentacion multimedia, desde
la captura de la imagen en almacenamiento remoto, a traves del transporte por una red de
comunicaciones, hasta la puesta en la memoria local y la presentacion nal en una pantalla
graca [Familiarizarse]
Instruccion (Pipelining)
Objetivos de Aprendizaje:
Elective:
3. Explicar el paralelismo a nivel de instrucciones basicas usando pipelining y los mayores riesgos
que pueden ocurrir [Familiarizarse]
5. Calcular la cantidad promedio de ciclos por instruccion de una implementacion con procesador
y sistema de memoria determinados [Evaluar]
como trayectorias de proyectiles de artillera y los protocolos criptogracos de modelado, los cuales
impulsaron el desarrollo de los primeros sistemas computacionales a principios y mediados de los anos
1940.
Modelado y simulacion de sistemas del mundo real representan los conocimientos esenciales para
los profesionales de Ciencia de la Computacion y proporcionan una base para esta area. Cualquier in-
troduccion al modelamiento y la simulacion sera incluir o presumir una introduccion a la computacion.
Ademas, un conjunto general de modelado y simulacion de las tecnicas, metodos de visualizacion de
datos y las pruebas de software y mecanismos de evaluacion tambien son importantes.
Topicos:
Core Tier1
Modelos como abstracciones de situaciones.
Simulaciones como modelamiento dinamico.
Tecnicas y herramientas de simulacion, tales como simulaciones fsicas, simulaciones humana-
in-the-loop guiada, y la realidad virtual.
Enfoques fundamentales para la validacion de modelos (por ejemplo, comparando la salida de
una simulacion a los datos reales o la salida de otro modelo).
Presentacion de los resultados en un formulario de interes para el sistema que se esta modelando.
Objetivos de Aprendizaje:
Core-Tier1:
1. Describir las relaciones entre modelado y simulacion, por ejemplo, pensar en la simulacion como
un modelado dinamico [Familiarizarse]
2. Crear un modelo matematico formal, simple de una situacion del mundo real y usa dicho modelo
en una simulacion [Usar]
3. Distinguir entre los distintos tipos de simulacion, incluyendo simulaciones fsicas, simulaciones
guiadas por humanos, y realidad virtual [Familiarizarse]
4. Describir diversos enfoques para la validacion de modelos [Familiarizarse]
5. Crear una visualizacion simple de los resultados de una simulacion [Usar]
Objetivos de Aprendizaje:
Elective:
7. Escoger una propuesta de modelado apropiada para un determinado problema o situacion [Eva-
luar]
8. Comparar resultados de diferentes simulaciones del mismo fenomeno y explicar cualquier dife-
rencia [Evaluar]
2.3.3. CN/Procesamiento
El area tematica de procesamiento incluye numerosos temas de otras areas de conocimiento. En
concreto, la cobertura del tratamiento debe incluir un analisis de las arquitecturas de hardware, inclu-
yendo los sistemas paralelos, jerarquas de memoria, y las interconexiones entre procesadores. Estos
se tratan en AR / Interfaz y Comunicacion, AR / multiprocesamiento y Alternativa Arquitecturas,
Mejoras AR / Rendimiento.
Topicos:
Electivos
Metodos Numericos 1. Algoritmos para encajar datos numericamente (e.g. Metodo de Newton)
2. Algoritmos para computacion numerica, incluyendo arquitecturas paralelas.
Objetivos de Aprendizaje:
Elective:
1. Explicar las caractersticas y denir las propiedades de los algoritmos y como se relacionan con
el procesamiento de la maquina [Familiarizarse]
3. Identicar o bosquejar un ujo de trabajo para un proceso computacional existente tal como la
creacion de un grafo basado en datos experimentales [Familiarizarse]
5. Resumir las fases del desarrollo de software y comparar varios ciclos de vida en comn [Familia-
rizarse]
6. Explicar como los datos son representados en una maquina. Comparar representaciones de nu-
meros enteros a numeros otantes. Describir underow, overow, redondeo, y truncamiento de
errores en la representacion de datos [Familiarizarse]
7. Aplicar algoritmos numericos estandar para resolver ecuaciones diferenciales ordinarias y par-
ciales. Usar sistemas computaciones para resolver sistemas de ecuaciones [Usar]
8. Describir las propiedades basicas de ancho de banda, latencia, escalabilidad y granularidad [Fa-
miliarizarse]
9. Describir los niveles de paralelismo incluyendo tareas, datos, y eventos de paralelismo [Familia-
rizarse]
10. Comparar y contrastar paradigmas de programacion paralela reconociendo las fortalezas y de-
bilidades de cada una [Evaluar]
11. Identicar los problemas que afectan la correccion y eciencia de un calculo [Familiarizarse]
12. Disenar, codicar, probar y depurar programas para un calculo paralelo [Usar]
Preocupaciones de escalabilidad.
Objetivos de Aprendizaje:
Elective:
2. Usar APIs estandar y herramientas para crear representaciones visuales de datos, incluyendo
grafos, gracos, tablas, e histogramas [Usar]
3. Describir varios enfoques para usar una computadora como un medio para interactuar y procesar
datos [Familiarizarse]
6. Describir problemas relacionados con la ampliacion de analisis de datos, desde pequenas a gran-
des conjuntos de datos [Familiarizarse]
Gestion de Contenido modelos, marcos de trabajo, sistemas, metodos de diseno (como GI: Ges-
tion de Informacion).
Objetivos de Aprendizaje:
Elective:
3. Describir los requisitos tpicos de usuario con respecto a los datos, informacion y conocimien-
to [Familiarizarse]
4. Seleccione una adecuada implementacion del sistema o el software para gestionar los datos,
informacion y conocimiento [Evaluar]
5. Listar y describir los informes, transacciones y otros procesos necesarios para una aplicacion de
la ciencia computacional [Familiarizarse]
Objetivos de Aprendizaje:
Elective:
Logica proposicional.
Ref: 2.9.3 Raciocinio y representacion basica de conocimiento, Pag. 75
Conectores logicos.
Tablas de verdad.
Forma normal (conjuntiva y disyuntiva)
Objetivos de Aprendizaje:
Core-Tier1:
4. Describir como la logica simbolica puede ser usada para modelar situaciones o aplicaciones de la
vida real, incluidos aquellos planteados en el contexto computacional como analisis de software
(ejm. programas correctores ), consulta de base de datos y algoritmos [Usar]
5. Aplicar demostraciones de logica formal y/o informal, pero rigurosa, razonamiento logico para
problemas reales, como la prediccion del comportamiento de software o solucion de problemas
tales como rompecabezas [Usar]
Demostracion directa.
Induccion estructural.
Core Tier2
Objetivos de Aprendizaje:
Core-Tier1:
5. Explicar el paralelismo entre ideas matematicas y/o induccion estructural para la recursion y
denir estructuras recursivamente [Evaluar]
6. Explicar la relacion entre induccion fuerte y debil y dar ejemplos del apropiado uso de cada
uno [Evaluar]
Core-Tier2:
Objetivos de Aprendizaje:
Core-Tier1:
1. Aplicar argumentos de conteo, incluyendo las reglas del producto y de la suma, principio de
inclusion-exclusion y progresiones aritmeticas/geometricas [Usar]
4. Mapear aplicaciones del mundo real a formalismos de conteo adecuados, como el determinar
el numero de formas de acomodar a un conjunto de personas alrededor de una mesa, sujeto a
restricciones en la disposicion de los asientos, o en el numero de maneras de determinar ciertas
manos en juegos de cartas (ejm. una casa llena) [Usar]
Objetivos de Aprendizaje:
Core-Tier1:
1. Calcular las probablidades de eventos y el valor esperado de variables aleatorias para problemas
elementales como en los juegos de azar [Usar]
2. Distinguir entre eventos dependientes e independientes [Usar]
3. Identicar un caso de la distribucion binomial y calcula la probabilidad usando dicha distribu-
cion [Usar]
4. Aplicar el teorema de Bayes para determinar las probabilidades condicionales en un proble-
ma [Usar]
5. Aplicar herramientas de probabilidades para resolver problemas como el analisis de caso prome-
dio en algoritmos o en el analisis de hash [Usar]
Core-Tier2:
6. Calcular la varianza para una distribucion de probabilidad dada [Usar]
7. Explicar como los eventos que son independientes pueden ser condicionalmente dependientes (y
vice versa) Identicar ejemplos del mundo real para estos casos [Usar]
4. Cronstruir una interfaz de usuario sencilla usando una API estandar [Familiarizarse]
5. Describir las diferencias entre tecnicas de compresion de imagenes con perdida y sin perdida
ejemplicando como se reejan en formatos de archivos de imagenes conocidos como JPG, PNG,
MP3, MP4, y GIF [Familiarizarse]
Core-Tier2:
6. Describir modelos de color y su uso en los dispositivos de visualizacion de gracos [Familiarizarse]
7. Describir las ventajas y desventajas entre el almacenamiento de informacion vs almacenar su-
ciente informacion para reproducir la informacion, como en la diferencia entre el vector y la
representacion de la trama [Familiarizarse]
Elective:
8. Describir los procesos basico de la produccion de movimiento continuo a partir de una secuencia
de cuadros discretos(algunas veces llamado it icker fusion ) [Familiarizarse]
9. Describir como el doble buer puede eliminar el parpadeo de la animacion [Familiarizarse]
2. Describir la tubera basica gracos y como el factor de representacion va hacia adelante y atras
en esta [Familiarizarse]
3. Crear un programa para visualizar modelos 3D de imagenes gracas simples [Usar]
4. Derivar la perspectiva lineal de triangulos semejantes por conversion de puntos (x,y,z) a puntos
(x/z, y/z, 1) [Usar]
5. Obtener puntos en 2-dimensiones y 3-dimensiones por aplicacion de transformaciones afn [Usar]
6. Aplicar sistema de coordenadas de 3-dimensiones y los cambios necesarios para extender las
operaciones de transformacion 2D para manejar las transformaciones en 3D [Usar]
7. Contrastar la renderizacion hacia adelanate forward y hacia atras backward [Evaluar]
8. Explicar el concepto y las aplicaciones de mapeo de texturas, muestreo y el anti-aliasing [Fami-
liarizarse]
9. Explicar la dualidad de rastreo de rayos/rasterizacion para el problema de visibilidad [Familia-
rizarse]
10. Implementar simples procedimientos que realicen la transformacion y las operaciones de recorte
de imagenes simples en 2 dimensiones [Usar]
11. Implementar un sencillo renderizador en tiempo real utilizando una API de rasterizacion (por
ejemplo, OpenGL) utilizando buers de vertices y shaders [Usar]
12. Comparar y contrastar las diferentes tecnicas de renderizacion [Evaluar]
13. Calcular las necesidades de espacio en base a la resolucion y codicacion de color [Evaluar]
14. Calcular los requisitos de tiempo sobre la base de las frecuencias de actualizacion, tecnicas de
rasterizacion [Evaluar]
Subdivision de supercies.
Modelado multiresolucion.
Reconstruccion.
Objetivos de Aprendizaje:
Elective:
5. Generar una malla de un conjunto de puntos adquiridos por un scaner laser [Usar]
6. Construct modelos de geometra solida constructiva a partir de simples primitivas, tales como
cubos y supercies cuadricas [Usar]
Mapeo de Sombras.
Selectiva de oclusion.
Dispercion de la Supercie.
Renderizado no fotorealistico.
Objetivos de Aprendizaje:
Elective:
6. Discutir las ideas basicas detras de algunos metodos para dinamica de uidos para el modela-
miento de trayectorias balsticas, por ejemplo salpicaduras, polvo, fuego, o humo [Familiarizarse]
7. Usar el software de animacion comun para construir formas organicas simples usando metaball
y el esqueleto [Usar]
2.5.6. GV/Visualizacion
Topicos:
Electivos
Visualizacion de: 1. Campos de vector y ujo de datos 2. Datos que varian en el tiempo 3. High-
dimensional data: reduccion de dimensiones, coordenadas paralelas 4. Datos Non-espaciales:
multi-variados, estructurados en arbol/grafo, texto
Diseno de visualizacion.
Aplicaciones de visualizacion.
Objetivos de Aprendizaje:
Elective:
4. Analizar la ecacia de una visualizacion dada para una tarea en particular [Evaluar]
5. Disenar un proceso para evaluar la utilidad de un algoritmo de visualizacion o del sistema [Eva-
luar]
Ayuda y documentacion.
Objetivos de Aprendizaje:
Core-Tier2:
2. Crear una aplicacion simple, junto con la ayuda y la documentacion, que soporta una interfaz
graca de usuario [Usar]
3. Llevar a cabo una evaluacion cuantitativa y discutir / informar sobre los resultados [Usar]
Manejo de geometra.
Ref: 2.5.3 Modelado Geometrico, Pag. 43
Bibliotecas modernas de GUI (ej. iOS, Android, JavaFX) constructores de GUI y entornos de
programacion UI.
Ref: 2.12.3 Plataformas moviles, Pag. 94
Diseno multiplataforma.
Diseno para dispositivos con restriccion de recursos (ej. dispositivos pequenos, moviles)
Objetivos de Aprendizaje:
Elective:
2. Crear una aplicacion con una moderna interfaz graca de usuario [Usar]
3. Identicar puntos comunes y las diferencias en las UIs a traves de diferentes plataformas [Fami-
liarizarse]
Evaluacion sin usuarios, usando ambas tecnicas cualitativas y cuantitativas. Ej. Revision estruc-
turada, GOMS, analisis basado en expertos, heursticas, lineamientos y estandar.
Evaluacion con usuarios. Ej. Observacion, Metodo de pensamiento en voz alta, entrevistas, en-
cuentas, experimentacion.
Objetivos de Aprendizaje:
Elective:
1. Explicar como el diseno centrado en el usuario complementa a otros modelos de proceso softwa-
re [Familiarizarse]
2. Utilizar lo- (baja delidad) tecnicas de prototipado para recopilar y reportar, las respuestas
del usuario [Usar]
3. Elegir los metodos adecuados para apoyar el desarrollo de una especca interfaz de usuario [Eva-
luar]
4. Utilizar una variedad de tecnicas para evaluar una interfaz de usuario dada [Evaluar]
Objetivos de Aprendizaje:
Elective:
1. Describe cuando son adecuadas las interfaces sin uso de raton [Familiarizarse]
2. Comprende las posibilidades de interaccion que van mas alla de las interfaces de raton y punte-
ro [Familiarizarse]
La comunicacion asncrona en grupo, por ejemplo, el correo electronico, foros, redes sociales.
Comunicacion sincronica en grupo, por ejemplo, las salas de chat, conferencias, juegos en lnea.
Comunidades en lnea.
Psicologa Social
Objetivos de Aprendizaje:
Elective:
2. Comparar los problemas de IHC en la interaccion individual con la interaccion del grupo [Evaluar]
3. Discuta varias problemas de interes social planteados por el software colaborativo [Familiarizarse]
4. Discutir los problemas de IHC en software que personica la intencion humana [Familiarizarse]
Pruebas T.
La asignacion al azar (no parametrica) pruebas, dentro vs. entre sujetos diseno.
Objetivos de Aprendizaje:
Elective:
2. Extraer y articular los argumentos estadsticos utilizados en papers que informan cuantitativa-
mente los estudios de usuarios [Usar]
4. Llevar a cabo e informar sobre un estudio que utiliza evalucion cualitativa y cuantitativa [Usar]
Seguridad de economa.
Autenticacion biometrica.
Manejo de Identidad.
Objetivos de Aprendizaje:
Elective:
5. Analizar una poltica y/o procedimientos para demostrar si consideran o no se consideran, los
factores humanos de la seguridad [Usar]
Critically reective HCI: 1. Practica Crtica Tecnica 2. Tecnologas para activismo poltico 3. Fi-
losofa de la experiencia de usuario 4. Etnografa y etnometodologa
Objetivos de Aprendizaje:
Elective:
1. Explicar que signica que La IHC es una disciplina orientada al diseno [Familiarizarse]
2. Detallar los procesos de diseno apropiados para orientaciones especcas de diseno [Familiarizar-
se]
Entrada del usuario: 1. Visor y seguimiento de objetos 2. Pose y gesto de reconocimiento 3. Los
acelerometros 4. marcadores de referencia 5. Los problemas de interfaz de usuario de artculo
Modelamiento y representacion fsica: 1. Simulacion fsica: deteccion de colisiones y respuesta,
animacion 2. Visibility computation 3. Representacion sensitiva al tiempo, multiples niveles de
detalle (LOD)
Arquitectura de Sistemas: 1. Motores de Juego 2. Relidad Aumentada movil 3. Simuladores de
vuelo 4. CAVEs 5. Imagenes medicas
Redes: 1. p2p, cliente-servidor, dead reckoning, encriptacion, sincronizacion 2. Colaboracion
distribuida
Objetivos de Aprendizaje:
Elective:
1. Describir el modelo optico realizado por un sistema de gracos por computadora para sintetizar
una vision estereoscopica [Familiarizarse]
2. Describir los principios de las diferentes tecnologias de seguimiento de espectador [Familiarizarse]
3. Describir las diferencias entre geometria y realidad virtual basada en imagenes [Familiarizarse]
4. Describir los casos de la accion de sincronizacion de un usuario y la consistencia de los datos en
un entorno de red [Familiarizarse]
5. Determinar los requerimientos basicos en interfaz, software, hardware, y coguraciones de soft-
ware de un sistema VR para una aplicacion especca [Usar]
6. Describir varios usos posibles para los motores de juegos, incluyendo su potencial y sus limita-
ciones [Familiarizarse]
Diseno abierto.
Ref: 2.16.8 Evolucion de Software, Pag. 129
La seguridad de extremo a extremo.
Ref: 2.17.9 Conabilidad a traves de redundancia, Pag. 136
La defensa en profundidad (por ejemplo, la programacion defensiva, defensa en capas)
Diseno de seguridad.
Ref: 2.16.5 Diseno de Software, Pag. 125
Las tensiones entre la seguridad y otros objetivos de diseno.
Core Tier2
Mediacion completa.
El uso de componentes de seguridad vetados.
Economa del mecanismo (la reduccion de la base informatica de conanza, minimizar la super-
cie de ataque)
Ref: 2.16.5 Diseno de Software, Pag. 125, 2.16.6 Construccion de Software, Pag. 127
Seguridad utilizable.
Ref: 2.6.1 Fundamentos, Pag. 47
Componibilidad de seguridad.
Prevencion, deteccion y disuasion.
Ref: 2.17.9 Conabilidad a traves de redundancia, Pag. 136, 2.10.3 Entrega conable de datos,
Pag. 83, 2.10.3 Entrega conable de datos, Pag. 83
Objetivos de Aprendizaje:
Core-Tier1:
1. Describir el principio de privilegios mnimos y el aislamiento que se aplican al diseno del siste-
ma [Familiarizarse]
2. Resumir el principio de prueba de fallos y negar por defecto [Familiarizarse]
3. Discutir las implicaciones de depender de diseno abierto o secreto de diseno para la seguri-
dad [Familiarizarse]
4. Explicar los objetivos de seguridad de datos de extremo a extremo [Familiarizarse]
5. Discutir los benecios de tener multiples capas de defensas [Familiarizarse]
6. Por cada etapa en el ciclo de vida de un producto, describir que consideraciones de seguridad
deberian ser evaluadas [Familiarizarse]
7. Describir el costo y ventajas y desventajas asociadas con el diseno de seguridad de un producto.
[Familiarizarse]
Core-Tier2:
8. Describir el concepto de mediacion y el principio de mediacion completa [Familiarizarse]
9. Conocer los componentes estandar para las operaciones de seguridad, en lugar de reinventar las
operaciones fundamentales [Familiarizarse]
10. Explicar el concepto de computacion conable incluyendo base informatica conable y de la
supercie de ataque y el principio de minimizacion de base informatica conable [Familiarizarse]
11. Discutir la importancia de la usabilidad en el diseno de mecanismos de seguridad [Familiarizarse]
12. Describir problemas de seguridad que surgen en los lmites entre varios componentes [Familiari-
zarse]
13. Identicar los diferentes roles de mecanismos de prevencion y mecanismos de eliminacion/disuacion [Fa-
miliarizarse]
Core Tier2
Electivos
Fuzzing
Programa de vericacion.
Soporte del sistema operativo (por ejemplo, la asignacion al azar del espacio de direcciones,
canarios)
Objetivos de Aprendizaje:
Core-Tier1:
1. Explicar por que la validacion de entrada y desinfeccion de datos es necesario en el frente del
control contencioso del canal de entrada [Familiarizarse]
2. Explicar por que uno deberia escoger para desallorrar un programa en un lenguaje tipo seguro
como Java, en contraste con un lenguaje de programacion no seguro como C/C++ [Familiari-
zarse]
4. Demostrar el uso de un lenguaje de programacion de alto nivel como prevenir una condicion de
competencia que ocurran y como manejar una excepcion [Usar]
Core-Tier2:
6. Explique los riesgos de mal uso de las interfaces con codigo de terceros y como utilizar correcta-
mente el codigo de terceros [Familiarizarse]
Elective:
10. Explicar los diferentes tipos de mecanismos para detectar y mitigar los errores de desinfeccion
de datos [Familiarizarse]
11. Demostrar como se prueban los programas para el manejo de errores de entrada [Usar]
12. Usar herramientas estaticas y dinamicas para identicar errores de programacion [Usar]
13. Describir como se utiliza la arquitectura de memoria para proteger de ataques en tiempo de
ejecucion [Familiarizarse]
Los ejemplos de malware (por ejemplo, virus, gusanos, spyware, botnets, troyanos o rootkits)
Electivos
Objetivos de Aprendizaje:
Core-Tier2:
2. Discutir los limitantes de las medidas en contra del malware (ejm. deteccion basada en rmas,
deteccion de comportamiento) [Familiarizarse]
3. Identicar las instancias de los ataques de ingeniera social y de los ataques de negacion de
servicios [Familiarizarse]
4. Discutir como los ataques de negacion de servicos puede ser identicados y reducido [Familiari-
zarse]
Elective:
5. Describir los riesgos de la privacidad y del anonimato en aplicaciones comunmente usadas [Fa-
miliarizarse]
6. Discutir los conceptos de conversion de canales y otros procedimientos de ltrado de datos [Fa-
miliarizarse]
4. Explicar como una infraestructura de Clave Publica soporta rmas digitales y encriptacion y
discutir sus limitaciones/vulnerabilidades [Familiarizarse]
Elective:
8. Explicar como los protocolos de intercambio de claves trabajan y como es que pueden fallar [Fa-
miliarizarse]
10. Describir aplicaciones del mundo real de primitivas criptogracas y sus protocolos [Familiarizarse]
11. Resumir deniciones precisas de seguridad, capacidades de ataque y sus metas [Familiarizarse]
12. Aplicar tecnicas conocidas y apropiadas de criptografa para un escenario determinado [Usar]
13. Apreciar los peligros de inventarse cada uno sus propios metodos criptogracos [Familiarizarse]
Modelo de seguridad Web 1. Modelo de seguridad del navegador incluida la poltica de mismo
origen 2. Los lmites de conanza de cliente-servidor, por ejemplo, no pueden depender de la
ejecucion segura en el cliente
Seguridad del lado del cliente : 1. Poltica de seguridad Cookies 2. Extensiones de seguridad
HTTP, por ejemplo HSTS 3. Plugins, extensiones y aplicaciones web 4. Seguimiento de los
usuarios Web
Herramientas de seguridad del lado del servidor, por ejemplo, los cortafuegos de aplicacion Web
(WAFS) y fuzzers
Objetivos de Aprendizaje:
Elective:
1. Describe el modelo de seguridad de los navegadores incluyendo las polticas del mismo origen y
modelos de amenazas en seguridad web [Familiarizarse]
2. Discutir los conceptos de sesiones web, canales de comunicacion seguros tales como Seguridad
en la Capa de Transporte(TLS) y la importancia de certicados de seguridad, autenticacion
incluyendo inicio de sesion unico, como OAuth y Lenguaje de Marcado para Conrmaciones de
Seguridad(SAML) [Familiarizarse]
3. Investigar los tipos comunes de vulnerabilidades y ataques en las aplicaciones web, y defensas
contra ellos [Familiarizarse]
Testimonio.
Ruta conable.
Objetivos de Aprendizaje:
Elective:
2. Discute los conceptos del origen de la condencialidad y el de los procesos de arranque y carga
segura [Familiarizarse]
4. Resume las metas y las primitivas claves de los modelos de plataforma conable (TPM) [Fami-
liarizarse]
7. Identica ataques en plataformas con hardware que no son del tipo PC [Familiarizarse]
Poltica de privacidad.
Ref: 2.18.1 Contexto Social, Pag. 138, 2.18.3 Etica Profesional, Pag. 140, 2.18.5 Privacidad y
Libertades Civiles, Pag. 142
Objetivos de Aprendizaje:
Elective:
1. Describe el concepto de privacidad incluyendo informacion privada personal, violaciones poten-
ciales de privacidad debido a mecanismos de seguridad, y describe como los mecanismos de
proteccion de la privacidad se ejecutan en conicto con los mecanismos de seguridad [Familiari-
zarse]
2. Describe como un atacante puede descubrir un secreto al interactuar con una base de datos [Fa-
miliarizarse]
3. Explica como congurar una poltica de respaldo de datos o poltica de actualizacion de cla-
ves [Familiarizarse]
4. Discute como congurar una poltica en caso de revelacion de la informacion [Familiarizarse]
5. Describe las consecuencias del polticas de retencion de datos [Familiarizarse]
6. Identica los riesgos de basarse en productos externos [Familiarizarse]
7. Identica los riesgos y benecios de emplear outsourcing en la nube [Familiarizarse]
8. Recupera datos basados en un determinado termino de busqueda en una imagen del siste-
ma [Usar]
12. Discute los retos asociados con tecnicas forenses de dispositivos moviles [Familiarizarse]
13. Inspecciona un sistema (red, computadora, o aplicacion) para determinar la presencia de malware
o de actividad maliciosa [Usar]
Asegure probar el proceso de las pruebas de que se cumplan los requisitos de seguridad (inclu-
yendo analisis estatico y dinamico)
Objetivos de Aprendizaje:
Elective:
2. Aplicar los conceptos de los principios de diseno para mecanismos de proteccion, los principios
para seguridad de software (Viega and McGraw) y los principios de diseno de seguridad (Morrie
Gasser) en un proyecto de desarrollo de software [Usar]
4. Describir las mejores practicas de desarrollo de software para minimizar las vulnerabilidades en
el codigo de programacion [Familiarizarse]
5. Llevar a cabo una vericacion de seguridad y la evaluacion (estatico y dinamico) de una aplicacion
de software [Usar]
Core Tier2
Analisis e Indexacion.
1. Explica las caractersticas que distinguen un esquema de base de datos de aquellos basados en
la programacion de archivos de datos [Familiarizarse]
2. Describe los disenos mas comunes para los componentes base de sistemas de bases de datos
incluyendo el optimizador de consultas, ejecutor de consultas, administrador de almacenamiento,
metodos de acceso y procesador de transacciones [Familiarizarse]
3. Cita las metas basicas, funciones y modelos de un sistema de bases de datos [Familiarizarse]
4. Describe los componentes de un sistema de bases datos y da ejemplos de su uso [Familiarizarse]
5. Identica las funciones principales de un SGBD y describe sus roles en un sistema de bases de
datos [Familiarizarse]
6. Explica los conceptos de independencia de datos y su importancia en un sistema de bases de
datos [Familiarizarse]
7. Usa un lenguaje de consulta declarativo para recoger informacion de una base de datos [Usar]
8. Describe las capacidades que las bases de datos brindan al apoyar estructuras y/o la secuencia
de ujo de datos, ejm. texto [Familiarizarse]
Elective:
9. Describe los enfoques principales para almacenar y procesar larges volumenes de datos [Fami-
liarizarse]
2.8.4. IM/Indexacion
Topicos:
Electivos
Indexando texto.
Objetivos de Aprendizaje:
Elective:
4. Identicar los ndices adecuados para determinado el esquema relacional y el conjunto de con-
sultas [Usar]
5. Estimar el tiempo para recuperar informacion, cuando son usados los ndices comparado con
cuando no son usados [Usar]
6. Describir los desafos claves en el rastreo web, por ejemplo, la deteccion de documentos duplica-
dos, la determinacion de la frontera de rastreo [Familiarizarse]
Dependencia funcional.
Descomposicion de un esquema.
Teora de la representacion.
Objetivos de Aprendizaje:
Elective:
6. Determina la dependencia funcional entre dos o mas atributos que son subconjunto de una
relacion [Evaluar]
7. Conecta restricciones expresadas como clave primaria y foranea, con dependencias funciona-
les [Usar]
8. Calcula la cerradura de un conjunto de atributos dado dependencias funcionales [Usar]
9. Determina si un conjunto de atributos forma una superclave y/o una clave candidata de una
relacion dada dependencias funcionales [Evaluar]
10. Evalua una descomposicion propuesta, a n de determinar si tiene una union sin perdidas o
preservacion de dependencias [Evaluar]
11. Describe las propiedades de la FNBC, FNUP (forma normal union de proyecto), 5FN [Familia-
rizarse]
12. Explica el impacto de la normalizacion en la ecacia de las operaciones de una base de datos
especialmente en la optimizacion de consultas [Familiarizarse]
13. Describe que es una dependencia de multi valor y cual es el tipo de restricciones que especi-
ca [Familiarizarse]
Selecciones
Proyecciones
Select-project-join
Agregaciones y agrupaciones.
Subconsultas.
Entornos QBE de cuarta generacion.
Objetivos de Aprendizaje:
Elective:
1. Crear un esquema relacional de bases de datos en SQL que incorpora restricciones clave y
restricciones de integridad de entidad e integridad referencial [Usar]
2. Usar SQL para crear tablas y devuelve (SELECT) la informacion de una base de datos [Usar]
3. Evaluar un conjunto de estrategias de procesamiento de consultas y selecciona la estrategia
optima [Evaluar]
4. Crear una consulta no-procedimental al llenar plantillas de relacines para construir un ejemplo
del resultado de una consulta requerida [Usar]
5. Adicionar consultas orientadas a objetos en un lenguaje stand-alone como C++ o Java (ejm.
SELECT ColMethod() FROM Objeto) [Usar]
6. Escribe un procedimiento almacenado que trata con parametros y con algo de ujo de control
de tal forma que tenga funcionalidad [Usar]
Parallel DBMS 1. Arquitecturas paralelas DBMS: memoria compartida, disco compartido, nada
compratido; 2. Aceleracion y ampliacion, por ejemplo, el uso del modelo de procesamiento Ma-
pReduce 3. Replicacion de informacion y modelos de consistencia debil
Ref: 2.3.3 Procesamiento, Pag. 32, 2.13.2 Descomposicion en paralelo, Pag. 97
Objetivos de Aprendizaje:
Elective:
1. Explicar las tecnicas usadas para la fragmentacion de datos, replicacion, y la asignacion durante
el proceso de diseno de base de datos distribuida [Familiarizarse]
2. Evaluar estrategias simples para la ejecucion de una consulta distribuida para seleccionar una
estrategia que minimise la cantidad de transferencia de datos [Evaluar]
3. Explicar como el protocolo de dos fases de commit es usado para resolver problemas de transac-
ciones que acceden a bases de datos almacenadas en multiples nodos [Familiarizarse]
4. Describir el control concurrente distribuido basados en tecnicas de copia distinguidos y el metodo
de votacion. [Familiarizarse]
5. Describir los tres niveles del software en el modelo cliente servidor [Familiarizarse]
Enrutamiento y ltrado.
Busqueda multimedia.
Busqueda por facetas (por ejemplo, el uso de citas, palabras clave, esquemas de clasicacion).
Libreras digitales.
Metadata y catalogacion.
Objetivos de Aprendizaje:
Elective:
2. Describe que temas son especcos para una recuperacion de la informacion eciente [Familiari-
zarse]
Objetivos de Aprendizaje:
Elective:
1. Describe los medios y dispositivos de soporte mas comunmente asociados a los sistemas de
informacion multimedia [Familiarizarse]
5. Para cada uno de los muchos estandares de medios de comunicacion o multimedia, describe
en lenguaje no tecnico para lo que el estandar llama y explica como aspectos de la percepcion
humana deberian ser suceptibles a las limitaciones del estandar [Familiarizarse]
Objetivos de Aprendizaje:
Elective:
3. Disenar e implementar una busqueda A* y busqueda en haz (beam search) para solucionar un
problema [Usar]
4. Aplicar busqueda minimax con poda alfa-beta para simpliar el espacio de busqueda en un juego
con dos jugadores [Usar]
5. Comparar y contrastar los algoritmos geneticos con tecnicas clasicas de busqueda [Evaluar]
Argumentacion
Redes semanticas.
Objetivos de Aprendizaje:
Elective:
1. Comparar y contrastar los modelos mas usados para la representacion del conocimiento estruc-
turado, destacando sus puntos fuertes y debiles [Evaluar]
Independecia Condicional
Objetivos de Aprendizaje:
Elective:
1. Aplicar la regla de Bayes para determinar el cumplimiento de una hipotesis [Usar]
2. Explicar como al tener independencia condicional permite una gran eciencia en sistemas pro-
babilsticos [Evaluar]
3. Identicar ejemplos de representacion de conocimiento para razonamiento bajo incertidum-
bre [Familiarizarse]
9. Explicar como funciones de utilidad y razonamiento probabilstico puede ser combinado para
tomar decisiones razonables [Evaluar]
2.9.8. IS/Agentes
Topicos:
Electivos
Denicion de Agentes
Teora de agentes
Agentes de aprendizaje
Objetivos de Aprendizaje:
Elective:
3. Describe las aplicaciones de teora de agentes para dominios como agentes de software, asistentes
personales, y agentes creibles [Familiarizarse]
5. Demuestra mediante ejemplos adecuados como los sistemas multi-agente soportan interaccion
entre agentes [Usar]
Algoritmos de parseo 1. Gramaticas libres de contexto (CFGs) y cuadros de parseo (e.g. Cocke-
Younger-Kasami CYK) 2. CFGs probabilsticos y ponderados CYK
Suavizado y back-o
Extraccion de informacion
Traduccion de lenguaje
Objetivos de Aprendizaje:
Elective:
4. Lista las ventajas de usar corpus estandares. Identica ejemplos de corpus actuales para una
variedad de tareas de PLN [Familiarizarse]
Aprendizaje semi-supervisado.
Evaluacion del desempeno (tal como cross-validation, area bajo la curva ROC)
2.9.11. IS/Robotica
Topicos:
Electivos
Vision general: problemas y progreso 1. Estado del arte de los sistemas roboticos, incluyendo sus
sensores y una vision general de su procesamiento 2. Arquitecturas de control robotico, ejem.,
deliverado vs. control reactivo y vehiculos Braitenberg 3. Modelando el mundo y modelos de
mundo 4. Incertidumbre inherente en deteccion y control
Conguracion de espacio y mapas de entorno.
Interpretando datos del sensor con incertidumbre.
Localizacion y mapeo.
Navegacion y control.
Planeando el movimiento.
Coordinacion multi-robots.
Objetivos de Aprendizaje:
Elective:
1. Listar capacidades y limitaciones de sistemas del estado del arte en robotica de hoy , incluyendo
sus sensores y el procesamiento del sensor crucial que informa a esos sistemas [Familiarizarse]
2. Integrar sensores, actuadores y software en un robot disenado para emprender alguna tarea [Usar]
3. Programar un robot para llevar a cabo tareas simples usando arquitecturas de control delivera-
tivo, reactivo y/o hbrido [Usar]
5. Caracterizar las incertidumbres asociadas con sensores y actuadores de robot comunes; articular
estrategias para mitigar esas incertidumbres. [Familiarizarse]
6. Listar las diferencias entre representaciones de los robot de su enterno externo, incluyendo sus
fortalezas y defectos [Familiarizarse]
7. Comparar y contrastar al menos tres estrategias para la navegacion de robots dentro de entornos
conocidos y/o no conocidos, incluyendo sus fortalezas y defectos [Evaluar]
Modularidad en reconocimiento.
Objetivos de Aprendizaje:
Elective:
4. Destinguir las metas de reconocimiento de sonido, palabras y del habla e identicar como la
senal de audio bruto sera manejada diferentemente en cada uno de esos casos. [Familiarizarse]
7. Implementar un algoritmo que combina caractersticas en percepciones de mas alto nivel, p.e.,
un contorno o poligono a partir de primitivas visuales o fonemas de una senal de audio [Usar]
Objetivos de Aprendizaje:
Core-Tier1:
4. Identicar los diferentes tipos de complejidad en una red (bordes, nucleo, etc.) [Familiarizarse]
API de Socket
Objetivos de Aprendizaje:
Core-Tier1:
1. Listar las diferencias y las relaciones entre los nombres y direcciones en una red [Familiarizarse]
2. Denir los principios detras de esquemas de denominacion y ubicacion del recurso [Familiarizarse]
TCP
Objetivos de Aprendizaje:
Core-Tier2:
2. Listar los factores que afectan al rendimiento de los protocolos de entrega ables [Familiarizarse]
Enrutamiento vs reenvo .
Enrutamiento estatico .
Objetivos de Aprendizaje:
Core-Tier2:
Enfoques comunes a Acceso multiple (exponencial backo, multiplexacion por division de tiempo,
etc)
Ethernet .
Switching .
Objetivos de Aprendizaje:
Core-Tier2:
1. Describir como los paquetes son enviados en una red Ethernet [Familiarizarse]
3. Describir las etapas usadas en un enfoque comun para el problema de multiples accesos [Fami-
liarizarse]
Justicia.
Objetivos de Aprendizaje:
Core-Tier2:
Redes 802.11
Objetivos de Aprendizaje:
Core-Tier2:
Objetivos de Aprendizaje:
Elective:
1. Discutir los principios fundamentales(como pertenencia, conanza) de una red social [Familiari-
zarse]
4. Analizar una red social para determinar quienes son las personas importantes [Usar]
5. Evaluar una determinada interpretacion de una pregunta de red social con los datos asocia-
dos [Evaluar]
5. Identicar amenazas potenciales a sistemas operativos y las caractersticas del diseno de seguri-
dad para protegerse de ellos [Familiarizarse]
Organizacion de dispositivos.
Objetivos de Aprendizaje:
Core-Tier1:
4. Describir como los recursos computacionales son usados por aplicaciones de software y adminis-
tradas por el software del sistema [Familiarizarse]
7. Explicar el uso de una lista de dispositivos y el controlador de colas de entrada y salida [Fami-
liarizarse]
Diagramas de estado.
Ref: 2.17.3 Estados y maquinas de estados, Pag. 133
Objetivos de Aprendizaje:
Core-Tier2:
3. Resumir el rango de mecanismos que pueden ser usados a nivel del sistema operativo para realizar
sistemas concurrentes y describir los benecios de cada uno [Familiarizarse]
4. Explicar los diferentes estados por los que una tarea debe pasar y las estructuras de datos
necesarias para el manejo de varias tareas [Familiarizarse]
5. Resumir las tecnicas para lograr sicronizacion en un sistema operativo(por ejemplo, describir
como implementar semaforos usando primitivas del sistema operativo.) [Familiarizarse]
6. Describir las razones para usar interruptores, despacho, y cambio de contexto para soportar
concurrencia en un sistema operativo [Familiarizarse]
7. Crear diagramas de estado y transicion para los dominios de problemas simples [Usar]
Planicadores y polticas.
Ref: 2.17.6 Asignacion de recursos y planeamiento, Pag. 134, 2.13.6 Desempeno en paralelo,
Pag. 101
Procesos y subprocesos.
Ref: 2.17.1 Paradigmas computacionales, Pag. 131
Objetivos de Aprendizaje:
Core-Tier2:
1. Comparar y contrastar los algoritmos comunes que se utilizan tanto para un programa preferente
y no preferente de las tareas en los sistemas operativos, como la comparacion de prioridad, el
rendimiento, y los esquemas de distribucion equitativa [Usar]
2. Describir las relaciones entre los algoritmos de planicacion y dominios de aplicacion [Familia-
rizarse]
3. Discutir los tipos de planeamiento de procesos scheduling de corto, a mediano, a largo plazo y
I/O [Familiarizarse]
5. Comparar y contrastar enfoques estaticos y dinamicos para scheduling en tiempo real [Usar]
El almacenamiento en cache
Ref: 2.2.4 Organizacion y Arquitectura del Sistema de Memoria, Pag. 27
Objetivos de Aprendizaje:
Core-Tier2:
2. Resumir los principios de memoria virtual tal como se aplica para el almacenamiento en cache
y paginacion [Familiarizarse]
3. Evaluar las ventajas y desventajas en terminos del tamano de memoria (memoria principal,
memoria cache, memoria axiliar) y la velocidad del procesador [Evaluar]
4. Deende las diferentes formas de asignar memoria a las tareas, citando las ventajas relativas de
cada uno [Evaluar]
6. Estudiar los conceptos de thrashing, tanto en terminos de las razones por las que se produce y
las tecnicas usadas para el reconocimiento y manejo del problema [Familiarizarse]
Objetivos de Aprendizaje:
Core-Tier2:
3. Explicar el mecanismo disponible en un OS para controlar los accesos a los recursos [Familiari-
zarse]
Objetivos de Aprendizaje:
Elective:
1. Describir las decisiones que deben tomarse en el diseno de sistemas de archivos [Familiarizarse]
3. Resumir como el desarrollo de hadware ha dado lugar a cambios en las prioridades para el diseno
y la gestion de sistemas de archivos [Familiarizarse]
4. Resumir el uso de diarios y como los sistemas de archivos de registro estructurado mejora la
tolerancia a fallos [Familiarizarse]
Objetivos de Aprendizaje:
Elective:
2. Explicar la presencia y describir las caractersticas de latencia en sistemas de tiempo real [Fa-
miliarizarse]
3. Resumir los problemas especiales que los sistemas en tiempo real presentan, incluyendo el riesgo,
y como se tratan estos problemas [Familiarizarse]
/ API / hardware que limitan el desarrollo. Estas plataformas se caracterizan por el uso de APIs
especializadas, mecanismos de entrega / de actualizacion distintos, y se resumieron lejos del nivel de
la maquina. Desarrollo basado en la plataforma se puede aplicar sobre una amplia extension de los
ecosistemas.
Si bien reconocemos que algunas plataformas (por ejemplo, desarrollo web) son prominentes, tam-
bien somos conscientes del hecho de que ninguna plataforma en particular se debe especicar como
requisito en los lineamientos curriculares CS2013. En consecuencia, esta area de conocimiento destaca
muchas de las plataformas thathave hecho popular, sin incluir dicha plataforma en el plan de estudios
basico. Tomamos nota de que la habilidad general de desarrollo con respecto a una API o un entorno
restringido esta cubierta en otras areas de conocimiento, tales como Fundamentos de Desarrollo de
Software (SDF). Desarrollo basado en la Plataforma enfatiza aun mas esas habilidades generales en
el contexto de las plataformas particulares.
2.12.1. PBD/Introduccion
Esta unidad de conocimiento describe las diferencias fundamentales que la plataforma basada en
el Desarrollo tiene sobre el desarrollo de software tradicional.
Topicos:
Electivos
Vision general de plataformas (ejemplo, Web, Mobil, Juegos, Industrial)
Programacon a traves de APIs especcos.
Vision general de lenguajes de plataforma (ejemplo, Objective C, HTML5)
Pogramacon bajo restricciones de plataforma.
Objetivos de Aprendizaje:
Elective:
1. Describir como el desarrollo basado en plataforma diere de la programacion de proposito gene-
ral [Familiarizarse]
2. Listar las caractersticas de lenguajes de plataforma [Familiarizarse]
3. Escribir y ejecutar un programa simple basado en plataforma [Usar]
4. Listar las ventajas y desventajas de la programacion con restricciones de plataforma [Familiari-
zarse]
Objetivos de Aprendizaje:
Elective:
1. Disenar e implementar una aplicacion web sencilla [Usar]
2. Describir las limitaciones que la web pone a los desarrolladores [Familiarizarse]
3. Comparar y contrastar la programacion web con la programacion de proposito general [Evaluar]
4. Describir las diferencias entre software como un servicio y productos de software tradiciona-
les [Familiarizarse]
5. Discutir como los estandares de web impactan el desarrollo de software [Familiarizarse]
6. Revise una aplicacion web existente con un estandar web actual [Evaluar]
a los recursos. 3. Actividad: Un calculo que pueden ejecutarse simultaneamente con los demas; por
ejemplo, un programa, proceso, hilo, o activa componente de hardware paralelo. 4. Atomicity: Normas
y propiedades de legalidad de una accion es observacional indivisible; por ejemplo, el establecimiento
de todos los bits en una palabra, la transmision de un unico paquete, o completar una transaccion.
5. Consenso artculo: Acuerdo entre dos o mas actividades alrededor de un predicado dado; por ejemplo,
el valor de un contador, el propietario de una cerradura, o la terminacion de un hilo. 6. Consistencia:
Las reglas y propiedades que rigen el acuerdo sobre los valores de las variables escritos o mensajes
producidos, por algunas actividades y usados ??por otros (as posiblemente exhibiendo una raza de
datos); por ejemplo, la consistencia secuencial, indicando que los valores de todas las variables de un
programa paralelo de memoria compartida son equivalentes a la de un unico programa de la realizacion
de algun intercalado de la memoria de accesos de estas actividades.
7. Multicast: Un mensaje enviado a varios destinatarios, posiblemente, en general sin restricciones
acerca de si algunos destinatarios reciban el mensaje antes que otros. Un evento es un mensaje de
multidifusion enviado a un conjunto designado de oyentes o suscriptores.
Como multi-procesador de computacion continua creciendo en los proximos anos, tambien lo hara
el papel de la computacion paralela y distribuida en los programas informaticos de pregrado. Ademas
de las directrices que se presentan aqu, tambien nos dirigimos al lector interesado al documento
titulado NSF/TCPP Curriculum Initiative on Parallel and Distributed Computing - Core Topics for
Undergraduates, disponible en el sitio web: http://www.cs.gsu.edu/ tcpp/curriculum/.
Nota general de referencias cruzadas: Fundamentos de Sistemas tambien contiene una introduccion
al paralelismo (2.17.1 Paradigmas computacionales, Pag. 131, 2.17.4 Paralelismo, Pag. 133, 2.13.6
Desempeno en paralelo, Pag. 101).
La introduccion al paralelismo en SF complementa el uno aqu y no hay restriccion de pedido entre
ellos. En San Francisco, la idea es proporcionar una vision unicada del apoyo del sistema para su
ejecucion simultanea en varios niveles de abstraccion (el paralelismo es inherente a las puertas, proce-
sadores, sistemas operativos y servidores), mientras que aqu la atencion se centra en una comprension
preliminar de paralelismo como la computacion primitivo y las complicaciones que surgen en paralelo
y la programacion concurrente. Teniendo en cuenta estas diferentes perspectivas, las horas asignadas
a cada uno no son redundantes: ver los sistemas de capas y los conceptos computacionales de alto
nivel se contabilizan por separado en termsof las horas centrales.
Area de Conocimiento (Knowledge Area-KA) (KA) Core Core Electivos
Tier1 Tier2
2.13.1 Fundamentos de paralelismo (Pag. 96) 2 No
2.13.2 Descomposicion en paralelo (Pag. 97) 1 2 No
2.13.3 Comunicacion y coordinacion (Pag. 97) 1 3 Si
2.13.4 Analisis y programacion de algoritmos paralelos (Pag. 99) 3 Si
2.13.5 Arquitecturas paralelas (Pag. 100) 1 2 Si
2.13.6 Desempeno en paralelo (Pag. 101) Si
2.13.7 Sistemas distribudos (Pag. 101) Si
2.13.8 Cloud Computing (Pag. 102) Si
2.13.9 Modelos y semantica formal (Pag. 103) Si
Objetivos de Aprendizaje:
Core-Tier1:
1. Distinguir el uso de recursos computacionales para una respuesta mas rapida para administrar
el acceso eciente a un recurso compartido [Familiarizarse]
3. Distinguir datos de carrera (data races) a partir de carreras de mas alto nivel [Familiarizarse]
Independencia y Particionamiento.
Core Tier2
Objetivos de Aprendizaje:
Core-Tier1:
Core-Tier2:
Memoria Compartida.
Core Tier2
Pasos de Mensaje: 1. Mensajes Punto a Punto versus multicast (o basados en eventos) 2. Estilos
para enviar y recibir mensajes Blocking vs non-blocking 3. Buering de mensajes
Ref: 2.15.3 Estructuras de Datos Fundamentales, Pag. 116
Electivos
Objetivos de Aprendizaje:
Core-Tier1:
2. Dar un ejemplo de una ordenacion de accesos entre actividades concurrentes (por ejemplo, un
programa con condicion de carrera) que no son secuencialmente consistentes [Familiarizarse]
Core-Tier2:
3. Dar un ejemplo de un escenario en el que el bloqueo de mensajes enviados pueden dar dead-
lock [Usar]
4. Explicar cuando y por que mensajes de multidifusion (multicast) o basado en eventos puede ser
preferible a otras alternativas [Familiarizarse]
5. Escribir un programa que termine correctamente cuando todo el conjunto de procesos concu-
rrentes hayan sido completados [Usar]
6. Usar una apropiada cola de sincronizacion para almacenar temporalmente datos pasados entre
actividades [Usar]
7. Explicar por que vericaciones para precondiciones, y acciones basados en estas vericaciones,
deben compartir la misma unidad de atomicidad para ser efectivo [Familiarizarse]
8. Escribir un programa de prueba que pueda revelar un error de programacion concurrente; por
ejemplo, falta una actualizacion cuando dos actividades intentan incrementar una variable [Usar]
10. Describir las ventajas relativas del control de concurrencia optimista y conservadora bajo dife-
rentes tipos de carrera entre actualizaciones [Familiarizarse]
11. Dar un ejemplo de un escenario en el que un intento optimista de actualizacion puede nunca
completarse [Familiarizarse]
Elective:
12. Usar semaforos o variables de condicion para bloquear hebras hasta una necesaria precondicion
de mantenga [Usar]
Aceleracion y escalabilidad.
Electivos
Algoritmos de grafos paralelo (por ejemplo, la ruta mas corta en paralelo, arbol de expansion
paralela)
Ref: 2.1.2 Estrategias Algortmicas, Pag. 19
Objetivos de Aprendizaje:
Core-Tier2:
5. Representar caractersticas de una carga de trabajo que permita o evite que sea naturalmente
paralelizable [Familiarizarse]
Elective:
9. Dar ejemplos de problemas donde el uso de pipelining sera un medio ecaz para la paraleliza-
cion [Familiarizarse]
11. Identicar los problemas que surgen en los algoritmos del tipo productor-consumidor y los me-
canismos que pueden utilizarse para superar dichos problemas [Familiarizarse]
Procesadores mutlinucleo.
Core Tier2
Multiprocesamiento simetrico.
Electivos
GPU, coprocesamiento.
Taxonomia de Flynn.
Objetivos de Aprendizaje:
Core-Tier1:
Core-Tier2:
3. Distinguir los tipos de tareas que son adecuadas para maquinas SIMD [Familiarizarse]
Elective:
6. Describir el soporte a de nivel de lenguaje ensamblador para las operaciones atomicas [Familia-
rizarse]
8. Describir los desafos clave del desempeno en diferentes memorias y topologas de sistemas dis-
tribuidos [Familiarizarse]
2. Explicar por que estructuras de sincronizacion como cerraduras simples (locks) no son utiles en
la presencia de fallas distribuidas [Familiarizarse]
4. Medir el rendimiento observado y la latencia de la respuesta a traves de los hosts en una red
dada [Usar]
5. Explicar por que un sistema distribuido no puede ser simultaneamente Consistente (Consistent),
Disponible (Available) y Tolerante a fallas (Partition tolerant). [Familiarizarse]
7. Explicar las ventajas y desventajas entre: overhead, escalabilidad y tolerancia a fallas entre
escojer un diseno sin estado (stateless) y un diseno con estado (stateful) para un determinado
servicio [Familiarizarse]
8. Describir los desaos en la escalabilidad, asociados con un servicio cresciente para soportar
muchos clientes, as como los asociados con un servicio que tendra transitoriamente muchos
clientes [Familiarizarse]
9. Dar ejemplos de problemas donde algoritmos de consenso son requeridos, por ejemplo, la eleccion
de lder [Usar]
Objetivos de Aprendizaje:
Elective:
2. Explicar las estrategias para sincronizar una vista comun de datos compartidos a traves de una
coleccion de dispositivos [Familiarizarse]
4. Desplegar una aplicacion que usa una infraestructura en la nube para computacion y/o recursos
de datos [Usar]
Modelos formales de procesos y paso de mensajes, incluyendo algebras como Procesos Secuen-
ciales de Comunicacion (CSP) y Pi-Calculus
Tecnicas para especicar y comprobar las propiedades de correccion tales como atomicidad y la
libertad de las carreras de datos.
Objetivos de Aprendizaje:
Elective:
1. Modelar un proceso concurrente usando un modelo formal, por ejemplo, calculo pi [Usar]
4. Usar un modelo para mostrar las garantias de progreso en un algoritmo paralelo [Usar]
5. Usar tecnicas formales para mostrar que un algoritmo paralelo es correcto con respecto a la
seguridad o la propiedad liveness [Usar]
Core-Tier2:
5. Explicar la relacion entre la herencia orientada a objetos (codigo compartido y overriding) y
subtipicacion (la idea de un subtipo es ser utilizable en un contexto en el que espera al super-
tipo) [Familiarizarse]
6. Usar mecanismos de encapsulacion orientada a objetos, tal como interfaces y miembros priva-
dos [Usar]
7. Denir y usar iteradores y otras operaciones sobre agregaciones, incluyendo operaciones que
tienen funciones como argumentos, en multiples lenguajes de programacion, selecionar la forma
mas natural por cada lenguaje [Usar]
Objetivos de Aprendizaje:
Core-Tier1:
1. Tanto para tipo primitivo y un tipo compuesto, describir de manera informal los valores que
tiene dicho tipo [Familiarizarse]
2. Para un lenguaje con sistema de tipos estatico, describir las operaciones que estan prohibidas de
forma estatica, como pasar el tipo incorrecto de valor a una funcion o metodo [Familiarizarse]
5. Dar un ejemplo de un programa que no verique tipos en un lenguaje particular y sin embargo
no tenga error cuando es ejecutado [Familiarizarse]
6. Usar tipos y mensajes de error de tipos para escribir y depurar programas [Usar]
Core-Tier2:
7. Explicar como las reglas de tipicacion denen el conjunto de operaciones que legales para un
tipo [Familiarizarse]
8. Escribir las reglas de tipo que rigen el uso de un particular tipo compuesto [Usar]
9. Explicar por que indecidibilidad requiere sistemas de tipo para conservadoramente aproximar el
comportamiento de un programa [Familiarizarse]
10. Denir y usar piezas de programas (tales como, funciones, clases, metodos) que usan tipos
genericos, incluyendo para colecciones [Usar]
11. Discutir las diferencias entre, genericos (generics), subtipo y sobrecarga [Familiarizarse]
Programas que tienen otros programas como entrada tales como interpretes, compiladores, re-
visores de tipos y generadores de documentacion.
Objetivos de Aprendizaje:
Core-Tier2:
1. Explicar como programas que procesan otros programas tratan a los otros programas como su
entrada de datos [Familiarizarse]
3. Describir los benecios de tener representaciones de programas que no sean cadenas de codigo
fuente [Familiarizarse]
4. Escribir un programa para procesar alguna representacion de codigo para algun proposito, tales
como un interprete, una expresion optimizada, o un generador de documentacion [Usar]
Revision de tipos.
Objetivos de Aprendizaje:
Elective:
1. Implementar analizadores sensibles al contexto y estaticos a nivel de fuente, tales como, verica-
dores de tipos o resolvedores de identicadores para identicar las ocurrencias de vinculo [Usar]
Seleccion de instrucciones.
Calendarizacion de instrucciones.
Asignacion de registros.
Objetivos de Aprendizaje:
Elective:
1. Identicar todos los pasos esenciales para convertir automaticamente codigo fuente en codigo
emsamblador o otros lenguajes de bajo nivel [Familiarizarse]
2. Generar codigo de bajo nivel para llamadas a funciones en lenguajes modernos [Usar]
3. Discutir por que la compilacion separada requiere convenciones de llamadas uniformes [Familia-
rizarse]
4. Discutir por que la compilacion separada limita la optimizacion debido a efectos de llamadas
desconocidas [Familiarizarse]
5. Discutir oportunidades para optimizacion introducida por la traduccion y enfoques para alcanzar
la optimizacion, tales como la seleccion de la instruccion, planicacion de instruccion, asignacion
de registros y optimizacion de tipo mirilla (peephole optimization) [Familiarizarse]
5. Explicar por que el aliasing potencial limita el analisis de tipos en los programas y como el
analisis de alias puede ayudar [Familiarizarse]
6. Usar los resultados de un analisis estatico para una optimizacion de un programa y/o la correc-
titud parcial de dicho programa [Usar]
Sistemas modulares.
Soporte de los lenguajes para vericacion de (assert), invariantes, pre y post condiciones.
Objetivos de Aprendizaje:
Elective:
2. Discutir como diversas construcciones de programacion avanzada tienen como objetivo mejorar
la estructura del programa, la calidad del software y la productividad del programador [Fami-
liarizarse]
Modelos de Actor.
Futuros.
Objetivos de Aprendizaje:
Elective:
Constructores de tipo composicional, como tipos de producto (para agregados), tipos de suma
(para uniones), tipos de funcion, tipos cuanticados y tipos recursivos.
Comprobacion de tipos.
Inferencia de tipos.
Sobrecarga estatica.
Objetivos de Aprendizaje:
Elective:
2. Para varias construcciones de tipo fundamental, identicar los valores que describen y las inva-
riantes que hacen que se cumplan [Familiarizarse]
3. Precisar las invariantes preservadas por un sistema de tipos seguro (sound type system) [Fami-
liarizarse]
Calculo Lambda.
Parametricidad.
Ref: 2.14.14 Sistemas de tipos, Pag. 112
Objetivos de Aprendizaje:
Elective:
2. Escribe un programa en calculo lambda y muestra su evaluacion hacia un forma normal [Usar]
4. Usa la induccion para demostrar las propiedades de todos los programas de un lenguaje [Usar]
5. Usa induccion para demostrar las propiedades de todos los programas de un lenguaje que es
bien tipado de acuerdo a un sistema formalmente denido de tipos [Usar]
7. Usa semanticas formales para construir un modelo formal de un sistema de software en vez de
un lenguaje de programacion [Usar]
Objetivos de Aprendizaje:
Elective:
2. Utiliza criterios objetivos y ntidos para evaluar las decisiones en el diseno de un lenguaje [Usar]
3. Da un ejemplo de un programa cuyo resultado puede diferir dado diversas reglas de orden de
evaluacion, precedencia, o asociatividad [Usar]
4. Muestra el uso de evaluacion con retraso, como en el caso de abstracciones denidas y controladas
por el usuario [Familiarizarse]
5. Discute la necesidad de permitir llamadas a librerias externas y del sistema y las consecuencias
de su implementacion en un lenguaje [Familiarizarse]
Al considerar las horas asignadas a cada unidad de conocimiento, cabe senalar que estas horas
reejan la cantidad mnima de cobertura de clase necesaria para introducir el material. Muchos de
los temas de desarrollo de software volveran a aparecer y ser completados por temas posteriores (por
ejemplo, aplicando estructuras iterativas al procesar listas). Ademas, el dominio de los conceptos y ha-
bilidades de esta area de conocimiento requiere una cantidad signicativa de experiencia en desarrollo
de software fuera de la clase
Tipos Abstractos de datos y sus implementaciones: 1. Pilas 2. Colas 3. Colas de prioridad 4. Con-
juntos 5. Mapas
Referencias y aliasing.
Listas enlazadas
Objetivos de Aprendizaje:
Core-Tier1:
2. Describe aplicaciones comunes para cada de las siguientes estructuras de datos: pila, cola, cola
de prioridad, conjunto y mapa [Familiarizarse]
3. Escribe programas que usen cada una de las siguientes estructuras de datos: arreglos, regis-
tros/estructuras, cadenas, listas enlazadas, pilas, colas, conjuntos, y mapas [Usar]
5. Describe como las referencias permiten que los objetos sean accesibles de diversas formas [Fa-
miliarizarse]
Comprension de programas.
Exactitud del programa. 1. Tipos de error (sintaxis, logica, tiempo de ejecucion) 2. El concepto de
la especicacion 3. Programacion defensiva (ejem., codicacion segura, manejo de excepciones)
4. Revision de codigo 5. Fundamentos de testing y generacion de casos de prueba 6. El rol y el
uso de contratos, incluyendo pre- y post- condiciones 7. Pruebas unitarias
Refactorizacion simple.
Estrategias de depuracion.
3. Identicar los errores de codicacion comunes que conducen a programas inseguros (por ejemplo,
desbordamientos de buer, perdidas de memoria, codigo malicioso) y aplicar estrategias para
evitar este tipo de errores [Usar]
4. Llevar a cabo una revision de codigo personal (centrado en los errores comunes de codicacion)
en un componente del programa utilizando una lista de vericacion [Usar]
5. Contribuir en un pequeno grupo para una revision de codigo centrada en la correccion de com-
ponentes [Usar]
8. Aplicar una variedad de estrategias para la prueba y depuracion de programas sencillos [Usar]
9. Contruir, ejecutar y depurar programas usando un IDE moderno y herramientas asociadas tales
como herramientas de pruebas de unidad y depuradores visuales [Usar]
10. Construir y depurar programas que utilizan las bibliotecas estandar disponibles con un lenguaje
de programacion elegido [Usar]
11. Analizar el grado en que el codigo de otro programador cumple con los estandares de documen-
tacion y de estilo de programacion [Evaluar]
12. Aplicar los estandares de documentacion y estilo de programacion que contribuyan a la legibili-
dad y mantenimiento de software [Usar]
Los estudiantes y los instructores tienen que entender los impactos de la especializacion en los
enfoques de ingeniera de software. Por ejemplo, los sistemas especializados incluyen:
1. Sistemas de tiempo real 2. Sistemas cliente-servidor 3. Sistemas distribuidos 4. Sistemas para-
lelas 5. sistemas basados ??en Web 6. Sistemas de alta integridad 7. Juegos 8. Computacion movil
9. Software de dominio especco (por ejemplo, la computacion cientca o aplicaciones de negocio)
Las cuestiones planteadas por cada uno de estos sistemas especializados exigen tratamientos espe-
ccos en cada fase de la ingeniera de software. Los estudiantes deben ser conscientes de las diferencias
entre las tecnicas y los principios de la ingeniera de software en general y las tecnicas y los principios
necesarios para abordar los problemas especcos de los sistemas especializados.
Un efecto importante de la especializacion es que se puede necesitara tomar decisiones diferentes
de material en la ensenanza de las aplicaciones de la ingeniera de software, como entre los diferentes
modelos de procesos, diferentes enfoques para los sistemas de modelamiento, o diferentes opciones
de tecnicas para llevar a cabo cualquiera de las actividades clave. Esto se reeja en la asignacion de
nucleo y el material electivo, con los temas basicos y los resultados de aprendizaje centrados en los
principios que subyacen a las distintas opciones, y los detalles de las diversas alternativas entre las
que hay que decidir el material electivo .
Otra division de las practicas de ingeniera de software es entre los interesados ??en la necesidad
fundamental de desarrollar sistemas que implementan correctamente la funcionalidad que se requiere,
los relacionados con otras cualidades de los sistemas y las compensaciones necesarias para equilibrar
estas cualidades. Esta division tambien se reeja en la asignacion de nucleo y el material electivo, por
lo que los temas y resultados de aprendizaje relacionados con los metodos basicos para el desarrollo
de tal sistema se asignan al nucleo y aquellos que se ocupan de otras cualidades y compensaciones
entre ellos estan asignados al material electivo.
En general, los estudiantes pueden aprender mejor a aplicar gran parte del material denido en
el Ingeniera Sofware, al participar en un proyecto. Tales proyectos deben exigir a los estudiantes a
trabajar en equipo para desarrollar un sistema de software a traves de la mayor cantidad de su ciclo
de vida como sea posible. Gran parte de la ingeniera de software se dedica a la comunicacion efectiva
entre los miembros del equipo y las partes interesadas. La utilizacion de los equipos de proyectos, los
proyectos pueden ser lo sucientemente desaantes para requerir a los estudiantes a utilizar tecnicas
de ingeniera de software efectivas para desarrollar y practicar sus habilidades de comunicacion. Si bien
la organizacion y realizacion de proyectos ecaces en el marco academico puede ser un reto, la mejor
manera de aprender a aplicar la teora de la ingeniera del software y el conocimiento esta en el entorno
practico de un proyecto. Las horas mnimas especicadas para algunas unidades de conocimiento en
este documento pueden aparecer insucientes para lograr los resultados del aprendizaje a nivel de
la aplicacion asociada. Se debe entender que estos resultados deben ser alcanzados a traves de la
experiencia del proyecto que incluso puede ocurrir mas adelante en el plan de estudios que cuando se
introducen los temas dentro de la unidad de conocimiento.
Ademas, cada vez hay mas evidencia de que los estudiantes aprenden a aplicar los principios de
ingeniera de software con mayor ecacia a traves de un enfoque iterativo, donde los estudiantes tienen
la oportunidad de trabajar a traves de un ciclo de desarrollo, evaluar su trabajo, y luego aplicar los
conocimientos adquiridos a traves de su evaluacion a otro ciclo de desarrollo. Modelos de ciclo de vida
agiles e iterativos inherentemente ofrecen tales oportunidades.
La terminologa del ciclo de vida del software en este documento se basa en la utilizada en las fuentes
anteriores, como el Cuerpo de Conocimiento de la Software Ingeniera (SWEBOK) y las Directrices
Curriculares ACM/IEEE-CS Software Engineering 2004 (SE2004). Mientras que algunos terminos se
denieron originalmente en el contexto de los procesos de desarrollo del plan impulsado, son tratados
aqu como generico y por lo tanto igualmente aplicable a procesos agiles.
Nota: La unidad de conocimiento 2.15.4 Metodos de Desarrollo, Pag. 117 incluye 9 horas Core
Tier1-que constituyen una introduccion a ciertos aspectos de la ingeniera de software. Las unidades
de conocimiento, los temas y las especicaciones basicas horas de esta area de Ingeniera de Software
deben ser entendidos como asumiendo una exposicion previa al material descrito en el 2.15.4 Metodos
de Desarrollo, Pag. 117.
Introduccion a modelos del proceso de software (e.g., cascada, incremental, agil): 1. Actividades
con ciclos de vida de software.
Core Tier2
Electivos
Mejoramiento de procesos.
Objetivos de Aprendizaje:
Core-Tier1:
1. Describa como el software puede interactuar y participar en varios sistemas, incluyendo la gestion
de informacion, integracion, control de procesos y sistemas de comunicaciones [Familiarizarse]
2. Describir las ventajas y desventajas relativas entre varios modelos importantes de procesos (por
ejemplo, la cascada, iterativo y agil) [Familiarizarse]
3. Describir las diferentes practicas que son componentes clave de los diversos modelos de proce-
sos [Familiarizarse]
5. Describir como la programacion en grandes equipos diere de esfuerzos individuales con respecto
a la comprension de una gran base de codigo, lectura de codigo, comprension de las construc-
ciones, y comprension de contexto de cambios [Familiarizarse]
Core-Tier2:
6. Explicar el concepto de ciclo de vida del software y proporcionar un ejemplo que ilustra sus fases
incluyendo los entregables que se producen [Familiarizarse]
7. Comparar varios modelos comunes de procesos con respecto a su valor para el desarrollo de las
clases particulares de sistemas de software, teniendo en cuenta diferentes aspectos tales como,
estabilidad de los requisitos, tamano y caractersticas no funcionales [Usar]
Elective:
8. Denir la calidad del software y describir el papel de las actividades de aseguramiento de la
calidad en el proceso de software [Familiarizarse]
9. Describir el objetivo y similitudes fundamentales entre los enfoques de mejora de procesos [Fa-
miliarizarse]
10. Comparar varios modelos de mejora de procesos, tales como CMM, CMMI, CQI, Plan-Do-Check-
Act, o ISO9000 [Evaluar]
11. Evaluar un esfuerzo de desarrollo y recomendar cambios potenciales al participar en la mejora
de procesos (usando un modelo como PSP) o involucracion en una retrospectiva de un proyec-
to [Usar]
12. Explicar el papel de los modelos de madurez de procesos en la mejora de procesos [Familiarizarse]
13. Describir varias metricas de procesos para la evaluacion y el control de un proyecto [Familiari-
zarse]
14. Usar las medidas en proyecto para describir el estado actual de un proyecto [Usar]
1. Discutir los comportamientos comunes que contribuyen al buen funcionamiento de un equipo [Fa-
miliarizarse]
2. Crear y seguir un programa para una reunion del equipo [Usar]
3. Identicar y justicar las funciones necesarias en un equipo de desarrollo de software [Usar]
4. Entender las fuentes, obstaculos y benecios potenciales de un conicto de equipo [Usar]
5. Aplicar una estrategia de resolucion de conictos en un ambiente de equipo [Usar]
6. Utilizar un metodo ad hoc para estimar el esfuerzo de desarrollo del software (ejemplo, tiempo)
y comparar con el esfuerzo actual requerido [Usar]
7. Listar varios ejemplos de los riesgos del software [Familiarizarse]
8. Describir el impacto del riesgo en el ciclo de vida de desarrollo de software [Familiarizarse]
9. Describir las diferentes categoras de riesgo en los sistemas de software [Familiarizarse]
Elective:
10. Demostrar a traves de la colaboracion de proyectos de equipo los elementos centrales de la
contruccion de equipos y gestion de equipos [Usar]
11. Describir como la eleccion de modelos de procesos afectan la estructura organizacional de equipos
y procesos de toma de decisiones [Familiarizarse]
12. Crear un equipo mediante la identicacion de los roles apropiados y la asignacion de funciones
a los miembros del equipo [Usar]
13. Evaluar y retroalimentar a los equipos e individuos sobre su desempeno en un ambiente de
equipo [Usar]
14. Usando un software particular procesar, describir los aspectos de un proyecto que encesita ser
planeado y monitoreado, (ejemplo, estimar el tamano y esfuerzo, un horario, reasignacion de
recursos, control de conguracion, gestion de cambios, identicacion de riesgos en un proyecto
y gestion) [Familiarizarse]
15. Realizar el seguimiento del progreso de alguna etapa de un proyecto que utiliza metricas de
proyectos apropiados [Usar]
16. Comparar las tecnicas simples de tamano de software y estimacion de costos [Usar]
17. Usar una herramienta de gestion de proyectos para ayudar en la asignacion y rastreo de tareas
en un proyecto de desarrollo de software [Usar]
18. Describir el impacto de la tolerancia de riesgos en el proceso de desarrollo de software [Evaluar]
19. Identicar riesgos y describir enfoques para manejar riesgos (evitar, aceptar, tranferir, mitigar)
y caracterizar fortalezas y defectos para cada uno [Familiarizarse]
20. Explicar como el riesgo afecta las decisiones en el proceso de desarrollo de software [Usar]
21. Identicar los riesgos de seguridad para un sistema de software [Usar]
22. Demostrar un enfoque sistematico para la tarea de identicar los peligros y riesgos en una
situacion particular [Usar]
23. Aplicar los principios basicos del manejo de riesgos en una variedad de escenarios simples inclu-
yendo una situacion de seguridad [Usar]
24. Dirigir un analisis de costo/benecio para el enfoque de mitigacion de riesgos [Usar]
25. Identicar y analizar alguno de los riesgos para un sistema entero que surgen de aspectos distintos
del software [Usar]
Administracion de despliegues.
Objetivos de Aprendizaje:
Core-Tier2:
2. Describir como el control de version puede ser usado para ayudar a manejar la administracion
de versiones del software [Familiarizarse]
5. Describir los aspectos que son importantes en la seleccion de un conjunto de herramientas para el
desarrollo de un sistema de software en particular, incluyendo herramientas para el seguimiento
de los requisitos, modelado de diseno, implementacion, construccion automatica y pruebas [Fa-
miliarizarse]
Al describir los requisitos funcionales utilizando, por ejemplo, los casos de uso o historias de los
usuarios.
11. Traducir al lenguaje natural una especicacion de requisitos de software (por ejemplo, un con-
trato de componentes de software) escrito en un lenguaje de especicacion formal [Usar]
12. Crear un prototipo de un sistema de software para reducir el riesgo en los requisitos [Usar]
13. Diferenciar entre el rastreo (tracing) hacia adelante y hacia atras y explicar su papel en el proceso
de validacion de requisitos [Familiarizarse]
2. Usar un paradigma de diseno para disenar un sistema de software basico y explicar como los
principios de diseno del sistema se han aplicado en este diseno [Usar]
3. Construir modelos del diseno de un sistema de software simple los cuales son apropiado para el
paradigma utilizado para disenarlo [Usar]
4. En el contexto de un paradigma de diseno simple, describir uno o mas patrones de diseno que
podran ser aplicables al diseno de un sistema de software simple [Familiarizarse]
Core-Tier2:
5. Para un sistema simple adecuado para una situacion dada, discutir y seleccionar un paradigma
de diseno apropiado [Usar]
7. Explicar las relaciones entre los requisitos para un producto de software y su diseno, utilizando
los modelos apropiados [Evaluar]
8. Para el diseno de un sistema de software simple dentro del contexto de un unico paradigma de
diseno, describir la arquitectura de software de ese sistema [Familiarizarse]
12. Describir una manera de refactorar y discutir cuando esto debe ser aplicado [Familiarizarse]
13. Seleccionar componentes adecuados para el uso en un diseno de un producto de software [Usar]
14. Explicar como los componentes deben ser adaptados para ser usados en el diseno de un producto
de software [Familiarizarse]
15. Disenar un contrato para un tpico componente de software pequeno para el uso de un dado
sistema [Usar]
Elective:
16. Discutir y seleccionar la arquitectura de software adecuada para un sistema de software simple
para un dado escenario [Usar]
17. Aplicar modelos de cualidades internas y externas en el diseno de componentes de software para
lograr un equilibrio aceptable entre los aspectos de calidad en conictos [Usar]
20. Explicar el papel de los objetos en los sistemas de middleware y la relacion con los componen-
tes [Familiarizarse]
21. Aplicar metodos orientado a componentes para el diseno de una amplia gama de software,
tales como el uso de componentes para la concurrencia y transacciones, para los servicios de
comunicacion conables, para la interaccion con la base de datos que incluye los servicios de
consulta remota y gestion de bases de datos, o para la comunicacion segura y el acceso [Usar]
22. Refactorizar una implementacion de software existente para mejorar algun aspecto de su dise-
no [Usar]
23. Determinar y aplicar los principios de mnimo privilegio y defectos-a prueba de errores [Fami-
liarizarse]
Normas de codicacion.
Estrategias de integracion.
Electivos
Los problemas de seguridad potenciales en los programas : 1. Buer y otros tipos de desborda-
mientos 2. Condiciones elemento Race 3. Inicializacion incorrecta, incluyendo la eleccion de los
privilegios 4. Entrada Comprobacion 5. Suponiendo exito y correccion 6. La validacion de las
hipotesis
Objetivos de Aprendizaje:
Core-Tier2:
5. Comparar y contrastar las estrategias de integracion incluyendo: de arriba hacia abajo (top-
down), de abajo hacia arriba (bottom-up), y la integracion Sandwich [Familiarizarse]
6. Describir el proceso de analizar e implementar los cambios a la base de codigo desarrollado para
un proyecto especco [Familiarizarse]
7. Describir el proceso de analizar e implementar los cambios a una gran base de codigo existen-
te [Familiarizarse]
Elective:
8. Reescribir un programa sencillo para eliminar vulnerabilidades comunes, tales como desborda-
mientos de buer, desbordamientos de enteros y condiciones de carrera [Usar]
9. Escribir un componente de software que realiza alguna tarea no trivial y es resistente a errores
en la entrada y en tiempo de ejecucion [Usar]
Seguimiento de defectos.
Limitaciones de testeo en dominios particulares, tales como sistemas paralelos o crticos en cuanto
a seguridad.
Electivos
Estimacion fallida y terminacion de las pruebas que incluye la envios por defecto.
Objetivos de Aprendizaje:
Core-Tier2:
2. Describir el papel que las herramientas pueden desempenar en la validacion de software [Fami-
liarizarse]
3. Realizar, como parte de una actividad de equipo, una inspeccion de un segmento de codigo de
tamano medio [Usar]
4. Describir y distinguir entre diferentes tipos y niveles de pruebas (unitaria, integracion, sistemas
y aceptacion) [Familiarizarse]
5. Describir tecnicas para identicar casos de prueba representativos para integracion, regresion y
pruebas del sistema [Familiarizarse]
Elective:
10. Evaluar un banco de pruebas (a test suite) para un segmento de codigo de tamano medio [Usar]
12. Identicar los principios fundamentales de los metodos de desarrollo basado en pruebas y explicar
el papel de las pruebas automatizadas en estos metodos [Familiarizarse]
13. Discutir los temas relacionados con las pruebas de software orientado a objetos [Usar]
14. Describir las tecnicas para la vericacion y validacion de los artefactos de no codigo [Familiari-
zarse]
16. Estimar el numero de fallos en una pequena aplicacion de software basada en la densidad de
defectos y siembra de errores [Usar]
17. Realizar una inspeccion o revision del de codigo fuente de un software para un proyecto de
software de tamano pequeno o mediano [Usar]
Evolucion de Software.
Sistemas de Reingeniera.
Objetivos de Aprendizaje:
Core-Tier2:
1. Identicar los problemas principales asociados con la evolucion del software y explicar su impacto
en el ciclo de vida del software [Familiarizarse]
2. Estimar el impacto del cambio de requerimientos en productos existentes de tamano medio [Usar]
1. Describir la especicacion formal del rol y tecnicas de analisis que pueden jugar en el desa-
rrollo de software complejo y comparar su uso como tecnicas de validacion y vericacion con
pruebas [Familiarizarse]
2. Aplicar especicacion formal y tecnicas de analisis para disenos de software y programas con
baja complejidad [Usar]
3. Explicar los benecios potenciales y desventajas de usar lenguajes de especicacion formal [Fa-
miliarizarse]
4. Crear y evaluar validaciones de programa para una variedad de comportamientos que van desde
lo simple hasta lo complejo [Usar]
Objetivos de Aprendizaje:
Core-Tier1:
1. Describir los calculos como un sistema que se caracteriza por un conjunto conocido de congu-
raciones con las transiciones de una conguracion (estado) a otra (estado) [Familiarizarse]
2. Describir la distincion entre sistemas cuya salida es solo una funcion de su entrada (combinacio-
nal) y los que tienen memoria/historia (secuencial) [Familiarizarse]
3. Describir una computadora como una maquina de estados que interpreta las instrucciones de la
maquina [Familiarizarse]
4. maquina de estados y que pueden existir representaciones alternativas para el mismo calculo [Fa-
miliarizarse]
Objetivos de Aprendizaje:
Core-Tier1:
2. Demostrar sobre una linea de tiempo de ejecucion que los eventos y operaciones paralelas pueden
tomar lugar simultaneamente (al mismo tiempo). Explicar como la carga de trabajo puede ser
realizada en menos tiempo si se explora el paralelismo [Familiarizarse]
3. Explicar otros usos del paralelismo, tales como la conabilidad/redundancia de la ejecucion [Fa-
miliarizarse]
4. Denir las diferencias entre los conceptos de Paralelismo a nivel de Instruccion, Paralelismo
a nivel de datos, Paralelimos/Multitareas a nivel de hebras, Paralelimos a nivel de Proce-
sos/Peticiones [Familiarizarse]
5. Escribir mas de un programa en paralelo (por ejemplo, un programa paralelo en mas de un pa-
radigma de programacion paralela; un programa paralelo que administre recursos compartidos a
traves de primitivas de sincronizacion; un programa paralelo que realiza operaciones simultaneas
sobre datos particionados a traves de paralelizacion de tareas/procesos (por ejemplo, busqueda
de terminos en paralelo; un programa que realiza paso a paso un procesamiento pipeline a traves
de paso de mensajes)) [Usar]
6. Usar herramientas de desempeno para medir el speed-up alcanzado por un programa paralelo en
terminos de tamano de los datos y numero de recursos [Evaluar]
La ecuacion CPI (Cycles per Instruction) como una herramienta para entender puntos de equi-
librio en el diseno de un conjunto de instrucciones, secuencia de ejecucion en un procesador y
organizacion de un sistema de memoria.
La ley de Amdahl: la parte de la computacion que no se puede acelerar limita el efecto de las
partes que si pueden.
Objetivos de Aprendizaje:
Core-Tier1:
1. Explique como los componentes de la arquitectura del sistema contribuyen a la mejora del
rendimiento [Familiarizarse]
Clases de recursos (p.e., unidad de procesador, memoria, disco, ancho de banda neto)
Objetivos de Aprendizaje:
Core-Tier2:
1. Denir como recursos computacionales limitados (por ejemplo, participacion de procesador, me-
moria, almacenamiento y ancho de banda) son gestionadas por una cuidadosa asignacion para
entidades existentes [Familiarizarse]
2. Describir los algoritmos de planicacion mediante el cual, recursos son asignados a entidades
competentes, y los factores de calidad por el cual se evaluan estos algoritmos, tal como equidad
(fairness) [Familiarizarse]
La velocidad de la luz y los computadores (un pie por nano segundo vs reloj de 1 GHz)
Memoria cache y coherencia de memoria cache en bases de datos, sistemas operativos, sistemas
distribudos y arquitectura de computadores.
Objetivos de Aprendizaje:
Core-Tier2:
2. Describir por que las cosas que estan cerca en espacio toman menos tiempo para su acceso [Fa-
miliarizarse]
Los niveles de indireccion, ilustrados por la memoria virtual para la gestion de los recursos de
memoria fsica.
Objetivos de Aprendizaje:
Core-Tier2:
1. Explicar por que es importante isolar y proteger la ejecucion de programas individuales y am-
bientes que comparten recursos subyacentes comunes [Familiarizarse]
2. Describa como el concepto de indireccion puede crear la ilusion de un equipo y recursos dedicados,
incluso cuando fsicamente este compartida entre varios programas y entornos [Familiarizarse]
Los estudiantes tambien tienen que desarrollar la capacidad de formular preguntas serias sobre el
impacto social de la computacion y de evaluar las respuestas propuestas a esas preguntas. Los futuros
profesionales deben ser capaces de anticipar el impacto de la introduccion de un producto dado en un
entorno determinado. Sera ese producto mejorar o degradar la calidad de vida? Cual sera el impacto
sobre los individuos, los grupos y las instituciones?
Por ultimo, los estudiantes deben ser conscientes de los derechos legales basicos de software y
hardware y los usuarios as como y tambien tienen que apreciar los valores eticos que son la base
de estos derechos. Los futuros profesionales deben entender la responsabilidad que van a llevar y
las posibles consecuencias del fracaso. Ellos deben comprender sus propias limitaciones, as como las
limitaciones de sus herramientas. Todos los profesionales deben hacer un compromiso a largo plazo
para permanecer al da en sus especialidades elegidas y en la disciplina de la computacion en su
conjunto.
Como los avances tecnologicos siguen afectando de manera signicativa la forma en que vivimos
y el trabajo, la importancia crtica de asuntos sociales y practica profesional continua aumentando;
nuevos productos basados en computadores y lugares plantean problemas cada vez mas difciles cada
ano. Son nuestros estudiantes que deben entrar en el mundo laboral y el mundo academico con el
objetivo de identicar y resolver estos problemas.
Los educadores de ciencia de la computacion pueden optar por ensenar este nucleo y el material
electivo en cursos independientes, integrados en cursos tecnicos y teoricos tradicionales, o como uni-
dades especiales en cursos de na de carrera y cursos de practica profesional. El material en esta area
esta mejor cubierto a traves de una combinacion de un curso obligartorio junto con modulos breves en
otros cursos. Por un lado, algunas unidades que guran como Core Tier-1 (en particular, el contexto
social, herramientas de analisis, la etica profesional y la propiedad intelectual) no se prestan facil-
mente a ser cubiertos en otros cursos tradicionales. Sin un curso independiente, es difcil cubrir estos
temas adecuadamente. Por otro lado, si las consideraciones eticas y sociales son cubiertas solamente
en el curso independiente y no en contexto, esto reforzara la falsa idea de que los procesos tecnicos no
necesitan de estas otras cuestiones pertinentes.
Debido a esta amplia relevancia, es importante que varios cursos tradicionales incluyan modulos
con estudios de casos que analizan los aspectos eticos, legales, sociales y profesionales en el contexto de
la materia tecnica del curso. Los cursos en areas como la ingeniera de software, bases de datos, redes
de computadores, y seguridad aseguramiento de la informacion y la introduccion a la computacion
proporcionan un contexto obvio para el analisis de cuestiones eticas. Sin embargo, un modulo relacio-
nado con la etica podra desarrollarse para casi cualquier curso en el currculo. Sera explcitamente
en contra del espritu de la recomendaciones tener solo un curso independiente. A lo largo de todos los
asuntos en esta area existe la necesidad de hablar con el profesional para que siempre enfrente estos
problemas desde la perspectiva moral y tecnica. Las cuestiones eticas discutidas en cualquier clase
deben surgen naturalmente de la materia objeto de esa clase. Los ejemplos incluyen una discusion
en el curso de base de datos de la agregacion de datos o minera de datos, o una discusion en el
curso de ingeniera de software de los posibles conictos entre las obligaciones para con el cliente y las
obligaciones para el usuario y otras personas afectadas por su trabajo. Asignaciones de programacion
construidas alrededor de aplicaciones tales controlar el movimiento de un laser durante la ciruga de
los ojos puede ayudar a hacer frente a los impactos profesionales, eticos y sociales de la computacion.
El cuerpo docente que no este familiarizados con el contenido y/o la pedagoga de la etica aplicada
debe aprovechar los recursos considerables de ACM, IEEE-CS, SIGCAS (grupo de interes especial en
las computadoras y la sociedad), y otras organizaciones.
Cabe senalar que la aplicacion de un analisis etico subyace en cada seccion de esta area de conoci-
miento. El Codigo ACM de Etica y Conducta Profesional (http://www.acm.org/about/code-of-ethics)
proporciona directrices que sirven como base para la realizacion de nuestro trabajo profesional. Los
imperativos morales generales proporcionan un mejor entendimiento de nuestro compromiso con la
responsabilidad personal, la conducta profesional y nuestros roles de liderazgo.
Core Tier2
A menudo se reere como la brecha digital, las diferencias en el acceso a los recursos de la
tecnologa digital y sus ramicaciones resultantes para el genero, la clase, la etnia, la geografa,
y/o los pases subdesarrollados.
Objetivos de Aprendizaje:
Core-Tier1:
1. Describir las formas positivas y negativas en las que la tecnologa computacional (redes, compu-
tacion movil, cloud computing) altera los modos de interaccion social en el plano personal [Fa-
miliarizarse]
Core-Tier2:
6. Discuta como el acceso a Internet sirve como una fuerza liberadora para las personas que viven
bajo las formas opresivas de gobierno; explicar la utilizacion los lmites al acceso a Internet como
herramientas de represion poltica y social [Familiarizarse]
Argumentacion etica.
Objetivos de Aprendizaje:
Core-Tier1:
1. Evaluar las posiciones de las partes interesadas en una situacion dada [Evaluar]
Elective:
Electivos
Objetivos de Aprendizaje:
Core-Tier1:
1. Escribe documentos tecnicos claros, concisos y exactos siguiendo estandares bien denidos para
su formato y para la inclusion de tablas, guras y referencias adecuadas [Usar]
2. Evalua documentacion tecnica escrita para detectar problemas de diversos tipos [Evaluar]
4. Interacciones del plan (por ejemplo, cara a cara, documentos compartidos virtuales) con otros
en los que son capaces de obtener su punto de vista, escuchar con atencion y apreciar los puntos
de los demas, incluso cuando no estan de acuerdo y son capaces de transmitir a los demas que
han odo [Usar]
5. Describir las fortalezas y debilidades de las diversas formas de comunicacion (por ejemplo, cara
a cara, documentos compartidos virtuales) [Familiarizarse]
6. Examinar las medidas adecuadas que se utilizan para comunicarse con las partes involucrados
en un proyecto [Usar]
7. Comparar y contrastar diversas herramientas de colaboracion [Evaluar]
Elective:
8. Discutir formas de inuir en el rendimiento y los resultados en equipos multi-culturales [Fami-
liarizarse]
9. Examine los puntos de equilibrio y las fuentes comunes de riesgo en proyectos relacionados
con el software de tecnologa, estructura/proceso, la calidad, la gente, el mercado y la parte
nanciera [Usar]
10. Evaluar las fortalezas y debilidades personales para trabajar de forma remota como parte de un
equipo multinacional [Evaluar]
Objetivos de Aprendizaje:
Core-Tier1:
Core-Tier2:
3. Describir los impactos ambientales de las opciones de diseno en el campo de la informatica que
se relacionan con el diseno de algoritmo, el diseno del sistema operativo, diseno de redes, diseno
de bases de datos, etc [Familiarizarse]
4. Investigar los impactos sociales y ambientales de los nuevos disenos de sistemas a traves de
proyectos [Usar]
Elective:
7. Investigar la computacion ubicua en areas como los sistemas inteligentes de energa, redes socia-
les, el transporte, la agricultura, los sistemas de la cadena de suministro, monitoreo ambiental
y el activismo ciudadano [Usar]
2.18.8. SP/Historia
La historia de la computacion nos provee de un camino de como los cambios rapidos en los impactos
computacionales en la sociedad y en escala global. esto amenudo se sabe en los conceptos fundamentales
al igual que los Fundamentos de Sistemas y los Fundamentos de desarrollo de software.
Topicos:
Electivos
Pioneros de la Computacion.
Historia de Internet.
Objetivos de Aprendizaje:
Elective:
4. Comparar la vida diaria antes y despues de la llegada de los ordenadores personales y el Inter-
net [Evaluar]
Captulo 3
Nivel
1xx = introductorio, 2xx = intermedio, 3xx = avanzado, 4xx = proyecto final de carrera
El tipo de curso esta determinado por sus 2 primeras letras. Los posibles codigos para estos tipos
son:
1. CS Area de Ciencia de la Computacion (Computer Science);
2. MA Matematicas (MA);
150
La relacion de cursos se muestra a continuacion:
Primer Semestre
Codigo Curso Area HT HP HL Cr T Requisitos
CS111 Programacion de Video Juegos (Pag. 163) AF 2 2 2 4 O
CS1D1 Estructuras Discretas I (Pag. 168) AF 2 4 4 O
Segundo Semestre
Codigo Curso Area HT HP HL Cr T Requisitos
CS100 Introduccion de Ciencia de la Computacion (Pag. 183) AF 2 2 3 O
CS1D2 Estructuras Discretas II (Pag. 185) AF 2 2 2 4 O CS1D1 (1er Sem)
CS112 Ciencia de la Computacion I (Pag. 188) AF 2 2 4 5 O CS111 (1er Sem)
MA101 Matematica II (Pag. 193) AB 2 4 4 O MA100 (1er Sem)
FG104 Introduccion a la Filosofa (Pag. 198) AC 3 3 O
FG112 Persona, Matrimonio y Familia (Pag. 195) AC 1 2 2 E
FG105 Apreciacion Musical (Pag. 201) AC 1 2 2 E
21
Universidad Catolica San Pablo
Cuarto Semestre
Codigo Curso Area HT HP HL Cr T Requisitos
CS210 Algoritmos y Estructuras de Datos (Pag. 235) AF 2 2 2 4 O CS113 (3er Sem), CS100 (2do Sem)
CS211 Teora de la Computacion (Pag. 237) AF 2 2 2 4 O CS1D2 (2do Sem)
CS271 Bases de Datos I (Pag. 240) AF 2 4 4 O CS1D3 (3er Sem)
MA201 Calculo II (Pag. 245) AB 2 4 4 O MA101 (2do Sem), MA102 (3er Sem)
MA203 Estadstica y Probabilidades (Pag. 248) AB 2 2 2 4 O MA102 (3er Sem)
FG204 Teologa (Pag. 251) AC 1 2 2 O FG107 (3er Sem)
22
Quinto Semestre
Codigo Curso Area HT HP HL Cr T Requisitos
CS272 Bases de Datos II (Pag. 254) AF 1 2 2 3 O CS271 (4to Sem), Ingles(300)
CS291 Ingeniera de Software I (Pag. 258) AF 2 2 2 4 O CS113 (3er Sem), CS271 (4to Sem)
CS212 Analisis y Diseno de Algoritmos (Pag. 263) AF 2 2 2 4 O CS210 (4to Sem)
CB111 Fsica Computacional (Pag. 267) AB 2 2 2 4 O MA102 (3er Sem)
MA306 Analisis Numerico (Pag. 271) AB 1 2 2 3 O MA201 (4to Sem)
FG106 Teatro (Pag. 274) AC 1 2 2 O
FG210 Moral (Pag. 277) AC 1 2 2 O FG204 (4to Sem)
151
151
22
152
152
Sexto Semestre
Codigo Curso Area HT HP HL Cr T Requisitos
CS311 Programacion Competitiva (Pag. 280) AF 2 2 2 4 O CS212 (5to Sem)
CS312 Estructuras de Datos Avanzadas (Pag. 282) AF 2 2 2 4 O CS212 (5to Sem)
CS2S1 Sistemas Operativos (Pag. 285) AF 2 2 2 4 O CS221 (3er Sem)
CS292 Ingeniera de Software II (Pag. 291) AF 2 2 2 4 O CS291 (5to Sem)
MA307 Matematica aplicada a la computacion (Pag. 296) AB 2 2 2 4 O MA201 (4to Sem)
FG203 Oratoria (Pag. 299) AC 1 2 2 O FG106 (5to Sem)
22
Septimo Semestre
Codigo Curso Area HT HP HL Cr T Requisitos
Octavo Semestre
Codigo Curso Area HT HP HL Cr T Requisitos
CS281 Computacion en la Sociedad (Pag. 329) AF 2 2 O FG210 (5to Sem)
CS342 Compiladores (Pag. 334) AF 2 2 2 4 O CS341 (7mo Sem)
CS3I1 Seguridad en Computacion (Pag. 337) AE 1 2 2 3 O CS231 (7mo Sem)
CS2H1 Interaccion Humano Computador (Pag. 344) AE 1 2 2 3 O CS251 (7mo Sem)
CS402 Proyecto de Final de Carrera I (Pag. 349) AF 2 2 3 O CS401 (7mo Sem)
CS3P1 Computacion Paralela y Distribuda (Pag. 351) AF 2 2 2 4 O CS212 (5to Sem), CS231 (7mo Sem)
FG205 Historia de la Cultura (Pag. 355) AC 3 3 O
22
Universidad Catolica San Pablo
Decimo Semestre
Codigo Curso Area HT HP HL Cr T Requisitos
CS3P2 Cloud Computing (Pag. 385) AE 1 2 2 3 O CS370 (9no Sem)
CS404 Proyecto de Final de Carrera III (Pag. 394) AF 2 2 3 O CS403 (9no Sem)
CS393 Sistemas de Infomacion (Pag. 389) AE 2 2 2 4 E CS292 (6to Sem)
CS362 Robotica (Pag. 391) AE 2 4 4 E CS361 (9no Sem)
FG211 Etica Profesional (Pag. 396) AC 3 3 O FG301 (9no Sem)
FG220 Analisis de la Realidad Peruana (Pag. 399) AC 3 3 O FG221 (9no Sem)
ET301 Formacion de Empresas de Base Tecnologica II AC 2 2 3 O ET201 (9no Sem)
(Pag. 402)
ID101 Ingles tecnico profesional (Pag. 405) AC 2 2 3 O
22
153
154 Escuela Profesional de Ciencia de la Computacion, Malla 2016
CS (144)
65.1 % CB (4)
ET (6)
1.8
2.7 %
%
22.6 %
15.8 % FG (50)
MA (35)
Figura 3.2: Distribucion de cursos por areas considerando creditaje.
AF AE AB AC
Primer Semestre 11 8 3 22
Segundo Semestre 12 4 5 21
Tercer Semestre 13 4 5 22
Cuarto Semestre 12 8 2 22
Quinto Semestre 11 7 4 22
Sexto Semestre 16 4 2 22
Septimo Semestre 14 6 2 22
Octavo Semestre 13 6 3 22
Noveno Semestre 3 11 8 22
Decimo Semestre 3 7 12 22
Total 108 30 35 46 219
49.3 % 13.6 % 15.9 % 21 %
Introductorio (64)
29.7 %
23.7 %
Avanzado (51)
156
Este documento tambien puede ser analizado desde el punto de vista de los prerequisitos de forma graca.
MA100
MA101
CS1D1
CS1D2
FG102
FG101
FG103
FG112
FG104
FG105
CS111
CS100
CS112
Habilidad o Competencia/Curso
a) Aplicar conocimientos de computacion y de matematicas. 2 3 3 1 1 3 3
b) Analizar problemas e identicar y denir los requerimientos computacionales. 2 1
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa 2 3
computacional.
d) Trabajar efectivamente en equipos. 2
e) Entender las implicancias profesionales, eticas, legales, de seguridad y sociales. 1 1 2
f) Comunicarse efectivamente. 2
g) Analizar el impacto local y global de la computacion. 1 3
h) Aprender de forma continua. 2 2 1 1
i) Utilizar tecnicas y herramientas actuales. 2 3 1 2
j) Aplicar matematica, algoritmos y la teora de la CS en el modelamiento y diseno 3 3 1 3
de sistemas.
k) Aplicar los principios de desarrollo y diseno en software de complejidad variable. 1
l) Desarrollar principios de investigacion con nivel internacional. 1
m) Transformar sus conocimientos en emprendimientos tecnologicos.
n) Aplicar conocimientos de humanidades en su labor profesional. 2 1 2 2
n) Comprender que la formacion humana contribuye al autentico crecimiento perso- 1 2 2 2
nal.
o) Poner la tecnologa al servicio del ser humano. 1 2
157
158
158
Tercer Sem Cuarto Sem
MA102
MA201
MA203
CS1D3
CS2B1
FG107
FG201
FG202
FG204
CS113
CS221
CS210
CS211
CS271
Habilidad o Competencia/Curso
a) Aplicar conocimientos de computacion y de matematicas. 2 3 3 2 3 3 2
b) Analizar problemas e identicar y denir los requerimientos computacionales. 2 2 2 3 2
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa 2 2
computacional.
d) Trabajar efectivamente en equipos. 2 2 2
e) Entender las implicancias profesionales, eticas, legales, de seguridad y sociales. 3 2
f) Comunicarse efectivamente. 2
g) Analizar el impacto local y global de la computacion. 2 3
h) Aprender de forma continua.
i) Utilizar tecnicas y herramientas actuales. 2 3 2 3 2
MA306
MA307
CB111
FG106
FG210
FG203
CS2S1
CS272
CS291
CS212
CS311
CS312
CS292
Habilidad o Competencia/Curso
a) Aplicar conocimientos de computacion y de matematicas. 3 1 3 2 1 1
b) Analizar problemas e identicar y denir los requerimientos computacionales. 4 2 3 2 2 3 2
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa 2 1 2
computacional.
d) Trabajar efectivamente en equipos.
e) Entender las implicancias profesionales, eticas, legales, de seguridad y sociales. 3 2 1
f) Comunicarse efectivamente. 2 2 2 2
g) Analizar el impacto local y global de la computacion. 3
h) Aprender de forma continua. 2 2
i) Utilizar tecnicas y herramientas actuales. 3 3 2 1 3 2 3 1
j) Aplicar matematica, algoritmos y la teora de la CS en el modelamiento y diseno 3 2 4 2 1 2
de sistemas.
k) Aplicar los principios de desarrollo y diseno en software de complejidad variable. 2 2
l) Desarrollar principios de investigacion con nivel internacional.
m) Transformar sus conocimientos en emprendimientos tecnologicos.
n) Aplicar conocimientos de humanidades en su labor profesional. 2
n) Comprender que la formacion humana contribuye al autentico crecimiento perso- 2 2 2
nal.
o) Poner la tecnologa al servicio del ser humano.
159
160
160
Septimo Sem Octavo Sem
CS2H1
CS3P1
FG350
FG205
CS251
CS391
CS231
CS261
CS401
CS341
CS281
CS342
CS402
CS3I1
Habilidad o Competencia/Curso
a) Aplicar conocimientos de computacion y de matematicas. 2 2 1 2 3 2 2 2
b) Analizar problemas e identicar y denir los requerimientos computacionales. 2 1 1 2 3 3 1 3 2
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa 2 2 1 3 3 2
computacional.
d) Trabajar efectivamente en equipos. 2 2 2
CS3P2
CB309
FG221
FG301
ET201
FG211
FG220
ET301
CS392
CS403
CS361
CS370
CS351
CS393
CS362
CS404
ID101
Habilidad o Competencia/Curso
a) Aplicar conocimientos de computacion y de matematicas. 3 2 2 2 2 2 2 3
b) Analizar problemas e identicar y denir los requerimientos 3 2 2 3 2 2 3
computacionales.
c) Disenar, implementar y evaluar un sistema, proceso, compo- 2 3 2 3
nente o programa computacional.
d) Trabajar efectivamente en equipos. 2 2 2
e) Entender las implicancias profesionales, eticas, legales, de se- 3 2 3 2
guridad y sociales.
f) Comunicarse efectivamente. 3 3 3 2 2
g) Analizar el impacto local y global de la computacion. 3
h) Aprender de forma continua. 3 2 1 3
i) Utilizar tecnicas y herramientas actuales. 2 3 2 2 2 2 2 2 2 3 2
j) Aplicar matematica, algoritmos y la teora de la CS en el mo- 3 3 2 2 2
delamiento y diseno de sistemas.
k) Aplicar los principios de desarrollo y diseno en software de 3 3
complejidad variable.
l) Desarrollar principios de investigacion con nivel internacional. 3 1 3
m) Transformar sus conocimientos en emprendimientos tecnolo- 3 3 3
gicos.
n) Aplicar conocimientos de humanidades en su labor profesional. 2 2 2
n) Comprender que la formacion humana contribuye al autentico 3 2
crecimiento personal.
o) Poner la tecnologa al servicio del ser humano. 2 2 2
161
162 Escuela Profesional de Ciencia de la Computacion, Malla 2016
Referencias Bibliograficas
[ACM and IEEE-CS, 2005] ACM and IEEE-CS (2005). Computing Curricula: Information Techno-
logy. Technical report, ACM, IEEE-CS.
[ACM/IEEE-CS Joint Task Force on Computing Curricula, 2013] ACM/IEEE-CS Joint Task Force
on Computing Curricula (2013). Computer science curricula 2013. Technical report, ACM Press
and IEEE Computer Society Press.
[Daz-Herrera and Hilburn, 2004] Daz-Herrera, J. L. and Hilburn, T. B. (2004). Software engineering:
Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering. Technical
report, ACM, IEEE. Last visit June 2004.
[Gorgone et al., 2002b] Gorgone, J. T., Gray, P., Feinstein, D., Kasper, G. M., Luftman, J. N., Stohr,
E. A., Valacich, J. S., and Wigand, R. (2002b). Model Curriculum and Guidelines for Graduate
Degree Programs in Information Systems. Communications of the Association for Information
Systems (CAIS)), 3(1).
[IEEE, 2013] IEEE (2013). IEEE common nomenclature for computing related programs in latin
america. Technical report, IEEE R9.
[Shakelford et al., 2005] Shakelford, R., Cross, J. H., Davies, G., Impagliazzo, J., Kamali, R., LeBlanc,
R., Lunt, B., McGettrick, A., Sloan, R., and Topi, H. (2005). Computing curricula 2005. Technical
report, ACM/IEEE, http://www.acm.org/education.
[Soldan et al., 2004] Soldan, D., Aylor, J., Clements, A., Engel, G., Hoelzeman, R., Hughes, E. A.,
Hughes, J. L., Impagliazzo, J., Jaeger, R. C., Klenke, R., Lyon, D. A., McGettrick, A., Nelson,
V. P., Neebel, D. J., Page, I., Peterson, G. D., Ranganathan, N., Sloan, R., Srimani, P. K., Theys,
M. D., Wolf, W., and Varanasi, M. (2004). Computer Engineering: Curriculum Guidelines for
Undergraduate Degree Programs in Computer Engineering. Technical report, ACM, IEEE-CS.
Last visited June 2004.
[Topi et al., 2010] Topi, H., Valacich, J. S., Wright, R. T., Kaiser, K. M., Nunamaker Jr., J., Sipior,
J. C., and de Vreede, G. (2010). Curriculum guidelines for undergraduate degree programs in
information systems. Technical report, ACM Press and AIS Press.
Captulo 4
2. Fundamentacion
Este es el primer curso en la secuencia de los cursos introductorios a la Ciencia de la Computacion.
En este curso se pretende cubrir los conceptos senalados por la Computing Curricula IEEE-CS/ACM
2013, bajo el enfoque orientado a objetos. La programacion es uno de los pilares de la Ciencia de la
Computacion; cualquier profesional del Area, necesitara programar para concretizar sus modelos y
propuestas. Este curso introducion a los participantes en los conceptos fundamentales de este arte. Lo
topicos incluyen tipos de datos, estructuras de control, funciones, listas, recursividad y la mecanica de
la ejecucion, prueba y depuracion.
3. Objetivos del curso
Introducir los conceptos fundamentales de programacion durante la construccion de un video
juego
Desarrollar su capacidad de abstraccion, utilizar un lenguaje de programacion orientado a obje-
tos.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Usar)
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa computacional para
alcanzar las necesidades deseadas. (Usar)
i) Utilizar tecnicas y herramientas actuales necesarias para la practica de la computacion. (Usar)
k) Aplicar los principios de desarrollo y diseno en la construccion de sistemas de software de com-
plejidad variable. (Familiarizarse)
C2. Capacidad para tener una perspectiva crtica y creativa para identicar y resolver problemas
utilizando el pensamiento computacional. Outcome b
C4. Una comprension del hardware de la computadora desde la perspectiva del software, por ejemplo,
el uso del procesador, memoria, unidades de disco, pantalla, etc Outcome i
Topicos: I: Pre-historia El mundo antes de 1946. II: Historia del hardware, software, redes. III: Pio-
neros de la Computacion. IV: Historia de Internet.
Topicos: I: Tipos como conjunto de valores junto con un conjunto de operaciones. a) Tipos primitivos
(p.e. numeros, booleanos) b) Composicion de tipos construidos de otros tipos (p.e., registros,
uniones, arreglos, listas, funciones, referencias) II: Asociacion de tipos de variables, argumentos,
resultados y campos. III: Tipo de seguridad y los errores causados ??por el uso de valores de
manera incompatible dadas sus tipos previstos.
Objetivos de Aprendizaje I: Tanto para tipo primitivo y un tipo compuesto, describir de manera
informal los valores que tiene dicho tipo[Familiarizarse] II: Para un lenguaje con sistema de
tipos estatico, describir las operaciones que estan prohibidas de forma estatica, como pasar el
tipo incorrecto de valor a una funcion o metodo[Familiarizarse] III: Describir ejemplos de errores
de programa detectadas por un sistema de tipos[Familiarizarse] IV: Para multiples lenguajes
de programacion, identicar propiedades de un programa con vericacion estatica y propiedades
de un programa con vericacion dinamica[Usar] V: Usar tipos y mensajes de error de tipos
para escribir y depurar programas[Usar] VI: Denir y usar piezas de programas (tales como,
funciones, clases, metodos) que usan tipos genericos, incluyendo para colecciones[Usar]
Topicos: I: Sintaxis y semantica basica de un lenguaje de alto nivel. II: Variables y tipos de datos
primitivos (ej., numeros, caracteres, booleanos) III: Expresiones y asignaciones. IV: Operaciones
basicas I/O incluyendo archivos I/O. V: Estructuras de control condicional e iterativas. VI: Paso
de funciones y parametros. VII: Concepto de recursividad.
Topicos: I: Diferencias entre el mejor, el esperado y el peor caso de un algoritmo. II: Denicion
formal de la Notacion Big O. III: Clases de complejidad como constante, logartmica, lineal,
cuadratica y exponencial. IV: Uso de la notacion Big O. V: Analisis de algoritmos iterativos y
recursivos.
Objetivos de Aprendizaje I: Explique a que se reere con mejor, esperado y peor caso de
comportamiento de un algoritmo[Familiarizarse] II: En el contexto de a algoritmos especcos,
identique las caractersticas de data y/o otras condiciones o suposiciones que lleven a diferen-
tes comportamientos[Familiarizarse] III: Indique la denicion formal de Big O[Familiarizarse]
IV: Use la notacion formal de la Big O para dar lmites superiores asintoticos en la complejidad
de tiempo y espacio de los algoritmos[Usar] V: Usar la notacion formal Big O para dar lmites
de casos esperados en el tiempo de complejidad de los algoritmos[Usar]
Topicos: I: Algoritmos numericos simples, tales como el calculo de la media de una lista de numeros,
encontrar el mnimo y maximo. II: Algoritmos de busqueda secuencial y binaria. III: Algoritmos
de ordenamiento de peor caso cuadratico (seleccion, insercion) IV: Algoritmos de ordenamien-
to con peor caso o caso promedio en O(N lg N) (Quicksort, Heapsort, Mergesort) V: Tablas
Hash, incluyendo estrategias para evitar y resolver colisiones. VI: Arboles de busqueda binaria:
a) Operaciones comunes en arboles de busqueda binaria como seleccionar el mnimo, maximo,
insertar, eliminar, recorrido en arboles. VII: Grafos y algoritmos en grafos: a) Representacion
de grafos (ej., lista de adyacencia, matriz de adyacencia) b) Recorrido en profundidad y ampli-
tud VIII: Montculos (Heaps) IX: Grafos y algoritmos en grafos: a) Algoritmos de la ruta mas
corta (algoritmos de Dijkstra y Floyd) b) Arbol de expansion mnima (algoritmos de Prim y
Kruskal) X: Busqueda de patrones y algoritmos de cadenas/texto (ej. busqueda de subcadena,
busqueda de expresiones regulares, algoritmos de subsecuencia comun mas larga)
factores otros que no sean eciencia computacional que inuyan en la eleccion de algoritmos, tales
como tiempo de programacion, mantenibilidad, y el uso de patrones especcos de la aplicacion
en los datos de entrada[Familiarizarse] VII: Explicar como el balanceamiento del arbol afecta la
eciencia de varias operaciones de un arbol de busqueda binaria[Familiarizarse] VIII: Resolver
problemas usando algoritmos basicos de grafos, incluyendo busqueda por profundidad y busqueda
por amplitud[Usar] IX: Demostrar habilidad para evaluar algoritmos, para seleccionar de un
rango de posibles opciones, para proveer una justicacion por esa seleccion,y para implementar
el algoritmo en un contexto en especco[Evaluar] X: Describir la propiedad del heap y el uso de
heaps como una implementacion de colas de prioridad[Familiarizarse] XI: Resolver problemas
usando algoritmos de grafos, incluyendo camino mas corto de una sola fuente y camino mas
corto de todos los pares, y como mnimo un algoritmo de arbol de expansion minima[Usar]
XII: Trazar y/o implementar un algoritmo de comparacion de string[Usar]
Bibliografa: [Guttag, 2013, Zelle, 2010]
una funcion por cada operacion con el cuerdo de la funcion proporcionando un caso por cada
variacion de dato - y (2) el enfoque orientado a objetos - deniendo una clase por cada variacion
de dato con la denicion de la clase proporcionando un metodo por cada operacion. Entender
ambos enfoques como una denicion de variaciones y operaciones de una matriz[Familiarizarse]
IV: Explicar la relacion entre la herencia orientada a objetos (codigo compartido y overriding)
y subtipicacion (la idea de un subtipo es ser utilizable en un contexto en el que espera al
supertipo)[Familiarizarse] V: Usar mecanismos de encapsulacion orientada a objetos, tal como
interfaces y miembros privados[Familiarizarse]
7. Bibliografa
[Brookshear, 2011] Brookshear, J. G. (2011). Computer Science: An Overview. Addison-Wesley.
[Guttag, 2013] Guttag, J. V. (2013). . Introduction To Computation And Programming Using Python.
MIT Press.
[Zelle, 2010] Zelle, J. (2010). Python Programming: An Introduction to Computer Science. Franklin,
Beedle & Associates Inc.
Prerrequisitos: Ninguno
2. Fundamentacion
Las estructuras discretas proporcionan los fundamentos teoricos necesarios para la computacion.
Dichos fundamentos no son solo utiles para desarrollar la computacion desde un punto de vista teorico
como sucede en el curso de teora de la computacion, sino que tambien son utiles para la practica de
la computacion; en particular en se aplica en areas como vericacion, criptografa, metodos formales,
etc.
Modelar situaciones reales descritas en el lenguaje natural, usando logica proposicional y logica
de predicados.
Escoger el metodo de demostracion mas adecuado para determinar la veracidad de una propo-
sicion y construir argumentos matematicos correctos.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome i,j
apropiado uso de cada uno[Evaluar] VII: Enunciar el principio del buen-orden y su relacion
con la induccion matematica[Familiarizarse]
Bibliografa: [Rosen, 2007, Epp, 2010, Scheinerman, 2012]
7. Bibliografa
[Epp, 2010] Epp, S. S. (2010). Discrete Mathematics with Applications. 4 ed. edition.
[Grimaldi, 2003] Grimaldi, R. (2003). Discrete and Combinatorial Mathematics: An Applied Intro-
duction. Pearson, 5 ed. edition.
[Rosen, 2007] Rosen, K. H. (2007). Discrete Mathematics and Its Applications. 7 ed. edition.
[Scheinerman, 2012] Scheinerman, E. R. (2012). Mathematics: A Discrete Introduction. 3 ed. edition.
2. Fundamentacion
Un aspecto muy importante en el nivel universitario lo constituye el calculo diferencial, aspecto que
constituye la piedra angular de las posteriores asignaturas de matematicas as como de la utilidad de la
matematica en la solucion de problemas aplicados a la ciencia y la tecnologa. Cualquier profesional con
rango universitario debe por lo tanto tener conocimiento amplio de esta asignatura, pues se convertira
en su punto de partida para los intereses de su desarrollo profesional; as tambien sera soporte para
no tener dicultades en las asignaturas de matematica y fsica de toda la carrera.
3. Objetivos del curso
Asimilar y manejar los conceptos de funcion, sucesion y relacionarlos con los de lmites y conti-
nuidad.
Describir, analizar, disenar y formular modelos continuos que dependan de una variable.
Conocer y manejar la propiedades del calculo diferencial y aplicarlas a la resolucion de problemas.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
j) Aplicar la base matematica, principios de algoritmos y la teora de la Ciencia de la Computacion en
el modelamiento y diseno de sistemas computacionales de tal manera que demuestre comprension
de los puntos de equilibrio involucrados en la opcion escogida. (Evaluar)
7. Bibliografa
[Finney, 1998] Finney, T. (1998). Calculo una variable. Edit. Addison Wesley Longman.
[Leithold, 2000] Leithold, L. (2000). El Calculo. Oxford University Press.
[Stewart, 2007] Stewart, J. (2007). Calculo de una variable. Thomson Editores.
Prerrequisitos: Ninguno
2. Fundamentacion
Los alumnos en formacion profesional necesitan mejorar su actitud frente al trabajo y exigencia
academicos. Ademas conviene que entiendan el proceso mental que se da en el ejercicio del estudio para
lograr el aprendizaje; as sabran donde y como hacer los ajustes mas convenientes a sus necesidades.
Asimismo, requieren dominar variadas formas de estudiar, para que puedan seleccionar las estrategias
mas convenientes a su personal estilo de aprender y a la naturaleza de cada asignatura. De igual
modo conocer y usar maneras de buscar informacion academica y realizar trabajos creativos de tipo
academico formal, as podran aplicarlos a su trabajo universitario, haciendo exitoso su esfuerzo.
4. Resultados (Outcomes)
d) Trabajar efectivamente en equipos para cumplir con un objetivo comun. (Usar)
Topicos: I: El subrayado. II: Toma de puntes. III: La vocacion, habitos de la vida universita-
ria. IV: Interaccion humana. V: La voluntad como requisito para el aprendizaje. VI: La
planticacion y el tiempo
Bibliografa: [? line:39 ]
Topicos: I: Resumen. Notas al margen. Nemotecnias. II: Procesos mentales: Simples, complejos.
Fundamentos del aprendizaje signicativo. III: Los pasos o factores para el aprendizaje. Leyes
del aprendizaje. Cuestionario de estilos de aprendizaje Identicacion del estilo de aprendizaje
personal IV: La lectura academica. Niveles de analisis de un texto: idea central, idea principal
e ideas secundarias. El modelo de Meza de Vernet. V: Examenes: Preparacion. Pautas y estra-
tegias para antes, durante y despues de un examen. Inteligencia emocional y examenes. VI: Las
fuentes de informacion. Aparato crtico: concepto y nalidad. Normas Vancouver. Referencias y
citas.
Topicos: I: Los mapas conceptuales. Caractersticas y elementos. II: Los derechos de autor y el
plagio. Derechos personales o morales. Derechos patrimoniales. Copyrigth. III: Autoesti-
ma, Inteligencia Emocional, Asertividad y Resiliencia. Conceptos, desarrollo y fortalecimiento.
IV: Aparato crtico: Normas Vancouver. Aplicacion practica. V: Generacion de ideas. Estra-
tegias para organizar las ideas, redaccion y revision.
Topicos: I: Cuadro Sinoptico. Los mapas mentales. Practicas con la tematica del curso. II: El
metodo personal de estudio. III: El aprendizaje cooperativo: denicion, los grupos de estudio,
organizacion, roles de los miembros. IV: Pautas para conformar grupos ecientes y armonicos.
V: El metodo personal de estudio.Reforzamiento de tecnicas de estudio. VI: Presentacion y
exposicion de trabajos de produccion intelectual. VII: El debate y la argumentacion.
7. Bibliografa
[Chavez, 2011] Chavez, A. (2011). Se necesita un tutor. UCSP.
[Perez, 2010] Perez, A. (2010). Teora del Derecho. Editorial Madrid.
[Quintana, ] Quintana, V. El estudio Universitario y elementos de investigacion cientca.
[Rodrguez, ] Rodrguez, J. Gua para el metodo de estudio universitario.
[Velazco, 1999] Velazco, M. F. (1999). Mapas conceptuales en el aula. Ed. San Marcos.
2. Fundamentacion
Para lograr una ecaz comunicacion en el ambito personal y profesional, es prioritario el manejo
adecuado de la Lengua en forma oral y escrita. Se justica, por lo tanto, que los alumnos de la Uni-
versidad Catolica San Pablo conozcan, comprendan y apliquen los aspectos conceptuales y operativos
de su idioma, para el desarrollo de sus habilidades comunicativas fundamentales: Escuchar, hablar,
leer y escribir. En consecuencia el ejercicio permanente y el aporte de los fundamentos contribuyen
grandemente en la formacion academica y, en el futuro, en el desempeno de su profesion
3. Objetivos del curso
Desarrollar capacidades comunicativas a traves de la teora y practica del lenguaje que ayuden
al estudiante a superar las exigencias academicas del pregrado y contribuyan a su formacion
humanstica y como persona humana.
4. Resultados (Outcomes)
f ) Comunicarse efectivamente con audiencias diversas. (Usar)
h) Incorporarse a un proceso de aprendizaje profesional continuo. (Usar)
n) Aplicar conocimientos de humanidades en su labor profesional. (Usar)
Topicos: I: Parrafo: Idea principal, secundaria y global. II: El texto: denicion, caractersticas.
Cohesion y coherencia. III: Organizacion del texto: La referencia (deixis); anafora, catafora,
elipsis. Conectores logicos y textuales. IV: Tipos de texto: descriptivo (procesos), expositivo,
argumentativo. V: Funciones de elocucion en el texto: generalizacion, identicacion, nomina-
lizacion, clasicacion, ejemplicacion, denicion. VI: Textos discontinuos: gracos, tablas y
diagramas. VII: Busqueda de informacion. Fuentes de informacion. Referencias y citas. Regis-
tro de informacion: chas, notas, resumenes, etc. Aparato crtico: concepto y nalidad. Normas
APA u otro.
7. Bibliografa
[de la Lengua Espanola, 2010] de la Lengua Espanola, R. A. (2010). Nueva gramatica de la lengua
espanola, morfologa y sintaxis. Madrid, Espana: Ed. Espasa.
[Gatti Muriel, 2007] Gatti Muriel, C. (2007). Elementos de la gramatica espanola. Lima, Universidad
del Pacco.
[Martin Vivaldi, 2006] Martin Vivaldi, G. (2006). Teora y practica de la composicion y estilo. Thom-
pson.
[Sanchez Lobato, 2005] Sanchez Lobato, J. (2005). Saber Escribir. Espana, Instituto Cervantes.
Prerrequisitos: Ninguno
2. Fundamentacion
El ingreso a la universidad es un momento de nuevos desafos y decisiones en la vida de una per-
sona. En ese sentido, la Universidad Catolica San Pablo busca, mediante el presente espacio, escuchar
y acoger al joven ingresante con sus inquietudes y anhelos personales, presentar la identidad y mision
de la universidad como su alma mater, senalando los principales desafos que el futuro profesio-
nal enfrentara en el mundo actual y orientando a nuestros jovenes estudiantes, a traves de diversos
principios, medios y otros recursos, con el n de que puedan formarse integralmente y desplegarse
plenamente en la fascinante aventura de la vida universitaria. Su realizacion como buen profesional
depende de una buena formacion personal y cultural que le brinde horizontes amplios, que sustenten
y proyecten su conocimiento y quehacer tecnicos e intelectuales y que le permitan contribuir siendo
agentes de cambio cultural y social.
4. Resultados (Outcomes)
e) Entender correctamente las implicancias profesionales, eticas, legales, de seguridad y sociales de
la profesion. (Familiarizarse)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Familiarizarse)
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano. (Fami-
liarizarse)
C21. Comprender el aspecto profesional, legal, seguridad, asuntos polticos, humanistas, ambientales,
culturales y eticos. Outcome e,n,n
7. Bibliografa
[Ide, ] Identidad y Mision.
[Figari, 2002a] Figari, L. F. (2002a). Nostalgia de Innito. Fondo Editorial.
[Frankl, 1991] Frankl, V. (1991). El hombre en busqueda de sentido. Editorial Herder. UCSP:616.891
F80.
Prerrequisitos: Ninguno
2. Fundamentacion
La Ciencia de la Computacion es un campo de estudio enorme con muchas especialidades y apli-
caciones. Este curso brindara a sus participantes, una vision panoramica de la informatica y mostrara
sus campos mas representativos, como son: Algoritmos, Estructuras de de Datos, Sistemas Operativos,
Bases de Datos, etc.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Fami-
liarizarse)
g) Analizar el impacto local y global de la computacion sobre los individuos, organizaciones y socie-
dad. (Familiarizarse)
C10. Comprension del impacto en las personas, las organizaciones y la sociedad de la implementacion
de soluciones tecnologicas e intervenciones. Outcome g
C2. Capacidad para tener una perspectiva crtica y creativa para identicar y resolver problemas
utilizando el pensamiento computacional. Outcome b
CS4. Implementar la teora apropiada, practicas y herramientas para la especicacion, diseno, imple-
mentacion y mantenimiento, as como la evaluacion de los sistemas basados en computadoras.
Outcome a
7. Bibliografa
[Brookshear, 2008] Brookshear, J. G. (2008). Computer Science: An Overview. Addison-Wesley, 10th
edition. 0321524039.
2. Fundamentacion
Para entender las tecnicas computacionales avanzadas, los estudiantes deberan tener un fuerte
conocimiento de las diversas estructuras discretas, estructuras que seran implementadas y usadas en
laboratorio en el lenguaje de programacion.
3. Objetivos del curso
Que el alumno sea capaz de modelar problemas de ciencia de la computacion usando grafos y
arboles relacionados con estructuras de datos
Que el alumno aplicar ecientemente estrategias de recorrido para poder buscar datos de una
manera optima
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Fami-
liarizarse)
i) Utilizar tecnicas y herramientas actuales necesarias para la practica de la computacion. (Fami-
liarizarse)
j) Aplicar la base matematica, principios de algoritmos y la teora de la Ciencia de la Computacion en
el modelamiento y diseno de sistemas computacionales de tal manera que demuestre comprension
de los puntos de equilibrio involucrados en la opcion escogida. (Familiarizarse)
Objetivos de Aprendizaje I: Aplicar argumentos de conteo, incluyendo las reglas del producto y de
la suma, principio de inclusion-exclusion y progresiones aritmeticas/geometricas[Familiarizarse]
II: Aplicar el principio de las casillas en el contexto de una demostracion formal[Familiarizarse]
III: Calcular permutaciones y combinaciones en un conjunto, e interpreta su signicado en el
contexto de una aplicacion en particular[Familiarizarse] IV: Mapear aplicaciones del mundo
real a formalismos de conteo adecuados, como el determinar el numero de formas de acomo-
dar a un conjunto de personas alrededor de una mesa, sujeto a restricciones en la disposicion
de los asientos, o en el numero de maneras de determinar ciertas manos en juegos de cartas
(ejm. una casa llena)[Familiarizarse] V: Resolver una variedad de relaciones de recurrencia ba-
sicas[Familiarizarse] VI: Analizar un problema para determinar las relaciones de recurrencia im-
plcitas[Familiarizarse] VII: Realizar calculos que involucran aritmetica modular[Familiarizarse]
Topicos: I: Arboles. a) Propiedades b) Estrategias de recorrido II: Grafos no dirigidos III: Grafos
dirigidos IV: Grafos ponderados V: Arboles de expansion/bosques. VI: Isomorsmo en grafos.
Topicos: I: Espacio de probabilidad nita, eventos. II: Axiomas de Probabilidad y medidas de pro-
babilidad. III: Probabilidad condicional, Teorema de Bayes. IV: Independencia. V: Variables
enteras aleatorias (Bernoulli, binomial). VI: Esperado, Linearidad del esperado. VII: Varian-
za. VIII: Independencia Condicional.
7. Bibliografa
[Grimaldi, 1997] Grimaldi, R. (1997). Matematicas Discretas y Combinatoria. Addison Wesley Ibe-
roamericana.
[Johnsonbaugh, 1999] Johnsonbaugh, R. (1999). Matematicas Discretas. Prentice Hall, Mexico.
[Micha, 1998] Micha, E. (1998). Matematicas Discretas. Limusa.
[Rosen, 2007] Rosen, K. H. (2007). Discrete Mathematics and Its Applications. 7 ed. edition.
2. Fundamentacion
Este es el segundo curso en la secuencia de los cursos introductorios a la informatica. El curso
servira como puente entre el paradigma de la imperativo y el orientado al objeto, a demas introducira
a los participantes en los diversos temas del area de computacion como: algoritmos, estructuras de
datos, ingeniera del software, etc.
3. Objetivos del curso
Introducir al alumno a los fundamentos del paradigma de orientacion a objetos, permitiendo
asimilar los conceptos necesarios para desarrollar sistemas de informacion.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa computacional para
alcanzar las necesidades deseadas. (Evaluar)
h) Incorporarse a un proceso de aprendizaje profesional continuo. (Familiarizarse)
i) Utilizar tecnicas y herramientas actuales necesarias para la practica de la computacion. (Usar)
Topicos: I: Breve revision de los paradigmas de programacion. II: Comparacion entre programacion
funcional y programacion imperativa. III: Historia de los lenguajes de programacion.
Topicos: I: Tipos como conjunto de valores junto con un conjunto de operaciones. a) Tipos primitivos
(p.e. numeros, booleanos) b) Composicion de tipos construidos de otros tipos (p.e., registros,
uniones, arreglos, listas, funciones, referencias) II: Declaracion de modelos (enlace, visibilidad,
alcance y tiempo de vida). III: Vista general del chequeo de tipos.
Objetivos de Aprendizaje I: Tanto para tipo primitivo y un tipo compuesto, describir de mane-
ra informal los valores que tiene dicho tipo[Familiarizarse] II: Para un lenguaje con sistema
de tipos estatico, describir las operaciones que estan prohibidas de forma estatica, como pa-
sar el tipo incorrecto de valor a una funcion o metodo[Familiarizarse] III: Describir ejemplos
de errores de programa detectadas por un sistema de tipos[Familiarizarse] IV: Para multiples
lenguajes de programacion, identicar propiedades de un programa con vericacion estatica y
propiedades de un programa con vericacion dinamica[Usar] V: Dar un ejemplo de un progra-
ma que no verique tipos en un lenguaje particular y sin embargo no tenga error cuando es
ejecutado[Familiarizarse] VI: Usar tipos y mensajes de error de tipos para escribir y depurar
programas[Usar] VII: Explicar como las reglas de tipicacion denen el conjunto de operacio-
nes que legales para un tipo[Familiarizarse] VIII: Escribir las reglas de tipo que rigen el uso
de un particular tipo compuesto[Usar] IX: Explicar por que indecidibilidad requiere sistemas
de tipo para conservadoramente aproximar el comportamiento de un programa[Familiarizarse]
X: Denir y usar piezas de programas (tales como, funciones, clases, metodos) que usan tipos
genericos, incluyendo para colecciones[Usar] XI: Discutir las diferencias entre, genericos (gene-
rics), subtipo y sobrecarga[Familiarizarse] XII: Explicar multiples benecios y limitaciones de
tipicacion estatica en escritura, mantenimiento y depuracion de un software[Familiarizarse]
Topicos: I: Sintaxis y semantica basica de un lenguaje de alto nivel. II: Variables y tipos de datos
primitivos (ej., numeros, caracteres, booleanos) III: Expresiones y asignaciones. IV: Operaciones
basicas I/O incluyendo archivos I/O. V: Estructuras de control condicional e iterativas. VI: Paso
de funciones y parametros.
Objetivos de Aprendizaje I: Disenar e implementar una clase[Usar] II: Usar subclase para disenar
una jerarqua simple de clases que permita al codigo ser reusable por diferentes subclases[Usar]
III: Razonar correctamente sobre el ujo de control en un programa mediante el envo dinami-
co[Usar] IV: Comparar y contrastar (1) el enfoque procedurar/funcional- deniendo una funcion
por cada operacion con el cuerdo de la funcion proporcionando un caso por cada variacion de da-
to - y (2) el enfoque orientado a objetos - deniendo una clase por cada variacion de dato con la
denicion de la clase proporcionando un metodo por cada operacion. Entender ambos enfoques
como una denicion de variaciones y operaciones de una matriz[Evaluar] V: Explicar la rela-
cion entre la herencia orientada a objetos (codigo compartido y overriding) y subtipicacion (la
idea de un subtipo es ser utilizable en un contexto en el que espera al supertipo)[Familiarizarse]
VI: Usar mecanismos de encapsulacion orientada a objetos, tal como interfaces y miembros
privados[Usar] VII: Denir y usar iteradores y otras operaciones sobre agregaciones, incluyen-
do operaciones que tienen funciones como argumentos, en multiples lenguajes de programacion,
selecionar la forma mas natural por cada lenguaje[Usar]
Topicos: I: Algoritmos de fuerza bruta. II: Algoritmos voraces. III: Divide y venceras. IV: Bactra-
king recursivo. V: Programacion Dinamica.
Objetivos de Aprendizaje I: Para cada una de las estrategias (fuerza bruta, algoritmo goloso, divi-
de y venceras, recursividad en reversa y programacion dinamica), identica un ejemplo practico
en el cual se pueda aplicar[Familiarizarse] II: Utiliza un enfoque voraz para resolver un proble-
ma especco y determina si la regla escogida lo gua a una solucion optima[Evaluar] III: Usa
un algoritmo de divide-y-venceras para resolver un determinado problema[Usar] IV: Usa recur-
sividad en reversa a n de resover un problema como en el caso de recorrer un laberinto[Usar]
V: Usa programacion dinamica para resolver un problema determinado[Usar] VI: Determina el
enfoque algortmico adecuado para un problema[Evaluar] VII: Describe varios metodos basados
en heursticas para resolver problemas[Familiarizarse]
Objetivos de Aprendizaje I: Explique a que se reere con mejor, esperado y peor caso de
comportamiento de un algoritmo[Familiarizarse]
7. Bibliografa
[Deitel and Deitel, 2013] Deitel, P. and Deitel, H. (2013). C++ How to Program (Early Objects Ver-
sion). Deitel, How to Program. Prentice Hall.
[Stroustrup, 2013] Stroustrup, B. (2013). The C++ Programming Language. Addison-Wesley, 4th
edition.
2. Fundamentacion
Curso introductorio, soporte de los posteriores cursos de Analisis Matematico, estudia el plano
y el espacio, haciendo enfasis es su aspecto vectorial y su interpretacion geometrica, lo que permite
visualizar conceptos que posteriormente se veran en forma abstracta.
3. Objetivos del curso
Familiarizarse y manejar las matrices, determinantes y sus relaciones con los sistemas de ecua-
ciones y aplicaciones.
Establecer relaciones lineales y cuadraticas en el plano y en el espacio.
Relacionar el algebra con la geometra, de modo que visualice problemas que de otro modo seran
abstractos.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
j) Aplicar la base matematica, principios de algoritmos y la teora de la Ciencia de la Computacion en
el modelamiento y diseno de sistemas computacionales de tal manera que demuestre comprension
de los puntos de equilibrio involucrados en la opcion escogida. (Evaluar)
7. Bibliografa
[de Matematica. San Pablo, 2013] de Matematica. San Pablo, D. (2013). Gua de practica de Algebra
y Geometra / Arequipa:. Fondo Editorial de la UCSP.
Prerrequisitos: Ninguno
2. Fundamentacion
Los tiempos actuales muestran la necesidad - cada vez mas apremiante- de una adecuada vision
antropologica sobre el matrimonio y la familia.
La referencia de la familia como institucion natural fundada en el matrimonio, viene en diver-
sas organizaciones internacionales promovida como una construccion social y cultural que tiende a
desconocer la complementariedad del varon y la mujer.
Este curso intentara mostrar los presupuestos de una perspectiva de familia que destaque la riqueza
de la familia como autentico eje de desarrollo humano.
Que el alumno entienda los criterios fundamentales sobre los que descansa una recta comprension
de la persona, el matrimonio y la familia
Que el alumno tenga elementos para comprender la vida afectiva como un llamado a la vida
matrimonial y familiar
4. Resultados (Outcomes)
g) Analizar el impacto local y global de la computacion sobre los individuos, organizaciones y socie-
dad. (Evaluar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano. (Usar)
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome g
7. Bibliografa
[Biblia, 1975] Biblia (1975). Sagrada Biblia. Editorial Desclee de Brower Bilbao Espana.
[Concilio Vaticano II, ] Concilio Vaticano II. Constitucion Gaudium et spes.
[Ponticio Consejo Justicia y Paz, 2005] Ponticio Consejo Justicia y Paz (2005). Compendio de la
Doctrina Social de la Iglesia.
[Santa Sede, 1983] Santa Sede (1983). Carta de los Derechos de la Familia.
[S.S Juan Pablo II, ] S.S Juan Pablo II. Exhortacion Apostolica Post Sinodal Familiaris Consortio.
Prerrequisitos: Ninguno
2. Fundamentacion
El estudio de la Filosofa en la universidad, se presenta como un espacio de reexion constante
sobre el ser y el quehacer del ser humano en el mundo. As mismo, proporciona las herramientas
academicas necesarias para la adquisicion del pensamiento formal y la actitud crtica frente a las
corrientes relativistas que nos alejan de la Verdad. La formacion losoca aporta considerablemente
al cultivo de los saberes, capacidades y potencialidades humanas, de tal manera que facilita al ser
humano encontrar el camino hacia la Verdad plena.
4. Resultados (Outcomes)
e) Entender correctamente las implicancias profesionales, eticas, legales, de seguridad y sociales de
la profesion. (Usar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
C21. Comprender el aspecto profesional, legal, seguridad, asuntos polticos, humanistas, ambientales,
culturales y eticos. Outcome e,n
Topicos: I: Importancia de la Filosoa II: Filosofa: denicion etimologica y real. III: El asombro
como comienzo del losofar. IV: El ocio como condicion para la losofa. V: La losofa como
sabidura natural. VI: Condiciones morales del losofar. VII: Filosofa y otros conocimientos.
VIII: Aproximacion historica: Antigua, media, moderna y contemporanea.
7. Bibliografa
[Acodesi, 1986] Acodesi (1986). La formacion integral y sus dimensiones. Dimension corporal.
[Alvira et al., 1993] Alvira, T., Clavell, L., and Melendo, T. (1993). Metafsica. Navarra.
[Amerio, 2005] Amerio, F. (2005). Historia de la Filosoa. Universidad de Turin.
[Aristoteles, 2003] Aristoteles (2003). Etica nicomaquea. Etica eudemia. Gredos. UCSP:185 A72E.
[Pieper, 2007] Pieper, J. (2007). Las Virtudes Fundamentales. Ediciones Rialp, Madrid.
[Platon, ] Platon. La Republica.
[Perez, 2006] Perez, R. G. (2006). Introduccion a la metafsica. Rialp, madrid.
[Zanotti, 1967] Zanotti, G. (1967). Filosofa para no losofos. Editorial Belgrano.
Prerrequisitos: Ninguno
2. Fundamentacion
El egresado de la Universidad San Pablo, no solo debera ser un excelente profesional, conocedor
de la mas avanzada tecnologa, sino tambien, un ser humano sensible y de amplia cultura. En esta
perspectiva, el curso proporciona los instrumentos conceptuales basicos para una optima comprension
de las obras musicales como producto cultural y artstico creado por el hombre.
4. Resultados (Outcomes)
n) Aplicar conocimientos de humanidades en su labor profesional. (Usar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
Topicos: I: La musica en la vida del hombre. Concepto. El Sonido: cualidades. II: Los elementos de
la musica. Actividades y audiciones.
Objetivos de Aprendizaje I: Dotar al alumno de un lenguaje musical basico, que le permita apre-
ciar y emitir un juicio con propiedad [Usar].
7. Bibliografa
[Aopland, 1999] Aopland, A. (1999). Como escuchar la musica. Fondo de cultura economica.
[Hurlimann, 1984] Hurlimann, H. F. (1984). Encicopedia de la Musica. Ediciones Grijalbo.
[Isabel, ] Isabel, A. Sintesis de la etnomusica en America Latina. Monte Avila.
[Juan, 1984] Juan, C. M. (1984). Arequipa, Musica y pueblo. Editorial Carig.
[Palisca, 2006] Palisca, D. J. G. C. V. (2006). Historia de la musica occidental. Alianza editorial.
[Salvat editores, 1989] Salvat editores (1989). Los grandes compositores. Salvat.
[Xavier, 2007] Xavier, B. (2007). El espacio musical andino. Instituto Frances de Estudios Andinos.
Prerrequisitos:
2. Fundamentacion
Este es el tercer curso en la secuencia de los cursos introductorios a la informatica. En este curso
se pretende cubrir los conceptos senalados por la Computing Curricula IEEE(c)-ACM 2001, bajo
el enfoque functional-rst. El paradigma orientado a objetos nos permite combatir la complejidad
haciendo modelos a partir de abstracciones de los elementos del problema y utilizando tecnicas como
encapsulamiento, modularidad, polimorsmo y herencia. El dominio de estos temas permitira que los
participantes puedan dar soluciones computacionales a problemas de diseno sencillos del mundo real.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
C3. Una comprension intelectual de, y el aprecio por el papel central de los algoritmos y estructuras
de datos. Outcome a
CS1. Modelar y disenar sistemas de computadora de una manera que se demuestre comprension del
balance entre las opciones de diseno. Outcome a
CS2. Identicar y analizar los criterios y especicaciones apropiadas a los problemas especcos, y
planicar estrategias para su solucion. Outcome b
Topicos: I: Arboles. a) Propiedades b) Estrategias de recorrido II: Grafos no dirigidos III: Grafos
dirigidos IV: Grafos ponderados V: Arboles de expansion/bosques. VI: Isomorsmo en grafos.
Topicos: I: Sintaxis y semantica basica de un lenguaje de alto nivel. II: Variables y tipos de datos
primitivos (ej., numeros, caracteres, booleanos) III: Expresiones y asignaciones. IV: Operaciones
basicas I/O incluyendo archivos I/O. V: Estructuras de control condicional e iterativas. VI: Paso
de funciones y parametros. VII: Concepto de recursividad.
Topicos: I: Eventos y controladores de eventos. II: Usos canonicos como interfaces gracas de usua-
rio, dispositivos moviles, robots, servidores. III: Uso de frameworks reactivos. a) Denicion de
controladores/oyentes (handles/listeners) de eventos. b) Bucle principal de enventos no contro-
lado po el escritor controlador de eventos (event-handler-writer) IV: Eventos y eventos del
programa generados externamente generada. V: La separacion de modelo, vista y controlador.
Topicos: I: Diferencias entre el mejor, el esperado y el peor caso de un algoritmo. II: Analisis
asintotico de complejidad de cotas superior y esperada. III: Denicion formal de la Notacion
Big O. IV: Clases de complejidad como constante, logartmica, lineal, cuadratica y exponen-
cial. V: Medidas empricas de desempeno. VI: Compensacion entre espacio y tiempo en los
algoritmos. VII: Uso de la notacion Big O. VIII: Notacion Little o, Big omega y Big the-
ta. IX: Relaciones recurrentes. X: Analisis de algoritmos iterativos y recursivos. XI: Algunas
versiones del Teorema Maestro.
Objetivos de Aprendizaje I: Explique a que se reere con mejor, esperado y peor caso de
comportamiento de un algoritmo[Usar] II: En el contexto de a algoritmos especcos, iden-
tique las caractersticas de data y/o otras condiciones o suposiciones que lleven a diferentes
comportamientos[Usar] III: Determine informalmente el tiempo y el espacio de complejidad de
simples algoritmos[Usar] IV: Indique la denicion formal de Big O[Usar] V: Lista y contraste
de clases estandares de complejidad[Usar] VI: Realizar estudios empricos para validar una
hipotesis sobre runtime stemming desde un analisis matematico Ejecute algoritmos con entrada
de varios tamanos y compare el desempeno[Usar] VII: Da ejemplos que ilustran las compensa-
ciones entre espacio y tiempo que se dan en los algoritmos[Usar] VIII: Use la notacion formal
de la Big O para dar lmites superiores asintoticos en la complejidad de tiempo y espacio de los
algoritmos[Usar] IX: Usar la notacion formal Big O para dar lmites de casos esperados en el
tiempo de complejidad de los algoritmos[Usar] X: Explicar el uso de la notacion theta grande,
omega grande y o pequena para describir la cantidad de trabajo hecho por un algoritmo[Usar]
XI: Usar relaciones recurrentes para determinar el tiempo de complejidad de algoritmos recur-
sivamente denidos[Usar] XII: Resuelve relaciones de recurrencia basicas, por ejemplo. usando
alguna forma del Teorema Maestro[Usar]
Topicos: I: Algoritmos numericos simples, tales como el calculo de la media de una lista de numeros,
encontrar el mnimo y maximo. II: Algoritmos de busqueda secuencial y binaria. III: Algoritmos
de ordenamiento de peor caso cuadratico (seleccion, insercion) IV: Algoritmos de ordenamien-
to con peor caso o caso promedio en O(N lg N) (Quicksort, Heapsort, Mergesort) V: Tablas
Hash, incluyendo estrategias para evitar y resolver colisiones. VI: Arboles de busqueda binaria:
a) Operaciones comunes en arboles de busqueda binaria como seleccionar el mnimo, maximo,
insertar, eliminar, recorrido en arboles. VII: Grafos y algoritmos en grafos: a) Representacion
de grafos (ej., lista de adyacencia, matriz de adyacencia) b) Recorrido en profundidad y ampli-
tud VIII: Montculos (Heaps) IX: Grafos y algoritmos en grafos: a) Algoritmos de la ruta mas
corta (algoritmos de Dijkstra y Floyd) b) Arbol de expansion mnima (algoritmos de Prim y
Kruskal) X: Busqueda de patrones y algoritmos de cadenas/texto (ej. busqueda de subcadena,
busqueda de expresiones regulares, algoritmos de subsecuencia comun mas larga)
Topicos: I: Tipos como conjunto de valores junto con un conjunto de operaciones. a) Tipos primiti-
vos (p.e. numeros, booleanos) b) Composicion de tipos construidos de otros tipos (p.e., registros,
uniones, arreglos, listas, funciones, referencias) II: Asociacion de tipos de variables, argumen-
tos, resultados y campos. III: Tipo de seguridad y los errores causados ??por el uso de valores
de manera incompatible dadas sus tipos previstos. IV: Metas y limitaciones de tipos estaticos
a) Eliminacion de algunas clases de errores sin ejecutar el programa b) Indesicion signica que
un analisis estatico puede aproximar el comportamiento de un programa V: Tipos genericos
(polimorsmo parametrico) a) Denicion b) Uso de libreras genericas tales como colecciones.
c) Comparacion con polimorsmo ad-hoc y polimorsmo de subtipos VI: Benecios comple-
mentarios de tipos estaticos y dinamicos: a) Errores tempranos vs. errores tardios/evitados.
b) Refuerzo invariante durante el desarrollo y mantenimiento del codigo vs. desiciones pospues-
tas de tipos durante la la creacion de prototipos y permititr convenientemente la codicacion
exible de patrones tales como colecciones heterogeneas. c) Evitar el mal uso del codigo vs.
permitir mas reuso de codigo. d ) Detectar programas incompletos vs. permitir que programas
incompletos se ejecuten
Objetivos de Aprendizaje I: Tanto para tipo primitivo y un tipo compuesto, describir de mane-
ra informal los valores que tiene dicho tipo[Usar] II: Para un lenguaje con sistema de tipos
estatico, describir las operaciones que estan prohibidas de forma estatica, como pasar el tipo
incorrecto de valor a una funcion o metodo[Usar] III: Describir ejemplos de errores de progra-
ma detectadas por un sistema de tipos[Usar] IV: Para multiples lenguajes de programacion,
identicar propiedades de un programa con vericacion estatica y propiedades de un programa
con vericacion dinamica[Usar] V: Dar un ejemplo de un programa que no verique tipos en
un lenguaje particular y sin embargo no tenga error cuando es ejecutado[Usar] VI: Usar tipos
y mensajes de error de tipos para escribir y depurar programas[Usar] VII: Explicar como las
reglas de tipicacion denen el conjunto de operaciones que legales para un tipo[Usar] VIII: Es-
cribir las reglas de tipo que rigen el uso de un particular tipo compuesto[Usar] IX: Explicar
por que indecidibilidad requiere sistemas de tipo para conservadoramente aproximar el compor-
tamiento de un programa[Usar] X: Denir y usar piezas de programas (tales como, funciones,
clases, metodos) que usan tipos genericos, incluyendo para colecciones[Usar] XI: Discutir las
diferencias entre, genericos (generics), subtipo y sobrecarga[Usar] XII: Explicar multiples be-
necios y limitaciones de tipicacion estatica en escritura, mantenimiento y depuracion de un
software[Usar]
Topicos: I: Diseno orientado a objetos: a) Descomposicion en objetos que almacenan estados y po-
seen comportamiento b) Diseno basado en jerarquia de clases para modelamiento II: Denicion
de las categoras, campos, metodos y constructores. III: Las subclases, herencia y metodo de
alteracion temporal. IV: Asignacion dinamica: denicion de metodo de llamada. V: Subtipi-
cacion: a) Polimorsmo artculo Subtipo; upcasts implcitos en lenguajes con tipos. b) Nocion
de reemplazo de comportamiento: los subtipos de actuar como supertipos. c) Relacion entre
subtipos y la herencia. VI: Lenguajesaorientados a objetos para la encapsulacion: a) privacidad
y la visibilidad de miembros de la clase b) Interfaces revelan unico metodo de rmas c) clases
base abstractas VII: Uso de coleccion de clases, iteradores, y otros componentes de la libreria
estandar.
Objetivos de Aprendizaje I: Disenar e implementar una clase[Usar] II: Usar subclase para disenar
una jerarqua simple de clases que permita al codigo ser reusable por diferentes subclases[Usar]
III: Razonar correctamente sobre el ujo de control en un programa mediante el envo dinami-
co[Usar] IV: Comparar y contrastar (1) el enfoque procedurar/funcional- deniendo una funcion
por cada operacion con el cuerdo de la funcion proporcionando un caso por cada variacion de da-
to - y (2) el enfoque orientado a objetos - deniendo una clase por cada variacion de dato con la
denicion de la clase proporcionando un metodo por cada operacion. Entender ambos enfoques
como una denicion de variaciones y operaciones de una matriz[Usar] V: Explicar la relacion
entre la herencia orientada a objetos (codigo compartido y overriding) y subtipicacion (la idea
de un subtipo es ser utilizable en un contexto en el que espera al supertipo)[Usar] VI: Usar
mecanismos de encapsulacion orientada a objetos, tal como interfaces y miembros privados[Usar]
VII: Denir y usar iteradores y otras operaciones sobre agregaciones, incluyendo operaciones
que tienen funciones como argumentos, en multiples lenguajes de programacion, selecionar la
forma mas natural por cada lenguaje[Usar]
Topicos: I: Principios de diseno del sistema: niveles de abstraccion (diseno arquitectonico y el di-
seno detallado), separacion de intereses, ocultamiento de informacion, de acoplamiento y de
cohesion, de reutilizacion de estructuras estandar. II: Diseno de paradigmas tales como diseno
estructurado (descomposicion funcional de arriba hacia abajo), el analisis orientado a objetos
y diseno, orientado a eventos de diseno, diseno de nivel de componente, centrado datos es-
tructurada, orientada a aspectos, orientado a la funcion, orientado al servicio. III: Modelos
estructurales y de comportamiento de los disenos de software. IV: Diseno de patrones. V: Re-
laciones entre los requisitos y disenos: La transformacion de modelos, el diseno de los contratos,
invariantes. VI: Conceptos de arquitectura de software y arquitecturas estandar (por ejemplo,
cliente-servidor, n-capas, transforman centrados, tubos y ltros). VII: El uso de componentes de
diseno: seleccion de componentes,diseno,adaptacion y componentes de ensamblaje, componentes
y patrones, componentes y objetos(por ejemplo,construir una GUI usando un standar widget
set) VIII: Disenos de refactorizacion utilizando patrones de diseno IX: Calidad del diseno in-
terno, y modelos para: eciencia y desempeno, redundancia y tolerancia a fallos, trazavilidad de
los requerimientos. X: Medicion y analisis de la calidad de un diseno. XI: Compensasiones entre
diferentes aspectos de la calidad. XII: Aaplicaciones en frameworks. XIII: Middleware: El para-
digma de la orientacion a objetos con middleware, requerimientos para correr y clasicar objetos,
monitores de procesamiento de transacciones y el sistema de ujo de trabajo. XIV: Principales
disenos de seguridad y codicacion(cross-reference IAS/Principles of securre design). a) Princi-
pio de privilegios mnimos b) Principio de falla segura por defecto c) Principio de aceptabilidad
psicologica
con la base de datos que incluye los servicios de consulta remota y gestion de bases de datos,
o para la comunicacion segura y el acceso[Usar] XXII: Refactorizar una implementacion de
software existente para mejorar algun aspecto de su diseno[Usar] XXIII: Determinar y aplicar
los principios de mnimo privilegio y defectos-a prueba de errores[Usar]
Bibliografa: [Stroustrup, 2013]
Objetivos de Aprendizaje I: Enumerar los componentes clave de un caso de uso o una descripcion
similar de algun comportamiento que es requerido para un sistema[Usar] II: Describir como
el proceso de ingeniera de requisitos apoya la obtencion y validacion de los requisitos de com-
portamiento[Usar] III: Interpretar un modelo de requisitos dada por un sistema de software
simple[Usar] IV: Describir los retos fundamentales y tecnicas comunes que se utilizan para la
obtencion de requisitos[Usar] V: Enumerar los componentes clave de un modelo de datos (por
ejemplo, diagramas de clases o diagramas ER)[Usar] VI: Identicar los requisitos funciona-
les y no funcionales en una especicacion de requisitos dada por un sistema de software[Usar]
VII: Realizar una revision de un conjunto de requisitos de software para determinar la calidad
de los requisitos con respecto a las caractersticas de los buenos requisitos[Usar] VIII: Aplicar
elementos clave y metodos comunes para la obtencion y el analisis para producir un conjunto de
requisitos de software para un sistema de software de tamano medio[Usar] IX: Comparar los
metodos agiles y el dirigido por planes para la especicacion y validacion de requisitos y descri-
bir los benecios y riesgos asociados con cada uno[Usar] X: Usar un metodo comun, no formal
para modelar y especicar los requisitos para un sistema de software de tamano medio[Usar]
XI: Traducir al lenguaje natural una especicacion de requisitos de software (por ejemplo,
un contrato de componentes de software) escrito en un lenguaje de especicacion formal[Usar]
XII: Crear un prototipo de un sistema de software para reducir el riesgo en los requisitos[Usar]
XIII: Diferenciar entre el rastreo (tracing) hacia adelante y hacia atras y explicar su papel en
el proceso de validacion de requisitos[Usar]
Bibliografa: [Stroustrup, 2013]
7. Bibliografa
[Nakariakov, 2013] Nakariakov, S. (2013). The Boost C++ Libraries: Generic Programming. Crea-
teSpace Independent Publishing Platforml.
[Stroustrup, 2013] Stroustrup, B. (2013). The C++ Programming Language, 4th edition. Addison-
Wesley.
Prerrequisitos:
2. Fundamentacion
El mundo ha cambiado debido al uso de la web y tecnologas relacionadas, el acceso rapido,
oportuno y personalizado de la informacion, a traves de la tecnologa web, ubcuo y pervasiva; han
cambiado la forma de como hacemos las cosas?, como pensamos? y como la industria se desarrolla?.
Las tecnologas web, ubicuo y pervasivo se basan en el desarrollo de servicios web, aplicaciones web
y aplicaciones moviles, las cuales son necesarias entender la arquitectura, el diseno, y la implementacion
de servicios web, aplicaciones web y aplicaciones moviles.
Que el alumno sea capaz de desarrollar aplicaciones moviles, administracion de servidores web
en un sistema Unix y una introduccion a la seguridad web, a un nivel intermedio.
4. Resultados (Outcomes)
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa computacional para
alcanzar las necesidades deseadas. (Usar)
g) Analizar el impacto local y global de la computacion sobre los individuos, organizaciones y socie-
dad. (Usar)
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano. (Usar)
C6. Capacidad para disenar y poner en practica las unidades estructurales mayores que utilizan
algoritmos y estructuras de datos y las interfaces a traves del cual estas unidades se comunican.
Outcome c,d,i
Topicos: I: Vision general de plataformas (ejemplo, Web, Mobil, Juegos, Industrial) II: Programacon
a traves de APIs especcos. III: Vision general de lenguajes de plataforma (ejemplo, Objective
C, HTML5) IV: Pogramacon bajo restricciones de plataforma.
Topicos: I: Lenguajes de programacion web (e.g., HTML5, Javascript, PHP, CSS) II: Restriccion
de plataformas web. III: Software como servicio. IV: Estandares web.
Objetivos de Aprendizaje I: Del lado del servidor lenguaje de scripting python: variables, tipos
de datos, operaciones, cadenas, funciones, sentencias de control, matrices, archivos y el acceso a
directorios, mantener el estado. [Usar] II: Enfoque de programacion web usando python incrus-
tado. [Usar] III: El acceso y la manipulacion de MySQL. [Usar] IV: El enfoque de desarrollo
de aplicaciones web Ajax. [Usar] V: DOM y CSS utilizan en JavaScript. [Usar] VI: Tecno-
logas de actualizacion de contenido asncrono. [Usar] VII: Objetos XMLHttpRequest utilizar
para comunicarse entre clientes y servidores. [Usar] VIII: XML y JSON. [Usar] IX: XSLT y
XPath como mecanismos para transformar documentos XML. [Usar] X: Servicios web y APIs
(especialmente Google Maps). [Usar] XI: Marcos Ajax para el desarrollo de aplicaciones web
contemporanea. [Usar] XII: Los patrones de diseno utilizados en aplicaciones web. [Usar]
7. Bibliografa
[Annuzzi et al., 2013] Annuzzi, J., Darcey, L., and Conder, S. (2013). Introduction to Android Appli-
cation Development: Android Essentials. Developers Library. Pearson Education.
[Grove, 2009] Grove, R. (2009). Web Based Application Development. Jones & Bartlett Learning.
Prerrequisitos:
2. Fundamentacion
Es necesario que el profesional en Ciencia de la COmputacion tenga solido conocimiento de la
organizacion y funcionamiento de los diversos sistema de computo actuales en los cuales gira se instala
el entorno de programacion. Con ello tambien sabra establecer los alcances y lmites de las aplicaciones
que se desarrollen de acuerdo a la plataforma siendo usada.
Se trataran los siguientes temas: componentes de logica digital basicos en un sistema de compu-
tacion, diseno de conjuntos de instrucciones, microarquitectura del procesador y ejecucion en pipeli-
ning, organizacion de la memoria: cache y memoria virtual, proteccion y comparticion, sistema I/O
e interrupciones, arquitecturas super escalares y ejecucion fuera de orden, computadoras vectoriales,
arquitecturas para multithreading, multiprocesadores simetricos, modelo de memoria y sincronizacion,
sistemas integrados y computadores en paralelo.
Tratar los siguientes temas: componentes de logica digital basicos en un sistema de computacion,
diseno de conjuntos de instrucciones, microarquitectura del procesador y ejecucion en pipelining,
organizacion de la memoria: cache y memoria virtual, proteccion y comparticion, sistema I/O
e interrupciones, arquitecturas super escalares y ejecucion fuera de orden, computadoras vec-
toriales, arquitecturas para multithreading, multiprocesadores simetricos, modelo de memoria y
sincronizacion, sistemas integrados y computadores en paralelo.
4. Resultados (Outcomes)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Usar)
C8. Entendimiento de lo que las tecnologas actuales pueden y no pueden lograr. Outcome b,i
CS3. Analizar el grado en que un sistema basado en el ordenador cumple con los criterios denidos
para su uso actual y futuro desarrollo. Outcome i
Topicos: I: Revision e historia de la Arquitectura de Computadores. II: Logica combinacional vs. se-
cuencial/Arreglos de puertas de campo programables como bloque fundamental de construccion
logico combinacional-secuencial. III: Multiples representaciones / Capas de interpretacion (El
hardware es solo otra capa) IV: Herramientas de diseno asistidas por computadora que procesan
hardware y representaciones arquitecturales. V: Registrar transferencia notacion / Hardware len-
guage descriptivo (Verilog/VHDL) VI: Restriccion fsica (Retrasos de Entrada, fan-in, fan-out,
energia/poder)
Topicos: I: Bits, Bytes y Words. II: Representacion de datos numerica y bases numericas. III: Sis-
temas de punto otante y punto jo. IV: Representaciones con signo y complemento a 2. V: Re-
presentacion de informacion no numerica (cdigos de caracteres, informacion graca) VI: Repre-
sentacion de registros y arreglos.
Objetivos de Aprendizaje I: Explicar porque en computacion todo es datos, inclusive las instruc-
ciones[Evaluar] II: Explicar las razones de usar formatos alternativos para representar datos
numericos[Familiarizarse] III: Describir como los enteros negativos se almacenan con represen-
taciones de bit de signo y complemento a 2[Usar] IV: Explicar como las representaciones de
tamano jo afectan en la exactitud y la precision[Usar] V: Describir la representacion interna
de datos no numericos como caracteres, cadenas, registros y arreglos[Usar] VI: Convertir datos
numericos de un formato a otro[Usar]
Topicos: I: Organizacion Basica de la Maquina de Von Neumann. II: Unidad de Control. III: Pa-
quetes de instrucciones y tipos (manipulacion de informacion, control, I/O) IV: Assembler /
Programacion en Lenguaje de Maquina. V: Formato de instrucciones. VI: Modos de direc-
cionamiento. VII: Llamada a subrutinas y mecanismos de retorno. VIII: I/O e Interrupcio-
nes. IX: Montculo (Heap) vs. Estatico vs. Pila vs. Segmentos de codigo.
Bibliografa: [Parhami, 2005, Patterson and Hennessy, 2004, Hennessy and Patterson, 2006]
Objetivos de Aprendizaje I: Identique las principales tecnologas de memoria (Por ejemplo: SRAM,
DRAM, Flash,Disco Magnetico) y su relacion costo benecio[Familiarizarse] II: Explique el efec-
to del retardo de la memoria en tiempo de ejecucion[Familiarizarse] III: Describa como el uso de
jerarqua de memoria (cache, memoria virtual) es aplicado para reducir el retardo efectivo en la
memoria[Usar] IV: Describa los principios de la administracion de memoria[Usar] V: Explique
el funcionamiento de un sistema con gestion de memoria virtual[Usar] VI: Calcule el tiempo
de acceso promedio a memoria bajo varias conguraciones de cache y memoria y para diversas
combinaciones de instrucciones y referencias a datos[Evaluar]
Objetivos de Aprendizaje I: Explicar como las interrupciones son aplicadas para implementar
control de entrada-salida y transferencia de datos[Familiarizarse] II: Identicar diversos tipos
de buses en un sistema computacional[Familiarizarse] III: Describir el acceso a datos desde
una unidad de disco magnetico [Usar] IV: Comparar organizaciones de red conocidas como
organizaciones en bus/Ethernet, en anillo y organizaciones conmutadas versus ruteadas[Evaluar]
V: Identicar las interfaces entre capas necesarios para el acceso y presentacion multimedia,
desde la captura de la imagen en almacenamiento remoto, a traves del transporte por una
red de comunicaciones, hasta la puesta en la memoria local y la presentacion nal en una
pantalla graca[Familiarizarse] VI: Describir las ventajas y limitaciones de las arquitecturas
RAID[Familiarizarse]
Topicos: I: Ley potencial. II: Ejemplos de juego de instrucciones y arquitecturas SIMD y MIMD. III: Re-
des de interconexion (Hypercube, Shue-exchange, Mesh, Crossbar) IV: Sistemas de memoria
de multiprocesador compartido y consistencia de memoria. V: Coherencia de cache multiproce-
sador.
Objetivos de Aprendizaje I: Discutir el concepto de procesamiento paralelo mas alla del clasico
modelo de von Neumann[Evaluar] II: Describir diferentes arquitecturas paralelas como SIMD y
MIMD[Familiarizarse] III: Explicar el concepto de redes de interconexion y mostrar diferentes
enfoques[Usar] IV: Discutir los principales cuidados en los sistemas de multiprocesamiento
presentes con respecto a la gestion de memoria y describir como son tratados[Familiarizarse]
V: Describir las diferencias entre conectores electricos en paralelo backplane, interconexion
memoria procesador y memoria remota via red, sus implicaciones para la latencia de acceso y el
impacto en el rendimiento de un programa[Evaluar]
7. Bibliografa
[Denning, 2005] Denning, P. J. (2005). The locality principle. Commun. ACM, 48(7):1924.
[Dongarra, 2006] Dongarra, J. (2006). Trends in high performance computing: a historical overview
and examination of future developments. Circuits and Devices Magazine, IEEE, 22(1):2227.
[El-Rewini and Abd-El-Barr, 2005] El-Rewini, H. and Abd-El-Barr, M. (2005). Advanced Computer
Architecture and Parallel Processing. John Wiley & Sons, Hoboken, NJ.
[Hennessy and Patterson, 2006] Hennessy, J. L. and Patterson, D. A. (2006). Computer Architecture:
A Quantitative Approach. Morgan Kaufman, San Mateo, CA, 4th edition.
[Johnson, 1991] Johnson, M. (1991). Superscalar microprocessor design. Prentice Hall series in inno-
vative technology. Prentice Hall.
[Parhami, 2002] Parhami, B. (2002). Introduction to parallel processing: algorithms and architectures.
Plenum series in computer science. Plenum Press.
[Parhami, 2005] Parhami, B. (2005). Computer Architecture: From Microprocessors to Supercompu-
ters. Oxford Univ. Press, New York.
[Patterson and Hennessy, 2004] Patterson, D. A. and Hennessy, J. L. (2004). Computer Organization
and Design: The Hardware/Software Interface. Morgan Kaufman, San Mateo, CA, 3 edition.
[Stalings, 2010] Stalings, W. (2010). Computer Organization and Architecture: Designing for Perfor-
mance. Prentice Hall, Upper Saddle River, NJ, 8th edition.
Prerrequisitos:
2. Fundamentacion
En algebra abstracta se explotara las nociones de teoria de numeros, grupos, anillos y campos para
comprender en profundidad temas de computacion como criptografa y teora de la codicacion.
Conocer las tecnicas y metodos de sistemas criptogracos y como los teoremas permiten la
realizacion de calculos rapidos y ecientes.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
C8. Entendimiento de lo que las tecnologas actuales pueden y no pueden lograr. Outcome a
C16. Capacidad para identicar temas avanzados de computacion y de la comprension de las fronteras
de la disciplina. Outcome j
CS2. Identicar y analizar los criterios y especicaciones apropiadas a los problemas especcos, y
planicar estrategias para su solucion. Outcome i
Topicos: I: Elementos, proceso de transmitir una palabra II: Esquemas de codicacion: paridad,
triple repeticion, vericacion de paridad y generacion de codigos de grupo.
7. Bibliografa
[A.Menezes, 1996] A.Menezes (1996). Handbook of Applied Cryptography (Discrete Mathematics and
Its Applications. CRC Press.
[Forouzan, 2008] Forouzan, B. (2008). Introduction to Cryptography and Network Security. McGraw-
Hill.
[Gallian, 2012] Gallian, J. (2012). Contemporary Abstract Algebra. Brooks/Cole, 8 ed. edition.
[Grimaldi, 2003] Grimaldi, R. (2003). Discrete and Combinatorial Mathematics: An Applied Intro-
duction. Pearson, 5 ed. edition.
[Koshy, 2007] Koshy, T. (2007). Elementary Number Theory with Applications. Academic Press, 2
ed. edition.
[Paar and Pelzl, 2011] Paar, C. and Pelzl, J. (2011). Understanding Cryptography: A Textbook for
Students and Practitioners. Springer.
[Rosen, 2011] Rosen, K. H. (2011). Matematica Discreta y sus Aplicaciones. McGraw Hill, 7 ed.
edition.
[W.Trappe and Washington, 2005] W.Trappe and Washington, C. (2005). Introduction to Crypto-
graphy with Coding Theory. Pearson Prentice Hall.
SUMILLA
Prerrequisitos:
2. Fundamentacion
Estudia la integral de funciones en una variable, series numericas y de funciones as como una
introduccion a las ecuaciones diferenciales, base para los siguientes cursos de Analisis Matematico y
Fsica.
Manejar, manipular las sucesiones y series. Determinar la convergencia de una serie numerica y
de funciones.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome j
7. Bibliografa
[Apostol, 1997] Apostol, T. M. (1997). Calculus, volume 1. Editorial Reverte, 2nd edition.
[Bartle, 1976] Bartle, R. G. (1976). The Elements of Real Analysis. Wiley, 2nd edition.
[Simmons, 1995] Simmons, G. F. (1995). Calculus With Analytic Geometry. McGraw-Hill, 2nd edition.
2. Fundamentacion
Todos los hombres desean saber (Aristoteles, Metafsica, I, 1). La aspiracion natural de todo hombre
por alcanzar la verdad y la sabidura se encuentra desde los orgenes mismos de la humanidad. Este
saber se dirige de manera especial hacia el hombre mismo, porque la pregunta acerca de la verdad del
hombre afecta a lo mas ntimo de la felicidad y destino humano. Con estas palabras comienza Jose
Angel Garca Cuadrado su obra Antropologa Filosoca. Una introduccion a la Filosofa del Hombre,
y resume la fundamentacion de este curso que, aunque apretado en cuanto al vasto conocimiento
acerca del hombre, intenta proporcionar una sntesis signicativa de conocimientos y razonamientos
que sirvan de base para responder a la pregunta sobre el ser humano.
3. Objetivos del curso
Ser capaz de comprender la naturaleza humana (es decir, las facultades y las nalidades de cada
facultad, su jerarquizacion y posible dominio); la condicion de persona humana y su dignidad;
las consecuencias existenciales de dicha naturaleza y condicion de persona humana (manifesta-
ciones del ser persona: libertad, sociabilidad, sexualidad, cultura); y los datos relevantes de la
antropologa teologica que dan explican el misterio de la existencia humana y su n trascenden-
te (pecado original, redencion, encarnacion del Verbo, vida despues de la muerte, resurreccion,
naturaleza y sobre-naturaleza).
4. Resultados (Outcomes)
e) Entender correctamente las implicancias profesionales, eticas, legales, de seguridad y sociales de
la profesion. (Evaluar)
g) Analizar el impacto local y global de la computacion sobre los individuos, organizaciones y socie-
dad. (Evaluar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Evaluar)
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano. (Evaluar)
Topicos: I: Presentacion del curso II: La pregunta sobre el hombre y la importancia de la Antropo-
loga III: Antropologa losoca y antropologas positivas. Delimitando el objeto: a) Antropo-
loga fsica o natural (etnografa paleo antropologa) b) Antropologa cultural o social (etnologa)
c) Psicologa Moderna d ) Limitaciones de la ciencia moderna y el mito del progreso e) Antropolo-
ga losoca: Objeto y denicion f ) Antropologa teologica: Objeto y denicion g) Antropologa
teologica: Objeto y denicion IV: Planos metodologicos del estudio de la antropologa losoca.
Topicos: I: Finitud y trascendencia de la persona humana. II: El deseo de eternidad. III: Apro-
ximacion metafsica desde la inmortalidad del alma humana. IV: Aproximacion existencial y
fenomenologica desde la experiencia de nitud: a) Nostalgia de innito. V: Antropologa Teo-
logica: a) El hombre como imagen de Dios. b) El pecado original y la redencion. c) Resurreccion.
d ) Vida en Cristo (vida sobrenatural).
Objetivos de Aprendizaje I: Comprension ontologica del ser personal desde sus dinamismos fun-
damentales y otros dinamismos [Usar]. II: Comprension de la fe, enraizada en el ser personal
[Usar].
Topicos: I: Relacionalidad, encuentro y comunion en la persona. II: La persona como ser sexuado
y como ser social. III: La familia. IV: La sociedad.
7. Bibliografa
[Frankl, 1991] Frankl, V. (1991). El hombre en busqueda de sentido. Editorial Herder. UCSP:616.891
F80.
[para la Educacion Catolica, ] para la Educacion Catolica, C. Orientaciones educativas sobre el amor
humano. Pautas de educacion sexual.
[Angel Garca Cuadrado, ] Angel Garca Cuadrado, J. Antropologa losoca. Una introduccion a la
losofa del hombre. UCSP:128 G23.
SUMILLA
Prerrequisitos: Ninguno
2. Fundamentacion
El curso es de naturaleza teorico practico, tiene como proposito vincular al ser humano con la
cultura y sus manifestaciones para apreciarlas y valorarlas.
4. Resultados (Outcomes)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
Objetivos de Aprendizaje I: Exponer los elementos del diseno que intervienen en una obra arts-
tica para poder hacer una descripcion e interpretacion de los mismos. [Usar]. II: Exponer las
manifestaciones artsticas (plasticas) en el transcurso de la historia para vincular estos contenidos
con los elementos del diseno. [Usar].
Topicos: I: El color: Teoras del color y dimensiones del color II: Psicologa del Color: Considera-
ciones iniciales III: Historia del Arte: Arte en las culturas antiguas.
Objetivos de Aprendizaje I: Exponer las teoras del color para una mejor apreciacion del mundo
que nos rodea. [Usar]. II: Desarrollo de la sensibilidad del color. [Usar]. III: Exponer las
manifestaciones artsticas (plasticas) en el transcurso de la historia para vincular estos contenidos
con el conocimiento del color. [Usar].
Topicos: I: Modelos de apreciacion II: El analisis visual y su relacion con el concepto de tendencia,
El analisis de contexto del objeto artstico (variedad) II: Historia del Arte: Siglos XIX , XX,
XXI.
Objetivos de Aprendizaje I: Exponer las tecnicas de comunicacion visual, para identicar su apli-
cacion en el lenguaje visual. [Usar]. II: Conocer algunas tendencias artsticas a traves del tiempo
en nuestro pas, como valioso legado de nuestros antepasados, ubicandolas en su contexto. [Usar].
Objetivos de Aprendizaje I: Relacionar algunas tendencias artA sticas del siglo XIX y XX con
las manifestaciones artsticas en el Peru, ubicandolas en su contexto. [Usar].
7. Bibliografa
[Bense, ] Bense, M. Estetica.
[Comercio, ] Comercio, E. Maestros de la pintura peruana.
[Eco, ] Eco, H. Historia de la Belleza.
[Milla Batres, ] Milla Batres, C. Compendio historico del Peru.
[Pischel, ] Pischel, G. Historia universal del arte.
[Sol9(ed.), ] Sol9(ed.), E. Grandes maestros de la pintura.
2. Fundamentacion
Siendo la literatura una actividad artstica que tiene por objeto la expresion de ideas y sentimientos
por medio de la palabra, esta constituye, la reconstruccion de experiencias de la realidad en diversos
ordenes, gracias a la expresion personal y emotiva del escritor y el momento social que le toco vivir.
Partiendo de este enunciado las grandes obras literarias, son poderosos agentes de cultura. De ah que,
la literatura cumple un rol integrador en la formacion cultural del ser humano; pero, para lograr este
objetivo en su verdadera dimension, hay que saber apreciar la belleza de la expresion literaria con un
sentido analtico, crtico y valorativo El curso de Apreciacion Literaria corresponde a los cursos del
Area de Formacion General y es considerado como un curso electivo que tiene el valor de dos creditos.
Es de caracter teorico-practico, ya que los alumnos reciben informacion teorica sobre el analisis de
textos literarios y sobre los diferentes movimientos literarios que se han dado a traves del tiempo; dicha
informacion, los alumnos la ponen en practica al analizar fragmentos y obras literarias. La metodologa
consiste en trabajos individuales y grupales de analisis de textos, los cuales seran expuestos por los
alumnos a sus companeros, al mismo tiempo, responden a una serie de interrogantes referentes a los
temas tratados. El proposito fundamental es, sensibilizar a los estudiantes en la percepcion de la belleza
escrita que se expresa a traves de las distintas obras literarias; ademas, busca desarrollar en los alumnos
la capacidad crtica y valorativa que le ayudara en su formacion personal y cultural. As mismo, este
curso permite que los estudiantes desarrollen destrezas comunicativas a nivel verbal y escrito. La
tematica abarca los siguientes aspectos: analisis de textos, teora de los generos literarios, lenguaje
literario y gurado, los movimientos literarios como: la antiguedad clasica, edad media, humanismo y
renacimiento, neoclasicismo, romanticismo, realismo, naturalismo y la literatura contemporanea.
3. Objetivos del curso
Desarrollar su capacidad crtica, creativa y valorativa, a traves de la lectura, analisis e interpre-
tacion de textos literarios con el n de estimular y formar su sensibilidad estetica y reforzar el
habito lector.
Adquirir destreza en la tecnica del Comentario de Textos y en la utilizacion de los mismos.
Promover el desarrollo de destrezas comunicativas a nivel verbal ( escrito y hablado).
4. Resultados (Outcomes)
f ) Comunicarse efectivamente con audiencias diversas. (Usar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
Objetivos de Aprendizaje I: Distinguir textos literarios de otros tipos de textos. [Usar]. II: Co-
mentar textos literarios y desarrollar adecuadamente la cha de analisis literario. [Usar]. III: Di-
ferenciar los distintos tipos de expresion literaria a traves de la evolucion historica de la misma,
valorandolas en su verdadera dimension. [Usar]. IV: Aplicar las guras literarias en textos tanto
en prosa como en verso. [Usar].
Topicos: I: Homero La Iliada II: Sofocles Edipo Rey III: Virgilio La Eneida IV: Literatura
Cristiana La Biblia
Bibliografa: [Torres Amat, 1950, Homero, 1912, Sanzos Oliver, 1916, Alighieri, 1938]
Objetivos de Aprendizaje I: Descubrir en las obras literarias los valores humanos mas importantes
reconociendolos en su verdadera dimension. [Usar]. II: Comprender y textos literarios y ree-
xionar sobre el contenido. [Usar]. III: Valorar sus propias cualidades en relacion a la literatura
[Usar]. IV: Exponer y comentar adecuadamente obras clasicas del canon literario- universal y
peruano. [Usar]. V: Redactar textos argumentativos (ensayo) sobre una obra de la literatura
universal o peruana leda. [Usar].
7. Bibliografa
[Alighieri, 1938] Alighieri, D. (1938). La divina comedia, texto impreso. Buenos Aires: Editorial
Sopena.
[Bello Vazquez, 1997] Bello Vazquez, F. (1997). El comentario de textos literarios. Editorial Paidos
iberica, Espana.
[Caceres Cuadros, 2007] Caceres Cuadros, T. (2007). Analisis de textos literarios. Unsa.
[Goethe, 1905] Goethe, J. W. v. (1905). Fausto. Montaner y Simon, editores.
[Hemingway, 1984] Hemingway, E. (1984). El viejo y el mar. Editorial La Oveja Negra Ltda. Colombia.
[Homero, 1912] Homero (1912). La Iliada. Editorial Librera de la Vda. de Ch. Bouret.
[Hugo, 1896] Hugo, Victor y Marie, C. (1896). Los Miserables. Librera de Garnier Hermanos.
[Sanzos Oliver, 1916] Sanzos Oliver, M. (1916). Vida y semblanza de Cervantes. Editorial Montaner
y Simon.
[Torres Amat, 1950] Torres Amat, F. (1950). La Sagrada Biblia. Editorial Sopena.
2. Fundamentacion
El fundamento teorico de todas las ramas de la informatica descansa sobre los algoritmos y estruc-
turas de datos, este curso brindara a los participantes una introduccion a estos temas, formando as
una base que servira para los siguientes cursos en la carrera.
3. Objetivos del curso
Hacer que el alumno entienda la importancia de los algoritmos para la solucion de problemas.
Introducir al alumno hacia el campo de la aplicacion de las estructuras de datos.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Usar)
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa computacional para
alcanzar las necesidades deseadas. (Usar)
j) Aplicar la base matematica, principios de algoritmos y la teora de la Ciencia de la Computacion en
el modelamiento y diseno de sistemas computacionales de tal manera que demuestre comprension
de los puntos de equilibrio involucrados en la opcion escogida. (Usar)
k) Aplicar los principios de desarrollo y diseno en la construccion de sistemas de software de com-
plejidad variable. (Usar)
Objetivos de Aprendizaje I: Comprender las funciones basicas de estas estructuras complejas con
el n de adquirir la capacidad para su implementacion. [Evaluar]
Bibliografa: [Cormen et al., 2009, Fager et al., 2014]
7. Bibliografa
[Cormen et al., 2009] Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. (2009). Introduction
to Algorithms. MIT Press, third edition edition. ISBN: 978-0-262-53305-8.
[Fager et al., 2014] Fager, J., Yepez, W. L. P., Villacres, M., Martinez, L. A. P., Ochoa, D., and
Cuadros-Vargas, E. (2014). Estructura de datos. Iniciativa Latinoamericana de Libros de Texto
Abiertos (LATIn), rst edition edition.
Prerrequisitos:
2. Fundamentacion
Este curso hace fasis en los lenguajes formales, modelos de computacion y computabilidad, ademas
de incluir fundamentos de la complejidad computacional y de los problemas NP completos.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
Topicos: I: Maquinas de estado nito. II: Expresiones regulares. III: Problema de la parada. IV: Gra-
maticas libres de contexto. V: Introduccion a las clases P y NP y al problema P vs. NP. VI: In-
troduccion y ejemplos de problemas NP- Completos y a clases NP-Completos. VII: Maquinas
de Turing, o un modelo formal equivalente de computacion universal. VIII: Maquinas de Turing
no determinsticas. IX: Jerarqua de Chomsky. X: La tesis de Church-Turing. XI: Computabili-
dad. XII: Teorema de Rice. XIII: Ejemplos de funciones no computables. XIV: Implicaciones
de la no-computabilidad.
Topicos: I: Revision de las clases P y NP; introducir spacio P y EXP. II: Jerarqua polimonial. III: NP
completitud (Teorema de Cook). IV: Problemas NP completos clasicos. V: Tecnicas de reduc-
cion.
7. Bibliografa
[Brookshear, 1993] Brookshear, J. G. (1993). Teora de la Computacion. Addison Wesley Iberoame-
ricana.
[Hopcroft and Ullman, 1993] Hopcroft, J. E. and Ullman, J. D. (1993). Introduccion a la Teora de
Automatas, Lenguajes y Computacion. CECSA.
[Kelley, 1995] Kelley, D. (1995). Teora de Automatas y Lenguajes Formales. Prentice Hall.
[Kolman, 1997] Kolman, Busby, R. (1997). Estructuras de Matematicas Discretas para la Compu-
tacion. Prentice Hall.
Prerrequisitos:
2. Fundamentacion
La gestion de la informacion (IM) juega un rol principal en casi todas las areas donde los compu-
tadores son usados. Esta area incluye la captura, digitalizacion, representacion, organizacion, transfor-
macion y presentacion de informacion; algortmos para mejorar la eciencia y efectividad del acceso y
actualizacion de informacion almacenada, modelamiento de datos y abstraccion, y tecnicas de alma-
cenamiento de archivos fsicos.
Este tambien abarca la seguridad de la informacion, privacidad, integridad y proteccion en un am-
biente compartido. Los estudiantes necesitan ser capaces de desarrollar modelos de datos conceptuales
y fsicos, determinar que metodos de (IM) y tecnicas son apropiados para un problema dado, y ser
capaces de seleccionar e implementar una apropiada solucion de IM que reeje todas las restricciones
aplicables, incluyendo escalabilidad y usabilidad.
Que el alumno aprenda los conceptos fundamentales de gestion de bases de datos. Esto incluye
aspectos de diseno de bases de datos, lenguajes de bases de datos y realizacion de bases de datos
Discutir el modelo de bases de datos con base en el algebra relacional, calculo relacional y en el
estudio de sentencias SQL.
4. Resultados (Outcomes)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Usar)
C2. Capacidad para tener una perspectiva crtica y creativa para identicar y resolver problemas
utilizando el pensamiento computacional. Outcome d
C7. Ser capaz de aplicar los principios y tecnologas de ingeniera de software para asegurar que
las implementaciones de software son robustos, ables y apropiados para su publico objetivo.
Outcome e
CS4. Implementar la teora apropiada, practicas y herramientas para la especicacion, diseno, imple-
mentacion y mantenimiento, as como la evaluacion de los sistemas basados en computadoras.
Outcome i
CS6. Evaluar los sistemas en terminos de atributos de calidad en general y las posibles ventajas y
desventajas que se presentan en el problema dado. Outcome j
Topicos: I: Enfoque y Evolucion de Sistemas de Bases de Datos. II: Componentes del Sistema de
Bases de Datos. III: Diseno de las funciones principales de un DBMS. IV: Arquitectura de base
de datos e independencia de datos. V: Uso de un lenguaje de consulta declarativa. VI: Sistemas
de apoyo a contenido estructurado y / o corriente. VII: Enfoques para la gestion de grandes
volumenes de datos (por ejemplo, sistemas de bases de datos NoSQL, uso de MapReduce).
Bibliografa: [Rob and Coronel, 2004, Elmasri and Navathe, 2004, Date, 2005, Korth and Silberschatz, 2002]
Topicos: I: Modelado de datos II: Modelos conceptuales (e.g., entidad-relacion, diagramas UML) III: Mo-
delos de hoja de calculo IV: Modelos Relacionales. V: Modelos orientados a objetos. VI: Modelos
de datos semi-estructurados (expresados usando DTD o XML Schema, por ejemplo)
Bibliografa: [Simsion and Witt, 2004, Elmasri and Navathe, 2004, Korth and Silberschatz, 2002]
Objetivos de Aprendizaje I: Generar un archivondice para una coleccion de recursos[Usar] II: Ex-
plicar la funcion de un ndice invertido en la localizacion de un documento en una coleccion[Usar]
III: Explicar como rechazar y detener palabras que afectan a la indexacion[Usar] IV: Identicar
los ndices adecuados para determinado el esquema relacional y el conjunto de consultas[Usar]
V: Estimar el tiempo para recuperar informacion, cuando son usados los ndices comparado con
cuando no son usados[Usar] VI: Describir los desafos claves en el rastreo web, por ejemplo, la
deteccion de documentos duplicados, la determinacion de la frontera de rastreo[Usar]
Bibliografa: [Whitehorn and Marklyn, 2001, Date, 2005, Korth and Silberschatz, 2002]
Topicos: I: Mapeo de esquemas conceptuales a esquemas relacionales. II: Entidad y integridad re-
ferencial. III: Algebra relacional y calculo relacional. IV: Diseno de bases de datos relaciona-
les. V: Dependencia funcional. VI: Descomposicion de un esquema. VII: Llaves candidatas,
SuperLlaves y cierre de un conjunto de atributos. VIII: Formas Normales (BCNF) IX: De-
pendencias multi-valoradas (4NF) X: Uniendo dependencias (PJNF, 5NF) XI: Teora de la
representacion.
Bibliografa: [Whitehorn and Marklyn, 2001, Date, 2005, Korth and Silberschatz, 2002]
Topicos: I: Vision general de lenguajes de base de datos. II: SQL (denicion de datos, formula-
cion de consultas, sublenguaje update, restricciones, integridad) III: Selecciones IV: Proyeccio-
nes V: Select-project-join VI: Agregaciones y agrupaciones. VII: Subconsultas. VIII: Entornos
QBE de cuarta generacion. IX: Diferentes maneras de invocar las consultas no procedimentales
en lenguajes convencionales. X: Introduccion a otros lenguajes importantes de consulta (por
ejemplo, XPATH, SPARQL) XI: Procedimientos almacenados.
Objetivos de Aprendizaje I: Crear un esquema relacional de bases de datos en SQL que incor-
pora restricciones clave y restricciones de integridad de entidad e integridad referencial[Usar]
II: Usar SQL para crear tablas y devuelve (SELECT) la informacion de una base de da-
tos[Usar] III: Evaluar un conjunto de estrategias de procesamiento de consultas y selecciona la
estrategia optima[Usar] IV: Crear una consulta no-procedimental al llenar plantillas de relacines
para construir un ejemplo del resultado de una consulta requerida[Usar] V: Adicionar consultas
orientadas a objetos en un lenguaje stand-alone como C++ o Java (ejm. SELECT ColMethod()
FROM Objeto)[Usar] VI: Escribe un procedimiento almacenado que trata con parametros y
con algo de ujo de control de tal forma que tenga funcionalidad[Usar]
Bibliografa: [Dietrich, 2001, Elmasri and Navathe, 2004, Celko, 2005, Korth and Silberschatz, 2002]
Topicos: I: Mapeo de esquemas conceptuales a esquemas relacionales. II: Entidad y integridad re-
ferencial. III: Algebra relacional y calculo relacional. IV: Diseno de bases de datos relaciona-
les. V: Dependencia funcional. VI: Descomposicion de un esquema. VII: Llaves candidatas,
SuperLlaves y cierre de un conjunto de atributos. VIII: Formas Normales (BCNF) IX: De-
pendencias multi-valoradas (4NF) X: Uniendo dependencias (PJNF, 5NF) XI: Teora de la
representacion.
Bibliografa: [Harrington, 2002, Elmasri and Navathe, 2004, Date, 2005, Korth and Silberschatz, 2002]
7. Bibliografa
[Celko, 2005] Celko, J. (2005). Joe Celkos SQL Programming Style. Elsevier.
[Date, 2005] Date, C. (2005). Data Mining: Practical Machine Learning Tools and Techniques, Second
Edition. Elsevier.
[Dietrich, 2001] Dietrich, S. W. (2001). Understanding Relational Database Query Languages, First
Edition. Prentice Hall.
[Elmasri and Navathe, 2004] Elmasri, R. and Navathe, S. B. (2004). Fundamentals of Database Sys-
tems, Fourth Edition. Addison Wesley.
[Harrington, 2002] Harrington, J. L. (2002). Relational Database Design Clearly Explained, Second
Edition. Morgan Kaufmann.
[Korth and Silberschatz, 2002] Korth, H. F. and Silberschatz, A. (2002). Fundamentos de Base de
Datos. McGraw-Hill.
[Rob and Coronel, 2004] Rob, P. and Coronel, C. (2004). Database Systems: Design, Implementation
and Management, Sixth Edition. Morgan Kaufmann.
[Simsion and Witt, 2004] Simsion, G. and Witt, G. (2004). Data Modeling Essentials, Third Edition.
Morgan Kaufmann.
[Whitehorn and Marklyn, 2001] Whitehorn, M. and Marklyn, B. (2001). Inside Relational Databases,
Second Edition. Springer.
2. Fundamentacion
Es una extension de los cursos de Analisis Matematico I y Analisis Matematico II, tomando en
cuenta dos o mas variables, indispensables para aquellas materias que requieren trabajar con geometra
en curvas y supercies, as como en procesos de busqueda de puntos extremos.
3. Objetivos del curso
Diferenciar e integrar funciones vectoriales de variable real, entender y manejar el concepto de
parametrizacion. Describir una curva en forma parametrica.
Describir, analizar, disenar y formular modelos continuos que dependen de mas de una variable.
Establecer relaciones entre diferenciacion e integracion y aplicar el calculo diferencial e integral
ala resolucion de problemas geometricos y de optimizacion.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
j) Aplicar la base matematica, principios de algoritmos y la teora de la Ciencia de la Computacion en
el modelamiento y diseno de sistemas computacionales de tal manera que demuestre comprension
de los puntos de equilibrio involucrados en la opcion escogida. (Evaluar)
Topicos: I: Integracion de Riemann II: Integracion sobre regiones III: Cambio de coordenadas
IV: Aplicaciones
7. Bibliografa
[Apostol, 1973] Apostol, T. M. (1973). Calculus, volume II. Editorial Reverte.
[Bartle, 1976] Bartle, R. G. (1976). The Elements of Real Analysis. Wiley; 2 edition.
[Simmons, 1995] Simmons, G. F. (1995). Calculus With Analytic Geometry. McGraw-Hill Scien-
ce/Engineering.
2. Fundamentacion
Provee de una introduccion a la teora de las probabilidades e inferencia estadstica con aplicaciones,
necesarias en el analisis de datos, diseno de modelos aleatorios y toma de decisiones.
3. Objetivos del curso
Que el alumno aprenda a utilizar las herramientas de la estadstica para tomar decisiones ante
situaciones de incertidumbre.
Que el alumno aprenda a obtener conclusiones a partir de datos experimentales.
Que el alumno pueda extraer conslusiones utiles sobre la totalidad de una poblacion basandose
en informacion. recolectada
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
i) Utilizar tecnicas y herramientas actuales necesarias para la practica de la computacion. (Usar)
j) Aplicar la base matematica, principios de algoritmos y la teora de la Ciencia de la Computacion en
el modelamiento y diseno de sistemas computacionales de tal manera que demuestre comprension
de los puntos de equilibrio involucrados en la opcion escogida. (Evaluar)
Topicos: I: Espacios muestrales y eventos II: Axiomas y propiedades de probabilidad III: Proba-
bilidad condicional IV: Independencia, V: Teorema de Bayes
Objetivos de Aprendizaje I: Identicar espacios aleatorios [Usar] II: disenar modelos probabils-
ticos [Usar] III: Identicar eventos como resultado de un [Usar]experimento aleatorio [Usar]
IV: Calcular la probabilidad de ocurrencia de un evento [Usar] V: Hallar la probabilidad
usando condicionalidad, independencia y Bayes [Usar]
Topicos: I: Denicion y tipos de variables aleatorias II: Distribucion de probabilidades III: Fun-
ciones densidad IV: Valor esperado V: Momentos
Topicos: I: Distribuciones de probabilidad basicas II: Densidades de probabilidad basicas III: Fun-
ciones de variable aleatoria
7. Bibliografa
[Devore, 1998] Devore, J. L. (1998). Probabilidad y estadstica para ingeniera y ciencias. International
Thomson Editores.
[Meyer, 1970] Meyer, P. L. (1970). Introductory Probability and Statistical Applications. Addison
Wesley.
[William Mendenhall, 1997] William Mendenhall, T. S. (1997). Probabilidad y Estadstica para Inge-
neras Ciencias. Prentice Hall Hispanoamericano, S.A.
Prerrequisitos:
2. Fundamentacion
La Universidad Catolica San Pablo busca ofrecer una vision de la persona humana y del mundo
iluminada por el Evangelio y, consiguientemente, por la fe en Cristo-Logos, como centro de la creacion
y de la historia. El estudio de la teologa es fundamental para dicha comprension de Dios, del hombre
y del cosmos. La Teologa permite al creyente en Cristo conocer y comprender mejor su fe. Al no
creyente, la comprension de la cosmovision que ha forjado la cultura occidental en la cual ha nacido,
vive y desarrollara su propia vida, as como abrirse al conocimiento de Dios desde Jesucristo y su
Iglesia.
4. Resultados (Outcomes)
n) Aplicar conocimientos de humanidades en su labor profesional. (Usar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano. (Usar)
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome n,n,o
C21. Comprender el aspecto profesional, legal, seguridad, asuntos polticos, humanistas, ambientales,
culturales y eticos. Outcome n,n
C22. Capacidad para demostrar las actitudes y prioridades que honrar, proteger y mejorar la estatura
y la reputacion etica de la profesion. Outcome n,n
Topicos: I: El hombre: un ser inquieto en busqueda. II: La va ascendente del hombre a Dios.
a) La razon y el conocimiento de Dios. b) La experiencia existencial. c) La busqueda religiosa.
III: Expresiones del espritu religioso. IV: La negacion de Dios.
Objetivos de Aprendizaje I: Mostrar la hipotesis Dios como algo connatural al espritu humano
y las consecuencias que de ello se derivan. [Familiarizarse]
Bibliografa: [Valdivia Laura, 2011, Arroyo, 2006, Ratzinger, 2007, Swinburne, 2011, De Lubac, 2005]
Topicos: I: Dios habla al hombre. II: Jesucristo: Plenitud de la Revelacion. III: Las Sagradas
Escrituras. IV: La Tradicion. V: La sucesion apostolica.
Topicos: I: La fe natural y el acto de creer como acto razonable. II: La Fe sobrenatural (Fides qua
creditur). III: El contenido de la Fe (Fides quae creditur). IV: Fe y razon.
Objetivos de Aprendizaje I: Estimar el acto de Fe como la respuesta del hombre a Dios, que se
revela, y su relacion con la razon. [Familiarizarse]
Bibliografa: [Conferencia Episcopal, 1992, Benedicto, 2006, Pablo II, 1998a, Conferencia Episcopal, 1992,
Benedicto, 2011, Anselmo, 1970]
Topicos: I: Quien es Jesus? a) Historicidad de Jesus de Nazaret. II: Que dice Jesus de s mismo?
a) Jesus el Mesas. b) Jesus el Hijo del Hombre. c) Jesus el Hijo de Dios. III: Que hizo
Jesus? a) Testigo de la Verdad: El mensaje de Jesus. b) Paso haciendo el bien: Los milagros
de Jesus. c) La Resurreccion. IV: La Fe de la Iglesia en Cristo. a) Verdadero Dios: Logos.
b) Verdadero Hombre: La Encarnacion. c) Dios y hombre Verdadero: La union Hipostatica. d ) El
Reconciliador, el Senor.
Bibliografa: [Guardini, 2006, XVI, 2011, Pablo II, 1998b, Conferencia Episcopal, 1992, Giacomo, 2001,
Adam, 1972]
7. Bibliografa
[Con, ] Concilio Vaticano II, Constitucion Dogmatica Dei Verbum sobre la divina revelacion. Paulinas.
[Adam, 1972] Adam, K. (1972). El Cristo de nuestra fe. Herder.
[Anselmo, 1970] Anselmo, S. (1970). Proslogion. Aguilar Argentina.
[Arroyo, 2006] Arroyo, L. M. (2006). Humanismo y cristianismo: El humanismo ateo. Themata:
Revista de losofa, (36):207222.
[Benedicto, 2006] Benedicto, X. (2006). Discurso en la universidad de ratisbona. Fe, razon y univer-
sidad. Recuerdos y reexiones.
[Benedicto, 2011] Benedicto, X. (2011). Discurso en la entrega del premio ratzinger.
[Concilio Vaticano, 1973] Concilio Vaticano, I. (1973). Constitucion dogmatica sobre la iglesia lumen
gentium. Constituciones. Decretos. Declaraciones.
[Conferencia Episcopal, 1992] Conferencia Episcopal, E. (1992). Catecismo de la Iglesia Catolica.
Asociacion de Editores del Catecismo, 5 edition.
[De Lubac, 1988] De Lubac, H. (1988). Catolicismo: Aspectos Sociales del Dogma. Ediciones Encuen-
tro.
[De Lubac, 2005] De Lubac, H. (2005). El drama del humanismo ateo: Prologo de Valent Puig.
Encuentro.
[Giacomo, 2001] Giacomo, B. (2001). Jesus de nazaret: Centro del cosmos y de la historia.
[Guardini, 2006] Guardini, R. (2006). La esencia del cristianismo: una etica para nuestro tiempo.
Ediciones Cristianas.
[Latourelle, 1985] Latourelle, R. (1985). Theologa de la revelacion, volume 19. Sgueme.
[Pablo II, 1998a] Pablo II, J. (1998a). Carta encclica des et ratio sobre las relaciones entre fe y
razon. Technical report, 14-IX.
[Pablo II, 1998b] Pablo II, J. (1998b). Creo en Jesucristo: Catequesis sobre el Credo (II), volume 2.
Palabra.
[Ratzinger, 2007] Ratzinger, J. (2007). Jesus de Nazareth. Planeta.
[Swinburne, 2011] Swinburne, R. (2011). La existencia de Dios. San Esteban.
[Valdivia Laura, 2011] Valdivia Laura, C. A. (2011). Separata homo capax dei.
[XVI, 2011] XVI, B. (2011). Jesus de Nazaret. Desde la entrada en Jerusalen hasta la Resurreccion.
Ediciones Encuentro.
[XVI, 1992] XVI, P. B. (1992). La Iglesia: una comunidad siempre en camino. Paulinas.
SUMILLA
Prerrequisitos:
2. Fundamentacion
La Gestion de la Informacion (IM-Information Management ) juega un rol principal en casi todas
las areas donde los computadores son usados. Esta area incluye la captura, digitalizacion, representa-
cion, organizacion, transformacion y presentacion de informacion; algortmos para mejorar la eciencia
y efectividad del acceso y actualizacion de informacion almacenada, modelamiento de datos y abstrac-
cion, y tecnicas de almacenamiento de archivos fsicos.
Este tambien abarca la seguridad de la informacion, privacidad, integridad y proteccion en un am-
biente compartido. Los estudiantes necesitan ser capaces de desarrollar modelos de datos conceptuales
y fsicos, determinar que metodos de IM y tecnicas son apropiados para un problema dado, y ser
capaces de seleccionar e implementar una apropiada solucion de IM que reeje todas las restricciones
aplicables, incluyendo escalabilidad y usabilidad.
Mostrar las formas adecuadas de almacenamiento de informacion basada en sus diversos enfoques
y su posterior recuperacion de informacion.
4. Resultados (Outcomes)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. ()
C7. Ser capaz de aplicar los principios y tecnologas de ingeniera de software para asegurar que
las implementaciones de software son robustos, ables y apropiados para su publico objetivo.
Outcome e
CS4. Implementar la teora apropiada, practicas y herramientas para la especicacion, diseno, imple-
mentacion y mantenimiento, as como la evaluacion de los sistemas basados en computadoras.
Outcome i
CS6. Evaluar los sistemas en terminos de atributos de calidad en general y las posibles ventajas y
desventajas que se presentan en el problema dado. Outcome j
Topicos: I: Almacenamiento y estructura de archivos. II: Archivos indexados. III: Archivos Hash. IV: Ar-
chivos de Firma. V: Arboles B. VI: Archivos con ndice denso. VII: Archivos con registros de
tamano variable. VIII: Eciencia y Anacion de Bases de Datos.
Topicos: I: Transacciones. II: Fallo y recuperacion. III: Control concurente. IV: Interaccion de
gestion de transacciones con el almacenamiento, especialmente en almacenamiento.
7. Bibliografa
[Burleson, 2004] Burleson, D. K. (2004). Physical Database Design Using Oracle. CRC Press.
[Celko, 2005] Celko, J. (2005). Joe Celkos SQL Programming Style. Elsevier.
[Date, 2005] Date, C. (2005). Data Mining: Practical Machine Learning Tools and Techniques, Second
Edition. Elsevier.
[M. Tamer Ozsu, 1999] M. Tamer Ozsu, P. V. (1999). Principles of Distributed Database Systems,
Second Edition. Prentice Hall.
[Peter Brusilovsky, 1998] Peter Brusilovsky, Alfred Kobsa, J. V. (1998). Adaptive Hypertext and Hy-
permedia, First Edition. Springer.
[Philip A. Bernstein, 1997] Philip A. Bernstein, E. N. (1997). Principles of Transaction Processing,
First Edition. Morgan Kaufmann.
[Ramez Elmasri, 2004] Ramez Elmasri, S. B. N. (2004). Fundamentals of Database Systems, Fourth
Edition. Addison Wesley.
Prerrequisitos:
2. Fundamentacion
La tarea de desarrollar software, excepto para aplicaciones sumamente simples, exige la ejecucion
de un proceso de desarrollo bien denido. Los profesionales de esta area requieren un alto grado de
conocimiento de los diferentes modelos e proceso de desarrollo, para que sean capaces de elegir el mas
idoneo para cada proyecto de desarrollo. Por otro lado, el desarrollo de sistemas de mediana y gran
escala requiere del uso de bibliotecas de patrones y componentes y del dominio de tecnicas relacionadas
al diseno basado en componentes.
Familiarizar al alumno con los procesos de modelamiento y construccion de software a traves del
uso de herramientas CASE.
Los alumnos debe ser capaces de seleccionar Arquitecturas y Plataformas tecnologicas ad-hoc a
los escenarios de implementacion.
Brindar a los alumnos mejores practicas para la vericacion y validacion del software.
4. Resultados (Outcomes)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Usar)
C8. Entendimiento de lo que las tecnologas actuales pueden y no pueden lograr. Outcome b,c,k
C11. Entendimiento del concepto del ciclo de vida, incluyendo la importancia de sus fases (plani-
cacion, desarrollo, implementacion y evolucion). Outcome c
C12. Entender las implicaciones de ciclo de vida para el desarrollo de todos los aspectos de los siste-
mas informaticos (incluyendo software, hardware, y la interfaz de la computadora humana).
Outcome c,i
C13. Comprender la relacion entre la calidad y la gestion del ciclo de vida. Outcome c,i
CS1. Modelar y disenar sistemas de computadora de una manera que se demuestre comprension del
balance entre las opciones de diseno. Outcome c
CS2. Identicar y analizar los criterios y especicaciones apropiadas a los problemas especcos, y
planicar estrategias para su solucion. Outcome b,c
CS4. Implementar la teora apropiada, practicas y herramientas para la especicacion, diseno, imple-
mentacion y mantenimiento, as como la evaluacion de los sistemas basados en computadoras.
Outcome b,c,i
CS10. Implementar efectivamente las herramientas que se utilizan para la construccion y la docu-
mentacion de software, con especial enfasis en la comprension de todo el proceso involucrado
en el uso de computadoras para resolver problemas practicos. Esto debe incluir herramientas
para el control de software, incluyendo el control de versiones y gestion de la conguracion.
Outcome i,k
Topicos: I: Al describir los requisitos funcionales utilizando, por ejemplo, los casos de uso o historias
de los usuarios. II: Propiedades de requisitos, incluyendo la consistencia, validez, integridad y via-
bilidad. III: Requisitos de software elicitation. IV: Descripcion de datos del sistema utilizando,
por ejemplo, los diagramas de clases o diagramas entidad-relacion. V: Requisitos no funcionales
y su relacion con la calidad del software. VI: Evaluacion y uso de especicaciones de requisi-
tos. VII: Requisitos de las tecnicas de modelado de analisis. VIII: La aceptabilidad de las con-
sideraciones de certeza/incertidumbre sobre el comportamiento del software/sistema. IX: Pro-
totipos. X: Conceptos basicos de la especicacion formal de requisitos. XI: Especicacion de
requisitos. XII: Validacion de requisitos. XIII: Rastreo de requisitos.
Objetivos de Aprendizaje I: Enumerar los componentes clave de un caso de uso o una descrip-
cion similar de algun comportamiento que es requerido para un sistema[Evaluar] II: Describir
como el proceso de ingeniera de requisitos apoya la obtencion y validacion de los requisitos de
comportamiento[Evaluar] III: Interpretar un modelo de requisitos dada por un sistema de soft-
ware simple[Evaluar] IV: Describir los retos fundamentales y tecnicas comunes que se utilizan
para la obtencion de requisitos[Evaluar] V: Enumerar los componentes clave de un modelo de
datos (por ejemplo, diagramas de clases o diagramas ER)[Evaluar] VI: Identicar los requisitos
Topicos: I: Principios de diseno del sistema: niveles de abstraccion (diseno arquitectonico y el di-
seno detallado), separacion de intereses, ocultamiento de informacion, de acoplamiento y de
cohesion, de reutilizacion de estructuras estandar. II: Diseno de paradigmas tales como diseno
estructurado (descomposicion funcional de arriba hacia abajo), el analisis orientado a objetos
y diseno, orientado a eventos de diseno, diseno de nivel de componente, centrado datos es-
tructurada, orientada a aspectos, orientado a la funcion, orientado al servicio. III: Modelos
estructurales y de comportamiento de los disenos de software. IV: Diseno de patrones. V: Re-
laciones entre los requisitos y disenos: La transformacion de modelos, el diseno de los contratos,
invariantes. VI: Conceptos de arquitectura de software y arquitecturas estandar (por ejemplo,
cliente-servidor, n-capas, transforman centrados, tubos y ltros). VII: El uso de componentes de
diseno: seleccion de componentes,diseno,adaptacion y componentes de ensamblaje, componentes
y patrones, componentes y objetos(por ejemplo,construir una GUI usando un standar widget
set) VIII: Disenos de refactorizacion utilizando patrones de diseno IX: Calidad del diseno in-
terno, y modelos para: eciencia y desempeno, redundancia y tolerancia a fallos, trazavilidad de
los requerimientos. X: Medicion y analisis de la calidad de un diseno. XI: Compensasiones entre
diferentes aspectos de la calidad. XII: Aaplicaciones en frameworks. XIII: Middleware: El para-
digma de la orientacion a objetos con middleware, requerimientos para correr y clasicar objetos,
monitores de procesamiento de transacciones y el sistema de ujo de trabajo. XIV: Principales
disenos de seguridad y codicacion(cross-reference IAS/Principles of securre design). a) Princi-
pio de privilegios mnimos b) Principio de falla segura por defecto c) Principio de aceptabilidad
psicologica
7. Bibliografa
[Larman, 2008] Larman, C. (2008). Applying UML and Patterns. Prentice Hall.
Prerrequisitos:
2. Fundamentacion
Un algoritmo es, esencialmente, un conjunto bien denido de reglas o instrucciones que permitan
resolver un problema computacional. El estudio teorico del desempeno de los algoritmos y los recursos
utilizados por estos, generalmente tiempo y espacio, nos permite evaluar si un algoritmo es adecuado
para un resolver un problema especco, compararlo con otros algoritmos para el mismo problema o
incluso delimitar la frontera entre lo viable y lo imposible.
Esta materia es tan importante que incluso Donald E. Knuth denio a Ciencia de la Computacion
como el estudio de algoritmos.
En este curso seran presentadas las tecnicas mas comunes utilizadas en el analisis y diseno de algo-
ritmos ecientes, con el proposito de aprender los principios fundamentales del diseno, implementacion
y analisis de algoritmos para la solucion de problemas computacionales.
Estudiar los algoritmos mas representativos, introductorios de las clases mas importantes de
problemas tratados en computacion.
Ser capaz de responder a las siguientes preguntas cuando le sea presentado un nuevo algoritmo:
Cuan buen desempeno tiene?, Existe una mejor forma de resolver el problema?
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
C2. Capacidad para tener una perspectiva crtica y creativa para identicar y resolver problemas
utilizando el pensamiento computacional. Outcome b
C3. Una comprension intelectual de, y el aprecio por el papel central de los algoritmos y estructuras
de datos. Outcome b
C6. Capacidad para disenar y poner en practica las unidades estructurales mayores que utilizan
algoritmos y estructuras de datos y las interfaces a traves del cual estas unidades se comunican.
Outcome i
C16. Capacidad para identicar temas avanzados de computacion y de la comprension de las fronteras
de la disciplina. Outcome h
Topicos: I: Diferencias entre el mejor, el esperado y el peor caso de un algoritmo. II: Analisis
asintotico de complejidad de cotas superior y esperada. III: Denicion formal de la Notacion
Big O. IV: Clases de complejidad como constante, logartmica, lineal, cuadratica y exponen-
cial. V: Uso de la notacion Big O. VI: Relaciones recurrentes. VII: Analisis de algoritmos
iterativos y recursivos. VIII: Algunas versiones del Teorema Maestro.
Objetivos de Aprendizaje I: Explique a que se reere con mejor, esperado y peor caso de
comportamiento de un algoritmo[Evaluar] II: En el contexto de a algoritmos especcos, iden-
tique las caractersticas de data y/o otras condiciones o suposiciones que lleven a diferentes
comportamientos[Evaluar] III: Determine informalmente el tiempo y el espacio de complejidad
de simples algoritmos[Evaluar] IV: Indique la denicion formal de Big O[Evaluar] V: Lista y
contraste de clases estandares de complejidad[Evaluar] VI: Use la notacion formal de la Big
O para dar lmites superiores asintoticos en la complejidad de tiempo y espacio de los algorit-
mos[Evaluar] VII: Usar la notacion formal Big O para dar lmites de casos esperados en el
tiempo de complejidad de los algoritmos[Evaluar] VIII: Explicar el uso de la notacion theta
grande, omega grande y o pequena para describir la cantidad de trabajo hecho por un algo-
ritmo[Evaluar] IX: Usar relaciones recurrentes para determinar el tiempo de complejidad de
algoritmos recursivamente denidos[Evaluar] X: Resuelve relaciones de recurrencia basicas, por
ejemplo. usando alguna forma del Teorema Maestro[Evaluar]
Bibliografa: [Kleinberg and Tardos, 2005, Dasgupta et al., 2006, Cormen et al., 2009, Sedgewick and Flajolet, 2013,
Knuth, 1997]
Topicos: I: Algoritmos de fuerza bruta. II: Algoritmos voraces. III: Divide y venceras. IV: Progra-
macion Dinamica.
Objetivos de Aprendizaje I: Para cada una de las estrategias (fuerza bruta, algoritmo goloso, divi-
de y venceras, recursividad en reversa y programacion dinamica), identica un ejemplo practico
en el cual se pueda aplicar[Evaluar] II: Utiliza un enfoque voraz para resolver un problema
especco y determina si la regla escogida lo gua a una solucion optima[Evaluar] III: Usa un
algoritmo de divide-y-venceras para resolver un determinado problema[Evaluar] IV: Usa pro-
gramacion dinamica para resolver un problema determinado[Evaluar] V: Determina el enfoque
algortmico adecuado para un problema[Evaluar]
Bibliografa: [Kleinberg and Tardos, 2005, Dasgupta et al., 2006, Cormen et al., 2009, Alsuwaiyel, 1999]
Topicos: I: Algoritmos numericos simples, tales como el calculo de la media de una lista de numeros,
encontrar el mnimo y maximo. II: Algoritmos de busqueda secuencial y binaria. III: Algoritmos
de ordenamiento de peor caso cuadratico (seleccion, insercion) IV: Algoritmos de ordenamiento
con peor caso o caso promedio en O(N lg N) (Quicksort, Heapsort, Mergesort) V: Grafos y
algoritmos en grafos: a) Representacion de grafos (ej., lista de adyacencia, matriz de adyacencia)
b) Recorrido en profundidad y amplitud VI: Montculos (Heaps) VII: Grafos y algoritmos en
grafos: a) Algoritmos de la ruta mas corta (algoritmos de Dijkstra y Floyd) b) Arbol de expansion
mnima (algoritmos de Prim y Kruskal)
Bibliografa: [Kleinberg and Tardos, 2005, Dasgupta et al., 2006, Cormen et al., 2009, Sedgewick and Wayne, 2011,
Goodrich and Tamassia, 2009]
Topicos: I: Introduccion a las clases P y NP y al problema P vs. NP. II: Introduccion y ejemplos de
problemas NP- Completos y a clases NP-Completos.
Bibliografa: [Kleinberg and Tardos, 2005, Dasgupta et al., 2006, Cormen et al., 2009]
7. Bibliografa
[Alsuwaiyel, 1999] Alsuwaiyel, H. (1999). Algorithms: Design Techniques and Analysis. World Scien-
tic.
[Cormen et al., 2009] Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. (2009). Introduction
to Algorithms, Third Edition. The MIT Press, 3rd edition.
[Dasgupta et al., 2006] Dasgupta, S., Papadimitriou, C., and Vazirani, U. (2006). Algorithms.
McGraw-Hill Education.
[Goodrich and Tamassia, 2009] Goodrich, M. T. and Tamassia, R. (2009). Algorithm Design: Foun-
dations, Analysis and Internet Examples. John Wiley & Sons, Inc., 2nd edition.
[Kleinberg and Tardos, 2005] Kleinberg, J. and Tardos, E. (2005). Algorithm Design. Addison-Wesley
Longman Publishing Co., Inc.
[Knuth, 1997] Knuth, D. (1997). The Art of Computer Programming: Fundamental algorithms. Num-
ber v. 1. Addison-Wesley.
[Rawlins, 1992] Rawlins, G. (1992). Compared to What?: An Introduction to the Analysis of Algo-
rithms. Computer Science Press.
[Sedgewick and Flajolet, 2013] Sedgewick, R. and Flajolet, P. (2013). An Introduction to the Analysis
of Algorithms. Pearson Education.
[Sedgewick and Wayne, 2011] Sedgewick, R. and Wayne, K. (2011). Algorithms. Pearson Education.
[Tarjan, 1983] Tarjan, R. E. (1983). Data Structures and Network Algorithms. Society for Industrial
and Applied Mathematics.
Prerrequisitos:
2. Fundamentacion
Fsica Computacional es un curso que le permitira al estudiante entender las leyes de fsica de ma-
cropartculas y micropartculas considerado desde un punto material hasta un sistemas de partculas;
debiendose tener en cuenta que los fenomenos aqu estudiados van desde la mecanica clasica hasta la
mecanica cuantica;Cinematica, Dinamica, Trabajo y Energa, Termodinamica, Fluidos, Oscilaciones,
Electrodinamica y Fsica Cuanticas; ademas se debe asociar que estos problemas deben ser resueltos
con algoritmos computacionales.
Poseer capacidad y habilidad en la interpretacion de problemas clasicos y cuanticos con condiciones
de frontera reales que contribuyen en la elaboracion de soluciones ecientes y factibles en diferentes
areas de la Ciencia de la Computacion.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Fami-
liarizarse)
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome i
CS2. Identicar y analizar los criterios y especicaciones apropiadas a los problemas especcos, y
planicar estrategias para su solucion. Outcome j
Topicos: I: Introduccion. II: Naturaleza de la Fsica. III: Relacion de la fsica con las ciencias basicas
y aplicadas. IV: Modelo idealizado. V: Magnitudes fsicas elementales. VI: Propiedades de
los vectores. VII: Componentes de un vector y vectores unitarios. VIII: Producto de vectores.
IX: Ejercicios y problemas.
Objetivos de Aprendizaje I: Entender y trabajar con las magnitudes fsicas del SI.[Usar] II: Abs-
traer de la naturaleza los conceptos fsicos rigurosos y representarlos en modelos vectoriales.[Usar]
III: Entender y aplicar los conceptos vectoriales a problemas fsicos reales.[Usar]
Bibliografa: [Landau et al., 2007, Thijssen, 1999, Raymond A. Serway, 2009, Alonso and Finn, 1995]
Topicos: I: Velocidad y Aceleracion Instantanea. II: Interpretacion algebraico y geometrico III: Ca-
da Libre. IV: Movimiento Compuesto. V: Movimiento Circular. VI: Aplicacion con POO
VII: Ejercicios y problemas.
Bibliografa: [Landau et al., 2007, Thijssen, 1999, Rieger., 2002, Schwarz., 1998, Hugh D. Young, 2007,
Raymond A. Serway, 2009]
Topicos: I: Fuerzas e interacciones. II: Masa inercial. III: Peso. IV: Condiciones de Equilibrio.
V: Leyes de Newton VI: Dinamica del movimiento compuesto. VII: Aplicacion de las leyes
de Newton. VIII: Aplicacion con POO. IX: Ejercicios y problemas.
Objetivos de Aprendizaje I: Conocer los conceptos de fuerza.[Usar] II: Conocer las interaccio-
nes de la materia a traves de la inercia.[Usar] III: Conocer los conceptos de equilibrio.[Usar]
IV: Conocer y aplicar las leyes de Newton. [Usar] V: Conocer y aplicar las leyes de la dinamica
lineal y circular.[Usar] VI: Resolver problemas.[Usar]
Bibliografa: [Landau et al., 2007, Thijssen, 1999, Rieger., 2002, Schwarz., 1998, Hugh D. Young, 2007,
Raymond A. Serway, 2009]
Topicos: I: Trabajo realizado por una fuerza constante. II: Trabajo realizado por fuerzas variables.
III: Trabajo y energa cinetica. IV: Potencia. V: Energa potencial gravitatoria. VI: Energa
potencial elastica. VII: Fuerzas conservativas y no conservativas. VIII: Principios de conser-
vacion de la energa. IX: Ejercicios y problemas.
Objetivos de Aprendizaje I: Establecer los conceptos de trabajo y energa.[Usar] II: Conocer ti-
pos de energa.[Usar] III: Establecer la relacion energa convencional y no convencional.[Usar]
IV: Conocer y aplicar los conceptos de conservacion de energa.[Usar] V: Resolver proble-
mas.[Usar]
Bibliografa: [Landau et al., 2007, Thijssen, 1999, Schwarz., 1998, Hugh D. Young, 2007, Raymond A. Serway, 2009]
Topicos: I: Momento lineal. II: Conservacion del momento lineal. III: Centro de masa y de grave-
dad. IV: Movimiento de un sistema de partculas. V: Ejercicios y problemas.
Objetivos de Aprendizaje I: Establecer los conceptos de momento lineal.[Usar] II: Conocer los
conceptos de conservacion del momento lineal.[Usar] III: Conocer el momento de un sistema
de partculas.[Usar] IV: Resolver problemas.[Usar]
Bibliografa: [Landau et al., 2007, Thijssen, 1999, Schwarz., 1998, Hugh D. Young, 2007, Raymond A. Serway, 2009]
Topicos: I: Estatica de Fluidos. II: Dinamica de uidos. III: Viscosidad. IV: Ejercicios y proble-
mas.
Objetivos de Aprendizaje I: Conocer los conceptos y principios que rigen a los uidos.[Usar]
II: Conocer el movimiento de uidos [Usar] III: Resolver problemas.[Usar]
Bibliografa: [Landau et al., 2007, Mermin, 2006, Gould, 2006, Hugh D. Young, 2007, Raymond A. Serway, 2009]
Bibliografa: [Landau et al., 2007, Pang, 2006, Shabana, 2008, Schwarz., 1998, Hugh D. Young, 2007,
Raymond A. Serway, 2009]
Topicos: I: Movimiento armonico simple II: Sistema masa - resorte. III: El pendulo. IV: Movi-
miento amortiguado V: Resonancia VI: Ondas mecanicas. VII: Resolver problemas.
Objetivos de Aprendizaje I: Establecer los conceptos de oscilacion.[Usar] II: Conocer los siste-
mas amortiguados.[Usar] III: Conocer fenomenos de resonancia.[Usar] IV: Analizar las dife-
rentes magnitudes que intervienen en el movimiento ondulatorio para su aplicacion a variados
casos[Usar] V: Resolver problemas.[Usar]
7. Bibliografa
[Alonso and Finn, 1995] Alonso, M. and Finn, E. (1995). Fsica. Addison Wesley Iberoamericana.
[Borneianu, 2008] Borneianu, R. H. L. J. P. C. C. (2008). A Survey of Computational Physics: Intro-
ductory Computational Science. Princeton University Press. 978-0691131375.
[Gould, 2006] Gould, H. (2006). An Introduction to Computer Simulation Methods: Applications to
Physical Systems. Addison Wesley, 3rd edition edition. 978-0805377583.
[Hugh D. Young, 2007] Hugh D. Young, Roger A. Freedman, L. F. (2007). University Physics with
Modern Physics. Addison Wesley.
[Landau et al., 2007] Landau, R. H., Paez, M. J., and Bordeianu, C. C. (2007). Computational Physics:
Problem Solving with Computers. Wiley-VCH, 2nd edition. 978-3527406265.
[Mermin, 2006] Mermin, N. D. (2006). Solving PDEs in C++. SIAM, Society for Industrial and
Applied Mathematics, 1 edition edition. 978-0898716016.
[Pang, 2006] Pang, T. (2006). An Introduction to Computational Physics. Cambridge University
Press, 2nd edition. 978-0521825696.
[Raymond A. Serway, 2009] Raymond A. Serway, J. W. J. (2009). Physics for Scientists and Engi-
neers. Brooks Cole.
[Rieger., 2002] Rieger., A. K. H. H. (2002). Optimization Algorithms in Physics. Wiley-VCH, 1 edition
edition. 978-3527403073.
[Schwarz., 1998] Schwarz., N. G. A. D. S. (1998). Physics for computer science students. Springer,
2nd edition. 978-0387949031.
[Shabana, 2008] Shabana, A. A. (2008). Computational Continuum Mechanics. Cambridge University
Press, 1 edition edition. 978-0521885690.
[Thijssen, 1999] Thijssen, J. M. (1999). Computational Physics. Cambridge University Press. 978-
0521575881.
Prerrequisitos:
2. Fundamentacion
En este curso se estudia y analiza algoritmos numericos que contribuyen en la elaboracion de
soluciones ecientes y utiles en diferentes areas de las ciencias de la computacion
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
Topicos: I: Aritmetica de punto otante II: Error, estabilidad, convergencia. III: Series de Taylor
Bibliografa: [Richard L. Burden, 2002, David Kincaid, 1994, Steven C. Chapra, 1988]
Topicos: I: Diferenciacion numerica e integracion (regla de Simpson) II: Metodos implcitos y ex-
plcitos
6. Bibliografa
[David Kincaid, 1994] David Kincaid, W. C. (1994). Analisis Numerico. Addison Wesley Iberoame-
ricana.
[Richard L. Burden, 2002] Richard L. Burden, J. D. F. (2002). Analisis Numerico. Thomson Learning.
[Steven C. Chapra, 1988] Steven C. Chapra, R. P. C. (1988). Metodos Numericos para Ingenieros
McGraw. MacGraw Hill.
[Zill, 2002] Zill, D. G. (2002). Ecuaciones Diferenciales con Problemas de Valores en la Frontera.
Thomson Learning.
Prerrequisitos: Ninguno
2. Fundamentacion
Favorece al estudiante a identicarse a la Comunidad Academica de la Universidad, en la medida
en que le brinda canales naturales de integracion a su grupo y a su Centro de Estudios y le permite,
desde una vision alternativa, visualizar la vala interior de las personas a su alrededor, a la vez que
puede conocer mejor la suya propia. Relaciona al universitario, a traves de la experimentacion, con
un nuevo lenguaje, un medio de comunicacion y expresion que va mas alla de la expresion verbal
conceptualizada. Coadyuva al estudiante en su formacion integral, desarrollando en el capacidades
corporales. Estimula en el, actitudes anmicas positivas, aptitudes cognitivas y afectivas. Enriquece su
sensibilidad y despierta su solidaridad. Desinhibe y socializa, relaja y alegra, abriendo un camino de
apertura de conocimiento del propio ser y el ser de los demas.
4. Resultados (Outcomes)
f ) Comunicarse efectivamente con audiencias diversas. (Usar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
Topicos: I: Que es el Arte? Una experiencia vivencial y personal. II: La llave maestra: la creati-
vidad. III: La importancia del teatro en la formacion personal y profesional. IV: Utilidad y
enfoque del arte teatral.
Topicos: I: Juego, luego existo. II: El juego del nino y el juego dramatico. III: Juegos de integracion
grupal y juegos de creatividad. IV: La secuencia teatral.
Objetivos de Aprendizaje I: Reconocer el juego como herramienta fundamental del teatro [Usar].
II: Interiorizar y revalorar el juego como aprendizaje creativo [Usar]. III: Acercar al estudiante
de manera espontanea y natural, a la vivencia teatral [Usar].
Topicos: I: Toma de conciencia del cuerpo. II: Toma de conciencia del espacio III: Toma de
conciencia del tiempo IV: Creacion de secuencias individuales y colectivas: Cuerpo, espacio y
tiempo. V: El uso dramatico del elemento: El juego teatral. VI: Presentaciones teatrales con
el uso del elemento.
7. Bibliografa
[Majorana, 1958] Majorana, A. (1958). El arte de hablar en publico. La Espana Moderna.
[Pavis, 1998] Pavis, P. (1998). Diccionario del Teatro. Edit. Piados BA.
SUMILLA
Prerrequisitos:
2. Fundamentacion
La etica-moral comienza cuando se trata de elegir un sentido correcto de realizacion humana en
su lnea propia, un sentido capaz de desarrollar en plenitud sus posibilidades. El problema de dar
sentido a la vida es fundamental en el ser humano, ya que lo acompana durante toda su existencia, y
la etica-moral interpela a la persona a vivir segun su n ultimo. En este sentido, la etica-moral busca
la realizacion del hombre en la eleccion correcta de dicho n.
4. Resultados (Outcomes)
e) Entender correctamente las implicancias profesionales, eticas, legales, de seguridad y sociales de
la profesion. (Usar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome e
C21. Comprender el aspecto profesional, legal, seguridad, asuntos polticos, humanistas, ambientales,
culturales y eticos. Outcome e, n
C22. Capacidad para demostrar las actitudes y prioridades que honrar, proteger y mejorar la estatura
y la reputacion etica de la profesion. Outcome n
Topicos: I: Presentacion del curso. II: Lo etico y moral. La etica como rama de la losofa. III: La
necesidad de la metafsica. IV: La experiencia moral. V: El problema del relativismo y su
solucion.
Objetivos de Aprendizaje I: Incorporar una primera nocion de la etica y la moral, junto con los
problemas que buscan resolver.[Familiarizarse]
Topicos: I: Caracterizacion del actuar humano. II: Libertad, conciencia y voluntariedad. Distintos
niveles de libertad. Factores que afectan la voluntariedad. III: El papel de la afectividad en la
moralidad. IV: La felicidad como n ultimo del ser humano.
Topicos: I: Que se entiende por virtud? II: La virtud moral: caracterizacion y modo de adquisicion;
el caracter dinamico de la virtud. III: Relacion entre las distintas virtudes eticas. Las virtudes
cardinales. Los vicios.
Objetivos de Aprendizaje I: Discernir las nociones de recta razon, conciencia moral, y moral natu-
ral, remarcando la necesidad de la ley moral natural como el parametro de conducta.[Familiarizarse]
7. Bibliografa
[A., 1994] A., R. L. (1994). Etica General. Ediciones de la Universidad de Navarra. UCSP:SU 170
R75.
[Aristoteles, 2003] Aristoteles (2003). Etica nicomaquea. Etica eudemia. Gredos. UCSP:185 A72E.
[D., 2006] D., B. (2006). Cien anos de modernismo. Fundacion San Pio X.
[Droste, ] Droste, K. Desordenes morales relacionados con el deleite sensible y alteraciones psicologicas
desde una antropologa perenne.
[Genta, 1970] Genta, J. B. (1970). Curso de etica. Centro de Estudios San Alberto Magno.
[Lego, 2009] Lego, P. (2009). UCSP.
[Pieper, 1997] Pieper, J. (1997). Las virtudes fundamentales. Rialp Madrid. UCSP:245 P54.
[Rey de Castro, 2010] Rey de Castro, J. (2010). Cuaderno de Trabajo de Introduccion a la Filosofa.
UCSP. UCSP:101 R47.
[S., 1994] S., L. C. (1994). Mero Cristianismo. Andres Bello. UCSP:230 L54.
Prerrequisitos:
2. Fundamentacion
La Programacion Competitiva combina retos de solucionar problemas con la diversion de competir
con otras personas. Ensena a los participantes a pensar mas rapido y desarrollar habilidades para
resolver problemas, que son de gran demanda en la industria. Este curso ensenara la resolucion de
problemas algortmicos de manera rapida combinando la teora de algoritmos y estructuras de datos
con la practica la solucion de los problemas.
Que el alumno aplique los conceptos aprendidos para la aplicacion sobre un problema real.
Que el alumno investigue la posibilidad de crear un nuevo algoritmo y/o tecnica nueva para
resolver un problema real.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
7. Bibliografa
[Cormen et al., 2009] Cormen, T. H., Leiserson, C. E., Rivest, R. L., and Stein, C. (2009). Introduction
to Algorithms. MIT Press.
Prerrequisitos:
2. Fundamentacion
Los algoritmos y estructuras de datos son una parte fundamental de la ciencia de la computacion
que nos permiten organizar la informacion de una manera mas eciente, por lo que es importante para
todo profesional del area tener una solida formacion en este aspecto.
En el curso de estructuras de datos avanzadas nuestro objetivo es que el alumno conozca y analize
estructuras complejas, como los Metodos de Acceso Multidimensional, Metodos de Acceso Espacio-
Temporal y Metodos de Acceso Metrico, etc.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Fami-
liarizarse)
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome h
CS2. Identicar y analizar los criterios y especicaciones apropiadas a los problemas especcos, y
planicar estrategias para su solucion. Outcome h
Topicos: I: Programacion estructurada II: Programacion Orientada a Objetos III: Tipos Abs-
tractos de Datos IV: Independencia del lenguaje de programacion del usuario de la estructura
V: Independencia de Plataforma VI: Control de concurrencia VII: Proteccion de Datos
VIII: Niveles de encapsulamiento (struct, class, namespace, etc)
Objetivos de Aprendizaje I: Que el alumno entienda las diferencias basicas que involucran las
distintas tecnicas de implementacion de estructuras de datos[Usar] II: Que el alumno analice
las ventajas y desventajas de cada una de las tecnicas existentes[Usar]
Bibliografa: [Cuadros-Vargas et al., 2004, Knuth, 2007a, Knuth, 2007b, Gamma et al., 1994]
Topicos: I: Metodos de Acceso para datos puntuales II: Metodos de Acceso para datos no puntuales
III: Problemas relacionados con el aumento de dimension
Topicos: I: Metodos de Acceso Metrico para distancias discretas II: Metodos de Acceso Metrico
para distancias continuas
Bibliografa: [Samet, 2006, Chavez et al., 2001, Traina Jr et al., 2000, Zezula et al., 2007]
Bibliografa: [PGregory Shakhnarovich and Indyk, 2006, Zezula et al., 2007, Samet, 2006]
7. Bibliografa
[Chavez et al., 2001] Chavez, E., Navarro, G., Baeza-Yates, R., and Marroqun, J. (2001). Proximity
searching in metric spaces. ACM Computing Surveys, 33(3):273321.
[Cuadros-Vargas et al., 2004] Cuadros-Vargas, E., Romero, R. A. F., Mock, M., and
Brisaboa, N. (2004). Implementing data structures: An incremental approach.
http://socios.spc.org.pe/ecuadros/cursos/pdfs/.
[Gaede and Gunther, 1998] Gaede, V. and Gunther, O. (1998). Multidimensional Access Methods.
ACM Computing Surveys, 30(2):170231.
[Gamma et al., 1994] Gamma, E., Helm, R., Johnson, R., and Vlissides, J. M. (1994). Design Patterns:
Elements of Reusable Object-Oriented Software. Computing Series. Addison-Wesley Professional.
ISBN-10: 0201633612.
[Knuth, 2007a] Knuth, D. E. (2007a). The Art of Computer Programming, Fundamental Algorithms,
volume I. Addison-Wesley, 3rd edition. 0-201-89683-4.
[Knuth, 2007b] Knuth, D. E. (2007b). The Art of Computer Programming, Sorting and Searching,
volume II. Addison-Wesley, 2nd edition. 0-201-89685-0.
[PGregory Shakhnarovich and Indyk, 2006] PGregory Shakhnarovich, T. D. and Indyk, P. (2006).
Nearest-Neighbor Methods in Learning and Vision: Theory and Practice. MIT Press, 1st edition.
ISBN 0-262-19547-X.
[Samet, 2006] Samet, H. (2006). Foundations of Multidimensional and Metric Data Structures. Else-
vier/Morgan Kaufmann, illustrated edition.
[Traina Jr et al., 2000] Traina Jr, C., Traina, A. J. M., Seeger, B., and Faloutsos, C. (2000). Slim-
Trees: High Performance Metric Trees Minimizing Overlap between Nodes. In Advances in Database
Technology - EDBT 2000, 6th International Conference on Extending Database Technology, volume
1777 of Lecture Notes in Computer Science, pages 5165, Konstanz, Germany. Springer.
[Zezula et al., 2007] Zezula, P., Amato, G., Dohnal, V., and Batko, M. (2007). Similarity Search: The
Metric Space Approach. Springer, 1st edition. ISBN-10: 0387291466.
Prerrequisitos:
2. Fundamentacion
Un Sistema Operativo es un programa que actua como intermediario entre el usuario y la maquina.
El proposito de un sistema operativo es proveer un ambiente en que el usuario pueda ejecutar sus
aplicaciones.
En este curso se estudiara el diseno del nucleo de los sistemas operativos. Ademas el curso con-
templa actividades practicas en donde se resolveran problemas de concurrencia y se modicara el
funcionamiento de un pseudo Sistema Operativo.
4. Resultados (Outcomes)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Evaluar)
g) Analizar el impacto local y global de la computacion sobre los individuos, organizaciones y socie-
dad. (Evaluar)
C6. Capacidad para disenar y poner en practica las unidades estructurales mayores que utilizan
algoritmos y estructuras de datos y las interfaces a traves del cual estas unidades se comunican.
Outcome h
Topicos: I: Papel y el proposito del sistema operativo. II: Funcionalidad de un sistema operativo tpi-
co. III: Los mecanismos de apoyo modelos cliente-servidor, dispositivos de mano. IV: Cuestiones
de diseno (eciencia, robustez, exibilidad, portabilidad, seguridad, compatibilidad) V: Inuen-
cias de seguridad, creacion de redes, multimedia, sistemas de ventanas.
Bibliografa: [Avi Silberschatz, 2012, Stallings, 2005, Tanenbaum, 2006, Tanenbaum, 2001, Mateu, 1999]
Topicos: I: Metodos de estructuracion (monoltico, capas, modular, los modelos micro-kernel) II: Abs-
tracciones, procesos y recursos. III: Los conceptos de interfaces de programa de aplicacion (API)
IV: La evolucion de las tecnicas de hardware / software y las necesidades de aplicacion V: Or-
ganizacion de dispositivos. VI: Interrupciones: metodos e implementaciones. VII: Concepto de
usuario de estado / sistema y la proteccion, la transicion al modo kernel.
Bibliografa: [Avi Silberschatz, 2012, Stallings, 2005, Tanenbaum, 2006, Tanenbaum, 2001, Mateu, 1999]
Topicos: I: Diagramas de estado. II: Estructuras (lista preparada, bloques de control de procesos,
y as sucesivamente) III: Despacho y cambio de contexto. IV: El papel de las interrupcio-
nes. V: Gestionar el acceso a los objetos del sistema operativo atomica. VI: La implementacion
de primitivas de sincronizacion. VII: Cuestiones multiprocesador (spin-locks, reentrada)
operativo.)[Familiarizarse] VI: Describir las razones para usar interruptores, despacho, y cam-
bio de contexto para soportar concurrencia en un sistema operativo[Familiarizarse] VII: Crear
diagramas de estado y transicion para los dominios de problemas simples[Usar]
Bibliografa: [Avi Silberschatz, 2012, Stallings, 2005, Tanenbaum, 2006, Tanenbaum, 2001, Mateu, 1999]
7. Bibliografa
[Avi Silberschatz, 2012] Avi Silberschatz, Peter Baer Galvin, G. G. (2012). Operating System Con-
cepts, 9/E. John Wiley & Sons, Inc.
[Mateu, 1999] Mateu, L. (1999). Apuntes de Sistemas Operativos. Universidad de Chile.
[Stallings, 2005] Stallings, W. (2005). Operating Systems: Internals and Design Principles, 5/E. Pren-
tice Hall.
[Tanenbaum, 2001] Tanenbaum, A. S. (2001). Modern Operating Systems, 2/E. Prentice Hall.
[Tanenbaum, 2006] Tanenbaum, A. S. (2006). Operating Systems Design and Implementation, 3/E.
Prentice Hall.
Prerrequisitos:
2. Fundamentacion
Los topicos de este curso extienden las ideas del diseno y desarrollo de software desde la secuencia
de introduccion a la programacion para abarcar los problemas encontrados en proyectos de gran escala.
Es una vision mas amplia y completa de la Ingeniera de Software apreciada desde un punto de vista
de Proyectos.
Crear, evaluar e implementar un plan de prueba para segmentos de codigo de tamano medio ,
Distinguir entre los diferentes tipos de pruebas , sentar las bases para crear, mejorar los proce-
dimientos de prueba y las herramientas utilizadas con ese proposito.
Crear, mejorar y utilizar los patrones existentes para el mantenimiento de software . Dar a
conocer las caractersticas y patrones de diseno para la reutilizacion de software.
Identicar y discutir diferentes sistemas especializados , crear , mejorar y utilizar los patrones
especializados para el diseno , implementacion , mantenimiento y prueba de sistemas especiali-
zados
4. Resultados (Outcomes)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Usar)
C8. Entendimiento de lo que las tecnologas actuales pueden y no pueden lograr. Outcome b,c,k
C11. Entendimiento del concepto del ciclo de vida, incluyendo la importancia de sus fases (plani-
cacion, desarrollo, implementacion y evolucion). Outcome c
C12. Entender las implicaciones de ciclo de vida para el desarrollo de todos los aspectos de los siste-
mas informaticos (incluyendo software, hardware, y la interfaz de la computadora humana).
Outcome c,i
C13. Comprender la relacion entre la calidad y la gestion del ciclo de vida. Outcome c,i
CS1. Modelar y disenar sistemas de computadora de una manera que se demuestre comprension del
balance entre las opciones de diseno. Outcome c
CS2. Identicar y analizar los criterios y especicaciones apropiadas a los problemas especcos, y
planicar estrategias para su solucion. Outcome b,c
CS4. Implementar la teora apropiada, practicas y herramientas para la especicacion, diseno, imple-
mentacion y mantenimiento, as como la evaluacion de los sistemas basados en computadoras.
Outcome b,c,i
CS10. Implementar efectivamente las herramientas que se utilizan para la construccion y la docu-
mentacion de software, con especial enfasis en la comprension de todo el proceso involucrado
en el uso de computadoras para resolver problemas practicos. Esto debe incluir herramientas
para el control de software, incluyendo el control de versiones y gestion de la conguracion.
Outcome i,k
Bibliografa: [Pressman, 2004, Blum, 1992, Schach, 2004, Wang and King, 2000, Keyes, 2004, Windle and Abreo, 200
Priest and Sanchez, 2001, Schach, 2004, Montangero, 1996, Ambriola, 2001, Conradi, 2000, Oquendo, 2003]
Topicos: I: Vericacion y validacion de conceptos. II: Inspecciones, revisiones, auditorias. III: Ti-
pos de pruebas, incluyendo la interfas humano computador, usabildiad, conabilidad , seguri-
dad,desempeno para la especicacion. IV: Fundamentos de testeo: a) Pruebas de Unit, inte-
gracion, validacion y de Sistema b) Creacion de plan de pruebas y generacion de casos de test
c) Tecnicas de test de caja negra y caja blanca d ) Test de regresion y automatizacion de pruebas
V: Seguimiento de defectos. VI: Limitaciones de testeo en dominios particulares, tales como
sistemas paralelos o crticos en cuanto a seguridad. VII: Enfoques estaticos y enfoques dinamicos
para la vericacion. VIII: Desarrollo basado en pruebas. IX: Plan de Validacion, documenta-
cion para validacion. X: Pruebas Orientadas a Objetos, Sistema de Pruebas. XI: Vericacion y
validacion de artefactos no codicados (documentacion, archivos de ayuda, materiales de entre-
namiento) XII: Logeo fallido, error crtico y apoyo tecnico para dichas actividades. XIII: Esti-
macion fallida y terminacion de las pruebas que incluye la envios por defecto.
Objetivos de Aprendizaje I: Distinguir entre la validacion y vericacion del programa[Usar] II: Des-
cribir el papel que las herramientas pueden desempenar en la validacion de software[Usar]
III: Realizar, como parte de una actividad de equipo, una inspeccion de un segmento de
codigo de tamano medio[Usar] IV: Describir y distinguir entre diferentes tipos y niveles de
pruebas (unitaria, integracion, sistemas y aceptacion)[Usar] V: Describir tecnicas para iden-
ticar casos de prueba representativos para integracion, regresion y pruebas del sistema[Usar]
VI: Crear y documentar un conjunto de pruebas para un segmento de codigo de mediano tama-
no[Usar] VII: Describir como seleccionar buenas pruebas de regresion y automatizarlas[Usar]
VIII: Utilizar una herramienta de seguimiento de defectos para manejar defectos de software
en un pequeno proyecto de software[Usar] IX: Discutir las limitaciones de las pruebas en un
dominio particular[Usar] X: Evaluar un banco de pruebas (a test suite) para un segmento de
codigo de tamano medio[Usar] XI: Comparar los enfoques estaticos y dinamicos para la verica-
cion[Usar] XII: Identicar los principios fundamentales de los metodos de desarrollo basado en
pruebas y explicar el papel de las pruebas automatizadas en estos metodos[Usar] XIII: Discutir
los temas relacionados con las pruebas de software orientado a objetos[Usar] XIV: Describir las
tecnicas para la vericacion y validacion de los artefactos de no codigo[Usar] XV: Describir los
enfoques para la estimacion de fallos[Usar] XVI: Estimar el numero de fallos en una pequena
aplicacion de software basada en la densidad de defectos y siembra de errores[Usar] XVII: Rea-
lizar una inspeccion o revision del de codigo fuente de un software para un proyecto de software
de tamano pequeno o mediano[Usar]
Bibliografa: [Pressman, 2004, Blum, 1992, Schach, 2004, Wang and King, 2000, Keyes, 2004, Windle and Abreo, 2002,
Priest and Sanchez, 2001, Schach, 2004, Montangero, 1996, Ambriola, 2001, Conradi, 2000, Oquendo, 2003]
Objetivos de Aprendizaje I: Identicar los problemas principales asociados con la evolucion del
software y explicar su impacto en el ciclo de vida del software[Usar] II: Estimar el impacto
del cambio de requerimientos en productos existentes de tamano medio[Usar] III: Usar refac-
torizacion en el proceso de modicacion de un componente de sosftware[Usar] IV: Estudiar los
desaos de mejorar sistemas en un entorno cambiante[Usar] V: Perlar los procesos de pruebas
de regresion y su rol en el manejo de versiones[Usar] VI: Estudiar las ventajas y desventajas
de diferentes tipos de niveles de conabilidad[Usar]
Bibliografa: [Pressman, 2004, Blum, 1992, Schach, 2004, Wang and King, 2000, Keyes, 2004, Windle and Abreo, 200
Priest and Sanchez, 2001, Schach, 2004, Montangero, 1996, Ambriola, 2001, Conradi, 2000, Oquendo, 2003]
7. Bibliografa
[Ambriola, 2001] Ambriola, V. (2001). Software Process Technology. Springer.
[Blum, 1992] Blum, B. I. (1992). Software Engineering: A Holistic View. Oxford University Press US,
7th edition.
[Conradi, 2000] Conradi, R. (2000). Software Process Technology. Springer.
[Keyes, 2004] Keyes, J. (2004). Software Conguration Management. CRC Press.
[Montangero, 1996] Montangero, C. (1996). Software Process Technology. Springer.
[Oquendo, 2003] Oquendo, F. (2003). Software Process Technology. Springer.
[Pressman, 2004] Pressman, R. S. (2004). Software Engineering: A Practitioners Approach. McGraw-
Hill, 6th edition.
[Priest and Sanchez, 2001] Priest, J. W. and Sanchez, J. M. (2001). Product Development and Design
for Manufacturing. Marcel Dekker.
[Schach, 2004] Schach, S. R. (2004). Object-Oriented and Classical Software Engineering. McGraw-
Hill.
[Wang and King, 2000] Wang, Y. and King, G. (2000). Software Engineering Processes: Principles
and Applications. CRC Press.
[Windle and Abreo, 2002] Windle, D. R. and Abreo, L. R. (2002). Software Requirements Using the
Unied Process. Prentice Hall.
Prerrequisitos:
2. Fundamentacion
Este curso es importante porque desarrolla topicos del Algebra Lineal y de Ecuaciones Diferenciales
Ordinarias utiles en todas aquellas areas de la ciencia de la computacion donde se trabaja con sistemas
lineales y sistemas dinamicos.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Fami-
liarizarse)
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome i
CS2. Identicar y analizar los criterios y especicaciones apropiadas a los problemas especcos, y
planicar estrategias para su solucion. Outcome j
Topicos: I: Espacios vectoriales. II: Independencia, base y dimension. III: Dimensiones y ortogona-
lidad de los cuatro subespacios. IV: Aproximaciones por mnimos cuadrados. V: Proyecciones
VI: Bases ortogonales y Gram-Schmidt
Topicos: I: Concepto de transformacion lineal. II: Matriz de una transformacion lineal. III: Cambio
de base. IV: Diagonalizacion y pseudoinversa
Topicos: I: Diagonalizacion de una matriz II: Matrices simetricas III: Matrices denidas positivas
IV: Matrices similares V: La descomposicion de valor singular
Topicos: I: Exponencial de una matriz II: Teoremas de existencia y unicidad para sistemas lineales
homogeneos con coecientes constantes III: Sistemas lineales no homogeneas con coecientes
constantes.
Topicos: I: Sistemas dinamicos II: El teorema fundamental III: Existencia y unicidad IV: El ujo
de una ecuacion diferencial
7. Bibliografa
[Apostol, 1973] Apostol, T. M. (1973). Calculus Vol II. Editorial Reverte.
[Hirsh and Smale, 1974] Hirsh, M. W. and Smale, S. (1974). Dierential Equatons, Dynamical Sys-
tems, and Linear Algebra. Academia Press.
[Strang, 2003] Strang, G. (2003). Introduction to Linear Algebra, 3l edicion. Wellesley-Cambridge
Press.
[Zill, 2002] Zill, D. G. (2002). Ecuaciones Diferenciales con Problemas de Valores en la Frontera.
Thomson Learning.
2. Fundamentacion
En la sociedad competitiva como la nuestra, se exige que la persona sea un comunicador ecaz y
sepa utilizar sus potencialidades a n de resolver problemas y enfrentar los desafos del mundo moderno
dentro de la actividad laboral, intelectual y social. Tener el conocimiento no basta, lo importante es
saber comunicarlo y en la medida que la persona sepa emplear sus facultades comunicativas, derivara
en exito o fracaso aquello que tenga que realizar en su desenvolvimiento personal y profesional. Por
ello es necesario para lograr un buen decir, recurrir a conocimientos, estrategias y recursos, que debe
tener todo orador, para llegar con claridad, precision y conviccion al interlocutor
3. Objetivos del curso
Al termino del curso, el alumno sera capaz de organizar y asumir la palabra desde la perspectiva
del orador, en cualquier situacion, en forma mas correcta, coherente y adecuada, mediante el uso
de conocimientos y habilidades lingusticas, buscando en todo momento su realizacion personal
y social a traves de su expresion, teniendo como base la verdad y la preparacion constante.
4. Resultados (Outcomes)
f ) Comunicarse efectivamente con audiencias diversas. (Usar)
n) Aplicar conocimientos de humanidades en su labor profesional. (Usar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
7. Bibliografa
[Monroe and Ehninger, 1976b] Monroe, A. and Ehninger, D. (1976b). La comunicacion oral. Hispano
Europea.
Prerrequisitos:
2. Fundamentacion
Ofrece una introduccion para el area de Computacion Graca, la cual es una parte importante
dentro de Ciencias de la Computacion. El proposito de este curso es investigar los principios, tecnicas
y herramientas fundamentales para esta area.
Dar al alumno las herramientas necesarias para determinar que software graco y que plataforma
son los mas adecuados para desarrollar una aplicacion especca.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
C2. Capacidad para tener una perspectiva crtica y creativa para identicar y resolver problemas
utilizando el pensamiento computacional. Outcome b
C4. Una comprension del hardware de la computadora desde la perspectiva del software, por ejemplo,
el uso del procesador, memoria, unidades de disco, pantalla, etc Outcome i
C8. Entendimiento de lo que las tecnologas actuales pueden y no pueden lograr. Outcome i
Objetivos de Aprendizaje I: Explicar en terminos generales como las senales analogicas pueden
ser representadas por muestras discretas, por ejemplo,como las imagenes pueden ser represen-
tadas por pixeles[Familiarizarse] II: Describir modelos de color y su uso en los dispositivos de
visualizacion de gracos[Familiarizarse] III: Describir las ventajas y desventajas entre el alma-
cenamiento de informacion vs almacenar suciente informacion para reproducir la informacion,
como en la diferencia entre el vector y la representacion de la trama[Familiarizarse] IV: Des-
cribir los procesos basico de la produccion de movimiento continuo a partir de una secuencia de
cuadros discretos(algunas veces llamado it icker fusion )[Familiarizarse]
Bibliografa: [Hearn and Baker, 1990, Hughes et al., 2013, Wol, 2011, Shreiner et al., 2013]
Topicos: I: Manejo de eventos e interaccion de usuario. II: Approaches to design, implementation and
evaluation of non-mouse interaction a) Touch and multi-touch interfaces b) Shared, embodied,
and large interfaces c) New input modalities (such as sensor and location data) d ) New Win-
dows, e.g., iPhone, Android e) Speech recognition and natural language processing f ) Wearable
and tangible interfaces g) Persuasive interaction and emotion h) Ubiquitous and context-aware
interaction technologies (Ubicomp) i) Bayesian inference (e.g. predictive text, guided pointing)
j ) Ambient/peripheral display and interaction
Bibliografa: [Hearn and Baker, 1990, Hughes et al., 2013, Wol, 2011, Shreiner et al., 2013]
7. Bibliografa
[Hearn and Baker, 1990] Hearn, D. and Baker, P. (1990). Computer Graphics in C. Prentice Hall.
[Hughes et al., 2013] Hughes, J. F., Dam, A. V., Mcguire, M., Sklar, D. F., Foley, J. D., Feiner, S. K.,
and Akeley, K. (2013). Computer Graphics - Principles and Practice 3rd Edition. Addison-Wesley.
[Shreiner et al., 2013] Shreiner, D., Sellers, G., Kessenich, J., and Licea-Kane, B. (2013). OpenGL,
Programming Guide, Eighth Edition. Addison-Wesley.
[Wol, 2011] Wol, D. (2011). OpenGL 4.0 Shading Language Cookbook. Packt Publishing.
Prerrequisitos:
2. Fundamentacion
El desarrollo de software requiere del uso de mejores practicas de desarrollo, gestion de proyectos
de TI, manejo de equipos y uso eciente y racional de frameworks de aseguramiento de la calidad,
estos elemento son pieza clave y transversal durante todo el proceso productivo.
La construccion de software contempla la implementacion y uso de procesos, metodos, modelos y
herramientas que permitan lograr la realizacion de los atributos de calidad de un producto.
Los alumnos deben comprender los conceptos fundamentales de CMMI, PSP, TSP para que sean
adoptados en los proyectos de software.
Describir y comprender los modelos de aseguramiento de la calidad como marco clave para el
exitos de los proyectos de TI.
4. Resultados (Outcomes)
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa computacional para
alcanzar las necesidades deseadas. (Usar)
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano. (Usar)
C11. Entendimiento del concepto del ciclo de vida, incluyendo la importancia de sus fases (plani-
cacion, desarrollo, implementacion y evolucion). Outcome i,k
C12. Entender las implicaciones de ciclo de vida para el desarrollo de todos los aspectos de los siste-
mas informaticos (incluyendo software, hardware, y la interfaz de la computadora humana).
Outcome j,m
C13. Comprender la relacion entre la calidad y la gestion del ciclo de vida. Outcome c,i,m
C19. Capacidad para identicar ecazmente los objetivos y las prioridades de su trabajo / area /
proyecto con indicacion de la accion, el tiempo y los recursos necesarios. Outcome j
CS6. Evaluar los sistemas en terminos de atributos de calidad en general y las posibles ventajas y
desventajas que se presentan en el problema dado. Outcome c,i,m
CS7. Aplicar los principios de una gestion ecaz de la informacion, organizacion de la informacion,
y las habilidades de recuperacion de informacion a la informacion de diversos tipos, incluyendo
texto, imagenes, sonido y vdeo. Esto debe incluir la gestion de los problemas de seguridad.
Outcome d,i,o
CS9. Identicar los riesgos (y esto incluye cualquier seguridad o los aspectos de seguridad) que
pueden estar involucrados en la operacion de equipo de computo dentro de un contexto dado.
Outcome c,d,m
Objetivos de Aprendizaje I: Identicar los problemas principales asociados con la evolucion del
software y explicar su impacto en el ciclo de vida del software[Familiarizarse] II: Estimar el
impacto del cambio de requerimientos en productos existentes de tamano medio[Usar] III: Usar
refactorizacion en el proceso de modicacion de un componente de sosftware[Usar] IV: Estudiar
los desaos de mejorar sistemas en un entorno cambiante[Familiarizarse] V: Perlar los procesos
de pruebas de regresion y su rol en el manejo de versiones[Familiarizarse] VI: Estudiar las
ventajas y desventajas de diferentes tipos de niveles de conabilidad[Familiarizarse]
Topicos: I: La participacion del equipo: a) Procesos elemento del equipo, incluyendo responsabili-
dades de tarea, la estructura de reuniones y horario de trabajo b) Roles y responsabilidades en
un equipo de software c) Equipo de resolucion de conictos d ) Los riesgos asociados con los
equipos virtuales (comunicacion, la percepcion, la estructura) II: Estimacion de esfuerzo (a
nivel personal) III: Riesgo. a) El papel del riesgo en el ciclo de vida b) Categoras elemento
de riesgo, incluyendo la seguridad, la seguridad, mercado, nanzas, tecnologa, las personas, la
calidad, la estructura y el proceso de IV: Gestion de equipos: a) Organizacion de equipo y
la toma de decisiones b) Roles de identicacion y asignacion c) Individual y el desempeno del
equipo de evaluacion V: Gestion de proyectos: a) Programacion y seguimiento de elementos
b) Herramientas de gestion de proyectos c) Analisis de Costo/Benecio VI: Software de me-
dicion y tecnicas de estimacion. VII: Aseguramiento de la calidad del software y el rol de las
mediciones. VIII: Riesgo. a) Identicacion de riesgos y gestion. b) Analisis riesgo y evaluacion.
c) La tolerancia al riesgo (por ejemplo, riesgo adverso, riesgo neutral, la busqueda de riesgo)
d ) Planicacion de Riesgo IX: En todo el sistema de aproximacion al riesgo, incluyendo riesgos
asociados con herramientas.
Objetivos de Aprendizaje I: Discutir los comportamientos comunes que contribuyen al buen fun-
cionamiento de un equipo[Familiarizarse] II: Crear y seguir un programa para una reunion
del equipo[Usar] III: Identicar y justicar las funciones necesarias en un equipo de desarrollo
de software[Usar] IV: Entender las fuentes, obstaculos y benecios potenciales de un conic-
to de equipo[Usar] V: Aplicar una estrategia de resolucion de conictos en un ambiente de
equipo[Usar] VI: Utilizar un metodo ad hoc para estimar el esfuerzo de desarrollo del software
(ejemplo, tiempo) y comparar con el esfuerzo actual requerido[Usar] VII: Listar varios ejemplos
de los riesgos del software[Familiarizarse] VIII: Describir el impacto del riesgo en el ciclo de
vida de desarrollo de software[Familiarizarse] IX: Describir las diferentes categoras de riesgo
en los sistemas de software[Familiarizarse] X: Demostrar a traves de la colaboracion de proyec-
tos de equipo los elementos centrales de la contruccion de equipos y gestion de equipos[Usar]
XI: Describir como la eleccion de modelos de procesos afectan la estructura organizacional
de equipos y procesos de toma de decisiones[Familiarizarse] XII: Crear un equipo mediante
la identicacion de los roles apropiados y la asignacion de funciones a los miembros del equi-
po[Usar] XIII: Evaluar y retroalimentar a los equipos e individuos sobre su desempeno en un
ambiente de equipo[Usar] XIV: Usando un software particular procesar, describir los aspectos
de un proyecto que encesita ser planeado y monitoreado, (ejemplo, estimar el tamano y esfuerzo,
un horario, reasignacion de recursos, control de conguracion, gestion de cambios, identicacion
de riesgos en un proyecto y gestion)[Familiarizarse] XV: Realizar el seguimiento del progreso
de alguna etapa de un proyecto que utiliza metricas de proyectos apropiados[Usar] XVI: Com-
parar las tecnicas simples de tamano de software y estimacion de costos[Usar] XVII: Usar una
herramienta de gestion de proyectos para ayudar en la asignacion y rastreo de tareas en un pro-
yecto de desarrollo de software[Usar] XVIII: Describir el impacto de la tolerancia de riesgos en
el proceso de desarrollo de software[Evaluar] XIX: Identicar riesgos y describir enfoques para
manejar riesgos (evitar, aceptar, tranferir, mitigar) y caracterizar fortalezas y defectos para cada
uno[Familiarizarse] XX: Explicar como el riesgo afecta las decisiones en el proceso de desarrollo
de software[Usar] XXI: Identicar los riesgos de seguridad para un sistema de software[Usar]
XXII: Demostrar un enfoque sistematico para la tarea de identicar los peligros y riesgos en
una situacion particular[Usar] XXIII: Aplicar los principios basicos del manejo de riesgos en
una variedad de escenarios simples incluyendo una situacion de seguridad[Usar] XXIV: Dirigir
un analisis de costo/benecio para el enfoque de mitigacion de riesgos[Usar] XXV: Identicar
y analizar alguno de los riesgos para un sistema entero que surgen de aspectos distintos del
software[Usar]
Bibliografa: [Pressman and Maxim, 2014, Sommerville, 2010]
con ciclos de vida de software. III: Programacion a gran escala versus programacion indivi-
dual. IV: Evaluacion de modelos de proceso de software. V: Conceptos de calidad de softwa-
re. VI: Mejoramiento de procesos. VII: Modelos de madurez de procesos de software. VIII: Me-
diciones del proceso de software.
Objetivos de Aprendizaje I: Describa como el software puede interactuar y participar en varios
sistemas, incluyendo la gestion de informacion, integracion, control de procesos y sistemas de
comunicaciones[Usar] II: Describir las ventajas y desventajas relativas entre varios modelos im-
portantes de procesos (por ejemplo, la cascada, iterativo y agil)[Usar] III: Describir las diferentes
practicas que son componentes clave de los diversos modelos de procesos[Usar] IV: Diferenciar
entre las fases de desarrollo de software[Usar] V: Describir como la programacion en gran-
des equipos diere de esfuerzos individuales con respecto a la comprension de una gran base
de codigo, lectura de codigo, comprension de las construcciones, y comprension de contexto de
cambios[Usar] VI: Explicar el concepto de ciclo de vida del software y proporcionar un ejemplo
que ilustra sus fases incluyendo los entregables que se producen[Usar] VII: Comparar varios
modelos comunes de procesos con respecto a su valor para el desarrollo de las clases particulares
de sistemas de software, teniendo en cuenta diferentes aspectos tales como, estabilidad de los
requisitos, tamano y caractersticas no funcionales[Usar] VIII: Denir la calidad del software
y describir el papel de las actividades de aseguramiento de la calidad en el proceso de softwa-
re[Usar] IX: Describir el objetivo y similitudes fundamentales entre los enfoques de mejora de
procesos[Usar] X: Comparar varios modelos de mejora de procesos, tales como CMM, CMMI,
CQI, Plan-Do-Check-Act, o ISO9000[Usar] XI: Evaluar un esfuerzo de desarrollo y recomendar
cambios potenciales al participar en la mejora de procesos (usando un modelo como PSP) o in-
volucracion en una retrospectiva de un proyecto[Usar] XII: Explicar el papel de los modelos de
madurez de procesos en la mejora de procesos[Usar] XIII: Describir varias metricas de procesos
para la evaluacion y el control de un proyecto[Usar] XIV: Usar las medidas en proyecto para
describir el estado actual de un proyecto[Usar]
Bibliografa: [Pressman and Maxim, 2014, Sommerville, 2010]
7. Bibliografa
[Pressman and Maxim, 2014] Pressman, R. S. and Maxim, B. (2014). Software Engineering: A Prac-
titioners Approach. McGraw-Hill, 8th edition.
[Sommerville, 2010] Sommerville, I. (2010). Software Engineering. Addison-Wesley, 9th edition.
Prerrequisitos:
2. Fundamentacion
El siempre creciente desarrollo de las tecnologas de comunicacion y la informacion hace que exista
una marcada tendencia a establecer mas redes de computadores que permitan una mejor gestion de
la informacion.
En este segundo curso se brindara a los participantes una introduccion a los problemas que con-
lleva la comunicacion entre computadores, a traves del estudio e implementacion de protocolos de
comunicacion como TCP/IP y la implementacion de software sobre estos protocolos.
Que el alumno domine las tecnicas de transmision de datos utilizadas por los protocolos de red
existentes.
4. Resultados (Outcomes)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Familiarizarse)
g) Analizar el impacto local y global de la computacion sobre los individuos, organizaciones y socie-
dad. (Evaluar)
C6. Capacidad para disenar y poner en practica las unidades estructurales mayores que utilizan
algoritmos y estructuras de datos y las interfaces a traves del cual estas unidades se comunican.
Outcome c,b
C7. Ser capaz de aplicar los principios y tecnologas de ingeniera de software para asegurar que
las implementaciones de software son robustos, ables y apropiados para su publico objetivo.
Outcome c
CS2. Identicar y analizar los criterios y especicaciones apropiadas a los problemas especcos, y
planicar estrategias para su solucion. Outcome g,b
Objetivos de Aprendizaje I: Listar las diferencias y las relaciones entre los nombres y direcciones
en una red[Familiarizarse] II: Denir los principios detras de esquemas de denominacion y
ubicacion del recurso[Familiarizarse] III: Implementar una aplicacion simple cliente-servidor
basada en sockets [Usar]
Topicos: I: Enrutamiento vs reenvo . II: Enrutamiento estatico . III: Protocolo de Internet (IP)
IV: Problemas de escalabilidad (direccionamiento jerarquico)
Topicos: I: Problemas de Acceso Multiple. II: Enfoques comunes a Acceso multiple (exponencial
backo, multiplexacion por division de tiempo, etc) III: Redes de area local . IV: Ethernet
. V: Switching .
Objetivos de Aprendizaje I: Describir como los paquetes son enviados en una red Ethernet[Familiarizarse]
II: Describir las relaciones entre IP y Ethernet[Familiarizarse] III: Describir las relaciones en-
tre IP y Ethernet[Familiarizarse] IV: Describir las etapas usadas en un enfoque comun para el
problema de multiples accesos[Familiarizarse]
Topicos: I: Necesidad de asignacion de recursos . II: Asignacion ja (TDM, FDM, WDM) versus la
asignacion dinamica . III: De extremo a extremo frente a las red de enfoque asistida . IV: Jus-
ticia. V: Principios del control de congestion. VI: Enfoques para la congestion (por ejemplo,
redes de distribucion de contenidos)
Objetivos de Aprendizaje I: Describir como los recursos pueden ser almacenados en la red[Familiarizarse]
II: Describir los problemas de congestion en una red grande[Familiarizarse] III: Comparar y
contrastar las tecnicas de almacenamiento estatico y dinamico[Familiarizarse] IV: Comparar y
contrastar los enfoques actuales de la congestion[Familiarizarse]
7. Bibliografa
[Kurose and Ross, 2013] Kurose, J. and Ross, K. (2013). Computer Networking: A Top-down Ap-
proach. Always learning. Pearson.
SUMILLA
Prerrequisitos:
2. Fundamentacion
La investigacion en Inteligencia Articial ha conducido al desarrollo de numerosas tonicas relevan-
tes, dirigidas a la automatizacion de la inteligencia humana, dando una vision panoramica de diferentes
algoritmos que simulan los diferentes aspectos del comportamiento y la inteligencia del ser humano.
Construir una nocion de inteligencia que soporte despues las tareas de su simulacion.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome c
CS2. Identicar y analizar los criterios y especicaciones apropiadas a los problemas especcos, y
planicar estrategias para su solucion. Outcome i,j
Bibliografa: [Nilsson, 2001, Russell and Norvig, 2003, Ponce-Gallegos et al., 2014]
Objetivos de Aprendizaje I: Disenar e implementar una solucion a un problema con algoritmo ge-
netico[Usar] II: Disenar e implementar un esquema de recocido simulado (simulated annealing)
para evitar mnimos locales en un problema[Usar] III: Disenar e implementar una busqueda
A* y busqueda en haz (beam search) para solucionar un problema[Usar] IV: Aplicar busque-
da minimax con poda alfa-beta para simpliar el espacio de busqueda en un juego con dos
jugadores[Usar] V: Comparar y contrastar los algoritmos geneticos con tecnicas clasicas de
busqueda[Usar] VI: Comparar y contrastar la aplicabilidad de varias heursticas de busqueda,
para un determinado problema[Usar]
Bibliografa: [Goldberg, 1989, Nilsson, 2001, Russell and Norvig, 2003, Ponce-Gallegos et al., 2014]
Objetivos de Aprendizaje I: Comparar y contrastar los modelos mas usados para la representacion
del conocimiento estructurado, destacando sus puntos fuertes y debiles[Usar] II: Identicar los
componentes de razonamiento no monotono y su utilidad como mecanismo de representacion
de los sistemas de conanza[Usar] III: Comparar y contrastas las tecnicas basicas para la
representacion de la incertidumbre[Usar] IV: Comparar y contrastar las tecnicas basicas para
la representacion cualitativa[Usar] V: Aplicar calculo de situaciones y eventos a problemas de
accion y cambios[Usar] VI: Explicar la diferencia entre razonamiento temporal y espacial, y
como se relacionan entre s. [Usar] VII: Explicar la diferencia entre tecnicas de razonamiento
basado en modelos, basado en casos y basados en reglas[Usar] VIII: Denir el concepto de un
sistema planicacion y como se diferencia de las tecnicas de busqueda clasicas[Usar]
Bibliografa: [Nilsson, 2001, Russell and Norvig, 2003, Ponce-Gallegos et al., 2014]
Topicos: I: Denicion de Agentes II: Arquitectura de agentes (Ej. reactivo, en capa, cognitivo) III: Teo-
ra de agentes IV: Racionalidad, teora de juegos: a) Agentes de decision teorica b) Procesos
de decision de Markov (MDP) V: Agentes de Software, asistentes personales, y acceso a infor-
macion: a) Agentes colaborativos b) Agentes de recoleccion de informacion c) Agentes crebles
(caracter sintetico, modelamiento de emociones en agentes) VI: Agentes de aprendizaje VII: Sis-
temas Multi-agente a) Agentes Colaborativos b) Equipos de Agentes c) Agentes Competitivos
(ej., subastas, votaciones) d ) Sistemas de enjambre y modelos biologicamente inspirados
Objetivos de Aprendizaje I: Lista las caractersticas que denen un agente inteligente[Usar] II: Des-
cribe y contrasta las arquitecturas de agente estandares[Usar] III: Describe las aplicaciones
de teora de agentes para dominios como agentes de software, asistentes personales, y agentes
creibles[Usar] IV: Describe los paradigmas primarios usados por agentes de aprendizaje[Usar]
V: Demuestra mediante ejemplos adecuados como los sistemas multi-agente soportan interac-
cion entre agentes[Usar]
Bibliografa: [Nilsson, 2001, Russell and Norvig, 2003, Ponce-Gallegos et al., 2014]
Bibliografa: [Nilsson, 2001, Russell and Norvig, 2003, Ponce-Gallegos et al., 2014]
Objetivos de Aprendizaje I: Listar las diferencias entre los tres principales tipos de aprendizaje:
supervisado, no supervisado y por refuerzo[Usar] II: Identicar ejemplos de tareas de clasica-
cion, considerando las caractersticas de entrada disponibles y las salidas a ser predecidas[Usar]
III: Explicar la diferencia entre aprendizaje inductivo y deductivo[Usar] IV: Describir el sobre
ajuste (overtting) en el contexto de un problema[Usar] V: Aplicar un algoritmo de aprendizaje
estadstico simple como el Clasicador Naive Bayesiano e un problema de clasicacion y medirla
precision del clasicador[Usar]
Bibliografa: [Haykin, 1999, Nilsson, 2001, Russell and Norvig, 2003, Ponce-Gallegos et al., 2014]
Topicos: I: Vision general: problemas y progreso a) Estado del arte de los sistemas roboticos, in-
cluyendo sus sensores y una vision general de su procesamiento b) Arquitecturas de control
robotico, ejem., deliverado vs. control reactivo y vehiculos Braitenberg c) Modelando el mundo
Objetivos de Aprendizaje I: Listar capacidades y limitaciones de sistemas del estado del arte en
robotica de hoy , incluyendo sus sensores y el procesamiento del sensor crucial que informa
a esos sistemas[Usar] II: Integrar sensores, actuadores y software en un robot disenado pa-
ra emprender alguna tarea[Usar] III: Programar un robot para llevar a cabo tareas simples
usando arquitecturas de control deliverativo, reactivo y/o hbrido [Usar] IV: Implementar al-
goritmos de planicacion de movimientos fundamentales dentro del espacio de conguracion
de un robot[Usar] V: Caracterizar las incertidumbres asociadas con sensores y actuadores de
robot comunes; articular estrategias para mitigar esas incertidumbres. [Usar] VI: Listar las
diferencias entre representaciones de los robot de su enterno externo, incluyendo sus fortalezas
y defectos[Usar] VII: Comparar y contrastar al menos tres estrategias para la navegacion de
robots dentro de entornos conocidos y/o no conocidos, incluyendo sus fortalezas y defectos[Usar]
VIII: Describir al menos una aproximacion para la coordinacion de acciones y deteccion de
varios robots para realizar una simple tarea[Usar]
Bibliografa: [Nilsson, 2001, Russell and Norvig, 2003, Ponce-Gallegos et al., 2014]
Bibliografa: [Nilsson, 2001, Russell and Norvig, 2003, Ponce-Gallegos et al., 2014]
7. Bibliografa
[De Castro, 2006] De Castro, L. (2006). Fundamentals of natural computing: basic concepts, algo-
rithms, and applications. CRC Press.
[Goldberg, 1989] Goldberg, D. (1989). Genetic Algorithms in Search, Optimization and Machine
Learning. Addison Wesley.
[Haykin, 1999] Haykin, S. (1999). Neural networks: A Comprehensive Foundation. Prentice Hall.
[Nilsson, 2001] Nilsson, N. (2001). Inteligencia Articial: Una nueva visiAsn. McGraw-Hill.
[Ponce-Gallegos et al., 2014] Ponce-Gallegos, J., Torres-Soto, A., tima Quezada Aguilera, Silva-
Sprock, A., Flor, E. M., Casali, A., Scheihing, E., Tupac, Y., Soto, M. T., Zapata, F. O., A., J. H.,
D., C. Z., Vakhnia, N., and Pedreno, O. (2014). Inteligencia Articial. Iniciativa Latinoamericana
de Libros de Texto Abiertos (LATIn).
[Russell and Norvig, 2003] Russell, S. and Norvig, P. (2003). Inteligencia Artical: Un enfoque mo-
derno. Prentice Hall.
2. Fundamentacion
Este curso tiene por objetivo que el alumno aprenda a realizar una investigacion de caracter
cientco en el area de computacion. Los docentes del curso determinaran un area de estudio para
cada alumno, y se le hara entrega de bibliografa para analizar y a partir de la misma, y de fuentes
bibliogracas adicionales (investigadas por el alumno), el alumno debera ser capaz de construir un
artculo del tipo survey del tema asignado.
3. Objetivos del curso
Que el alumno aprenda como se inicia una investigacion cientca en el area de computacion.
Que el alumno conozca las principales fuentes para obtener bibliografa relevante para trabajos
de investigacion en el area de computacion: Researchindex, IEEE-CS1, ACM2 .
Que el alumno sea capaz de analizar las propuestas existentes sobre un determinado topico y
relacionarlos de forma coherente en una revision bibliograca.
Que el alumno pueda redactar documentos tecnicos en computacion utilizando LATEX.
Que el alumno sea capaz de reproducir los resultados ya existentes en un determinado topico a
traves de la experimentacion.
Los entregables de este curso son:
Avance parcial: Dominio del tema del artculo y bibliografa preliminar en formato de artculo
LATEX.
Final: Entendimiento del artculo del tipo survey, documento concludo donde se contenga,
opcionalmente, los resultados experimentales de la(s) tecnica(s) estudiada(s).
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Fami-
liarizarse)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Familiarizarse)
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa computacional para
alcanzar las necesidades deseadas. (Familiarizarse)
1 http://www.computer.org
2 http://www.acm.org
7. Bibliografa
[Association for Computing Machinery, 2008] Association for Computing Machinery (2008). Digital
Libray. Association for Computing Machinery. http://portal.acm.org/dl.cfm.
[CiteSeer.IST, 2008] CiteSeer.IST (2008). Scientic Literature Digital Libray. College of Information
Sciences and Technology, Penn State University. http://citeseer.ist.psu.edu.
[IEEE-Computer Society, 2008] IEEE-Computer Society (2008). Digital Libray. IEEE-Computer So-
ciety. http://www.computer.org/publications/dlib.
2. Fundamentacion
Los lenguajes de programacion son el medio a traves del cual los programadores describen con pre-
cision los conceptos, formulan algoritmos y representan sus soluciones. Un cientco de la computacion
trabajara con diferentes lenguajes, por separado o en conjunto. Los cientcos de la computacion deben
entender los modelos de programacion de los diferentes lenguajes, tomar decisiones de diseno basados
en el lenguaje de programacion y sus conceptos. El profesional a menudo necesitara aprender nuevos
lenguajes y construcciones de programacion y debe entender los fundamentos de como las caracte-
rsticas del lenguaje de programacion estan denidas, compuestas e implementadas. El uso ecaz de
los lenguajes de programacion y la apreciacion de sus limitaciones, tambien requiere un conocimiento
basico de traduccion de lenguajes de programacion y su analisis de ambientes estaticos y dinamicos, as
como los componentes de tiempo de ejecucion tales como la gestion de memoria, entre otros detalles
de relevancia.
3. Objetivos del curso
Capacitar a los estudiantes para entender los lenguajes de programacion desde diferentes tipos de
vista, segun el modelo subyacente, los componentes fundamentales presentes en todo lenguaje de
programacion y como objetos formales dotados de una estructura y un signicado segun diversos
enfoques.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Usar)
i) Utilizar tecnicas y herramientas actuales necesarias para la practica de la computacion. (Usar)
j) Aplicar la base matematica, principios de algoritmos y la teora de la Ciencia de la Computacion en
el modelamiento y diseno de sistemas computacionales de tal manera que demuestre comprension
de los puntos de equilibrio involucrados en la opcion escogida. (Usar)
CS3. Analizar el grado en que un sistema basado en el ordenador cumple con los criterios denidos
para su uso actual y futuro desarrollo. Outcome j
CS6. Evaluar los sistemas en terminos de atributos de calidad en general y las posibles ventajas y
desventajas que se presentan en el problema dado. Outcome j
Topicos: I: Historia de los Lenguajes de Programacion II: Programas que tienen otros progra-
mas como entrada tales como interpretes, compiladores, revisores de tipos y generadores de
documentacion. III: Estructuras de datos que representan codigo para ejecucion, traduccion o
transmision. IV: Estructura de un programa: Lexico, Sintactico y Semantico V: BNF VI: In-
terpretacion vs. compilacion a codigo nativo vs. compilacion de representacion portable inter-
media.[Familiarizarse]
Topicos: I: Principios de diseno de lenguaje tales como la ortogonalidad. II: Orden de evaluacion,
precedencia y asociatividad. III: Evaluacion tarda vs. evaluacion temprana. IV: Deniendo
controles y constructos de iteracion. V: Llamadas externas y sistema de libreras.
Topicos: I: Constructores de tipo composicional, como tipos de producto (para agregados), tipos
de suma (para uniones), tipos de funcion, tipos cuanticados y tipos recursivos. II: Compro-
bacion de tipos. III: Seguridad de tipos como preservacion mas progreso. IV: Inferencia de
tipos. V: Sobrecarga estatica.
Topicos: I: Diseno orientado a objetos: a) Descomposicion en objetos que almacenan estados y po-
seen comportamiento b) Diseno basado en jerarquia de clases para modelamiento II: Denicion
de las categoras, campos, metodos y constructores. III: Las subclases, herencia y metodo de
alteracion temporal. IV: Asignacion dinamica: denicion de metodo de llamada. V: Subtipi-
cacion: a) Polimorsmo artculo Subtipo; upcasts implcitos en lenguajes con tipos. b) Nocion
de reemplazo de comportamiento: los subtipos de actuar como supertipos. c) Relacion entre
subtipos y la herencia. VI: Lenguajesaorientados a objetos para la encapsulacion: a) privacidad
y la visibilidad de miembros de la clase b) Interfaces revelan unico metodo de rmas c) clases
base abstractas VII: Uso de coleccion de clases, iteradores, y otros componentes de la libreria
estandar.
Objetivos de Aprendizaje I: Disenar e implementar una clase[Usar] II: Usar subclase para disenar
una jerarqua simple de clases que permita al codigo ser reusable por diferentes subclases[Usar]
III: Razonar correctamente sobre el ujo de control en un programa mediante el envo dinami-
co[Usar] IV: Comparar y contrastar (1) el enfoque procedurar/funcional- deniendo una funcion
por cada operacion con el cuerdo de la funcion proporcionando un caso por cada variacion de da-
to - y (2) el enfoque orientado a objetos - deniendo una clase por cada variacion de dato con la
denicion de la clase proporcionando un metodo por cada operacion. Entender ambos enfoques
como una denicion de variaciones y operaciones de una matriz[Evaluar] V: Explicar la relacion
entre la herencia orientada a objetos (codigo compartido y overriding) y subtipicacion (la idea
de un subtipo es ser utilizable en un contexto en el que espera al supertipo)[Usar] VI: Usar
mecanismos de encapsulacion orientada a objetos, tal como interfaces y miembros privados[Usar]
VII: Denir y usar iteradores y otras operaciones sobre agregaciones, incluyendo operaciones
que tienen funciones como argumentos, en multiples lenguajes de programacion, selecionar la
forma mas natural por cada lenguaje[Usar]
Topicos: I: El efecto de la programacion libre: a) Llamadas a funcion que no tiene efecto secundarios,
para facilitar el razonamiento composicional b) Variables inmutables, prevencion de cambios no
esperados en los datos del programa por otro codigo. c) Datos que pueden ser subnombrados
o copiados libremente sin introducir efectos no deseados del cambio II: Procesamiento de es-
tructuras de datos (p.e. arboles) a traves de fuciones con casos para cada variacion de los datos.
a) Constructores asociados al lenguaje tales como uniones discriminadas y reconocimiento de
patrones sobre ellos. b) Funciones denidas sobre datos compuestos en terminos de funciones
aplicadas a las piezas constituidas. III: Funciones de primera clase (obtener, retornar y funcio-
nes de almacenamiento) IV: Cierres de funcion (funciones que usan variables en entornos lexicos
cerrados) a) Signicado y denicion basicos - creacion de cierres en tiempo de ejecucion median-
te la captura del entorno. b) Idiomas canonicos: llamadas de retorno, argumentos de iteradores,
codigo reusable mediante argumentos de funcion c) Uso del cierre para encapsular datos en su
entorno d ) Evaluacion y aplicacion parcial V: Denicion de las operaciones de orden superior
en los agregados, especialmente en mapa, reducir / doblar, y el ltro.
Objetivos de Aprendizaje I: Escribir algoritmos basicos que eviten asignacion a un estado muta-
ble o considerar igualdad de referencia[Usar] II: Escribir funciones utiles que puedan tomar y
retornar otras funciones[Usar] III: Comparar y contrastar (1) el enfoque procedurar/funcional-
deniendo una funcion por cada operacion con el cuerdo de la funcion proporcionando un caso
por cada variacion de dato - y (2) el enfoque orientado a objetos - deniendo una clase por cada
variacion de dato con la denicion de la clase proporcionando un metodo por cada operacion. En-
tender ambos enfoques como una denicion de variaciones y operaciones de una matriz[Evaluar]
IV: Razonar correctamente sobre variables y el ambito lexico en un programa usando funcio-
nes de cierre (function closures)[Usar] V: Usar mecanismos de encapsulamiento funcional, tal
como closures e interfaces modulares[Usar] VI: Denir y usar iteradores y otras operaciones
sobre agregaciones, incluyendo operaciones que tienen funciones como argumentos, en multiples
lenguajes de programacion, seleccionar la forma mas natural por cada lenguaje[Usar]
Bibliografa: [Sebesta, 2012, Webber, 2010, Roy and Haridi, 2004]
7. Bibliografa
[Roy and Haridi, 2004] Roy, P. V. and Haridi, S. (2004). Concepts, Techniques, and Models of Com-
puter Programming. MIT Press, Cambridge, MA, USA.
[Sebesta, 2012] Sebesta, R. W. (2012). Concepts of Programming Languages. Addison-Wesley Publis-
hing Company, USA, 10th edition.
[Webber, 2010] Webber, A. B. (2010). Modern Programming Languages: A Practical Introduction.
Franklin, Beedle and Associates, Inc, 2nd edition.
Prerrequisitos:
2. Fundamentacion
En la actualidad las diferentes organizaciones en el mundo exigen a sus integrantes el ejercicio
de liderazgo, esto signica asumir los retos asignados con ecacia y afan de servicio, siendo estas
exigencias necesarias para la busqueda de una sociedad mas justa y reconciliada. Este desafo, pasa
por la necesidad de formar a nuestros alumnos con un recto conocimiento de s mismos, con capacidad
de juzgar objetivamente la realidad y de proponer orientaciones que busquen modicar positivamente
el entorno.
4. Resultados (Outcomes)
d) Trabajar efectivamente en equipos para cumplir con un objetivo comun. (Usar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
Objetivos de Aprendizaje I: Analizar y comprender las bases teoricas del ejercicio de Lideraz-
go.[Familiarizarse] II: En base a lo comprendido, asumir la actitud correcta para llevarlo a
la practica.[Familiarizarse] III: Iniciar un proceso de autoconocimiento orientado a descubrir
rasgos de liderazgo en s mismo.[Familiarizarse]
Bibliografa: [Pilar, 2002, Manuel., 2009, Alexandre., 2009, D Souza, , Alfred., 2010]
Topicos: I: Teora de las Competencias II: Reconocimiento de Competencias III: Plan de Desarrollo
IV: Modelos Mentales V: Necesidades Emocionales VI: Perles Emocionales VII: Vicios
Motivacionales
Topicos: I: La relacion personal con el equipo II: Liderazgo integral III: Acompanamiento y
discipulado IV: Fundamentos de unidad
Bibliografa: [Goleman, 2012, Cardona, , Hersey, 1998, Hunsaker, 2010, Hawkins, 2012, Ginebra, 2010]
7. Bibliografa
[Alexandre., 2009] Alexandre., D.-H. (2009). Perl del Lder. Hacia un Liderazgo Virtuoso. Ediciones
Urano S.A.
[Alfred., 2010] Alfred., S. (2010). Liderazgo Etico. La Sabidura de decidir bien. Ediciones Encuentro
S.A Madrid y Nueva Revista de Madrid.
[Cardona, ] Cardona, P., y. P. C. R. Direccion por misiones: Como generar empresas de alto rendi-
miento.
[Hawkins, 2012] Hawkins, P. (2012). Coaching y liderazgo de equipos: coaching para un liderazgo con
capacidad de transformacion. Ediciones Granica.
[Hunsaker, 2010] Hunsaker, P. (2010). El nuevo arte de gestionar equipos: Un enfoque actual para
guiar y motivar con exito.
Prerrequisitos:
2. Fundamentacion
Ofrece una vision amplia de los aspectos eticos y profesionales relacionados con la computacion.
Los topicos que se incluyen abarcan los aspectos eticos, sociales y polticos. Las dimensiones morales
de la computacion. Los metodos y herramientas de analisis. Administracion de los recursos compu-
tacionales. Seguridad y control de los sistemas computacionales. Responsabilidades profesionales y
eticas. Propiedad intelectual.
Inculcar en el alumno que las tendencias de mejoramiento de la tecnologa, no debe ser llevada
a degradar la moral de la sociedad.
4. Resultados (Outcomes)
f ) Comunicarse efectivamente con audiencias diversas. (Familiarizarse)
g) Analizar el impacto local y global de la computacion sobre los individuos, organizaciones y socie-
dad. (Usar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano. (Usar)
C2. Capacidad para tener una perspectiva crtica y creativa para identicar y resolver problemas
utilizando el pensamiento computacional. Outcome h
C3. Una comprension intelectual de, y el aprecio por el papel central de los algoritmos y estructuras
de datos. Outcome c
CS1. Modelar y disenar sistemas de computadora de una manera que se demuestre comprension del
balance entre las opciones de diseno. Outcome c
CS2. Identicar y analizar los criterios y especicaciones apropiadas a los problemas especcos, y
planicar estrategias para su solucion. Outcome c
CS6. Evaluar los sistemas en terminos de atributos de calidad en general y las posibles ventajas y
desventajas que se presentan en el problema dado. Outcome a
Topicos: I: Pre-historia El mundo antes de 1946. II: Historia del hardware, software, redes. III: Pio-
neros de la Computacion. IV: Historia de Internet.
Objetivos de Aprendizaje I: Describir las formas positivas y negativas en las que la tecnologa
computacional (redes, computacion movil, cloud computing) altera los modos de interaccion so-
cial en el plano personal[Familiarizarse] II: Identicar los supuestos y valores incorporados en
el hardware y el software de diseno de los desarrolladores, especialmente lo que se reere a la
facilidad de uso para diversas poblaciones incluyendo minoras poblaciones y los discapacita-
dos[Usar] III: Interpretar el contexto social de un determinado diseno y su aplicacion[Evaluar]
IV: Evaluar la ecacia de un diseno y aplicacion dada a partir de datos empricos[Familiarizarse]
V: Resumir las implicaciones de los medios sociales en el individualismo frente al colectivismo
y la cultura[Familiarizarse] VI: Discuta como el acceso a Internet sirve como una fuerza libe-
radora para las personas que viven bajo las formas opresivas de gobierno; explicar la utilizacion
los lmites al acceso a Internet como herramientas de represion poltica y social[Familiarizarse]
VII: Analizar los pros y los contras de la dependencia de la computacion en la implementacion de
la democracia (por ejemplo, prestacion de servicios sociales, votacion electronica)[Familiarizarse]
VIII: Describir el impacto de la escasa representacion de las diversas poblaciones en la profesion
(por ejemplo, la cultura de la industria, la diversidad de productos)[Usar] IX: Explicar las con-
secuencias de la sensibilidad al contexto en los sistemas de computacion ubicua[Familiarizarse]
Topicos: I: Argumentacion etica. II: Teoras eticas y toma de decisiones. III: Suposiciones morales
y valores.
Objetivos de Aprendizaje I: Evaluar las posiciones de las partes interesadas en una situacion
dada[Familiarizarse] II: Analizar errores logicos basicos en una discusion[Usar] III: Analizar
un argumento para identicar premisas y la conclusion[Familiarizarse] IV: Ilustrar el uso de
ejemplo y analoga en el argumento etico[Familiarizarse] V: Evaluar compensaciones eticos /
sociales en las decisiones tecnicas[Familiarizarse]
Topicos: I: Community values and the laws by which we live. II: La naturaleza del profesionalismo
incluido el cuidado, la atencion y la disciplina, la responsabilidad duciaria y mentora. III: Man-
tenerse al da como profesional de computacion en terminos de familiaridad, herramientas, habi-
lidades, marco legal y profesional, as como la capacidad de autoevaluarse y avances en el campo
de la computacion. IV: La certicacion profesional, codigos de etica, conducta y practica, como
la ACM / IEEE-CS, SE, AITP, IFIP y las sociedades internacionales. V: Rendicion de cuentas,
la responsabilidad y la conabilidad (por ejemplo, la correccion de software, abilidad y segu-
ridad, as como la condencialidad etica de los profesionales de seguridad cibernetica) VI: El
papel del profesional de de computacion en las polticas publicas. VII: Mantenimiento de la
conciencia en relacion a las consecuencias. VIII: Disidencia etica y la denuncia de irregulari-
dades. IX: La relacion entre la cultura regional y dilemas eticos. X: Tratar con el acoso y la
discriminacion. XI: Formas de credenciamiento profesional. XII: Polticas de uso aceptable para
la computacion en el lugar de trabajo. XIII: Ergonoma y entornos de trabajo computacionales
saludables. XIV: Consideraciones a tiempos de entrega de mercado vs estandares de calidad
profesional.
Bibliografa: [Laudon and Laudon, 2004, Jr, 2000, Ediciones, 2009a, Ediciones, 2009b, Ediciones, 2010]
Objetivos de Aprendizaje I: Discute las bases losocas de la propiedad intelectual[Evaluar] II: Dis-
cute la racionalidad de la proteccion legal de la propiedad intelectual[Familiarizarse] III: Decribe
la legislacion orientada a los delitos de derechos de autor digitales[Evaluar] IV: Critica la legisla-
cion orientada a los delitos digitales de derechos de autor[Familiarizarse] V: Identica ejemplos
contemporaneos de propiedad intelectual digital intangible[Evaluar] VI: Justica el uso de ma-
terial con derechos de autor[Evaluar] [Familiarizarse] VII: Evalua los asuntos eticos inherentes
a diversos mecanismos de deteccion de plagio[Familiarizarse] VIII: Interpreta el intento y la
implementacion de licencias de software[Familiarizarse] IX: Discute asuntos que involucran la
seguridad de patentes en software[Familiarizarse] X: Caracteriza y contrasta los conceptos de
derechos de autor, patentes y de marcas comerciales[Familiarizarse] XI: Identica los objetivos
del movimiento de software libre[Evaluar] XII: Identica la naturaleza global de la piratera de
software[Familiarizarse]
Bibliografa: [Laudon and Laudon, 2004, Jr, 2000, Ediciones, 2009a, Ediciones, 2009b, Ediciones, 2010]
Objetivos de Aprendizaje I: Discute las bases losocas para la proteccion legal de la privacidad
personal[Familiarizarse] II: Evalua soluciones para amenazas a la privacidad en bases de datos
transaccionales y almacenes de datos[Familiarizarse] III: Describe los roles de la recoleccion de
datos en la implementacion de sistemas de vigilancia intrusiva (ejm. RFID, reconocimiento de
rostro, cobro electronico, computacion movil)[Familiarizarse] IV: Describe las ramicaciones
de la privacidad diferenciada[Familiarizarse] V: Investica el impacto de soluciones tecnologicas
a los problemas de privacidad[Familiarizarse] VI: Critica la intencion, el valor potencial y la
implementacion de las diversas formas de legislacion en privacidad[Familiarizarse] VII: Identica
estrategias que permitan la apropiada libertad de expresion[Familiarizarse]
Bibliografa: [Laudon and Laudon, 2004, Jr, 2000, Ediciones, 2009a, Ediciones, 2009b, Ediciones, 2010]
Topicos: I: Ejemplos de delitos informaticos y reparacion legal para delincuentes informaticos. II: In-
genieria social, robo de identidad y recuperacion. III: Topicos relacionados al uso de acceso
indebido y las infracciones y materia de seguridad. IV: Motivaciones y ramicaciones del ciber-
terrorismo y el hacking criminal, cracking. V: Efectos de malware, como virus, worms y Trojan
horses. VI: Estrategias de prevencion de Crimen. VII: Polticas de Seguridad.
7. Bibliografa
[Ediciones, 2009a] Ediciones, D., editor (2009a). Revista Datamation MC Ediciones.
[Ediciones, 2009b] Ediciones, D., editor (2009b). Understanding the Digital Economy.
[Ediciones, 2010] Ediciones, D., editor (2010). Financial Times Mastering Information Management.
[Jr, 2000] Jr, R. M. (2000). Sistemas de Informacion Gerencial. Prentice Hall.
[Laudon and Laudon, 2004] Laudon, K. C. and Laudon, J. P. (2004). Sistemas de Informacion Ge-
rencial. Prentice Hall.
Prerrequisitos:
2. Fundamentacion
Que el alumno conozca y comprenda los conceptos y principios fundamentales de la teora de
compilacion para realizar la construccion de un compilador
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
Topicos: I: Programas que tienen otros programas como entrada tales como interpretes, compilado-
res, revisores de tipos y generadores de documentacion. II: Arboles de sintaxis abstracta, para
contrastar la sintaxis correcta. III: Estructuras de datos que representan codigo para ejecucion,
traduccion o transmision. IV: Compilacion en tiempo just-in time y re-compilacion dinami-
ca. V: Otras caractersticas comunes de las maquinas virtuales, tales como carga de clases, hilos
y seguridad.
Objetivos de Aprendizaje I: Explicar como programas que procesan otros programas tratan a los
otros programas como su entrada de datos[Familiarizarse] II: Describir un arbol de sintaxis
abstracto para un lenguaje pequeno[Familiarizarse] III: Describir los benecios de tener repre-
sentaciones de programas que no sean cadenas de codigo fuente[Familiarizarse] IV: Escribir un
programa para procesar alguna representacion de codigo para algun proposito, tales como un
interprete, una expresion optimizada, o un generador de documentacion[Familiarizarse] V: Ex-
plicar el uso de metadatos en las representaciones de tiempo de ejecucion de objetos y registros de
activacion, tales como los punteros de la clase, las longitudes de arreglos, direcciones de retorno,
y punteros de frame[Familiarizarse] VI: Discutir las ventajas, desventajas y dicultades del
termino (just-in-time) y recompilacion automatica[Familiarizarse] VII: Identicar los servicios
proporcionados por los sistemas de tiempo de ejecucion en lenguajes modernos[Familiarizarse]
Bibliografa: [Louden, 2004b, Pratt and V.Zelkowitz, 1998]
Bibliografa: [Aho et al., 2008, Aho, 1990, Louden, 2004a, Teufel and Schmidt, 1998, A.Lemone, 1996,
Appel, 2002]
7. Bibliografa
[Aho, 1990] Aho, A. (1990). Compiladores Principios, tecnicas y herramientas. Addison Wesley.
[Aho et al., 2008] Aho, A., Lam, M., Sethi, R., and Ullman, J. D. (2008). Compiladores. Principios,
tecnicas y herramientas. Addison Wesley, 2nd edition. ISBN:10-970-26-1133-4.
[A.Lemone, 1996] A.Lemone, K. (1996). Fundamentos de Compiladores. CECSA-Mexico.
[Appel, 2002] Appel, A. W. (2002). Modern compiler implementation in Java. Cambridge University
Press, 2.a edicion edition.
[Louden, 2004a] Louden, K. C. (2004a). Construccion de Compiladores Principios y Practica. Thom-
son.
[Louden, 2004b] Louden, K. C. (2004b). Lenguajes de Programacion. Thomson.
[Pratt and V.Zelkowitz, 1998] Pratt, T. W. and V.Zelkowitz, M. (1998). Lenguajes de Programacion
Diseno e Implementacion. Prentice-Hall Hispanoamericana S.A.
[Teufel and Schmidt, 1998] Teufel, B. and Schmidt, S. (1998). Fundamentos de Compiladores. Addi-
son Wesley Iberoamericana.
Prerrequisitos:
2. Fundamentacion
Hoy en dia la informacion es uno de los activos mas preciados en cualquier organizacion. Este
cursos esta orientado a poder brindar al alumno los elementos de seguridad orientados a proteger la
informacion de la organizacion y principalmente poder preveer los posibles problemas relacionados
con este rubro. Esta materia involucra el desarrollo de una actitud preventiva por parte del alumno
en todas las areas relacionadas al desarrollo de software.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
g) Analizar el impacto local y global de la computacion sobre los individuos, organizaciones y socie-
dad. (Evaluar)
C8. Entendimiento de lo que las tecnologas actuales pueden y no pueden lograr. Outcome j,g
C21. Comprender el aspecto profesional, legal, seguridad, asuntos polticos, humanistas, ambientales,
culturales y eticos. Outcome g,a
C22. Capacidad para demostrar las actitudes y prioridades que honrar, proteger y mejorar la estatura
y la reputacion etica de la profesion. Outcome h,c
CS6. Evaluar los sistemas en terminos de atributos de calidad en general y las posibles ventajas y
desventajas que se presentan en el problema dado. Outcome b
CS7. Aplicar los principios de una gestion ecaz de la informacion, organizacion de la informacion,
y las habilidades de recuperacion de informacion a la informacion de diversos tipos, incluyendo
texto, imagenes, sonido y vdeo. Esto debe incluir la gestion de los problemas de seguridad.
Outcome i,h,c
CS9. Identicar los riesgos (y esto incluye cualquier seguridad o los aspectos de seguridad) que
pueden estar involucrados en la operacion de equipo de computo dentro de un contexto dado.
Outcome j,b
CS11. Ser consciente de la existencia de software a disposicion del publico y la comprension del
potencial de los proyectos de codigo abierto. Outcome g,b
Objetivos de Aprendizaje I: Analizar las ventajas y desventajas de equilibrar las propiedades cla-
ve de seguridad(Condenciabilidad, Integridad, Disponibilidad)[Familiarizarse] II: Describir los
conceptos de riesgo, amenazas, vulnerabilidades y vectores de ataque(incluyendo el hecho de
que no existe tal cosa como la seguridad perfecta)[Familiarizarse] III: Explicar los conceptos
de autenticacion, autorizacion, control de acceso[Familiarizarse] IV: Explicar el concepto de
conanza y conabilidad[Familiarizarse] V: Reconocer de que hay problemas eticos mas im-
portantes que considerar en seguridad computacional, incluyendo problemas eticos asociados a
arreglar o no arreglar vulnerabilidades y revelar o no revelar vulnerabilidades[Familiarizarse]
Topicos: I: Menor privilegio y aislamiento. II: Valores predeterminados a prueba de fallos. III: Dise-
no abierto. IV: La seguridad de extremo a extremo. V: La defensa en profundidad (por ejemplo,
la programacion defensiva, defensa en capas) VI: Diseno de seguridad. VII: Las tensiones entre
la seguridad y otros objetivos de diseno. VIII: Mediacion completa. IX: El uso de componen-
tes de seguridad vetados. X: Economa del mecanismo (la reduccion de la base informatica de
conanza, minimizar la supercie de ataque) XI: Seguridad utilizable. XII: Componibilidad de
seguridad. XIII: Prevencion, deteccion y disuasion.
Topicos: I: Validacion de datos de entrada y sanitizacion II: Eleccion del lenguaje de programa-
cion y lenguajes con tipos de datos seguro. III: Ejemplos de validacion de entrada de datos
y sanitizacion de errores. a) Desbordamiento de bufer b) Errores enteros c) Inyeccion SQL
d ) Vulnerabilidad XSS IV: Las condiciones de carrera. V: Manejo correcto de las excepciones y
comportamientos inesperados. VI: Uso correcto de los componentes de terceros. VII: Desplegar
ecazmente las actualizaciones de seguridad. VIII: Informacion de control de ujo. IX: Generan-
do correctamente el azar con nes de seguridad. X: Mecanismos para la deteccion y mitigacion
de datos de entrada y errores de sanitizacion. XI: Fuzzing XII: El analisis estatico y analisis
dinamico. XIII: Programa de vericacion. XIV: Soporte del sistema operativo (por ejemplo,
la asignacion al azar del espacio de direcciones, canarios) XV: El soporte de hardware (por
ejemplo, el DEP, TPM)
Topicos: I: Red de amenazas y tipos de ataques especcos (por ejemplo, la denegacion de servicio,
spoong, olfateando y la redireccion del traco, el hombre en el medio, ataques integridad de
los mensajes, los ataques de enrutamiento, y el analisis de traco) II: El uso de cifrado de
datos y seguridad de la red . III: Arquitecturas para redes seguras (por ejemplo, los canales
seguros, los protocolos de enrutamiento seguro, DNS seguro, VPN, protocolos de comunicacion
anonimos, aislamiento) IV: Los mecanismos de defensa y contramedidas (por ejemplo, monitoreo
de red, deteccion de intrusos, rewalls, suplantacion de identidad y proteccion DoS, honeypots,
seguimientos) V: Seguridad para redes inalambricas, celulares . VI: Otras redes no cableadas
(por ejemplo, ad hoc, sensor, y redes vehiculares) VII: Resistencia a la censura. VIII: Gestion
de la seguridad operativa de la red (por ejemplo, control de acceso a la red congure)
Topicos: I: Terminologa basica de criptografa cubriendo las nociones relacionadas con los diferentes
socios (comunicacion), canal seguro / inseguro, los atacantes y sus capacidades, cifrado, descifra-
do, llaves y sus caractersticas, rmas. II: Tipos de cifrado (por ejemplo, cifrado Cesar, cifrado
ane), junto con los metodos de ataque tpicas como el analisis de frecuencia. III: Apoyo a la
infraestructura de clave publica para la rma digital y el cifrado y sus desafos. IV: Criptografa
de clave simetrica: a) El secreto perfecto y el cojn de una sola vez b) Modos de funcionamien-
to para la seguridad semantica y encriptacion autenticada (por ejemplo, cifrar-entonces-MAC,
OCB, GCM) c) Integridad de los mensajes (por ejemplo, CMAC, HMAC) V: La criptografa
de clave publica: a) Permutacion de trampilla, por ejemplo, RSA b) Cifrado de clave publica,
por ejemplo, el cifrado RSA, cifrado El Gamal c) Las rmas digitales d ) Infraestructura de clave
publica (PKI) y certicados e) Supuestos de dureza, por ejemplo, Die-Hellman, factoring en-
tero VI: Protocolos de intercambio de claves autenticadas, por ejemplo, TLS . VII: Primitivas
criptogracas: a) generadores pseudo-aleatorios y cifrados de ujo b) cifrados de bloque (permu-
taciones pseudo-aleatorios), por ejemplo, AES c) funciones de pseudo-aleatorios d ) funciones de
hash, por ejemplo, SHA2, resistencia colision e) codigos de autenticacion de mensaje f ) funciones
derivaciones clave
Objetivos de Aprendizaje I: Describir el proposito de la Criptografa y listar formas en las cuales
es usada en comunicacion de datos[Familiarizarse] II: Denir los siguientes terminos: Cifrado,
Criptoanalisis, Algortmo Criptograco, y Criptologa y describe dos metodos basicos (cifrados)
para transformar texto plano en un texto cifrado[Familiarizarse] III: Discutir la importancia de
los numeros primos en criptografa y explicar su uso en algoritmos criptogracos[Familiarizarse]
IV: Ilustrar como medir la entropa y como generar aleatoriedad criptograca[Usar] V: Usa
primitivas de clave publica y sus aplicaciones[Usar] VI: Explicar como los protocolos de inter-
cambio de claves trabajan y como es que pueden fallar[Familiarizarse] VII: Discutir protocolos
criptogracos y sus propiedades[Familiarizarse]
Bibliografa: [Stallings and Brown, 2014]
7. Bibliografa
[Stallings and Brown, 2014] Stallings, W. and Brown, L. (2014). Computer Security: Principles and
Practice. Pearson Education, Limited.
Prerrequisitos:
2. Fundamentacion
El lenguaje ha sido una de las creaciones mas signicativas de la humanidad. Desde el lenguaje
corporal y gestual, pasando por la comunicacion verbal y escrita, hasta codigos simbolicos iconicos y
otros, ha posibilitado interacciones complejas entre los seres humanos y facilitado considerablemente la
comunicacion de informacion. Con la invencion de dispositivos automaticos y semiautomaticos, entre
los que se cuentan las computadoras, la necesidad de lenguajes o interfaces para poder interactuar con
ellos, ha cobrado gran importancia.
La usabilidad del software, aunada a la satisfaccion del usuario y su incremento de productividad,
depende de la ecacia de la Interfaz Usuario-Computador. Tanto es as, que a menudo la interfaz
es el factor mas importante en el exito o el fracaso de cualquier sistema computacional. El diseno e
implementacion de adecuadas Interfaces Humano-Computador, que ademas de cumplir los requisitos
tecnicos y la logica transaccional de la aplicacion, considere las sutiles implicaciones psicologicas,
culturales y esteticas de los usuarios, consume buena parte del ciclo de vida de un proyecto software, y
requiere habilidades especializadas, tanto para la construccion de las mismas, como para la realizacion
de pruebas de usabilidad.
Que el alumno tenga una vision centrada en la experiencia de usuario al aplicar apropiados
enfoques conceptuales y tecnologicos.
Determinar los requerimientos basicos a nivel de interfaces, hardware y software para la cons-
truccion de ambientes inmersivos.
4. Resultados (Outcomes)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Familiarizarse)
g) Analizar el impacto local y global de la computacion sobre los individuos, organizaciones y socie-
dad. (Familiarizarse)
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano. (Fami-
liarizarse)
C15. Entendimiento del concepto esencial del proceso, ya que se relaciona con la actividad profesional
sobre todo la relacion entre la calidad del producto y el despliegue de los procesos humanos
apropiados durante el desarrollo de productos. Outcome g
CS10. Implementar efectivamente las herramientas que se utilizan para la construccion y la docu-
mentacion de software, con especial enfasis en la comprension de todo el proceso involucrado
en el uso de computadoras para resolver problemas practicos. Esto debe incluir herramientas
para el control de software, incluyendo el control de versiones y gestion de la conguracion.
Outcome d
Bibliografa: [Dix et al., 2004, Stone and Minocha, 2005, Rogers, 2011]
interfaces para poblaciones con diferentes habilidades (p.e., invidentes, discapacitados) IV: In-
terfaces para grupos de poblacion de diferentes edades (p.e., ninos, mayores de 80)
Objetivos de Aprendizaje I: Crear y dirigir una simple pruebga de usabilidad para una aplicacion
existente de software[Familiarizarse]
Bibliografa: [Dix et al., 2004, Stone and Minocha, 2005, Rogers, 2011, Mathis, 2011, Norman, 2004]
Objetivos de Aprendizaje I: Llevar a cabo una evaluacion cuantitativa y discutir / informar sobre
los resultados[Familiarizarse] II: Para un grupo de usuarios determinado, realizar y documen-
tar un analisis de sus necesidades[Familiarizarse] III: Discutir al menos un standard nacional o
internacional de diseno de interfaz de usuario[Familiarizarse] IV: Explicar como el diseno cen-
trado en el usuario complementa a otros modelos de proceso software[Familiarizarse] V: Utilizar
lo- (baja delidad) tecnicas de prototipado para recopilar y reportar, las respuestas del usua-
rio[Usar] VI: Elegir los metodos adecuados para apoyar el desarrollo de una especca interfaz
de usuario[Evaluar] VII: Utilizar una variedad de tecnicas para evaluar una interfaz de usua-
rio dada[Evaluar] VIII: Comparar las limitaciones y benecios de los diferentes metodos de
evaluacion[Evaluar]
Bibliografa: [Dix et al., 2004, Stone and Minocha, 2005, Rogers, 2011, Mathis, 2011, Buxton, 2007]
Topicos: I: Principios de interfaces gracas de usuario (GUIs) II: Elementos de diseno visual (dis-
posicion, color, fuentes, etiquetado) III: Manejo de fallas humanas/sistema. IV: Estandares
de interfaz de usuario. V: Presentacion de informacion: navegacion, representacion, manipula-
cion. VI: Tecnicas de animacion de interfaz (ej. grafo de escena) VII: Clases Widget y bibliote-
cas. VIII: Internacionalizacion, diseno para usuarios de otras culturas, intercultural. IX: Elec-
cion de estilos de interaccion y tecnicas de interaccion.
Objetivos de Aprendizaje I: Crear una aplicacion simple, junto con la ayuda y la documentacion,
que soporta una interfaz graca de usuario[Usar]
Bibliografa: [Dix et al., 2004, Stone and Minocha, 2005, Rogers, 2011, Johnson, 2010, Mathis, 2011,
Leavitt and Shneiderman, 2006]
Objetivos de Aprendizaje I: Describe cuando son adecuadas las interfaces sin uso de raton[Familiarizarse]
II: Comprende las posibilidades de interaccion que van mas alla de las interfaces de raton y
puntero[Familiarizarse] III: Discute las ventajas (y desventajas) de las interfaces no basadas
en raton[Usar] IV: Describir el modelo optico realizado por un sistema de gracos por compu-
tadora para sintetizar una vision estereoscopica[Familiarizarse] V: Describir los principios de
las diferentes tecnologias de seguimiento de espectador[Familiarizarse] VI: Determinar los re-
querimientos basicos en interfaz, software, hardware, y coguraciones de software de un sistema
VR para una aplicacion especca[Evaluar]
Bibliografa: [Dix et al., 2004, Stone and Minocha, 2005, Rogers, 2011, Wigdor and Wixon, 2011, Mathis, 2011]
Topicos: I: La comunicacion asncrona en grupo, por ejemplo, el correo electronico, foros, redes socia-
les. II: Medios de comunicacion social, informatica social, y el analisis de redes sociales. III: Co-
laboracion en lnea, espacios inteligentes y aspectos de coordinacion social de tecnologas de
ujo de trabajo. IV: Comunidades en lnea. V: Personajes de Software y agentes inteligentes,
mundos virtuales y avatares. VI: Psicologa Social
Bibliografa: [Dix et al., 2004, Stone and Minocha, 2005, Rogers, 2011]
7. Bibliografa
[Buxton, 2007] Buxton, B. (2007). Sketching User Experiences: Getting the Design Right and the
Right Design. Morgan Kaufmann Publishers Inc.
[Dix et al., 2004] Dix, A., Finlay, J., Abowd, G., and Beale, R. (2004). Human-computer Interaction.
Prentice-Hall, Inc, 3 ed. edition.
[Johnson, 2010] Johnson, J. (2010). Designing with the Mind in Mind: Simple Guide to Understanding
User Interface Design Rules. Morgan Kaufmann Publishers Inc., 3 ed. edition.
[Leavitt and Shneiderman, 2006] Leavitt, M. and Shneiderman, B. (2006). Research-Based Web De-
sign & Usability Guidelines. Health and Human Services Dept.
[Mathis, 2011] Mathis, L. (2011). Designed for Use: Create Usable Interfaces for Applications and the
Web. Pragmatic Bookshelf.
[Norman, 2004] Norman, D. A. (2004). Emotional Design: Why We Love (or Hate) Everyday Things.
Basic Book.
[Rogers, 2011] Rogers, Y.; Sharp, H. . P. J. (2011). Interaction Design: Beyond Human-Computer
Interaction. John Wiley and Sons Ltd, 3 ed. edition.
[Stone and Minocha, 2005] Stone, D.; Jarrett, C. W. M. and Minocha, S. (2005). User Interface
Design and Evaluation. Morgan Kaufmann Series in Interactive Technologies.
[Wigdor and Wixon, 2011] Wigdor, D. and Wixon, D. (2011). Brave NUI World: Designing Natural
User Interfaces for Touch and Gesture. Morgan Kaufmann Publishers Inc.
Prerrequisitos:
2. Fundamentacion
Este curso tiene por objetivo que el alumno pueda realizar un estudio del estado del arte de un
que el alumno ha elegido como tema para su tesis.
Que el alumno elija un docente que domine el de investigacion elegida como asesor.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
7. Bibliografa
[Association for Computing Machinery, 2008] Association for Computing Machinery (2008). Digital
Libray. Association for Computing Machinery. http://portal.acm.org/dl.cfm.
[CiteSeer.IST, 2008] CiteSeer.IST (2008). Scientic Literature Digital Libray. College of Information
Sciences and Technology, Penn State University. http://citeseer.ist.psu.edu.
[IEEE-Computer Society, 2008] IEEE-Computer Society (2008). Digital Libray. IEEE-Computer So-
ciety. http://www.computer.org/publications/dlib.
Prerrequisitos:
2. Fundamentacion
La ultima decada ha trado un crecimiento explosivo en computacion con multiprocesadores, inclu-
yendo los procesadores de varios nucleos y centros de datos distribuidos. Como resultado, la compu-
tacion paralela y distribuida se ha convertido de ser un tema ampliamente electivo para ser uno de
los principales componentes en la malla estudios en ciencia de la computacion de pregrado. Tanto
la computacion paralela como la distribuida implica la ejecucion simultanea de multiples procesos,
cuyas operaciones tienen el potencial para intercalar de manera compleja. La computacion paralela
y distribuida construye sobre cimientos en muchas areas, incluyendo la comprension de los conceptos
fundamentales de los sistemas, tales como: concurrencia y ejecucion en paralelo, consistencia en el
estado/manipulacion de la memoria, y latencia. La comunicacion y la coordinacion entre los procesos
tiene sus cimientos en el paso de mensajes y modelos de memoria compartida de la computacion y
conceptos algortmicos como atomicidad, el consenso y espera condicional. El logro de aceleracion
en la practica requiere una comprension de algoritmos paralelos, estrategias para la descomposicion
problema, arquitectura de sistemas, estrategias de implementacion y analisis de rendimiento. Los sis-
temas distribuidos destacan los problemas de la seguridad y tolerancia a fallos, hacen hincapie en el
mantenimiento del estado replicado e introducen problemas adicionales en el campo de las redes de
computadoras.
Que el alumno sea capaz de convertir, cuando la situacion lo amerite, aplicaciones secuenciales
a paralelas de forma eciente.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
Bibliografa: [Pacheco, 2011, Kirk and mei W. Hwu, 2013, Sanders and Kandrot, 2010]
Objetivos de Aprendizaje I: Usar exclusion mutua para evitar una condicion de carrera [Usar]
II: Dar un ejemplo de una ordenacion de accesos entre actividades concurrentes (por ejemplo,
un programa con condicion de carrera) que no son secuencialmente consistentes [Familiarizarse]
III: Dar un ejemplo de un escenario en el que el bloqueo de mensajes enviados pueden dar
deadlock [Usar] IV: Explicar cuando y por que mensajes de multidifusion (multicast) o basado
en eventos puede ser preferible a otras alternativas [Familiarizarse] V: Escribir un programa que
termine correctamente cuando todo el conjunto de procesos concurrentes hayan sido completa-
dos [Usar] VI: Dar un ejemplo de un escenario en el que un intento optimista de actualizacion
puede nunca completarse [Familiarizarse] VII: Usar semaforos o variables de condicion para
bloquear hebras hasta una necesaria precondicion de mantenga [Usar]
Topicos: I: Caminos crticos, el trabajo y la duracion y la relacion con la ley de Amdahl. II: Ace-
leracion y escalabilidad. III: Naturalmente (vergonzosamente) algoritmos paralelos. IV: Patro-
nes Algoritmicos paralelos (divide-y-conquista, map/reduce, amos-trabajadores, otros) a) Al-
gortimos especcos (p.e., MergeSort paralelo) V: Algoritmos de grafos paralelo (por ejemplo,
la ruta mas corta en paralelo, arbol de expansion paralela) VI: Calculos de matriz parale-
las. VII: Productor-consumidor y algoritmos paralelos segmentados. VIII: Ejemplos de algo-
ritmos paralelos no-escalables.
Objetivos de Aprendizaje I: Denir: camino crtico, trabajo y span [Familiarizarse] II: Calcular
el trabajo y el span y determinar el camino crtico con respecto a un diagrama de ejecucion
paralela. [Usar] III: Denir speed-up y explicar la nocion de escalabilidad de un algoritmo en
este sentido [Familiarizarse] IV: Identicar tareas independientes en un programa que debe
ser paralelizado [Usar] V: Representar caractersticas de una carga de trabajo que permita o
evite que sea naturalmente paralelizable [Familiarizarse] VI: Implementar un algoritmo dividir
y conquistar paralelo (y/o algoritmo de un grafo) y medir empiricamente su desempeno rela-
tivo a su analogo secuencial [Usar] VII: Descomponer un problema (por ejemplo, contar el
numero de ocurrencias de una palabra en un documento) via operaciones map y reduce [Usar]
VIII: Proporcionar un ejemplo de un problema que se corresponda con el paradigma productor-
consumidor [Usar] IX: Dar ejemplos de problemas donde el uso de pipelining sera un medio
ecaz para la paralelizacion [Usar] X: Implementar un algoritmo de matriz paralela [Usar]
XI: Identicar los problemas que surgen en los algoritmos del tipo productor-consumidor y los
mecanismos que pueden utilizarse para superar dichos problemas [Usar]
Bibliografa: [Matlo, 2014, Quinn, 2003]
7. Bibliografa
[Kirk and mei W. Hwu, 2013] Kirk, D. B. and mei W. Hwu, W. (2013). Programming Massively
Parallel Processors: A Hands-on Approach. Morgan Kaufmann, 2nd edition.
[Matlo, 2014] Matlo, N. (2014). Programming on Parallel Machines. University of California, Davis.
SUMILLA
Prerrequisitos: Ninguno
2. Fundamentacion
El proposito de este curso es proporcionar al alumno una base historica que le permita comprender
crticamente los principales procesos culturales que han congurado la Civilizacion Occidental desde
sus orgenes remotos en las civilizaciones antiguas U principalmente en el mundo clasico grecorromano-
introduciendonos en la Edad Media mediante la formacion, desarrollo y crisis de la cristiandad, anali-
zando los principales hechos que han congurado la historia moderna de Occidente, como el Renaci-
miento, el Protestantismo, la Ilustracion, la Revolucion Industrial, la emergencia de las utopas sociales
y el humanismo ateo, o la Postmodernidad. La asignatura asume que el mundo occidental constituye
historicamente una unidad cultural U con sus diferencias continentales y particularidades nacionales,
regionales y locales. Como se ve, no se trata de dar a conocer los principales hechos historicos de la
Historia Universal, sino fundamentalmente de introducir al estudiante en una vision crtica general de
los procesos culturales que generan nuevas mentalidades, conceptos, modos de ver la vida, costumbres,
polticas y normas. Por lo dicho, tampoco nos referimos a la nueva historia cultural moderna que, his-
toriogracamente hablando, se ocupa solo del tratamiento, produccion y socializacion de servicios y
bienes culturales. A lo largo del curso seran fundamentales dos textos que tomaremos como referencia.
El primero sera el libro de Florencio Hubenak, Historia integral de Occidente (2008) y el segundo de
Alfredo Saenz, La cristiandad y su cosmovision (1992). Ambos textos serviran de gua para compren-
der los principales cambios culturales de fondo y los acontecimientos polticos, sociales y economicos
mas importantes. La nalidad es que los alumnos puedan obtener una base de informacion factica
relevante de las lecturas y que las clases sean lugares no solo de exposicion magistral sino de dialogo
que permita consolidar su aprendizaje. El curso ofrecera una vision panoramica de la formacion y
desarrollo de Occidente, desde sus orgenes en el mundo clasico grecorromano, la posterior inuencia
sociocultural que tuvo el cristianismo, poniendo enfasis en la conformacion de la Cristiandad como
estructura fundamental poltica economica y social, analizando el fenomeno cultural de la Moder-
nidad, sus orgenes, formacion, desarrollo y crisis hasta la Postmodernidad. Entendiendo el termino
SculturaT en el sentido amplio de ScivilizacionT, el curso ofrece una perspectiva de las principales
inexiones culturales en Occidente. Teniendo en cuenta la conjuncion de factores polticos, sociales y
economicos, se buscara abordar los principales cambios de perspectiva y mentalidad respecto de los
problemas losoco-teologicos fundamentales, los ordenamientos polticos y normativos, as como los
presupuestos morales, costumbres y valores predominantes de cada periodo historico.
4. Resultados (Outcomes)
n) Aplicar conocimientos de humanidades en su labor profesional. (Usar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
Topicos: I: Concepto, origen, desarrollo y crisis historicos de la Modernidad. II: Cambios sociales,
economicos y culturales en la Cristiandad a) Legado medieval. b) Eclosion del mundo moderno.
III: Renacimiento. IV: Protestantismo. V: Reforma catolica. VI: Monarquas nacionales.
VII: La paz de Westfalia. VIII: La Ilustracion. IX: Fin del Antiguo Regimen.
Objetivos de Aprendizaje I: Identicar y analizar los procesos historicos que dan origen y con-
guran la Modernidad. [Familiarizarse]
Bibliografa: [Hubenak, 2007]
Objetivos de Aprendizaje I: Analizar los procesos historicos asociados a los radicales cambios
ocurridos durante el siglo XIX y consecuente siglo XX. [Familiarizarse]
Bibliografa: [Hubenak, 2007]
7. Bibliografa
[Dawson, 2007] Dawson, C. (2007). Los orgenes de Europa.
[Garcia Villoslada, 1960] Garcia Villoslada, R. (1960). Historia de la iglesia catolica : edad nueva. La
iglesia en la epoca del renacimiento y de la reforma catolica. Biblioteca de Autores Peruanos.
[Hubenak, 2007] Hubenak, F. F. (2007). Historia integral de occidente : desde una perspectiva cris-
tiana. Buenos Aires: Educa, 1l ed., 1l reimpr. edition.
[Krebs, 2006] Krebs, R. (2006). Breve Historia Universal.
[Saenz, 1992] Saenz, A. (1992). La cristiandad y su cosmovision. Ediciones Gladius.
2. Fundamentacion
El desarrollo de software requiere del uso de mejores practicas de desarrollo, gestion de proyectos
de TI, manejo de equipos y uso eciente y racional de frameworks de aseguramiento de la calidad
y de Gobierno de Portfolios, estos elemento son pieza clave y transversal para el exito del proceso
productivo.
Este curso explora el diseno, seleccion, implementacion y gestion de soluciones TI en las Organi-
zaciones. El foco esta en las aplicaciones y la infraestructura y su aplicacion en el negocio.
3. Objetivos del curso
Entender una variedad de frameworks para el analisis de arquitectura empresarial y la toma de
decisiones
Utilizar tecnicas para la evaluacion y gestion del riesgo en el portfolio de la empresa
Evaluar y planicar la integracion de tecnologas emergentes
Entender el papel y el potencial de las TI para a apoyar la gestion de procesos empresariales
Entender los difentes enfoques para modelar y mejorar los procesos de negocio
Describir y comprender modelos de aseguramiento de la calidad como marco clave para el exitos
de los proyectos de TI.
Comprender y aplicar el framework de IT Governance como elemento clave para la gestion del
portfolio de aplicaciones Empresariales
4. Resultados (Outcomes)
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa computacional para
alcanzar las necesidades deseadas. (Usar)
d) Trabajar efectivamente en equipos para cumplir con un objetivo comun. (Usar)
i) Utilizar tecnicas y herramientas actuales necesarias para la practica de la computacion. (Usar)
j) Aplicar la base matematica, principios de algoritmos y la teora de la Ciencia de la Computacion en
el modelamiento y diseno de sistemas computacionales de tal manera que demuestre comprension
de los puntos de equilibrio involucrados en la opcion escogida. (Evaluar)
m) Transformar sus conocimientos del area de Ciencia de la Computacion en emprendimientos
tecnologicos. (Evaluar)
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano. (Usar)
Topicos: I: La participacion del equipo: a) Procesos elemento del equipo, incluyendo responsabili-
dades de tarea, la estructura de reuniones y horario de trabajo b) Roles y responsabilidades en
un equipo de software c) Equipo de resolucion de conictos d ) Los riesgos asociados con los
equipos virtuales (comunicacion, la percepcion, la estructura) II: Estimacion de esfuerzo (a
nivel personal) III: Riesgo. a) El papel del riesgo en el ciclo de vida b) Categoras elemento
de riesgo, incluyendo la seguridad, la seguridad, mercado, nanzas, tecnologa, las personas, la
calidad, la estructura y el proceso de IV: Gestion de equipos: a) Organizacion de equipo y
la toma de decisiones b) Roles de identicacion y asignacion c) Individual y el desempeno del
equipo de evaluacion V: Gestion de proyectos: a) Programacion y seguimiento de elementos
b) Herramientas de gestion de proyectos c) Analisis de Costo/Benecio VI: Software de me-
dicion y tecnicas de estimacion. VII: Aseguramiento de la calidad del software y el rol de las
mediciones. VIII: Riesgo. a) El papel del riesgo en el ciclo de vida b) Categoras elemento de
riesgo, incluyendo la seguridad, la seguridad, mercado, nanzas, tecnologa, las personas, la cali-
dad, la estructura y el proceso de IX: En todo el sistema de aproximacion al riesgo, incluyendo
riesgos asociados con herramientas.
Objetivos de Aprendizaje I: Discutir los comportamientos comunes que contribuyen al buen fun-
cionamiento de un equipo[Usar] II: Crear y seguir un programa para una reunion del equi-
po[Usar] III: Identicar y justicar las funciones necesarias en un equipo de desarrollo de
software[Usar] IV: Entender las fuentes, obstaculos y benecios potenciales de un conicto de
equipo[Usar] V: Aplicar una estrategia de resolucion de conictos en un ambiente de equi-
po[Usar] VI: Utilizar un metodo ad hoc para estimar el esfuerzo de desarrollo del software
(ejemplo, tiempo) y comparar con el esfuerzo actual requerido[Usar] VII: Listar varios ejem-
plos de los riesgos del software[Usar] VIII: Describir el impacto del riesgo en el ciclo de vida de
desarrollo de software[Usar] IX: Describir las diferentes categoras de riesgo en los sistemas de
software[Usar] X: Demostrar a traves de la colaboracion de proyectos de equipo los elementos
centrales de la contruccion de equipos y gestion de equipos[Usar] XI: Describir como la eleccion
de modelos de procesos afectan la estructura organizacional de equipos y procesos de toma de
decisiones[Usar] XII: Crear un equipo mediante la identicacion de los roles apropiados y la
asignacion de funciones a los miembros del equipo[Usar] XIII: Evaluar y retroalimentar a los
equipos e individuos sobre su desempeno en un ambiente de equipo[Usar] XIV: Usando un
software particular procesar, describir los aspectos de un proyecto que encesita ser planeado y
monitoreado, (ejemplo, estimar el tamano y esfuerzo, un horario, reasignacion de recursos, con-
trol de conguracion, gestion de cambios, identicacion de riesgos en un proyecto y gestion)[Usar]
XV: Realizar el seguimiento del progreso de alguna etapa de un proyecto que utiliza metricas de
proyectos apropiados[Usar] XVI: Comparar las tecnicas simples de tamano de software y esti-
macion de costos[Usar] XVII: Usar una herramienta de gestion de proyectos para ayudar en la
asignacion y rastreo de tareas en un proyecto de desarrollo de software[Usar] XVIII: Describir
el impacto de la tolerancia de riesgos en el proceso de desarrollo de software[Usar] XIX: Iden-
ticar riesgos y describir enfoques para manejar riesgos (evitar, aceptar, tranferir, mitigar) y
caracterizar fortalezas y defectos para cada uno[Usar] XX: Explicar como el riesgo afecta las
decisiones en el proceso de desarrollo de software[Usar] XXI: Identicar los riesgos de seguridad
para un sistema de software[Usar] XXII: Demostrar un enfoque sistematico para la tarea de
identicar los peligros y riesgos en una situacion particular[Usar] XXIII: Aplicar los principios
basicos del manejo de riesgos en una variedad de escenarios simples incluyendo una situacion
de seguridad[Usar] XXIV: Dirigir un analisis de costo/benecio para el enfoque de mitigacion
de riesgos[Usar] XXV: Identicar y analizar alguno de los riesgos para un sistema entero que
surgen de aspectos distintos del software[Usar]
Topicos: I: Administracion del servicio como practica. II: Ciclo de vida del servicio. III: Deni-
ciones y conceptos genericos. IV: Modelos y principios claves. V: Procesos. VI: Tecnologa y
arquitectura. VII: Competencia y entrenamiento.
7. Bibliografa
[Pressman and Maxim, 2014] Pressman, R. S. and Maxim, B. (2014). Software Engineering: A Prac-
titioners Approach. McGraw-Hill, 8th edition.
[Sommerville, 2010] Sommerville, I. (2010). Software Engineering. Addison-Wesley, 9th edition.
Prerrequisitos:
2. Fundamentacion
Este curso tiene por objetivo que el alumno concluya su proyecto de tesis.
Avance parcial: Avance del plan de tesis incluyendo motivacion y contexto, denicion del
problema, objetivos, cronograma de actividades hasta el proyecto nal de tesis y el estado
del arte del tema abordado.
Final: Plan de tesis completo y Avance de la Tesis incluyendo los captulos de marco teorico,
trabajos relacionados y resultados (formales o estadsticos) preliminares orientados a su
tema de tesis.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
7. Bibliografa
[Association for Computing Machinery, 2008] Association for Computing Machinery (2008). Digital
Libray. Association for Computing Machinery. http://portal.acm.org/dl.cfm.
[CiteSeer.IST, 2008] CiteSeer.IST (2008). Scientic Literature Digital Libray. College of Information
Sciences and Technology, Penn State University. http://citeseer.ist.psu.edu.
[IEEE-Computer Society, 2008] IEEE-Computer Society (2008). Digital Libray. IEEE-Computer So-
ciety. http://www.computer.org/publications/dlib.
Prerrequisitos:
2. Fundamentacion
Provee una serie de herramientas para resolver problemas que son difciles de solucionar con los
metodos algortmicos tradicionales. Incluyendo heursticas, planeamiento, formalismos en la represen-
tacion del conocimiento y del razonamiento, tecnicas de aprendizaje en mlcquinas, tecnicas aplicables
a los problemas de accion y reaccion: asi como el aprendizaje de lenguaje natural, vision articial y
robotica entre otros.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
C8. Entendimiento de lo que las tecnologas actuales pueden y no pueden lograr. Outcome h,i
Topicos: I: CS360. Sistemas Inteligentes II: CS361. Razonamiento automatizado III: CS362. Siste-
mas Basados en Conocimiento IV: CS363. Aprendizaje de Maquina [Russell and Norvig, 2003],[Haykin, 1999]
V: CS364. Sistemas de Planeamiento VI: CS365. Procesamiento de Lenguaje Natural VII: CS366.
Agentes VIII: CS367. Robotica IX: CS368. Computacion Simbolica X: CS369. Algoritmos
Geneticos [Goldberg, 1989]
7. Bibliografa
[Goldberg, 1989] Goldberg, D. (1989). Genetic Algorithms in Search, Optimization and Machine
Learning. Addison Wesley.
[Haykin, 1999] Haykin, S. (1999). Neural networks: A Comprehensive Foundation. Prentice Hall.
[Russell and Norvig, 2003] Russell, S. and Norvig, P. (2003). Inteligencia Artical: Un enfoque mo-
derno. Prentice Hall.
2. Fundamentacion
En la actualidad conocer enfoques escalables para procesar y almacenar grande volumenes de
informacion (terabytes, petabytes e inclusive exabytes) es fundamental en cursos de ciencia de la
computacion. Cada dia, cada hora, cada minuto se genera gran cantidad de informacion la cual necesita
ser procesada, almacenada, analisada.
3. Objetivos del curso
Que el alumno sea capaz de crear aplicaciones paralelas para procesar grandes volumenes de
informacion.
Que el alumno sea capaz de comparar las alternativas para el procesamiento de big data.
Que el alumno sea capaz de proponer arquitecturas para una aplicacion escalable.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Usar)
i) Utilizar tecnicas y herramientas actuales necesarias para la practica de la computacion. (Usar)
j) Aplicar la base matematica, principios de algoritmos y la teora de la Ciencia de la Computacion en
el modelamiento y diseno de sistemas computacionales de tal manera que demuestre comprension
de los puntos de equilibrio involucrados en la opcion escogida. (Usar)
Topicos: I: II: Vision global sobre Cloud Computing III: Vision global sobre Sistema de Archivos
Distribuidos IV: Vision global sobre el modelo de programacion MapReduce
Topicos: I: Vision global de Hadoop. II: Historia. III: Estructura de Hadoop. IV: HDFS, Hadoop
Distributed File System. V: Modelo de Programacion MapReduce
Topicos: I: Pregel: A System for Large-scale Graph Processing. II: Distributed GraphLab: A Fra-
mework for Machine Learning and Data Mining in the Cloud. III: Apache Giraph is an iterative
graph processing system built for high scalability.
Bibliografa: [Low et al., 2012, Malewicz et al., 2010, Baluja et al., 2008]
7. Bibliografa
[Baluja et al., 2008] Baluja, S., Seth, R., Sivakumar, D., Jing, Y., Yagnik, J., Kumar, S., Ravichan-
dran, D., and Aly, M. (2008). Video suggestion and discovery for youtube: Taking random walks
through the view graph. In Proceedings of the 17th International Conference on World Wide Web,
WWW 08, pages 895904, New York, NY, USA. ACM.
[Buyya et al., 2013] Buyya, R., Vecchiola, C., and Selvi, S. T. (2013). Mastering Cloud Computing:
Foundations and Applications Programming. Morgan Kaufmann Publishers Inc., San Francisco,
CA, USA, 1st edition.
[Coulouris et al., 2011] Coulouris, G., Dollimore, J., Kindberg, T., and Blair, G. (2011). Distributed
Systems: Concepts and Design. Addison-Wesley Publishing Company, USA, 5th edition.
[Hwang et al., 2011] Hwang, K., Dongarra, J., and Fox, G. C. (2011). Distributed and Cloud Compu-
ting: From Parallel Processing to the Internet of Things. Morgan Kaufmann Publishers Inc., San
Francisco, CA, USA, 1st edition.
[Low et al., 2012] Low, Y., Bickson, D., Gonzalez, J., Guestrin, C., Kyrola, A., and Hellerstein, J. M.
(2012). Distributed graphlab: A framework for machine learning and data mining in the cloud.
Proc. VLDB Endow., 5(8):716727.
[Malewicz et al., 2010] Malewicz, G., Austern, M. H., Bik, A. J., Dehnert, J. C., Horn, I., Leiser, N.,
and Czajkowski, G. (2010). Pregel: A system for large-scale graph processing. pages 135146.
Prerrequisitos:
2. Fundamentacion
En este curso se puede profundizar en alguno de los topicos mencionados en el area de Computacion
Graca (Graphics and Visual Computing - GV).
Este curso esta destinado a realizar algun curso avanzado sugerido por la curricula de la ACM/IEEE.
[Hughes et al., 2013, Hearn and Baker, 1990]
Que el alumno aplique los conceptos aprendidos para crear una aplicacion sobre un problema
real.
Que el alumno investigue la posibilidad de crear un nuevo algoritmo y/o tecnica nueva para
resolver un problema real.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
7. Bibliografa
[Hearn and Baker, 1990] Hearn, D. and Baker, P. (1990). Computer Graphics in C. Prentice Hall.
[Hughes et al., 2013] Hughes, J. F., Dam, A. V., Mcguire, M., Sklar, D. F., Foley, J. D., Feiner, S. K.,
and Akeley, K. (2013). Computer Graphics - Principles and Practice 3rd Edition. Addison-Wesley.
Prerrequisitos:
2. Fundamentacion
El uso de metodos computacionales en las ciencias biologicas se ha convertido en una de las herra-
mientas claves para el campo de la biologa molecular, siendo parte fundamental en las investigaciones
de esta area.
En Biologa Molecular, existen diversas aplicaciones que involucran tanto al ADN, al analisis de pro-
tenas o al secuenciamiento del genoma humano, que dependen de metodos computacionales. Muchos
de estos problemas son realmente complejos y tratan con grandes conjuntos de datos.
Este curso puede ser aprovechado para ver casos de uso concretos de varias areas de conocimiento de
Ciencia de la Computacion como: Lenguajes de Programacion (PL), Algoritmos y Complejidad (AL),
Probabilidades y Estadstica, Manejo de Informacion (IM), Sistemas Inteligentes (IS).
Que el alumno sea capaz de abstraer la esencia de los diversos problemas biologicos para plantear
soluciones usando sus conocimientos de Ciencia de la Computacion
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
C3. Una comprension intelectual de, y el aprecio por el papel central de los algoritmos y estructuras
de datos. Outcome b,l
C5. Capacidad para implementar algoritmos y estructuras de datos en el software.. Outcome a,b
Bibliografa: [Clote and Backofen, 2000, Setubal and Meidanis, 1997, Pevzner, 2000]
Bibliografa: [Clote and Backofen, 2000, Setubal and Meidanis, 1997, Pevzner, 2000]
Topicos: I: Fundamento biologico: caso ideal, dicultades, metodos alternativos para secuenciamiento
de ADN II: Modelos formales de ensamblaje: Shortest Common Superstring, Reconstruction,
Multicontig III: Algoritmos para ensamblaje de secuencias: representacion de overlaps, caminos
para crear superstrings, algoritmo voraz, grafos acclicos. IV: Heursticas para ensamblaje:
busqueda de sobreposiciones, ordenacion de fragmentos, alineamientos y consenso.
7. Bibliografa
[Aluru, 2006] Aluru, S., editor (2006). Handbook of Computational Molecular Biology. Computer and
Information Science Series. Chapman & Hall, CRC, Boca Raton, FL.
[Clote and Backofen, 2000] Clote, P. and Backofen, R. (2000). Computational Molecular Biology: An
Introduction. John Wiley & Sons Ltd. 279 pages.
[Durbin et al., 1998] Durbin, R., Eddy, S., Krogh, A., and Mitchison, G. (1998). Biological Sequence
Analysis: Probabilistic Models of Proteins and Nucleic Acids. Cambridge University Press.
[Krogh et al., 1994] Krogh, A., Brown, M., Mian, I. S., Sjolander, K., and Haussler, D. (1994). Hidden
markov models in computational biology, applications to protein modeling. J Mol. Biol, 235:1501
1531.
[Pevzner, 2000] Pevzner, P. A. (2000). Computational Molecular Biology: an Algorithmic Approach.
The MIT Press, Cambridge, Massachusetts.
[Setubal and Meidanis, 1997] Setubal, J. C. and Meidanis, J. (1997). Introduction to computational
molecular biology. Boston: PWS Publishing Company.
2. Fundamentacion
Contemplada en su esencia, la tecnologa (tecnica) es un proceso historico universal, en el cual el
hombre descompone la realidad en sus elementos y funciones elementales, formando a partir de estos
nuevas estructuras mas aptas para sus nes especcos. El n positivo de este hecho es el dominio del
hombre, supuesto este dominio, podra vivir experiencialmente su propia libertad. Este n no llega a
realizarse, en gran parte a causa de la falta de respeto mutuo entre los hombres y a causa de la falta de
respeto a la naturaleza, a causa en n, de la opresion, de la explotacion y de la destruccion mutua. Por
esta razon, se impone la tarea de hacerse aptos para la conguracion responsable del poder tecnico. Y
este aprendizaje se lograra por medio de una estructura social solidaria y en regimen de companerismo.
Pero, sin la correspondiente aceptacion de la experiencia dolorosa de la tecnica, difcilmente se tendra
exito.
3. Objetivos del curso
Desarrollar capacidades y habilidades para que el alumno tenga un pensamiento crtico acerca
de la ciencia y tecnologa, las cuales deben estar al servicio del hombre. [Familiarizarse]
4. Resultados (Outcomes)
g) Analizar el impacto local y global de la computacion sobre los individuos, organizaciones y socie-
dad. (Evaluar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Evaluar)
7. Bibliografa
[Artigas, 1992] Artigas, M. (1992). Ciencia, razon y fe. Madrid: Ediciones Palabra.
[Asimov, 1992] Asimov, I. (1992). Cien preguntas basicas sobre la ciencia. Mexico: Alianza Editorial.
[Asimov, 1997] Asimov, I. (1997). Grandes ideas de la Ciencia. Mexico: Alianza Editorial.
[Childe, 1996] Childe, V. G. (1996). Los orgenes de la civilizacion. Mexico: Fondo de Cultura Eco-
nomica, pages 219274.
[Comellas, 2007] Comellas, J. L. (2007). Historia sencilla de la ciencia. Ediciones Rialp, pages 1725.
[Morande, 2009] Morande, P. (2009). Tradicion sapiencial y tecnologa. Persona y Cultura, (7):612.
2. Fundamentacion
La propuesta del Magisterio de la Iglesia para el correcto orden de la vida social -en los ambitos
polticos, social y economico- debera constituir la piedra angular de la organizacion social, logrando
as una sociedad reconciliada para todos.
3. Objetivos del curso
Contribuir en la formacion de agentes de cambio, quienes desde el rol que les toque desempenar
en la sociedad, sean partcipes en una sociedad orientada al desarrollo social solidario. [Usar]
4. Resultados (Outcomes)
e) Entender correctamente las implicancias profesionales, eticas, legales, de seguridad y sociales de
la profesion. (Usar)
n) Aplicar conocimientos de humanidades en su labor profesional. (Usar)
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano. (Usar)
7. Bibliografa
[Benedicto, 2006] Benedicto, X. (2006). Encclica Deus caritas est. Conferencia Episcopal Peruana -
Paulinas.
[Benedicto, 2009] Benedicto, X. (2009). Caritas in veritate. Paulinas.
[de Pensamiento Social Catolico, 2010] de Pensamiento Social Catolico, C. (2010). Boletn de Doctri-
na Social de la Iglesia. Universidad Catolica San Pablo.
[de Pensamiento Social Catolico, 2011] de Pensamiento Social Catolico, C. (2011). Boletn de Doctri-
na Social de la Iglesia. Universidad Catolica San Pablo.
[II, 2002] II, C. V. (2002). Gaudium et spes : Constitucion Pastoral sobre la Iglesia en el mundo
actual. Paulinas.
[II, 2003] II, J. P. (2003). Centesimus annus. Conferencia Episcopal Peruana.
[Peruana, 2005] Peruana, C. E. (2005). Compendio de la Doctrina Social de la Iglesia. Epiconsa, 1a.
ed edition.
Prerrequisitos:
2. Fundamentacion
Este es el primer curso dentro del area formacion de empresas de base tecnologica, tiene como
objetivo dotar al futuro profesional de conocimientos, actitudes y aptitudes que le permitan elaborar un
plan de negocio para una empresa de base tecnologica. El curso esta dividido en las siguientes unidades:
Introduccion, Creatividad, De la idea a la oportunidad, el modelo Canvas, Customer Development y
Lean Startup, Aspectos Legales y Marketing, Finanzas de la empresa y Presentacion.
Se busca aprovechar el potencial creativo e innovador y el esfuerzo de los alumnos en la creacion
de nuevas empresas.
Que el alumno sea capaz de realizar, usando modelos de negocio, la concepcion y presentacion
de una propuesta de negocio.
4. Resultados (Outcomes)
d) Trabajar efectivamente en equipos para cumplir con un objetivo comun. (Usar)
C10. Comprension del impacto en las personas, las organizaciones y la sociedad de la implementacion
de soluciones tecnologicas e intervenciones. Outcome f
C17. Capacidad para expresarse en los medios de comunicacion orales y escritos como se espera de
un graduado.. Outcome f
C19. Capacidad para identicar ecazmente los objetivos y las prioridades de su trabajo / area /
proyecto con indicacion de la accion, el tiempo y los recursos necesarios. Outcome i
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome k
Topicos: I: Emprendedor, emprendedurismo e innovacion tecnologica II: Modelos de negocio III: For-
macion de equipos
Bibliografa: [Byers et al., 2010, Osterwalder and Pigneur, 2010, Garzozi-Pincay et al., 2014]
Topicos: I: Vision II: Mision III: La Propuesta de valor IV: Creatividad e invencion V: Tipos
y fuentes de innovacion VI: Estrategia y Tecnologa VII: Escala y ambito
Objetivos de Aprendizaje I: Plantear correctamente la vision y mision de empresa [Usar] II: Ca-
racterizar una propuesta de valor innovadora [Evaluar] III: Identicar los diversos tipos y
fuentes de innovacion [Familiarizarse]
Bibliografa: [Byers et al., 2010, Blank and Dorf, 2012, Garzozi-Pincay et al., 2014]
Topicos: I: Estrategia de la Empresa II: Barreras III: Ventaja competitiva sostenible IV: Alianzas
V: Aprendizaje organizacional VI: Desarrollo y diseno de productos
Bibliografa: [Byers et al., 2010, Osterwalder and Pigneur, 2010, Ries, 2011, Garzozi-Pincay et al., 2014]
Topicos: I: Creacion de un nuevo negocio II: El plan de negocio III: Canvas IV: Elementos del
Canvas
Objetivos de Aprendizaje I: Conocer los elementos del modelo Canvas [Usar] II: Elaborar un
plan de negocio basado en el modelo Canvas [Usar]
Bibliografa: [Osterwalder and Pigneur, 2010, Blank and Dorf, 2012, Garzozi-Pincay et al., 2014]
Topicos: I: Aceleracion versus incubacion II: Customer Development III: Lean Startup
Objetivos de Aprendizaje I: Conocer y aplicar el modelo Customer Development [Usar] II: Co-
nocer y aplicar el modelo Lean Startup [Usar]
Bibliografa: [Blank and Dorf, 2012, Ries, 2011, Garzozi-Pincay et al., 2014]
Topicos: I: Aspectos Legales y tributarios para la constitucion de la empresa II: Propiedad intelec-
tual III: Patentes IV: Copyrights y marca registrada V: Objetivos de marketing y segmentos
de mercado VI: Investigacion de mercado y busqueda de clientes
Objetivos de Aprendizaje I: Conocer los aspectos legales necesarios para la formacion de una em-
presa tecnologica [Familiarizarse] II: Identicar segmentos de mercado y objetivos de marketing
[Familiarizarse]
Bibliografa: [Byers et al., 2010, Ries, 2011, Congreso de la Republica del Peru, 1996, de la Republica del Peru, 1997,
Garzozi-Pincay et al., 2014]
Topicos: I: Modelo de costos II: Modelo de utilidades III: Precio IV: Plan nanciero V: Formas
de nanciamiento VI: Fuentes de capital VII: Capital de riesgo
Objetivos de Aprendizaje I: Denir um modelo de costos y utilidades [Evaluar] II: Conocer las
diversas fuentes de nanciamento [Familiarizarse]
Bibliografa: [Byers et al., 2010, Blank and Dorf, 2012, Garzozi-Pincay et al., 2014]
Objetivos de Aprendizaje I: Conocer las diversas formas de presentar propuestas de negocio [Fa-
miliarizarse] II: Realizar la presentacion de una propuesta de negocio [Usar]
Bibliografa: [Byers et al., 2010, Blank and Dorf, 2012, Garzozi-Pincay et al., 2014]
7. Bibliografa
[Blank and Dorf, 2012] Blank, S. and Dorf, B. (2012). The Startup Owners Manual: The Step-By-
Step Guide for Building a Great Company. K and S Ranch.
[Byers et al., 2010] Byers, T., Dorf, R., and Nelson, A. (2010). Technology Ventures: From Idea to
Enterprise. McGraw-Hill Science.
[Congreso de la Republica del Peru, 1996] Congreso de la Republica del Peru (1996). Decreto Legis-
lativo Nz823. Ley de la Propiedad Industrial. El Peruano.
[de la Republica del Peru, 1997] de la Republica del Peru, C. (1997). Ley Nz26887. Ley General de
Sociedades. El Peruano.
[Garzozi-Pincay et al., 2014] Garzozi-Pincay, R., Messina-Scolaro, M., Moncada-Marino, C., Ochoa-
Luna, J., Ilabel-Perez, G., and Zambrano-Segura, R. (2014). Planes de Negocios para Emprendedo-
res. Iniciativa Latinoamericana de Libros de Texto Abiertos (LATIn).
[Osterwalder and Pigneur, 2010] Osterwalder, A. and Pigneur, Y. (2010). Business Model Generation:
A Handbook for Visionaries, Game Changers, and Challengers. Wiley.
[Ries, 2011] Ries, E. (2011). The Lean Startup: How Todays Entrepreneurs Use Continuous Innova-
tion to Create Radically Successful Businesses. Crown Business.
2. Fundamentacion
Para entender las tecnicas computacionales avanzadas, los estudiantes deberan tener un fuerte
conocimiento de las diversas estructuras discretas, estructuras que seran implementadas y usadas en
laboratorio en el lenguaje de programacion.
3. Objetivos del curso
Que el alumno sea capaz de modelar problemas de ciencia de la computacion usando grafos y
arboles relacionados con estructuras de datos.
Que el alumno aplicar ecientemente estrategias de recorrido para poder buscar datos de una
manera optima.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Usar)
i) Utilizar tecnicas y herramientas actuales necesarias para la practica de la computacion. (Usar)
j) Aplicar la base matematica, principios de algoritmos y la teora de la Ciencia de la Computacion en
el modelamiento y diseno de sistemas computacionales de tal manera que demuestre comprension
de los puntos de equilibrio involucrados en la opcion escogida. (Usar)
Topicos: I: Fallos: a) Fallos basados en red (incluyendo particiones) y fallos basados en nodos b) Im-
pacto en garantas a nivel de sistema (p.e., disponibilidad) II: Envo de mensajes distribuido:
a) Conversion y transmision de datos b) Sockets c) Secuenciamiento de mensajes d ) Almacenan-
do Buering, renviando y desechando mensajes III: Compensaciones de diseno para Sistemas
Distribuidos: a) Latencia versus rendimiento b) Consistencia, disponibilidad, tolerancia de par-
ticiones IV: Diseno de Servicio Distribuido: a) Protocolos y servicios Stateful versus stateless
b) Disenos de Sesion (basados en la conexion) c) Disenos reactivos (provocados por E/S) y dise-
nos de multiples hilos V: Algoritmos de Distribucion de Nucleos: a) Eleccion, descubrimiento
Objetivos de Aprendizaje I: Distinguir las fallas de red de otros tipos de fallas [Familiarizarse]
II: Explicar por que estructuras de sincronizacion como cerraduras simples (locks) no son uti-
les en la presencia de fallas distribuidas [Familiarizarse] III: Escribir un programa que realiza
cualquier proceso de marshalling requerido y la conversion en unidades de mensajes, tales como
paquetes, para comunicar datos importantes entre dos hosts [Usar] IV: Medir el rendimiento
observado y la latencia de la respuesta a traves de los hosts en una red dada [Usar] V: Explicar
por que un sistema distribuido no puede ser simultaneamente Consistente (Consistent), Dispo-
nible (Available) y Tolerante a fallas (Partition tolerant). [Familiarizarse] VI: Implementar un
servidor sencillo - por ejemplo, un servicio de correccion ortograca [Usar] VII: Explicar las
ventajas y desventajas entre: overhead, escalabilidad y tolerancia a fallas entre escojer un diseno
sin estado (stateless) y un diseno con estado (stateful) para un determinado servicio [Familiari-
zarse] VIII: Describir los desaos en la escalabilidad, asociados con un servicio cresciente para
soportar muchos clientes, as como los asociados con un servicio que tendra transitoriamente
muchos clientes [Familiarizarse] IX: Dar ejemplos de problemas donde algoritmos de consenso
son requeridos, por ejemplo, la eleccion de lder [Usar]
Topicos: I: Vision global de Cloud Computing. II: Historia. III: Vision global de las tecnologias
que envuelve. IV: Benecios, riesgos y aspectos economicos. V: Servicios en la nube. a) In-
fraestructura como servicio 1) Elasticidad de recursos 2) APIs de la Platforma b) Software
como servicio c) Securidad d ) Administracion del Costo VI: Computacion a Escala de Internet:
a) Particionamiento de Tareas b) Acceso a datos c) Clusters, grids y mallas
Objetivos de Aprendizaje I: Describir la evolucion de los Data Centers. [Familiarizarse] II: Es-
bozar la arquitectura de un data center en detalle. [Familiarizarse] III: Indicar consideraciones
de diseno y discutir su impacto. [Familiarizarse]
Topicos: I: Vision global de los modelso de programacion basados en cloud computing. II: Modelo de
Programacion MapReduce. III: Modelo de programacion para aplicaciones basadas en Grafos.
7. Bibliografa
[Baluja et al., 2008] Baluja, S., Seth, R., Sivakumar, D., Jing, Y., Yagnik, J., Kumar, S., Ravichan-
dran, D., and Aly, M. (2008). Video suggestion and discovery for youtube: Taking random walks
through the view graph. In Proceedings of the 17th International Conference on World Wide Web,
WWW 08, pages 895904, New York, NY, USA. ACM.
[Buyya et al., 2013] Buyya, R., Vecchiola, C., and Selvi, S. T. (2013). Mastering Cloud Computing:
Foundations and Applications Programming. Morgan Kaufmann Publishers Inc., San Francisco,
CA, USA, 1st edition.
[Coulouris et al., 2011] Coulouris, G., Dollimore, J., Kindberg, T., and Blair, G. (2011). Distributed
Systems: Concepts and Design. Addison-Wesley Publishing Company, USA, 5th edition.
[Hwang et al., 2011] Hwang, K., Dongarra, J., and Fox, G. C. (2011). Distributed and Cloud Compu-
ting: From Parallel Processing to the Internet of Things. Morgan Kaufmann Publishers Inc., San
Francisco, CA, USA, 1st edition.
[Low et al., 2012] Low, Y., Bickson, D., Gonzalez, J., Guestrin, C., Kyrola, A., and Hellerstein, J. M.
(2012). Distributed graphlab: A framework for machine learning and data mining in the cloud.
Proc. VLDB Endow., 5(8):716727.
[Malewicz et al., 2010] Malewicz, G., Austern, M. H., Bik, A. J., Dehnert, J. C., Horn, I., Leiser, N.,
and Czajkowski, G. (2010). Pregel: A system for large-scale graph processing. pages 135146.
2. Fundamentacion
Analizar tecnicas para la correcta implementacion de Sistemas de Informacion escalables, robustos,
conables y ecientes en las organizaciones.
3. Objetivos del curso
Implementar de forma correcta (escalables, robustos, conables y ecientes) Sistemas de Infor-
macion en las organizaciones.
4. Resultados (Outcomes)
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa computacional para
alcanzar las necesidades deseadas. (Usar)
i) Utilizar tecnicas y herramientas actuales necesarias para la practica de la computacion. (Usar)
k) Aplicar los principios de desarrollo y diseno en la construccion de sistemas de software de com-
plejidad variable. (Evaluar)
7. Bibliografa
[Pressman and Maxim, 2014] Pressman, R. S. and Maxim, B. (2014). Software Engineering: A Prac-
titioners Approach. McGraw-Hill, 8th edition.
2. Fundamentacion
Que el alumno conozca y comprenda los conceptos y principios fundamentales de control, plani-
cacion de caminos y denicion de estrategias en robotica movil as como conceptos de percepcion
robotica de forma que entienda el potencial de los sistemas roboticos actuales
3. Objetivos del curso
Sintetizar el potencial y las limitaciones del estado del arte de los sistemas roboticos actuales.
Implementar algoritmos de planeamiento de movimientos simples.
Explicar las incertezas asociadas con sensores y la forma de tratarlas.
Disenar una arquitectura de control simple
Describir varias estrategias de navegacion
Entender el rol y las aplicaciones de la percepcion robotica
Describir la importancia del reconocimiento de imagenes y objetos en sistemas inteligentes
Delinear las principales tecnicas de reconocimiento de objetos
Describir las diferentes caractersticas de las tecnologas usadas en percepcion
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Usar)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Usar)
h) Incorporarse a un proceso de aprendizaje profesional continuo. (Familiarizarse)
i) Utilizar tecnicas y herramientas actuales necesarias para la practica de la computacion. (Usar)
Topicos: I: Vision general: problemas y progreso a) Estado del arte de los sistemas roboticos, inclu-
yendo sus sensores y una vision general de su procesamiento b) Arquitecturas de control robotico,
ejem., deliverado vs. control reactivo y vehiculos Braitenberg c) Modelando el mundo y modelos
de mundo d ) Incertidumbre inherente en deteccion y control II: Conguracion de espacio y
mapas de entorno.
Objetivos de Aprendizaje I: Listar capacidades y limitaciones de sistemas del estado del arte en
robotica de hoy , incluyendo sus sensores y el procesamiento del sensor crucial que informa a
esos sistemas[Familiarizarse] II: Integrar sensores, actuadores y software en un robot disenado
para emprender alguna tarea[Usar]
Bibliografa: [Siegwart and Nourbakhsh, 2004, Thrun and Fox, 2005, Stone, 2000]
Topicos: I: Interpretando datos del sensor con incertidumbre. II: Localizacion y mapeo.
Objetivos de Aprendizaje I: Programar un robot para llevar a cabo tareas simples usando arqui-
tecturas de control deliverativo, reactivo y/o hbrido [Usar] II: Implementar algoritmos de pla-
nicacion de movimientos fundamentales dentro del espacio de conguracion de un robot[Usar]
7. Bibliografa
[Gonzales and Woods, 2007] Gonzales, R. C. and Woods, R. E. (2007). Digital Image Processing.
Prentice Hall, 3rd edition.
[Siegwart and Nourbakhsh, 2004] Siegwart, R. and Nourbakhsh, I. (2004). Introduction to Autono-
mous Mobile Robots. The MIT Press.
[Sonka and Boile, 2007] Sonka, M., H. V. and Boile, R. (2007). Image Processing, Analysis and Ma-
chine Vision. Cengage-Engineering.
[Stone, 2000] Stone, P. (2000). Layered Learning in Multiagent Systems. Intelligent Robots and
Autonomous Agents. The MIT Press.
[Thrun and Fox, 2005] Thrun, S., B. W. and Fox, D. (2005). Probabilistic Robotics. Intelligent Robots
and Autonomous Agents. The MIT Press.
2. Fundamentacion
Este curso tiene por objetivo que el alumno logre nalizar adecuadamente su borrador de tesis.
3. Objetivos del curso
Que el alumno complete este curso con su tesis elaborada en calidad suciente como para una
inmediata sustentacion.
Que el alumno presente formalmente el borrador de tesis ante las autoridades de la facultad.
Los entregables de este curso son:
Parcial: Avance del proyecto de tesis incluyendo en el documento: introduccion, marco teorico,
estado del arte, propuesta, analisis y/o experimentos y bibliografa solida.
Final: Documento de tesis completo y listo para sustentar en un plazo no mayor de quince das.
4. Resultados (Outcomes)
a) Aplicar conocimientos de computacion y de matematicas apropiadas para la disciplina. (Evaluar)
b) Analizar problemas e identicar y denir los requerimientos computacionales apropiados para su
solucion. (Evaluar)
c) Disenar, implementar y evaluar un sistema, proceso, componente o programa computacional para
alcanzar las necesidades deseadas. (Evaluar)
e) Entender correctamente las implicancias profesionales, eticas, legales, de seguridad y sociales de
la profesion. (Evaluar)
f ) Comunicarse efectivamente con audiencias diversas. (Evaluar)
h) Incorporarse a un proceso de aprendizaje profesional continuo. (Evaluar)
i) Utilizar tecnicas y herramientas actuales necesarias para la practica de la computacion. (Evaluar)
l) Desarrollar principios investigacion en el area de computacion con niveles de competividad inter-
nacional. (Evaluar)
7. Bibliografa
[Association for Computing Machinery, 2008] Association for Computing Machinery (2008). Digital
Libray. Association for Computing Machinery. http://portal.acm.org/dl.cfm.
[CiteSeer.IST, 2008] CiteSeer.IST (2008). Scientic Literature Digital Libray. College of Information
Sciences and Technology, Penn State University. http://citeseer.ist.psu.edu.
[IEEE-Computer Society, 2008] IEEE-Computer Society (2008). Digital Libray. IEEE-Computer So-
ciety. http://www.computer.org/publications/dlib.
Prerrequisitos:
2. Fundamentacion
La etica es una parte constitutiva inherente al ser humano, y como tal debe plasmarse en el actuar
cotidiano y profesional de la persona humana. Es indispensable que la persona asuma su rol activo
en la sociedad pues los sistemas economico-industrial, poltico y social no siempre estan en funcion de
valores y principios, siendo estos en realidad los pilares sobre los que debera basarse todo el actuar
de los profesionales.
4. Resultados (Outcomes)
n) Aplicar conocimientos de humanidades en su labor profesional. (Usar)
n) Comprender que la formacion de un buen profesional no se desliga ni se opone sino mas bien
contribuye al autentico crecimiento personal. Esto requiere de la asimilacion de valores solidos,
horizontes espirituales amplios y una vision profunda del entorno cultural. (Usar)
o) Mejorar las condiciones de la sociedad poniendo la tecnologa al servicio del ser humano. (Usar)
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome n,n,o
C21. Comprender el aspecto profesional, legal, seguridad, asuntos polticos, humanistas, ambientales,
culturales y eticos. Outcome n,n,o
C22. Capacidad para demostrar las actitudes y prioridades que honrar, proteger y mejorar la estatura
y la reputacion etica de la profesion. Outcome n,n,o
Topicos: I: Ser profesional y ser moral. II: La objetividad moral y la formulacion de principios
morales. III: El profesional y sus valores. IV: La conciencia moral de la persona. V: El
aporte de la DSI en el quehacer profesional. VI: El bien comun y el principio de subsidiaridad.
VII: Principios morales y propiedad privada. VIII: Justicia: Algunos conceptos basicos.
Bibliografa: [for Computing Machinery (ACM), 1992, Schmidt, 1995, Loza, 2000, Argandona, 2006]
Topicos: I: La responsabilidad individual del trabajador en la empresa. II: Liderazgo y etica profe-
sional en el entorno laboral. III: Principios generales sobre la colaboracion en hechos inmorales.
IV: El profesional frente al soborno: vctima o colaboracion?
Bibliografa: [for Computing Machinery (ACM), 1992, Manzone, 2007, Schmidt, 1995, Perez Lopez, 1998,
Nieburh, 2003]
Topicos: I: La etica profesional frente a la etica general. II: Trabajo y profesion en los tiempos
actuales. III: Etica, ciencia y tecnologa. IV: Valores eticos en organizaciones relacionadas con
el uso de la informacion. V: Valores eticos en la era de la Sociedad de la Informacion.
Objetivos de Aprendizaje I: Presentar al alumno las interrelaciones entre etica y las disciplinas
de la ultima era tecnologica.[Familiarizarse]
Bibliografa: [for Computing Machinery (ACM), 1992, IEEE, 2004, Hernandez, 2006]
Topicos: I: Etica informatica. a) Etica y software. b) El software libre. II: Regulacion y etica de
telecomunicaciones. a) Etica en Internet. III: Derechos de autor y patentes. IV: Etica en los
servicios de consultora. V: Etica en los procesos de innovacion tecnologica. VI: Etica en la
gestion tecnologica y en empresas de base tecnologica.
Objetivos de Aprendizaje I: Presentar al alumno algunos aspectos que confrontan la etica con el
quehacer de las disciplinas emergentes en la sociedad de la informacion.[Familiarizarse]
Bibliografa: [para las Comunicaciones Sociales, 2002, Hernandez, 2006, for Computing Machinery (ACM), 1992]
7. Bibliografa
[Argandona, 2006] Argandona (2006). La identidad cristiana del directivo de empresa. IESE.
[for Computing Machinery (ACM), 1992] for Computing Machinery (ACM), A. (1992). Acm code of
ethics and professional conduct.
[Hernandez, 2006] Hernandez, A. (2006). Etica Actual y Profesional. Lecturas para la Convivencia
Global en el Siglo XXI. Ed. Thomson.
[IEEE, 2004] IEEE (2004). Ieee code of ethics. IEE.
[Loza, 2000] Loza, C. (2000). El aporte de la doctrina social de la iglesia a la toma de decisiones
empresariales. Separata ofrecida por el profesor.
[Manzone, 2007] Manzone, G. (2007). La Responsabilidad de la Empresa, Business Ethics y Doctrina
Social de la Iglesia en Dialogo. Universidad Catolica San Pablo.
[Nieburh, 2003] Nieburh, R. (2003). El Yo Responsable. Ensayo de Filosofa Moral Cristiana. Bilbao.
[para las Comunicaciones Sociales, 2002] para las Comunicaciones Sociales, P. C. (2002). Etica en
Internet.
[Perez Lopez, 1998] Perez Lopez, J. A. (1998). Liderazgo y Etica en la Direccion de Empresas. Bilbao.
[Schmidt, 1995] Schmidt, E. (1995). Etica y Negocios para America Latina. Universidad del Pacco.
2. Fundamentacion
La formacion integral del alumno supone una adecuada valoracion historica de la realidad nacional
de modo que su accionar profesional este integrado y articulado con la identidad cultural peruana,
que genera el compromiso de hacer de nuestra sociedad un ambito mas humano, solidario y justo.
3. Objetivos del curso
Analizar y comprender la situacion actual del Peru desde una perspectiva historica y sociologica,
de modo que los alumnos puedan reconocerse y entenderse como parte de una Nacion sellada
en su nucleo mas ntimo por los valores cristianos que impulsan la construccion de una sociedad
mas justa y reconciliada. [Familiarizarse]
4. Resultados (Outcomes)
e) Entender correctamente las implicancias profesionales, eticas, legales, de seguridad y sociales de
la profesion. (Usar)
n) Aplicar conocimientos de humanidades en su labor profesional. (Usar)
7. Bibliografa
[Basadre, 1994] Basadre, J. (1994). Peru: Problema y posibilidad. Fundacion MJ. Bustamante de la
Fuente.
[Belaunde, 1965] Belaunde, V. A. (1965). Peruanidad. Studium.
[De la puente Candamo, 2006] De la puente Candamo, J. A. (2006). Reexiones sobre la identidad
nacional. Persona y Cultura, 4(4):941.
[Messori, 1998] Messori, V. (1998). Leyendas Negras de la Iglesia. Editorial Planeta, S.A., 6a. ed.
edition.
[Morande, 1987] Morande, P. (1987). Cultura y Modernizacion en America Latina. Editorial Planeta,
S.A.
[Pease, 1999] Pease, F. (1999). Breve Historia Contemporanea del Peru. Fondo de Cultura Economica.
[Quiroz Paz Soldan, 2006] Quiroz Paz Soldan, E. (2006). La identidad cultural arequipena como
camino a la identidad nacional peruana. Persona y Cultura, 4(4):5775.
[Vargas Ugarte, 1996] Vargas Ugarte, R. (1996). Historia General del Peru. Milla Batres, Carlos.
Prerrequisitos:
2. Fundamentacion
Este curso tiene como objetivo dotar al futuro profesional de conocimientos, actitudes y aptitudes
que le permitan formar su propia empresa de desarrollo de software y/o consultora en informatica.
El curso esta dividido en tres unidades: Valorizacion de Proyectos, Marketing de Servicios y Negocia-
ciones. En la primera unidad se busca que el alumno pueda analizar y tomar decisiones en relacion a
la viabilidad de un proyecto y/o negocio.
En la segunda unidad se busca preparar al alumno para que este pueda llevar a cabo un plan de
marketing satisfactorio del bien o servicio que su empresa pueda ofrecer al mercado. La tercera unidad
busca desarrollar la capacidad negociadora de los participantes a traves del entrenamiento vivencial y
practico y de los conocimientos teoricos que le permitan cerrar contrataciones donde tanto el cliente
como el proveedor resulten ganadores. Consideramos estos temas sumamente crticos en las etapas de
lanzamiento, consolidacion y eventual relanzamiento de una empresa de base tecnologica.
Que el alumno adquiera las bases para formar su propia empresa de base tecnologica.
4. Resultados (Outcomes)
d) Trabajar efectivamente en equipos para cumplir con un objetivo comun. (Usar)
C19. Capacidad para identicar ecazmente los objetivos y las prioridades de su trabajo / area /
proyecto con indicacion de la accion, el tiempo y los recursos necesarios. Outcome m
C20. Posibilidad de conectar la teora y las habilidades aprendidas en la academia a los aconteci-
mientos del mundo real que explican su pertinencia y utilidad. Outcome m
C21. Comprender el aspecto profesional, legal, seguridad, asuntos polticos, humanistas, ambientales,
culturales y eticos. Outcome m
C22. Capacidad para demostrar las actitudes y prioridades que honrar, proteger y mejorar la estatura
y la reputacion etica de la profesion. Outcome m
C23. Capacidad para emprender, completar, y presentar un proyecto nal. Outcome m
C24. Comprender la necesidad de la formacion permanente y la mejora de habilidades y capacidades.
Outcome m
7. Bibliografa
[Blank and Tarkin, 2006] Blank, L. and Tarkin, A. (2006). Ingeniera Economica. McGraw Hill,
Mexico D.F., Mexico.
[de Manuel Das and Martnez, 2006] de Manuel Das, F. and Martnez, R. M.-V. (2006). Tecnicas
de Negociacion. Un metodo practico. Esic, Madrid.
[Fisher et al., 1996] Fisher, R., Ury, W., and Patton, B. (1996). Si... ade
acuerdo! Como negociar sin
ceder. Norma, Barcelona.
[Kotler and Keller, 2006] Kotler, P. and Keller, K. L. (2006). Direccion de Marketing. Prentice Hall,
Mexico.
[Lovelock and Wirtz, 2009] Lovelock, C. and Wirtz, J. (2009). Marketing de servicios. Personal, tec-
nologa y estrategia. Prentice Hall, Mexico.
Prerrequisitos: Ninguno
2. Fundamentacion
Parte fundamental de la formacion integral de un profesional es la habilidad de comunicarse en
un idioma extranjero ademas del propio idioma nativo. No solamente ampla su horizonte cultural
sino que permite una vision mas humana y comprensiva de la vida de las personas. En el caso de los
idiomas extranjeros, indudablemente el Ingles es el mas pratcico porque es hablado alrededor de todo
el mundo. No hay pas alguno donde este no sea hablado. En las carreras relacionadas con los servicios
al turista el Ingles es tal vez la herramienta practica mas importante que el alumno debe dominar
desde el primer momento, como parte de su formacion integral.
4. Resultados (Outcomes)
C25. Capacidad para comunicarse en un segundo idioma. Outcome f,i
Topicos: I: Verbo To Be. II: Oraciones Armativas, Negativas y Preguntas. III: Expresiones
Numericas. IV: Objetos y Pases. V: Expresiones para saludar y hacer presentaciones.
Objetivos de Aprendizaje I: Al terminar la primera unidad, cada uno de los alumnos, compren-
diendo la gramatica del tiempo presente es capaz de expresar una mayor cantidad de expresiones
de tiempo y ademas usar oraciones con el verbo To Be para expresar situacion y estado. II: Que
el alumno sea capaz de analizar y expresar ideas acerca de fechas y numeros en orden.
Bibliografa: [Soars and John, 2002d, Soars and John, 2002f, Soars and John, 2002e, Cambridge, 2006,
MacGrew, 1999]
Topicos: I: Adjetivos Posesivos. II: Expresiones para averiguar precios. III: Expresiones de Po-
sesion. IV: Vocabulario de Familia, Comidas y Bebidas. V: Pedidos formales. VI: Cartas
informales.
Bibliografa: [Soars and John, 2002d, Soars and John, 2002f, Soars and John, 2002e, Cambridge, 2006,
MacGrew, 1999]
Topicos: I: Tiempo Presente Simple. Auxiliares. II: Oraciones Armativas, Negativas y Preguntas.
III: Verbos comunes y Ocupaciones. IV: Indicaciones para expresar la hora.
Objetivos de Aprendizaje I: Al terminar la tercera unidad, los alumnos habiendo reconocido las
caractersticas del presente simple, lo utiliza para hacer descripciones de diversos tipos. Describen
personas y lugares y dan indicaciones de direccion. Expresa la hora.
Bibliografa: [Soars and John, 2002d, Soars and John, 2002f, Soars and John, 2002e, Cambridge, 2006,
MacGrew, 1999]
Topicos: I: Presente Simple 2. II: Oraciones Armativas, Negativas y Preguntas. III: Uso de
Verbos de entretenimiento. IV: Tiempo Libre. V: Las estaciones del ano. VI: Expresiones de
actividades sociales.
Bibliografa: [Soars and John, 2002d, Soars and John, 2002f, Soars and John, 2002e, Cambridge, 2006,
MacGrew, 1999]
Topicos: I: Uso There is/There are. II: Oraciones con Preposiciones. III: Expresiones de Cantidad.
IV: Vocabulario de aviones y lugares. V: Expresiones de indicaciones de direccion.
Bibliografa: [Soars and John, 2002d, Soars and John, 2002f, Soars and John, 2002e, Cambridge, 2006,
MacGrew, 1999]
Bibliografa: [Soars and John, 2002d, Soars and John, 2002f, Soars and John, 2002e, Cambridge, 2006,
MacGrew, 1999]
7. Bibliografa
[Cambridge, 2006] Cambridge (2006). Diccionario Ingles-Espanol Cambridge. Editorial Oxford.
[MacGrew, 1999] MacGrew, J. (1999). Focus on Grammar Basic. Editorial Oxford.
[Soars and John, 2002d] Soars, L. and John (2002d). American Headway N 2 Student Book. Editorial
Oxford.
[Soars and John, 2002e] Soars, L. and John (2002e). American Headway N 2 Teachers Book. Editorial
Oxford.
[Soars and John, 2002f] Soars, L. and John (2002f). American Headway N 2 Work Book. Editorial
Oxford.
A continuacion se pueden observar las equivalencias de la presente malla con el(los) Plan(es) curricular(es) anterior(ES). Para ver mayores detalles de
la malla propuesta observar la seccion 3.3 Pag. 150.
403
CB101 Algebra y Geometra 5 MA101 Matematica II 2do 4
404
404
Segundo Semestre Plan 2006 Plan 2016
Codigo Curso Cr Codigo Curso Sem Cr
CS101O Introduccion a la Programacion Orientada a Ob- 5 CS112 Ciencia de la Computacion I 2do 5
jetos
FG112 Persona, Matrimonio y Familia 2do 2
HU104 Fundamentos de Filosofa 3 FG104 Introduccion a la Filosofa 2do 3
CB102 Analisis Matematico I 5 MA100 Matematica I 1er 5
HU106 Teatro 2 FG106 Teatro 5to 2
HU105 Apreciacion de la Musica 2 FG105 Apreciacion Musical 2do 2
CS106 Estructuras Discretas II 4 CS1D2 Estructuras Discretas II 2do 4
CS100 Introduccion a la Ciencia de la Computacion 3 CS100 Introduccion de Ciencia de la Computacion 2do 3
405
CS255 Computacion Graca 4 CS251 Computacion Graca 7mo 4
406
406
Octavo Semestre Plan 2006 Plan 2016
Codigo Curso Cr Codigo Curso Sem Cr
CS280T Aspectos Sociales y Profesionales de la Compu- 2 CS281 Computacion en la Sociedad 8vo 2
tacion
CS240S Compiladores 4 CS342 Compiladores 8vo 4
CS402 Proyecto II 3 CS402 Proyecto de Final de Carrera I 8vo 3
CS392 Topicos en Ingeniera de Software 3 CS392 Topicos Avanzados en Ingeniera de Software 9no 4
CS261T Inteligencia Articial 4 CS261 Inteligencia Articial 7mo 4
ET101 Formacion de Empresas de Base Tecnologica I 3 ET201 Formacion de Empresas de Base Tecnologica I 9no 3
CS3I1 Seguridad en Computacion 8vo 3
Noveno Semestre Plan 2006 Plan 2016
Codigo Curso Cr Codigo Curso Sem Cr
CS230W Computacion Centrada en Redes I 3 CS231 Redes y Comunicacion 7mo 3
407
FG202 Apreciacion Literaria 2 HU202 Apreciacion Literaria 3er 2
408
408
Cuarto Semestre Plan 2016 Plan 2006
Codigo Curso Cr Codigo Curso Sem Cr
CS210 Algoritmos y Estructuras de Datos 4 CS103O Algoritmos y Estructuras de Datos 4to 4
CS211 Teora de la Computacion 4 CS211T Teora de la Computacion 4to 5
CS271 Bases de Datos I 4 CS270T Base de Datos I 5to 4
MA201 Calculo II 4 CB201 Analisis Matematico III 4to 5
MA203 Estadstica y Probabilidades 4 CS302 Estadstica y Probabilidades 4to 4
FG204 Teologa 2 6to
409
ET201 Formacion de Empresas de Base Tecnologica I 3 ET101 Formacion de Empresas de Base Tecnologica I 8vo 3
410
410
Decimo Semestre Plan 2016 Plan 2006
Codigo Curso Cr Codigo Curso Sem Cr
CS3P2 Cloud Computing 3 10mo
CS393 Sistemas de Infomacion 4 10mo
CS362 Robotica 4 CS361 Topicos en Inteligencia Articial II 10mo 4
CS404 Proyecto de Final de Carrera III 3 CS404 Seminario de Tesis 10mo 3
FG211 Etica Profesional 3 CS281T Etica Profesional 10mo 2
FG220 Analisis de la Realidad Peruana 3 HU303 Analisis de la Realidad Peruana 10mo 2
ET301 Formacion de Empresas de Base Tecnologica II 3 ET102 Formacion de Empresas de Base Tecnologica II 9no 2
mo
ID101 Ingles tecnico profesional 3 10
411
CS102O Objetos y Abstraccion de Datos 4 CS113 Ciencia de la Computacion II 3er 4
412
412
Cuarto Semestre Plan 2010 Plan 2016
Codigo Curso Cr Codigo Curso Sem Cr
CS103O Algoritmos y Estructuras de Datos 4 CS210 Algoritmos y Estructuras de Datos 4to 4
CS270T Bases de Datos I 5 CS271 Bases de Datos I 4to 4
CS211T Teora de la Computacion 4 CS211 Teora de la Computacion 4to 4
CB201 Analisis Matematico III 5 MA201 Calculo II 4to 4
CB203 Estadstica y Probabilidades 4 MA203 Estadstica y Probabilidades 4to 4
413
CS403 Proyecto de Tesis 3 CS403 Proyecto de Final de Carrera II 9no 3
414
414
Decimo Semestre Plan 2010 Plan 2016
Codigo Curso Cr Codigo Curso Sem Cr
CS331 Claud Computing 3 CS3P2 Cloud Computing 10mo 3
FG220 Analisis de la Realidad Peruana 2 FG220 Analisis de la Realidad Peruana 10mo 3
ET102 Formacion de Empresas de Base Tecnologica II 3 ET301 Formacion de Empresas de Base Tecnologica II 10mo 3
CS404 Seminario de Tesis 3 CS404 Proyecto de Final de Carrera III 10mo 3
FG350 Liderazgo y Desempeno 2 FG350 Liderazgo 7mo 2
FG211 Etica Profesional 2 FG211 Etica Profesional 10mo 3
CS393 Sistemas de Infomacion 10mo 4
CS367 Robotica 4 CS362 Robotica 10mo 4
415
FG202 Apreciacion Literaria 2 FG202 Apreciacion Literaria 3er 2
416
416
Cuarto Semestre Plan 2016 Plan 2010
Codigo Curso Cr Codigo Curso Sem Cr
CS210 Algoritmos y Estructuras de Datos 4 CS103O Algoritmos y Estructuras de Datos 4to 4
CS211 Teora de la Computacion 4 CS211T Teora de la Computacion 4to 4
CS271 Bases de Datos I 4 CS270T Bases de Datos I 4to 5
MA201 Calculo II 4 CB201 Analisis Matematico III 4to 5
MA203 Estadstica y Probabilidades 4 CB203 Estadstica y Probabilidades 4to 4
FG204 Teologa 2 FG204 Teologa I 6to 2
417
ET201 Formacion de Empresas de Base Tecnologica I 3 ET101 Formacion de Empresas de Base Tecnologica I 9no 3
418
418
Decimo Semestre Plan 2016 Plan 2010
Codigo Curso Cr Codigo Curso Sem Cr
CS3P2 Cloud Computing 3 CS331 Claud Computing 10mo 3
CS393 Sistemas de Infomacion 4 10mo
CS362 Robotica 4 CS367 Robotica 10mo 4
CS404 Proyecto de Final de Carrera III 3 CS404 Seminario de Tesis 10mo 3
FG211 Etica Profesional 3 FG211 Etica Profesional 10mo 2
FG220 Analisis de la Realidad Peruana 3 FG220 Analisis de la Realidad Peruana 10mo 2
ET301 Formacion de Empresas de Base Tecnologica II 3 ET102 Formacion de Empresas de Base Tecnologica II 10mo 3
ID101 Ingles tecnico profesional 3 10mo
Captulo 6
Laboratorios
Software: Rational Rose con WAE, J2EE, Mathlab, Emuladores 8088, DB2, MONO, Plataforma .NET,
LEDA, VTK