an alisis del plan de estudios para la licenciatura de ciencias de la computaci on · de distintas...
TRANSCRIPT
Analisis del Plan de Estudios para laLicenciatura de Ciencias de la Computacion
Sebastian Garcıa Anderman1
Facultad de CienciasUNAM
27 de julio de 2008
Indice general
1. Introduccion 4
2. Analisis de Universidades en el Mundo 52.1. Rankings mundiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2. Rankings Nacionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1. Estados Unidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.2. Inglaterra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3. Analisis individuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3.1. ETH Zurich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3.2. National University of Singapore . . . . . . . . . . . . . . . . . . . . 92.3.3. Technion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3. Plan de Estudios Actual 113.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2. Plan de estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.1. 1 Semestre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2.2. 2 Semestre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2.3. 3 Semestre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2.4. 4 Semestre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.5. 5 Semestre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.6. 6 Semestre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.7. 7 Semestre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4. Planes de Estudio de Otras Universidades 184.1. Carnegie Mellon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.1.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.1.3. Materias Optativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2. MIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.2.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.2.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1
INDICE GENERAL 2
4.3. Stanford . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.3.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.3.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4. University of California Berkeley . . . . . . . . . . . . . . . . . . . . . . . . . 364.4.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.4.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5. University of Illinois–Urbana-Champaign . . . . . . . . . . . . . . . . . . . . 414.5.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.5.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.6. Edinburgh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.6.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.6.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.7. Oxford . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.7.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.7.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.8. ETH Zurich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.8.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.8.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.9. Technion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.9.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.9.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.10. National University of Singapore . . . . . . . . . . . . . . . . . . . . . . . . 744.10.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.10.2. Plan de Estudios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5. Comparacion de los Planes de Estudio 805.1. Computacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.1.1. Matematicas Discretas . . . . . . . . . . . . . . . . . . . . . . . . . . 805.1.2. Introduccion a la Programacion . . . . . . . . . . . . . . . . . . . . . 815.1.3. Estructuras de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.1.4. Logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825.1.5. Sistemas Digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825.1.6. Arquitectura de Computadoras . . . . . . . . . . . . . . . . . . . . . 835.1.7. Analisis de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . 835.1.8. Teorıa de la Computacion . . . . . . . . . . . . . . . . . . . . . . . . 845.1.9. Inteligencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.1.10. Lenguajes de Programacion . . . . . . . . . . . . . . . . . . . . . . . 855.1.11. Sistemas Operativos . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.1.12. Redes de Computadoras . . . . . . . . . . . . . . . . . . . . . . . . . 865.1.13. Ingenierıa de Software . . . . . . . . . . . . . . . . . . . . . . . . . . 865.1.14. Sistemas de Bases de Datos . . . . . . . . . . . . . . . . . . . . . . . 87
INDICE GENERAL 3
5.1.15. C y UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875.1.16. Compiladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.1.17. Teorıa de la Informacion . . . . . . . . . . . . . . . . . . . . . . . . . 885.1.18. Computacion Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.1.19. Seguridad de la Informacion . . . . . . . . . . . . . . . . . . . . . . . 895.1.20. Comunicacion Tecnica . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2. Matematicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.2.1. Calculo de una variable . . . . . . . . . . . . . . . . . . . . . . . . . . 905.2.2. Calculo de varias variables . . . . . . . . . . . . . . . . . . . . . . . . 905.2.3. Ecuaciones Diferenciales . . . . . . . . . . . . . . . . . . . . . . . . . 915.2.4. Analisis Numerico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.2.5. Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.2.6. Algebra Moderna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.2.7. Algebra Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.2.8. Probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.2.9. Estadıstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.2.10. Geometrıa Analıtica . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6. Resultados de la Comparacion 966.1. Temas impartidos en la Facultad de ciencias . . . . . . . . . . . . . . . . . . 966.2. Temas no impartidos en la Facultad de Ciencias . . . . . . . . . . . . . . . . 100
Capıtulo 1
Introduccion
Ciencias de la computacion es una carrera cientıfica, pero tambien tecnologica. Es por elloque es importante mantenerse actualizado con respecto a los avances dentro de la materiaası 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 ano 1994 porlo que hay muchas cosas que han cambiado desde entonces.
El objetivo de este analisis, es el identificar 10 de las mejores universidades a nivel mundialen Ciencias de la Computacion, hacer un desglose de su plan de estudios y realizar unacomparativa con el plan de estudios actual de la Facultad de Ciencias, UNAM. Y de estemodo poder hacer una propuesta de cambio al plan de estudios actual.
4
Capıtulo 2
Analisis de Universidades en el Mundo
Para poder identificar 10 de las mejores universidades en Ciencias de la Computaciondebemos recurrir a los rankings mas conocidos. Lamentablemente, muchas veces estos notienen un ranking por areas y mucho menos por carreras. Ası, lo que haremos es tomar lasprincipales universidades en terminos generales, y las mejores universidades en el area deIngenierıa y Teorıa de la Informacion ya que en esta area es donde en general se clasificaCiencias de la Computacion.
2.1. Rankings mundiales
Academic Ranking of World Universities1 Hecho por la universidad Jiao Tongde Shanghai, toma en cuenta premios ganados por los alumnos y los profesores de launiversidad, ası artıculos publicados, citas, y el tamano de la universidad.
The Times Higher Education2: El Times Higher Education Supplement, es unapublicacion britanica en asociacion con Quacquarelli Symonds que cada ano publicauna lista de las 200 mejores universidades. Para calificarlas utiliza principalmente loque llama peer review que consiste en entrevistar a los profesores e las universidades yde distintas areas y preguntarles cuales creen que son las mejores universidades en suarea, ası como otras preguntas. Tambien toman en cuenta entrevistas hechas a empresasya que son ellos quienes contratan a los estudiantes una vez que terminan su carrera.
En la tabla 2.1 vemos los primeros 20 lugares de los dos rankings mencionados. Hay variasdiferencias entre ellos por lo que sera necesario recurrir a rankings por area del conocimiento.Primero, la lista de Academic Ranking of World Universities 2007, junto a The Times HigherEducation 2008.
1Puede consultarse en: http://ed.sjtu.edu.cn/ranking.htm2Puede consultarse en: http://www.topuniversities.com/worlduniversityrankings/
5
2.1. Rankings mundiales 6
No. Academic Ranking of World Universities The Times Higher Education1 Harvard Harvard2 Stanford Cambridge3 Berkley Oxford4 Cambridge Yale5 MIT Imperial College London6 California Institute of Technology Princeton7 Columbia California Institute of Technology8 Princeton Chicago9 Chicago University College London10 Oxford MIT11 Yale Columbia12 Cornell McGill13 California - Los Angeles Duke14 California - San Diego Pennsylvania15 Pennsylvania Johns Hopkins16 Washington Seattle Australian National University17 Wisconsin - Madison Tokyo18 California - San Francisco Hong Kong19 Johns Hopkins Stanford20 Tokyo Carnegie Mellon
Cuadro 2.1: Lista de 20 mejores universidades a nivel mundial 2007
2.1. Rankings mundiales 7
No. Universidad1 MIT2 Berkley3 Stanford4 California Institute of Technology5 Cambridge6 Imperial College of London7 Carnegie Mellon University8 Georgia Institute of Technology9 Tokyo10 National University of Singapore11 Toronto12 Oxford13 ETH Zurich14 Princeton15 Harvard16 Tsinghua17 Delft University of Technology18 California - Los Angeles19 Illinois20 Cornell
Cuadro 2.2: Mejores 20 universidades en tecnologıa
La publicacion The Times Higher Education hace tambien un ranking de las mejores 50universidades por area, en este caso el area 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 enfocarnosen las mejores universidades para el area de Ciencias de la Computacion.
Dado que las mejores universidades tanto en aspectos generales como en el area de tec-nologıa son de Estados Unidos y de Inglaterra, es prudente buscar cuales son las mejores enestos paıses en Ciencias de la Computacion.
Para tener una mayor variedad en nuestro analisis tomaremos 5 universidades de EstadosUnidos y 5 de otras partes del mundo teniendo ası una perspectiva global.
2.2. Rankings Nacionales 8
2.2. Rankings Nacionales
2.2.1. Estados Unidos
Dentro de Estados Unidos el ranking de universidades mas comun y reconocido es elrealizado por la revista U.S. News & World Report3 que se hace desde 1983 y en elcual se publican las mejores universidades del paıs tanto en campos generales como porespecialidades.
En la tabla 2.3 podemos ver que las universidades listadas como mejores en Ciencias de laComputacion coinciden con las mejores en Tecnologıa y tambien con las mejores universidadesen terminos generales. Esto nos da una clara indicacion de que estas 5 universidades debenestar dentro de nuestro analisis.
Lugar Universidad1 Carnegie Mellon University2 Massachusetts Institute of Technology3 Stanford University4 University of California-Berkeley5 University of Illinois–Urbana-Champaign
Cuadro 2.3: Mejores universidades de EEUU en Ciencias de la Computacion
2.2.2. Inglaterra
Otro de los paıses con mas universidades en las mejores del mundo y en el area detecnologıa es Inglaterra, el periodico ingles The Guardian4 hace un ranking de universidadesnacional dividido por areas de especialidad. En la tabla 2.4 podemos ver la lista para Cienciasde la Computacion del 2008.
Al ver esta tabla podemos decir que Oxford estara en nuestra lista, ası como Edinburg.La razon por la cual no incluimos mas universidades britanicas es para tener una mayordiversidad dentro de nuestra investigacion.
3Puede consultarse en:http://colleges.usnews.rankingsandreviews.com/usnews/edu/college/rankings/brief/t1natudoc brief.php
4http://www.guardian.co.uk/
2.3. Analisis individuales 9
Lugar Universidad1 Edinburgh2 Oxford3 York4 Bangor
Cuadro 2.4: Mejores universidades de UK en Ciencias de la Computacion
2.3. Analisis individuales
Si elaboraramos nuestra lista en base a las mejores universidades en tecnologıa la mayorıaserıan de Estados Unidos y algunas de Inglaterra. Lamentablemente no hay listados mundialesde las mejores universidades en Ciencias de la Computacion ası que debemos basarnos enalgunos listados locales.
Para esta investigacion se decidio tomar 5 universidades de Estados Unidos para ası tenerun panorama mas global de lo que sucede en Ciencias de la Computacion y tener una pers-pectiva mas amplia, teniendo esto, tomamos 2 universidades inglesas dejandonos 3 espacioslibres. Un primer acercamiento era el listar a la Universidad de Tokyo5, se les contacto perono respondieron y tienen muy poca informacion publica sobre sus programas.
2.3.1. ETH Zurich
ETH Zurich6 conocida tambien como Instituto Federal de Tecnologıa de Suiza es la primeruniversidad en aparecer en el ranking de mejores 20 universidades en Tecnologıa2.2 despues delas universidades de Estados Unidos, Inglaterra, la Universidad de Tokyo, National Universityof Singapore y Toronto. En rankings nacionales de SwissUp Ranking7 tienen el primer lugar enCiencias de la Computacion en 2006. Tambien tiene el primer lugar en un ranking publicadoen el 2006 por CHE8 entre los paıses de lengua Alemana.
2.3.2. National University of Singapore
La National University of Singapore es la primer universidad en la lista de mejores 20universidades en tecnologıa2.2 despues de las universidades de Estados Unidos, Inglaterra yla Universidad de Tokyo.
En 1996 la IEEE publico un artıculo9 donde Singapore plantea ser el primordial centrode investigacion y de ensenanza de Ciencias de la Computacion en Asia para el siglo XXI,
5http://www.u-tokyo.ac.jp/6www.ethz.ch/7http://www.rankingswissup.ch/8Center for Higher Education9Computer science education in the Asia-Pacific region in the 21stcentury
2.3. Analisis individuales 10
teniendo un plan de apoyo a las universidades, destacando la National University of Singa-pore. Que en pocos anos se posiciono como una de las mejores universidades en tecnologıa anivel mundial2.2.
2.3.3. Technion
El Technion conocido tambien como Instituto Tecnologico de Israel tiene un fuerte pro-grama en Ciencias de la Computacion. Un comite internacional reviso el departamento deCiencias de la Computacion en enero de 2000 y mando un reporte al presidente del Techniondonde dice: “El Technion esta llevando a cabo investigacion de nivel mundial en Cienciasde la Computacion... . Tomando en cuenta los logros en investigacion y sus programas deposgrado, pondrıamos al departamento entre los 10 mejores departamentos de Ciencias de laComputacion en Estados Unidos”10
10http://www.cs.technion.ac.il/about/#TOP TEN
Capıtulo 3
Plan de Estudios Actual
3.1. Resumen
El licenciado en Ciencias de la Computacion es un profesional que por sus conocimientosprofundos en matematicas y computacion realiza investigacion y docencia en esta ultima ycolabora aplicando adecuadamente las matematicas y las tecnicas y equipos computacionalespara resolver problemas de investigacion o aplicaciones de otras disciplinas.
El plan de estudios se cursa en ocho semestres. Se compone de 26 materias de caracterobligatorio y 10 a elegir como optativas. En las materias obligatorias podemos identificar a10 de ellas aportando los conocimientos formativos basicos del area de matematicas, y quecorresponde al tronco comun con las licenciaturas de Matematicas y Actuarıa (y en granmedida con la carrera de Fısica). Otras 13 materias obligatorias proporcionan al estudianteuna formacion solida y suficientemente amplia en ciencias de la computacion, y 3 mas propor-cionan herramientas desde el area de matematicas. Con estas materias obligatorias podemosgarantizar que nuestros egresados van a tener una vision amplia y solida de las ciencias de lacomputacion, ası como la formacion basica y el herramentaje matematico necesario para quese desenvuelvan como verdaderos cientıficos, particularmente en el area de las matematicas.
3.2. Plan de estudios
3.2.1. 1 Semestre
Algebra Superior I
Este curso introduce los temas basicos de la Matematica y en particular del Algebra:Son el fundamento de los cursos que se imparten en la carrera. Este curso ofrece laprimera mitad del material que se considera elemental.
Calculo Diferencia e Integral I
11
3.2. Plan de estudios 12
En este primer curso de Calculo se pretende que el alumno conozca los elementosmatematicos basicos que sustentan el concepto de derivabilidad de una funcion entrenumeros reales. Este objetivo hace necesaria una revision detallada de conceptos ma-tematicos tales como el de funcion e incluso el numero real. En particular, se busca queel 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 geometricos, y geometricamente problemasalgebraicos. Ası como interpretar geometricamente propiedades, valores, relaciones ymetodos analıticos y expresar analıticamente propiedades geometricas. Se presentarantambien diferentes alternativas de representacion de lugares geometricos (ecuacionescartesianas, vectoriales, parametricas, polares) identificando sus ventajas, desventajasy algunas de sus aplicaciones.
Matematicas Discretas
Este curso da a los estudiantes una introduccion al area de las matematicas finitas,poniendo especial enfasis en teorıa de algoritmos, graficas, algebra de Boole, inducciony recursion.
3.2.2. 2 Semestre
Algebra Superior II
Este curso continua la presentacion de los conceptos basicos de la Matematica en generaly del Algebra en particular. Al igual que los temas incluidos en Algebra Superior Iconstituyen el fundamento de todos los cursos de esta carrera. Este curso ofrece lasegunda mitad del material basico.
Calculo Diferencia e Integral II
En este segundo curso de Calculo se pretende que el alumno conozca los elementosmatematicos basicos que intervienen en la definicion precisa del concepto de integralde una funcion entre numeros reales. Como en el caso de la derivada, se desea que elalumno adquiera habilidad para manejar los aspectos operacionales y de aplicacion aotras areas, ademas de comprender la estrecha vinculacion matematica que hay entreestos dos conceptos.
Geometrıa Analıtica II
Proporcionar los conocimientos fundamentales que le permitan aplicar diferentes tiposde transformaciones a las curvas presentadas en Geometrıa Analıtica I, ası como re-conocer, analizando una ecuacion de segundo grado con dos o tres variables, el lugar
3.2. Plan de estudios 13
geometrico que representa. Presentar otros sistemas de coordenadas que simplificaranla solucion de problemas de ciertas aplicaciones.
Introduccion a Ciencias de la Computacion I
Este curso introduce la metodologıa de diseno de software utilizando para ello un len-guaje moderno de programacion. Se introduce a los estudiantes al proceso de diseno eimplementacion de un programa que resuelva un problema algorıtmico. Se cubren tiposde datos y se introducen algunos metodos de busqueda y ordenamiento para motivarlos aspectos metodologicos. Se cubren estructuras de control, tipos de datos y abstrac-cion de procedimientos. El curso introduce tambien la historia y el impacto social dela computacion y la naturaleza de la propiedad intelectual. El acceso a un laboratoriodedicado es de primordial importancia para llevar a cabo adecuadamente este curso.
3.2.3. 3 Semestre
Algebra Lineal I
El Algebra lineal es una de las mas antiguas y a la vez una de las mas modernas areasde la Matematica. Tanto por sus conceptos como por su aplicacion en diversas areas delconocimiento se ha convertido en una materia basica en muchas carreras. Este cursoofrece la mitad del conocimiento del Algebra Lineal.
Calculo Diferencia e Integral III
Introducir el concepto de funcion de varias variables y que el alumno conozca la formaen que se extienden las definiciones de lımite, continuidad y derivada par este tipo defunciones. Este curso comprende principalmente una amplia exposicion de los resultadosy propiedades mas relevantes del concepto de derivada para esta clase de funciones.
Introduccion a Ciencias de la Computacion II
Este curso continua con el desarrollo de las ideas fundamentales en el diseno y desa-rrollo de software. Se introduce a los alumnos el concepto de tipo abstracto de datos.Este concepto se aplica a la implementacion de varias estructuras de datos, incluyendostacks, colas y arboles binarios. Se revisan algoritmos de busquedas y ordenamientosque utilizan estas estructuras de datos. Otros temas incluyen recursividad, el ciclo devida del software, especificacion de requisitos e introduccion a verificacion de progra-mas. Tambien en este curso se hace una introduccion superficial a los problemas decomplejidad de algoritmos.
Probabilidad y Estadıstica
En toda profesion se hacen investigaciones que implican observaciones en las que seemplean tacticas que se sistematizan de alguna manera, pero que tienen un fin deter-minado. Estos metodos incluyen a la Estadıstica que se integra al metodo cientıfico a
3.2. Plan de estudios 14
traves de la experimentacion u observacion, y que se utiliza como un dispositivo para so-meter a prueba una hipotesis establecida o para adquirir cierto conocimiento. La mayorparte de las investigaciones dan resultados que son inferencias, es decir, son enunciadosde caracter incierto. La cuantificacion de esa incertidumbre es la Probabilidad.
3.2.4. 4 Semestre
Algebra Lineal II
Al igual que el primer curso de Algebra Lineal I, se presentan conceptos teoricos yaplicaciones basicas para muchas areas de la Matematica moderna. Este curso ofrecela segunda mitad del conocimiento elemental del Algebra Lineal y en el se encuentranlos temas mas profundos del area.
Calculo Diferencia e Integral IV
Exponer las diferentes formas en que el concepto de integral se extiende a funciones devarias variables. Del mismo modo, se pretende que el alumno conozca la interpretacionfısica de los conceptos de integral de lınea y superficie y los importantes teoremasrelacionados con estos conceptos.
Analisis Logico
Introducir al estudiante en el analisis del lenguaje matematico a traves de los lenguajesde primer orden. De estos, se enfatizan por igual tres aspectos: su estructura formal, susemantica (a traves de las estructuras matematicas) y la teorıa de la inferencia logica.
Diseno de Sistemas Digitales
Introducir sistemas digitales, sus modelos matematicos y su realizacion en hardware.Los temas incluyen elementos logicos, tecnicas de minimizacion, organizacion de sis-temas de memoria y arquitectura, interfaces y comunicacion de datos y arquitecturasalternativas incluyendo multiprocesadores y maquinas hipercubo.
3.2.5. 5 Semestre
Teorıa de la Computacion
El curso introduce la teorıa de computabilidad, incluyendo resultados importantes delestudio de automatas y lenguajes formales. El curso empieza con una discusion deautomatas y su relacion con lenguajes regulares, libres de contexto y dependientes delcontexto. Se representan teorıas generales de computabilidad incluyendo las Maquinasde Turing, funciones recursivas y calculo lambda. Se discuten nociones de dicibilidad eindicibilidad y se relaciona esto con analisis de complejidad. Finalmente se presentany analizan enfoques a semantica de programas, llevando esto a una breve introduccional tema de verificacion formal de programas.
3.2. Plan de estudios 15
Arquitectura de Computadoras
Tratar alternativas de diseno en arquitectura de computadoras. Revisa y cubre la or-ganizacion de la maquina en el ambito de lenguaje ensamblador, la organizacion delsubsistema de memoria, concepto de interfaces y aspectos que surgen al manejar lascomunicaciones en el procesador. Se estudian tambien algunas arquitecturas alternati-vas.
Analisis de Algoritmos I
Este curso da un tratamiento profundo de analisis de complejidad. Ayudan a motivar ydesarrollar el tema varios algoritmos de busqueda y ordenamientos, ası como metodosde espacios de busqueda del area de Inteligencia Artificial y estructuras de archivosutilizados en sistemas de bases de datos. Se discuten clases de complejidad, ası como lanaturaleza de la NP-completez e intratabilidad. Esto lleva a una discusion de compu-tabilidad y de la maquina universal de Turing. Se discuten algunos problemas asociadoscon algoritmos paralelos.
Optativa
Optativa
3.2.6. 6 Semestre
Lenguajes de Programacion y sus Paradigmas
Introducir al estudiante a la naturaleza de los lenguajes de programacion contem-poraneos, empezando por una revision profunda de lenguaje ensamblador y finalizandocon un tratamiento profundo de un lenguaje verdadero orientado a objetos (tal co-mo Smalltalk o Eiffel). Se discute la evolucion de lenguajes imperativos (FORTRAN,Algol, PL/I, Pascal) y lenguajes funcionales (Lisp, Scheme, ML). Adicionalmente seintroducen conceptos fundamentales de diseno e implementacion de los lenguajes dealto nivel, incluyendo los conceptos de ligado, chequeo de tipos y administracion dememoria durante ejecucion.
Inteligencia Artificial
Dar un panorama selectivo de conceptos clave y aplicaciones de la inteligencia artificial,junto con una experiencia extensa con algun lenguaje que se utilice comunmente paraconstruir sistemas de IA (Lisp, Prolog). Los subsistemas incluyen representacion del co-nocimiento, busqueda en el espacio de estados, busqueda heurıstica, sistemas expertos,proceso del lenguaje natural, logica proposicional, modelos de aprendizaje y vision.
Sistemas Operativos
3.2. Plan de estudios 16
Se inicia con un tratamiento razonablemente profundo de sistemas operativos y conclu-ye con una breve introduccion a los sistemas de bases de datos. Los temas de sistemasoperativos incluyen tareas, procesos, sincronizacion de procesos, organizacion de memo-ria fısica y virtual, sistemas operativos distribuidos, seguridad y privacıa. En apoyo aestos temas de sistemas operativos, se introducen construcciones de sistemas de progra-macion que apoyan la concurrencia. Los temas de bases de datos incluyen organizacionfısica de bases de datos y su modelo relacional.
Sistemas de Bases de Datos
Este curso cubre lo referente a sistemas de bases de datos, cuyos temas incluyen mode-los de datos (Entidad-Relacion, relacional y orientado a objetos); lenguaje de consulta(algebra racional, calculo relacional); el diccionario de datos; implementacion del nucleode un sistema de bases de datos relacional y ejemplos concretos de lenguajes y sistemasde bases de datos comerciales. Otros temas que tambien se cubren son: Optimizacion delas consultas; teorıa de las formas normales y el diseno de la base de datos; proceso detransacciones, control y recuperacion de errores; seguridad e integridad; sistemas dis-tribuidos de bases de datos; interfaces con los usuarios y lenguajes de consulta graficos;estudio de la organizacion fısica de las bases de datos; tecnologıas modernas (hipertextoy sistemas basados en el conocimiento).
Optativa
3.2.7. 7 Semestre
Analisis Numerico
Introducir algoritmos eficientes y estables para la resolucion de problemas matematicosplanteados por las necesidades del desarrollo de las ciencias y la tecnologıa, haciendoenfasis en sus alcances y limitaciones. Se introduce tambien el manejo de software decalidad para cada uno de los temas tratados.
Redes de Computadoras
Este tema le da al estudiante fundamentos para el estudio de redes de computadoras. Secubren los metodos y practicas de actualidad que se utilizan en redes de computadoraspara permitir la comunicacion. Se cubren tambien los elementos fısicos y arquitectoni-cos, ası como las capas de informacion para una red de comunicacion, junto con lasherramientas de diagnostico, diseno, operacion y medidas de eficiencia que se utilizanpara 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 tiempocompartido tradicional. Subtemas importantes incluyen protocolos de comunicacion y
3.2. Plan de estudios 17
arquitectura de redes, nodos de la red, eslabones de datos, conmutaciones y enruta-mientos, protocolos terminal-a-terminal (end to end), Redes locales y seguridad de losdatos.
Ingenierıa de Software
Este curso presenta un estudio profundo de muchos de los temas de ingenierıa de soft-ware, especificacion de requisitos, diseno funcional y orientado a objetos, verificaciony mantenimiento de software. Se discuten ambientes y herramientas de software y seintroduce a los estudiantes a su uso. Se consideran tambien implicaciones sociales ta-les como el costo de las fallas y las responsabilidades profesionales. El curso tambiencomprende una introduccion a la interaccion computadora-humano y una discusion dealgunas interfaces de software vistas desde el punto de vista de ingenierıa de software.Este curso requiere de la participacion de los estudiantes en proyectos por equipos.
Optativa
Optativa
Capıtulo 4
Planes de Estudio de OtrasUniversidades
4.1. Carnegie Mellon
4.1.1. Resumen
La Licenciatura en Ciencias de la Computacion combina una base solida de clases deCiencias de la Computacion con la capacidad de obtener un conocimiento profundo en otraarea mediante una especializacion requerida. Ademas, hay muchas opciones dentro de lasareas de ciencias y humanidades para escoger clases. Al ser la Ciencias de la Computacionuna disciplina con fuertes lazos a muchos campos, esto le da a los estudiantes una granflexibilidad para perseguir intereses ligados.
Las clases de matematicas y estadısticas del plan de estudios aseguran que el estudiantetenga las herramientas formales para mantenerse al dıa mientras las tecnologıas y sistemascambian, en lugar de estar limitado por un enfoque cerrado en programacion unicamente. Almismo tiempo, los estudiantes profundizan en elementos practicos de construccion y man-tenimiento de sistemas participando en clases orientadas fuertemente a proyectos. Debido ala enorme cantidad de proyectos de investigacion que hay en la universidad, muchos estu-diantes consiguen trabajos de medio tiempo o de verano, o reciben creditos independientestrabajando en investigacion mientras estudian su licenciatura. Los estudiantes que buscanuna escuela de investigacion o de posgrado pueden buscar una clase intensiva de investiga-cion, equivalente a cuatro clases normales, culminando en la preparacion para una tesis deinvestigacion con honores.
18
4.1. Carnegie Mellon 19
4.1.2. Plan de Estudios
1 Semestre
Programacion Introductoria e Intermedia
Curso opcional, en caso de que no se tengan conocimientos en programacion, si setienen, se pasa directamente a Programacion Intermedia y Avanzada. Introduccion alproceso de diseno y analisis de programas usando Java como lenguaje de programacionpara estudiantes que no tengan ninguna experiencia previa de programacion. Los temasa tratar incluyen tipos de datos basicos y sus operadores, entrada/salida, estructurasde control, clases (incluyendo metodos y campos), arreglos y algoritmos simples deordenamiento y busqueda.
Programacion Intermedia y Avanzada
Introduccion al proceso de diseno y analisis de programas usando Java como lenguajede programacion para estudiantes con alguna experiencia previa en programacion. Lostemas a tratar incluyen un resumen de los conceptos fundamentales de programacionusando Java, ası como tecnicas de programacion orientada a objetos, estructuras dedatos (listas ligadas, pilas, colas, arboles y graficas) y una introduccion al analisis dealgoritmos que operan en esas estructuras de datos.
Calculo Diferencial e Integral
Funciones, lımites, derivadas, funcion logaritmo, exponencial, y trigonometricas, fun-ciones inversas; regla de L’Hospital, graficacion de curvas, teorema del valor medio,aproximaciones lineales y cuadraticas, problemas de maximos y mınimos, integralesdefinidas e indefinidas, funciones hiperbolicas, aplicaciones de integracion, integracionpor sustitucion y por partes.
Conceptos de Matematicas
Este curso presenta los conceptos, ideas y herramientas basicos para hacer matematicas.Ası mantiene la atencion en presentar la logica informal y metodos para las demostracio-nes matematicas. Los temas incluyen una introduccion a teorıa de numeros, induccion,teorıa de conjuntos, relaciones de equivalencia, congruencias, particiones y funciones,incluyendo inyectivas, suprayectivas y biyectivas.
Interpretacion y argumentacion
Este curso le da a los estudiantes una base en el proceso de la comunicacion. La clase seenfoca en la interpretacion de argumentos, el proceso de comunicacion, y el desarrollosocial y personal.
Computacion @ Carnegie Mellon
4.1. Carnegie Mellon 20
Este curso trata de informacion especıfica de Carnegie Mellon que ayude a los estudian-tes a entender cuales son los recursos que tienen disponibles y que responsabilidadestienen como usuario de la la comunidad de computacion.
Curso de Ciencia/Ingenierıa
Curso optativo de las areas de Ciencia o Ingenierıa.
2 Semestre
Fundamentos en Estructuras de Datos y Algoritmos
Conceptos fundamentales de programacion son presentados junto con fundamentosteoricos y aplicaciones practicas. Este curso se enfoca en la aplicacion practica de tecni-cas para escribir y analizar programas: abstraccion de datos, verificacion de programas yanalisis de desempeno. Estas tecnicas son aplicadas en el diseno y analisis de algoritmosy estructuras de datos fundamentales.
Grandes Ideas Teoricas en Ciencias de la Computacion
Este curso es sobre como usar ideas teoricas para formular y resolver problemas enciencias de la computacion. Integra material de matematicas con tecnicas de resolu-cion de problemas y aplicaciones de ciencias de la computacion. Se usan ejemplos deAlgoritmos, Complejidad, Teorıa de Juegos, Probabilidad, Teorıa de Graficas, Teorıade Automatas, Algebra, Criptografıa y Combinatoria. Las tareas son tanto de pruebasmatematicas y programacion.
Integracion, Ecuaciones Diferenciales y Aproximacion
Integracion por substitucion trigonometrica y fracciones parciales, longitud de arco, in-tegrales impropias, regla de Simpson para integracion numerica, ecuaciones diferencialesde primer orden, ecuaciones diferenciales homogeneas de segundo orden con coeficientesconstantes, solucion de series, metodo de Newton, Teorema de Taylor.
Curso de Ciencia/Ingenierıa
Curso optativo de las areas de Ciencia o Ingenierıa.
Optativo de Artes y Humanidades
Curso optativo de Artes o humanidades.
3 Semestre
Programacion Eficaz en C y UNIX
Este curso esta disenado para brindar un contacto importante con el lenguaje de pro-gramacion C y el ambiente de programacion UNIX para los estudiantes con experiencia
4.1. Carnegie Mellon 21
previa en programacion pero mınimo contacto con C. Caracterısticas del lenguaje Cque se resaltan incluyen arreglos, structs y uniones, asignacion dinamica de memoria(malloc y free), apuntadores, aritmetica de apuntadores, y casting. Las estructuras dedatos que se tratan incluyen listas y tablas de hash. Los estudiantes desarrollaran unsentido de correcto estilo de programacion en el idiom de C, y se expondran a proble-mas de portabilidad entre plataformas. Los estudiantes aprenderan a usar herramientascomo emacs/vi, make y gdb para apoyarse en el diseno, prueba y depuracion de susprogramas. Los estudiantes aprenderan sobre expresiones regulares y grep y podranusar un lenguaje de scripting como Perl para resolver problemas sencillos.
Principios de Programacion
Este curso presenta principios y tecnicas de programacion, enfocandose en metodos so-fisticados para especificar, construir y razonar programas de computadora. A traves decaracterısticas de un lenguaje de programacion 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 infinitascomo flujos; para construir funciones de primera clase y continuations; y para construirprogramas grandes usando composicion por modulo avanzada. Tambien introduce eluso de metodos formales para especificar y verificar programas.
Algebra Matricial
Vectores y matrices, solucion de sistemas lineales de ecuaciones, espacios vectoriales ysubespacios, ortogonalidad, determinantes, eigenvalores y eigenvectores reales y com-plejos, transformaciones lineales.
Curso de Ciencia/Ingenierıa
Curso optativo de las areas de Ciencia o Ingenierıa.
Optativo de Artes y Humanidades
Curso optativo de Artes o humanidades.
4 Semestre
Introduccion a los Sistemas Computacionales
Este curso da una vision sobre como las computadoras ejecutan programas desde elpunto de vista de un programador, almacenan informacion, y se comunican. Permiteal estudiante convertirse en un mejor programador, especialmente al enfrentarse a pro-blemas de desempeno, portabilidad y robustez. Tambien sirve como la base para loscursos de Compiladores, Redes, Sistemas Operativos y Arquitectura de Computadoras,donde se requiere una comprension mas a fondo de temas de nivel de sistema. Lostemas cubiertos son: codigo a nivel de maquina y su generacion por compiladores de
4.1. Carnegie Mellon 22
optimizacion, evaluacion y optimizacion de desempeno, aritmetica de computadoras,organizacion y manejo de memoria, tecnologıas y protocolos de red, y computacionconcurrente.
Comunicacion Tecnica para Ciencias de la Computacion
Este curso esta disenado para que los estudiantes mejoren sus habilidades en la comu-nicacion oral y escrita en el ambito tanto practico como profesional. Pretende ayudar alos estudiantes a realizar presentaciones tecnicas, claras y concisas para diferentes nive-les de audiencia. Las tareas incluyen definiciones tecnicas, descripciones, instrucciones,explicacion de procesos, resumenes, memos, y reportes de proyectos. Las tareas puedenincorporar investigaciones recientes de Ciencias de la Computacion en Carnegie Mellon,proyectos en cursos tecnicos, y casos profesionales de estudio.
Optativa Ciencias de la Computacion
Curso optativo de Ciencias de la Computacion.
Curso de Ciencia/Ingenierıa
Curso optativo de las areas de Ciencia o Ingenierıa.
Optativo de Artes y Humanidades
Curso optativo de Artes o humanidades.
5 Semestre
Diseno y Analisis de Algoritmos
En este curso se estudian algoritmos especıficos para una variedad de problemas, ası co-mo tecnicas generales para diseno y analisis. Temas especıficos incluyen busquedas,ordenamiento, algoritmos para problemas de graficas, estructuras de datos eficientes,cotas inferiores y NP-completez. Varios otros temas pueden verse a discrecion del maes-tro. Estos incluyen algoritmos paralelos, algoritmos aleatorios, algoritmos geometricos,tecnicas de bajo nivel para programacion eficiente, criptografıa y protocolos criptografi-cos.
Optativa Ciencias de la Computacion
Curso optativo de Ciencias de la Computacion.
Curso de Probabilidad
Curso de Probabilidad.
Curso de Ciencia/Ingenierıa
Curso optativo de las areas de Ciencia o Ingenierıa.
4.1. Carnegie Mellon 23
Optativo de Artes y Humanidades
Curso optativo de Artes o humanidades.
4.1.3. Materias Optativas
Ciencias de la Computacion
Aplicaciones
• Sistemas musicales y Procesamiento de Informacion
• Inteligencia Artificial: Representacion y Solucion de Problemas
• Manipulacion de Robots
• Vision Computacional
• Ingenierıa de Software
• Aplicaciones de Bases de Datos
• Desarrollo de Aplicaciones Web
• Graficacion por Computadora
• Fotografıa por Computadora
• Tecnologıas del Lenguaje Humano
• Neurociencia Computacional
• Inteligencia Artificial: Aprendizaje de Maquinas
• Laboratorio de Programacion de Robots Moviles
Fundamentos de Algoritmos
• Matematicas Discretas para Computacion
• Algebra Computacional Moderna
• Deteccion de Errores: Verificacion y Pruebas Automaticas de Programas
• Combinatoria
• Estructuras Algebraicas
• Teorıa de Graficas
Fundamentos de Programacion
• Fundamentos de Lenguajes de Programacion
• Logica Constructiva
4.1. Carnegie Mellon 24
• Lenguajes Formales y Automatas
• Modelos de Sistemas de Software
• Logica Basica
• Logica y Computacion
• Computabilidad e Incompletez
Programacion de Sistemas
• Diseno e Implementacion de Sistemas Operativos
• Arquitectura de Computadoras y Programacion Paralelas
• Redes de Computadoras
• Introduccion a Arquitectura de Computadoras
Matematicas y Probabilidad
Probabilidad
• Probabilidad y Computacion
• Probabilidad
• Teorıa de Probabilidad y Procesos Aleatorios
• Introduccion a la Probabilidad y Estadıstica I
• Probabilidad y Estadıstica Matematica I
Ingenierıa y Ciencias Naturales
Introduccion a la Quımica Experimental
Ingenierıa de los Materiales del Futuro
Fısica Experimental
Metodos de Investigacion en la Psicologıa Cognitiva
4.2. MIT 25
4.2. MIT
4.2.1. Resumen
Ciencias de la Computacion en el MIT es un poco diferente de los programas ofrecidospor la mayorıa de las universidades. Muchos estudiantes potenciales no entienden a fondocomo es la carrera aquı. No es sobre “programacion de aplicaciones,” o “procesamiento dedatos,” o “diseno web”. “Analista de sistemas” no es el tipo de trabajo al que los estudiantesdel MIT aspiran despues de graduarse (para el segundo ano es facil conseguir un trabajoen el campus). En el MIT uno empieza aprendiendo a lidiar con complejidad, abstracciony modelado, despues se estudia Arquitectura de Computadoras (como disenar sistemas decomputo), Inteligencia Artificial, modelado, y teorıa. Hay una buena parte de matemati-cas avanzadas. Las Ciencias de la Computacion estudia como hacer las computadoras masrapidas, eficientes, y mas inteligentes. El Licenciado en Ciencias de la Computacion tiene lahabilidad de desempenarse en una amplia gama de trabajos. La amplitud de sus estudios lepermite aprender rapidamente la variedad de lenguajes y maquinas usadas en la industria.La profundidad de estudio da un mejor entendimiento del problema y de como resolverlo. Elplan de estudios es igual de intensivo que el de Ingenierıa Electronica. No puedes hacer unsalto a la licenciatura estudiando programacion en preparatoria. El curso introductorio deCiencias de la Computacion se ensena en Python, y el laboratorio de Ingenierıa de Softwareutiliza Java, C++ tambien puede ser util para las oportunidades de investigacion.
La investigacion en Ciencias de la Computacion en el MIT cubre muchas areas, algunasson:
Diseno y control de robots
Hacer que las maquinas escuchen, vean, se muevan y aprendan
El uso de maquinas inteligentes como recurso para tomar decisiones
Uso de computadoras en la educacion
Uso de computadoras para diseno de chips
Hacer que las computadoras sean faciles de usar
Determinar si un problema se puede resolver
Hacer mejores lenguajes de programacion
Automatizar oficinas y otras funciones
Hacer que las computadores se comuniquen unas con otras
Probabilidad Aplicada
4.2. MIT 26
Toma de decisiones en medicina
Graficas de computadora
Los Licenciados en Ciencias de la Computacion obtienen trabajos desarrollando sistemaspara la Ciencia, empresas, o por diversion. Algunos se unen a grandes companıas comoGoogle, Microsoft, Oracle o IBM; otros se unen o empiezan pequenas companıas emergentes.Algunos disenan videojuegos, otros trabajan en supercomputadoras o robots. Los Licenciadosen Ciencias de la Computacion del MIT estan detras del diseno y desarrollo de la mayorıade las computadoras del mercado.
4.2.2. Plan de Estudios
El plan de estudios en el MIT acaba de reestructurarse y aquı se presenta el nuevo plande estudios valido a partir de 2008.
1 Semestre
Calculo I
Diferenciacion e integracion de funciones de una variable, con aplicaciones. Estudioinformal de lımites y continuidad. Diferenciacion: definicion, reglas, aplicacion a la gra-ficacion, tazas de cambio, aproximaciones y problemas de maximos y mınimos. Integra-cion indefinida; ecuaciones diferenciales de primer orden. Integracion definida; teoremafundamental del calculo. Aplicaciones de la integracion a la Geometrıa y la Ciencia.Funciones elementales, tecnicas de integracion, coordenadas polares, regla de L’Hopital,integrales impropias, series infinitas: geometricas, armonicas, series de potencias de al-gunas funciones elementales.
Introduccion a las Ciencias de la Computacion y la Programacion
Introduccion a las Ciencias de la Computacion y la programacion para estudiantescon poca o sin ninguna experiencia en programacion. Los estudiantes aprenderan comoprogramar y como usar tecnicas computacionales para resolver problemas. Los temasincluyen algoritmos, tecnicas de simulacion y uso de bibliotecas de software. Las tareasse hace utilizando Python como lenguaje de programacion.
Fısica I
Introduccion a la mecanica clasica. Espacio y tiempo: cinematica de lınea recta; mo-vimiento en el plano; fuerzas y equilibrio estatico; dinamica de partıculas, con fuerzay conservacion del momento; inercia; trabajo, energıa potencial y conservacion de la
4.2. MIT 27
energıa; teorıa cinetica y gases ideales; cuerpos rıgidos y dinamica rotacional; movimien-tos vibratorios; conservacion del momento angular; mecanica de fluidos. La materia seimparte utilizando TEAL1.
2 Semestre
Calculo II
Calculo de varias variables. Algebra vectorial en tres dimensiones, determinantes, matri-ces. Funciones escalares con varias variables: diferenciacion parcial, gradientes, tecnicasde optimizacion. 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 superficieen el espacio, teorema de Divergencia, teorema de Stokes; aplicaciones.
Fısica II
Introduccion al electromagnetismo y a la electroestatica: carga electrica, ley de Coulomb,estructura electrica de la materia, conductores y dielectricos. Conceptos de campos elec-troestaticos y potencial, energıa electroestatica. Corriente electrica, campos magneticosy Ley de Ampere. Materiales magneticos. Campos variables con el tiempo y Ley de In-duccion de Faraday. Circuitos electricos basicos. Ondas electromagneticas y ecuacionesde Maxwell. La materıa se imparte utilizando TEAL 1.
Matematicas para Ciencias de la Computacion
Matematicas discretas para Ciencias de la Computacion e Ingenierıa. Se enfoca endefiniciones matematicas y demostraciones ası como en metodos aplicables. Los te-mas incluyen: notacion de logica formal, metodos de demostracion; induccion, buenorden; conjuntos, relaciones; teorıa de graficas basica; congruencias de enteros; nota-cion asintotica y crecimiento de funciones; permutaciones y combinaciones, principiosde conteo; probabilidad discreta. Algunos temas mas avanzados incluyen: definicion derecursividad; maquinas de estado e invariantes; recurrencias; funciones generadoras.
3 Semestre
Ecuaciones Diferenciales
Estudio de ecuaciones diferenciales ordinarias, incluyendo el modelado de sistemasfısicos. Solucion de ecuaciones diferenciales ordinarias de primero orden por metodosanalıticos, graficos y numericos. Ecuaciones diferenciales ordinarias lineales, principal-mente de segundo orden con coeficientes constantes. Numeros complejos y exponencia-les, ecuaciones no homogeneas con entradas: polinomiales, senoidales y exponenciales.
1Technology-Enabled Active Learning - Formato en el que pequenos grupos interactuan con experimentossobre la mesa utilizando computadoras portatiles para la recoleccion de datos y resolucion de problemas.
4.2. MIT 28
Oscilaciones, amortiguamiento, resonancia. Series de Fourier. Metodos de transforma-cion de Laplace; convolucion y funcion delta. Metodos de matrices para sistemas linealesde primer orden: eigenvalores y eigenvectores, exponenciales de matrices, variacion deparametros. Sistemas autonomos no lineales: analisis de puntos crıticos, aplicaciones almodelado.
Algebra Lineal
Materia elemental sobre teorıa de matrices y Algebra Lineal, se enfoca en temas utilespara otras disciplinas, incluyendo sistemas de ecuaciones, espacios vectoriales, deter-minantes, eigenvalores, descomposicion 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.
Introduccion a Ciencias de la Computacion I
Introduccion a Ciencias e Ingenierıa en Computacion, se imparte utilizando una canti-dad considerable de experimentos de laboratorio con robots moviles. Cuestiones clavesen el diseno de artefactos que operen en el mundo natural: medicion y modelado delcomportamiento de sistemas; evaluar errores en sensores; especificar tareas; disenarsoluciones basadas en modelos analıticos y computacionales; planeacion, ejecucion yevaluacion de pruebas experimentales de desempeno. Problemas en el contexto de pro-gramas de computadoras, sistemas de control, problemas de inferencia probabilıstica,circuitos y transductores.
4 Semestre
Introduccion a Ciencias de la Computacion II
Introduccion a Ciencias e Ingenierıa en Computacion, se imparte utilizando una canti-dad considerable de experimentos de laboratorio que exploran las senales de comunica-cion, sistemas y redes. Caracterizacion fısica y modelacion de sistemas de transmisionen tiempo y frecuencia; senales digitales y analogas; codificacion, detectar y corregirerrores; relacionar la taza de transmision de informacion con el poder de la senan,ancho de banda y ruido; ingenierıa de las redes con cambio de paquetes. Estos expe-rimentos se usan para mostrar la abstraccion y modularidad en el diseno; construirsistemas confiables usando componentes imperfectos; seleccionar la metrica apropiada;elegir representaciones eficaces de la informacion; analizar el desempeno y correctud dealgoritmos; compromisos de desempeno en sistemas complejos.
Principios de Desarrollo de Software
Introduccion a los principios y tecnicas fundamentales del desarrollo de software quetiene mayor impacto en la practica. Los temas incluyen capturar la esencia de un pro-blema reconociendo e inventando abstracciones adecuadas; paradigmas y patrones de
4.2. MIT 29
diseno clave; el rol de las interfaces y especificaciones para alcanzar modularidad y di-sociacion; razonar sobre el codigo usando invariantes, precondiciones y postcondiciones;pruebas, generacion de casos de pruebas y alcance; fundamentos de programacion conobjetos, funciones y tipos abstractos. El trabajo del estudiante incluye ejercicios enmodelado, diseno, implementacion y razonamiento.
Introduccion a los Algoritmos
Introduccion al modelamiento matematico de problemas computacionales, ası comoalgoritmos comunes, paradigmas de los algoritmos y estructuras de datos utilizadas pararesolver estos problemas. Enfatiza la relacion entre los algoritmos y la programacion eintroduce tecnicas basicas de medicion de desempeno y analisis para estos problemas.
5 Semestre
Arquitectura de Computadoras
Introduccion a la arquitectura de los sistemas digitales, enfocandose en principios es-tructurales comunes para un amplio rango de tecnologıas. Estrategias de implemen-tacion multinivel; definicion de nuevas primitivas (compuertas, instrucciones, procedi-mientos y procesadores) y su mecanizacion utilizando elementos de bajo nivel. Analisisde concurrencia potencial; limitaciones de precedencia y medidas de desempeno, siste-mas multimdimensionales y con pipeline. Problemas de diseno en conjuntos de instruc-ciones; soporte en la arquitectura para estructuras de software actuales.
Diseno y Analisis de Algoritmos
Tecnicas para el diseno y analisis de algoritmos eficientes, haciendo enfasis en metodosutiles en la practica. Los temas incluyen ordenamiento, arboles de busqueda, montıculos,pilas y tablas hash; divide y venceras; programacion dinamica, algoritmos glotones;analisis amortizado; algoritmos en graficas; y camino mas corto. Los temas avanzadosincluyen flujo de redes; geometrıa computacional, calculos polinomiales y matriciales;y computacion paralela.
Inteligencia Artificial
Da una introduccion a las representaciones, tecnicas y arquitecturas utilizadas paraconstruir sistemas aplicados y para contar con inteligencia desde un puto de vistacomputacional. Aplicaciones del encadenamiento de reglas, busqueda heurıstica, pro-pagacion de restricciones, busqueda con restricciones, herencia y otros paradigmas pararesolver problemas. Aplicaciones de arboles de identificacion, redes neuronales, algorit-mos geneticos y otros paradigmas de aprendizaje. Especular sobre las contribucionesde la vision 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: tecnicaspara controlar complejidad; fuerte modularizacion usando el diseno cliente-servidor,sistemas operativos; desempeno, redes; nombres; seguridad y privacidad; sistemas to-lerantes a fallas, coordinacion de actividades concurrentes, y recuperacion; impacto delos sistemas de computo en la sociedad. Casos de estudio de sistemas reales y lecturasactuales proveen comparacion y contraste. Dos proyectos de diseno. Loes estudiantesparticipan en amplios ejercicios para la comunicacion escrita.
Laboratorio de Ingenierıa de Software
Presenta conceptos y tecnicas relevantes en la produccion de grandes sistemas de soft-ware. Se ensena una metodologıa de programacion basada en el reconocimiento y des-cripcion de abstraccuiones utiles. Los temas incluyen modularidad; especificaciones;abstraccion de datos; modelacion de objetos; patrones de diseno; y pruebas. Los estu-diantes realizaran varios proyectos de distintos tamanos individualmente y por equipos.
7 Semestre
Preparacion para Proyecto Avanzado de Licenciatura2
Los estudiantes aprenderan distintos aspectos para dar buenas presentaciones habla-das al presentarles diferentes habilidades de comunicacion. Como preparacion para elProyecto Avanzado de Licenciatura los estudiantes investigan sobre diversos temas,identifican un supervisor para su investigacion y preparan una propuesta de investiga-cion para una presentacion tanto oral como escrita.
8 Semestre
Proyecto Avanzado de Licenciatura
Proyecto de investigacion para aquellos que esten por completar la Licenciatura, secoordina entre los estudiantes y miembros de la Facultad.
2UAP - 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 siuna serie de cursos por completar, cada curso dura un cuatrimestre y en general la carrerapuede completarse en cuatro anos.
Al entrar a Stanford se hacen examenes de Computacion y de Matematicas y dependien-do de los resultados se puede no tomar algunas materias introductorias. Tambien existencursos que pueden tomarse en dos cuatrimestres o una version acelerada del curso en un solocuatrimestre.
Aquı cubriremos todos los cursos introductorios y las materias aceleradas y nos basaremosen uno de los planes recomendados por Stanford.
4.3.2. Plan de Estudios
1 Cuatrimestre
Calculo 1
Introduccion al calculo diferencial e integral en funciones de una variable. Se cubre:repaso de las funciones elementales incluyendo exponenciales y logaritmos, tasas decambio derivacion, introduccion a la integral definida e integracion.
Optativa de Ciencias
2 Cuatrimestre
Calculo 2
Continuacion de calculo uno, se cubre: metodos de integracion simbolica y numeri-ca, aplicaciones de la integral definida, introduccion a ecuaciones diferenciales, seriesinfinitas.
Mecanica
3 Cuatrimestre
Optativa de Matematicas
Electricidad y Magnetısmo
4.3. Stanford 32
4 Cuatrimestre
Metodologıa de Programacion
Introduccion a la programacion de aplicaciones de computadora enfatizando principiosmodernos de ingenierıa de software: diseno orientado a objetos, descomposicion, en-capsulamiento, abstraccion y pruebas. Se usa Java como lenguaje de programacion. Sealienta al estudiante a un buen estilo de programacion y las funcionalidades de Java.
Optativa de Ingles
5 Cuatrimestre
Abstracciones de Programacion
Abstraccion y su relacion con la programacion. Principios de ingenierıa de software, abs-traccion de datos y modularizacion. Programacion orientada a objetos, estructuras dedatos fundamentales (pilas, colas, grupos) y diseno orientado a los datos. Recursividady estructuras de datos recursivas (listas ligadas, arboles). Introduccion a el analisis decomplejidad de espacio y tiempo. Se usa C++ como lenguaje de programacion cubriendosus aspectos basicos.
Optativa de Matematicas
6 Cuatrimestre
Paradigmas de Programacion
Manejo avanzado de memoria en C y C++; diferencias entre el los paradigmas imperativosy de orientacion a objetos. El paradigma funcional (usando LISP) y programacionconcurrente (usando C y C++). Introduccion a otros lenguajes de programacion modernoscomo Python, Objective C y C#.
Introduccion a la Electronica
El curso es una introduccion a la electronica impartido por el departamento de Inge-nierıa Electrica.
Optativa de Tecnologıa en la Sociedad
7 Cuatrimestre
Matematicas Discretas para Ciencias de la Computacion
Fundamentos matematicos requeridos para Ciencias de la Computacion. Logica propo-sicional y de predicados, tecnicas de demostracion, induccion, recursion, combinatoriay funciones.
4.3. Stanford 33
Diseno de Sistemas Orientado a Objetos
Diseno y construccion de software en el contexto de grandes bibliotecas de programacionorientada a objetos, se utiliza Java. Revision de programacion orientada a objetos, laestructura de una interfaz de usuario, bibliotecas de programacion orientada a objetos,diseno y construccion de aplicaciones con interfaz grafica, estrategias de ingenierıa desoftware para programacion orientada a objetos, acercamiento a la programacion enequipo.
8 Cuatrimestre
Estructuras Discretas
Continuacion de Matematicas Discretas para Ciencias de la Computacion, analisis dealgoritmos, relaciones de recurrencia, formulaciones matematicas de modelos de datosbasicos (conjuntos, relaciones, modelos lineales, arboles y graficas), expresiones regula-res, gramaticas y automatas finitos.
Compiladores
Principios y practicas para el diseno e implementacion de compiladores e interpretes.Analisis lexico, teorıa de parsing, tablas de sımbolos, sistemas de tipos, alcances, analisissemantico, representaciones intermedias, entornos en tiempo de ejecucion, generacionde codigo y analisis y optimizacion basicos de programas. Los estudiantes construyenun compilador para un lenguaje sencillo orientado a objetos durante el curso.
Optativa de Ciencias de la Computacion
9 Cuatrimestre
Introduccion a Automatas y Teorıa de Complejidad
Campos regulares: automatas finitos, expresiones regulares, equivalencias entre notacio-nes, metodos para probar que un lenguaje no es regular. Lenguajes libres de contexto,gramaticas, automatas de pila, forma normal de gramaticas, probar que un lenguaje noes libre de contexto. Maquinas de Turing: formas equivalentes, indecibilidad. Maquinasde Turing no deterministas: propiedades, la clase NP, problemas completos para NP,teorema de Cook, reduccion entre problemas.
Teorıa de la Probabilidad
Espacios probabilısticos para fenomenos con regularidad estadıstica. Espacios discre-tos (binomial, hipergeometrica, Poisson). Espacios continuos (normal, exponencial) ydensidades. Variables aleatorias, especulacion, independencia, probabilidad condicional.Introduccion a las reglas de los grandes numeros y el teorema del valor central.
Optativa de Ciencias de la Computacion
4.3. Stanford 34
10 Cuatrimestre
Sistemas Operativos y Programacion de Sistemas
Diseno e implementacion de sistemas operativos. Estructura basica, mecanismos desincronizacion y comunicacion, implementacion de procesos, manejo de procesos, plani-ficacion y proteccion; organizacion y manejo de memoria, incluyendo memoria virtual;Manejo de dispositivos de entrada y salida, almacenamiento secundario, y sistemas dearchivos.
Diseno y Analisis de Algoritmos
Algoritmos eficientes para ordenar, buscar y seleccionar. Analisis de algoritmos: analisisdel peor y mejor caso. Estructuras de datos: arboles balanceados, montıculos, tablasde hash. Tecnicas de diseno de algoritmos: divide y venceras, programacion dinamica,algoritmos glotones, analisis amortizado. Algoritmos para problemas fundamentales engraficas como busqueda primero en profundidad, componentes conectados , ordena-miento topologico y caminos mas cortos. Posibles temas adicionales: flujos en una red,busqueda de cadenas, computacion paralela.
Sistemas Digitales II
Como estudiante de Ciencias de la Computacion 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 diseno de sistemas di-gitales basados en procesadores. Los temas principales son: conjuntos de instrucciones,modos de direccionamiento, tipos de datos, programacion en lenguaje ensamblador,estructuras de datos de bajo nivel, introduccion a los sistemas operativos, compilado-res, microarquitectura de procesadores, entubamiento, sistemas de memoria y caches,entrada/salida, interrupciones.
11 Cuatrimestre
Introduccion a la Inteligencia Artificial
Conceptos, representaciones y tecnicas usadas en construir sistemas computacionalespracticos (agentes) que parecen mostrar inteligencia artificial mediante el uso de algorit-mos de procesamiento de informacion adaptables. Se cubre: historia de la InteligenciaArtificial, busqueda heurıstica, planeacion, satisfaccion de restricciones , representa-cion del conocimiento y razonamiento incierto , aprendizaje de maquinas, clasificacion,aplicaciones al lenguaje y la vision.
Introduccion a la Robotica
Fundamentos de cinematica en la robotica, dinamica, control, planeacion del movimien-to, generacion de trayectorias, programacion y diseno.
4.3. Stanford 35
12 Cuatrimestre
Proyecto de Software
Diseno, especificacion, programacion y pruebas de un proyecto de programacion porequipo supervisado por miembros de la facultad. La documentacion incluye una pro-puesta detallada. Demostracion publica del proyecto al finalizar el cuatrimestre.
Optativa Avanzada de Ciencias de la Computacion
4.4. University of California Berkeley 36
4.4. University of California Berkeley
4.4.1. Resumen
En Berkeley las Ciencias de la Computacion son vistas de una manera amplia para incluirla teorıa de la computacion, el diseno y analisis de algoritmos, la arquitectura y disenologico de computadoras, los lenguajes de programacion, los compiladores, sistemas operativos,computacion cientıfica, graficacion por computadoras, bases de datos, inteligencia artificialy procesamiento natural del lenguaje. La meta es preparar a los estudiantes tanto para unaposible carrera en investigacion como para una carrera a largo plazo en la industria. Poresta razon se debe ver mas alla de la tecnologıa actual y dar a los estudiantes las ideas yherramientas de aprendizaje que los prepararan para aprender por si mismos sobre futurastecnologıas.
Como resultado, el estudio de Ciencias de la Computacion en Berkeley requiere una mayorsofisticacion matematica y un mas amplio entendimiento de ideas de Ingenierıa Electrica queotros programas de Ciencias de la Computacion. Para estudiar Ciencias de la Computacionen Berkeley se deben disfrutar las matematicas, tambien se debe estar preparado para eltrabajo duro y largas horas de programacion.
4.4.2. Plan de Estudios
1 Semestre
Calculo I
Introduccion al calculo diferencial e integral de funciones de una variable, con aplica-ciones y una introduccion a las funciones trascendentales.
Introduccion a la Programacion y a las Ciencias de la Computacion
Este curso asume que el estudiante ha tenido al menos contacto con la programacion.El curso le presenta al estudiante tecnicas de abstraccion a diferentes niveles: (a) den-tro de un lenguaje de programacion, usando funciones de alto nivel, tipos explıcitos,programacion dependiendo de los datos y paso de mensajes; (b) entre lenguajes de pro-gramacion, usando lenguajes funcionales y basados en reglas como ejemplos. El cursotambien relaciona estas tecnicas a los problemas practicos de la implementacion delenguajes y algoritmos en una maquina de Von Neumann. Hay varios proyectos deprogramacion considerables, programados en algun dialecto del lenguaje LISP.
Optativa de Ciencia
Optativa de Humanidades
4.4. University of California Berkeley 37
2 Semestre
Calculo II
Continuacion de Calculo I. Tecnicas de integracion y aplicaciones de la integracion, se-cuencias y series infinitas, ecuaciones diferenciales ordinarias de primer orden, ecuacio-nes diferenciales ordinarias de segundo orden, oscilacion y amortiguamiento, resolucionde ecuaciones diferenciales ordinarias por series.
Mecanica
Mecanica y movimiento de ondas.
Estructuras de Datos
Asume conocimiento del lenguaje LISP. Este curso le presenta al estudiante el lenguajeJava (con algo de C tambien) y presenta los fundamentos de ingenierıa de software yestructuras de datos y algoritmos (algoritmos de ordenamiento, estructuras de datoslineales, arboles y tablas de hash).
Optativa de Humanidades
3 Semestre
Calculo III
Ecuaciones parametricas y coordenadas polares. Vectores en el espacio Euclideano de2 y 3 dimensiones, derivadas parciales, integrales multiples, calculo vectorial, teoremasde Green, Gauss, y Stokes.
Electricidad y Magnetismo
Calor, electricidad y magnetismo.
Estructuras de maquina
Este es un curso en estructuras de maquina, es decir, el uso de las instrucciones internasde la computadora. El curso incluye programacion en lenguaje ensamblador y en C parailustrar el conjunto de instrucciones de una computadora, el soporte de la computadoraal sistema operativo mediante interrupciones e instrucciones de manejo de memoria,ası como el manejo de procesos. Tambien involucra el estudio de las partes fundamen-tales de la arquitectura de computadoras (diseno logico, organizacion del procesador yarquitecturas de pipeline)
Optativa de Humanidades
4.4. University of California Berkeley 38
4 Semestre
Algebra Lineal
Algebra lineal basica; aritmetica de matrices y determinantes. Espacios vectoriales, pro-ducto interior como espacios. Eigenvectores y eigenvalores; transformaciones lineales.Ecuaciones diferencias ordinarias homogeneas; ecuaciones diferenciales de primer ordencon coeficientes constantes. Series de Fourier y ecuaciones diferenciales parciales.
Matematicas Discretas para Ciencias de la Computacion
Este curso abarca las matematicas discretas y probabilidad desde la perspectiva delas Ciencias de la Computacion. Logica, infinito, induccion; aplicaciones incluyen in-decibilidad y emparejamientos estables. Aritmetica modular y maximo comun divisor;aplicaciones incluyen prueba de primalidad y criptografıa. Polinomiales; ejemplos inclu-yen codigos de correccion de errores e interpolacion. Probabilidad incluyendo espaciosde prueba, independencia, variables aleatorias, ley de los numeros grandes; ejemplosincluyen balance de carga, argumentos de existencia, inferencia Bayesiana.
Estructura e Interpretacion de Sistemas y Senales
Modelado matematico de senales y sistemas. Senales discretas y continuas con aplica-ciones a audio, imagen, video, comunicaciones y control. Modelos basados en estado,sistemas de automata, sistemas de tiempo lineal invariante. Modelos de dominio defrecuencia para senales y respuesta de frecuencia para sistemas, muestreo de senales detiempo continuo. Se lleva un laboratorio donde se hacen practicas en MATLAB.
Optativa de Humanidades
5 Semestre
Electromagnetısmo
Ondas electromagneticas, optica, relatividad e introduccion a la fısica cuantica.
Introduccion a los Circuitos Microelectronicos
Conceptos fundamentales de circuitos y tecnicas de analisis en el contexto de circuitoselectronicos digitales. Analisis transitorio de puertas logicas de CMOS; tecnologıa ydiseno basico de circuitos integrados. Se lleva un laboratorio de electronica.
Sistemas Operativos y Programacion de Sistemas
Conceptos basicos de Sistemas Operativos y Programacion de Sistemas. Programas deapoyo, subsistemas, sistemas de multiples programas. Procesos, comunicacion y sin-cronizacion entre procesos. Asignacion de memoria, segmentacion y paginacion. Cargay enlace, bibliotecas. Asignacion de recursos, planificacion, evaluacion de desempeno.
4.4. University of California Berkeley 39
Sistemas de archivos, dispositivos de almacenamiento, sistemas de entrada y salida.Proteccion de la seguridad y privacidad.
Tecnicas de Comunicacion
Principios de tecnicas de comunicacion, analizar la audiencia; organizacion de materia;desarrollar un lenguaje claro y conciso; usar formatos apropiados y estrategias retoricaspara reportes tecnicos formales, estudios de viabilidad, resumenes, descripciones e ins-trucciones, propuestas, cartas y memos. Practica en presentaciones orales a audienciastecnicas y no tecnicas
6 Semestre
Lenguajes de Programacion y Compiladores
Examinacion de lenguajes de programacion. El diseno de los lenguajes de programacionmodernos. Principios y tecnicas de escaneo, analisis sintactico, analisis semantico, ygeneracion de codigo. Implementacion de compiladores, interpretes y ensambladores.Descripcion general de organizacion y manejo de errores en tiempo de ejecucion.
Algoritmos Eficientes y Problemas Intratables
Conceptos y tecnicas basicas para el diseno y analisis de algoritmos; modelos de calculos;lımites inferiores; algoritmos para la manipulacion de estructuras de datos; algoritmosnumericos y algebraicos; algoritmos de combinatoria. Maquinas de Turing, como contarpasos, maquinas de Turing deterministas y no deterministas, NP-completez. Problemasinsolubles e intratables.
Optativa de Ingenierıa
Optativa de Humanidades
7 Semestre
Ingenierıa de Software
Tecnicas de diseno modular orientado a funciones y a objetos, diseno para reutilizaciony mantenibilidad. Especificacion y documentacion. Verificacion y validacion. Mediday estimacion de costo y calidad. Organizacion y manejo de proyectos por equipo. Losestudiantes trabajaran en un proyecto de programacion considerable.
Optativa de Ingenierıa
Optativa de Ciencias de la Computacion
Optativa de Humanidades
4.4. University of California Berkeley 40
8 Semestre
Optativa de Ingenierıa
Optativa de Ciencias de la Computacion
Optativa de Ciencias de la Computacion
Optativa de Humanidades
4.5. University of Illinois–Urbana-Champaign 41
4.5. University of Illinois–Urbana-Champaign
4.5.1. Resumen
Los programas de Ciencias de la Computacion de la Universidad de Illinois han educadohistoricamente a algunos de los lıderes y visionarios en el campo de la computacion.
La meta de la licenciatura en Ciencias de la Computacion es continuar con esta tradicion,educando a los estudiantes en la teorıa y aplicacion de la tecnologıa de computacion comocualquier universidad en el mundo.
Al termino de la licenciatura los estudiantes deben tener:
Un conocimiento profundo de la tecnologıa de computacion
Un alto nivel en habilidades practicas en el uso de esa tecnologıa
La habilidad de concebir, disenar, e implementar sistemas de software, usando las tec-nologıas existentes cuando esten disponibles, y generando soluciones creativas cuandosea necesario.
La habilidad de trabajar en equipo, con otros cientıficos en computacion ası comogente de otras carreras; de comunicarse, oralmente y por escrito, con especialistas y noespecialistas, sobre la tecnologıa de computacion
Integridad en los asuntos profesionales, ası como entendimiento de cuestiones eticas quesurjan en el uso de las computadoras por la sociedad
Conocimiento detallado en al menos una area avanzada de Ciencias de la Computacion
Para los estudiantes que contemplen una carrera en investigacion, experiencia traba-jando en un grupo de investigacion, y conocimiento de la etica y moral de la comunidadde investigacion
Por encima de todo, los estudiantes deben tener las herramientas intelectuales que lespermitiran mantenerse al dıa con el cambiante mundo de las Ciencias de la Computacion.
La mision de la licenciatura es proveer a cada estudiante la oportunidad de tener exitoy prosperar en el departamento de Ciencias de la Computacion, para que puedan graduarsecon el conocimiento y habilidades antes mencionadas.
4.5.2. Plan de Estudios
El plan de estudios esta contemplado para cubrirse en 8 semestres. Los estudiantes debenelegir especializarse en alguna de las siguientes areas: Ciencias de la Computacion, Cienciasde la Computacion e Ingenierıa o Matematicas. Los estudiantes que elijan Ciencias de la
4.5. University of Illinois–Urbana-Champaign 42
Computacion deben escoger un campo de especializacion dentro de Ciencias de la Compu-tacion, mientras que los estudiantes que elijan Ciencias de la Computacion e Ingenierıa debenescoger un campo de especializacion cientıfico. Los campos de especializacion pueden cam-biar, pero en general son: Sistemas, Bases de Datos, Graficas, Interaccion Hombre-Maquina,Lenguajes, Inteligencia Artificial, Seguridad y Redes
1 Semestre
Quımica General I
Los principios de las estructuras atomicas, enlaces, estados de la materia, estequiometrıay equilibrio quımico; quımica descriptiva de los elementos y compuestos.
Orientacion en Ciencias de la Computacion
Introduccion a las Ciencias de la Computacion como un campo y una carrera. La des-cripcion general de la carrera es presentada junto con ejemplos especıficos de areas deproblemas y metodos de solucion. Se dara una descripcion general del plan de estudiosde Ciencias de la Computacion, clubes en el departamento de Ciencias de la Compu-tacion, investigacion en Ciencias de la Computacion, “Sobreviviendo Ciencias de laComputacion” clases por estudiantes avanzados y graduados.
Estructuras Discretas
Estudia estructuras matematicas discretas encontradas con frecuencia en el estudio delas Ciencias de la Computacion. Los temas incluyen conjuntos, proposiciones, algebrabooleana, induccion, recursion, relaciones, funciones y graficas.
Calculo I
Primer curso de calculo y geometrıa analıtica; tecnicas basicas de derivacion e integra-cion con aplicaciones incluyendo esbozo de curvas; antiderivadas, la integral de Rieman,teorema fundamental del Calculo, funciones exponencial y trigonometricas.
Principios de Redaccion
Estudio de metodos de exposicion, el problema del argumento, el uso de evidencia, yestilo; practica en la escritura para exposicion.
Lectura de Ingenierıa
Orientacion requerida para nuevos estudiantes.
2 Semestre
Introduccion a Ciencias de la Computacion
4.5. University of Illinois–Urbana-Champaign 43
El curso da una introduccion en los conceptos basicos de computacion y tecnicas fun-damentales para resolver problemas computacionales. Introduccion al software y hard-ware, procesador y memoria y lenguaje maquina a traves de lenguajes de alto nivel.Almacenamiento y manejo de informacion, tipos y variables, declaraciones y expresio-nes, y arreglos. Control de flujo, expresiones booleanas, declaraciones condicionales, yciclos. Clases y objetos, instancias de variables e instancias de metodos, y encapsula-cion. Herencia, sublcases, enlaces dinamicos, clases abstractas e interfaces. Introducciona la recursividad. Algoritmos de ordenamiento y busqueda, busqueda lineal y binaria,selection sort, insertion sort, y quick sort. Listas ligadas, memoria ligada, metodosrecursivos en listas, merge sort en listas ligadas. Analisis de algoritmos.
Calculo II
Segundo curso de calculo y geometrıa analıtica: tecnicas de integracion, secciones coni-cas, coordenadas polares y series infinitas.
Fısica Universal, Mecanica
Leyes de Newton, trabajo y energıa, propiedades de estatica y fluidos, oscilaciones, on-das transversales, sistemas de partıculas, y rotaciones. Las clases tienen demostraciones,discusiones y laboratorio.
Optativa de Humanidades o Ciencias Sociales
Optativa de Humanidades o Ciencias Sociales
3 Semestre
Estructuras de Datos y Principios de Software
Abstracciones de datos: estructuras de datos elementales: listas, pilas, colas, arboles;tecnicas de busqueda y ordenamiento. Manejo de memoria, algoritmos en graficas, algo-ritmos en cadenas. Introduccion a los principios de la ingenierıa de software incluyendoun proyecto de programacion por equipo.
Arquitectura de Computadoras I
Introduccion a la arquitectura de computadoras, trabajando desde el nivel de compuer-tas logicas: redes combinacionales y secuenciales; aritmetica de computadoras; unidadesaritmerico/logicas; organizacion de memoria; jerarquıa de memoria; diseno de CPU; di-seno de unidades de control; arquitectura de entrada y salida.
Calculo III
Calculo de varias variables, tercer curso de calculo y geometrıa analıtica, incluyendoanalisis de vectores: espacio Euclideano, diferenciacion parcial, integrales multiples,integrales de lınea y de superficie, teoremas de las integrales del calculo vectorial.
4.5. University of Illinois–Urbana-Champaign 44
Fısica Universal, Electricidad y Magnetismo
Ley de Coulomb, campos electricos, Ley de Gauss, potencial electrico, capacitancia, cir-cuitos, fuerzas y campos magneticos, Ley de Ampere, induccion, ondas electromagneti-cas, polarizacion, y optica. Las clases tienen demostraciones, discusiones y laboratorio.
Optativa de Humanidades o Ciencias Sociales
4 Semestre
Arquitectura de Computadoras II
Segundo curso de arquitectura de computadoras: programacion a nivel de maquina;conjuntos de instrucciones; modos de direccionamiento; representaciones de datos; su-brutinas; dieno de unidades logicas de aritmetica; diseno basico de procesadores; entuba-miento; hardware y software de entrada y salida; carga y enlace; relacion con lenguajesde alto nivel; procesamiento paralelo.
Programacion de Sistemas
Introduccion a la programacion de sistemas: Este curso cubre las bases de la progra-macion de sistemas, incluyendo procesos POSIX, control de procesos, comunicacionentre procesos, sincronizacion, senales, manejo simple de memoria, entrada y salidade archivos y directorios, programacion de consola, programacion de sockets de redes,programacion con llamadas remotas a procedimientos en sistemas distribuidos, meca-nismos basicos de seguridad, y herramientas standard para programacion de sistemascomo herramientas de depuracion.
Algebra Lineal
Curso introductorio que se enfoca en tecnicas de algebra lineal con aplicaciones a la in-genierıa; los temas incluyen operaciones de matrices, determinantes, ecuaciones lineales,espacios vectoriales, transformaciones lineales, eigenvectores y eigenvalores, productointerior y normas, ortogonalidad, equilibrio, y sistemas lineales dinamicos.
Fısica Universal, Termodinamica
Introduccion a la primera y segunda ley de la termodinamica, incluyendo teorıa cineti-ca de los gases, capacidad calorıfica, maquinas termicas, introduccion a la entropıa yla mecanica estadıstica, y introduccion a la aplicacion del factor de energıa libre deBoltzmann. Las clases tienen demostraciones, discusiones y laboratorio.
Optativa de Humanidades o Ciencias Sociales
4.5. University of Illinois–Urbana-Champaign 45
5 Semestre
Cuestiones Eticas y Profesionales en las Ciencias de la Computacion
Etica para las Ciencias de la Computacion. Toma de decisiones etica, concesion delicencias, propiedad intelectual, libertad de la informacion y privacidad. Los estudiantestendran que realizar presentaciones orales.
Estudio de Programacion
Laboratorio de programacion intensiva destinado a fortalecer las habilidades en pro-gramacion de los estudiantes
Introduccion a la Teorıa de la Computacion
Automatas finitos y lenguajes regulares; automatas de pila y lenguajes libres de contex-to; automatas finitos deterministas y no deterministas; gramaticas libres de contexto;maquinas de Turing conjuntos numerables recursivamente; indecibilidad; algoritmospara automatas y analisis sintactico.
Optativa de Humanidades o Ciencias Sociales
Optativa
6 Semestre
Teorıa de Probabilidad
Introduccion a la probabilidad; calculo de probabilidades, analisis combinatorio, varia-bles aleartorias, expectativa, funciones de distribucion, y teorema del lımite central.
Optativa de Area
Optativa de Area
Optativa
7 Semestre
Optativa de Area
Optativa de Area
Optativa
4.5. University of Illinois–Urbana-Champaign 46
8 Semestre
Optativa de Area
Optativa de Area
Optativa
4.6. Edinburgh 47
4.6. Edinburgh
4.6.1. Resumen
Las Ciencias de la Computacion tratan con el entendimiento, diseno, implementacion yuso de sistemas de computo estando en complejidad desde componentes de un solo proce-sador hasta redes de computadoras tan amplias como la WWW World Wide Web. Abarcahardware y software, ası como una amplia variedad de tecnicas practicas apoyadas en fuertesfundamentos de entendimiento teorico.
En Edinburgh, las Ciencias de la Computacion son tratadas como un subconjunto de ladisciplina de la Informatica que tambien cubre la Inteligencia Artificial y la Ciencia Cognitiva.El programa de Ciencias de la Computacion pretende desarrollar licenciados con amplioconocimiento en diversas areas con un alto nivel y habilidades en Ciencias de la Computacion,tanto en la parte teorica como practica.
Cada modulo es normalmente impartido por un experto en la materia que tambien esta lle-vando acabo investigacion sobre el tema, ası que la investigacion influye en los cursos inevita-blemente. Los estudiantes llevan a cabo una amplia variedad de ejercicios practicos y proyec-tos que refuerzan el material de lectura. Habilidades de comunicacion, iniciativa, profesiona-lismo y la habilidad de trabajar en equipo son desarrolladas como parte integral del procesode aprendizaje.
4.6.2. Plan de Estudios
1 Ano
Informatica 1A
Informatica 1A consiste de dos secciones, (i) Logica y Computacion, y (ii) ProgramacionFuncional.
(i) Logica y Computacion: La meta de esta seccion es introducir al estudiante en lasnociones de computacion usando sistemas de estados finitos y logica proposicional. Lasmaquinas de estados finitos proporcionan un modelo simple de computacion que es am-pliamente usado, tienen una area de teorıa interesante y tienen aplicaciones inmediatasen muchas situaciones. La logica proposicional es el primer paso en el entendimiento dela logica que es un elemento esencial de la especificacion de los sistemas informaticos ysus propiedades. Entre los temas que se estudian en este curso estan: diseno de sistemasde estado finito para describir, controlar y realizar un comportamiento, evaluar la cali-dad de esos disenos, algebra de automatas finitos, descripcion de problemas a traves delogica proposicional, tablas de verdad, prueba de teoremas proposicionales, aplicacionde sistemas de estado finito y logica proposicional.
4.6. Edinburgh 48
(ii) Programacion Funcional: Una introduccion a los conceptos de programacion, usandoun lenguaje de programacion funcional. Los estudiantes aprenden a resolver problemasa pequena escala de manera concreta y a un nivel abstracto sin atorarse en detalles.Entre los temas que se estudian en este curso estan: definicion de tipos de datos, analisisde casos, recursion, inferencia deductiva, busqueda combinatoria, documentacion deprogramas, tecnicas basicas de prueba y depuracion de programas incluyendo pruebasunitarias.
Informatica 1B
Informatica 1B consiste de dos secciones, (i) Analisis de datos, y (ii) Programacionorientada a objetos.
(i) Analisis de datos: Se da una introduccion a la recoleccion, representacion e inter-pretacion de datos. Los estudiantes aprenderan diferentes perspectivas desde las quese usan los datos, diferente terminologıa de como referirse a ellos y varios metodos derepresentacion y manipulacion. Entre los temas que se estudian en este curso estan: dife-rentes tipos de datos (estructurados/no estructurados, observacionales/experimentales,cuantitativos/cualitativos), modelo de entidad/relacion, representacion logica de datos,diferencias entre datos y meta-datos, algoritmos de interpretacion de datos.
(ii)Programacion orientada a objetos: Esta seccion proporciona una introduccion practi-ca y conceptual a la programacion orientada a objetos. El enfoque es en programar masque en un lenguaje de programacion especıfico con el estudio de principios generales atraves de Java. Entre los temas que se estudian en este curso estan: uso de conceptosbasicos usados en lenguajes imperativos y orientados a objetos, implementacion de undiseno en un programa, desarrollo de programas pequenos o componentes de uno masgrande, probar codigo de un componente, uso de herramientas de depuracion, uso deherramientas de apoyo (IDE, control de versiones).
Matematicas para Informatica 1
En esta materia se ve tanto Calculo como Algebra. Entre los temas que se estudianen este curso estan: funciones reales, diferenciacion, funcion logaritmo y exponencial,integracion, induccion matematica, prueba de teoremas, algoritmo de Euclides, con-gruencias y su aplicacion a la computacion (RSA), combinatoria basica, teorıa de gru-pos, teorıa de numeros, conteo, probabilidad basica en espacios discretos y teorıa de lainformacion.
Matematicas para Informatica 2
Este curso tambien esta dividido en Calculo y Algebra entre los temas que se estudianestan: tasas de crecimiento, funciones trigonometricas, ecuaciones diferenciales basi-cas, derivadas parciales, numeros complejos, teorıa de graficas, recurrencias, geometrıaplana, matrices, determinantes.
4.6. Edinburgh 49
2 Ano
Informatica 2A
Este curso trata sobre el procesamiento de lenguajes naturales y artificiales, basandoseen conocimiento obtenido en Informatica 1 sobre maquinas de estado finito y expresio-nes regulares. Este curso considera como los mismos modelos de lenguaje pueden usarsepara describir y analizar tanto lenguajes formales (como lenguajes de programacion)y lenguajes naturales (hablado y escrito). Presenta material de lenguajes y gramati-cas formales, gramaticas probabilısticas (incluyendo la cadena de Markov escondida),jerarquıa de Chomsky, lenguajes libres de contexto, algoritmos de parseo (top-down ybottom-up), analisis semantico y procesamiento de lenguaje humano.
Informatica 2B
Este curso presenta estructuras de datos tanto simbolicas como numericas y algoritmospara manipularlas usando Java y Haskell. Entre los temas que se estudian en estecurso estan: construccion y manipulacion de arreglos, estructuras de datos dinamicas,complejidad computacional de algoritmos basicos, calculo de estadısticas, construccion,balanceo y busqueda en arboles; construccion automatica de arboles de decisiones,entrenamiento y uso de una red neuronal sencilla.
Informatica 2C
Este curso trata del diseno, implementacion e ingenierıa de un sistema de computo digi-tal. Considera los sistemas de computo tanto desde el punto de vista de hardware comode software; ofreciendo una introduccion a la estructura interna de las computadorasdigitales y a la ingenierıa de sistemas de software. Entre los temas que se estudian eneste curso estan: entendimiento y operaciones en datos binarios, conceptos basicos dearquitectura de computadoras (excepciones, interrupciones, memoria virtual, procesos yejecucion en pipeline), diseno simple de un procesador, dispositivos de E/S, componen-tes combinacionales y secuenciales en un procesador (sumadores, registros, maquinasde estado), etapas en el proceso de ingenierıa de software, construccion de casos de usopara un determinado escenario, construccion de diagramas UML de clase y secuencia;construccion, documentacion y mantenimiento de grandes programas en Java usandoun IDE moderno, metodos de desarrollo y herramientas de manejo de configuracion;tecnicas de prueba, medicion y verificacion; evaluacion de aspectos de usabilidad enun programa o sitio web, juicio de riesgos de seguridad en la construccion de software,comparar diferentes acercamientos al otorgamiento de licencias de software.
Matematicas para Informatica 3
Espacios vectoriales, sistemas de ecuaciones lineales, polinomios, codigos lineales (dis-cutir su aplicacion como en deteccion de errores), conteo, propiedades combinatorias
4.6. Edinburgh 50
de grupos, funciones, teorıa de graficas, aplicacion y pruebas de correctud de variosalgoritmos de graficas.
Matematicas para Informatica 4
Geometrıa vectorial en Rn, propiedades de objetos en un espacio n-dimensional, calculode distintas cantidades geometricas (angulos, representaciones parametricas, distanciamas corta a un subespacio), transformaciones Euclideanas de Rn; probabilidad discreta,probabilidad condicional, distribuciones conjuntas, probabilidad continua, cadenas deMarkov, uso de probabilidad en otras areas como teorıa de colas.
3 Ano
Proyecto de Diseno de Sistema
La intencion del Proyecto de Diseno de Sistema es dar a los estudiantes la experienciapractica de (a) construir un sistema a gran escala (b) trabajar como miembros deun equipo. El proyecto requiere la aplicacion y combinacion de material aprendido endistintos cursos para completar un diseno e implementacion complejos. Al final delcurso cada equipo demuestra el sistema implementado y da una presentacion formal auna audiencia de estudiantes, supervisores y visitantes de la industria.
Al finalizar este proyecto, los estudiantes tendran experiencia en lo siguiente: trabajarcomo miembros de un equipo, planeacion y monitorizacion del esfuerzo de un proyectopara alcanzar fases del proyecto y fechas lımites, diseno e implementacion de un sistemacomplejo, intentar alcanzar un objetivo difıcil en un periodo de tiempo limitado, reunirconocimiento y entendimiento de amplias areas de sistemas de software y hardware,demostrar y presentar el resultado de un proyecto practico, documentar la viabilidad,diseno y desarrollo de un producto potencial.
Proyecto de Programacion Individual
Este proyecto expone al estudiante a problemas que surgen con el diseno e implementa-cion de sistemas de computo a gran escala y a metodos para lidiar con esos problemas.Los estudiantes ganaran experiencia en como disenar clara y coherentemente sistemasestructurados, elegir los medios apropiados para la implementacion, descubrir y usarinformacion relevante, calendarizar su carga de trabajo, presentar su trabajo de unamanera clara y concisa.
Problemas Profesionales
Hay muchas cuestiones comerciales, profesionales y de ingenierıa complementarias alconocimiento y habilidades cientıficas necesarias que afectan en el trabajo del profesio-nal en computacion. Este curso pretende proveer una conciencia de estor problemas ycubrir algunos de ellos en profundidad.
4.6. Edinburgh 51
Despues de completar el curso el estudiante podra: describir las caracterısticas deseablesde un licenciado en ciencias de la computacion, explicar la importancia del profesio-nalismo en computacion, identificar las implicaciones eticas en computacion, describirlas cuestiones legales que impactan a la computacion, describir la estructura y opera-cion de las organizaciones de computo, describir y explicar la relacion entre cuestionescientıficas, tecnicas, de ingenierıa y de mundo real en computacion.
4.7. Oxford 52
4.7. Oxford
4.7.1. Resumen
La Licenciatura en Ciencias de la Computacion en Oxford permite al estudiante con-centrarse en estudiar Ciencias de la Computacion desde el principio. Claro que hay clasesdurante el primer ano para dar una base matematica en el estudiante, pero no se pide que elestudiante dedique 50 % o mas de su primer ano en materias fuera de las de Ciencias de laComputacion.
Los cursos asumen que no se tiene conocimiento previo en computacion y se ensena tododesde los principios mas basicos. Esto podrıa parecer como una desventaja si el estudianteya sabe algo sobre computacion, pero el enfoque a nivel universitario va mucho mas alla porlo que es necesario empezar desde el principio.
Las clases en Oxford se enfocan en ensenar los principios detras de la tecnologıa actual,no la tecnologıa como un fin en si misma. Los mejores estudiantes rapidamente se hacencompetentes en el uso de tecnologıa para la resolucion de problemas, pero mas alla, desarrollanla habilidad de adaptar sus habilidades a nuevas tecnologıas. Eso se debe a que cuando seconocen los principios se hace mas facil entender la tecnologıa y entender nueva tecnologıacuando se necesita.
El mejor ejemplo de esto es la manera en que se ensena programacion desde el principiode la carrera. En vez de escoger un lenguaje popular y ensenar como escribir programas conel, se comienza con una manera de entender programas que tiene su base en las matematicas.Existe un lenguaje de programacion llamado Haskell que conlleva este tipo de entendimiento,y se utiliza para dejar que el estudiante pruebe sus ideas en una computadora. Pero el puntoprincipal es que con este modo de acercamiento a los programas de computadoras permiteal estudiante ver las relaciones entre muchos temas aparentemente distintos: bases de datosy el diseno del hardware de computadoras, inteligencia artificial y el significado de distintoslenguajes de programacion.
En la Maestrıa de medio tiempo, programadores experimentados de la industria asistenpara aprender sobre programacion funcional de la misma manera que los estudiantes deLicenciatura lo hacen el primer ano. Lo mas probable es que ninguno de ellos nunca programenen Haskell despues de terminar su Maestrıa, pero dicen que el conocer este metodo deprogramacion revoluciona su manera de pensar sobre otros programas con los que trabajan,permitiendoles ver mas alla 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 Computacion se desarro-lla alrededor de los asesores de Oxford, donde (normalmente) dos estudiantes se juntan conun asesor para discutir su trabajo por una hora. Conjunto con clases y practicas, esta es laforma principal de educacion durante el primer ano de la Licenciatura, donde los estudiantesnormalmente tienen dos asesorıas por semana con su asesor de Ciencias de la Computacion.Pocas otras universidades pueden alcanzar este nivel de asesorıa personalizada, que esta di-senada para permitir a los estudiantes con el potencial adecuado, independientemente de su
4.7. Oxford 53
trasfondo escolar, el alcanzar el mismo nivel de estudio en su area.En los siguientes anos de la Licenciatura, las asesorıas siguen siendo parte importante,
particularmente para la revision de proyectos y para repasos antes de los examenes. Tambiense usan clases pequenas de hasta diez o doce estudiantes para ensenar las materias de espe-cializacion que se ofrecen como optativas en la Licenciatura. Estas clases pequenas permitena los estudiantes aprender de maestros con conocimiento especial en el tema, incluyendoexpertos con una reputacion mundial e investigadores jovenes.
4.7.2. Plan de Estudios
El plan de estudios en Oxford esta dividido por anos:
1 Ano
El primer ano de Ciencias de la Computacion esta dedicado a material fundamental queplanta las bases para temas mas avanzados en los anos posteriores de la carrera.
Programacion Funcional
Este es un primer curso en programacion. Se usara como lenguaje de programacionHaskell, que permite ver a los programas como funciones matematicas. Esto hace queel lenguaje sea muy poderoso, de tal manera que se puedan hacer facilmente programasque serıan muy complicados o extensos en otros lenguajes. Un importante tema dediscusion de este curso es como aplicar el razonamiento matematico a programas, parapoder probar que un programa realiza su tarea correctamente, o para derivarlo conmanipulacion algebraica desde un programa mas simple pero menos eficiente del mismoproblema. Se gana experiencia programando a traves de dos ejercicios de laboratorio:el primero tiene como objetivo familiarizarte con la mecanica de escribir programas enHaskell, y el segundo es un reto de programacion mas grande en el que se simula elmundo de un animal imaginario.
Algoritmos y Estructuras de Datos fundamentales
En este curso el estudiante aprendera acerca de las bases de algoritmos, metodos pararesolver problemas con la computadora y estructuras de datos. Basandose en la expe-riencia adquirida con Haskell de Programacion Funcional, el curso cubre los principiosde disenos de algoritmos, analisis del desempeno de los algoritmos, y las ideas fun-damentales en el diseno de de estructuras de datos eficientes. El enfoque es en elegiradecuadamente una estructura de datos para un tipo de problemas y disenar algoritmoscorrectos que operen en estas estructuras de datos resolviendo el problema.
Programacion Imperativa
En este curso el estudiante aplicara lo aprendido en Programacion Funcional al di-seno de programas escritos de una manera mas convencional. Al estudiar una varios
4.7. Oxford 54
ejemplos de programacion, cada uno siendo una herramienta util de software, el es-tudiante aprendera a construir programas en una forma sistematica, estructurandoloscomo una coleccion de modulos con interfaces bien definidas. El curso tambien cubreinformalmente el metodo de invariantes para entender y razonar sobre los programasque contienen ciclos. Se concluira el curso con el estudio de un ejemplo de programa-cion mas grande, como un programa con interfaz grafica para encontrar la mejor rutapara ir de un pueblo a otro en el Reino Unido. A traves de ejercicios de laboratorio, elestudiante aprendera a crear, depurar y mantener programas de un tamano no trivial.
Hardware Digital
En este curso el estudiante aprendera los fundamentos de los circuitos electronicos queson usados para construir computadoras. Empezando con las funciones de transistoresindividuales, y construyendo hacia una implementacion completa de un procesador sim-ple, este curso explica de una manera estructurada como se construyen comportamientoscomplejos a partir de partes mas simples. El estudiante comprendera los factores queafectan el desempeno del hardware y como estos factores cambian dependiendo de laescala, por ejemplo, el tamano de datos que maneja un sistema de computo.
Algebra Lineal
Otra importante aplicacion de las computadoras en Matematicas es en resolver proble-mas que pueden ser expresados como sistemas de ecuaciones lineales. Se estudiaran lascondiciones generales que determinan que sistemas de ecuaciones tienen soluciones, ypara que sistemas la solucion es unica, aso como metodos sistematicos para resolversistemas de ecuaciones. Durante el segundo ano se disenara un programa que utiliceestos conocimientos.
Calculo - Dos cursos
Las computadoras son ampliamente utilizadas para resolver problemas en MatematicasAplicadas, y estos problemas muchas veces son expresados como ecuaciones diferen-ciales. Algunas ecuaciones diferenciales se pueden resolver simbolicamente, pero otrasno tienen solucion simbolica, y solo pueden resolverse calculando una aproximacion.Este curso es una introduccion a la teorıa basica de las ecuaciones diferenciales y alos metodos para resolverlas, proporcionando las bases para cursos posteriores que seenfocan especıficamente en metodos computacionales para solucionarlas.
Matematicas Discretas
Este curso le proporcionara al estudiante el vocabulario de conceptos que se necesitanpara entender en terminos matematicos los problemas para los que las computadorasestan disenadas a resolver, y para analizar soluciones propuestas para su correctud yeficiencia. Las especificaciones de sistemas de computo pueden expresarse formalmen-te en terminos de conjuntos, relaciones y funciones, y la correctud de los programas
4.7. Oxford 55
que implementan estas especificaciones normalmente es verificada usando tecnicas delogica matematica, incluyendo razonamiento basado en induccion matematica. Este ra-zonamiento puede incluir propiedades matematicas de permutaciones, ordenamientosy otros conceptos similares. Finalmente, el analisis de la eficiencia de los programaspuede incluir soluciones de relaciones de recurrencia, calculos combinatorios y el usode aproximaciones asintoticas. Todas estas ideas se le presentaran al estudiante en estecurso.
Logica y Pruebas
Este curso es una introduccion par el Cientıfico en Computacion a las ideas de logicaformal. Comienza con ejemplos basicos de estructuras matematicas finitas usadas encomputacion, y construye un lenguaje logico y formal para hacer declaraciones sobreestas estructuras que puedan ser probadas en un sistema de reglas simbolicas de infe-rencia. El estudiante desarrollara las habilidades para usar logica formal para expresary probar propiedades utiles de estructuras matematicas, y mas generalmente para cons-truir pruebas rigurosas y manipular notacion formal. Se terminara el curso con un brevepanorama de otros usos de formalismos en Ciencias de la Computacion.
Probabilidad
Este curso presenta algunos conceptos de probabilidad. El estudiante aprendera sobrevariables aleatorias y veran ejemplos de distribuciones de probabilidad comunes comoBinomial y Poisson. El entendimiento de la probabilidad es util en muchas areas de lasCiencias de la Computacion como los algoritmos aleatorios en los que algun problema“duro” puede resolverse utilizando un programa aleatorio.
Modelos de Computacion
En este curso el estudiante obtendra un entendimiento basico de modelos matematicosclasicos usados para analizar procesos computacionales, incluyendo automatas finitos,gramaticas, y maquinas de Turing. Estos modelos matematicos pueden ser usados pararesponder a preguntas como cuales problemas pueden resolverse con una computadora,y si algunos problemas son intrınsecamente mas difıciles de resolver que otros.
Perspectivas de Computo
Este curso no evaluado le dara al estudiante una vision mas amplia de las areas en lasque las ideas de Ciencias de la Computacion pueden aplicarse, a veces viendo hacia adelante a material mas avanzado que puede ser estudiado a detalles en anos posteriores.El curso esta organizado como una secuencia de cuatro segmentos de cuatro clases, cadasegmento impartido por alguien diferente. Los temas varıan ano con ano, pero normal-mente algunos segmentos son impartidos por gente invitada de otros departamentosen Oxford o de la industria. Algunos temas posibles incluyen: graficas y visualizacion,
4.7. Oxford 56
seguridad en computo, reconocimiento del habla, procesamiento de lenguajes natura-les, analisis de secuencias de ADN, computacion neuronal, minerıa de datos, analisismedico de imagenes, bases de datos y representacion del conocimiento, computacioncuantica.
2 Ano
Materias Obligatorias
En el segundo ano, el material basico cubre 50 % del tiempo y el otro 50 % es de materiasoptativas.
Programacion Orientada a Objetos 1 y 2
En este curso el estudiante se enfocara en la construccion y mantenimiento de progra-mas mas grandes. Basandose en lo aprendido en Procedimientos de Programacion, estecurso usa una secuencia de de casos de estudios profesionales para ilustrar los principiosde abstraccion y modularidad que conlleva el diseno exitoso de sistemas de software.Despues de algunos ejemplos el caso a estudiar puede consistir en un editor de texto,un sistema de bases de datos relacional, y un sistema para mostrar informacion es-tructurada en paginas web. Aproximadamente una cuarta parte del curso se dedica aejercicios practicos, donde el estudiante explora varios aspectos de los casos de estudiopor su cuenta. El curso pretende desarrollar habilidades en el diseno de software y en ladiscusion informada sobre decisiones de diseno; estos temas se desarrollan mas a fondoen el curso optativo Diseno Orientado a Objetos.
Sistemas Concurrentes
Este curso es una introduccion a la teorıa y practica de la computacion concurrente,ensenando al alumno a escribir programas concurrentes simples y a razonar acerca de sucomportamiento. El estudiante obtendra una apreciacion de los problemas que debenser resueltos al construir sistemas que involucran concurrencia y las tecnicas que seusan para resolverlos.
Redes y Sistemas Operativos
En la parte de Redes de este curso el estudiante examinara las comunicaciones porred entre computadoras, incluyendo el medio fısico subyacente, la representacion dedatos, y los protocolos que se utilizan para lograr transmisiones confiables y libres deerrores, y el ruteo de datos en grandes redes. Tambien se examinaran a detalle algunasaplicaciones actuales de redes.
La parte de Sistemas Operativos del curso abarca la construccion y operacion de un sis-tema operativo simple. Se examinaran las principales funciones de un sistema operativo,y una manera estructurada de implementar estas funciones.
4.7. Oxford 57
Materias Optativas
En el segundo ano de la carrera de Ciencias de la Computacion, los estudiantes dedican50 % de su tiempo en cuatro cursos optativos.
En el tercer ano, los estudiantes de Ciencias de la Computacion pueden escoger ampliarsu conocimiento dedicando hasta 25 % de su tiempo en hasta dos cursos optativos que nocursaron durante su segundo ano.
Diseno Formal de Programas 1 y 2
Estos dos cursos ensenaran al estudiante como los programas de procedimiento puedenser desarrollados rigurosamente a partir de especificaciones matematicas precisas. En elprimer curso, el enfoque es primordialmente en el refinamiento de algoritmos, incluyendoel diseno de invariantes a partir de las especificaciones, y su uso para guiar el desarrollode programas con ciclos.
El segundo curso se enfoca en el refinamiento de los datos, mostrando como puedendesarrollarse estructuras de datos eficientes a partir de una especificacion matematicade un tipo de datos abstracto. Hacia el final del curso, se cubre el refinamiento deespecificaciones de sistemas grandes.
Analisis Numerico
Este curso es acerca del uso de computadoras para resolver problemas matematicos atraves de metodos numericos. El estudiante aprendera metodos numericos para proble-mas comunes y la derivacion de estos algoritmos ası como el analisis de su precision yaplicacion. El curso contiene tanto ejercicios teoricos como practicos usando MATLAB.
Compiladores
Este curso es una introduccion a los metodos usados por los compiladores para traducirlenguajes de programacion de alto nivel a codigo de maquina. El curso cubre metodospara analizar la sintaxis de los programas y crear un arbol de sintaxis abstracta, seguidode chequeo de tipos y generacion de codigo para una maquina abstracta. Se discutira laimplementacion de procedimientos con distintos tipos de parametros.
Lenguajes de Programacion
Este curso da una descripcion simple y practica de varios tipos de lenguajes de pro-gramacion y sus pradigmas, y las teorıas por las cuales el significado de los programasescritos en estos lenguajes pueden ser definidos. Entre los paradigmas que se cubrenestan programacion logica y funcional con varios mecanismos de evaluacion y con tipospolimorficos.
Algoritmos y Estructuras de Datos Avanzados
4.7. Oxford 58
Este curso continua con el material visto en Algoritmos y Estructuras de Datos Funda-mentales, y cubre material mas avanzado y para el cual se necesita mayor conocimientomatematico conectado con el diseno de algoritmos y estructuras de datos muy eficientespara resolver problemas de computo que son importantes en aplicaciones.
Graficacion por Computadora
Este es un curso introductorio a la Graficacion por Computadora, y cubre un ampliorango del campo de graficas interactivas a todos los niveles de abstraccion haciendoenfasis tanto en la teorıa como en la practica. Se utiliza un libro estandar sobe lamateria, y se usa material adicional para mantener el curso actualizado. El estudianteaprendera varias tecnicas basicas de graficacion, desde la generacion de graficas endispositivos de salida (raster) hasta el tipo de hardware utilizado para mostrar objetostridimensionales.
Arquitectura de Computadoras
Este curso continua con lo visto en Hardware Digital mostrando al estudiante comopueden usarse componentes de hardware para disenar procesadores que tengan un altodesempeno. Una parte central del curso es el diseno de arquitecturas con pipelining quepuedan ejecutar multiples instrucciones simultaneamente, detectar y resolver interac-ciones entre instrucciones dinamicamente. Este curso cubre el diseno de conjuntos deinstrucciones y diferentes estilos de implementacion de procesadores, seguido por unbreve resumen de maquinas paralelas que logran un desempeno aun mayor.
3 Ano
Materias Optativas
En el tercer ano, los estudiantes de Ciencias de la Computacion pueden escoger ampliarsu conocimiento dedicando hasta 25 % de su tiempo en hasta dos cursos optativos que nocursaron durante su segundo ano.
La lista de materias optativas es la misma que para el primer ano.
Materias Optativas Avanzadas
Los estudiantes de tercer ano de Ciencias de la Computacion dedican entre 50 % y 75 % desu tiempo en optativas avanzadas, eligiendo entre cuatro y seis cursos. En el cuarto ano, losestudiantes dedican 66 % de su tiempo en otras materias optativas avanzadas que no eligieronel tercer ano.
La lista de opciones varıa de un ano a otro dependiendo de los intereses de investigacionde los profesores, pero las siguientes materias son las que normalmente se imparten.
Sistemas Inteligentes 1 y 2
4.7. Oxford 59
Diseno Orientado a Objetos
Optimizacion
Bases de Datos
Complejidad Computacional
Concurrencia Avanzada
Seguridad de Computo
ProyectoLos estudiantes de tercer ano de Ciencias de la Computacion dedican 25 % de su tiempo
a un proyecto, normalmente esto involucra la creacion de un programa mas grande quecon los que han trabajado en los ejercicios de laboratorio. En el cuarto ano los estudiantesrealizan un proyecto mas elaborado (50 % de su tiempo), por lo general mas enfocado hacialos intereses de investigacion de algun profesor. Se puede trabajar en equipos pequenos paraestos proyectos para experimentar la dinamica de trabajar en un equipo de programacion
Cada ano, el Laboratorio de Computacion publica una lista de proyectos que algun profe-sor ha aceptado supervisar, pero los estudiantes tambien son alentados a proponer sus propiosproyectos. Aquı hay algunos ejemplos de la lista del 2008:
Planeacion de Caminos para un Robot
Descompilacion
Casos de Estudio con CSP y FDR
Recoleccion de Basura para OBC
Una Familia de Editores Estructurados sin Modelos
4 Ano
Materias Optativas Avanzadas
En el cuarto ano, los estudiantes dedican 50 % de su tiempo en otras materias optativasavanzadas que no eligieron el tercer ano.
La lista de materias optativas avanzadas es la misma que para tercer ano
Proyecto
En el cuarto ano los estudiantes realizan un proyecto mas elaborado (50 % de su tiempo),por lo general mas enfocado hacia los intereses de investigacion de algun profesor. Se puede
4.7. Oxford 60
trabajar en equipos pequenos para estos proyectos para experimentar la dinamica de trabajaren un equipo de programacion
Cada ano, el Laboratorio de Computacion publica una lista de proyectos que algun profe-sor ha aceptado supervisar, pero los estudiantes tambien son alentados a proponer sus propiosproyectos. Aquı hay algunos ejemplos de la lista del 2008:
La lista de proyectos es la misma que la de tercer ano
4.8. ETH Zurich 61
4.8. ETH Zurich
4.8.1. Resumen
La Licenciatura en Ciencias de la Computacion exige tiempo completo. El tiempo normalpara obtener todos los creditos de la Licenciatura es tres anos.
Primer Ano
El primer ano de estudio incluye una introduccion a las Ciencias de la Computacionası como los fundamentos matematicos necesarios para un tıtulo de Ingenierıa.
Segundo y Tercer ano
• Cursos Obligatorios
Estos cursos contienen los fundamentos principales de las Ciencias de la Compu-tacion. Estos fundamentos son requisitos para la mayorıa de los cursos de tercerano por lo que se recomienda tomar la mayorıa de estos cursos durante el segundoa ano.
• Cursos Fundamentales
Estos cursos se enfocan en areas centrales de las Ciencias de la Computacion,para una vision general. Los cursos pretenden extender el conocimiento basicotanto teorico como practico de los alumnos.
• Especializacion
◦ Cursos de Especializacion ObligatoriosLos cursos de especializacion obligatorios consisten en seminarios y cursoscomplementarios. Los participantes de los seminarios reciben un tema quedeben estudiar y presentar a los otros integrantes del seminario en una clase.Los cursos complementarios pretenden dar una vision mas profunda en otrasareas de las Ciencias de la Computacion y mejorar la metodologıa de trabajo.
◦ Cursos OptativosLos estudiantes son relativamente libres al momento de escoger sus materiasoptativas. Los estudiantes deben considerar si creen que cumplen con los re-querimientos potenciales de las materias optativas que elijan.
• Proyecto
Se realizara un proyecto, el cual puede hacerse internamente o ser externo enterminos de una estancia en la industria. El proyecto puede ser hecho tanto demanera individual como en equipo.
◦ Existe una lista de companıas aprobada por el Departamento de Ciencias dela Computacion.
4.8. ETH Zurich 62
Humanidades y Ciencias Sociales
Durante la carrera, los estudiantes deben elegir un numero de cursos de Humanidadesy Ciencias Sociales. El objetivo de estas clases es permitir a los estudiantes relacionarsu conocimiento en su disciplina principal a asuntos sociales y economicos, mejorandoası su desarrollo intelectual y academico
4.8.2. Plan de Estudios
El plan de estudios esta divido por semestres y tiene una duracion de 3 anos, dejandomuy en claro que se debe dedicar tiempo completo a la carrera.
1 Semestre
Introduccion a la Programacion
Introduccion a los fundamentos de la programacion moderna y las habilidades paradesarrollar programas de alta calidad, incluyendo programas grandes adecuados parala industria.
Fundamentos de programacion orientado a objetos. Objetos y clases. Herencia. Pre-ypost-condiciones, invariantes, Diseno por Contrato. Estructuras elementales de control.Asignaciones y referencias. Terminos basicos del hardware. Estructuras de datos y algo-ritmos elementales. Recursion. Introduccion a la programacion concurrente. Conceptosbasicos de ingenierıa de software, especificaciones y documentacion, reutilizacion y elaseguramiento de la calidad.
Logica
Introduccion a la logica proposicional, logica de predicados y programacion logica enProlog.
Proposiciones, operadores logicos, tablas de verdad, consecuencia logica, axiomas, de-rivaciones formales, forma normal, procedimientos de prueba automaticos. Predicados,cuatificadores, logica de primer orden, estructuras isomorficas, estructuras finitas, sis-temas deductivos, indecibilidad, aritmetica de Peano, induccion. Clausulas de Horn,consultas, unificacion, sustituciones, backtrack, programacion declarativa
Calculo I
Calculo de una variable, numeros reales y complejos, vectores, funciones, lımites, suce-siones, series, diferenciacion e integracion en una variable, introduccion a las ecuacionesdiferenciales ordinarias.
Parte de este curso se ensenara utilizando el proyecto de ensenanza electronica LEMU-REN3.
3http://www.lemuren.math.ethz.ch
4.8. ETH Zurich 63
Algebra Lineal
Introduccion al algebra lineal orientada a sus aplicaciones, espacios vectoriales, trans-formaciones lineales, sistemas de ecuaciones, descomposicion de matrices,LU, QR, ei-genvectores y eigenvalores, determinantes, dificultades de los calculos numericos, erroresde redondeo, estabilidad de los algoritmos. Introduccion a MATLAB.
Probabilidad y Estadıstica
Conceptos basicos de probabilidad y estadıstica, introduccion a la teorıa de la proba-bilidad, espacios de probabilidad, medida de la probabilidad, independencia, variablesaleatorias, distribuciones discretas y continuas, probabilidad condicional, expectativa yvarianza, teoremas de lımites. Metodos estadısticos, estimacion de parametros, pruebas,intervalos de confianza.
2 Semestre
Estructuras de Datos y Algoritmos
Este curso cubre los fundamentos en algunos paradigmas de diseno de algoritmos,problemas clasicos de algoritmos y estructuras de datos, con un enfoque en la relacionentre los algoritmos y las estructuras de datos.
Patrones de diseno de algoritmos, induccion, divide y venceras, backtrack, optimizaciondinamica, ası como problemas tradicionales como busqueda y ordenamiento, Por otrolado se tratan estructuras de datos para diferentes propositos, listas ligadas, tablas dehash, montıculos, arboles de busqueda balanceados, pilas.
Fısica
Introduccion a la fısica con enfasis en la mecanica, electromagnetismo y los principiosbasicos de la mecanica cuantica.
Movimiento, leyes de Newton, trabajo y energıa, vibracion y ondas, relatividad especial.Electroestatica, corriente, campos dependientes del tiempo, ecuaciones de Maxwell,ondas electromagneticas. Historia de la teorıa cuantica, funcion de ondas, principio deincertidumbre, ecuacion de Schroedinger.
Calculo II
Calculo de varias variables, ecuaciones diferenciales.
Matematicas Discretas
Se cubren temas como pruebas por induccion, conjuntos, funciones, relaciones, relacio-nes de orden y de equivalencia, teorıa de graficas, combinatoria, conteo, grupos, anillo,campos, subalgebras, morfismos, teorıa de numeros.
4.8. ETH Zurich 64
Tecnologıa Digital - Diseno de Circuitos Digitales
Este curso es una introduccion al diseno de circuitos digitales. El curso abarca lasbases de en el diseno de circuitos usando compuertas logicas, una introduccion a loslenguajes de descripcion de hardware y su aplicacion practica en el proceso de diseno,logica combinatoria y secuencial.
3 Semestre
Programacion de Sistemas
Este curso le proporciona al programador una vision de como los sistemas de computoejecutan programas, almacenan informacion y se comunican. El curso intenta exponera los estudiantes a situaciones practicas que afectan el desempeno, la portabilidad,robustez, y extensibilidad . El curso proporciona las bases para los cursos siguientes desistemas operativos, redes, compiladores y otros cursos que requieren un entendimientode el funcionamiento a bajo nivel. Los temas que se cubren incluyen codigo a nivel demaquina y su generacion por compiladores optimizados, entrada y salida, manejadoresde eventos, evaluacion de desempeno y optimizacion, una vision de redes y protocolospara un programa, y tecnicas para controlar ejecucion concurrente (multiples hilos).
Arquitectura de Computadoras
Este curso proporciona una descripcion general de la arquitectura de computadorascomo plataforma para la ejecucion de programas (compilados). El curso presenta lamayorıa de las estructuras que tienen influencia directa en la ejecucion de programas(procesadores con registros, caches, distintos niveles en la jerarquıa de memoria) ycubre la implementacion y representacion de cuestiones solo hasta el punto en queson necesarias para entender la estructura y operacion de un sistema de computo. Elcurso tambien cubre de manera basica la evaluacion de desempeno enfocandose en losaspectos practicos de la recoleccion de datos y su analisis.
Teorıa de la Informacion
Este curso cubre los conceptos fundamentales de la Teorıa de la Informacion de Shan-non, los temas incluyen procesos estocasticos, entropıa, fuentes de informacion, canalescon ruido, codificacion de canales, compresion Lempel-Ziv.
Teorıa de la Computacion
Este curso es una introduccion a la teorıa de la computacion, los conceptos y metodosbasicos de las Ciencias de la Computacion en su contexto tanto historico como actual.Se presenta a las Ciencias de la Computacion como una ciencia interdisciplinaria. Lostemas incluyen alfabetos, palabras, lenguajes, medicion de los niveles de informacion, lapresentacion de tareas algorıtmicas, maquinas finitas, gramaticas, maquinas de Turing,teorıa de la complejidad y NP-completez.
4.8. ETH Zurich 65
Introduccion a la Electronica
Introduccion a conceptos basicos de la electronica y las comunicaciones para estudian-tes de Ciencias de la Computacion. Los temas incluyen fundamentos de la ingenierıaelectronica, procesos de cambio, corriente directa, corriente alterna, semiconductores,lıneas de transmision, antenas, comunicaciones opticas.
Introduccion a la Ciencias Computacional
Ecuaciones no lineales, metodos de iteracion, puntos unicos y multiples, fundamentosde interpolacion (puntos y funciones), extrapolacion, metodo de Lagrange, Newton yAitken-Nevile, mınimos cuadrados, introduccion a la computacion simbolica, represen-tacion de objetos matematicos, operaciones en polinomios.
4 Semestre
Sistemas Operativos
Este curso tratara en detalle las dos principales tareas de un sistema operativo mo-derno: gestion de recursos y soporte en tiempo de ejecucion para programas. Se cubreprocesos de arranque, sistemas de archivos, asignacion de memoria, recoleccion de ba-sura, procesos e hilos, controladores de dispositivos, soporte en tiempo de ejecucion,sistemas virtuales.
Sistemas Distribuidos
Algoritmos de control distribuidos (exclusion mutua, relojes logicos), modelos de co-municacion (RPC, Cliente-Servidor, comunicacion sincronizada y asıncrona, sockets),principios abstractos de comunicacion (emision (broadcast), eventos), servicio de nom-bres, mecanismos de seguridad, servicios web (SOAP, WSDL, UDDI).
Arquitectura de Software
Introduccion a las tecnicas de Ingenierıa de Software, construccion de software orientadaa objetos, diseno de alto nivel. Este curso cubre la organizacion general de los sistemasde software y las tecnicas que hacen posible el desarrollo de sistemas grandes. No todaslas tecnicas de programacion que funcionan en programas pequenos pueden usarse auna mayor escala.
Los temas que el curso abarca son: tecnicas avanzadas de orientacion a objetos, patronesde diseno, tecnicas de ingenierıa de software para programacion concurrente, distribuiday de multiples hilos, desarrollo basado en componentes, validacion y verificacion desoftware, ingenierıa de software para sistemas grandes (modelos de ciclo de vida, decosto y confiabilidad, metricas de software, manejo de proyectos).
Metodos Formales y Programacion Funcional
4.8. ETH Zurich 66
En este curso los estudiantes aprenderan nuevas maneras de especificar, razonar, ydesarrollar programas y sistemas de computo. La primera mitad se enfocara en usarprogramas funcionales abarcando las bases matematicas para la programacion fun-cional, calculo lambda, tipos, pruebas de correctud y programacion de alto nivel. Lasegunda mitad presenta metodos para desarrollar y verificar programas representadoscomo sistemas discretos de transiciones.
Introduccion a Sistemas de Bases de Datos
Este curso cubre los fundamentos del diseno y la implementacion de bases de datos ysistemas de informacion. El curso se enfoca en la tecnologıa de bases de datos relacio-nales. Los temas incluyen modelado de datos (ER y diagramas de clase UML), modelode datos relacional, teorıa de diseno relacional (formas normales), SQL, integridad debases de datos, seguridad, transacciones y almacenamiento de datos (OLAP).
Redes de Computadoras
Curso introductorio a las redes de computadoras, se cubre desde protocolos basicoshasta la capa de red. El curso tambien cubre las bases de sistemas distribuidos paratransacciones RPC, consistencia, ası como una introduccion a servicios web. La pro-gramacion de red a diferentes niveles (sockets, RMI, colas de mensajes) es una parteintegral del curso.
Computacion Cientıfica - Ecuaciones Diferenciales
Cuadratura numerica: metodos para integracion numerica, sumatoria de Euler-Maclaurin.Ecuaciones diferenciales ordinarias: discretizacion, analisis de errores, metodo de Runge-Kutta, metodos adaptables. Diferenciacion numerica: derivadas numericas por diferen-ciacion finita, diferenciacion algorıtmica. Introduccion a ecuaciones diferenciales par-ciales.
5 Semestre
Sistemas de Informacion
Este curso extiende los conceptos basicos de el manejo relacional de datos presen-tado en un curso anterior para examinar los modelos y tecnologıas requeridas parasoportar otras plataformas para el manejo de informacion incluyendo informacion semi-estructurada y de XML, informacion orientados a objetos y sistemas de recuperacionde documentos. El curso examina varios modelos para la representacion de informaciony provee un estudio a fondo del modelado de datos y como pueden ser usados en eldiseno de arquitecturas y aplicaciones.
Modelacion y Simulacion
4.8. ETH Zurich 67
Curso orientado a resolver problemas de computacion cientıfica con enfasis en la optimi-zacion y el modelamiento. Se abarca mınimos cuadrados lineales y no lineales, minimi-zacion de limitaciones (multiplicadores de Lagrange), metodo de radianes conjugado,descomposicion de valores singulares, programacion lineal, teorıa de filtros (filtro deWiener), difusion no lineal, programacion dinamica.
Computacion Visual
Este curso familiariza al estudiante con el conocimiento basico de graficas de compu-tadoras, vision y aprendizaje. Los temas incluyen pipeline de graficas, percepcion ymodelos de camara, transformacion, sombreado, iluminacion global, texturas, mues-treo, filtros, deteccion de bordes, teorıa de decision Bayesiana, clasificacion, maquinasvectoriales, reduccion de dimension, 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, metodos y herramientaspara la ingenierıa de software. Como parte central del curso estan las etapas clasicasdel ciclo de vida del desarrollo de software: analisis de requerimientos, diseno, imple-mentacion, pruebas y mantenimiento. El curso tambien cubre temas que conjuntan laingenierıa de software y la gestion de proyectos como las metricas de software.
Seguridad de la Informacion
Este curso provee una introduccion a la seguridad de la informacion enfocandose en losmodelos y conceptos basicos, criptografıa, protocolos y seguridad de sistemas, privaci-dad y proteccion de informacion.
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 Computacion ofrece las licenciaturas de: Ciencias dela Computacion, Ingenierıa de Software, Ingenierıa en Sistemas de Informacion, Ingenierıaen Computacion y Ciencias de la Computacion en Bioinformatica. El objetivo del Techniones formar cientıficos e ingenieros con amplios conocimientos y habilidades para desarrollaraplicaciones tecnologicas avanzadas para poder satisfacer las necesidades actuales.
4.9.2. Plan de Estudios
Se deben completar 55 creditos de optativas de 3 areas diferentes, como 3 materias mınimopor area.
Grupos de optativas:
Calculos
Algoritmos
Logica y sus aplicaciones
Criptografıa, seguridad e informacion
Desarrollo de sistemas de software
Comunicacion y sistemas descentraliza-dos
Sistemas de computo
Vision y robotica
Geometrıa y graficas
Aprendizaje e Inteligencia Artificial
Fısica computacional
Bioinformatica
Cada alumno debe participar en al menos 2 proyectos o un proyecto y un seminario.
1 Semestre
Calculo Diferencial e Integral I
Numeros reales, secuencias, funciones reales de una variable: lımites, continuidad, fun-ciones inversas. Diferenciabilidad, teorema fundamental del calculo, Teorema de Taylor,regla de L’Hopital, comportamiento de las funciones, antiderivada, metodos de integra-cion. La integral definida y sus propiedades, funciones integrables, teoremas principalesdel calculo integral, integrales impropias, series.
Algebra Lineal A
4.9. Technion 69
Campos, numeros complejos, espacios vectoriales, subespacios, bases, dimension, ecua-ciones lineales, matrices, proceso de eliminacion de Gauss, determinantes, transforma-ciones lineales, nucleos, imagenes, eigenvalores y diagonalizacion.
Introduccion a las Ciencias de la Computacion
Arquitectura de computadoras, resolucion de problemas por medio de algoritmos, con-ceptos basicos del lenguaje C, programacion estructurada, depuracion, pruebas de co-rrectud de un programa, medidas de la eficiencia de un algoritmo, complejidad de espa-cio y tiempo, tiempo polinomial y exponencial, analisis probabilıstico de algoritmos, al-goritmos aleatorios, problemas intratables, pilas, colas, representaciones de expresionesaritmeticas y su implementacion por medio de una pila, recursion y su implementacion,busqueda, ordenamiento.
Sistemas Digitales
Operaciones logicas, algebra booleana, circuitos combinacionales, tecnicas de minimi-zacion, elementos logicos electronicos, codigos, diseno y analisis de sistemas sıncronos yasıncronos secuenciales, elementos de memoria, contadores y registros, ejemplos de di-seno de sistemas de control digital, metodos de simplificacion de circuitos secuenciales,limitaciones de circuitos secuenciales.
Ingles Tecnico
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 materialespecıfico de su campo. Se cubre gramatica y sintaxis tecnica y cientıfica. El cursotambien mejora las habilidades orales y escritas de comunicacion.
Educacion Fısica
Se hace enfasis en la resistencia cardiovascular, la fuerza, flexibilidad y coordinaciondel alumno. Se aprenden y practican habilidades basicas de varios deportes. Se practicaeducacion fısica como medio para mejorar la salud y la calidad de vida.
2 Semestre
Calculo Diferencial e Integral 2
Funciones de varias variables, calculo diferencial basico de esas funciones, secuenciasy series de funciones, formula de Taylor, funciones implıcitas, transformaciones en Rn,integrales multiples, integrales de lınea, integrales de superficie, calculo vectorial.
Algebra Moderna
4.9. Technion 70
Propiedades de los enteros, relaciones de equivalencia, grupos, subgrupos, grupos cıcli-cos, subgrupos normales, teorema de Lagrange, grupos de consiente, teoremas de ho-meomorfismo, anillos y campos, anillos polinomiales, algoritmo de Euclides y el maximocomun divisor, dominios integrales, anillos de cociente, factorizacion unica en anillosde polinomios sobre un campo.
Fısica 1
Mecanica clasica, leyes de Newton, dinamica de una partıcula, sistemas no lineales, con-servacion de la energıa, momento angular y lineal, sistemas de varias partıculas, dinami-ca de cuerpos rıgidos, oscilador armonico, gravitacion, mecanica relativista, transforma-cion de espacio tiempo y de energıa-momento de Lorentz, transformacion de velocidad,partıculas de masa cero.
Organizacion de Computadoras y Programacion
Organizacion de memoria y representacion de la informacion, formato de instruccio-nes de maquina y modos de direccionamiento, estructura de programas en lenguajeensamblador, programacion en lenguaje ensamblador, ciclos, condiciones y subrutinas,implementacion de estructuras de datos (arreglos y listas ligadas), entrada/salida einterrupciones.
Introduccion a la Programacion de Sistemas
Conceptos de C: estructuras, listas ligadas, modulos, manejo de memoria, manejo dearchivos, proceso de compilacion. Utilizacion del ambiente UNIX y herramientas de sis-tema para el desarrollo de software: el sistema de archivos, procesos, scripts de consola,control de versiones, manejo del proceso de compilacion.
Combinatoria para Ciencias de la Computacion
Principios basicos de conteo, binomio de Newton, principio de inclusion-exclusion, re-cursion e induccion, particiones, graficas dirigidas y no dirigidas, arboles de conteo,caminos de Euler, arboles.
Educacion Fısica
Se hace enfasis en la resistencia cardiovascular, la fuerza, flexibilidad y coordinaciondel alumno. Se aprenden y practican habilidades basicas de varios deportes. Se practicaeducacion fısica como medio para mejorar la salud y la calidad de vida.
3 Semestre
Introduccion a la Probabilidad
Espacios de probabilidad, probabilidad condicional, variables aleatorias, transforma-cion de variables aleatorias, expectativas, distribuciones continua y discreta, funcionescaracterısticas y teoremas de lımites, distribuciones condicionales y expectativas.
4.9. Technion 71
Fısica 2
Electroestatica, campo electrico, potencial electrico, campos de cargas en movimiento,campos magneticos, induccion electromagnetica, ecuacion de Maxwell, introduccion aondas, dispersion, reflexion y refraccion, velocidad de fase y grupos, momento y energıade ondas electromagneticas, polarizacion, interferencia, difraccion.
Estructuras de Datos
Enfasis en estructuras de datos abstractas, seleccion y diseno de estructuras de datospara dar soluciones eficientes a problemas, propiedades, implementacion y aplicacionde estructuras de datos (arreglos, pilas, colas, varios tipos de listas, arboles de busque-da, montıculos, colas de prioridad, tablas de hash), conceptos basicos de complejidad,recoleccion de basura, asignacion de memorial, busqueda y ordenamiento.
Diseno Logico
Bloques para el diseno digital con y sin memoria, consideraciones de tiempo, aritmeticabinaria y su implementacion, algoritmos para acelerar las operaciones aritmeticas, logicaprogramable y su implementacion.
Logica y Teorıa de Conjuntos para Ciencias de la Computacion
Este curso tiene dos objetivos, primero, este curso presenta nociones basicas que senecesitaran para muchos de los cursos de Ciencias de la Computacion. Segundo, fami-liarizar al estudiante con el pensamiento matematico abstracto. Teorıa de conjuntos:definiciones basicas, relaciones, funciones, relaciones de equivalencia, ordenes, cardinali-dad de conjuntos, metodos de diagonalizacion de Kantor. Logica: calculo proposicionaly logica de primer orden, semanticas, sistemas de pruebas.
Optativa:
• Ecuaciones Diferenciales Ordinarias
• Funciones Complejas
• Teorıa de las funciones complejas
• Introduccion a los espacios metricos y topologicos
• Introduccion a la Teorıa de Aproximacion
4 Semestre
Analisis Numerico 1
Introduccion al analisis numerico, analisis de errores, aproximacion de funciones, in-terpolacion, mınimos cuadrados, polinomiales ortogonales, integracion y diferenciacionnumerica, solucion a ecuaciones no lineales, metodos directos para la solucion 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, calendarizacion y cambio de contexto, cooperacion, seccion crıtica,semaforos y variables de condicion, interrupciones, manejo de memoria, paginacion,memoria virtual, sistemas de archivos.
Introduccion al Analisis de Algoritmos
En este curso se ven metodos basicos para el diseno y analisis de algoritmos, inclu-yendo metodos de busqueda, algoritmos glotones, programacion dinamica, reducciones,algoritmos aleatorios, metodos algebraicos. El curso presenta algoritmos eficientes paraproblemas fundamentales en teorıa de graficas y otros campos. Otros temas incluyen:busqueda en profundidad y en amplitud, arbol generador mınimo, camino mas corto,flujos, cortes, emparejamiento de cadenas, problemas geometricos y algebraicos.
Arquitectura de Computadoras
Conjunto de instrucciones, familias de computadoras, RISC vs CISC, desempeno, pipe-lining, ejecucion fuera de orden, optimizacion del compilador, interaccion compilador-hardware, excepciones e interrupciones, jerarquıa de memoria, cache, memoria princi-pal, memoria virtual, tabla de paginacion, multiprocesadores simetricos, consistenciade memoria compartida, entrada/salida.
Automatas y Lenguajes Formales
Automatas finitos y lenguajes regulares, automatas no determinısticos, teoremas deNerode y Kleene, algebra de las expresiones regulares, transicion de automatas a ex-presiones regulares y viceversa, jerarquıa de Chomsky, gramaticas libres de contexto,reducciones y formas normales.
Optativa:
• Fisica 3
• Mecanica Analıtica
• Teorıa Electromagnetica
• 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 Computacion
Recursion, maquinas de Turing, equivalencia entre distintos modelos, tesis de Church,maquina universal, problemas de indecibilidad, maquinas deterministas y no determi-nistas, la clase P y NP-completez, teorema de Cook.
Compiladores
Gramaticas y lenguajes, programacion de un scanner, parsers de arriba a abajo, gramati-cas de precedencia y sus parsers, organizacion del almacenamiento en tiempo de ejecu-cion, tablas de sımbolos, rutinas semanticas, asignacion de memoria, recuperacion deerrores, organizacion de codigo.
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
4.10. National University of Singapore
4.10.1. Resumen
La Licenciatura en Ciencias de la Computacion tiene como objetivo el preparar al losestudiantes con un fuerte y amplio conocimiento en Ciencias de la Computacion y tecnologıa.Tambien le da a los estudiantes la flexibilidad de especializarse en distintos campos de lasCiencias de la Computacion. La licenciatura hace enfasis en cuatro pilares de las Ciencias dela Computacion: Lenguajes de Programacion, Sistemas de Computo, Modelaje y Algoritmose Interaccion Humano-Computadora.
La Licenciatura es reconocida por ABET4, quien ha certificado que el programa es equipa-rable a programas acreditados de Estados Unidos. Los estudiantes de Ciencias de la Compu-tacion tambien aprenderan sobre ciencia, incluyendo matematicas y fısica. El programa in-culca la aplicacion de la teorıa de la informacion en multiples disciplinas. Tambien le brindaal estudiante la oportunidad de recibir una educacion interdisciplinaria.
El Licenciado en Ciencias de la Computacion puede posicionarse en un amplio numero decampos de trabajo, incluyendo manejo de proyectos, ingenierıa del conocimiento, arquitecturade software, diseno web, medios digitales, y consultorıa de seguridad.
4.10.2. Plan de Estudios
1 Semestre
Metodologıa de Programacion
Este curso presenta los conceptos fundamentales para la programacion desde una pers-pectiva de orientacion a objetos y es el primero curso introductorio de computacion.Es el primero de dos cursos de introduccion a la programacion que incluye tambien aEstructuras de Datos y Algoritmos. Los temas incluyen: descripcion general delos lenguajes de programacion y el proceso de compilacion, objetos, clases, metodos,elementos fundamentales de programacion (variables, tipos, expresiones, asignaciones,paso de mensajes, etc.), fundamentos de estructuras de datos: arreglos, cadenas, recur-sion basica, E/S, manejo de excepciones, uso de API5 y librerıas de clase, subclases yherencia, depuracion y prueba.
Estructuras Discretas
Este curso presenta las herramientas matematicas requeridas para el estudio de lasCiencias de la Computacion. Los temas incluyen: Tecnicas de demostracion y logi-ca: proposiciones, condicionales, cuantificaciones. Relaciones y funciones: relaciones deequivalencia y particiones, conjuntos parcialmente ordenados, principio del buen orden,
4Accreditation Board for Engineering and Technology http://www.abet.org/5Application Programming Interface - Interfaz de Programacion de Aplicaciones
4.10. National University of Singapore 75
equivalencia de funciones, funciones identidad, inversa. Formulaciones matematicas demodelos de datos (modelo lineal, arboles y graficas). Conteo y combinatoria: principiodel palomar, principio de inclusion-exclusion, numero de relaciones en un conjunto,numero de inyecciones de un conjunto finito a otro, prueba de diagonalizacion.
Introduccion a las Matematicas
Este curso tiene como objetivo el brindar a los estudiantes el conocimiento matemati-co apropiado para prepararlos en el estudio de disciplinas relacionadas con las ma-tematicas. Los temas incluyen: Conjuntos, funciones y graficas, polinomios y funcionesracionales, desigualdades de una variable, secuencias y series, funciones logaritmo y ex-ponencial, funciones trigonometricas, tecnicas de diferenciacion, tecnicas de integracion,numeros complejos, vectores.
Optativa de Ciencias
Optativa de Computacion
2 Semestre
Estructuras de Datos y Algoritmos
Este curso es la segunda parte de la introduccion a la programacion desde una perspec-tiva de orientacion a objetos comenzada con Metodologıa de Programacion, con unenfasis en algoritmos, estructuras de datos, ingenierıa de software y el contexto socialde la computacion. Los temas incluyen: responsabilidad etica y social del profesionalen computo, usos e implementaciones de abstracciones y encapsulacion mediante es-tructuras de datos (listas, pilas, colas, y sus disenos algorıtmicos), varios algoritmos deordenamiento, arboles, tablas de hash, montıculos, colas de prioridad, representacionde graficas y varios algoritmos de busqueda en graficas, analisis de algoritmos basico.
Matematicas I
Este curso tiene como objetivo el brindar al estudiante los fundamentos basicos delcalculo y sus temas relacionados requeridos por los estudiantes de ingenierıa y ciencias.Los temas incluyen: conjuntos, numeros complejos, calculo en funciones de una variable,lımites, continuidad de funciones, diferenciacion, teorema del valor medio, integracion,aplicaciones del area bajo la curva, solidos de revolucion, series, algebra vectorial, fun-ciones de varias variables, calculo vectorial, ecuaciones parciales diferenciales.
Algebra Lineal I
Este es un primer curso en algebra lineal, se presentaran conceptos fundamentales yseran vistos en el contexto de los espacios Euclidianos Rn. Se espera que los estudiantesadquieran facilidad computacional e intuicion geometrica respecto a vectores y matri-ces. Los temas incluyen: sistemas de ecuaciones lineales, matrices, determinantes, el
4.10. National University of Singapore 76
espacio Euclidiano, combinaciones lineales, subespacios, independencia lineal, bases ydimension, rango de una matriz, producto interior, eigenvectores y eigenvalores, diago-nalizacion, transformaciones lineales, aplicaciones.
Optativa de Ciencias
Optativa de Computacion
3 Semestre
Organizacion de Computadoras
El objetivo de este curso es familiarizar a los estudiantes con los fundamentos de losdispositivos de computo. En este curso los estudiantes entenderan los principios basicosde la representacion 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 computo y como estas cuestiones afectan la implementacion de soluciones.Los temas incluyen: sistemas de representacion de datos, tecnicas de diseno de circuitoscombinacionales y secuenciales, lenguaje ensamblador, ciclos de ejecucion de procesa-dor, pipelining, jerarquıa de memoria y sistemas de entrada/salida.
Computacion y Sociedad
En este curso los estudiantes aprenderan y analizaran las cuestiones sociales, eticasy profesionales de la computacion. Los temas incluyen: historia de la computacion,implicaciones sociales de la computacion, privacidad, profesionalismo, responsabilidadetica, riesgo y responsabilidad de sistemas crıticos, propiedad intelectual.
Probabilidad
El objetivo de este curso es dar una introduccion a la teorıa de la probabilidad a estu-diantes de ciencias e ingenierıa. El curso cubre la parte matematica de la probabilidadası como muchos ejemplos para ilustrar el amplio campo de aplicacion de la probabi-lidad. Los temas incluyen: analisis combinatorio, axiomas de la probabilidad, proba-bilidad condicional e independencia, variables aleatorias, distribuciones, expectativas,teorema del lımite central.
Optativa de Ciencias
Optativa de Computacion
4 Semestre
Teorıa de la Computacion
4.10. National University of Singapore 77
El objetivo de este curso es proveer a los estudiantes un entendimiento teorico de lo quepuede ser computado y una introduccion a la teorıa de la complejidad. Le presenta alestudiante: algunos modelos formales de computacion para desarrollar un entendimientode lo que puede y no ser computado por distintos sistemas de computo, tecnicas derazonamiento usadas comunmente en las Ciencias de la Computacion como equivalenciade modelos, no determinismo, digitalizacion, simulacion y reduccion; la formulacionmatematica de objetos en Ciencias de la Computacion para estudiar sus propiedades.
Diseno y Analisis de Algoritmos
Este curso presenta distintas tecnicas para el diseno y analisis de algoritmos. El es-tudiante aprendera las herramientas para el analisis de algoritmos, argumentos paralımites inferiores, analisis de casos promedio y teorıa de NP-completez. Ademas losestudiantes trataran con distintos paradigmas de diseno de algoritmos. El curso tienedos objetivos principales. mejorar la habilidad del estudiante para disenar algoritmos,y preparar al estudiante para el estudio de algoritmos mas avanzados. Los temas in-cluyen: lımites inferiores y superiores, recurrencias, paradigmas basicos de algoritmos(como podar y buscar, programacion dinamica), analisis amortizado, NP-completez, yalgunos temas avanzados.
Optativa de Ciencias
Optativa de Computacion
5 Semestre
Sistemas de Bases de Datos
Este curso tiene como objetivo el brindarle al estudiante el conocimiento y entendi-miento de cuestiones basicas y tecnicas para manipular grandes cantidades de datosalmacenados en un dispositivo secundario. Los temas incluyen: organizacion fısica delos datos, metodos de acceso que faciliten la recuperacion de datos, conceptos paramanipular grandes cantidades de datos compartidos, principios de los sistemas de ges-tion de bases de datos, modelo de datos relacional y su uso a nivel de aplicacion, SQL,nuevos desarrollos en tecnicas de procesamiento de datos no convencionales.
Ingenierıa de Software
Este curso presenta las herramientas tanto analıticas como conceptuales necesarias parael desarrollo sistematico y riguroso de sistemas de software. Cubre cuatro areas basicasdel desarrollo de software, analisis orientado a objetos, diseno orientado a objetos,implementacion y pruebas, con un enfasis en el diseno e implementacion de modulosde software que trabajen en conjunto para satisfacer los requerimientos de un sistema.El estudiante conocera herramientas y tecnicas para el desarrollo de software comoUML, especificacion de programas y metodos de prueba. Tambien se cubriran cuestiones
4.10. National University of Singapore 78
fundamentales de la ingenierıa de software como el criterio de modularizacion, correctesde un programa y calidad del software.
Optativa de Computacion
Optativa de Computacion
6 Semestre
Introduccion a las Redes de Computadoras
Este curso es una amplia introduccion a las redes de computadoras y a algunas apre-ciaciones de la aplicacion de las redes en programacion. Abarca un amplio rango detemas incluyendo comunicacion de datos basica y conceptos de redes de computado-ras, protocolos, conceptos y principios, desarrollo de aplicaciones de red y seguridad deredes.
Sistemas Operativos
Este curso presenta los conceptos y principios basicos de los sistemas operativos. Seenfoca en cuatro areas principales: procesos, memoria, sistemas de archivos y dispo-sitivos. Los temas incluyen: procesos e hilos, mecanismo para concurrencia y sincro-nizacion, calendarizacion de procesos y abrazos mortales, paginacion y segmentacion,memoria virtual, organizacion de sistemas de archivos, caracterısticas de dispositivos ycontroladores.
Lenguajes de Programacion
Este curso le brinda al aluno el conocimiento teorico y las habilidades practicas enel diseno e implementacion de lenguajes de programacion. Discute la teorıa detras delos paradigmas fundamentales de programacion (imperativo, funcional, logico y orien-tado a objetos) y detras de los conceptos basicos de los lenguajes de programacioncomo alcance, paso de parametros y tipos. Presenta las tecnicas de interpretacion ycompilacion. Se habla sobre maquinas virtuales, manejo automatico de memoria y suimplementacion.
Comunicacion Tecnica y de Negocios
Este es un curso disenado para la Escuela de Computacion. El alumno aprendera a es-cribir cartas de negocios persuasivas y correos a clientes, presentar sus ideas, productosy servicios en una propuesta bien escrita y como presentaciones, y a hablar con con-fianza en juntas y reuniones. El alumno tambien aprendera como mejorar sus palabrascon soporte visual.
Optativa de Computacion
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 vidacompleto del desarrollo de un sistema, para desarrollar un sistema de software a granescala, bien probado y de calidad de produccion. Los estudiantes aplicaran lo apren-dido en Ingenierıa de Software, tambien mejorara sus habilidades de comunicacionmediante la interaccion con los miembros del equipo, las consultas y las presentacionesformales. El curso hace enfasis en el correcto diseno, una implementacion eficiente ypruebas rigurosas, ası como en la comunicacion eficiente entre los estudiantes
Disertacion
El objetivo de este curso es permitirle a los estudiantes el trabajar en un proyecto deinvestigacion individual a lo largo de dos semestres, con aproximadamente 400 horas detrabajo. Los estudiantes aprenderan como aplicar habilidades adquiridas en sus clasesy tambien a pensar en formas innovadoras para resolver problemas. Al terminar elproyecto, el estudiante de enviar su una disertacion describiendo el trabajo del proyectoy dar una presentacion oral ante un grupo de examinadores.
8 Semestre
Optativa de Computacion
Optativa de Computacion
Capıtulo 5
Comparacion de los Planes de Estudio
Para la comparacion de los distintos planes de estudio, elaboraremos una tabla por materiapara ver que temas cubre cada una de las universidades.
5.1. Computacion
5.1.1. Matematicas Discretas
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
Logica 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 %Graficas 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 Coloracion 3 7 7 7 7 7 7 7 7 7 7 0 %Recursion 3 3 3 3 3 3 3 3 3 3 3 100 %Teorıa de Numeros 7 3 7 7 7 7 3 7 3 3 3 50 %
80
5.1. Computacion 81
5.1.2. Introduccion a la Programacion
Tema UN
AM
Carn
egie
Mell
on
MIT
Sta
nfo
rd
Berl
kely
Illi
nois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
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 %Introduccion a un lenguaje deprogramacion
3 3 3 3 3 3 3 3 3 3 3 100 %
Representacion 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 %Busquedas y ordenamientos li-neales
3 3 3 3 3 3 3 3 3 3 3 100 %
Contexto historico y social de lacomputacion
3 7 7 7 7 7 7 7 7 7 3 10 %
5.1.3. Estructuras de Datos
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
jeTipos de Datos Abstractos 3 3 3 3 3 3 3 3 3 3 3 100 %Estructuras de Datos Basicas 3 3 3 3 3 3 3 3 3 3 3 100 %Estructuras de Datos No Linea-les
3 3 3 3 3 3 3 3 3 3 3 100 %
Busquedas y Ordenamientos 3 3 3 3 3 3 3 3 3 3 3 100 %
5.1. Computacion 82
5.1.4. Logica
Tema UN
AM
Carn
egie
Mell
on
MIT
Sta
nfo
rd
Berl
kely
Illi
nois
Ed
inbu
rgh
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
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 Logica 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 %
5.1.5. Sistemas Digitales
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
Logica 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 %Organizacion de Memoria 3 7 3 3 3 3 3 3 3 3 7 80 %Interfaces y comunicacion 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. Computacion 83
5.1.6. Arquitectura de Computadoras
Tema UN
AM
Carn
egie
Mell
on
MIT
Sta
nfo
rd
Berl
kely
Illi
nois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
Medidas de desempeno 3 3 3 3 3 3 3 7 3 3 3 90 %Organizacion de una Compu-tadora
3 3 3 3 3 3 3 7 3 3 3 90 %
Conjunto de Instrucciones 3 3 3 3 3 3 3 7 3 3 3 90 %Organizacion 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 ArquitecturasModernas
3 7 3 7 7 7 7 7 7 7 7 10 %
5.1.7. Analisis de Algoritmos
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
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 %Busquedas y Ordenamientos 3 3 3 3 3 7 3 3 3 3 3 90 %Algoritmos en Graficas 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. Computacion 84
5.1.8. Teorıa de la Computacion
Tema UN
AM
Carn
egie
Mell
on
MIT
Sta
nfo
rd
Berl
kely
Illi
nois
Ed
inbu
rgh
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
Cadenas, alfabetos y lenguajes 3 7 7 3 7 3 3 3 3 3 3 70 %Maquinas de estados finitos 3 7 7 3 7 3 3 3 3 3 3 70 %Gramaticas y lenguajes formales 3 7 7 3 7 3 3 3 3 3 3 70 %Automatas de estados finitos 3 7 7 3 7 3 3 3 3 3 3 70 %Automatas 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 %
5.1.9. Inteligencia Artificial
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zuri
ch
Porc
enta
je
Agentes Inteligentes 3 7 3 3 7 7 7 7 7 7 7 20 %Busquedas 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 Planificacion 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-ficial
3 7 3 7 7 7 7 7 7 7 7 10 %
Redes Neuronales 7 7 3 7 7 7 7 7 7 7 7 10 %Algoritmos Geneticos 7 7 3 7 7 7 7 7 7 7 7 10 %
5.1. Computacion 85
5.1.10. Lenguajes de Programacion
Tema UN
AM
Carn
egie
Mell
on
MIT
Sta
nfo
rd
Berl
kely
Illi
nois
Ed
inbu
rgh
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
Historia y evolucion 3 7 7 7 7 7 7 7 7 7 7 0 %Organizacion de la Computado-ra
3 3 7 7 3 7 3 7 3 3 3 60 %
Maquinas 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-cucion
3 7 7 7 3 7 3 7 7 3 3 40 %
Paradigmas de programacion 3 7 7 3 3 7 3 7 3 3 3 60 %Semantica 3 7 7 3 3 7 3 7 7 3 3 50 %Pragmatica 3 7 7 3 3 7 3 7 7 3 3 50 %Programacion Funcional 3 3 7 3 3 7 3 3 3 3 7 70 %
5.1.11. Sistemas Operativos
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
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. Computacion 86
5.1.12. Redes de Computadoras
Tema UN
AM
Carn
egie
Mell
on
MIT
Sta
nfo
rd
Berl
kely
Illi
nois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
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 %Interconexion 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 %
5.1.13. Ingenierıa de Software
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zuri
ch
Porc
enta
jeProceso 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 %Diseno 3 7 3 3 3 7 3 3 3 7 3 70 %Construccion 3 7 3 3 3 7 3 3 3 7 3 70 %Verificacion y Validacion 3 7 3 3 3 7 3 3 3 7 3 70 %Evolucion del Software 3 7 3 3 3 7 3 3 3 7 3 70 %Administracion de Proyectos deSoftware
3 7 3 3 3 7 3 3 3 7 3 70 %
Interfaz Grafica 7 7 3 3 7 7 7 7 7 7 7 20 %
5.1. Computacion 87
5.1.14. Sistemas de Bases de Datos
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Edin
burg
h
Oxfo
rd
Tech
nin
on
NU
S
Zuri
ch
Porc
enta
je
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 %Logica como Modelo de Datos 3 7 7 7 7 7 7 7 3 7 3 20 %Lenguajes de Consulta Relacio-nales
3 7 7 7 7 7 7 7 3 7 3 20 %
Organizacion fısica de los datos 3 7 7 7 7 7 7 7 3 7 3 20 %Diseno de Bases de Datos Rela-cionales
3 7 7 7 7 7 7 7 3 7 3 20 %
Bases de Datos Orientadas a Ob-jetos
3 7 7 7 7 7 7 7 3 7 7 10 %
Seguridad en Bases de Datos 3 7 7 7 7 7 7 7 3 7 7 10 %
5.1.15. C y UNIX
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illinois
Edin
burg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
jeLenguaje 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 programacion 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. Computacion 88
5.1.16. Compiladores
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illi
nois
Ed
inbu
rgh
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
Analisis Lexico 7 7 7 3 3 7 7 7 7 3 7 30 %Analisis sintactico 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 %Generacion de Codigo 7 7 7 3 3 7 7 7 7 3 7 30 %Optimizacion 7 7 7 3 7 7 7 7 7 7 7 10 %
5.1.17. Teorıa de la Informacion
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illinois
Edin
burg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
Procesos Estocasticos 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 %Compresion Lempel-Ziv 7 7 7 7 7 7 7 7 3 7 7 10 %
5.1. Computacion 89
5.1.18. Computacion Visual
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illi
nois
Ed
inbu
rgh
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
Graficacion 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 %Maquinas 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 %
5.1.19. Seguridad de la Informacion
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illinois
Edin
burg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
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 %Proteccion de la informacion 7 7 7 7 7 7 7 7 3 7 7 10 %
5.1.20. Comunicacion Tecnica
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Edin
burg
h
Oxfo
rd
Tech
nin
on
NU
S
Zuri
ch
Porc
enta
je
Comunicacion Oral 7 3 3 7 3 3 7 7 7 3 3 60 %Comunicacion 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. Matematicas 90
5.2. Matematicas
5.2.1. Calculo de una variable
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Edin
burg
h
Oxfo
rd
Tech
nin
on
NU
S
Zuri
ch
Porc
enta
je
Numeros 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 %Derivacion 3 3 3 3 3 3 3 3 3 3 3 100 %
Integracion 3 3 3 3 3 3 3 3 3 3 3 100 %Teorema fundamental del calcu-lo
3 3 3 3 3 3 3 3 3 3 3 100 %
Funciones logaritmo y exponen-cial
3 3 3 3 3 3 3 3 3 3 3 100 %
Series 3 7 3 3 3 3 3 7 3 3 3 80 %
5.2.2. Calculo de varias variables
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
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 %Maximos y mınimos 3 3 3 3 3 3 3 3 3 3 3 100 %
Integrales multiples 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. Matematicas 91
5.2.3. Ecuaciones Diferenciales
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Edin
burg
h
Oxfo
rd
Tech
nin
on
NU
S
Zuri
ch
Porc
enta
je
Ecuaciones Diferenciales Linea-les de primer orden
7 3 3 7 3 7 3 3 3 3 3 80 %
Ecuaciones Diferenciales No Li-neales de primer orden
7 3 3 7 3 7 3 3 3 3 3 80 %
Ecuaciones Diferenciales Linea-les de segundo orden
7 3 3 7 3 7 3 3 3 3 3 80 %
Ecuaciones Diferenciales Linea-les de segundo orden con Coefi-cientes Variables
7 7 3 7 3 7 7 3 3 3 7 50 %
Transformada de Laplace y deFourier
7 7 3 7 3 7 7 7 3 3 7 40 %
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 yMetodos Numericos
7 3 3 7 3 7 7 7 7 7 7 30 %
Teorıa Cualitativa de ED 7 7 7 7 7 7 7 7 7 7 7 0 %
5.2. Matematicas 92
5.2.4. Analisis Numerico
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Edin
burg
h
Oxfo
rd
Tech
nin
on
NU
S
Zuri
ch
Porc
enta
je
Aritmetica 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 %Interpolacion 3 7 7 7 7 7 7 7 3 3 7 20 %Cuadratura Numerica 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 %Optimizacion en una dimension 3 7 7 7 7 7 7 7 3 7 7 10 %
5.2.5. Algebra
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
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 %Numeros 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 %
Numeros 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 %Numeros 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. Matematicas 93
5.2.6. Algebra Moderna
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illi
nois
Ed
inbu
rgh
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
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 %
5.2.7. Algebra Lineal
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Ed
inburg
h
Oxfo
rd
Tech
nin
on
NU
S
Zu
rich
Porc
enta
je
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 Simetricas 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 %Diagonalizacion 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 %Triangulacion 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 canonica de Jordan 3 7 7 7 7 7 7 7 7 7 7 0 %
5.2. Matematicas 94
5.2.8. Probabilidad
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Edin
burg
h
Oxfo
rd
Tech
nin
on
NU
S
Zuri
ch
Porc
enta
je
Espacio de probabilidad 3 3 3 3 3 3 3 3 3 3 3 100 %Calculo 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
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Edin
burg
h
Oxfo
rd
Tech
nin
on
NU
S
Zuri
ch
Porc
enta
je
Muestra Aleatoria 3 7 7 7 7 7 7 7 3 7 7 10 %Parametros 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 Hipotesis 3 7 7 7 7 7 7 7 3 7 7 10 %
5.2. Matematicas 95
5.2.10. Geometrıa Analıtica
Tema UN
AM
Carn
egie
Mellon
MIT
Sta
nfo
rd
Berl
kely
Illin
ois
Edin
burg
h
Oxfo
rd
Tech
nin
on
NU
S
Zuri
ch
Porc
enta
je
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 %Conicas 3 7 7 7 7 3 3 7 7 7 7 20 %
Superficies Cuadraticas 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 Mobius 3 7 7 7 7 7 7 7 7 7 7 0 %
Capıtulo 6
Resultados de la Comparacion
6.1. Temas impartidos en la Facultad de ciencias
En esta seccion nos enfocaremos en los temas que se ensenan en la Facultad de Cienciaspero se imparten en menos del 50 % de las universidades de nuestro analisis.
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
6.2. Temas no impartidos en la Facultad de Ciencias
En esta seccion nos enfocaremos en los temas que no se ensenan en la Facultad de Cienciaspero se imparten en al menos el 50 % de las universidades de nuestro analisis.
6.2. Temas no impartidos en la Facultad de Ciencias 101
Indice alfabetico
Algebra, 11, 12, 48, 92Algebra Lineal, 13, 14, 21, 28, 38, 44, 49, 54,
63, 68, 75, 93, 99Algebra Moderna, 69
ABET, 74Analisis de Algoritmos, 15, 20, 22, 29, 34, 39,
57, 63, 72, 77, 83Analisis Logico, 96Analisis Numerico, 16, 57, 66, 71, 92, 100Arquitectura de Computadoras, 15, 29, 43,
44, 49, 58, 64, 72, 83
Bases de Datos, 16, 66, 77, 87, 98Berkeley, 8, 36
C, 21, 32, 37, 69, 70, 100C y UNIX, 20C++, 25, 32C#, 32Calculo, 19, 26, 27, 31, 36, 37, 42, 43, 48, 62,
63, 68, 69, 75, 90, 98Carnegie Mellon, 6, 8, 18Combinatoria, 70Compiladores, 33, 39, 57, 73, 88Computacion, 80
Ecuaciones Diferenciales, 20, 27, 48, 54, 66,71, 101
Edinburgh, 9, 47Electricidad y Magnetismo, 44Estadıstica, 13, 63, 94, 99Estructuras de Datos, 19, 20, 37, 43, 49, 53,
57, 63, 71, 75, 81ETH Zurich, 9, 61
Fısica, 26, 27, 43, 44, 63, 70, 71Facultad de Ciencias, 11
Geometrıa, 99Geometrıa Analıtica, 12, 95Guardian The, 8
Haskell, 49, 52, 53
Ingenierıa de Software, 17, 30, 39, 65, 67, 77,79, 86
Inteligencia Artificial, 15, 29, 34, 84, 97Introduccion a la Computacion, 47Introduccion a la Programacion, 19, 26, 42,
62, 70, 74
Java, 19, 25, 32, 37, 48, 49
Logica, 19, 47, 55, 62, 71, 82Lenguajes de Programacion, 32, 39, 57, 78,
85, 97LISP, 32, 36, 37
Matematicas, 90Matematicas Discretas, 27, 32, 38, 42, 54, 63,
74, 80MATLAB, 38, 57, 63Mecanica, 43MIT, 6, 8, 25
National University of Singapore, 9
Objective C, 32Oxford, 6, 9, 52
Probabilidad, 13, 33, 45, 55, 63, 70, 76, 94
102
INDICE ALFABETICO 103
Procesamiento Digital de Senales, 28Programacion Funcional, 21, 48, 53, 65Prolog, 62Python, 32
Redes, 16, 56, 66, 78, 86, 97Robotica, 28, 34
Seguridad, 67Shangai Rankings, 5Sistemas Digitales, 38, 54, 64, 69, 71, 82Sistemas Distribuidos, 65Sistemas Operativos, 15, 34, 38, 44, 56, 65,
72, 78, 85Stanford, 6, 8, 31
Tecnicas de Comunicacion, 39, 42, 101Technion, 10, 68Teorıa de la Computacion, 45, 49, 55, 64, 72,
73, 76, 84Teorıa de la Informacion, 64Termodinamica, 44Times Higher Education, 5
U.S. News & World Report, 8Universidad de Tokyo, 9University of Illinois–Urbana-Champaign, 8,
41UNIX, 20, 70, 100