Professional Documents
Culture Documents
Facultad de Ciencias
UNAM
27 de julio de 2008
1 sebastian@ciencias.unam.mx
Índice general
1. Introducción 4
1
ÍNDICE GENERAL 2
4.3. Stanford . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4. University of California Berkeley . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5. University of Illinois–Urbana-Champaign . . . . . . . . . . . . . . . . . . . . 41
4.5.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.6. Edinburgh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.6.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.6.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.7. Oxford . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.7.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.7.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.8. ETH Zurich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.8.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.8.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.9. Technion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.9.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.9.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.10. National University of Singapore . . . . . . . . . . . . . . . . . . . . . . . . 74
4.10.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.10.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.1.15. C y UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1.16. Compiladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.1.17. Teorı́a de la Información . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.1.18. Computación Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.1.19. Seguridad de la Información . . . . . . . . . . . . . . . . . . . . . . . 89
5.1.20. Comunicación Técnica . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2. Matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.1. Cálculo de una variable . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.2. Cálculo de varias variables . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.3. Ecuaciones Diferenciales . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2.4. Análisis Numérico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.2.5. Álgebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.2.6. Álgebra Moderna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.7. Álgebra Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.8. Probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.2.9. Estadı́stica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.2.10. Geometrı́a Analı́tica . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6. Resultados de la Comparación 96
6.1. Temas impartidos en la Facultad de ciencias . . . . . . . . . . . . . . . . . . 96
6.2. Temas no impartidos en la Facultad de Ciencias . . . . . . . . . . . . . . . . 100
Capı́tulo 1
Introducción
Ciencias de la computación es una carrera cientı́fica, pero también tecnológica. Es por ello
que es importante mantenerse actualizado con respecto a los avances dentro de la materia
ası́ como de los requerimientos actuales para un estudiante de la materia.
El plan actual de la carrera en la Facultad de Ciencias, UNAM es del año 1994 por
lo que hay muchas cosas que han cambiado desde entonces.
El objetivo de este análisis, es el identificar 10 de las mejores universidades a nivel mundial
en Ciencias de la Computación, hacer un desglose de su plan de estudios y realizar una
comparativa con el plan de estudios actual de la Facultad de Ciencias, UNAM. Y de este
modo poder hacer una propuesta de cambio al plan de estudios actual.
4
Capı́tulo 2
En la tabla 2.1 vemos los primeros 20 lugares de los dos rankings mencionados. Hay varias
diferencias entre ellos por lo que será necesario recurrir a rankings por área del conocimiento.
Primero, la lista de Academic Ranking of World Universities 2007, junto a The Times Higher
Education 2008.
1
Puede consultarse en: http://ed.sjtu.edu.cn/ranking.htm
2
Puede consultarse en: http://www.topuniversities.com/worlduniversityrankings/
5
2.1. Rankings mundiales 6
No. Universidad
1 MIT
2 Berkley
3 Stanford
4 California Institute of Technology
5 Cambridge
6 Imperial College of London
7 Carnegie Mellon University
8 Georgia Institute of Technology
9 Tokyo
10 National University of Singapore
11 Toronto
12 Oxford
13 ETH Zurich
14 Princeton
15 Harvard
16 Tsinghua
17 Delft University of Technology
18 California - Los Angeles
19 Illinois
20 Cornell
La publicación The Times Higher Education hace también un ranking de las mejores 50
universidades por área, en este caso el área de tecnologı́a que podemos ver en la tabla 2.2.
Con estos datos sigue sin ser claro que universidades elegir ya que el debemos enfocarnos
en las mejores universidades para el área de Ciencias de la Computación.
Dado que las mejores universidades tanto en aspectos generales como en el área de tec-
nologı́a son de Estados Unidos y de Inglaterra, es prudente buscar cuales son las mejores en
estos paı́ses en Ciencias de la Computación.
Para tener una mayor variedad en nuestro análisis tomaremos 5 universidades de Estados
Unidos y 5 de otras partes del mundo teniendo ası́ una perspectiva global.
2.2. Rankings Nacionales 8
Lugar Universidad
1 Carnegie Mellon University
2 Massachusetts Institute of Technology
3 Stanford University
4 University of California-Berkeley
5 University of Illinois–Urbana-Champaign
2.2.2. Inglaterra
Otro de los paı́ses con más universidades en las mejores del mundo y en el área de
tecnologı́a es Inglaterra, el periódico inglés The Guardian4 hace un ranking de universidades
nacional dividido por áreas de especialidad. En la tabla 2.4 podemos ver la lista para Ciencias
de la Computación del 2008.
Al ver esta tabla podemos decir que Oxford estará en nuestra lista, ası́ como Edinburg.
La razón por la cual no incluimos más universidades británicas es para tener una mayor
diversidad dentro de nuestra investigación.
3
Puede consultarse en:
http://colleges.usnews.rankingsandreviews.com/usnews/edu/college/rankings/brief/t1natudoc brief.php
4
http://www.guardian.co.uk/
2.3. Análisis individuales 9
Lugar Universidad
1 Edinburgh
2 Oxford
3 York
4 Bangor
2.3.3. Technion
El Technion conocido también como Instituto Tecnológico de Israel tiene un fuerte pro-
grama en Ciencias de la Computación. Un comité internacional revisó el departamento de
Ciencias de la Computación en enero de 2000 y mandó un reporte al presidente del Technion
donde dice: “El Technion está llevando a cabo investigación de nivel mundial en Ciencias
de la Computación... . Tomando en cuenta los logros en investigación y sus programas de
posgrado, pondrı́amos al departamento entre los 10 mejores departamentos de Ciencias de la
Computación en Estados Unidos”10
10
http://www.cs.technion.ac.il/about/#TOP TEN
Capı́tulo 3
3.1. Resumen
El licenciado en Ciencias de la Computación es un profesional que por sus conocimientos
profundos en matemáticas y computación realiza investigación y docencia en esta última y
colabora aplicando adecuadamente las matemáticas y las técnicas y equipos computacionales
para resolver problemas de investigación o aplicaciones de otras disciplinas.
El plan de estudios se cursa en ocho semestres. Se compone de 26 materias de carácter
obligatorio y 10 a elegir como optativas. En las materias obligatorias podemos identificar a
10 de ellas aportando los conocimientos formativos básicos del área de matemáticas, y que
corresponde al tronco común con las licenciaturas de Matemáticas y Actuarı́a (y en gran
medida con la carrera de Fı́sica). Otras 13 materias obligatorias proporcionan al estudiante
una formación sólida y suficientemente amplia en ciencias de la computación, y 3 más propor-
cionan herramientas desde el área de matemáticas. Con estas materias obligatorias podemos
garantizar que nuestros egresados van a tener una visión amplia y sólida de las ciencias de la
computación, ası́ como la formación básica y el herramentaje matemático necesario para que
se desenvuelvan como verdaderos cientı́ficos, particularmente en el área de las matemáticas.
11
3.2. Plan de estudios 12
En este primer curso de Cálculo se pretende que el alumno conozca los elementos
matemáticos básicos que sustentan el concepto de derivabilidad de una función entre
números reales. Este objetivo hace necesaria una revisión detallada de conceptos ma-
temáticos tales como el de función e incluso el número real. En particular, se busca que
el alumno rebase el conocimiento intuitivo que tiene de estos conceptos.
Geometrı́a Analı́tica I
Proporcionar a los alumnos los conocimientos fundamentales que le permitan relacio-
nar de tal manera el Algebra y la Geometrı́a, que sean capaces de representar, resol-
ver e interpretar analı́ticamente problemas geométricos, y geométricamente problemas
algebraicos. Ası́ como interpretar geométricamente propiedades, valores, relaciones y
métodos analı́ticos y expresar analı́ticamente propiedades geométricas. Se presentarán
también diferentes alternativas de representación de lugares geométricos (ecuaciones
cartesianas, vectoriales, paramétricas, polares) identificando sus ventajas, desventajas
y algunas de sus aplicaciones.
Matemáticas Discretas
Este curso da a los estudiantes una introducción al área de las matemáticas finitas,
poniendo especial énfasis en teorı́a de algoritmos, gráficas, álgebra de Boole, inducción
y recursión.
3.2.2. 2 Semestre
Álgebra Superior II
Este curso continúa la presentación de los conceptos básicos de la Matemática en general
y del Algebra en particular. Al igual que los temas incluidos en Algebra Superior I
constituyen el fundamento de todos los cursos de esta carrera. Este curso ofrece la
segunda mitad del material básico.
Geometrı́a Analı́tica II
Proporcionar los conocimientos fundamentales que le permitan aplicar diferentes tipos
de transformaciones a las curvas presentadas en Geometrı́a Analı́tica I, ası́ como re-
conocer, analizando una ecuación de segundo grado con dos o tres variables, el lugar
3.2. Plan de estudios 13
3.2.3. 3 Semestre
Álgebra Lineal I
El Algebra lineal es una de las más antiguas y a la vez una de las más modernas áreas
de la Matemática. Tanto por sus conceptos como por su aplicación en diversas áreas del
conocimiento se ha convertido en una materia básica en muchas carreras. Este curso
ofrece la mitad del conocimiento del Algebra Lineal.
Probabilidad y Estadı́stica
En toda profesión se hacen investigaciones que implican observaciones en las que se
emplean tácticas que se sistematizan de alguna manera, pero que tienen un fin deter-
minado. Estos métodos incluyen a la Estadı́stica que se integra al método cientı́fico a
3.2. Plan de estudios 14
3.2.4. 4 Semestre
Álgebra Lineal II
Al igual que el primer curso de Algebra Lineal I, se presentan conceptos teóricos y
aplicaciones básicas para muchas áreas de la Matemática moderna. Este curso ofrece
la segunda mitad del conocimiento elemental del Algebra Lineal y en él se encuentran
los temas más profundos del área.
Cálculo Diferencia e Integral IV
Exponer las diferentes formas en que el concepto de integral se extiende a funciones de
varias variables. Del mismo modo, se pretende que el alumno conozca la interpretación
fı́sica de los conceptos de integral de lı́nea y superficie y los importantes teoremas
relacionados con estos conceptos.
Análisis Lógico
Introducir al estudiante en el análisis del lenguaje matemático a través de los lenguajes
de primer orden. De éstos, se enfatizan por igual tres aspectos: su estructura formal, su
semántica (a través de las estructuras matemáticas) y la teorı́a de la inferencia lógica.
Diseño de Sistemas Digitales
Introducir sistemas digitales, sus modelos matemáticos y su realización en hardware.
Los temas incluyen elementos lógicos, técnicas de minimización, organización de sis-
temas de memoria y arquitectura, interfaces y comunicación de datos y arquitecturas
alternativas incluyendo multiprocesadores y máquinas hipercubo.
3.2.5. 5 Semestre
Teorı́a de la Computación
El curso introduce la teorı́a de computabilidad, incluyendo resultados importantes del
estudio de autómatas y lenguajes formales. El curso empieza con una discusión de
autómatas y su relación con lenguajes regulares, libres de contexto y dependientes del
contexto. Se representan teorı́as generales de computabilidad incluyendo las Máquinas
de Turing, funciones recursivas y cálculo lambda. Se discuten nociones de dicibilidad e
indicibilidad y se relaciona esto con análisis de complejidad. Finalmente se presentan
y analizan enfoques a semántica de programas, llevando esto a una breve introducción
al tema de verificación formal de programas.
3.2. Plan de estudios 15
Arquitectura de Computadoras
Tratar alternativas de diseño en arquitectura de computadoras. Revisa y cubre la or-
ganización de la máquina en el ámbito de lenguaje ensamblador, la organización del
subsistema de memoria, concepto de interfaces y aspectos que surgen al manejar las
comunicaciones en el procesador. Se estudian también algunas arquitecturas alternati-
vas.
Análisis de Algoritmos I
Este curso da un tratamiento profundo de análisis de complejidad. Ayudan a motivar y
desarrollar el tema varios algoritmos de búsqueda y ordenamientos, ası́ como métodos
de espacios de búsqueda del área de Inteligencia Artificial y estructuras de archivos
utilizados en sistemas de bases de datos. Se discuten clases de complejidad, ası́ como la
naturaleza de la NP-completez e intratabilidad. Esto lleva a una discusión de compu-
tabilidad y de la máquina universal de Turing. Se discuten algunos problemas asociados
con algoritmos paralelos.
Optativa
Optativa
3.2.6. 6 Semestre
Lenguajes de Programación y sus Paradigmas
Introducir al estudiante a la naturaleza de los lenguajes de programación contem-
poráneos, empezando por una revisión profunda de lenguaje ensamblador y finalizando
con un tratamiento profundo de un lenguaje verdadero orientado a objetos (tal co-
mo Smalltalk o Eiffel). Se discute la evolución de lenguajes imperativos (FORTRAN,
Algol, PL/I, Pascal) y lenguajes funcionales (Lisp, Scheme, ML). Adicionalmente se
introducen conceptos fundamentales de diseño e implementación de los lenguajes de
alto nivel, incluyendo los conceptos de ligado, chequeo de tipos y administración de
memoria durante ejecución.
Inteligencia Artificial
Dar un panorama selectivo de conceptos clave y aplicaciones de la inteligencia artificial,
junto con una experiencia extensa con algún lenguaje que se utilice comúnmente para
construir sistemas de IA (Lisp, Prolog). Los subsistemas incluyen representación del co-
nocimiento, búsqueda en el espacio de estados, búsqueda heurı́stica, sistemas expertos,
proceso del lenguaje natural, lógica proposicional, modelos de aprendizaje y visión.
Sistemas Operativos
3.2. Plan de estudios 16
Optativa
3.2.7. 7 Semestre
Análisis Numérico
Introducir algoritmos eficientes y estables para la resolución de problemas matemáticos
planteados por las necesidades del desarrollo de las ciencias y la tecnologı́a, haciendo
énfasis en sus alcances y limitaciones. Se introduce también el manejo de software de
calidad para cada uno de los temas tratados.
Redes de Computadoras
Este tema le da al estudiante fundamentos para el estudio de redes de computadoras. Se
cubren los métodos y prácticas de actualidad que se utilizan en redes de computadoras
para permitir la comunicación. Se cubren también los elementos fı́sicos y arquitectóni-
cos, ası́ como las capas de información para una red de comunicación, junto con las
herramientas de diagnóstico, diseño, operación y medidas de eficiencia que se utilizan
para implementar, operar y afinar una red de este tipo. Se contrastan distintas arqui-
tecturas para redes y se comparan con modelos de computadoras centrales con tiempo
compartido tradicional. Subtemas importantes incluyen protocolos de comunicación y
3.2. Plan de estudios 17
Ingenierı́a de Software
Este curso presenta un estudio profundo de muchos de los temas de ingenierı́a de soft-
ware, especificación de requisitos, diseño funcional y orientado a objetos, verificación
y mantenimiento de software. Se discuten ambientes y herramientas de software y se
introduce a los estudiantes a su uso. Se consideran también implicaciones sociales ta-
les como el costo de las fallas y las responsabilidades profesionales. El curso también
comprende una introducción a la interacción computadora-humano y una discusión de
algunas interfaces de software vistas desde el punto de vista de ingenierı́a de software.
Este curso requiere de la participación de los estudiantes en proyectos por equipos.
Optativa
Optativa
Capı́tulo 4
18
4.1. Carnegie Mellon 19
Conceptos de Matemáticas
Este curso presenta los conceptos, ideas y herramientas básicos para hacer matemáticas.
Ası́ mantiene la atención en presentar la lógica informal y métodos para las demostracio-
nes matemáticas. Los temas incluyen una introducción a teorı́a de números, inducción,
teorı́a de conjuntos, relaciones de equivalencia, congruencias, particiones y funciones,
incluyendo inyectivas, suprayectivas y biyectivas.
Interpretación y argumentación
Este curso le da a los estudiantes una base en el proceso de la comunicación. La clase se
enfoca en la interpretación de argumentos, el proceso de comunicación, y el desarrollo
social y personal.
Este curso trata de información especı́fica de Carnegie Mellon que ayude a los estudian-
tes a entender cuales son los recursos que tienen disponibles y que responsabilidades
tienen como usuario de la la comunidad de computación.
Curso de Ciencia/Ingenierı́a
Curso optativo de las áreas de Ciencia o Ingenierı́a.
2 Semestre
Fundamentos en Estructuras de Datos y Algoritmos
Conceptos fundamentales de programación son presentados junto con fundamentos
teóricos y aplicaciones prácticas. Este curso se enfoca en la aplicación práctica de técni-
cas para escribir y analizar programas: abstracción de datos, verificación de programas y
análisis de desempeño. Estas técnicas son aplicadas en el diseño y análisis de algoritmos
y estructuras de datos fundamentales.
Curso de Ciencia/Ingenierı́a
Curso optativo de las áreas de Ciencia o Ingenierı́a.
3 Semestre
Programación Eficaz en C y UNIX
Este curso está diseñado para brindar un contacto importante con el lenguaje de pro-
gramación C y el ambiente de programación UNIX para los estudiantes con experiencia
4.1. Carnegie Mellon 21
Principios de Programación
Este curso presenta principios y técnicas de programación, enfocándose en métodos so-
fisticados para especificar, construir y razonar programas de computadora. A través de
caracterı́sticas de un lenguaje de programación funcional de alto nivel (actualmente ML),
este curso muestra mecanismos para construir tipos de datos definidos por el usuario,
incluyendo tipos recursivos y con polimorfismo, ası́ como estructuras de datos infinitas
como flujos; para construir funciones de primera clase y continuations; y para construir
programas grandes usando composición por módulo avanzada. También introduce el
uso de métodos formales para especificar y verificar programas.
Álgebra Matricial
Vectores y matrices, solución de sistemas lineales de ecuaciones, espacios vectoriales y
subespacios, ortogonalidad, determinantes, eigenvalores y eigenvectores reales y com-
plejos, transformaciones lineales.
Curso de Ciencia/Ingenierı́a
Curso optativo de las áreas de Ciencia o Ingenierı́a.
4 Semestre
Introducción a los Sistemas Computacionales
Este curso da una visión sobre como las computadoras ejecutan programas desde el
punto de vista de un programador, almacenan información, y se comunican. Permite
al estudiante convertirse en un mejor programador, especialmente al enfrentarse a pro-
blemas de desempeño, portabilidad y robustez. También sirve como la base para los
cursos de Compiladores, Redes, Sistemas Operativos y Arquitectura de Computadoras,
donde se requiere una comprensión más a fondo de temas de nivel de sistema. Los
temas cubiertos son: código a nivel de máquina y su generación por compiladores de
4.1. Carnegie Mellon 22
Curso de Ciencia/Ingenierı́a
Curso optativo de las áreas de Ciencia o Ingenierı́a.
5 Semestre
Diseño y Análisis de Algoritmos
En este curso se estudian algoritmos especı́ficos para una variedad de problemas, ası́ co-
mo técnicas generales para diseño y análisis. Temas especı́ficos incluyen búsquedas,
ordenamiento, algoritmos para problemas de gráficas, estructuras de datos eficientes,
cotas inferiores y NP-completez. Varios otros temas pueden verse a discreción del maes-
tro. Estos incluyen algoritmos paralelos, algoritmos aleatorios, algoritmos geométricos,
técnicas de bajo nivel para programación eficiente, criptografı́a y protocolos criptográfi-
cos.
Curso de Probabilidad
Curso de Probabilidad.
Curso de Ciencia/Ingenierı́a
Curso optativo de las áreas de Ciencia o Ingenierı́a.
4.1. Carnegie Mellon 23
Aplicaciones
Fundamentos de Algoritmos
Fundamentos de Programación
Programación de Sistemas
Matemáticas y Probabilidad
Probabilidad
• Probabilidad y Computación
• Probabilidad
• Teorı́a de Probabilidad y Procesos Aleatorios
• Introducción a la Probabilidad y Estadı́stica I
• Probabilidad y Estadı́stica Matemática I
Fı́sica Experimental
4.2. MIT
4.2.1. Resumen
Ciencias de la Computación en el MIT es un poco diferente de los programas ofrecidos
por la mayorı́a de las universidades. Muchos estudiantes potenciales no entienden a fondo
como es la carrera aquı́. No es sobre “programación de aplicaciones,” o “procesamiento de
datos,” o “diseño web”. “Analista de sistemas” no es el tipo de trabajo al que los estudiantes
del MIT aspiran después de graduarse (para el segundo año es fácil conseguir un trabajo
en el campus). En el MIT uno empieza aprendiendo a lidiar con complejidad, abstracción
y modelado, después se estudia Arquitectura de Computadoras (como diseñar sistemas de
computo), Inteligencia Artificial, modelado, y teorı́a. Hay una buena parte de matemáti-
cas avanzadas. Las Ciencias de la Computación estudia como hacer las computadoras más
rápidas, eficientes, y más inteligentes. El Licenciado en Ciencias de la Computación tiene la
habilidad de desempeñarse en una amplia gama de trabajos. La amplitud de sus estudios le
permite aprender rápidamente la variedad de lenguajes y máquinas usadas en la industria.
La profundidad de estudio da un mejor entendimiento del problema y de como resolverlo. El
plan de estudios es igual de intensivo que el de Ingenierı́a Electrónica. No puedes hacer un
salto a la licenciatura estudiando programación en preparatoria. El curso introductorio de
Ciencias de la Computación se enseña en Python, y el laboratorio de Ingenierı́a de Software
utiliza Java, C++ también puede ser útil para las oportunidades de investigación.
La investigación en Ciencias de la Computación en el MIT cubre muchas áreas, algunas
son:
Probabilidad Aplicada
4.2. MIT 26
Gráficas de computadora
1 Semestre
Cálculo I
Diferenciación e integración de funciones de una variable, con aplicaciones. Estudio
informal de lı́mites y continuidad. Diferenciación: definición, reglas, aplicación a la gra-
ficación, tazas de cambio, aproximaciones y problemas de máximos y mı́nimos. Integra-
ción indefinida; ecuaciones diferenciales de primer orden. Integración definida; teorema
fundamental del cálculo. Aplicaciones de la integración a la Geometrı́a y la Ciencia.
Funciones elementales, técnicas de integración, coordenadas polares, regla de L’Hopital,
integrales impropias, series infinitas: geométricas, armónicas, series de potencias de al-
gunas funciones elementales.
Fı́sica I
Introducción a la mecánica clásica. Espacio y tiempo: cinemática de lı́nea recta; mo-
vimiento en el plano; fuerzas y equilibrio estático; dinámica de partı́culas, con fuerza
y conservación del momento; inercia; trabajo, energı́a potencial y conservación de la
4.2. MIT 27
energı́a; teorı́a cinética y gases ideales; cuerpos rı́gidos y dinámica rotacional; movimien-
tos vibratorios; conservación del momento angular; mecánica de fluidos. La materia se
imparte utilizando TEAL1 .
2 Semestre
Cálculo II
Cálculo de varias variables. Álgebra vectorial en tres dimensiones, determinantes, matri-
ces. Funciones escalares con varias variables: diferenciación parcial, gradientes, técnicas
de optimización. Integrales dobles e integrales de lı́nea en el plano; diferenciales exactas;
teorema de Green y aplicaciones, integrales triples, integrales de lı́nea y de superficie
en el espacio, teorema de Divergencia, teorema de Stokes; aplicaciones.
Fı́sica II
Introducción al electromagnetismo y a la electroestática: carga eléctrica, ley de Coulomb,
estructura eléctrica de la materia, conductores y dieléctricos. Conceptos de campos elec-
troestáticos y potencial, energı́a electroestática. Corriente eléctrica, campos magnéticos
y Ley de Ampere. Materiales magnéticos. Campos variables con el tiempo y Ley de In-
ducción de Faraday. Circuitos eléctricos básicos. Ondas electromagnéticas y ecuaciones
de Maxwell. La materı́a se imparte utilizando TEAL 1.
3 Semestre
Ecuaciones Diferenciales
Estudio de ecuaciones diferenciales ordinarias, incluyendo el modelado de sistemas
fı́sicos. Solución de ecuaciones diferenciales ordinarias de primero orden por métodos
analı́ticos, gráficos y numéricos. Ecuaciones diferenciales ordinarias lineales, principal-
mente de segundo orden con coeficientes constantes. Números complejos y exponencia-
les, ecuaciones no homogéneas con entradas: polinomiales, senoidales y exponenciales.
1
Technology-Enabled Active Learning - Formato en el que pequeños grupos interactúan con experimentos
sobre la mesa utilizando computadoras portátiles para la recolección de datos y resolución de problemas.
4.2. MIT 28
Álgebra Lineal
Materia elemental sobre teorı́a de matrices y Álgebra Lineal, se enfoca en temas útiles
para otras disciplinas, incluyendo sistemas de ecuaciones, espacios vectoriales, deter-
minantes, eigenvalores, descomposición en valores singulares. Aplicaciones a las apro-
ximaciones de mı́nimos cuadrados, estabilidad de las ecuaciones diferenciales, redes,
transformadas de Fourier, y procesos de Markov. Se utiliza MATLAB.
4 Semestre
Introducción a Ciencias de la Computación II
Introducción a Ciencias e Ingenierı́a en Computación, se imparte utilizando una canti-
dad considerable de experimentos de laboratorio que exploran las señales de comunica-
ción, sistemas y redes. Caracterización fı́sica y modelación de sistemas de transmisión
en tiempo y frecuencia; señales digitales y análogas; codificación, detectar y corregir
errores; relacionar la taza de transmisión de información con el poder de la señan,
ancho de banda y ruido; ingenierı́a de las redes con cambio de paquetes. Estos expe-
rimentos se usan para mostrar la abstracción y modularidad en el diseño; construir
sistemas confiables usando componentes imperfectos; seleccionar la métrica apropiada;
elegir representaciones eficaces de la información; analizar el desempeño y correctud de
algoritmos; compromisos de desempeño en sistemas complejos.
diseño clave; el rol de las interfaces y especificaciones para alcanzar modularidad y di-
sociación; razonar sobre el código usando invariantes, precondiciones y postcondiciones;
pruebas, generación de casos de pruebas y alcance; fundamentos de programación con
objetos, funciones y tipos abstractos. El trabajo del estudiante incluye ejercicios en
modelado, diseño, implementación y razonamiento.
5 Semestre
Arquitectura de Computadoras
Introducción a la arquitectura de los sistemas digitales, enfocándose en principios es-
tructurales comunes para un amplio rango de tecnologı́as. Estrategias de implemen-
tación multinivel; definición de nuevas primitivas (compuertas, instrucciones, procedi-
mientos y procesadores) y su mecanización utilizando elementos de bajo nivel. Análisis
de concurrencia potencial; limitaciones de precedencia y medidas de desempeño, siste-
mas multimdimensionales y con pipeline. Problemas de diseño en conjuntos de instruc-
ciones; soporte en la arquitectura para estructuras de software actuales.
Inteligencia Artificial
Da una introducción a las representaciones, técnicas y arquitecturas utilizadas para
construir sistemas aplicados y para contar con inteligencia desde un puto de vista
computacional. Aplicaciones del encadenamiento de reglas, búsqueda heurı́stica, pro-
pagación de restricciones, búsqueda con restricciones, herencia y otros paradigmas para
resolver problemas. Aplicaciones de árboles de identificación, redes neuronales, algorit-
mos genéticos y otros paradigmas de aprendizaje. Especular sobre las contribuciones
de la visión humana y sistemas de lenguajes a la inteligencia humana.
4.2. MIT 30
6 Semestre
Ingenierı́a de Sistemas de Computo
Temas en la ingenierı́a de software de computadoras y sistemas de hardware: técnicas
para controlar complejidad; fuerte modularización usando el diseño cliente-servidor,
sistemas operativos; desempeño, redes; nombres; seguridad y privacidad; sistemas to-
lerantes a fallas, coordinación de actividades concurrentes, y recuperación; impacto de
los sistemas de computo en la sociedad. Casos de estudio de sistemas reales y lecturas
actuales proveen comparación y contraste. Dos proyectos de diseño. Loes estudiantes
participan en amplios ejercicios para la comunicación escrita.
7 Semestre
Preparación para Proyecto Avanzado de Licenciatura2
Los estudiantes aprenderán distintos aspectos para dar buenas presentaciones habla-
das al presentarles diferentes habilidades de comunicación. Como preparación para el
Proyecto Avanzado de Licenciatura los estudiantes investigan sobre diversos temas,
identifican un supervisor para su investigación y preparan una propuesta de investiga-
ción para una presentación tanto oral como escrita.
8 Semestre
Proyecto Avanzado de Licenciatura
Proyecto de investigación para aquellos que estén por completar la Licenciatura, se
coordina entre los estudiantes y miembros de la Facultad.
2
UAP - Undergraduate Advanced Proyect
4.3. Stanford 31
4.3. Stanford
4.3.1. Resumen
El plan de estudios en Stanford no tiene una estructura completamente definida pero si
una serie de cursos por completar, cada curso dura un cuatrimestre y en general la carrera
puede completarse en cuatro años.
Al entrar a Stanford se hacen exámenes de Computación y de Matemáticas y dependien-
do de los resultados se puede no tomar algunas materias introductorias. También existen
cursos que pueden tomarse en dos cuatrimestres o una versión acelerada del curso en un solo
cuatrimestre.
Aquı́ cubriremos todos los cursos introductorios y las materias aceleradas y nos basaremos
en uno de los planes recomendados por Stanford.
Optativa de Ciencias
2 Cuatrimestre
Cálculo 2
Continuación de cálculo uno, se cubre: métodos de integración simbólica y numéri-
ca, aplicaciones de la integral definida, introducción a ecuaciones diferenciales, series
infinitas.
Mecánica
3 Cuatrimestre
Optativa de Matemáticas
Electricidad y Magnetı́smo
4.3. Stanford 32
4 Cuatrimestre
Metodologı́a de Programación
Introducción a la programación de aplicaciones de computadora enfatizando principios
modernos de ingenierı́a de software: diseño orientado a objetos, descomposición, en-
capsulamiento, abstracción y pruebas. Se usa Java como lenguaje de programación. Se
alienta al estudiante a un buen estilo de programación y las funcionalidades de Java.
Optativa de Ingles
5 Cuatrimestre
Abstracciones de Programación
Abstracción y su relación con la programación. Principios de ingenierı́a de software, abs-
tracción de datos y modularización. Programación orientada a objetos, estructuras de
datos fundamentales (pilas, colas, grupos) y diseño orientado a los datos. Recursividad
y estructuras de datos recursivas (listas ligadas, árboles). Introducción a el análisis de
complejidad de espacio y tiempo. Se usa C++ como lenguaje de programación cubriendo
sus aspectos básicos.
Optativa de Matemáticas
6 Cuatrimestre
Paradigmas de Programación
Manejo avanzado de memoria en C y C++; diferencias entre el los paradigmas imperativos
y de orientación a objetos. El paradigma funcional (usando LISP) y programación
concurrente (usando C y C++). Introducción a otros lenguajes de programación modernos
como Python, Objective C y C#.
Introducción a la Electrónica
El curso es una introducción a la electrónica impartido por el departamento de Inge-
nierı́a Eléctrica.
7 Cuatrimestre
Matemáticas Discretas para Ciencias de la Computación
Fundamentos matemáticos requeridos para Ciencias de la Computación. Lógica propo-
sicional y de predicados, técnicas de demostración, inducción, recursión, combinatoria
y funciones.
4.3. Stanford 33
8 Cuatrimestre
Estructuras Discretas
Continuación de Matemáticas Discretas para Ciencias de la Computación, análisis de
algoritmos, relaciones de recurrencia, formulaciones matemáticas de modelos de datos
básicos (conjuntos, relaciones, modelos lineales, árboles y gráficas), expresiones regula-
res, gramáticas y autómatas finitos.
Compiladores
Principios y prácticas para el diseño e implementación de compiladores e intérpretes.
Análisis léxico, teorı́a de parsing, tablas de sı́mbolos, sistemas de tipos, alcances, análisis
semántico, representaciones intermedias, entornos en tiempo de ejecución, generación
de código y análisis y optimización básicos de programas. Los estudiantes construyen
un compilador para un lenguaje sencillo orientado a objetos durante el curso.
Optativa de Ciencias de la Computación
9 Cuatrimestre
Introducción a Autómatas y Teorı́a de Complejidad
Campos regulares: autómatas finitos, expresiones regulares, equivalencias entre notacio-
nes, métodos para probar que un lenguaje no es regular. Lenguajes libres de contexto,
gramáticas, autómatas de pila, forma normal de gramáticas, probar que un lenguaje no
es libre de contexto. Máquinas de Turing: formas equivalentes, indecibilidad. Máquinas
de Turing no deterministas: propiedades, la clase NP, problemas completos para NP,
teorema de Cook, reducción entre problemas.
Teorı́a de la Probabilidad
Espacios probabilı́sticos para fenómenos con regularidad estadı́stica. Espacios discre-
tos (binomial, hipergeométrica, Poisson). Espacios continuos (normal, exponencial) y
densidades. Variables aleatorias, especulación, independencia, probabilidad condicional.
Introducción a las reglas de los grandes números y el teorema del valor central.
Optativa de Ciencias de la Computación
4.3. Stanford 34
10 Cuatrimestre
Sistemas Operativos y Programación de Sistemas
Diseño e implementación de sistemas operativos. Estructura básica, mecanismos de
sincronización y comunicación, implementación de procesos, manejo de procesos, plani-
ficación y protección; organización y manejo de memoria, incluyendo memoria virtual;
Manejo de dispositivos de entrada y salida, almacenamiento secundario, y sistemas de
archivos.
Diseño y Análisis de Algoritmos
Algoritmos eficientes para ordenar, buscar y seleccionar. Análisis de algoritmos: análisis
del peor y mejor caso. Estructuras de datos: árboles balanceados, montı́culos, tablas
de hash. Técnicas de diseño de algoritmos: divide y vencerás, programación dinámica,
algoritmos glotones, análisis amortizado. Algoritmos para problemas fundamentales en
gráficas como búsqueda primero en profundidad, componentes conectados , ordena-
miento topológico y caminos más cortos. Posibles temas adicionales: flujos en una red,
búsqueda de cadenas, computación paralela.
Sistemas Digitales II
Como estudiante de Ciencias de la Computación no es necesario llevar Sistemas Digi-
tales I, ni tampoco llevar el laboratorio de esta materia.
Sistemas Digitales II le presenta al estudiante la arquitectura y diseño de sistemas di-
gitales basados en procesadores. Los temas principales son: conjuntos de instrucciones,
modos de direccionamiento, tipos de datos, programación en lenguaje ensamblador,
estructuras de datos de bajo nivel, introducción a los sistemas operativos, compilado-
res, microarquitectura de procesadores, entubamiento, sistemas de memoria y caches,
entrada/salida, interrupciones.
11 Cuatrimestre
Introducción a la Inteligencia Artificial
Conceptos, representaciones y técnicas usadas en construir sistemas computacionales
prácticos (agentes) que parecen mostrar inteligencia artificial mediante el uso de algorit-
mos de procesamiento de información adaptables. Se cubre: historia de la Inteligencia
Artificial, búsqueda heurı́stica, planeación, satisfacción de restricciones , representa-
ción del conocimiento y razonamiento incierto , aprendizaje de máquinas, clasificación,
aplicaciones al lenguaje y la visión.
Introducción a la Robótica
Fundamentos de cinemática en la robótica, dinámica, control, planeación del movimien-
to, generación de trayectorias, programación y diseño.
4.3. Stanford 35
12 Cuatrimestre
Proyecto de Software
Diseño, especificación, programación y pruebas de un proyecto de programación por
equipo supervisado por miembros de la facultad. La documentación incluye una pro-
puesta detallada. Demostración pública del proyecto al finalizar el cuatrimestre.
Optativa de Ciencia
Optativa de Humanidades
4.4. University of California Berkeley 37
2 Semestre
Cálculo II
Continuación de Cálculo I. Técnicas de integración y aplicaciones de la integración, se-
cuencias y series infinitas, ecuaciones diferenciales ordinarias de primer orden, ecuacio-
nes diferenciales ordinarias de segundo orden, oscilación y amortiguamiento, resolución
de ecuaciones diferenciales ordinarias por series.
Mecánica
Mecánica y movimiento de ondas.
Estructuras de Datos
Asume conocimiento del lenguaje LISP. Este curso le presenta al estudiante el lenguaje
Java (con algo de C también) y presenta los fundamentos de ingenierı́a de software y
estructuras de datos y algoritmos (algoritmos de ordenamiento, estructuras de datos
lineales, árboles y tablas de hash).
Optativa de Humanidades
3 Semestre
Cálculo III
Ecuaciones paramétricas y coordenadas polares. Vectores en el espacio Euclideano de
2 y 3 dimensiones, derivadas parciales, integrales múltiples, cálculo vectorial, teoremas
de Green, Gauss, y Stokes.
Electricidad y Magnetismo
Calor, electricidad y magnetismo.
Estructuras de máquina
Este es un curso en estructuras de máquina, es decir, el uso de las instrucciones internas
de la computadora. El curso incluye programación en lenguaje ensamblador y en C para
ilustrar el conjunto de instrucciones de una computadora, el soporte de la computadora
al sistema operativo mediante interrupciones e instrucciones de manejo de memoria,
ası́ como el manejo de procesos. También involucra el estudio de las partes fundamen-
tales de la arquitectura de computadoras (diseño lógico, organización del procesador y
arquitecturas de pipeline)
Optativa de Humanidades
4.4. University of California Berkeley 38
4 Semestre
Álgebra Lineal
Álgebra lineal básica; aritmética de matrices y determinantes. Espacios vectoriales, pro-
ducto interior como espacios. Eigenvectores y eigenvalores; transformaciones lineales.
Ecuaciones diferencias ordinarias homogéneas; ecuaciones diferenciales de primer orden
con coeficientes constantes. Series de Fourier y ecuaciones diferenciales parciales.
Optativa de Humanidades
5 Semestre
Electromagnetı́smo
Ondas electromagnéticas, óptica, relatividad e introducción a la fı́sica cuántica.
Técnicas de Comunicación
Principios de técnicas de comunicación, analizar la audiencia; organización de materia;
desarrollar un lenguaje claro y conciso; usar formatos apropiados y estrategias retóricas
para reportes técnicos formales, estudios de viabilidad, resúmenes, descripciones e ins-
trucciones, propuestas, cartas y memos. Practica en presentaciones orales a audiencias
técnicas y no técnicas
6 Semestre
Lenguajes de Programación y Compiladores
Examinación de lenguajes de programación. El diseño de los lenguajes de programación
modernos. Principios y técnicas de escaneo, análisis sintáctico, análisis semántico, y
generación de código. Implementación de compiladores, intérpretes y ensambladores.
Descripción general de organización y manejo de errores en tiempo de ejecución.
Optativa de Ingenierı́a
Optativa de Humanidades
7 Semestre
Ingenierı́a de Software
Técnicas de diseño modular orientado a funciones y a objetos, diseño para reutilización
y mantenibilidad. Especificación y documentación. Verificación y validación. Medida
y estimación de costo y calidad. Organización y manejo de proyectos por equipo. Los
estudiantes trabajaran en un proyecto de programación considerable.
Optativa de Ingenierı́a
Optativa de Humanidades
4.4. University of California Berkeley 40
8 Semestre
Optativa de Ingenierı́a
Optativa de Humanidades
4.5. University of Illinois–Urbana-Champaign 41
Integridad en los asuntos profesionales, ası́ como entendimiento de cuestiones éticas que
surjan en el uso de las computadoras por la sociedad
Para los estudiantes que contemplen una carrera en investigación, experiencia traba-
jando en un grupo de investigación, y conocimiento de la ética y moral de la comunidad
de investigación
Por encima de todo, los estudiantes deben tener las herramientas intelectuales que les
permitirán mantenerse al dı́a con el cambiante mundo de las Ciencias de la Computación.
La misión de la licenciatura es proveer a cada estudiante la oportunidad de tener éxito
y prosperar en el departamento de Ciencias de la Computación, para que puedan graduarse
con el conocimiento y habilidades antes mencionadas.
1 Semestre
Quı́mica General I
Los principios de las estructuras atómicas, enlaces, estados de la materia, estequiometrı́a
y equilibrio quı́mico; quı́mica descriptiva de los elementos y compuestos.
Estructuras Discretas
Estudia estructuras matemáticas discretas encontradas con frecuencia en el estudio de
las Ciencias de la Computación. Los temas incluyen conjuntos, proposiciones, álgebra
booleana, inducción, recursión, relaciones, funciones y gráficas.
Cálculo I
Primer curso de cálculo y geometrı́a analı́tica; técnicas básicas de derivación e integra-
ción con aplicaciones incluyendo esbozo de curvas; antiderivadas, la integral de Rieman,
teorema fundamental del Cálculo, funciones exponencial y trigonométricas.
Principios de Redacción
Estudio de métodos de exposición, el problema del argumento, el uso de evidencia, y
estilo; práctica en la escritura para exposición.
Lectura de Ingenierı́a
Orientación requerida para nuevos estudiantes.
2 Semestre
Introducción a Ciencias de la Computación
4.5. University of Illinois–Urbana-Champaign 43
Cálculo II
Segundo curso de cálculo y geometrı́a analı́tica: técnicas de integración, secciones cóni-
cas, coordenadas polares y series infinitas.
3 Semestre
Estructuras de Datos y Principios de Software
Abstracciones de datos: estructuras de datos elementales: listas, pilas, colas, árboles;
técnicas de búsqueda y ordenamiento. Manejo de memoria, algoritmos en gráficas, algo-
ritmos en cadenas. Introducción a los principios de la ingenierı́a de software incluyendo
un proyecto de programación por equipo.
Arquitectura de Computadoras I
Introducción a la arquitectura de computadoras, trabajando desde el nivel de compuer-
tas lógicas: redes combinacionales y secuenciales; aritmética de computadoras; unidades
aritmérico/lógicas; organización de memoria; jerarquı́a de memoria; diseño de CPU; di-
seño de unidades de control; arquitectura de entrada y salida.
Cálculo III
Cálculo de varias variables, tercer curso de cálculo y geometrı́a analı́tica, incluyendo
análisis de vectores: espacio Euclideano, diferenciación parcial, integrales múltiples,
integrales de lı́nea y de superficie, teoremas de las integrales del cálculo vectorial.
4.5. University of Illinois–Urbana-Champaign 44
4 Semestre
Arquitectura de Computadoras II
Segundo curso de arquitectura de computadoras: programación a nivel de máquina;
conjuntos de instrucciones; modos de direccionamiento; representaciones de datos; su-
brutinas; dieño de unidades lógicas de aritmética; diseño básico de procesadores; entuba-
miento; hardware y software de entrada y salida; carga y enlace; relación con lenguajes
de alto nivel; procesamiento paralelo.
Programación de Sistemas
Introducción a la programación de sistemas: Este curso cubre las bases de la progra-
mación de sistemas, incluyendo procesos POSIX, control de procesos, comunicación
entre procesos, sincronización, señales, manejo simple de memoria, entrada y salida
de archivos y directorios, programación de consola, programación de sockets de redes,
programación con llamadas remotas a procedimientos en sistemas distribuidos, meca-
nismos básicos de seguridad, y herramientas standard para programación de sistemas
como herramientas de depuración.
Álgebra Lineal
Curso introductorio que se enfoca en técnicas de álgebra lineal con aplicaciones a la in-
genierı́a; los temas incluyen operaciones de matrices, determinantes, ecuaciones lineales,
espacios vectoriales, transformaciones lineales, eigenvectores y eigenvalores, producto
interior y normas, ortogonalidad, equilibrio, y sistemas lineales dinámicos.
5 Semestre
Cuestiones Éticas y Profesionales en las Ciencias de la Computación
Ética para las Ciencias de la Computación. Toma de decisiones ética, concesión de
licencias, propiedad intelectual, libertad de la información y privacidad. Los estudiantes
tendrán que realizar presentaciones orales.
Estudio de Programación
Laboratorio de programación intensiva destinado a fortalecer las habilidades en pro-
gramación de los estudiantes
Optativa
6 Semestre
Teorı́a de Probabilidad
Introducción a la probabilidad; cálculo de probabilidades, análisis combinatorio, varia-
bles aleartorias, expectativa, funciones de distribución, y teorema del lı́mite central.
Optativa de Área
Optativa de Área
Optativa
7 Semestre
Optativa de Área
Optativa de Área
Optativa
4.5. University of Illinois–Urbana-Champaign 46
8 Semestre
Optativa de Área
Optativa de Área
Optativa
4.6. Edinburgh 47
4.6. Edinburgh
4.6.1. Resumen
Las Ciencias de la Computación tratan con el entendimiento, diseño, implementación y
uso de sistemas de computo estando en complejidad desde componentes de un sólo proce-
sador hasta redes de computadoras tan amplias como la WWW World Wide Web. Abarca
hardware y software, ası́ como una amplia variedad de técnicas prácticas apoyadas en fuertes
fundamentos de entendimiento teórico.
En Edinburgh, las Ciencias de la Computación son tratadas como un subconjunto de la
disciplina de la Informática que también cubre la Inteligencia Artificial y la Ciencia Cognitiva.
El programa de Ciencias de la Computación pretende desarrollar licenciados con amplio
conocimiento en diversas áreas con un alto nivel y habilidades en Ciencias de la Computación,
tanto en la parte teórica como práctica.
Cada módulo es normalmente impartido por un experto en la materia que también está lle-
vando acabo investigación sobre el tema, ası́ que la investigación influye en los cursos inevita-
blemente. Los estudiantes llevan a cabo una amplia variedad de ejercicios prácticos y proyec-
tos que refuerzan el material de lectura. Habilidades de comunicación, iniciativa, profesiona-
lismo y la habilidad de trabajar en equipo son desarrolladas como parte integral del proceso
de aprendizaje.
Informática 1B
Informática 1B consiste de dos secciones, (i) Análisis de datos, y (ii) Programación
orientada a objetos.
(i) Análisis de datos: Se da una introducción a la recolección, representación e inter-
pretación de datos. Los estudiantes aprenderán diferentes perspectivas desde las que
se usan los datos, diferente terminologı́a de como referirse a ellos y varios métodos de
representación y manipulación. Entre los temas que se estudian en este curso están: dife-
rentes tipos de datos (estructurados/no estructurados, observacionales/experimentales,
cuantitativos/cualitativos), modelo de entidad/relación, representación lógica de datos,
diferencias entre datos y meta-datos, algoritmos de interpretación de datos.
(ii)Programación orientada a objetos: Esta sección proporciona una introducción prácti-
ca y conceptual a la programación orientada a objetos. El enfoque es en programar más
que en un lenguaje de programación especı́fico con el estudio de principios generales a
través de Java. Entre los temas que se estudian en este curso están: uso de conceptos
básicos usados en lenguajes imperativos y orientados a objetos, implementación de un
diseño en un programa, desarrollo de programas pequeños o componentes de uno más
grande, probar código de un componente, uso de herramientas de depuración, uso de
herramientas de apoyo (IDE, control de versiones).
2 Año
Informática 2A
Este curso trata sobre el procesamiento de lenguajes naturales y artificiales, basándose
en conocimiento obtenido en Informática 1 sobre máquinas de estado finito y expresio-
nes regulares. Este curso considera como los mismos modelos de lenguaje pueden usarse
para describir y analizar tanto lenguajes formales (como lenguajes de programación)
y lenguajes naturales (hablado y escrito). Presenta material de lenguajes y gramáti-
cas formales, gramáticas probabilı́sticas (incluyendo la cadena de Markov escondida),
jerarquı́a de Chomsky, lenguajes libres de contexto, algoritmos de parseo (top-down y
bottom-up), análisis semántico y procesamiento de lenguaje humano.
Informática 2B
Este curso presenta estructuras de datos tanto simbólicas como numéricas y algoritmos
para manipularlas usando Java y Haskell. Entre los temas que se estudian en este
curso están: construcción y manipulación de arreglos, estructuras de datos dinámicas,
complejidad computacional de algoritmos básicos, cálculo de estadı́sticas, construcción,
balanceo y búsqueda en árboles; construcción automática de árboles de decisiones,
entrenamiento y uso de una red neuronal sencilla.
Informática 2C
Este curso trata del diseño, implementación e ingenierı́a de un sistema de computo digi-
tal. Considera los sistemas de computo tanto desde el punto de vista de hardware como
de software; ofreciendo una introducción a la estructura interna de las computadoras
digitales y a la ingenierı́a de sistemas de software. Entre los temas que se estudian en
este curso están: entendimiento y operaciones en datos binarios, conceptos básicos de
arquitectura de computadoras (excepciones, interrupciones, memoria virtual, procesos y
ejecución en pipeline), diseño simple de un procesador, dispositivos de E/S, componen-
tes combinacionales y secuenciales en un procesador (sumadores, registros, máquinas
de estado), etapas en el proceso de ingenierı́a de software, construcción de casos de uso
para un determinado escenario, construcción de diagramas UML de clase y secuencia;
construcción, documentación y mantenimiento de grandes programas en Java usando
un IDE moderno, métodos de desarrollo y herramientas de manejo de configuración;
técnicas de prueba, medición y verificación; evaluación de aspectos de usabilidad en
un programa o sitio web, juicio de riesgos de seguridad en la construcción de software,
comparar diferentes acercamientos al otorgamiento de licencias de software.
3 Año
Proyecto de Diseño de Sistema
La intención del Proyecto de Diseño de Sistema es dar a los estudiantes la experiencia
práctica de (a) construir un sistema a gran escala (b) trabajar como miembros de
un equipo. El proyecto requiere la aplicación y combinación de material aprendido en
distintos cursos para completar un diseño e implementación complejos. Al final del
curso cada equipo demuestra el sistema implementado y da una presentación formal a
una audiencia de estudiantes, supervisores y visitantes de la industria.
Al finalizar este proyecto, los estudiantes tendrán experiencia en lo siguiente: trabajar
como miembros de un equipo, planeación y monitorización del esfuerzo de un proyecto
para alcanzar fases del proyecto y fechas lı́mites, diseño e implementación de un sistema
complejo, intentar alcanzar un objetivo difı́cil en un periodo de tiempo limitado, reunir
conocimiento y entendimiento de amplias áreas de sistemas de software y hardware,
demostrar y presentar el resultado de un proyecto práctico, documentar la viabilidad,
diseño y desarrollo de un producto potencial.
Problemas Profesionales
Hay muchas cuestiones comerciales, profesionales y de ingenierı́a complementarias al
conocimiento y habilidades cientı́ficas necesarias que afectan en el trabajo del profesio-
nal en computación. Este curso pretende proveer una conciencia de estor problemas y
cubrir algunos de ellos en profundidad.
4.6. Edinburgh 51
4.7. Oxford
4.7.1. Resumen
La Licenciatura en Ciencias de la Computación en Oxford permite al estudiante con-
centrarse en estudiar Ciencias de la Computación desde el principio. Claro que hay clases
durante el primer año para dar una base matemática en el estudiante, pero no se pide que el
estudiante dedique 50 % o más de su primer año en materias fuera de las de Ciencias de la
Computación.
Los cursos asumen que no se tiene conocimiento previo en computación y se enseña todo
desde los principios más básicos. Esto podrı́a parecer como una desventaja si el estudiante
ya sabe algo sobre computación, pero el enfoque a nivel universitario va mucho más allá por
lo que es necesario empezar desde el principio.
Las clases en Oxford se enfocan en enseñar los principios detrás de la tecnologı́a actual,
no la tecnologı́a como un fin en si misma. Los mejores estudiantes rápidamente se hacen
competentes en el uso de tecnologı́a para la resolución de problemas, pero más allá, desarrollan
la habilidad de adaptar sus habilidades a nuevas tecnologı́as. Eso se debe a que cuando se
conocen los principios se hace más fácil entender la tecnologı́a y entender nueva tecnologı́a
cuando se necesita.
El mejor ejemplo de esto es la manera en que se enseña programación desde el principio
de la carrera. En vez de escoger un lenguaje popular y enseñar como escribir programas con
el, se comienza con una manera de entender programas que tiene su base en las matemáticas.
Existe un lenguaje de programación llamado Haskell que conlleva este tipo de entendimiento,
y se utiliza para dejar que el estudiante pruebe sus ideas en una computadora. Pero el punto
principal es que con este modo de acercamiento a los programas de computadoras permite
al estudiante ver las relaciones entre muchos temas aparentemente distintos: bases de datos
y el diseño del hardware de computadoras, inteligencia artificial y el significado de distintos
lenguajes de programación.
En la Maestrı́a de medio tiempo, programadores experimentados de la industria asisten
para aprender sobre programación funcional de la misma manera que los estudiantes de
Licenciatura lo hacen el primer año. Lo más probable es que ninguno de ellos nunca programen
en Haskell después de terminar su Maestrı́a, pero dicen que el conocer este método de
programación revoluciona su manera de pensar sobre otros programas con los que trabajan,
permitiéndoles ver más allá de los detalles de lo que esos programas hacen lı́nea por lı́nea.
Como en todas las licenciaturas de Oxford, la de Ciencias de la Computación se desarro-
lla alrededor de los asesores de Oxford, donde (normalmente) dos estudiantes se juntan con
un asesor para discutir su trabajo por una hora. Conjunto con clases y prácticas, esta es la
forma principal de educación durante el primer año de la Licenciatura, donde los estudiantes
normalmente tienen dos asesorı́as por semana con su asesor de Ciencias de la Computación.
Pocas otras universidades pueden alcanzar este nivel de asesorı́a personalizada, que está di-
señada para permitir a los estudiantes con el potencial adecuado, independientemente de su
4.7. Oxford 53
1 Año
El primer año de Ciencias de la Computación está dedicado a material fundamental que
planta las bases para temas más avanzados en los años posteriores de la carrera.
Programación Funcional
Este es un primer curso en programación. Se usará como lenguaje de programación
Haskell, que permite ver a los programas como funciones matemáticas. Esto hace que
el lenguaje sea muy poderoso, de tal manera que se puedan hacer fácilmente programas
que serı́an muy complicados o extensos en otros lenguajes. Un importante tema de
discusión de este curso es cómo aplicar el razonamiento matemático a programas, para
poder probar que un programa realiza su tarea correctamente, o para derivarlo con
manipulación algebraica desde un programa más simple pero menos eficiente del mismo
problema. Se gana experiencia programando a través de dos ejercicios de laboratorio:
el primero tiene como objetivo familiarizarte con la mecánica de escribir programas en
Haskell, y el segundo es un reto de programación más grande en el que se simula el
mundo de un animal imaginario.
Algoritmos y Estructuras de Datos fundamentales
En este curso el estudiante aprenderá acerca de las bases de algoritmos, métodos para
resolver problemas con la computadora y estructuras de datos. Basándose en la expe-
riencia adquirida con Haskell de Programación Funcional, el curso cubre los principios
de diseños de algoritmos, análisis del desempeño de los algoritmos, y las ideas fun-
damentales en el diseño de de estructuras de datos eficientes. El enfoque es en elegir
adecuadamente una estructura de datos para un tipo de problemas y diseñar algoritmos
correctos que operen en estas estructuras de datos resolviendo el problema.
Programación Imperativa
En este curso el estudiante aplicara lo aprendido en Programación Funcional al di-
seño de programas escritos de una manera más convencional. Al estudiar una varios
4.7. Oxford 54
ejemplos de programación, cada uno siendo una herramienta útil de software, el es-
tudiante aprenderá a construir programas en una forma sistemática, estructurándolos
como una colección de módulos con interfaces bien definidas. El curso también cubre
informalmente el método de invariantes para entender y razonar sobre los programas
que contienen ciclos. Se concluirá el curso con el estudio de un ejemplo de programa-
ción más grande, como un programa con interfaz gráfica para encontrar la mejor ruta
para ir de un pueblo a otro en el Reino Unido. A través de ejercicios de laboratorio, el
estudiante aprenderá a crear, depurar y mantener programas de un tamaño no trivial.
Hardware Digital
En este curso el estudiante aprenderá los fundamentos de los circuitos electrónicos que
son usados para construir computadoras. Empezando con las funciones de transistores
individuales, y construyendo hacia una implementación completa de un procesador sim-
ple, este curso explica de una manera estructurada como se construyen comportamientos
complejos a partir de partes más simples. El estudiante comprenderá los factores que
afectan el desempeño del hardware y como estos factores cambian dependiendo de la
escala, por ejemplo, el tamaño de datos que maneja un sistema de cómputo.
Álgebra Lineal
Otra importante aplicación de las computadoras en Matemáticas es en resolver proble-
mas que pueden ser expresados como sistemas de ecuaciones lineales. Se estudiarán las
condiciones generales que determinan que sistemas de ecuaciones tienen soluciones, y
para que sistemas la solución es única, asó como métodos sistemáticos para resolver
sistemas de ecuaciones. Durante el segundo año se diseñará un programa que utilice
estos conocimientos.
Matemáticas Discretas
Este curso le proporcionará al estudiante el vocabulario de conceptos que se necesitan
para entender en términos matemáticos los problemas para los que las computadoras
están diseñadas a resolver, y para analizar soluciones propuestas para su correctud y
eficiencia. Las especificaciones de sistemas de cómputo pueden expresarse formalmen-
te en términos de conjuntos, relaciones y funciones, y la correctud de los programas
4.7. Oxford 55
Lógica y Pruebas
Este curso es una introducción par el Cientı́fico en Computación a las ideas de lógica
formal. Comienza con ejemplos básicos de estructuras matemáticas finitas usadas en
computación, y construye un lenguaje lógico y formal para hacer declaraciones sobre
estas estructuras que puedan ser probadas en un sistema de reglas simbólicas de infe-
rencia. El estudiante desarrollará las habilidades para usar lógica formal para expresar
y probar propiedades útiles de estructuras matemáticas, y más generalmente para cons-
truir pruebas rigurosas y manipular notación formal. Se terminará el curso con un breve
panorama de otros usos de formalismos en Ciencias de la Computación.
Probabilidad
Este curso presenta algunos conceptos de probabilidad. El estudiante aprenderá sobre
variables aleatorias y verán ejemplos de distribuciones de probabilidad comunes como
Binomial y Poisson. El entendimiento de la probabilidad es útil en muchas áreas de las
Ciencias de la Computación como los algoritmos aleatorios en los que algún problema
“duro” puede resolverse utilizando un programa aleatorio.
Modelos de Computación
En este curso el estudiante obtendrá un entendimiento básico de modelos matemáticos
clásicos usados para analizar procesos computacionales, incluyendo autómatas finitos,
gramáticas, y máquinas de Turing. Estos modelos matemáticos pueden ser usados para
responder a preguntas como cuáles problemas pueden resolverse con una computadora,
y si algunos problemas son intrı́nsecamente más difı́ciles de resolver que otros.
Perspectivas de Cómputo
Este curso no evaluado le dará al estudiante una visión más amplia de las áreas en las
que las ideas de Ciencias de la Computación pueden aplicarse, a veces viendo hacia a
delante a material más avanzado que puede ser estudiado a detalles en años posteriores.
El curso está organizado como una secuencia de cuatro segmentos de cuatro clases, cada
segmento impartido por alguien diferente. Los temas varı́an año con año, pero normal-
mente algunos segmentos son impartidos por gente invitada de otros departamentos
en Oxford o de la industria. Algunos temas posibles incluyen: gráficas y visualización,
4.7. Oxford 56
2 Año
Materias Obligatorias
Sistemas Concurrentes
Este curso es una introducción a la teorı́a y práctica de la computación concurrente,
enseñando al alumno a escribir programas concurrentes simples y a razonar acerca de su
comportamiento. El estudiante obtendrá una apreciación de los problemas que deben
ser resueltos al construir sistemas que involucran concurrencia y las técnicas que se
usan para resolverlos.
Materias Optativas
Análisis Numérico
Este curso es acerca del uso de computadoras para resolver problemas matemáticos a
través de métodos numéricos. El estudiante aprenderá métodos numéricos para proble-
mas comunes y la derivación de estos algoritmos ası́ como el análisis de su precisión y
aplicación. El curso contiene tanto ejercicios teóricos como prácticos usando MATLAB.
Compiladores
Este curso es una introducción a los métodos usados por los compiladores para traducir
lenguajes de programación de alto nivel a código de máquina. El curso cubre métodos
para analizar la sintaxis de los programas y crear un árbol de sintaxis abstracta, seguido
de chequeo de tipos y generación de código para una máquina abstracta. Se discutirá la
implementación de procedimientos con distintos tipos de parámetros.
Lenguajes de Programación
Este curso da una descripción simple y práctica de varios tipos de lenguajes de pro-
gramación y sus pradigmas, y las teorı́as por las cuales el significado de los programas
escritos en estos lenguajes pueden ser definidos. Entre los paradigmas que se cubren
están programación lógica y funcional con varios mecanismos de evaluación y con tipos
polimórficos.
Este curso continua con el material visto en Algoritmos y Estructuras de Datos Funda-
mentales, y cubre material más avanzado y para el cual se necesita mayor conocimiento
matemático conectado con el diseño de algoritmos y estructuras de datos muy eficientes
para resolver problemas de computo que son importantes en aplicaciones.
Graficación por Computadora
Este es un curso introductorio a la Graficación por Computadora, y cubre un amplio
rango del campo de gráficas interactivas a todos los niveles de abstracción haciendo
énfasis tanto en la teorı́a como en la práctica. Se utiliza un libro estándar sobe la
materia, y se usa material adicional para mantener el curso actualizado. El estudiante
aprenderá varias técnicas básicas de graficación, desde la generación de gráficas en
dispositivos de salida (raster) hasta el tipo de hardware utilizado para mostrar objetos
tridimensionales.
Arquitectura de Computadoras
Este curso continua con lo visto en Hardware Digital mostrando al estudiante como
pueden usarse componentes de hardware para diseñar procesadores que tengan un alto
desempeño. Una parte central del curso es el diseño de arquitecturas con pipelining que
puedan ejecutar múltiples instrucciones simultáneamente, detectar y resolver interac-
ciones entre instrucciones dinámicamente. Este curso cubre el diseño de conjuntos de
instrucciones y diferentes estilos de implementación de procesadores, seguido por un
breve resumen de máquinas paralelas que logran un desempeño aún mayor.
3 Año
Materias Optativas
Sistemas Inteligentes 1 y 2
4.7. Oxford 59
Optimización
Bases de Datos
Complejidad Computacional
Concurrencia Avanzada
Seguridad de Cómputo
Proyecto
Los estudiantes de tercer año de Ciencias de la Computación dedican 25 % de su tiempo
a un proyecto, normalmente esto involucra la creación de un programa más grande que
con los que han trabajado en los ejercicios de laboratorio. En el cuarto año los estudiantes
realizan un proyecto más elaborado (50 % de su tiempo), por lo general más enfocado hacia
los intereses de investigación de algún profesor. Se puede trabajar en equipos pequeños para
estos proyectos para experimentar la dinámica de trabajar en un equipo de programación
Cada año, el Laboratorio de Computación publica una lista de proyectos que algún profe-
sor ha aceptado supervisar, pero los estudiantes también son alentados a proponer sus propios
proyectos. Aquı́ hay algunos ejemplos de la lista del 2008:
Descompilación
4 Año
Materias Optativas Avanzadas
Proyecto
En el cuarto año los estudiantes realizan un proyecto más elaborado (50 % de su tiempo),
por lo general más enfocado hacia los intereses de investigación de algún profesor. Se puede
4.7. Oxford 60
trabajar en equipos pequeños para estos proyectos para experimentar la dinámica de trabajar
en un equipo de programación
Cada año, el Laboratorio de Computación publica una lista de proyectos que algún profe-
sor ha aceptado supervisar, pero los estudiantes también son alentados a proponer sus propios
proyectos. Aquı́ hay algunos ejemplos de la lista del 2008:
La lista de proyectos es la misma que la de tercer año
4.8. ETH Zurich 61
Primer Año
El primer año de estudio incluye una introducción a las Ciencias de la Computación
ası́ como los fundamentos matemáticos necesarios para un tı́tulo de Ingenierı́a.
• Cursos Obligatorios
Estos cursos contienen los fundamentos principales de las Ciencias de la Compu-
tación. Estos fundamentos son requisitos para la mayorı́a de los cursos de tercer
año por lo que se recomienda tomar la mayorı́a de estos cursos durante el segundo
a año.
• Cursos Fundamentales
Estos cursos se enfocan en áreas centrales de las Ciencias de la Computación,
para una visión general. Los cursos pretenden extender el conocimiento básico
tanto teórico como práctico de los alumnos.
• Especialización
◦ Cursos de Especialización Obligatorios
Los cursos de especialización obligatorios consisten en seminarios y cursos
complementarios. Los participantes de los seminarios reciben un tema que
deben estudiar y presentar a los otros integrantes del seminario en una clase.
Los cursos complementarios pretenden dar una visión más profunda en otras
áreas de las Ciencias de la Computación y mejorar la metodologı́a de trabajo.
◦ Cursos Optativos
Los estudiantes son relativamente libres al momento de escoger sus materias
optativas. Los estudiantes deben considerar si creen que cumplen con los re-
querimientos potenciales de las materias optativas que elijan.
• Proyecto
Se realizará un proyecto, el cual puede hacerse internamente o ser externo en
términos de una estancia en la industria. El proyecto puede ser hecho tanto de
manera individual como en equipo.
◦ Existe una lista de compañı́as aprobada por el Departamento de Ciencias de
la Computación.
4.8. ETH Zurich 62
1 Semestre
Introducción a la Programación
Introducción a los fundamentos de la programación moderna y las habilidades para
desarrollar programas de alta calidad, incluyendo programas grandes adecuados para
la industria.
Fundamentos de programación orientado a objetos. Objetos y clases. Herencia. Pre-y
post-condiciones, invariantes, Diseño por Contrato. Estructuras elementales de control.
Asignaciones y referencias. Términos básicos del hardware. Estructuras de datos y algo-
ritmos elementales. Recursión. Introducción a la programación concurrente. Conceptos
básicos de ingenierı́a de software, especificaciones y documentación, reutilización y el
aseguramiento de la calidad.
Lógica
Introducción a la lógica proposicional, lógica de predicados y programación lógica en
Prolog.
Proposiciones, operadores lógicos, tablas de verdad, consecuencia lógica, axiomas, de-
rivaciones formales, forma normal, procedimientos de prueba automáticos. Predicados,
cuatificadores, lógica de primer orden, estructuras isomórficas, estructuras finitas, sis-
temas deductivos, indecibilidad, aritmética de Peano, inducción. Cláusulas de Horn,
consultas, unificación, sustituciones, backtrack, programación declarativa
Cálculo I
Cálculo de una variable, números reales y complejos, vectores, funciones, lı́mites, suce-
siones, series, diferenciación e integración en una variable, introducción a las ecuaciones
diferenciales ordinarias.
Parte de este curso se enseñará utilizando el proyecto de enseñanza electrónica LEMU-
REN3 .
3
http://www.lemuren.math.ethz.ch
4.8. ETH Zurich 63
Álgebra Lineal
Introducción al álgebra lineal orientada a sus aplicaciones, espacios vectoriales, trans-
formaciones lineales, sistemas de ecuaciones, descomposición de matrices,LU, QR, ei-
genvectores y eigenvalores, determinantes, dificultades de los cálculos numéricos, errores
de redondeo, estabilidad de los algoritmos. Introducción a MATLAB.
Probabilidad y Estadı́stica
Conceptos básicos de probabilidad y estadı́stica, introducción a la teorı́a de la proba-
bilidad, espacios de probabilidad, medida de la probabilidad, independencia, variables
aleatorias, distribuciones discretas y continuas, probabilidad condicional, expectativa y
varianza, teoremas de lı́mites. Métodos estadı́sticos, estimación de parámetros, pruebas,
intervalos de confianza.
2 Semestre
Estructuras de Datos y Algoritmos
Este curso cubre los fundamentos en algunos paradigmas de diseño de algoritmos,
problemas clásicos de algoritmos y estructuras de datos, con un enfoque en la relación
entre los algoritmos y las estructuras de datos.
Patrones de diseño de algoritmos, inducción, divide y vencerás, backtrack, optimización
dinámica, ası́ como problemas tradicionales como búsqueda y ordenamiento, Por otro
lado se tratan estructuras de datos para diferentes propósitos, listas ligadas, tablas de
hash, montı́culos, árboles de búsqueda balanceados, pilas.
Fı́sica
Introducción a la fı́sica con énfasis en la mecánica, electromagnetismo y los principios
básicos de la mecánica cuántica.
Movimiento, leyes de Newton, trabajo y energı́a, vibración y ondas, relatividad especial.
Electroestática, corriente, campos dependientes del tiempo, ecuaciones de Maxwell,
ondas electromagnéticas. Historia de la teorı́a cuántica, función de ondas, principio de
incertidumbre, ecuación de Schroedinger.
Cálculo II
Cálculo de varias variables, ecuaciones diferenciales.
Matemáticas Discretas
Se cubren temas como pruebas por inducción, conjuntos, funciones, relaciones, relacio-
nes de orden y de equivalencia, teorı́a de gráficas, combinatoria, conteo, grupos, anillo,
campos, subálgebras, morfismos, teorı́a de números.
4.8. ETH Zurich 64
3 Semestre
Programación de Sistemas
Este curso le proporciona al programador una visión de como los sistemas de computo
ejecutan programas, almacenan información y se comunican. El curso intenta exponer
a los estudiantes a situaciones prácticas que afectan el desempeño, la portabilidad,
robustez, y extensibilidad . El curso proporciona las bases para los cursos siguientes de
sistemas operativos, redes, compiladores y otros cursos que requieren un entendimiento
de el funcionamiento a bajo nivel. Los temas que se cubren incluyen código a nivel de
máquina y su generación por compiladores optimizados, entrada y salida, manejadores
de eventos, evaluación de desempeño y optimización, una visión de redes y protocolos
para un programa, y técnicas para controlar ejecución concurrente (múltiples hilos).
Arquitectura de Computadoras
Este curso proporciona una descripción general de la arquitectura de computadoras
como plataforma para la ejecución de programas (compilados). El curso presenta la
mayorı́a de las estructuras que tienen influencia directa en la ejecución de programas
(procesadores con registros, caches, distintos niveles en la jerarquı́a de memoria) y
cubre la implementación y representación de cuestiones solo hasta el punto en que
son necesarias para entender la estructura y operación de un sistema de computo. El
curso también cubre de manera básica la evaluación de desempeño enfocándose en los
aspectos prácticos de la recolección de datos y su análisis.
Teorı́a de la Información
Este curso cubre los conceptos fundamentales de la Teorı́a de la Información de Shan-
non, los temas incluyen procesos estocásticos, entropı́a, fuentes de información, canales
con ruido, codificación de canales, compresión Lempel-Ziv.
Teorı́a de la Computación
Este curso es una introducción a la teorı́a de la computación, los conceptos y métodos
básicos de las Ciencias de la Computación en su contexto tanto histórico como actual.
Se presenta a las Ciencias de la Computación como una ciencia interdisciplinaria. Los
temas incluyen alfabetos, palabras, lenguajes, medición de los niveles de información, la
presentación de tareas algorı́tmicas, máquinas finitas, gramáticas, máquinas de Turing,
teorı́a de la complejidad y NP-completez.
4.8. ETH Zurich 65
Introducción a la Electrónica
Introducción a conceptos básicos de la electrónica y las comunicaciones para estudian-
tes de Ciencias de la Computación. Los temas incluyen fundamentos de la ingenierı́a
electrónica, procesos de cambio, corriente directa, corriente alterna, semiconductores,
lı́neas de transmisión, antenas, comunicaciones ópticas.
4 Semestre
Sistemas Operativos
Este curso tratara en detalle las dos principales tareas de un sistema operativo mo-
derno: gestión de recursos y soporte en tiempo de ejecución para programas. Se cubre
procesos de arranque, sistemas de archivos, asignación de memoria, recolección de ba-
sura, procesos e hilos, controladores de dispositivos, soporte en tiempo de ejecución,
sistemas virtuales.
Sistemas Distribuidos
Algoritmos de control distribuidos (exclusión mutua, relojes lógicos), modelos de co-
municación (RPC, Cliente-Servidor, comunicación sincronizada y ası́ncrona, sockets),
principios abstractos de comunicación (emisión (broadcast), eventos), servicio de nom-
bres, mecanismos de seguridad, servicios web (SOAP, WSDL, UDDI).
Arquitectura de Software
Introducción a las técnicas de Ingenierı́a de Software, construcción de software orientada
a objetos, diseño de alto nivel. Este curso cubre la organización general de los sistemas
de software y las técnicas que hacen posible el desarrollo de sistemas grandes. No todas
las técnicas de programación que funcionan en programas pequeños pueden usarse a
una mayor escala.
Los temas que el curso abarca son: técnicas avanzadas de orientación a objetos, patrones
de diseño, técnicas de ingenierı́a de software para programación concurrente, distribuida
y de múltiples hilos, desarrollo basado en componentes, validación y verificación de
software, ingenierı́a de software para sistemas grandes (modelos de ciclo de vida, de
costo y confiabilidad, métricas de software, manejo de proyectos).
Redes de Computadoras
Curso introductorio a las redes de computadoras, se cubre desde protocolos básicos
hasta la capa de red. El curso también cubre las bases de sistemas distribuidos para
transacciones RPC, consistencia, ası́ como una introducción a servicios web. La pro-
gramación de red a diferentes niveles (sockets, RMI, colas de mensajes) es una parte
integral del curso.
5 Semestre
Sistemas de Información
Este curso extiende los conceptos básicos de el manejo relacional de datos presen-
tado en un curso anterior para examinar los modelos y tecnologı́as requeridas para
soportar otras plataformas para el manejo de información incluyendo información semi-
estructurada y de XML, información orientados a objetos y sistemas de recuperación
de documentos. El curso examina varios modelos para la representación de información
y provee un estudio a fondo del modelado de datos y como pueden ser usados en el
diseño de arquitecturas y aplicaciones.
Modelación y Simulación
4.8. ETH Zurich 67
Computación Visual
Este curso familiariza al estudiante con el conocimiento básico de gráficas de compu-
tadoras, visión y aprendizaje. Los temas incluyen pipeline de gráficas, percepción y
modelos de cámara, transformación, sombreado, iluminación global, texturas, mues-
treo, filtros, detección de bordes, teorı́a de decisión Bayesiana, clasificación, máquinas
vectoriales, reducción de dimensión, redes Bayesianas.
Ingenierı́a de Software
La ingenierı́a de software es una disciplina que se enfoca en el desarrollo eficiente de sis-
temas de software de alta calidad. El curso cubre los principios, métodos y herramientas
para la ingenierı́a de software. Como parte central del curso están las etapas clásicas
del ciclo de vida del desarrollo de software: análisis de requerimientos, diseño, imple-
mentación, pruebas y mantenimiento. El curso también cubre temas que conjuntan la
ingenierı́a de software y la gestión de proyectos como las métricas de software.
Seguridad de la Información
Este curso provee una introducción a la seguridad de la información enfocándose en los
modelos y conceptos básicos, criptografı́a, protocolos y seguridad de sistemas, privaci-
dad y protección de información.
Optativa
6 Semestre
Proyecto Individual
Optativa
Optativa
Optativa
Optativa
4.9. Technion 68
4.9. Technion
4.9.1. Resumen
El departamento de Ciencias de la Computación ofrece las licenciaturas de: Ciencias de
la Computación, Ingenierı́a de Software, Ingenierı́a en Sistemas de Información, Ingenierı́a
en Computación y Ciencias de la Computación en Bioinformática. El objetivo del Technion
es formar cientı́ficos e ingenieros con amplios conocimientos y habilidades para desarrollar
aplicaciones tecnológicas avanzadas para poder satisfacer las necesidades actuales.
Sistemas de cómputo
Cálculos
Visión y robótica
Algoritmos
Lógica y sus aplicaciones Geometrı́a y gráficas
Criptografı́a, seguridad e información Aprendizaje e Inteligencia Artificial
Desarrollo de sistemas de software
Fı́sica computacional
Comunicación y sistemas descentraliza-
dos Bioinformática
1 Semestre
Cálculo Diferencial e Integral I
Números reales, secuencias, funciones reales de una variable: lı́mites, continuidad, fun-
ciones inversas. Diferenciabilidad, teorema fundamental del cálculo, Teorema de Taylor,
regla de L’Hopital, comportamiento de las funciones, antiderivada, métodos de integra-
ción. La integral definida y sus propiedades, funciones integrables, teoremas principales
del cálculo integral, integrales impropias, series.
Álgebra Lineal A
4.9. Technion 69
Sistemas Digitales
Operaciones lógicas, álgebra booleana, circuitos combinacionales, técnicas de minimi-
zación, elementos lógicos electrónicos, códigos, diseño y análisis de sistemas sı́ncronos y
ası́ncronos secuenciales, elementos de memoria, contadores y registros, ejemplos de di-
seño de sistemas de control digital, métodos de simplificación de circuitos secuenciales,
limitaciones de circuitos secuenciales.
Inglés Técnico
El objetivo principal de este curso es mejorar la habilidad del alumno para leer litera-
tura profesional. Los grupos son con gente de la misma facultad para cubrir material
especı́fico de su campo. Se cubre gramática y sintaxis técnica y cientı́fica. El curso
también mejora las habilidades orales y escritas de comunicación.
Educación Fı́sica
Se hace énfasis en la resistencia cardiovascular, la fuerza, flexibilidad y coordinación
del alumno. Se aprenden y practican habilidades básicas de varios deportes. Se práctica
educación fı́sica como medio para mejorar la salud y la calidad de vida.
2 Semestre
Cálculo Diferencial e Integral 2
Funciones de varias variables, cálculo diferencial básico de esas funciones, secuencias
y series de funciones, fórmula de Taylor, funciones implı́citas, transformaciones en Rn ,
integrales múltiples, integrales de lı́nea, integrales de superficie, cálculo vectorial.
Álgebra Moderna
4.9. Technion 70
3 Semestre
Introducción a la Probabilidad
Espacios de probabilidad, probabilidad condicional, variables aleatorias, transforma-
ción de variables aleatorias, expectativas, distribuciones continua y discreta, funciones
caracterı́sticas y teoremas de lı́mites, distribuciones condicionales y expectativas.
4.9. Technion 71
Fı́sica 2
Electroestática, campo eléctrico, potencial eléctrico, campos de cargas en movimiento,
campos magnéticos, inducción electromagnética, ecuación de Maxwell, introducción a
ondas, dispersión, reflexión y refracción, velocidad de fase y grupos, momento y energı́a
de ondas electromagnéticas, polarización, interferencia, difracción.
Estructuras de Datos
Énfasis en estructuras de datos abstractas, selección y diseño de estructuras de datos
para dar soluciones eficientes a problemas, propiedades, implementación y aplicación
de estructuras de datos (arreglos, pilas, colas, varios tipos de listas, árboles de búsque-
da, montı́culos, colas de prioridad, tablas de hash), conceptos básicos de complejidad,
recolección de basura, asignación de memorial, búsqueda y ordenamiento.
Diseño Lógico
Bloques para el diseño digital con y sin memoria, consideraciones de tiempo, aritmética
binaria y su implementación, algoritmos para acelerar las operaciones aritméticas, lógica
programable y su implementación.
Lógica y Teorı́a de Conjuntos para Ciencias de la Computación
Este curso tiene dos objetivos, primero, este curso presenta nociones básicas que se
necesitaran para muchos de los cursos de Ciencias de la Computación. Segundo, fami-
liarizar al estudiante con el pensamiento matemático abstracto. Teorı́a de conjuntos:
definiciones básicas, relaciones, funciones, relaciones de equivalencia, órdenes, cardinali-
dad de conjuntos, métodos de diagonalización de Kantor. Lógica: cálculo proposicional
y lógica de primer orden, semánticas, sistemas de pruebas.
Optativa:
• Ecuaciones Diferenciales Ordinarias
• Funciones Complejas
• Teorı́a de las funciones complejas
• Introducción a los espacios métricos y topológicos
• Introducción a la Teorı́a de Aproximación
4 Semestre
Análisis Numérico 1
Introducción al análisis numérico, análisis de errores, aproximación de funciones, in-
terpolación, mı́nimos cuadrados, polinomiales ortogonales, integración y diferenciación
numérica, solución a ecuaciones no lineales, métodos directos para la solución de siste-
mas de ecuaciones lineales.
4.9. Technion 72
Sistemas Operativos
Este curso presenta las cuestiones fundamentales de los sistemas operativos modernos:
procesos e hilos, calendarización y cambio de contexto, cooperación, sección crı́tica,
semáforos y variables de condición, interrupciones, manejo de memoria, paginación,
memoria virtual, sistemas de archivos.
Arquitectura de Computadoras
Conjunto de instrucciones, familias de computadoras, RISC vs CISC, desempeño, pipe-
lining, ejecución fuera de orden, optimización del compilador, interacción compilador-
hardware, excepciones e interrupciones, jerarquı́a de memoria, cache, memoria princi-
pal, memoria virtual, tabla de paginación, multiprocesadores simétricos, consistencia
de memoria compartida, entrada/salida.
Optativa:
• Fisica 3
• Mecánica Analı́tica
• Teorı́a Electromagnética
• Principios de Quı́mica
• Quı́mica General
• Laboratorio de Quı́mica General
• Biologı́a 1
4.9. Technion 73
5 Semestre
Teorı́a de la Computación
Recursión, máquinas de Turing, equivalencia entre distintos modelos, tesis de Church,
máquina universal, problemas de indecibilidad, máquinas deterministas y no determi-
nistas, la clase P y NP-completez, teorema de Cook.
Compiladores
Gramáticas y lenguajes, programación de un scanner, parsers de arriba a abajo, gramáti-
cas de precedencia y sus parsers, organización del almacenamiento en tiempo de ejecu-
ción, tablas de sı́mbolos, rutinas semánticas, asignación de memoria, recuperación de
errores, organización de código.
Optativa
Optativa
6 Semestre
Proyecto o Seminario
Optativa
Optativa
Optativa
7 Semestre
Optativa
Optativa
Optativa
8 Semestre
Proyecto
Optativa
4.10. National University of Singapore 74
Estructuras Discretas
Este curso presenta las herramientas matemáticas requeridas para el estudio de las
Ciencias de la Computación. Los temas incluyen: Técnicas de demostración y lógi-
ca: proposiciones, condicionales, cuantificaciones. Relaciones y funciones: relaciones de
equivalencia y particiones, conjuntos parcialmente ordenados, principio del buen orden,
4
Accreditation Board for Engineering and Technology http://www.abet.org/
5
Application Programming Interface - Interfaz de Programación de Aplicaciones
4.10. National University of Singapore 75
Optativa de Ciencias
Optativa de Computación
2 Semestre
Estructuras de Datos y Algoritmos
Este curso es la segunda parte de la introducción a la programación desde una perspec-
tiva de orientación a objetos comenzada con Metodologı́a de Programación, con un
énfasis en algoritmos, estructuras de datos, ingenierı́a de software y el contexto social
de la computación. Los temas incluyen: responsabilidad ética y social del profesional
en computo, usos e implementaciones de abstracciones y encapsulación mediante es-
tructuras de datos (listas, pilas, colas, y sus diseños algorı́tmicos), varios algoritmos de
ordenamiento, árboles, tablas de hash, montı́culos, colas de prioridad, representación
de gráficas y varios algoritmos de búsqueda en gráficas, análisis de algoritmos básico.
Matemáticas I
Este curso tiene como objetivo el brindar al estudiante los fundamentos básicos del
cálculo y sus temas relacionados requeridos por los estudiantes de ingenierı́a y ciencias.
Los temas incluyen: conjuntos, números complejos, cálculo en funciones de una variable,
lı́mites, continuidad de funciones, diferenciación, teorema del valor medio, integración,
aplicaciones del área bajo la curva, sólidos de revolución, series, álgebra vectorial, fun-
ciones de varias variables, cálculo vectorial, ecuaciones parciales diferenciales.
Álgebra Lineal I
Este es un primer curso en álgebra lineal, se presentarán conceptos fundamentales y
serán vistos en el contexto de los espacios Euclidianos Rn . Se espera que los estudiantes
adquieran facilidad computacional e intuición geométrica respecto a vectores y matri-
ces. Los temas incluyen: sistemas de ecuaciones lineales, matrices, determinantes, el
4.10. National University of Singapore 76
Optativa de Ciencias
Optativa de Computación
3 Semestre
Organización de Computadoras
El objetivo de este curso es familiarizar a los estudiantes con los fundamentos de los
dispositivos de cómputo. En este curso los estudiantes entenderán los principios básicos
de la representación de datos, y como funcionan varias partes de una computadora,
por separado y juntas. Esto permite a los estudiantes entender cuestiones de los dis-
positivos de cómputo y como estas cuestiones afectan la implementación de soluciones.
Los temas incluyen: sistemas de representación de datos, técnicas de diseño de circuitos
combinacionales y secuenciales, lenguaje ensamblador, ciclos de ejecución de procesa-
dor, pipelining, jerarquı́a de memoria y sistemas de entrada/salida.
Computación y Sociedad
En este curso los estudiantes aprenderán y analizarán las cuestiones sociales, éticas
y profesionales de la computación. Los temas incluyen: historia de la computación,
implicaciones sociales de la computación, privacidad, profesionalismo, responsabilidad
ética, riesgo y responsabilidad de sistemas crı́ticos, propiedad intelectual.
Probabilidad
El objetivo de este curso es dar una introducción a la teorı́a de la probabilidad a estu-
diantes de ciencias e ingenierı́a. El curso cubre la parte matemática de la probabilidad
ası́ como muchos ejemplos para ilustrar el amplio campo de aplicación de la probabi-
lidad. Los temas incluyen: análisis combinatorio, axiomas de la probabilidad, proba-
bilidad condicional e independencia, variables aleatorias, distribuciones, expectativas,
teorema del lı́mite central.
Optativa de Ciencias
Optativa de Computación
4 Semestre
Teorı́a de la Computación
4.10. National University of Singapore 77
5 Semestre
Sistemas de Bases de Datos
Este curso tiene como objetivo el brindarle al estudiante el conocimiento y entendi-
miento de cuestiones básicas y técnicas para manipular grandes cantidades de datos
almacenados en un dispositivo secundario. Los temas incluyen: organización fı́sica de
los datos, métodos de acceso que faciliten la recuperación de datos, conceptos para
manipular grandes cantidades de datos compartidos, principios de los sistemas de ges-
tión de bases de datos, modelo de datos relacional y su uso a nivel de aplicación, SQL,
nuevos desarrollos en técnicas de procesamiento de datos no convencionales.
Ingenierı́a de Software
Este curso presenta las herramientas tanto analı́ticas como conceptuales necesarias para
el desarrollo sistemático y riguroso de sistemas de software. Cubre cuatro áreas básicas
del desarrollo de software, análisis orientado a objetos, diseño orientado a objetos,
implementación y pruebas, con un énfasis en el diseño e implementación de módulos
de software que trabajen en conjunto para satisfacer los requerimientos de un sistema.
El estudiante conocerá herramientas y técnicas para el desarrollo de software como
UML, especificación de programas y métodos de prueba. También se cubrirán cuestiones
4.10. National University of Singapore 78
Optativa de Computación
Optativa de Computación
6 Semestre
Introducción a las Redes de Computadoras
Este curso es una amplia introducción a las redes de computadoras y a algunas apre-
ciaciones de la aplicación de las redes en programación. Abarca un amplio rango de
temas incluyendo comunicación de datos básica y conceptos de redes de computado-
ras, protocolos, conceptos y principios, desarrollo de aplicaciones de red y seguridad de
redes.
Sistemas Operativos
Este curso presenta los conceptos y principios básicos de los sistemas operativos. Se
enfoca en cuatro áreas principales: procesos, memoria, sistemas de archivos y dispo-
sitivos. Los temas incluyen: procesos e hilos, mecanismo para concurrencia y sincro-
nización, calendarización de procesos y abrazos mortales, paginación y segmentación,
memoria virtual, organización de sistemas de archivos, caracterı́sticas de dispositivos y
controladores.
Lenguajes de Programación
Este curso le brinda al aluno el conocimiento teórico y las habilidades prácticas en
el diseño e implementación de lenguajes de programación. Discute la teorı́a detrás de
los paradigmas fundamentales de programación (imperativo, funcional, lógico y orien-
tado a objetos) y detrás de los conceptos básicos de los lenguajes de programación
como alcance, paso de parámetros y tipos. Presenta las técnicas de interpretación y
compilación. Se habla sobre máquinas virtuales, manejo automático de memoria y su
implementación.
Optativa de Computación
4.10. National University of Singapore 79
7 Semestre
Proyecto de Ingenierı́a de Software
En este curso los alumnos deben trabajar en equipo para trabajar en el ciclo de vida
completo del desarrollo de un sistema, para desarrollar un sistema de software a gran
escala, bien probado y de calidad de producción. Los estudiantes aplicaran lo apren-
dido en Ingenierı́a de Software, también mejorará sus habilidades de comunicación
mediante la interacción con los miembros del equipo, las consultas y las presentaciones
formales. El curso hace énfasis en el correcto diseño, una implementación eficiente y
pruebas rigurosas, ası́ como en la comunicación eficiente entre los estudiantes
Disertación
El objetivo de este curso es permitirle a los estudiantes el trabajar en un proyecto de
investigación individual a lo largo de dos semestres, con aproximadamente 400 horas de
trabajo. Los estudiantes aprenderán como aplicar habilidades adquiridas en sus clases
y también a pensar en formas innovadoras para resolver problemas. Al terminar el
proyecto, el estudiante de enviar su una disertación describiendo el trabajo del proyecto
y dar una presentación oral ante un grupo de examinadores.
8 Semestre
Optativa de Computación
Optativa de Computación
Capı́tulo 5
Para la comparación de los distintos planes de estudio, elaboraremos una tabla por materia
para ver que temas cubre cada una de las universidades.
5.1. Computación
5.1.1. Matemáticas Discretas
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Lógica Formal 3 3 3 3 3 3 3 3 3 3 3 100 %
Demostraciones 3 3 3 3 3 3 3 3 3 3 3 100 %
Relaciones 3 3 3 3 7 3 3 3 3 3 3 90 %
Gráficas 3 3 3 3 7 3 3 3 3 3 3 90 %
Funciones 3 3 3 3 3 3 3 3 3 3 3 100 %
Orden 3 3 3 3 3 3 3 3 3 3 3 100 %
Arboles 3 3 3 3 3 3 3 3 3 3 3 100 %
Problemas de Coloración 3 7 7 7 7 7 7 7 7 7 7 0%
Recursión 3 3 3 3 3 3 3 3 3 3 3 100 %
Teorı́a de Números 7 3 7 7 7 7 3 7 3 3 3 50 %
80
5.1. Computación 81
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Abstracciones 3 3 3 3 3 3 3 3 3 3 3 100 %
Tipos de Datos 3 3 3 3 3 3 3 3 3 3 3 100 %
Introducción a un lenguaje de 3 3 3 3 3 3 3 3 3 3 3 100 %
programación
Representación de datos 3 3 3 3 3 3 3 3 3 3 3 100 %
Recursividad 3 3 3 3 3 3 3 3 3 3 3 100 %
Búsquedas y ordenamientos li- 3 3 3 3 3 3 3 3 3 3 3 100 %
neales
Contexto histórico y social de la 3 7 7 7 7 7 7 7 7 7 3 10 %
computación
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Tipos de Datos Abstractos 3 3 3 3 3 3 3 3 3 3 3 100 %
Estructuras de Datos Básicas 3 3 3 3 3 3 3 3 3 3 3 100 %
Estructuras de Datos No Linea- 3 3 3 3 3 3 3 3 3 3 3 100 %
les
Búsquedas y Ordenamientos 3 3 3 3 3 3 3 3 3 3 3 100 %
5.1. Computación 82
5.1.4. Lógica
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Lenguajes de Primer Orden 3 7 7 7 7 7 3 3 3 3 7 40 %
Estructuras de Primer Orden 3 7 7 7 7 7 3 3 3 3 7 40 %
Validez y Equivalencia Lógica 3 7 7 7 7 7 3 3 3 3 7 40 %
Teorema de Finitud 3 7 7 7 7 7 3 3 3 3 7 40 %
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Lógica Digital 3 7 3 3 3 3 3 3 3 3 7 80 %
Sistemas Digitales 3 7 3 3 3 3 3 3 3 3 7 80 %
Organización de Memoria 3 7 3 3 3 3 3 3 3 3 7 80 %
Interfaces y comunicación 3 7 3 3 3 3 3 3 3 3 7 80 %
Otras Arquitecturas 3 7 3 3 3 3 3 7 7 7 7 50 %
5.1. Computación 83
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Medidas de desempeño 3 3 3 3 3 3 3 7 3 3 3 90 %
Organización de una Compu- 3 3 3 3 3 3 3 7 3 3 3 90 %
tadora
Conjunto de Instrucciones 3 3 3 3 3 3 3 7 3 3 3 90 %
Organización Funcional 3 3 3 3 3 3 3 7 3 3 3 90 %
Pipeline 3 3 3 3 3 3 3 7 3 3 3 90 %
Jerarquı́a de Memoria 3 3 3 3 3 3 3 7 3 3 3 90 %
Entrada y Salida 3 7 3 3 3 3 3 7 3 3 3 80 %
Multiprocesadores 3 7 3 3 3 3 3 7 3 3 3 80 %
Tendencias de Arquitecturas 3 7 3 7 7 7 7 7 7 7 7 10 %
Modernas
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Complejidad 3 3 3 3 3 7 3 3 3 3 3 90 %
Tipos de Algoritmos 3 3 3 3 3 7 3 3 3 3 3 90 %
Dise?o de Algoritmos 3 3 3 3 3 7 3 3 3 3 3 90 %
Búsquedas y Ordenamientos 3 3 3 3 3 7 3 3 3 3 3 90 %
Algoritmos en Gráficas 3 3 3 3 7 3 3 3 3 3 3 80 %
Problemas NP-completos 3 3 3 3 3 7 7 7 3 3 3 70 %
5.1. Computación 84
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Cadenas, alfabetos y lenguajes 3 7 7 3 7 3 3 3 3 3 3 70 %
Máquinas de estados finitos 3 7 7 3 7 3 3 3 3 3 3 70 %
Gramáticas y lenguajes formales 3 7 7 3 7 3 3 3 3 3 3 70 %
Autómatas de estados finitos 3 7 7 3 7 3 3 3 3 3 3 70 %
Autómatas de pila 3 7 7 3 7 3 3 3 3 3 3 70 %
Lenguajes libres del contexto 3 7 7 3 7 3 3 3 3 3 3 70 %
M?quinas de Turing 3 7 7 3 7 3 3 3 3 3 3 70 %
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Agentes Inteligentes 3 7 3 3 7 7 7 7 7 7 7 20 %
Búsquedas 3 7 3 3 7 7 7 7 7 7 7 20 %
Conocimiento 3 7 3 3 7 7 7 7 7 7 7 20 %
Razonamiento 3 7 3 3 7 7 7 7 7 7 7 20 %
Elementos de Planificación 3 7 3 3 7 7 7 7 7 7 7 20 %
Incertidumbre 3 7 3 3 7 7 7 7 7 7 7 20 %
Aprendizaje 3 7 3 3 7 7 7 7 7 7 7 20 %
Filosofı́a de la Inteligencia Arti- 3 7 3 7 7 7 7 7 7 7 7 10 %
ficial
Redes Neuronales 7 7 3 7 7 7 7 7 7 7 7 10 %
Algoritmos Genéticos 7 7 3 7 7 7 7 7 7 7 7 10 %
5.1. Computación 85
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Historia y evolución 3 7 7 7 7 7 7 7 7 7 7 0%
Organización de la Computado- 3 3 7 7 3 7 3 7 3 3 3 60 %
ra
Máquinas Virtuales 3 7 7 7 3 7 7 7 7 3 3 30 %
Control de Secuencia 3 7 7 7 3 7 3 7 7 3 3 40 %
Control de Datos 3 7 7 7 3 7 3 7 7 3 3 40 %
Chequeo de Tipos 3 7 7 7 3 7 3 7 7 3 3 40 %
Almacenamiento durante la eje- 3 7 7 7 3 7 3 7 7 3 3 40 %
cución
Paradigmas de programación 3 7 7 3 3 7 3 7 3 3 3 60 %
Semántica 3 7 7 3 3 7 3 7 7 3 3 50 %
Pragmática 3 7 7 3 3 7 3 7 7 3 3 50 %
Programación Funcional 3 3 7 3 3 7 3 3 3 3 7 70 %
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Estructura 3 7 3 3 3 3 7 3 3 3 3 80 %
Procesos 3 7 3 3 3 3 7 3 3 3 3 80 %
Manejo de memoria 3 7 7 3 3 3 7 3 3 3 3 70 %
Sistemas de Archivos 3 7 7 3 3 3 7 3 3 3 3 70 %
Entrada-salida 3 7 7 3 3 3 7 3 3 3 3 70 %
Sistemas Operativos Modernos 3 7 7 3 7 7 7 3 3 3 3 50 %
Seguridad 7 7 7 7 3 3 7 7 3 7 7 30 %
Sistemas Concurrentes 7 7 7 7 7 7 7 3 3 7 7 20 %
5.1. Computación 86
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Conceptos 3 7 3 7 7 7 7 3 3 7 3 40 %
Modelo OSI 3 7 3 7 7 7 7 3 3 7 3 40 %
Nivel de Enlace de Datos 3 7 3 7 7 7 7 3 3 7 3 40 %
Redes Locales 3 7 3 7 7 7 7 3 3 7 3 40 %
Interconexión de Redes 3 7 3 7 7 7 7 3 3 7 3 40 %
Transporte 3 7 3 7 7 7 7 3 3 7 3 40 %
Aplicaciones 3 7 3 7 7 7 7 3 3 7 3 40 %
Sistemas Operativos para Redes 3 7 7 7 7 7 7 3 3 7 7 20 %
Sistemas Distribuidos 3 7 7 7 7 7 7 7 3 7 7 10 %
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Proceso de Software 3 7 3 3 3 7 3 3 3 7 3 70 %
Requerimientos 3 7 3 3 3 7 3 3 3 7 3 70 %
Diseño 3 7 3 3 3 7 3 3 3 7 3 70 %
Construcción 3 7 3 3 3 7 3 3 3 7 3 70 %
Verificación y Validación 3 7 3 3 3 7 3 3 3 7 3 70 %
Evolución del Software 3 7 3 3 3 7 3 3 3 7 3 70 %
Administración de Proyectos de 3 7 3 3 3 7 3 3 3 7 3 70 %
Software
Interfaz Gráfica 7 7 3 3 7 7 7 7 7 7 7 20 %
5.1. Computación 87
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Conceptos 3 7 7 7 7 7 7 7 3 7 3 20 %
Modelos de Datos 3 7 7 7 7 7 7 7 3 7 3 20 %
Lógica como Modelo de Datos 3 7 7 7 7 7 7 7 3 7 3 20 %
Lenguajes de Consulta Relacio- 3 7 7 7 7 7 7 7 3 7 3 20 %
nales
Organización fı́sica de los datos 3 7 7 7 7 7 7 7 3 7 3 20 %
Diseño de Bases de Datos Rela- 3 7 7 7 7 7 7 7 3 7 3 20 %
cionales
Bases de Datos Orientadas a Ob- 3 7 7 7 7 7 7 7 3 7 7 10 %
jetos
Seguridad en Bases de Datos 3 7 7 7 7 7 7 7 3 7 7 10 %
5.1.15. C y UNIX
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Lenguaje C 7 3 7 3 3 3 7 7 7 3 7 50 %
Ambiente UNIX 7 3 7 7 7 3 7 7 7 3 3 40 %
Herramientas de programación 7 3 7 7 7 3 3 3 3 3 3 70 %
Portabilidad 7 3 7 3 7 7 3 7 3 3 7 50 %
5.1. Computación 88
5.1.16. Compiladores
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Análisis Léxico 7 7 7 3 3 7 7 7 7 3 7 30 %
Análisis sintáctico 7 7 7 3 3 7 7 7 7 3 7 30 %
Representaciones intermedias 7 7 7 3 3 7 7 7 7 3 7 30 %
Generación de Código 7 7 7 3 3 7 7 7 7 3 7 30 %
Optimización 7 7 7 3 7 7 7 7 7 7 7 10 %
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Procesos Estocásticos 7 7 7 7 7 7 7 7 3 7 7 10 %
Entropı́a 7 7 7 7 7 7 7 7 3 7 7 10 %
Canales 7 7 7 7 7 7 7 7 3 7 7 10 %
Compresión Lempel-Ziv 7 7 7 7 7 7 7 7 3 7 7 10 %
5.1. Computación 89
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Graficación por Computadora 7 7 7 7 7 7 7 7 3 7 7 10 %
Transformaciones 7 7 7 7 7 7 7 7 3 7 7 10 %
Filtros 7 7 7 7 7 7 7 7 3 7 7 10 %
Máquinas Vectoriales 7 7 7 7 7 7 7 7 3 7 7 10 %
Redes Bayesianas 7 7 7 7 7 7 7 7 3 7 7 10 %
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Criptografı́a 7 7 7 7 7 7 7 7 3 7 7 10 %
Protocolos 7 7 7 7 7 7 7 7 3 7 7 10 %
Protección de la información 7 7 7 7 7 7 7 7 3 7 7 10 %
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Comunicación Oral 7 3 3 7 3 3 7 7 7 3 3 60 %
Comunicación Escrita 7 3 3 7 3 3 7 7 7 3 3 60 %
Presentaciones 7 3 3 7 3 7 7 7 7 7 3 40 %
5.2. Matemáticas 90
5.2. Matemáticas
5.2.1. Cálculo de una variable
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Números reales 3 3 3 3 3 3 3 3 3 3 3 100 %
Funciones 3 3 3 3 3 3 3 3 3 3 3 100 %
Sucesiones 3 3 3 3 3 3 3 3 3 3 3 100 %
Lı́mites 3 3 3 3 3 3 3 3 3 3 3 100 %
Continuidad 3 3 3 3 3 3 3 3 3 3 3 100 %
Derivación 3 3 3 3 3 3 3 3 3 3 3 100 %
Integración 3 3 3 3 3 3 3 3 3 3 3 100 %
Teorema fundamental del cálcu- 3 3 3 3 3 3 3 3 3 3 3 100 %
lo
Funciones logaritmo y exponen- 3 3 3 3 3 3 3 3 3 3 3 100 %
cial
Series 3 7 3 3 3 3 3 7 3 3 3 80 %
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Funciones 3 3 3 3 3 3 3 3 3 3 3 100 %
Topologı́a de Rn 3 7 7 7 7 7 7 7 7 7 7 0%
Máximos y mı́nimos 3 3 3 3 3 3 3 3 3 3 3 100 %
Integrales múltiples 3 3 3 3 3 3 3 7 7 3 3 80 %
Integral de Lı́nea 3 7 3 7 3 3 7 7 7 3 7 40 %
Integra de Superficie 3 7 3 7 3 3 7 7 7 3 7 40 %
Teoremas de integrales 3 7 3 7 3 3 7 7 7 3 7 40 %
Convergencia uniforme 3 7 3 7 3 3 7 7 7 7 7 30 %
5.2. Matemáticas 91
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Ecuaciones Diferenciales Linea- 7 3 3 7 3 7 3 3 3 3 3 80 %
les de primer orden
Ecuaciones Diferenciales No Li- 7 3 3 7 3 7 3 3 3 3 3 80 %
neales de primer orden
Ecuaciones Diferenciales Linea- 7 3 3 7 3 7 3 3 3 3 3 80 %
les de segundo orden
Ecuaciones Diferenciales Linea- 7 7 3 7 3 7 7 3 3 3 7 50 %
les de segundo orden con Coefi-
cientes Variables
Transformada de Laplace y de 7 7 3 7 3 7 7 7 3 3 7 40 %
Fourier
Series de Fourier 7 7 3 7 3 7 7 7 7 3 7 30 %
Sistemas de Ecuaciones Lineales 7 7 3 7 3 7 7 7 7 3 7 30 %
Ecuaciones Diferenciales y 7 3 3 7 3 7 7 7 7 7 7 30 %
Métodos Numéricos
Teorı́a Cualitativa de ED 7 7 7 7 7 7 7 7 7 7 7 0%
5.2. Matemáticas 92
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Aritmética de punto flotante 3 7 3 7 7 7 3 7 3 3 7 40 %
Ecuaciones algebraicas lineales 3 7 3 7 7 7 3 7 3 3 7 40 %
Interpolación 3 7 7 7 7 7 7 7 3 3 7 20 %
Cuadratura Numérica 3 7 7 7 7 7 7 7 3 3 7 20 %
Mı́nimos Cuadrados 3 7 3 7 7 7 7 7 3 3 7 30 %
Ecuaciones no lineales 3 7 7 7 7 7 7 7 3 3 7 20 %
Optimización en una dimensión 3 7 7 7 7 7 7 7 3 7 7 10 %
5.2.5. Álgebra
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Conjuntos 3 3 3 3 3 3 3 3 3 3 3 100 %
Relaciones y Funciones 3 3 3 3 3 3 3 3 3 3 3 100 %
Números naturales 3 7 7 7 7 7 7 7 3 7 7 10 %
Combinatoria 3 3 3 3 3 3 3 3 3 3 3 100 %
Espacios vectoriales 3 3 3 3 3 3 3 3 3 3 3 100 %
Matrices 3 3 3 3 3 3 3 3 3 3 3 100 %
Determinantes 3 3 3 3 3 3 3 3 3 3 3 100 %
Ecuaciones lineales 3 3 3 7 3 3 3 3 3 3 3 90 %
Números enteros 3 7 3 7 3 3 3 7 3 3 7 60 %
Divisibilidad 3 7 3 7 3 3 3 7 3 3 7 60 %
Números complejos 3 7 7 7 7 7 3 7 3 3 3 40 %
Polinomios 3 7 3 7 3 7 3 7 3 3 3 60 %
Ecuaciones polinomiales 3 7 3 7 3 7 3 7 3 3 7 50 %
5.2. Matemáticas 93
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Grupos 7 7 7 7 7 7 7 7 3 7 7 10 %
Teorema de Lagrange 7 7 7 7 7 7 7 7 3 7 7 10 %
Anillos 7 7 7 7 7 7 7 7 3 7 7 10 %
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Espacios vectoriales 3 3 3 7 3 3 3 3 3 3 3 90 %
Matrices 3 3 3 7 3 3 3 3 3 3 3 90 %
Transformaciones lineales 3 3 3 7 3 3 3 3 3 3 3 90 %
Producto Escalar 3 3 3 7 3 3 3 3 3 3 3 90 %
Determinantes 3 3 3 7 3 3 3 3 3 3 3 90 %
Transformaciones Simétricas 3 3 3 7 3 3 3 3 3 3 3 90 %
Formas bilineales y operadores 3 7 7 7 7 7 7 7 7 7 7 0%
Diagonalización 3 7 7 7 7 7 7 7 7 3 3 20 %
Eigenvectores y Eigenvalores 7 3 3 7 3 3 7 7 3 3 3 70 %
Triangulación 3 7 7 7 7 7 7 7 7 7 7 0%
Teorema Espectral 3 7 7 7 7 7 7 7 7 7 7 0%
Forma canónica de Jordan 3 7 7 7 7 7 7 7 7 7 7 0%
5.2. Matemáticas 94
5.2.8. Probabilidad
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Espacio de probabilidad 3 3 3 3 3 3 3 3 3 3 3 100 %
Cálculo de probabilidades 3 3 3 3 3 3 3 3 3 3 3 100 %
Probabilidad Condicional 3 3 3 3 3 3 3 3 3 3 3 100 %
Eventos Independientes 3 3 3 3 3 3 3 3 3 3 3 100 %
Variables aleatorias 3 3 3 3 3 3 3 3 3 3 3 100 %
Funciones de Probabilidad 3 3 3 3 3 3 3 3 3 3 3 100 %
Teorema del Valor Central 7 3 7 3 3 3 7 7 7 3 3 60 %
5.2.9. Estadı́stica
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Muestra Aleatoria 3 7 7 7 7 7 7 7 3 7 7 10 %
Parámetros de la muestra 3 7 7 7 7 7 7 7 3 7 7 10 %
Rango 3 7 7 7 7 7 7 7 3 7 7 10 %
Varianza 3 7 7 7 7 7 7 7 3 7 7 10 %
Pruebas de Hipótesis 3 7 7 7 7 7 7 7 3 7 7 10 %
5.2. Matemáticas 95
Carnegie Mellon
Porcentaje
Edinburgh
Techninon
Stanford
Berlkely
UNAM
Oxford
Illinois
Zurich
NUS
MIT
Tema
Rectas 3 7 7 7 7 3 3 7 7 7 7 20 %
Planos 3 7 7 7 7 3 3 7 7 7 7 20 %
Trigonometrı́a 3 7 7 7 7 3 3 7 7 7 7 20 %
Espacios vectoriales 3 7 7 7 7 3 3 7 7 7 7 20 %
Cónicas 3 7 7 7 7 3 3 7 7 7 7 20 %
Superficies Cuadráticas 3 7 7 7 7 7 3 7 7 7 7 10 %
Transformaciones 3 7 7 7 7 7 3 7 7 7 7 10 %
Geometrı́a de la esfera 3 7 7 7 7 7 7 7 7 7 7 0%
Transformaciones de Möbius 3 7 7 7 7 7 7 7 7 7 7 0%
Capı́tulo 6
Resultados de la Comparación
96
6.1. Temas impartidos en la Facultad de ciencias 97
6.1. Temas impartidos en la Facultad de ciencias 98
6.1. Temas impartidos en la Facultad de ciencias 99
6.2. Temas no impartidos en la Facultad de Ciencias 100
Álgebra, 11, 12, 48, 92 Fı́sica, 26, 27, 43, 44, 63, 70, 71
Álgebra Lineal, 13, 14, 21, 28, 38, 44, 49, 54, Facultad de Ciencias, 11
63, 68, 75, 93, 99
Álgebra Moderna, 69 Geometrı́a, 99
Geometrı́a Analı́tica, 12, 95
ABET, 74 Guardian The, 8
Análisis de Algoritmos, 15, 20, 22, 29, 34, 39,
57, 63, 72, 77, 83 Haskell, 49, 52, 53
Análisis Lógico, 96
Ingenierı́a de Software, 17, 30, 39, 65, 67, 77,
Análisis Numérico, 16, 57, 66, 71, 92, 100
79, 86
Arquitectura de Computadoras, 15, 29, 43,
Inteligencia Artificial, 15, 29, 34, 84, 97
44, 49, 58, 64, 72, 83
Introducción a la Computación, 47
Bases de Datos, 16, 66, 77, 87, 98 Introducción a la Programación, 19, 26, 42,
Berkeley, 8, 36 62, 70, 74
C, 21, 32, 37, 69, 70, 100 Java, 19, 25, 32, 37, 48, 49
C y UNIX, 20
C++, 25, 32 Lógica, 19, 47, 55, 62, 71, 82
C#, 32 Lenguajes de Programación, 32, 39, 57, 78,
Cálculo, 19, 26, 27, 31, 36, 37, 42, 43, 48, 62, 85, 97
63, 68, 69, 75, 90, 98 LISP, 32, 36, 37
Carnegie Mellon, 6, 8, 18 Matemáticas, 90
Combinatoria, 70 Matemáticas Discretas, 27, 32, 38, 42, 54, 63,
Compiladores, 33, 39, 57, 73, 88 74, 80
Computación, 80 MATLAB, 38, 57, 63
Ecuaciones Diferenciales, 20, 27, 48, 54, 66, Mecánica, 43
71, 101 MIT, 6, 8, 25
Edinburgh, 9, 47 National University of Singapore, 9
Electricidad y Magnetismo, 44
Estadı́stica, 13, 63, 94, 99 Objective C, 32
Estructuras de Datos, 19, 20, 37, 43, 49, 53, Oxford, 6, 9, 52
57, 63, 71, 75, 81
ETH Zurich, 9, 61 Probabilidad, 13, 33, 45, 55, 63, 70, 76, 94
102
ÍNDICE ALFABÉTICO 103
Seguridad, 67
Shangai Rankings, 5
Sistemas Digitales, 38, 54, 64, 69, 71, 82
Sistemas Distribuidos, 65
Sistemas Operativos, 15, 34, 38, 44, 56, 65,
72, 78, 85
Stanford, 6, 8, 31