Professional Documents
Culture Documents
PRIMER CICLO
Cdigo Curso
CM131 Clculo Diferencial
CM141 Clculo Vectorial I
CQ111 Qumica I
CF121 Fsica I
Introduccin a la Ciencia
CC101
de la Computacin
Total
T
4
4
4
4
P
2
2
(3)
(3)
L
--(3)
(3)
S
-----
E
-----
TH
06
06
07
07
C Pre-requisito
5
Ninguno
5
Ninguno
5
Ninguno
5
Ninguno
--
--
--
--
02
28
22
Ninguno
SEGUNDO CICLO
Cdigo Curso
CM132 Clculo Integral
CM142 Clculo Vectorial II
CQ112 Qumica II
CF122 Fsica II
Introduccin a la
CC102
Programacin
Total
T
4
4
4
4
P
2
2
(3)
(3)
L
--(3)
(3)
S
-----
E
-----
TH
06
06
07
07
C Pre-requisito
5
CM131
5
CM141
5
CQ111
5
CF121
--
04
30
22
CC101
TERCER CICLO
Cdigo
CF221
CM254
CM261
CC201
AHD65
CL002
Curso
Fsica III
Introduccin a la
Matemtica Discreta
lgebra Lineal I
Introduccin a la
Programacin Orientada
a Objetos
Constitucin y Derechos
Humanos
Ingls I
Total
TH
C Pre-requisito
CF122, CM132,
5
CM142, CQ112
(3)
(3)
--
--
07
2
4
(2)
2
---
(2)
--
---
04
06
3
5
--
--
--
06
--
--
--
--
02
Ninguno
--
--
--
04
29
2
21
Ninguno
TH
C Pre-requisito
6
4
3
--
-2
---
---
09
06
7
5
CM132, CM142
CM132, CM142
CC102
CUARTO CICLO
Cdigo
Curso
Calculo Diferencial e
CM211
Integral Avanzado
CM094 Estructura de datos
CM132, CM142
CM254, CM261
Arquitectura de
Computadoras
Algoritmos
Ingls II
Total
CM254, CC102
3
3
1
-(3)
--
3
(3)
3
----
----
06
06
04
31
4
4
2
22
Cdigo Curso
Introduccin a la
CM274 Estadstica y
Probabilidades
CC301 Algoritmos Paralelos
CC331 Base de Datos
CC361 Sistemas Operativos
TH
C Pre-requisito
(2)
(2)
--
--
06
CM211
3
3
3
(3)
---
(3)
3
3
----
----
06
06
06
4
4
4
CH061
(2)
(2)
--
--
04
CM094, CC262
CM094, CC262
CC212
CQ112, CF122,
CC102
28
20
CC262
CL003
CM254, CC102
CL002
QUINTO CICLO
Biologa
Total
SEXTO CICLO
Cdigo Curso
CM334 Anlisis Numrico I
Lenguaje Paralelo
CC302 Distribuido Orientado a
Objetos
CC322 Computacin Grfica
CC342 Teora de la Computacin
Computacin Centrada
CC362
en Redes
Total
T
4
P
(2)
L
(2)
TH
06
C Pre-requisito
5
CM211, CM261
--
--
--
06
CC201, CC301
3
3
---
3
3
---
---
06
06
4
4
CC301
CC301, CC361
06
CC361
30
21
SEPTIMO CICLO
Cdigo
Curso
Programacin de
CC401
Aplicaciones en Redes
CC441 Inteligencia Artificial
TH
C Pre-requisito
--
--
--
06
CC302, CC362
--
--
--
06
CM274, CC301
CC461
--
--
--
06
CC342, CC302
3
3
2
--
2
3
--
--
06
06
30
4
4
20
CH061, CC302
CC362
TH
C Pre-requisito
CC471
CC481
Compiladores
Biologa Computacional
Administracin de Redes
Total
OCTAVO CICLO
Cdigo
Curso
Sistemas Concurrentes y
CC462
Distribuidos
CC472 Ingeniera de Software I
06
CC401
06
CC302
--
--
--
04
CC461, CC481
--
--
--
03
Ninguno
19
12
NOVENO CICLO
Cdigo Curso
CC541 Seminario de Tesis I
Introduccin a la
CC581
Computacin Grid y Cloud
Sistemas Operativos
CC571
Avanzados
Electivos
Total
T
--
P
--
L
--
S
8
E
--
TH
08
--
--
--
06
C Pre-requisito
4
Aprobar 8 ciclos
CC462
4
--
--
--
04
18
10
CC401, CC482
DECIMO CICLO
Cdigo Curso
CC542 Seminario de Tesis II
Modelamiento y
CC562
Simulacin
Electivos
Total
T
--
P
--
L
--
S
8
E
--
TH
08
06
14
C Pre-requisito
4
CC541
CC441, CC201,
4
CM334
8
CURSOS ELECTIVOS
LOS CURSOS ELECTIVOS TIENEN COMO PRE-REQUISITO GENERAL HABER APROBADO SEIS
CICLOS DE ESTUDIOS (Art. 209 del Estatuto de la UNI)
CURSOS ELECTIVOS DE ESPECIALIDAD
Cdigo
CC001
CC002
CC003
CC011
CC012
Curso
Tpicos Especiales de Ciencia de
la Computacin I
Tpicos Especiales de Ciencia de
la Computacin II
Tpicos Especiales de Ciencia de
la Computacin III
Estructura e Interpretacin de
Programas
Herramientas para el uso de
Software abierto
TH
Pre-requisito
05
Ninguno
06
Ninguno
07
Ninguno
05
CC201, CC342
06
CC102, CC361
Curso
CC021
CC022
CC023
TH
06
06
CC322
Introduccin a Lenguajes
Formales
04
CC262,CM094
CC032
06
CC201, CC302
CC033
Tpicos en Seguridad
06
CC302
CC034
04
CC301
CC041
Flujo de Trabajo
05
CC302
CC042
06
CC201
CC043
Tpicos en Robotica
06
CC511
05
Ninguno
06
CC4_1
CC044
CC045
Arquitectura y Programacin de
FPGA y VHDL
Introduccin al Compilador
Paralelo
--
--
Pre-requisito
CC302,CC322,
CC331
CC051
05
CC102
CC052
Browser Paralelo
06
CC051
CC053
CC054
CC302, CC342
--
--
--
06
Motores de Bsqueda
--
--
--
06
CC342
CC055
Introduccin a la Robtica
--
--
--
06
CC441, CF221
CC056
Calidad de Software
06
CC472
CC057
Ingeniera Web
06
CC472
CC062
06
CC201, CC422
CC063
Fsica Computacional
06
CF221, CC102
CC064
Qumica Computacional
06
CQ112, CC102
CC065
Computacin Bioinspirada
06
CC441
CC066
Programacin de Dispositivos
Mviles
05
CC362
CC067
Seguridad en Computacin
05
CM094, CC262
CC071
06
CC331
CC081
04
Ninguno
Curso
Introduccin a las
Ecuaciones Diferenciales
Ordinarias
Ecuaciones Diferenciales
Parciales I
Introduccin a las
Estructuras Algebraicas
Series de Tiempo
Mtodos Numricos para
Ecuaciones Diferenciales
Parciales
Teora de Simulacin
Mtodos Numricos del
lgebra
Mtodos Numricos de
Optimizacin I
Tpicos de Investigacin I
Introduccin a los
Elementos Finitos
Anlisis de Algoritmos
Teora de Grafos y
Algoritmos
Fsica IV
Mtodos Matemticos para
Fsicos I
Introduccin a la Fsica
Moderna
Tpicos Especiales de
Fsica I
Tpicos Especiales de
Fsica II
Tpicos Especiales de
Fsica III
Tpicos Especiales de
Fsica IV
TH
Pre-requisito
06
CM211,CM261
06
CM321
06
CM261
06
CM274
(2)
(2)
06
CM334
05
CM334
06
CM334, CM261
(2)
06
CM334
(2)
06
Ninguno
06
CM334, CM261
06
CM094
06
CM095
(3)
07
CF221
10
07
(3)
--
CF221, CM211,
CM261,CC102
CF221, CM211,
CC102
2
3
4
5
Cdigo
Curso
CH091
tica General
CH092
CH093
AHL01
CH033
CH046
TH
Pre-requisito
03
Ninguno
tica Profesional
03
Ninguno
04
Ninguno
03
03
3
2
Ninguno
Ninguno
Ninguno
03
CH003
Economa General
03
Ninguno
CL001
Ingls
10
Ninguno
Dedicacin
Crditos
300 horas
44 horas
2
1
Certificado
22 horas
22 horas
Certificado
44 horas
Certificado
1
0.5
0.5
0.5
0.5
1.0
0.5
Pre-requisito
Aprobar 8vo. Ciclo
Aprobar 7mo. ciclo y
curso correspondiente
Ninguno
Crditos
178
28
03
04
05
Total
02
01
01
210
Especificacin
- Crditos de cursos obligatorios
- Crditos de cursos electivos de los cuales por lo menos 14 deben
corresponder a cursos ofrecidos de especialidad y 14 crditos de cursos
de Formacin General, complementarios u otros de especialidad
- Crditos por Prcticas Pre-profesionales (XP200, ver grupo 3)
- Crdito por Ayudanta Acadmica I (YA100 , ver grupo 3)
- Crdito por Actividades Diversas I (XA100, ver grupo 3)
SISTEMA DE EVALUACION
Para todos los cursos de la especialidad el sistema de evaluacin ser el siguiente:
SISTEMA G
Promedio de prcticas y/o laboratorios
Examen Parcial
Examen Final
Peso 1
Peso 1
Peso 1
Como excepcin, el curso CC101, del primer ao, se regir por el sistema J de evaluacin.
6
SISTEMA J
Examen Parcial
Examen Final
Peso 1
Peso 1
No
Nombre
Categoria
Institucin del
grado
Especialidad
Linea de Investigacin
Ingeniera de
Sistemas de
Informacin
Computacin Grfica y
Diseo de Software
Ingeniera
Electrnica e
Informtica
Computacin Paralela y
Simulacin Numrica
AS DE
CBPF, Brasil
Fsica
Fsica Computacional
AS TC
UFRJ, Brasil
Estadstica
Estadstica y Computacin
Evolutiva
AS TC
CAB,
Argentina
Fsica
Fsica Computacional
JP TC
UNI
Fsica
Fsica Computacional
NUCLEO DE CONOCIMIENTOS
1 DS. Matemticas Discretas (43 horas como mnimo)
1.1 DS/Funciones, Relaciones y Conjuntos. (6 horas)
1.2 DS/Lgica Bsica (10 horas)
1.3 DS/Tcnicas de Prueba. (12 horas)
1.4 DS/Conceptos Bsicos de Conteo. (5 horas)
1.5 DS/Grafos y Arboles. (4 horas)
1.6 DS/Probabilidad Discreta. (6 horas)
2 PF. Fundamentos de Programacin (47 horas como mnimo)
2.1 PF/Construcciones fundamentales. (9 horas)
2.2 PF/Algoritmos y Resolucin de Problemas. (6 horas)
2.3 PF/Estructuras de Datos. (10 horas)
2.4 PF/Recursividad. (4 horas)
2.5 PF/Programacin Orientada a Eventos. (4 horas)
2.6 PF/Orientacin a Objetos. (8 horas)
2.7 PF/Fundamentos de seguridad de la Informacin. (4 horas)
2.8 PF/Programacin segura. (2 horas)
3 AL. Algoritmos y Complejidad (31 horas como mnimo)
3.1 AL/Anlisis Bsico de Algoritmos. (4 horas)
3.2 AL/Estrategias Algortmicas (6 horas)
3.3 AL/Algoritmos Fundamentales. (12 horas)
3.4 AL/Algoritmos Distribuidos. (3 horas)
3.5 AL/Computabilidad Bsica (6 horas)
3.6 AL/Clases de Complejidad P y NP.
3.7 AL/Teora de Autmatas
3.8 AL/Anlisis Avanzado de Algoritmos.
3.9 AL/Algoritmos Criptograficos.
3.10 AL/Algoritmos Geomtricos
3.11 AL/Algoritmos Paralelos.
4 AR. Arquitectura y Organizacin (36 horas como mnimo)
4.1 AR/Lgica Digital y Representacin de Datos. (7 horas)
4.2 AR/Arquitectura y Organizacin de Computadores. (9 horas)
4.3 AR/Interfaces y Estrategias de I/O. (3 horas)
4.4 AR/Arquitectura de Memoria. (5 horas)
4.5 AR/Organizacin Funcional. (6 horas)
4.6 AR/Multiprocesamiento. (6 horas)
4.7 AR/Mejoras de Desempeo
4.8 AR/Arquitecturas Distribuidas.
4.9 AR/Dispositivos.
4.10 AR/Tendencias en Computacin.
5 OS. Sistemas Operativos (16 horas como mnimo)
5.1 OS/Visin General de los Sistemas Operativos. (2 horas)
5.2 OS/Principios de los Sistemas Operativos. (2 horas)
10
11
SLABO
I.
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
II.
III.
SUMILLA
La Ciencia de la Computacin es un campo de estudio enorme con muchas especialidades y
aplicaciones. Este curso brindar a sus participantes, una visin panormica de la informtica y mostrar
sus campos mas representativos, como son: Algoritmos, Estructuras de de Datos, Sistemas Operativos,
Bases de Datos, etc.
Contribucin a los resultados
Esta disciplina contribuye al logro de los siguientes resultados de la carrera:
a)
b)
c)
d)
e)
f)
g)
12
IV.
CONTENIDO ANALITICO
13
14
15
V.
BIBLIOGRAFIA
Forouzan, B. and Mosharraf, F. (2008). Foundations of Computer Science, 2nd Ed., 2008. Thomson
Course Technology.
16
SLABO
DESCRIPCION DEL CURSO
CURSO
Introduccin a la Programacin
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
CC102
02 (dos)
CC101
Obligatorio
Semestral
TEORIA (01), LABORATORIO (02), SEMINARIO (01)
DOCENTE
FUNDAMENTACION DEL CURSO
Este es el primer curso en la secuencia de los cursos introductorios a la informtica La programacin es uno de los
pilares de la informtica; cualquier profesional del rea, necesitara programar para concretizar sus modelos y
propuestas.
Este curso busca introducir a los participantes en los conceptos fundamentales de este arte. Lo tpicos incluyen
tipos de datos, estructuras de control, funciones, listas, recursividad y la mecnica de la ejecucin, prueba y
depuracin
El curso tambin ofrecer una introduccin al contexto histrico y social de la informtica y una revisin del
mbito de esta disciplina.
SUMILLA
1. SP/Historia de la Computacin 2. PL/Visin General de los Lenguajes de Programacin 3. PL/Declaracin y
Tipos. 4. PF/Construcciones fundamentales. 5. PL/Programacin Funcional. 6. PF/Recursividad. 7.
AL/Algoritmos Fundamentales. 8. PL/Mecanismos de Abstraccin 9. PF/Algoritmos y Resolucin de
Problemas. 10. DS/Grafos y Arboles. 11. AL/Computabilidad Bsica 12. PL/Maquinas Virtuales. 13.
PL/Programacin Orientada a Objetos. 14. SE/Especificacin de Requerimientos. 15. SE/Disenho de Software.
16. SE/Herramientas y Entornos de Software. 17. SE/Usando APIs.
17
CONTENIDO ANALITICO
1 Historia de la Computacin. (1 hora) [SP1- 1 hora del ncleo]
Tpicos. I: Historia del hardware de computadoras, software, redes. II: Pioneros de la computacin.
Objetivos. 1. Listar las contribuciones de varios pioneros en el campo de la computacin. 2. Comparar la vida
diaria antes y despus del advenimiento de las computadoras personales e Internet. 3. Identificar las tendencias
continuamente significativas en la historia del campo de la computacin.
Bibliogrfica: [Thompson, 1999], [Paz-Valderrama, 2005], [Bird, 1998]
2 Visin General de los Lenguajes de Programacin (1 hora) [PL1 1 (de 2) horas del ncleo]
Tpicos. I: Historia de los lenguajes de programacin.
Objetivos. 1. Listar la evolucin de los lenguajes de programacin identificando como es que su historia nos ha
conducido a los paradigmas actuales. 2. Identificar al menos una caracterstica distintiva para cada uno de los
paradigmas de programacin cubiertos en esta unidad.
Bibliogrfica: [Thompson, 1999], [Paz-Valderrama, 2005], [Bird, 1998]
3 Declaracin y Tipos. (1 hora) [PF1 1 (de 9) horas del ncleo]
Tpicos. I: Declaracin de modelos (enlace, visibilidad, alcance, y tiempo de vida). II: Vista general de la revisin
de tipos. III: Recoleccin de basura.
Objetivos. 1. Explicar el valor de los modelos de declaracin, especialmente con respecto a la programacin en
mayor escala. 2. Identificar y describir las propiedades de una variable, tales como su: direccin asociada, valor,
mbito, persistencia y tamao. 3. Discutir la incompatibilidad de tipos. 4. Demostrar las diferentes formas de
enlace, visibilidad, mbito, manejo del tiempo de vida. 5. Defender la importancia de los tipos y el chequeo de
tipos para brindar abstraccin y o seguridad.
Bibliogrfica: [Thompson, 1999], [Paz-Valderrama, 2005]
4 Fundamentos de programacin. (6 horas) [PF1 6 (de 9) horas del ncleo]
Tpicos. I: Sintaxis bsica y semntica de un lenguaje de ms alto nivel. II: Variables, tipos, expresiones, y
asignaciones. III: Entrada y salida simple. IV: Estructuras de control condicionales e iterativas. V: Funciones y
paso de parmetros. VI: Descomposicin estructurada.
Objetivos. 1. Analizar y explicar el comportamiento de programas simples involucrando las estructuras de
programacin fundamental cubiertas por esta unidad. 2. Modificar y extender programas cortos que usan
condicionales estndar, estructuras de control iterativo y funciones. 3. Disear, implementar, probar y depurar un
programa que use cada una de las siguientes estructuras fundamentales de programacin: clculos bsicos,
entrada y salida simple, estructuras estndar condicionales e iterativas y definicin de funciones. 4. Escoger la
estructura apropiada condicional y/o iterativa para una estructura de programacin dada. 5. Aplicar tcnicas de
descomposicin estructurada o funcional para dividir un programa en pequeas partes.
Bibliogrfica: [Thompson, 1999], [Paz-Valderrama, 2005]
5 Programacin Funcional. (1 hora)
Tpicos. I: Panorama general y motivacin de los lenguajes funcionales. II: Recursin sobre listas, nmeros
naturales, rboles, y otros datos definidos recursivamente. III: Pragmticas (depuracin dividir y vencers,
persistencia de las estructuras de datos). IV: Cerraduras y uso de funciones como datos (conjuntos infinitos, flujos
).
Objetivos. 1. Delinear las fortalezas y debilidades del paradigma de programacin funcional. 2. Disear, codificar,
probar y depurar programas usando el paradigma funcional.
Bibliogrfica: [Thompson, 1999], [Paz-Valderrama, 2005]
18
19
BIBLIOGRAFA
Bird, R. J. (1998). Introduccin to Functional Programming using Haskell. Prentice-Hall Series in Computer
Science. Prentice-Hall Europe, London, UK, second edition.
Paz-Valderrama, A. (2005). Apuntes: Programacin funcional en haskell. Sociedad Peruana de Computacin.
Thompson, S. (1999). The Craft of Functional Programming, 2E. Addison Wesley.
20
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
CC201
04 (cuatro)
CC102
Obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
SUMILLA
Desarrollo del paradigma orientado a objetos para que se permita modelar abstracciones de los
elementos del problema y usar tcnicas de encapsulamiento, modularidad, polimorfismo y herencia para
dar soluciones computacionales a problemas de diseo sencillos del mundo real. El estudiante tambin
aprender el uso de templates y libreras para aprender a programar en paralelo. OpenMP ser usado para
programar en paralelo.
CONTENIDO ANALITICO
4.1 Visin General de los Lenguajes de Programacin.
Tpicos. I: Breve revisin de los paradigmas de programacin. a) Lenguajes procedimentales b) Leno o o guajes
orientados a objetos. c) Lenguajes Funcionales. d) Lenguajes declarativos y no algortmicos. e) Lenguajes de
scripts. II: Comparacin entre programacin Funcional y programacin imperativa III: Historia de los lenguajes
de programacin.
Objetivos. 1. Listar la evolucin de los lenguajes de programacin identificando como es que su historia nos ha
conducido a los paradigmas actuales. 2. Identificar al menos una caracterstica distintiva para cada uno de los
paradigmas de programacin cubiertos en esta unidad. 3. Evaluar las ventajas y desventajas entre los diferentes
paradigmas, considerando temas tales como: eficiencia de espacio, esencia en el tiempo (para ambas partes
computadora y programador), seguridad, y el poder de las expresiones.
4.2 Mquinas Virtuales.
Tpicos. I: El concepto de mquina virtual. II: Lenguajes intermedios.
Objetivos. 1. Describir la importancia y poder de la abstraccin en el contexto de mquinas virtuales. 2. Explicar
los beneficios de los lenguajes intermedios en el proceso de compilacin.
21
22
Head First Object-Oriented Analysis and Design, Brett D. McLaughlin, Gary Pollice, Dave West, O'Really
Object Modeling and User Interface Design: Designing Interactive Systems, Mark Van Harmelen, Stephanie
Wilson
Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph
Johnson, John M. Vlissides, Addison-Wesley.
Bjarne Stroustrup, El lenguaje de programacin C++, Addison Wesley, Madrid, 1998, ISBN 84-7829-019-2
Margaret A. Ellis y Bjarne Stroustrup (1990), The Annotated C++ Reference Manual, Addison-Wesley Pub
Co; ISBN 0-201-51459-1
Aguilar, L. J. (1998). Hill/Interamericana de Espaa. Programacin Orientada a Objetos. o McGraw-Hill
Harvey M. Deitel, P. J. (2004). Como Programar en C/C++ y Java. Pearson o Educacin.
Smith, J. A. (2001). Desarrollo de Proyectos con Programacin Orientada a Objetos o con C++. Thomson
Learning.
Stroustrup, B. (2000). The C++ Programming Language. Addison-Wesley, 3rd edition.
23
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Arquitectura de Computadores
CC212
04 (cuatro)
CC102, CM254
Obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
SUMILLA
El curso comprende el diseo del conjunto de instrucciones del computador, micro-arquitectura del
procesador, pipeline, coherencia del cache, memoria virtual, E/S, Interrupciones, arquitecturas superescalares, computadoras vectoriales, y computadores paralelos.
CONTENIDO ANALITICO
4.1 Lgica Digital y Sistemas Digitales.
Tpicos. I: Bloques fundamentales de construccin (compuertas lgicas, iip-ops, contadores, registros).
Objetivos. 1. Describe la progresin de la arquitectura del computador desde tubos de vaco VLSI. 2. Disear un
circuito simple usando los bloques de construccin fundamentales. 3. Uso de expresiones matemticas para
describir las funciones combinacionales simples y circuitos a secuenciales.
4.2 Representacin de Datos a Nivel de Mquina.
Tpicos. I: Bits, bytes y palabras. II: Representacin datos numricos y bases numricas.
Objetivos. 1. Convertir datos numricos de un formato a otro. 2. Discutir como la representacin de nmeros de
longitud ja afecta la precisin y exactitud. 3. Describir la representacin interna de datos no numricos. 4.
DESCRIPCION de la representacin interna de caracteres, cadenas, registros y arreglos.
4.3 Organizacin de Mquina a Nivel de Ensamble.
Tpicos. I: Unidad de control, instruccin de bsqueda (fetch), decodicacin, y ejecucin. II: Conjuntos de
instruccin y tipos (manipulacin de datos, control de entrada y salida). III: Lenguaje de programacin de
mquina y ensamblador. IV: Formatos de instrucciones.
Objetivos. 1. Explicar como una instruccin es ejecutada en una mquina clsica de Von Neumann. 2. Resumir
como las instrucciones son representadas tanto a nivel de mquina y en el contexto a simblico de ensamblaje. 3.
Explicar los diferentes formatos de instrucciones, tales como direccin por instruccin, formatos de longitud
variable vs. formatos de longitud ja. 4. Escribir segmentos o simples de programa en lenguaje ensamblador. 5.
Demostrar como la construccin de lenguajes de programacin de alto nivel fundamentales son implementados a
nivel de lenguaje de mquina. 6. Explicar como las llamadas a subrutinas son manejadas a nivel de ensamblador.
4.4 Organizacin de Sistemas de Memoria y Arquitectura.
24
BIBLIOGRAFIA
Brey, B. B. (2005). The Intel Microprocessors: 8086/8088, 80186, 80286, 80386, 80486, Pentium, Pentium
Pro, and Pentium II, Pentium III, Pentium 4. Prentice-Hall, 7th edition.
Mano, M. M. (1992). Computer System Architecture. Prentice Hall, 3rd edition.
Norton, P. (1988). Peter Nortons Assembly Language Book for the IBM PC. Peter Norton Foundation
Series. Brady Publishing. 0136624537.
D. Tullsen, S. Eggers and H. Levy, Simultaneous Multithreading: Maximizing On-Chip Parallelism, in the
Proceedings of the 22rd Annual International Symposium on Computer Architecture, June 1995.
25
S. Adve and K. Gharachorloo, Shared memory consistency models: a tutorial, in Technical Report WRLTR 95/7, Digital Western Research Laboratory, September, 1995.
Carpinelli, J.D. Computer Systems Organization & Architecture Addison Wesley, 2001
Hennesy, J.L. et. al. Computer architecture a quantitative approach (2ed: 1996)
Computer architecture: fundamentals and principles of computer design, por Joseph D. Dumas II, Joseph
D. Dumas. Publicado por CRC Press, 2006.
Computer architecture: a quantitative approach, por John L. Hennessy, David A. Patterson, Andrea C.
Arpaci-Dusseau, Andrea C. Arpaci-Dusseau. Publicado por Morgan Kaufmann, 2007.
26
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Algoritmos
CC262
04 (cuatro)
CM254, CC102
Obligatorio
Semestral
TEORIA (03), PRACTICA(03)/LABORATORIO(03)
SUMILLA
Este es uno de los primeros cursos en la secuencia de los cursos introductorios a la informtica.
Algoritmos y Estructura de Datos son dos de los pilares de la informtica; cualquier profesional del rea, necesita
desarrollar sus programas en forma algortmica para concretizar sus modelos y propuestas.
Este curso introducir a los participantes en los conceptos fundamentales de este arte.
El curso tambin ofrecer una introduccin al contexto histrico y social de la informtica y una revisin del
mbito de esta disciplina
Contribucin a los resultados
CONTENIDO ANALITICO
I Fundamentos
Introduccin
1 El Rol de los Algoritmos en Computacin
1.1 Algoritmos
1.2 Algoritmos como una tecnologa
2 Comenzando
27
28
BIBLIOGRAFA
T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein. Introduccin to Algoritmos, 3rd Edition. MIT Press.
ISBN-10: 0-262-03384-4, ISBN-13: 978-0-262-03384-8
29
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Algoritmos Paralelos
CC301
04 (cuatro)
CM094, CC262
Obligatorio
Semestral
TEORIA (03), PRACTICA(03)/LABORATORIO(03)
Demuestra que el uso de programacin Funcional hace que el aprendizaje de algoritmos sea mucho ms
fcil.
SUMILLA
El curso cubre una serie de algoritmos desde el punto de vista de programacin.
CONTENIDO ANALITICO
CC301 Algoritmos Paralelos
Sorting: sorteo en base a comparacin,
Funcional
algoritmos bsicos de sorting, y Sorting
Haskell: ecuaciones y funciones, tipo
basados en rboles.
bsicos y tipos construidos de los bsicos,
Algoritmos de grafos: Bsqueda siguiendo
Listas, tcnicas de programacin Funcional
depth-first and breath-first, mnimo spanning
de alto orden, polimorfismo y tipos
tree, bsqueda en rboles y bosques siguiendo
algebraicos, arreglos, clase de mtodos y
depth-first.
tipo de clases
Diseo de arriba hacia abajo: Dividir y
La eficiencia de programas Funcionales:
conquistar, bsqueda siguiendo backtracking
reduccin de orden, anlisis de eficiencia en
algoritmo, bsqueda siguiendo priority-first
los programas Funcionales, y
search, y greedy algoritmos.
transformacin
Programacin dinmica: funcin de higher
Tipo de datos: Listas, rboles, y arrays.
orden, multiplicaciones matriciales
Tipo de datos abstractos: Stacks, colas,
encadenadas, bsqueda binaria optima para
colas con prioridad, conjuntos, tablas,
rboles, y mnima trayectoria.
bsquela en rboles binarios, Heaps,
Tpicos avanzados. Procesos de redes,
rboles AVL.
Monads y algoritmo paralelos
Introduccin: Algoritmos y Lenguaje
BIBLIOGRAFIA
Algorithms: A Functional Programming Approach por Fethi Rabhi y Guy Lapalme
http://www.cs.cmu.edu/~scandal/cacm/cacm2.html
Kumar, V; Grama, A.; Gupta, A.; Karypis, G.. Introduction to Parallel Computing, Second Edition. Addison
Wesley, 2003
PVM Parallel Virtual Machine. A Users' Guide and Tutorial for Networked Parallel Computing. Geist, A.;
Beguelin, A; Dongarra, J. et alt.. The MIT Press, 1994
P. S. Pacheco. Parallel Programming with MPI. Morgan Kaufmann Publishers 1997
30
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Bases de Datos
CC331
04 (cuatro)
CM094, CC262
Obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
SUMILLA
El curso cubre el sistema de base de datos relacional desde sus inicios, por qu fue importante crearlo y los
problemas que hoy en da se enfrenta. Se discute la arquitectura, diseo, e implementacin de una base de
datos relacional.
CONTENIDO ANALITICO
Modelo de Entidad relacin (E/R)
Introduccin al modelo de datos ER. Conjuntos de entidades y de relaciones. Dominios. Representaciones
equivalentes de una relacin. Cuestiones de diseo. Especializacin. Agregacin. Reduccin a tablas
El modelo relacional. Conversin de E/R
Introduccin. Esquemas, Tuplas, Tablas, Dominios. Conversin a tablas desde un modelo con relaciones.
Conversin a tablas desde un modelo con generalizacin. Descubrimiento de llaves en las relaciones.
Dependencias Funcionales
Definicin. Axiomas de Armstrong. Reglas Adicionales. Cerradura de un conjunto de atributos.
Recubrimiento no redundante. Determinacin de las claves de un esquema y clculo de las claves de un
esquema R.
Normalizacin. Dependencias de mltiple valores.
Redundancia, Anomalas de actualizacin y Eliminacin. Primera y Segunda forma Normal. Descomposicin
sin Prdida. Preservacin de dependencias. Forma Normal de Boyce-Codd(BCNF). Tercera forma
Normal.BCNF vs 3NF. Cuarta y Quinta forma Normal.
lgebra Relacional
Definiciones. Operadores algebraicos relacionales: Primitivos(proyeccin, seleccin, unin, diferencia,
producto cartesiano, renombre), No Primitivos(interseccin, divisin, ensamble natural, ensamble con
seleccin). Expresividad del lgebra relacional. Re-nombramiento Modificaciones de las bases de datos
(eliminacin, insercin, actualizacin). Operadores extendidos.
31
32
BIBLIOGRAFIA
Database Systems: The Complete Book (DS:CB), by Hector Garca-Molina, Jeff Ullman, and Jennifer
Widom. Editorial: Upper Saddle River, N.J. : Pearson Prentice Hall, 2009.
Introduccin a los Sistemas de Base de Datos. C. J. Date : Pearson Prentice Hall, 2001.
Bases de datos relacionales: diseo fsico (Orientado al DB2 para z/OS de IBM). Enrique Rivero Cornelio,
Carlos Guardia Rivas, Jos Carlos Reig Hernndez. Editor Universidad Pontificia de Comillas de Madrid, 2004
Abiteboul,S; Hull and Vianu, V. ; Foundations of Databases ; Addison-Wesley Publishing Company, 1995.
Ullman, Jeffrey D.; Principles of Database and Knowledge Base Systems, Vol I Computers Science Press,
1988.
Mendelzon, A. "Introduccin a las Bases de Datos Relacionales" Ed. Pearson, 2000
Silberschatz, A.; Korth, H.F.; Sudarshan, S. Fundamentos de Bases de Datos. 3 edicin. Madrid,
McGraw-Hill, 1998.
Inmon, W.H., Building the Data Warehouse , John Wiley, 2002.
Elmasri, R.; Navathe, S.B. Fundamentals of Database Systems 3rd Edition, Addison-Wesley, 2000, cap.
26.
Berry, M.: Data mining techniques. 1997.
BRAY, T.; HOLLANDER, D.; LAYMAN, A. Name-spaces in XML. World Wide web Consortium. W3C
Recommendation, 1999.
Urman, S. ORACLE 8. Programacin en PL/SQL. Osborne McGraw-Hill, Madrid, 1998.
33
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Sistemas Operativos
CC361
04 (cuatro)
CC212
obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
Presenta la administracin del sistema Linux como primer paso para trabajar en software abierto
Presenta algunas de las herramientas de software abierto para que eventualmente sea parte de un proyecto de
software abierto.
SUMILLA
Describe los elementos bsicos de los sistemas operativos, como la calendarizacin y despacho,
administracin de memoria y de dispositivos. Asimismo se ve la administracin de Linux, comandos, shells,
administracin del kernel, sistema de archivos. Se muestra el uso de backup en forma peridica y
automatizada. Emacs, vi, Latex, y cvs.
CONTENIDO ANALITICO
4.1 Algoritmos Distribuidos.
Tpicos I: Consenso y eleccin. II: Deteccin de terminacin.
Objetivos. 1. Explicar el paradigma distribuido. 2. Explicar un algoritmo distribuido simple. 3. Determinar cuando
usar los algoritmos de consenso o eleccin.
4.2 Visin General de los Sistemas Operativos.
Tpicos I: Rol y propsito de los sistemas operativos. II: Historia del desarrollo de los sistemas o o operativos.
III: Funcionalidad de un sistema operativo tpico IV: Mecanismos de soporte a modelos cliente-servidor,
dispositivos hand-held. V: Tpicos de Diseno (eficiencia, robustez, exibilidad, portabilidad, seguridad,
compatibilidad).). VI: Influencias de la seguridad, redes, Multimedia, ventanas.
Objetivos. 1. Explicar los objetivos y funciones de los sistemas operativos modernos. 2. Describir como los
sistemas operativos han evolucionado en el tiempo desde sistemas primitivos batch a sofisticados sistemas
multiusuarios. 3. Analizar las ventajas y desventajas inherentes en el diseno de sistemas operativos. 4. Describir
las funciones de un sistema operativo contemporneo con respecto a la conveniencia, eficiencia y la habilidad
para evolucionar. 5. Discutir sistemas operativos de tipos: distribuido, para redes y ciente-servidor, y como ellos
dieren de un sistema operativo para un usuario. 6. Identificar las amenazas potenciales a sistemas operativos y
las caractersticas de seguridad disenadas para resguardarlos.
4.3 Principios de los Sistemas Operativos.
Tpicos I: Mtodos Estructurados (monolticos, por capas, modulares, modelos de microkernel). II:
Abstracciones, procesos y recursos. III: Conceptos de APIs. IV: Necesidad de las aplicaciones y evolucin de las
tcnicas de hardware y software. V: Organizacin de dispositivos. VI: Interrupciones: mtodos e
implementaciones. VII: Concepto de estado de usuario/sistema e y proteccin, transicin al modo Kernel.
34
35
36
BIBLIOGRAFIA
Stallings, W. (2005). Operating Systems: Internals and Design Principles, 5/E. Prentice Hall.
Tanenbaum, A. S. (2006). Operating Systems Design and Implementation, 3/E. Prentice Hall.
http://svnbook.red-bean.com/nightly/en/svn-book.html
http://sources.redhat.com/autobook/autobook/autobook_toc.html
http://tldp.org/LDP/lame/LAME/linux-admin-made-easy/
http://www.yolinux.com/TUTORIALS/LinuxTutorialSysAdmin.html
Linux Administration: A Beginner's Guide, Wale Soyinka, McGraw Hill, Fifth Edition.
Linux Administration Handbook, Evi Nemeth &Garth Snyder & Trent R. Hein, Prentice Hall, 1st edition.
Linux in a Nutshell, Fourth Edition , A Desktop Quick Reference, Ellen Siever, Stephen Figgins, Aaron
Weber, O'Reilly Media
LPI Linux Certification in a Nutshell, Second Edition, Steven Pritchard, Bruno Gomes Pessanha, Nicolai
Langfeldt, James Stanger, Jeff Dean, et al., O'Reilly Media
37
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
CC302
04 (cuatro)
CC201, CC301
obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
SUMILLA
El curso ensea a programar en X10. El lenguaje es diseado para alto rendimiento, alta productividad,
siendo capaz de ejecutar 100000 hilos en forma concurrente.
CONTENIDO ANALITICO
Expresiones
X10 Overview
Lugares
Estructura Lexical
Actividades
Tipos
Reloj
Variables
Operaciones de reloj
Objetos
Arrays
Paquetes y reglas de nombres
Plugin compilers
Convenciones de nombres
BIBLIOGRAFIA
http://dist.codehaus.org/x10/documentation/languagespec/x10-170.pdf
David Bacon. Kava: A Java dialect with a uniform object model for lightweight classes. Concurrency
Practice and Experience, 15:185206, 2003.
Joseph A. Bank, Barbara Liskov, and Andrew C. Myers. Parameterized types and Java. In Proceedings of
the 24th Annual ACM Symposium on Principles of Programming Languages (POPL97), pages 132145, 1997.
38
J. Gosling, W. Joy, G. Steele, and G. Bracha. The Java Language Specification. Addison Wesley, 2000.
Jose E. Moreira, Samuel P. Midkiff, Manish Gupta, Pedro V. Artigas, Marc Snir, and Richard D. Lawrence.
Java programming for high-performance numerical computing. IBM Systems Journal, 39(1):21, 2000.
A. Skjellum, E. Lusk, and W. Gropp. Using MPI: Portable Parallel Programming with the Message Passing
Interface. MIT Press, 1999.
39
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Computacin Grfica
CC332
04 (cuatro)
CC301
Obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
DESCRIPCION
Las tecnologas de visualizacin, animacin y simulacin tridimensional son de uso comn en la sociedad actual.
Entender las tcnicas y mtodos que fundamentan estas tecnologas es la meta de este curso.
CONTENIDO ANALTICO
1.
Introduccin. DESCRIPCION del curso, definicin y motivacin para estudiar y desarrollar software
grfico, reas de aplicacin y mercado.
2.
Sistemas Grficos. Dispositivos de salida. Tecnologas: CRTs, LCDs, DMD/DLP, OLED, Display
Walls, Plasma, Estreo
3.
Conceptos Bsicos de OpenGL. Conceptos Bsicos de OpenGL. Convenciones. Sistema de ventanas GLUT. Sistemas de coordenadas. Modelo de Cmara. Primitivas bsicas. Interaccin con el mouse y teclado.
4.
Primitivas geomtricas. Puntos y vectores. Operadores: producto interno, producto cruz y normas.
Pipeline grfico: mover modelos, trasladar, iluminar.
5.
Imgenes 2D. Texturas. Mapas procedimentales Mapas UVW. Mapas de textura. Mapas de reflexin.
Bump map. Light map. Mip map.
6.
7.
Interfaces de usuario. Modelos WIMP, consola y manipulacin directa. Toolkits: GLUI, FLTK, Qt
8.
40
9.
10.
11.
12.
13.
Mallas. Mallas de polgonos, 2-manifold y no manifold. Mallas orientables con/sin borde. Operaciones
en mallas. Estructuras de datos para mallas
14.
BIBLIOGRAFIA
HEARN, Donald D.; BAKER, M. Pauline . 2003 Computer Graphics with OpenGL. 3 edition. Pearson
Education.
SHREINER, Dave; WOO, Mason; NEIDER, Jackie; DAVIS, Tom . 2007 OpenGL Programming Guide:
The Official Guide to Learning OpenGL. 6 edition. Addison-Wesley Professional.
41
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
Teora de la Computacin
CC342
04 (cuatro)
CC301, CC361
Obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
Demuestra que la Computacin es una ciencia, en particular una rama de la matemtica que centra su
inters en el estudio y definicin formal de los computadores.
SUMILLA
El curso muestra que la Computacin es la obtencin de una solucin o resultado a partir de ciertos datos
o entradas utilizando para ello un proceso o algoritmo.
CONTENIDO ANALITICO
Reducibilidad
2. Expresiones Regulares
1. Problemas Insolubles en la teora de
3. Lenguajes no Regulares
lenguajes
Lenguajes libres de contexto
2. Un problema simple que es
1. Gramticas Libres de Contexto
insoluble
2. rboles de Derivacin
3. Funciones Computables
3. Formas Normales de Chomsky
4. Formas Normales de Greibach
5. Eliminacin de Factores
Comunes izquierdos
6. Eliminacin Recursividad
Izquierda
7. Eliminacin de ambigedad
4.
Reducibilidad de Turing
42
Autmatas PushDown
Lenguaje no Regulares
BIBLIOGRAFIA
Hopcroft, J.E.; Motwani, R. i Ullman, J.D. Introduccin to Automata Theory, Languages, and Computation
Addison-Wesley, 2001 (2a ed.).
Kelley, Dean Automata and Formal Languages (Hi ha trad. a l'espanyol de la mateixa editorial), Prentice
Hall, 1995.
Sipser. ''Introduccin to the Theory of Computation''. PWS, 1997.
Brookshear J "Teora de la Computacin," Addison Wesley, 1993.
J. Glenn Brookshear Teora de la Computacin : lenguajes formales, autmatas y complejidad, AddisonWesley Iberoamericana, 1993.
Joaquim Gabarr Valles Informatica classica : automatas gramatiques, indecidibilidad, parallelismo masivo,
1995.
Jozef Gruska Foundations of computing, International Thomson Computer Press, 1997.
Efim Kinber, Carl Smith Theory of computing : a gentle Introduccin, Prentice-Hall, 2001.
Dexter C. Kozen. Automata and computability, Springer-Verlag,, 1997.
Harry R. Lewis, Christos H. Papadimitriou Elements of the theory of computation, Prentice-Hall,, 1998.
Dan A. Simovici, Richard L. Tenney Theory of formal languages with applications, World Scientific, 1999.
Joan Vancells i Flotats Teora d'autmats i llenguatges formals I, Universitat Oberta de Catalunya, 2000.
Derik Wood Theory of computation, Harper & Row, 1987.
Rafel Cases, Llus Mrquez Llenguatges, gramtiques i autmats : curs bsic, Edicins UPC, 2003.
John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman Introduction to automata theory, languages, and
computation, Pearson Education International, 2003.
Dean Kelley Automata and formal languages : an Introduccin, Prentice Hall, 1995.
Maria Serna [et al.] Els Lmits de la Computacin : indecidibilitat i NP-completesa, Edicins UPC, 2001.
Michael Sipser Introduccin to the theory of computation, Thomson Course Technology, 2006.
http://www.uade.edu.ar/PlanesYProgramas/VerContenido.aspx?Id=54&CodMateria=104567
http://www.ort.edu.uy/index.php?cookie_setted=true&id=AAAHAB&cdpto=62
http://biblioteca2.icesi.edu.co/cgi-olib?
session=99143311&infile=details.glu&loid=7178&rs=204013&hitno=8
http://www.fib.upc.edu/es/infoAca/estudis/assignatures/TC.html
http://ceidis.ula.ve/cursos/pgcomp/teo_comp/cont1.html
http://www.ehu.es/p200content/es/contenidos/asignatura/fut_16337infor302_226_2_x/es_16337/es_fileasig_16337.html
43
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
CONTENIDO ANALITICO
Comunicacin y trabajo en red: Estndares de red y organismos de normalizacin; el modelo de referencia ISO
de 7 capas, en general, y sus instancias en TCP/IP; conmutacin de circuitos y conmutacin de paquetes;
arroyos y datagramas; conceptos de capa fsica de red; conceptos de capa de enlace de datos; Interconexin y
encaminamiento; servicios de la capa de transporte
La web como un ejemplo de Computacin cliente-servidor: Tecnologas web; caractersticas de servidores web;
rol del computador cliente; naturaleza del relacionamiento cliente-servidor; protocolos web; herramientas de
soporte para creacin de web-site y administracin web; desarrollando servidores de informacin de Internet;
publicacin de la informacin y aplicaciones.
Creacin de aplicaciones Web: Protocolos de la capa de aplicacin; principios de ingeniera web;sitios web con
base de datos; llamadas a procedimientos remotos; pequeos objetos distribuidos; el papel del middleware;
herramientas de apoyo; los problemas de seguridad en los sistemas de objetos distribuidos; aplicaciones basadas
en web en toda la empresa.
Gestin de redes: Revisin de los asuntos de gestin de la red; temas para los proveedores de servicios de
Internet; las cuestiones de seguridad y cortafuegos; la calidad de los problemas de servicio
Compresin y descompresin: Revisin de la compresin de datos bsicos; compresin y descompresin de
audio; compresin y descompresin de imgenes; compresin y descompresin de vdeo; los problemas de
rendimiento
Tecnologas de datos Multimedia: Revisin de las tecnologas Multimedia; estndares Multimedia; capacidad de
planificacin y problemas de rendimiento; dispositivos de entrada y salida; teclados MIDI, sintetizadores;
estndares de almacenamiento; servidores Multimedia y sistemas de archivos; herramientas para apoyar el
desarrollo Multimedia
Computacin inalmbrica y mvil: Visin general de la historia, evolucin, y compatibilidad de los estndares
inalmbricos; los problemas especiales de Computacin inalmbrica y mvil; redes inalmbricas de rea local y
44
REFERENCIAS
1. Academia cisco Networking, C. P. A. (2004). GUIA DEL PRIMER ANO CCNA 1 Y 2. PEARSON
2.
3.
4.
5.
6.
7.
8.
EDUCACION.
Gast, M. (2008). 802.11 Wireless Networks: The Definitive Guide. Oreilly, second edition edition.
McNa, C. (2008). Network Security Assessment, Know Your Network. Oreilly, second edition edition.
Stalling, W. (2005). Comunicaciones y Redes de Computadoras. Prentice Hall, 7ma edition.
8420541109.
Stevens, R. (2005). TCP/IP and Protocols Implementation. Addison-Wesley, 2005.
Stevens, R. (2006). TCP/IP and Protocols. Addison-Wesley, 2006.
Tanenbaum, A. S. (2005). Redes de Computadoras. Prentice-Hall, 7th edition.
Wasserman, M. (2008). Engineer Task Force. http://edu.ietf.org/.
45
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
SUMILLA
La aparicin de nuevos sistemas en los cuales existen mltiples ncleos en un solo chip, requiere la
construccin de una nueva arquitectura para su uso.
CONTENIDO ANALITICO
CC401 Programacin de Aplicaciones de Redes
Myrinet
Redes de computadoras
QsNet
Categorizacin
RS-232
Relacin Funcional
SPX
Topologa de Redes
Especializacin por
Token Ring
Funcionalidad
TCP
Pilas de protocolos
USB
ARCNET
UDP
AppleTalk
X.25
ATM
Tpicos
Especiales
Bluetooth
Internet
DECnet
Backbone
Ethernet
FDDI
SITA y eQuant
Frame relay
Transit
HIPPI
Stub
IEEE 802.11
Transmisin de Datos
IEEE-488
IP
Transmisin inalmbrica
Monitoreo de Redes
IPX
46
BIBLIOGRAFIA
UNIX Network Programming: Networking APIs: Sockets and XTI; por Richard Stevens Vol I Editorial:
47
SLABO
I.
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
II.
Inteligencia Artificial
CC441
04 (cuatro)
CM274, CC301
Obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
III.
SUMILLA
La investigacin en Inteligencia Artificial ha conducido al desarrollo de numerosas tcnicas relevantes,
dirigidas a la automatizacin de la inteligencia humana, dando una visin panormica de diferentes
algoritmos que simulan los diferentes aspectos del comportamiento y la inteligencia del ser humano.
El curso usara el lenguaje Lisp para el estudio e implementacin de los algoritmos que demostrarn el
aprendizaje a travs del tiempo, con la llegada de nuevos datos, y las modificaciones que se tiene que
hacer al algoritmo (creacin o adicin de nuevas reglas).
IV.
CONTENIDO ANALITICO
48
49
V.
BIBLIOGRAFIA
Goldberg, D. (1989). Genetic Algoritmos in Search, Optimization and Machine learning. Addison Wesley .
Haykin, S. (1999). Neural networks: A comprensive Foundation. Prentice Hall.
Nilsson, N. (2001). Inteligencia Artificial: Una nueva visin. McGraw-Hill.
Russell, S. and Norvig, P. (2003). Inteligencia Artificial: Un enfoque moderno. Prentice Hall.
Winston, P.H. y Horn, B.K. LISP (3a. ed.) (Addison--Wesley, 1991).
Guy L. Steele Common Lisp: The Language, 2nd edicin. Editorial: Burlington, MA : Digital Press, 1984.
Artificial Intelligence: A Modern Approach de Stuart Russell y Peter Norvig: Editorial: Upper Saddle River,
N.J. : Prentice Hall/Pearson Education, 2003.
A Modern Approach, 2nd Edition, Russell and Norvig, Prentice Hall, 2003. ISBN 0-13-790395-2.
(http://aima.cs.berkeley.edu/).
Inteligencia Artificial. Una nueva sntesis. Nilsson, Nils J. Primera Edicin. 2001. McGraw Hill
Interamericana de Espaa, S.A.U.
Miguel ngel; Alfonso, Mara Isabel. Primera Edicin. 2003. Thomson Editores.
50
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Compiladores
CC461
04 (cuatro)
CC302, CC342
Obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
DOCENTE
FUNDAMENTACION DEL CURSO
Que el alumno conozca y comprenda los conceptos y principios fundamentales de la teora de compilacin para
realizar la construccin de un compilador
SUMILLA
1. PL/Vision General de los Lenguajes de Programacion. 2. PL/Introduccion a la Traduccion de
Lenguajes. 3. PL/Sistemas de Traduccion del Lenguaje. 4. Paralelismo a nivel de instruccion 5.
Optimizacion para el paralelismo y la localidad
OBJETIVOS GENERALES
Conocer las tcnicas bsicas empleadas durante el proceso de generacin intermedio, optimizacin y
generacin de cdigo.
Aprender a implementar pequeos compiladores.
CONTENIDO ANALITICO
51
52
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.
[Louden, 2004a] Louden, K. C. (2004a). Construccion de Compiladores Principios y Practica. Thomson.
[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. Addison Wesley
Iberoamericana.
53
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
Biologa Computacional
CC471
04 (cuatro)
CH061, CC302
Obligatorio
Semestral
TEORIA (02) PRACTICA (02) LABORATORIO (02)
El uso de mtodos computacionales en las ciencias biolgicas se ha convertido en una de las herramientas claves
para el campo de la biologa molecular, y estas actualmente son usadas como parte critica en sus investigaciones.
Existen diversas aplicaciones en biologa molecular relativas tanto al ADN como al anlisis de protenas. La construccin del genoma humano, por ejemplo, depende fundamentalmente de la biologa molecular computacional.
Muchos de los problemas de esta rea son realmente complejos y con conjuntos enormes de datos
SUMILLA
1. Conceptos Introductorios 2. Alineamiento de Secuencias 3. Clustering 4. Arboles Filogenticos 5. Mapeo de
Secuencias 6. Introduccin a la Estructura de las Protenas
CONTRIBUCION A LA FORMACION PROFESIONAL Y FORMACION GENERAL
Esta disciplina contribuye al logro de los siguientes resultados de la carrera:
a) Aplicar conocimientos de Computacin y de matemtica apropiadas para la disciplina.
g) Analizar el impacto local y global de la Computacin sobre los individuos, organizaciones y sociedad.
h) Incorporarse a un proceso de aprendizaje profesional continuo.
i) Utilizar tcnicas y herramientas actuales necesarias para la prctica de la Computacin.
j) Aplicar la base matemtica, principios de algoritmos y la teora de la Ciencia de la Computacin en el modelamiento y diseo de sistemas computacionales de tal manera que demuestre comprensin de los puntos de equilibrio involucrados en la opcin escogida
CONTENIDO ANALITICO
UNIDAD 1: Conceptos Introductorios
OBJETIVO:
Identificacin de los conceptos bsicos en Biologa Molecular
Reconocimiento de problemas clsicos en Biologa Molecular y su representacin en el campo computacional
Aprendizaje de las herramientas de software e Internet clsicas para el campo de Bioinformtica
Introduccin a los conceptos necesarios en manejo de Cadenas, Grafos y su representacin algortmica a fin de
transformar problemas biolgicos al tipo computacional
CONTENIDO:
Introduccin a la Historia de la Gentica
Conceptos Bsicos de Biologa Molecular
Problemas clsicos en Bioinformtica
54
55
REFERENCIAS
Clote, P. and Backofen, R. (2000). Computational Molecular Biology, An Introduction. Wiley.
Jones, N. A. and Pevzner, P. A. (2004). An Introduction to Bioinformatics Algorithms. The MIT Press.
Mount, D. W. (2001). Bioinformatics: Sequence and Genome Analysis. Cold Spring Harbor Laboratory Press.
56
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Administracin de Redes
CC481
04 (cuatro)
CC362
Obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
Presenta la administracin de redes en Linux para completar el conocimiento del uso de Linux desde el
punto de vista del usuario.
Presenta detalles de cmo funcionan y configuran routers y switches dentro de una red WAN.
SUMILLA
Este curso cubre conceptos bsicos de redes, particularmente las basadas en TCP/IP. Configuraciones de
nivel bajo (NAT) y nivel alto (rlogin, NFS, NIS, etc). Seguidamente se cuenta cmo configurar una red
WAN compuesta de routers, switches, y computadores.
CONTENIDO ANALITICO
CC481 Administracin de Redes
Correo electrnico
El servicio de nombres y su
Sendmail
configuracin
Noticias
Noticias de Internet
Cortafuegos de TCP/IP
Contabilidad IP
Enmascaramiento IP y Traduccin de
BIBLIOGRAFIA
http://www.ibiblio.org/pub/linux/docs/LuCaS/Manuales-LuCAS/GARL2/garl2/index.html
TCP/IP network administration, por Craig Hunt, Edition: 3, Publicado por O'Reilly, 2002
Linux network administrator's guide, por Tony Bautts, Terry Dawson, Gregor N. Purdy. Edition: 3,
Publicado por O'Reilly, 2005
57
SLABO
I.
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Los Sistemas Distribuidos, son aquellos cuyos componentes hardware y software, que estn en ordenadores
conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un
objetivo. Se establece la comunicacin mediante un protocolo prefijado por un esquema cliente-servidor
El propsito de un Sistema Distribuido es proveer un ambiente en que el usuario puede ejecutar sus aplicaciones
distribuida de forma transparente.
Ademas el curso contempla actividades practicas en donde se resolvern problemas de concurrencia y se
modificara el funcionamiento de un pseudo Sistema Distribuido.
II.
III.
SUMILLA
IV.
CONTENIDO ANALITICO
1.
1.1
1.2
1.3
1.4
2.
2.1
2.2
3.
3.1
3.2
3.3
3.4
El modelo Cliente/Servidor
Arquitectura
Clientes y Servidores
Plataformas
Modelos 2-Tier, 3-Tier, Multi-Tier
4.
58
Procesos e Hilos
Modelos
5.
5.1
5.2
5.3
5.4
5.5
Middleware
Llamada a un procedimiento remoto (RPC)
Middleware Orientado a Mensajes (MOM)
Peer-to-Peer
Servicio de directorio
Seguridad
6.
6.1
6.2
6.3
7.
7.1
7.2
7.3
7.4
8.
8.1
8.2
8.3
9.
9.1
9.2
9.3
9.4
9.5
CORBA
Arquitectura
Metadata y Servicios
ORB e IDL
CORBA IIOP
Implementaciones
10. COM
10.1 Historia
10.2 Arquitectura
10.3 Servicios
10.4 Documentos Compuestos y OCX/ActiveX
10.5 Integracin COM-CORBA
10.6 Implementaciones
11. Enterprise Java Beans (EJB)
11.1 Arquitectura
11.2 Servicios
11.3 Componentes
11.4 EJB y RMI
11.5 Integracin EJB-CORBA
11.6 Integracin EJB-COM
11.7 Implementaciones
12. Web Services
12.1 Arquitectura
12.2 Servicios
12.3 XML, UDDI, SOAP
12.4 Implementaciones .NET y J2EE
59
Bibliografa
1.
Sistemas Operativos Distribuidos Andrew S. Tanenbaum - 1996 - Prentice-Hall
2.
Client/Server Survival Guide Robert Orfali - Dan Harkey - 1994 - Van Nostrand Reinhold
3.
Distributed Systems: Concepts and Design George Coulouris, Jean Dollimore and Tim Kindberg - AddisonWesley
4.
Lan Times - Gua de Interoperabilidad Tom Sheldon - 1995 - Osborne/McGraw-Hill
5.
Lan Times - Enciclopedia de Redes Networking Tom Sheldon - 1994 - McGraw-Hill
6.
Redes de Ordenadores Andrew S. Tanenbaum - 1991 - Prentice-Hall
7.
Diccionario tcnico en lnea: www.webopedia.com
8.
Corba 3 developers guide - Reaz Hoque - 1998 - IDG Books
9.
Corba Masterminds Object Management - Warren Keuffel - revista DBMS online marzo 1997 http://www.dbmsmag.com/9703d13.html
10.
The Next Generation of Corba - Michael Guttman and Rob Appelbaum - revista Object development &
engineering - agosto 1998
11. OMA overview - OMG - www.omg.org
12. http://www.microsoft.com
13.
Microsoft Component Services. Server Operating System. A Technology Overview. Microsoft
Corporation, August 1998.
14.
The Component Object Model: Technical Overview. This paper is adapted from an article in Dr. Dobbs
Journal, December 1994. Copy Right 1996, Dr. Dobbs Journal and Microsoft Corporation. All rights reserved.
15.
The Component Object Model Specification. Draft Version 0.9, October 24, 1995 Microsoft Corporation
and Digital Equipment Corporation
16. Microsoft Windows Architecture for Developers. Student Workbook. Course Number: 794A. Part Number:
4635A. Release: 11/10/97
17. http://www.cool.sterling.com
18. Component Based Development. A Management Overview. Changing the information system delivery
process.
19. Component Bases Development and Object Modeling. Keith Short. Sterling Software. Febrery 1997. Ver.
1.05
20. Enterprise Java Beans http://www.java.sun.com/products/ejb/white_paper.html
http://www.java.sun.com:8081/beans/faq.html
http://www.viamall.com/softpro/languages-java-javabeans.html
http://www.javasoft.com/beans/docs/index.html
http://www.splash.javasoft.com/beans/spec.html
http://www.smoke.sdsmt.edu/docs/jdk1.1.1-doc/guide/beans/index.html
http://www.valto.com/
http://www.boci.com/
http://www.ibm.com/java/education/intro-javabeans/sitemap/index.html
60
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Ingeniera de software I
CC472
04 (cuatro)
CC302
obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
FUNDAMENTACION
La tarea de desarrollar software, excepto para aplicaciones sumamente simples, exige la ejecucin de un proceso
de desarrollo bien definido Los profesionales de esta rea requieren un alto grado de conocimiento de los
diferentes modelos de proceso de desarrollo, para que sean capaces de elegir el mas idneo para cada proyecto de
desarrollo. Por otro lado, el desarrollo de sistemas de mediana y gran o escala requiere del uso de bibliotecas de
patrones y componentes y del dominio de tcnicas relacionadas e al diseo basado en componentes.
Familiarizar al alumno con los procesos de software que se presentan en el desarrollo del ciclo de vida del
software.
Presentar a los alumnos los diferentes modelos de evaluacin de procesos y las mtricas del proceso de
software
Los alumnos debe ser capaces de seleccionar y aplicar patrones de diseo apropiados en la construccin de
una aplicacin de software
Aplicar el diseo de componentes y el diseo de reuso en las aplicaciones presentadas por los alumnos.
61
CONTENIDO ANALITICO
1 Procesos de Software.
Tpicos. I: Ciclo de vida del software y modelos de procesos. II: Modelos de evaluacin de procesos. III:
Mtricas del proceso de software.
Objetivos. 1. Explicar el ciclo de vida del software y sus fases incluyendo las entregas que son producidas. 2.
Seleccionar con justificacin los modelos de desarrollo de software ms apropiados para el desarrollo y
mantenimiento de un diverso rango de productos de software. 3. Explicar el rol del proceso de modelos de
madurez. 4. Comparar el modelo tradicional cascada con el modelo incremental, el modelo orientado a objetos, y
otros modelos apropiados. 5. Para cada uno de los diferentes escenarios de proyectos de software, describir la
posicin del proyecto en el ciclo de vida del software, identificar las tareas particulares que deben ser
desarrolladas seguidamente e identificar las mtricas apropiadas para estas tareas.
2 Representacin Avanzada del Conocimiento y Razonamiento.
Tpicos. I: Elicitacin de requerimientos. II: Tcnicas de modelamiento del anlisis de requerimientos. III:
Requerimientos Funcionales y no Funcionales. IV: Prototipeo. V: Conceptos bsicos de tcnicas de especificacin
formal.
Objetivos. 1. Aplicar elementos clave y mtodos comunes para la elicitacin y anlisis, para producir un conjunto
de requerimientos de software para un sistema de tamao medio. 2. Discutir los retos de mantener software
heredado. 3. Usar un mtodo comn, no formal para modelar y e u especificar (en la forma de un documento de
especificacin de requerimientos) los requerimientos para un sistema de software de tamao medio. 4. Conducir
una visin general de un documento de requerimientos de software, usando las mejores prcticas para determinar
la calidad del documento. 5. Traducir en lenguaje natural una especificacin de requerimientos de software escrita
o en un lenguaje de especificacin formal comnmente usado.
3 Tpicos Fundamentales en Sistemas Inteligentes.
Tpicos. I: Conceptos fundamentales de diseo y principios. II: Patrones de diseo. III: Arquitectura de software.
IV: Diseo estructural. V: Anlisis y diseo orientado a objetos. VI: Diseo a nivel componente. VII: Diseo para
reuso.
Objetivos. 1. Discutir las propiedades del buen diseo de software. 2. Evaluar la calidad de mltiples diseos de
software basados en principios de diseo, claves y conceptos. 3. Seleccionar y aplicar patrones de diseo
apropiados en la construccin de una aplicacin de software. 4. Conducir una sntesis de diseo de software
usando la gua apropiada. 5. Comparar y contrastar el anlisis orientado a objetos con el anlisis y diseo
estructural. 6. Crear y especificar el diseo de software para un producto de software de tamao medio usando
una especificacin de requerimientos de software, una metodologa de diseo de programas aceptado (ejemplo
orientado a objetos o estructurado), y una notacin de diseo apropiada. 7. Evaluar un diseo de software a nivel
componente.. 8. Evaluar un diseo de software a nivel componente desde la perspectiva de reuso.
BIBLIOGRAFIA
Blum, B. I. (1992). Software Engineering: A Holistic View. Oxford University Press US, 7th edition.
Pressman, R. S. (2004). Software Engineering: A Practitioners Approach. McGrawHill, 6th edition.
Schach, S. R. (2004). Object-Oriented and Classical Software Engineering. McGrawHill.
62
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
carcter
MODALIDAD
HORAS
SUMILLA
El curso desarrolla el sistema operativo partiendo de la infraestructura de BSD para poder exportar los
elementos mas bsicos como memoria fsica con seguridad bsica que puede ser incrementada por las
capas superiores.
CONTENIDO ANALITICO
CC482 Ncleo y Redes para Computacin Paralela
Arquitectura, diseo e implementacin
Diseo e implementacin de la arquitectura
del ExoKernel.
del Web Server
Arquitectura, diseo e implementacin
Sistema de archivos de Redes
de libreras que pueden formar parte del
Arquitectura, diseo, e implementacin del
sistema operativo ( libases).
Router
Definicin del Control y la Seguridad en Arquitectura, diseo, e implementacin del
las libreras de sistema operativo (libOS)
Switch
Mltiplexacin de redes
Sistema de archivos con cambios
Proteccin de discos
garantizados (Journal file system)
Protocolos: Arquitectura, diseo, e
Sistema Global de archivos (Global File
implementacin
system)
Motor de bsqueda
Diseo e implementacin del protocolo
HTTP
Base de Datos
BIBLIOGRAFIA
http://pdos.csail.mit.edu/exo.html
http://en.wikipedia.org/wiki/Exokernel
http://es.wikipedia.org/wiki/Exon%C3%BAcleo
http://pdos.csail.mit.edu/exo/distrib.html
http://www.cs.berkeley.edu/~brewer/cs262b-2004/Lec-Exokernel.pdf
http://www.cs.utexas.edu/users/dahlin/Classes/UGOS/reading/engler95exokernel.pdf
63
http://pdos.csail.mit.edu/PDOS-papers.html
P. J. Hatcher y Michael J. Quinn, Data-Parallel Programming on MIMD Computers, MIT Press,1991
C. Xavier y S.S. Ivengar, Introduccin to parallel algoritmos, Wiley-Interscience, 1998.
J. Reinders, Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism, OReilly,
2007
Andrew S. Tanenbaum y Maarten van Oteen, Distributed Systems: Principles and paradigms, Segunda
edicin, Prentice Hall, 2006.
Maurice J. Bach ,Design of the UNIX Operating System. Prentice Hall PTR, 1986
Kaare Christian y Susan Richter, The UNIX Operating System. Wiley Professional Computing,1993.
Stephen W. Keckler, Kunle Olukotun y H. Peter Hofstee, Multicore Processors and Systems (Integrated
Circuits and Systems). Springer .2009
64
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
CC581
04 (cuatro)
CC462
Obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
SUMILLA
El curso permite usar los servicios de Globus. La tecnologa Grid muestra el nuevo paradigma de
Computacin distribuida propuesto por Ian Foster y Carl Kesselman a mediados de los 90. Se basa
fundamentalmente en el acceso remoto a recursos computacionales, y su tecnologa estndar es el
Globus Toolkit.
En la segunda parte del curso se presentar una visin general de Cloud Computing. En concreto, tratara
sobre las plataformas, las abstracciones, el nexo entre una aplicacin eficiente nube y la virtualizacin.
Plataformas Cloud populares sern discutidas, y los factores a considerar mientras que la aplicacin de
una iniciativa Cloud tambin se presentar.
CONTENIDO ANALITICO
Computacin de malla (Grid computing)
Introduccin a Java
Configuracin del GRID
Como lograr acceso al GRID (Organizaciones Virtuales )
Obtener los permisos de seguridad (Certificados de usuarios y certificados de maquina)
Herramientas de Globus
Como usar los servicios de Globus
Como escribir un Servicio con los siguientes mtodos: Add x, Substract y, getValue mtodo. (The WSResource Framework)
Crear la estructura del folder
Implementar la Interface de Grid Service
Implementacin del Grid Service
Configuracin del Grid Service
Distribucin del Grid Service
65
66
BIBLIOGRAFIA
67
Foster, I. and Kesselman, C. (eds) (1999) The Grid: Blueprint for a New Computing Infrastructure. San
Francisco, CA: Morgan Kaufmann.
http://www.globus.org
http://www.eu-datagrid.org
Grid computing: making the global infrastructure a reality, por Fran Berman, Geoffrey Fox, Anthony J.
G. Hey, Fran Berman, Geoffrey Fox. Publicado por John Wiley and Sons, 2003.
Grid computing: software environments and tools, por Jos Cardoso Cunha, Omer Rana. Publicado por
Birkhuser, 2006.
Grid computing: experiment management, tool integration, and scientific workflows, por Radu Prodan,
Thomas Fahringer. Publicado por Springer, 2007.
Lessons in Grid Computing : The System Is a Mirror ; Por Stuart Robins. Publicado por Jhon Wiley &
Sons
Grid Computing for Developers , Por Vladimir Silva . Publicado Charles River Media
The Evolution of Grid Computing ; Por Juergen Hirtenfelder. Publicado VDM Verlag Dr. Mueller e.K.
Introduction to Cloud Computing: Business and Technology. Por Timothy Chou. Publicado por
68
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Demuestra las componentes de un sistema operativo y como trabajar en el, en forma real.
Ensear la implementacin del Kernel de Linux. Se recompilar el Kernel y se instalar como parte del
proceso de manejo de software abierto.
SUMILLA
Se estudia las componentes del sistema operativo y se usa el software del Kernel de Linux para estudiar
como este es construido. Las componentes ms importantes del kernel son estudiados en detalle para buscar
la solucin a un problema reportado.
CONTENIDO ANALITICO
CC571 Sistemas Operativos Avanzados
Introduccin
Archivos principales
Estructura del kernel
Mount Montar sistema de archivos y los
programas de manejo del dispositivo
Ncleo
Clases de dispositivos
Inicializacin
Espacios asignados al kernel y al Usuario
Arquitectura y control de Memoria
Dispositivo para el manejo de caracteres
Comunicacin y control entre los Procesos
Ejemplo de un programa para manejo de un
Redes
dispositivo
Sistema de Archivos
Medicin de tiempo en el kernel (jiffies) y
Cdigo que depende del tipo de plataforma
en el espacio del usuario
Estructura para la programacin del cdigo
Gestin de la memoria
Kernel
Puertos de entrada y salida
Dispositivos por bloques
Estructura del sistema de archivos
Depuracin
Portabilidad
BIBLIOGRAFIA
Understanding the Linux Kernel By Daniel P. Bovet & Marco Cesati Editorial: Beijing ; Cambridge,
Mass. : O'Reilly, 2001.
Kernel Projects for Linux By Gary Nutt Editorial: Boston : Addison Wesley Longman, 2001.
69
Linux Device Drivers, 2nd Edition by Alessandro Rubini & Jonathan Corbet Editorial: Sebastopol :
O'Reilly & Associates, 2005.
Linux File Systems By Moshe Bar Editorial: New York : Osborne/McGraw-Hill, 2001.
70
SLABO
I.
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
II.
Seminario de Tesis I
CC541
04 (cuatro)
Aprobar 8 ciclos
Obligatorio
Semestral
TEORIA (03)
LABORATORIO (02)
Supervisar las etapas iniciales del desarrollo de tesis de cada uno de los alumnos registrados en el seminario;
incluyendo las etapas de bsqueda bibliogrfica, definicin de los objetivos, metodologa, productos a entregar y
calendario del trabajo de investigacin propuesto.
Registro formal del tema de tesis (Protocolo) de acuerdo a los lineamientos propuestos por la Facultad de
Ciencias en el programa de la Ciencia de la Computacin.
III.
SUMILLA
Tiene por finalidad orientar al alumno en la preparacin de la tesis profesional. Se sustenta en el
conocimiento previo, el cual se organiza y actualiza en torno a un plan de investigacin que adems de ser
riguroso debe ser realizable.
IV.
CONTENIDO ANALITICO
CC541 Seminario de Tesis I
Cmo se hace investigacin en MIT
Qu es una investigacin
Tesis
a.
Introduccin
b.
Qu es lo que se sabe hasta ahora
brevemente
c.
Presentar las ideas mas relevantes que han
sido trabajadas por otros
d.
Problema que se va resolver
e.
DESCRIPCION de cmo resolvi el
problema
f.
Conclusin
g.
Referencias
h.
Apndices
V.
BIBLIOGRAFIA
http://delta.cs.cinvestav.mx/~francisco/semtesis/semtesis07.html
http://www.cs.umd.edu/~oleary/gradstudy/gradstudy.html
http://www.cs.indiana.edu/mit.research.how.to.html
71
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Seminario de Tesis II
CC542
04 (cuatro)
CC541
obligatorio
Semestral
TEORIA (03)
LABORATORIO (02)
Supervisar la parte final de la tesis. En el primer mes del semestre el alumno sustentar los resultados antes
de terminar de escribir la tesis.
Los resultados del trabajo se publicar en eventos dentro y fuera del pas.
SUMILLA
Tiene por finalidad orientar al alumno para que escriba los resultados en su tesis como para presentar los
resultados en congresos y revistas indexadas.
CONTENIDO ANALITICO
CC542 Seminario de Tesis II
Qu es una investigacin
Cmo hacer trabajos de investigacin
en grupo
Cmo escribir una tesis
Cmo hacer investigacin con personas
Cmo escribir un trabajo para ser
fuera de la Universidad
presentado en el congreso
Cmo escribir un trabajo para ser
presentado en una revista indexada
Cmo postular para conseguir un
trabajo
Cmo postular para seguir estudios de
postgrado dentro y fuera del pas
Cmo continuar haciendo
investigacin
Cmo conseguir referencias para
continuar un postgrado
Cmo conseguir referencias para
obtener un trabajo
BIBLIOGRAFIA
http://delta.cs.cinvestav.mx/~francisco/semtesis/semtesis07.html
http://www.cs.umd.edu/~oleary/gradstudy/gradstudy.html
http://www.cs.indiana.edu/mit.research.how.to.html
72
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
Simulacin y Modelamiento
CC562
04 (cuatro)
CC201, CC441, CM334
Obligatorio
Semestral
TEORIA (03)
LABORATORIO (03)
SUMILLA
Temas:
Definicin de la simulacin y el modelado, la relacin entre la simulacin y modelado
Objetivo incluidos los beneficios y limitaciones: el papel - la consideracin de rendimiento, optimizacin, el
apoyo a la toma de decisiones, la previsin, las consideraciones de seguridad, para la formacin y la educacin
Importantes reas de aplicacin: la asistencia sanitaria (incluida la asistencia con el diagnstico), economa y
finanzas; aula del futuro, la formacin y la educacin; juegos;; ciudad y simulaciones urbanas; simulacin en la
ciencia y la ingeniera de simulacin militar
Diferentes tipos de simulaciones - fsico, humano en el lazo, la interaccin, ordenador, realidad virtual
El proceso de simulacin - base slida, la identificacin de las caractersticas clave o comportamientos, la
simplificacin de las hiptesis, validacin de los resultados. La construccin de modelos: el uso de la frmula
matemtica o ecuacin, grficos, restricciones. metodolgicas y tcnicas. Uso del tiempo que camina de sistemas
dinmicos
Consideraciones tericas; Mtodos Monte Carlo, procesos estocsticos, teora de colas
Tecnologas en apoyo de la simulacin y modelado: los procesadores grficos; dispositivos Haptic feedback.
Consideraciones de interaccin humano-computador.
La evaluacin y la evaluacin de simulaciones en una variedad de contextos.
Software en apoyo de la simulacin y el modelado, los paquetes, los idiomas
CONTENIDO ANALITICO
UNIDAD 1:
Sistema de definicin y componentes, actividades estocstico, continua y sistemas discretos, el modelado del
sistema, los tipos de modelos, modelos fsicos estticos y dinmicos, modelos matemticos estticos y dinmicos,
el modelo social completa, los tipos de sistemas de estudio.
UNIDAD 2:
Simulacin del sistema, Necesidad de la simulacin, Naturaleza bsica de la simulacin, las tcnicas de
simulacin, comparacin de la simulacin y mtodos analticos, los tipos de sistema de simulacin, simulacin en
73
74
SLABO
I.
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
II.
Introducir conceptos de programacin sin tener en cuenta el lenguaje y las reglas de syntax de este.
Demostrar que cualquier lenguaje debe definir data y procedure en la forma ms simple (primitivos). Adems
debe tener mtodos para manipular data y procedures en forma abstracta.
III.
SUMILLA
El curso muestra que un proceso computacional como entidades que residen en el computador y que los
datos son entes abstractos usados por el proceso, durante la evolucin de este. La evolucin de un
proceso es dirigido por un conjunto de reglas llamado programa. Se escribe programas para dirigir
procesos.
IV.
CONTENIDO ANALITICO
Abstraccin de Metalingustica
a.
Elementos de Programacin
a.
El evaluador meta curricular
b.
Los procesos que los Procedures
b.
Variaciones sobre un esquema
generan
Evaluacin Perezosa
c.
Formulacin de abstracciones con
c.
Variaciones sobre un esquema
Procedures de alto orden
Computacin no indeterminada
Programacin lgica
a.
Introduccin a la abstraccin de Datos
a.
Computacin con mquinas con
b.
Jerarqua de los Datos y propiedad de
registros
Clausura
b.
Diseo con mquinas que tienen
c.
Tipos de Datos
registros
d.
Diferentes representaciones de las
c.
Simulador de una mquina con
abstracciones de los datos
registros
e.
Sistemas con operaciones genricas
d.
Alocacin de almacenamiento y
garbage
collection
Lenguajes
d.
Concurrencia
a.
Schema
e.
Streams
b.
Otros lenguajes vistos
V.
BIBLIOGRAFIA
75
http://mitpress.mit.edu/sicp/full-text/book/book.html
Structure and Interpretation of Computer Programs 2nd edition_Harold Abelson and Gerald Jay Sussman
with Julie Sussman_1996 McGraw-Hill Book Company
76
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Se demuestra que las herramientas son necesarias para el xito de cualquier proyecto. al igual que la
automatizacin es un elemento fundamental en el proceso de desarrollo de software abierto de alta calidad.
SUMILLA
El curso cubre todas las herramientas necesarias para trabajar con el software abierto. Describe tambin su
cultura; para que el alumno est al tanto de cmo debe trabajar con otros desarrolladores de software que
nunca ha conocido y posiblemente no tendr la oportunidad de conocerlos.
CONTENIDO ANALITICO
CC012 Herramientas para el uso del software abierto
Cmo escribir buenos programas
Bugzilla
GNU Emacs
Buenas prcticas para mejoras (arreglar el
sistema), nombres de proyectos y archivos,
Automake y Autoconf
licencias y derecho de autor, desarrollo,
Libtool
distribucin, comunicacin y gestin de
Autotoolset
proyectos
Cmo usar C y C++ en una forma
Diagnstico: Verificacin del error de
ms eficiente
cdigo
Internacionalizacin del cdigo
Mejora: Solucin del error, pruebas y
Mantenimiento de la
comunicacin a la comunidad de que existe
Documentacin
para el problema xxx (error de cdigo
Programacin portable de la shell
identificado con xxx)
Escritura de macros con Autoconf
Distribucin de la mejora.
RCS y CVS
Instalacin de la mejora
Bourne Shell, AWK, Sed y
Cultura de software abierto
herramientas similares de secuencias de
comandos
Herramientas para depurar el
lenguaje C: gdb
77
BIBLIOGRAFIA
http://www.ibiblio.org/pub/linux/docs/LuCaS/Manuales-LuCAS/GARL2/garl2/index.html
http://en.wikipedia.org/wiki/Open_source_software_development
http://www.tldp.org/HOWTO/Software-Release-Practice-HOWTO/
http://www.catb.org/~esr/faqs/hacker-howto.html
http://samizdat.mines.edu/howto/HowToBeAProgrammer.html
GNU/Linux Application Programming, por M. Tim Jones, ebrary, Inc. Publicado por Cengage Learning,
2005.The definitive guide to GCC, por William Von Hagen. Publicado por Apress, 2006.
Free Software, Free Society: Selected Essays of Richard M. Stallman, por Richard M. Stallman, Lawrence
Lessig, Joshua Gay, Free Software Foundation (Cambridge, Mass.), Colaborador Lawrence Lessig, Joshua Gay.
Publicado por Free Software Foundation, 2002.
Open source: technology and policy, por Fadi P. Deek, James A. McHugh. Publicado por Cambridge
University Press, 2007.
The cathedral and the bazaar: musings on Linux and Open Source by an accidental revolutionary, por Eric
S. Raymond. Publicado por O'Reilly, 2001.
78
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
SUMILLA
El curso nos muestra la telefona actual. Se desarrolla la parte conceptual de los paquetes de voz en
tiempo real sobre las redes de datos. Cubre el descubrimiento, anlisis, planificacin y diseo de un
proyecto de integracin de voz y datos.
CONTENIDO ANALITICO
CC021 Tpicos Especiales de Software
Estado de las comunicaciones por voz
Protocolos de sealizacin y transporte VOIP
La sealizacin utilizada en telefona
Integracin de voz y datos: metodologa,
empresarial
planificacin y diseo
Sistema de sealizacin
Presupuestos de retraso y planes de prdida
Enrutamiento de llamadas y planificacin de
Establecimiento de un plan integrado de servicio
conexiones telefnicas
telefnico
BIBLIOGRAFIA
UNIX Network Programming: Networking APIs: Sockets and XTI; Vol I por W Richard Stevens Editorial:
Upper Saddle River, NJ : Prentice Hall PTR, 1998.
Integracin de Redes de Voz Datos por Scott keagy Editorial: Madrid : Cisco Systems, 2001.
79
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
CC023
02 (dos)
CC262, CM094
electivo
Semestral
TEORIA (01), LABORATORIO (02), SEMINARIO (01)
SUMILLA
Este es uno de los primeros cursos del tronco de conocimientos de la carrera de Ciencia de la Computacin
Los lenguajes formales son usados para definicin precisa de los formatos de datos y de la sintaxis de los
lenguajes de programacin. Se muestra su importancia en el desarrollo de compiladores. La Teora de Autmatas
vera las maquinas abstractas y los problemas que son capaces de resolver.
CONTENIDO ANALITICO
1 Autmata: Los mtodos y la locura
1.1 Porque estudiamos Teora de Autmatas?
1.1.1 Introduccin al Autmata Finito
1.1.2 Representaciones Estructurales
1.1.3 Autmata y Complejidad
1.2 Introduccin a la Prueba Formal
1.2.1 Pruebas Deductivas
1.2.2 Reduccin a Definiciones
1.2.3 Otros Teoremas Formales
1.2.4 Teoremas que parecen no ser instrucciones If-then
1.3 Formas adicionales de prueba
1.3.1 Probando equivalencias sobre conjuntos
1.3.2 La contrapositiva
1.3.3 Prueba por contradiccin
1.3.4 Contra ejemplos
1.4 Pruebas inductivas
1.4.1 Inducciones en enteros
1.4.2 Formas mas generales de inducciones en enteros
1.4.3 Inducciones estructurales
1.4.4 Inducciones mutuas
1.5 Los conceptos centrales de la Teora de Autmatas
1.5.1 Alfabetos
80
81
82
83
84
BIBLIOGRAFA
Teora de autmatas y lenguajes formales. Dean Kelley, 1998
Autmatas y Lenguajes. Ramn F. Brea. Editor Tecnolgico de Monterrey. ISBN9709448404,
9789709448405
http://infolab.stanford.edu/~ullman
85
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
CC032
03 (tres)
CC472 Ingeniera de Software I
Obligatorio
Semestral
TEORIA (01) PRACTICA (02) LABORATORIO (02)
DOCENTE
FUNDAMENTACION DEL CURSO
La eficacia del Interfaz Usuario-Computador se ha hecho cada vez ms importante debido a que los sistemas de
computadora se han hecho instrumentos tiles para personas no entrenadas en ciencias de la computacin. De hecho,
la interfaz es a menudo el factor ms importante en el xito o el fracaso de cualquier sistema computacional.
Las transacciones, con las cuestiones numerosas interrelacionadas de manera sutil y consideraciones tcnicas,
comportamentales y estticas, consumen una parte grande y creciente del tiempo de desarrollo y un porcentaje
correspondiente del cdigo total para cualquier aplicacin dada. Una revisin de uno de los libros ms acertados en la
Interaccin Usuario-Computador, esta informacin da a los estudiantes, investigadores y practicantes una descripcin
de los conceptos significativos y una gua completa de la literatura de investigacin de esta rea.
OBJETIVOS GENERALES
Cmo desarrollar tcnicas para compartir datos y conocimiento entre los distintos usuarios de una aplicacin
y cmo apoyar los procesos y dinmicas de interaccin grupal que permiten lograr un objetivo comn.
Desarrollar en el alumno la tendencia de que la tecnologa se adapte a las personas y no las personas a la
tecnologa, independiente de las caractersticas que tengan, ya sean fsicas, ideolgicas u otras.
86
CONTENIDO ANALITICO
1 PF/Programacin Orientada a Eventos. (1 horas) [Nivel Bloom 3]
Tpicos. 1. Mtodos para la manipulacin de eventos. 2. Propagacin de eventos. 3. Manejo de excepciones.
Objetivos. 1. Explicar la diferencia entre programacin orientada a eventos y programacin por lnea de
comandos. 2. Disear, codificar, probar y depurar programas de manejo de eventos simples que respondan a
eventos del usuario. 3. Desarrollar cdigo que responda a las condiciones de excepcin lanzadas durante la
ejecucin.
Bibliografia: [Baecker et al., 2000]
2 HC/Fundamentos de la Interaccin Hombre-Computador (HCI) (4 horas) [Nivel Bloom 3]
Tpicos. 1. Motivacin: Por qu el estudio de la interaccin entre las personas y la tecnologa es vital para el
desarrollo de sistemas mas usables y aceptables? 2. Contexto para HCI (dispositivos mviles, dispositivos
consumidores, aplicaciones de negocios, web, sistemas colaborativos, juegos, etc.). 3. Proceso de desarrollo
centrado en el usuario: foco temprano en los usuarios, pruebas empricas, diseo iterativo. 4. Distintas medidas
de evaluacin: utilidad, eficiencia, facilidad de aprendizaje, satisfaccin del usuario. 5. Modelos para medir el
diseo de la Interaccin Humano-Computador: atencin, percepcin y reconocimiento, movimiento y cognitivo.
6. Aspectos sociales que influyen en el diseo y en el uso de la Interaccin Humano-Computador: cultura,
comunicacin y organizaciones. 7. Adaptacin a la diversidad humana, incluyendo diseo y accesibilidad
universal, diseo para mltiples contextos culturales y lingusticos. 8. Los errores ms frecuentes del diseo de
interfases. 9. Interfases de usuario estndares.
Objetivos. 1. Discutir las razones por las cuales es importante el desarrollo de software centrado en el usuario. 2.
Explicar porque los modelos humanos individuales y los modelos sociales son importantes a la hora de disear la
Interaccin Humano-Computador. 3. Definir un proceso centrado en el usuario que explicitamente haga notar
que el desarrollador y su conocimiento previo son muy distintos del usuario. 4. Describir formas en las cuales un
diseo centrado en el usuario puede fallar incluyendo ejemplos. 5. Definir los diferentes procesos para definicin
de interfases para diferentes contextos. 6. Diferencias entre en rol de la hiptesis y los resultados experimentales
vs. correlaciones. 7. Escoger entre mtodos de evaluacin cualitativos y cuantitativos para una evaluacin dada.
8. Usar vocabulario para analizar la interaccin humano con el software: costo percibida, modelo conceptual,
modelo mental, metforas, diseo de la interaccin, retroalimentacin, etc. 9. Proveer ejemplos de como un
determinado cono, smbolo, palabra o color puede diferentes interpretaciones entre a) dos diferentes culturas
humanas y b) una cultura y una de sus subculturas. 10. Estar preparado para describir al menos un estndar
nacional o internacional de diseo estndar de interfases.
Bibliografia: [Baecker et al., 2000]
3 HC/Construccin de Interfases Grfica de Usuario. (6 horas) [Nivel Bloom 4]
Tpicos. 1. Principios de las interfaces grficas de usuario (GUIs). 2. Accin-objeto vs objeto-accin. 3. Eventos
de la interfase de usuario. 4. Construccin de una interfase de usuario para correr localmente y una para la web.
Objetivos. 1. Identificar los varios principios fundamentales para el diseo de interfases de usuario tales como
facilidad de aprendizaje, flexibilidad y robustez. 2. Describir ejemplos de mala navegacin, malos diseos de
pantalla e diseos de interfases incomprensibles. 3. Crear una aplicacin simple que soporte interfase grfica de
usuario para correr localmente o en la web. 4. Observar un intento de usar una aplicacin por parte de un usuario
y obtener su crtica a la aplicacin. 5. Explicar como una cuidadosa evaluacin va ms alla de la observacin de
un nico usuario.
Bibliografia: [Baecker et al., 2000]
87
88
89
90
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Tpicos en Seguridad
CC033
04 (cuatro)
CC302
ELECTIVO
Semestral
TEORIA (03)
LABORATORIO (03)
SUMILLA
El curso cubre arquitectura, diseo, e implementacin de la Seguridad de Java 2.x
CONTENIDO ANALITICO
CC033 Tpicos en Seguridad
Fundamentos de seguridad del
computador y redes
La seguridad bsica para el
lenguaje Java
La arquitectura de seguridad
en JDK 2.x
El uso de la arquitectura de
seguridad
Creando los permisos y las
plizas de la arquitectura de
seguridad al gusto del cliente
Objeto de seguridad
Programando Criptografa
Direcciones Futuras
BIBLIOGRAFIA
2005.
91
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Demuestra que el uso de patrones o el descubrimiento de ellos servirn como una herramienta de evolucin
de modelos de programacin.
Los patrones de programacin paralela guiara a los programadores a tomar decisiones en cada paso del
desarrollo del software paralelo
SUMILLA
El curso se enfocara en definir patrones en las reas de descomposicin, algoritmos, estructuras, y
metodologa.
CONTENIDO ANALITICO
CC034 Patrones de Lenguaje Paralelo
Introduccin: Computacin paralela y las
BIBLIOGRAFIA
Patterns for Parallel Programming by Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill.
Uzi Vishkin. Optimal parallel pattern matching in strings. Information and Control , 67:91{113, 1985
David A. Koufaty A. Algoritmos paralelos para bsqueda de patrones. Tesis de Maestra, Universidad
Simn Bolvar, Caracas, 1991
92
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
SUMILLA
El curso explica a los alumnos una metodologa de diseo. Se ensea la descripcin, y se simula la
implementacin.
CONTENIDO ANALITICO
BIBLIOGRAFIA
VHDL Lenguaje para sntesis y modelado de circuitos por Fernando Pardo Carpio; Jose A Boluda Grau
Editorial: Mxico : Alfaomega, 2004
http://www.ehu.es/%7Ejtpolagi/completo.htm
Rapid system prototyping with FPGAs, por R. C. Cofer, Benjamin F. Harding. Publicado por Elsevier, 2005.
Fpga-Based System Design, por Wayane Wolf. Publicado por Prentice Hall, 2004.
93
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
SUMILLA
El curso muestra que un proceso computacional como entidades que residen en el computador y que los
datos son entes abstractos usados por el proceso, durante la evolucin de este. La evolucin de un
proceso es dirigido por un conjunto de reglas llamado programa. Se escribe programas para dirigir
procesos.
CC045 Introduccin al Compilador Paralelo
Introduccin
La abstraccin de un Procedure.
Pre-definicin de los registros
Introduccin a los problemas de
locales
generacin de cdigo
Introduccin al anlisis de Lexical
Cdigo para expresiones, Bolean, y
RE a DFA: La construccin de
control de flujo
Thompson y la construccin de
Arreglos y Cadenas (Arrays y String)
subconjunto
Cronograma de las instrucciones
La minimizacin de DFA
locales.
Resumen del anlisis de Lexical
Introduccin al algoritmo de colores
Introduccin al Parser
de la teora de grafos en la pre-definicin
Parser: Implementacin
de registro locales
descendente
Parser: Implementacin
Eliminacin de cdigo muerto.
ascendente
Elaboracin de Semntica
Representacin Intermedia
BIBLIOGRAFIA
http://www.linux-magazine.es/issue/12/Intel90.pdf
http://www.dcc.uchile.cl/~mmarin/parallel/openMP/index.html
http://www.angelfire.com/dragon/letstry/tutorials/compiler/index.html
http://csis.pace.edu/~bergin/Compiler.htm
94
95
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Demuestra las componentes y sintaxis del lenguaje Haskell, y Haskell paralelo (pH).
Se estudia una extensin al lenguaje Funcional Haskell que permite describir el hardware (functional
hardware programming lenguaje) en particular el diseo de los chips.
SUMILLA
El curso cubre las primeras ideas de paralelismo para entender por qu es necesario trabajar en nuevas
ideas para resolver el problema de programacin paralela.
CONTENIDO ANALITICO
CC053 Lenguaje Funcional Paralelo
Paralelismo en sistemas que permiten
M-Estructuras: Introduccin a E/S monad
mltiples hilos. Lenguajes y compiladores
El estado de Monad y Friends
Programacin Funcional: Funciones y tipos
Hardware para programacin paralela
Clculo de Lambda: Una base para lenguajes
Diseos para IFFT
Funcionales
Micro-arquitectura: Modulo para la bsqueda de
Clculo de Lambda con constantes y letIP
blocks
Tpicos en FIFO y control de concurrencia
Tipos y tipo simple de inferencia
Lenguaje paralelo con acciones atmicas y
Tipo de Interface
mdulos
Overloading, tipo de clases, y tipo de data
Grafos para dataflow esttico
algebraicos
Dataflow grafos con comportamiento bien
Lista de entendimientos
entendido
Compilacin de patrones de semejanza o
Dataflow dinmico
igualdad y lista de entendimientos
Primitivas del despachador para Bluespec
Arrays y I-Structuras
M-Estructures: Programacin con estado
indeterminado
BIBLIOGRAFIA
96
R. Plasmeijer and M. van Eekelen. Functional Programming and Parallel Graph Rewriting. AddisonWesley, Reading, MA, 1993
97
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
Motores de Bsquedas
CC054
04 (cuatro)
CC342
electivo
Semestral
TEORIA (03)
LABORATORIO (03)
SUMILLA
El curso describe la arquitectura de motores de bsqueda y sus algoritmos. Los estudiantes
implementaran, y utilizaran sus propias maquinas de bsquedas.
CONTENIDO ANALITICO
CC054 Motor de Bsquedas
Introduccin
Interfaces del usuario y visualizacin
Modelos
Evaluacin de la informacin de
Multimedia encontrada
Evaluacin de los datos encontrados
Modelos y lenguajes de informacin
Lenguajes de bsqueda
de Multimedia encontrada
Operaciones de bsqueda
ndices y interfaces de bsquedas de
Propiedades y lenguajes de texto y
informacin de Multimedia
Multimedia
Interfaces de bsqueda en la Web
Operaciones de texto
Libreras para sistemas bibliogrficos
ndices e interfaces de bsquedas
Informacin recogida de sistemas
distribuidos y paralelos
Libreras digitales
BIBLIOGRAFIA
98
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
Introduccin a la Robotica
CC055
04 (cuatro)
CC441, CF221
electivo
Semestral
TEORIA (03)
LABORATORIO (03)
SUMILLA
El curso cubre los elementos bsicos de modelamiento, diseo, planeamiento y control de los sistemas
del robot. Desarrolla las formas de pensamiento lgico y la capacidad de razonamiento, mediante el
anlisis de mtodos heursticos y su aplicacin a problemas no algoritmizables o poco estructurados.
CONTENIDO ANALITICO
CC055 Introduccin a la Robotica
Introduccin
Introduccin a la Optimizacin
Manipuladores de los sistemas de los robots Optimizacin numrica
Sensores y activadores
Evaluacin de Monte Carlo y algoritmos
Control de bajo nivel en los robots
evolucinarios
Robot mviles
Mquinas de aprendizaje
Modelamiento de sistemas dinmicos
Clasificacin de conjuntos de datos
Sistemas continuos y discretos
Redes neuronales
Lgica formal y maquinas de Turing
Entrenamiento de redes neuronales. Aprendizaje a
Calculo de predicados: Lgica de primer
travs del tiempo
orden y conjuntos difusos
Control optimo
Sistemas expertos: Interfaces de
Control neuronal robusto y adaptativo.
Representacin y conocimiento
Planeamiento de tareas y sistemas de multiagente
Teora de la probabilidad
BIBLIOGRAFIA
An Introduction to Intelligent and Autonomous Control by Panos J. Antsaklis and Kevin M. Passino
Editorial: Boston : Kluwer Academic, 1993.
Fundamentals of robotic mechanical systems, por Jorge Angeles. Publicado por Springer, 2003.
99
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Calidad de Software
CC056
04 (cuatro)
CC472 Ingeniera de Software I
Electivo
Semestral
TEORIA (03)
LABORATORIO (03)
Introducir los conceptos, teora y prctica del proceso de aseguramiento de la calidad del software
DESCRIPCION
Los profesionales desarrolladores de software requieren proveer productos que satisfagan completamente los
requerimientos de los usuarios finales. Para que esto sea posible, se debe localizar y corregir defectos de los
productos de forma eficiente y sistemtica. Este curso tiene como finalidad abordar los conceptos y mtodos
relacionados.
CONTENIDO ANALTICO
1. Introduccin al aseguramiento de la calidad
Programacin extrema.
3. Pruebas
Pruebas sistemticas
Continuidad de pruebas
Automatizacin de pruebas
4. Inspeccin
Inspeccin sistemtica
Inspeccin automatizada
5. Mtricas
Mtricas de software
BIBLIOGRAFIA
Stephen H. Kan. 2002. Metrics and Models in Software Quality Engineering (2nd ed.). Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA.
100
Richard E. Nance and James D. Arthur. 2002. Managing Software Quality. Springer-Verlag New York,
Inc., Secaucus, NJ, USA.
G. Gordon Schulmeyer and James I. McManus (Eds.). 1998. Handbook of Software Quality Assurance
(3rd Ed.). Prentice Hall PTR, Upper Saddle River, NJ, USA.
101
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
Ingeniera Web
CC057
04 (cuatro)
CC472 Ingeniera de Software I
Electivo
Semestral
TEORIA (03)
LABORATORIO (03)
DESCRIPCION
La web ha llegado a ser la mayor plataforma de deliberacin de informacin en el mundo. Muchos proyectos web
son desarrollados usando tcnicas ad-hoc, contribuyendo a la proliferacin de problemas de usabilidad,
mantenimiento, calidad y confiabilidad. En este curso se examinar mtodos cuantificables y sistemticos para
desarrollar aplicaciones web confiables, usables y de alta calidad.
CONTENIDO ANALTICO
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
BIBLIOGRAFIA
Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web Engineering, 1st ed. Hoboken, NJ:
Wiley & Sons. ISBN: 04700-1554-3.
102
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
Fsica Computacional
CC063
04 (cuatro)
CF221, CC201
electivo
Semestral
TEORIA (03)
LABORATORIO (03)
SUMILLA
El curso abordar los problemas en 4 (5) secciones generales:
Ecuaciones diferenciales ordinarias, como las de mecnica clsica.
Ecuaciones diferenciales parciales, tales como las ecuaciones de Maxwell y las ecuaciones de difusin y de
Schrodinger.
Matrices, como los sistemas de ecuaciones y problemas de valores propios aplicados a la ecuacin de Poisson
y clculos de estructura electrnica.
Monte Carlo y otros mtodos de simulacin, tales como el Algoritmo de Metrpolis y la dinmica molecular.
(Si el tiempo lo permite:) lgebra computacional: una Introduccin usando Mapple a los usos y abusos de la
Computacin algebraica en Fsica.
CONTENIDO ANALITICO
* Fsica Computacional
DESCRIPCION del curso
* Ecuaciones Diferenciales Ordinarias
o Tipos de ecuaciones diferenciales
o Mtodo de Euler
+ Orden de precisin
+ Estabilidad
+ La ecuacin de crecimiento
+ Aplicacin a las ecuaciones diferenciales no lineales
+ Aplicacin a las ecuaciones vectoriales
o El Mtodo Leap-Frog
o El Mtodo de Runge-Kutta
o El Mtodo Predictor-Corrector
o El Mtodo Intrnseco
o Resumen
o Problemas
103
104
Bibliografa
Lapack Numerical Library n.d. URL: ftp://unix.hensa.ac.uk/pub/netlib/lapack/
Metropolis N, Rosenbluth A W, Rosenbluth M N, Teller A H & Teller E 1953 J.
105
106
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
Qumica Computacional
CC064
04 (cuatro)
CQ112, CF122, CC102
electivo
Semestral
TEORIA (03)
LABORATORIO (03)
SUMILLA
CONTENIDO ANALITICO
Descripcin del curso. Promesas de la qumica computacional
Mecnica molecular de vibraciones enlazadas. Mtodos de minimizacin
Mecnica molecular: Fuerzas en molculas poliatmicas
Laboratorio de Computacin: Algoritmos de minimizacin
Fuerzas intermoleculares. Parametrizacin y pruebas de campos de fuerza
Docking
Laboratorio de Computacin: Campos de fuerza y anlisis conformacional
Mtodo Monte Carlo: Principios
Mtodo Monte Carlo: aplicaciones qumicas y bioqumicas
Laboratorio de Computacin: Monte Carlo
Fundamentos de la teora MO
Teora MO semi-emprica
Laboratorio de Computacin: Mtodos semi-empricos
Teora MO Ab initio: Bases
Teora de Hartree-Fock: Principios y Aplicaciones
Laboratorio de Computacin: la teora de Hartree-Fock, los orbitales moleculares
Tratamiento de la correlacin electrnica: MCSCF, Mtodos CI
Tratamiento de la correlacin electrnica: MP y Mtodos CC
Laboratorio de Computacin: el oscilador armnico en mecnica cuntica
107
108
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
Computacin Bioinspirada
CC065
04(cuatro)
CC441 Inteligencia Artificial
Electivo
Semestral
TEORIA (02) PRACTICA(02) LABORATORIO(02)
SUMILLA
1. Introduccin a la Computacin Bioinspirada 2. Conceptualizacin 3. IS/Bsqueda Avanzada. 4. IS/Aprendizaje
de Mquina. 5. Inteligencia de enjambre 6. Sistema inmunolgico artificial 7. Geometra fractal 8. Vida artificial
9. Computacin basada en ADN 10. Computacin cuntica
CONTENIDO ANALITICO
UNIDAD 1: Introduccin a la Computacin Bioinspirada (2 horas)
OBJETIVO:
Conocer el fundamento de la Computacin Bioinspirada.
Diferenciar las diferentes ramas de la Computacin naturalmente inspirada.
CONTENIDO:
Introduccin
Motivacin
La filosofa de la Computacin natural
109
110
111
BIBLIOGRAFIA
[Baldi and Brunak, 2001] Baldi, P. and Brunak, S. (2001). Bioinformatics: the machine learning approach.
The MIT Press.
[De Castro, 2006] De Castro, L. (2006). Fundamentals of natural computing: basic concepts, algorithms, and
applications. CRC Press.
[Dorigo and Stutzle, 2004] Dorigo, M. and Stutzle, T. (2004). Ant colony optimization. the MIT 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.
[Kennedy et al., 2001] Kennedy, J., Eberhart, R., and Yuhui, S. (2001). Swarm intelligence. Morgan Kaufmann Publishers.
[Mitchell, 1998] Mitchell, M. (1998). An introduction to genetic algorithms. The MIT press
112
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
SUMILLA
1. NC/Seguridad de Red.2. NC/Organizacin de la Web.3. NC/Aplicaciones en redes.4. NC/Tecnologa de Datos
Multimedia.5. NC/Computacin Mvil e Inalmbrica
OBJETIVO GENERAL
Que el alumno implemente y/o modifique un protocolo de comunicacin de datos.
Que el alumno dominio las tcnicas de transmisin de datos utilizadas por los protocolos de red existentes
CONTENIDOS:
UNIDAD 1: NC/Seguridad de Red.(3 horas)
OBJETIVO:
Describir las mejoras hechas por el IPSec al IPv4.
Identificar protocolos usados para mejorar la comunicacin en Internet y escoger el protocolo apropiado para un
determinado caso.
Entender y detectar intrusiones.
Discutir las ideas fundamentales de criptografa de clave pblica.
Describir como la criptografa de clave pblica trabaja.
113
114
115
Referencias
[Harvey, 2004] Harvey, D. (2004). Redes de computadoras y Sistemas Operativos. PEARSON EDUCACION.
[Stalling, 2005] Stalling, W. (2005). Comunicaciones y Redes de Computadoras. Prentice Hall, 7ma edition.
8420541109.
[Stevens, 2007] Stevens, R. (2007). Unix Network Programming. Addison-Wesley, 2007.
[Tanenbaum, 2005] Tanenbaum, A. S. (2005). Redes de Computadoras. Prentice-Hall, 7th edition.
116
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
Seguridad en Computacin
CC067
03(tres)
CM094, CC262
Electivo
Semestral
TEORIA (01) PRACTICA(02) LABORATORIO(02)
SUMILLA
1. PF/Fundamentos de seguridad de la Informacin2. PF/Programacin segura.3. OS/Modelos de seguridad. 4.
AL/Algoritmos Cristalogrficos5. NC/Seguridad de Red.6. NC/Administracin de Redes.7. Factores humanos y
seguridad.8. SP/Operaciones de seguridad.9. PL/Maquinas Virtuales.
OBJETIVO GENERAL
Discutir a un nivel intermedio avanzado los los fundamentos de la Seguridad Informtica
Brindar los diferentes aspectos que presenta el cdigo malicioso.
Que el alumno conozca los conceptos de criptografa y seguridad en redes de computadoras.
Discutir y analizar junto con el alumno los aspectos de la Seguridad en Internet.
CONTENIDOS
UNIDAD 1: PF/Fundamentos de seguridad de la Informacin(4 horas)
OBJETIVO
Explicar los objetivos de la seguridad de la informacin.
Analizar los puntos de equilibrio inherentes a la seguridad.
Explicar la importancia y las aplicaciones de la confidencialidad, integridad y disponibilidad.
117
118
119
Referencias
[Bellovin, 1989] Bellovin, S. (1989). Security problems in the tcp/ip protocol suite. ACM Computer Communications Review, 19(2):3248.
[Caballero, 1996] Caballero, P. (1996). Introduccin a la criptografa, volume Textos Universitarios. Ra-Ma.
[Cano, 1998] Cano, J. J. (1998). Pautas y recomendaciones para elaborar polticas de seguridad informatica.
Technical report, Universidad de Los Andes.
[Department of Defense, 1985] Department of Defense (1985). Password Management Guideline (Green Book).
Department of Defense. CSC-STD-002-85.
[FIPS PUB, 1994] FIPS PUB (1994). Guideline for the analysis of local area network security. Technical Report
191, FIPS PUB.
[Fuster et al., 1997] Fuster, A., De la Gua, D., Hernandez, L., Montoya, F., and Munoz, J. (1997). Tecnicas
criptogrficas de Proteccin de Datos. Ra-Ma.
[ICSA Inc., 1998] ICSA Inc. (1998). An introduction to intrusion detection and assessment. Technical report,
ICSA Inc.
120
121
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARACTER
MODALIDAD
HORAS
FUNDAMENTACION
La Gestin de la Informacin (IM-Information Management ) juega un rol principal en casi todas las reas
donde los computadores son usados. Esta rea incluye la captura, digitalizacin, representacin, organizacin,
transformacin y presentacin de informacin; algoritmos para mejorar la eficiencia y efectividad del acceso y
actualizacin de informacin almacenada, modelamiento de datos y abstraccin, y tcnicas de almacenamiento
de archivos fsicos. Este tambin abarca la seguridad de la informacin, privacidad, integridad y proteccin en
un ambiente compartido. Los estudiantes necesitan ser capaces de desarrollar modelos de datos conceptuales y
fsicos, determinar que mtodos de IM y tcnicas son apropiados para un problema dado, y ser capaces de
seleccionar e implementar una apropiada solucin de IM que refleje todas las restricciones aplicables,
incluyendo escalabilidad y usabilidad.
Hacer que el alumno entienda las diferentes aplicaciones que tienen las bases de datos, en las diversas
reas de conocimiento.
Mostrar las formas adecuadas de almacenamiento de informacin basada en sus diversos enfoques y su
posterior recuperacin de informacin.
CONTRIBUCION A LOS RESULTADOS
Esta disciplina contribuye al logro de los siguientes resultados de la carrera:
Habilidad para trabajar efectivamente en equipos para cumplir con un objetivo comn.
Habilidad para usar tcnicas y herramientas actuales necesarias para la prctica de la Computacin.
122
Habilidad para aplicar los principios de desarrollo y diseo en la construccin de sistemas de software de
complejidad variable.
CONTENIDO ANALITICO
1 Base de Datos Relacionales.
Tpicos. I: Mapeo del esquema conceptual al esquema relacional. II: Entidad e integridad referencial. III: lgebra
relacional y clculo relacional.
Objetivos. 1. Preparar un esquema relacional de un modelo conceptual usando el modelo entidad-relacin. 2.
Explicar y demostrar los conceptos de restricciones de la integridad de la entidad o y restricciones de la integridad
referencial (incluyendo la definicin del concepto de llave fornea). 3. Demostrar el uso de las operaciones del
lgebra relacional desde la teora de conjuntos matemticos (unin, interseccin, diferencia y producto cartesiano)
y las operaciones de lgebra relacional desarrolladas especficamente para bases de datos relacionales (select,
product, join y divisin). 4. Demostrar consultas en el lgebra relacional. 5. Demostrar consultas en el clculo
relacional de tuplas.
2 Lenguajes de Consultas de Base de Datos.
Tpicos. I: Sntesis de los lenguajes de bases de datos. II: SQL (definicin de datos, formulacin de consultas,
actualizacin del sublenguaje, restricciones e integridad).
Objetivos. 1. Crear un esquema de base de datos relacional en SQL que incorpora restricciones de integridad
referencial, integridad-entidad, clave. 2. Demostrar la definicin de datos en SQL y recuperar informacin de una
base de datos usando la sentencia SQL SELECT. 3. Evaluar un conjunto de estrategias de procesamiento de
consultas y seleccionar la ptima.. 4. Crear una consulta no procedimental por medio de llenado de plantillas de
relaciones para construir un ejemplo del resultado de la consulta deseada. 5. Incrustar consultas orientadas a
objetos en un lenguaje independiente tales como C++ o Java (ejemplo, SELECT Col. mtodo() FROM Objet).
3 Diseo de Bases de Datos Relacionales.
Tpicos. I: Diseo base de datos. II: Dependencia Funcional. III: Formas normales (1NF, 2NF, 3NF, BCNF). IV:
Dependencia multivaluada(4NF). V: Dependencia de grupos (PJNF; 5NF). VI: Representacin terica.
Objetivos. 1. Determinar la dependencia Funcional entre dos o ms atributos que son un subconjunto a de una
relacin. 2. Describir que significa 1NF, 2NF, 3NF y BCNF. 3. Identificar si una relacin es una 1NF, 2NF, 3NF
o BCNF. 4. Normalizar una 1NF en un conjunto de relaciones en 3NF (o BCNF) y desnormalizar un esquema
relacional. 5. Explicar el impacto de la normalizacin sobre la eficiencia de las operaciones de base de datos,
especialmente la utilizacin de consultas. 6. Describir que es una dependencia multivaluada y qu tipo de
restricciones sta especifica 7. Explicar por qu 4NF es til en el diseo del esquema.
4 Procesamiento de Transacciones.
Tpicos. I: Transacciones.
Objetivos. 1. Crear una transaccin mediante la incrustacin de SQL en un programa de aplicacin. 2. Explicar el
concepto de compromiso implcito. 3. Describir los temas especficos para la ejecucin de transacciones eficientes
4. Explicar cundo y por qu el rollback y como el logging asegura un rollback apropiado. 5. Explicar los efectos
de los diferentes niveles de aislamiento sobre los mecanismos de control de concurrencia.
5 Bases de Datos Distribuidas.
Tpicos. I: Almacenamiento de datos distribuido. II: Procesamiento de consultas distribuidas. III: Modelo de
transaccin distribuido. IV: Control de concurrencia. V: Soluciones heterogneas y homogneas. VI: Clienteservidor.
Objetivos. 1. Explicar las tcnicas usadas para la fragmentacin, replicacin, alocacin de datos durante el
proceso de diseo de bases de datos distribuidas. 2. Evaluar estrategias simples para ejecutar una consulta
distribuida para seleccionar la estrategia que minimice la cantidad de transferencia de datos. 3. Explicar cmo el
protocolo de compromiso en dos fases es usado o para tratar una transaccin que accese a una base de datos
almacenada en mltiples nodos. 4. Describir el control de concurrencia distribuido basado en la distincin de
123
BIBLIOGRAFIA
Bernstein, P. A. and Newcomer, E. (1997). Principles of Transaction Processing, First Edition. Morgan
Kaufmann.
Date, C. (2005). Data Mining: Practical Machine Learning Tools and Techniques, Second Edition. Elsevier.
Dietrich, S. W. (2001). Understanding Relational Database Query Languages, First Edition. Prentice Hall.
Elmasri, R. and Navathe, S. B. (2004). Fundamentals of Database Systems, Fourth Edition. Addison
Wesley.
Harrington, J. L. (2002). Relational Database Design Clearly Explained, Second Edition. Morgan
Kaufmann.
Ozsu, M. T. and Valduriez, P. (1999). Principles of Distributed Database Systems, Second Edition. Prentice
Hall.
Whitehorn, M. and Marklyn, B. (2001). Inside Relational Databases, Second Edition. Springer.
124
SLABO
DESCRIPCION DEL CURSO
CURSO
CODIGO
CREDITOS
PRE-REQUISITO
CARCTER
MODALIDAD
HORAS
Elaborar un plan de negocio para dar inicio a una empresa de base tecnolgica.
Hacer un estudio que le permita detectar un nicho de mercado que haga viable la creacin de la empresa.
SUMILLA
El curso esta dividido en: diagnstico de mercado, plan tecnolgico, marco legal aplicado a las TICs y
anlisis estratgico. Se busca aprovechar el potencial creativo e innovador en la creacin de nuevas empresas.
CONTENIDO ANALITICO
BIBLIOGRAFIA
Congreso de la Repblica del Per (1996). Decreto Legislativo No823. Ley de la Propiedad Industrial. El
Peruano.
De la Repblica del Per, C. (1997). Ley No26887. Ley General de Sociedades. El Peruano.
Ludevid, M. (1994). Como crear su propia empresa: Factores Claves de Gestin. Marcombo Boxixareu.
125