¡Esta es una revisión vieja del documento!
El curso estudia técnicas para diseñar algoritmos como, por ejemplo, dividir y conquistar, programación dinámica, programación voraz/avara y reintento. A los algoritmos desarrollados mediante estas técnicas se les aplican los dos tipos de análisis fundamentales en algoritmia: el de corrección y el de eficiencia. El curso también aborda técnicas de diseño de algoritmos aleatorizados y de algoritmos de aproximación, al igual que explora técnicas en la teoría de números computacional y en la computación geométrica. En la última parte del curso se introducen modelos de computación en paralelo.
Al finalizar el curso los participantes podrán:
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
1-2 | 3 | 2 | Introducción y repaso. Inducción matemática. Diseño algorítmico. Notación asintótica. Algoritmos cuadráticos de ordenamiento. | Uso | [1 caps 1,2] [2 cap 2][3 cap 0, app 1][5 cap 1] |
Total de Horas: 5.
Sesión | Horas de trabajo independiente | Temas | Bibliografía |
---|---|---|---|
1-2 | 4 | Tareas semanales, resolución de problemas en temas vistos | [1,cap 1,2][2 cap 2][3 cap 0, app 1][5 cap 1] |
Total de Horas: 4.
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
3-6 | 6 | 4 | Dividir, conquistar y combinar. Relación con inducción matemática. MergeSort. HeapSort. Bisección y búsqueda binaria. Teorema Maestro. | Evaluación | [1 cap 4][2 cap 5][3 cap 1][5 cap 2] |
Total de Horas: 10.
Sesión | Horas de trabajo independiente | Temas | Bibliografía |
---|---|---|---|
3-6 | 8 | Tareas semanales, resolución de problemas en temas vistos | [1 cap 4][2 cap 5][3 cap 1][5 cap 2] |
Total de Horas: 8.
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
7-11 | 7 | 5.5 | Programación dinámica. Memorización (top-down). Tabulación (bottom-up). Técnicas de ahorro de memoria. | Evaluación | [1 cap 15][2 cap 6][3 caps 5,6][5 cap 3] |
12-15 | 6 | 4 | Algoritmos avaros/voraces. Óptimos locales. Técnicas de demostración de optimalidad. | Evaluación | [1 cap 16][2 cap 4][3 cap 7][5 cap 4] |
16-18 | 5 | 2.5 | Reintento (backtracking). Búsqueda exhaustiva. Heurísticas. | Evaluación | [3 cap 3][5 caps 5,6] |
Total de Horas: 30.
Sesión | Horas de trabajo independiente | Temas | Bibliografía |
---|---|---|---|
7-18 | 24 | Tareas semanales, resolución de problemas en temas vistos | [1 caps 15,16][2 caps 4,6][3 caps 3,5-7][5 caps 3-6] |
Total de Horas: 24.
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
19-21 | 4 | 3.5 | Teoría de números computacional. El algoritmo de Euclides. Criba de Eratóstenes. Test de primalidad. Factorización de números. Funciones multiplicativas. Aritmética de precisión arbitraria. Ciframiento. | Evaluación | [1 cap 31][4 cap 5][5 cap 10] |
22-24 | 4 | 3.5 | Geometría computacional. Representación de puntos, líneas, segmentos, polígonos. Intersección de segmentos, polígonos. Envolvimiento convexo. | Evaluación | [1 cap 33][4 cap 7] |
Total de Horas: 15.
Sesión | Horas de trabajo independiente | Temas | Bibliografía |
---|---|---|---|
19-24 | 12 | Tareas semanales, resolución de problemas en temas vistos | [1 caps 31,33][4 caps 5,7][5 cap 10] |
Total de Horas: 12.
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
25-26 | 3 | 2 | Algoritmos aleatorizados. Quicksort. El algoritmo de Rabin y Karp. | Uso | [1 cap 7][3 cap 13] |
27-29 | 5 | 2.5 | Algoritmos de aproximación. Programación lineal entera. El algoritmo Simplex. Eliminación Gaussiana. Rounding. Cubrimiento de vértices. | Uso | [1 cap 29,35][3 caps 26] |
Total de Horas: 12.5.
Sesión | Horas de trabajo independiente | Temas | Bibliografía |
---|---|---|---|
25-29 | 10 | Tareas semanales, resolución de problemas en temas vistos | [1 caps 7,29,35][3 caps 13,26] |
Total de Horas: 10.
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
30-32 | 5 | 2.5 | Modelos formales de programación en paralelo. Computación secuencial vs. en paralelo. Parallel programming vs. concurrent programming. La ley de Amdahl | Uso | [5 cap 11] |
Total de Horas: 7.5.
Sesión | Horas de trabajo independiente | Temas | Bibliografía |
---|---|---|---|
30-32 | 6 | Tareas semanales, resolución de problemas en temas vistos | [5 cap 11] |
Total de Horas: 6.
(A) La habilidad para aplicar conocimientos de matemáticas, ciencias e ingeniería.
(B) La habilidad para analizar un problema e identificar los requerimientos necesarios para su definición y solución.
(C) La habilidad para diseñar, implementar y evaluar procesos y sistemas computacionales.
(D) La habilidad para funcionar en equipos de trabajo.
(E) El entendimiento de la responsabilidad profesional y ética.
(F) La habilidad para comunicarse efectivamente.
(G) La habilidad para analizar los impactos de la computación y la ingeniería en las personas, organizaciones y la sociedad.
(H) El reconocimiento de la necesidad de, y la habilidad para, continuar con el desarrollo profesional.
(I) La habilidad para usar las técnicas, destrezas y herramientas modernas para la práctica de la computación.
(J) La habilidad para aplicar los fundamentos y principios de las matemáticas y de la computación en el modelamiento y diseño de sistemas computacionales de manera que se demuestre comprensión de las ventajas y desventajas en las decisiones de diseño.
(K) La habilidad para aplicar los principios de diseño y desarrollo de software en la construcción de sistemas de diferente complejidad.
Resultados de Programa | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
a | b | c | d | e | f | g | h | i | j | k | |
Relevancia | 3 | 2 | 3 | 0 | 0 | 2 | 0 | 0 | 0 | 5 | 3 |
(1) baja relevancia - (5) alta relevancia
El curso es presencial y con participación y trabajo en clase. Se asigna trabajos, ejercicios y lecturas. Durante la sesión se expondrán los conceptos acompañados de ejemplos, se fomentará la participación de los estudiantes. Se realizan talleres semanal o bisemanales en los cuales se aplican los fundamentos teóricos.
Resultados del Programa | Indicadores de Desempeño | Objetivos/Contenido del Curso | Actividades de aprendizaje | Instrumentos de medición |
---|---|---|---|---|
(A) Aplicación de Conocimientos | (A1) Identificar los fundamentos científicos y los principios de ingeniería que rigen un proceso o sistema. (Conocimiento) (A2) Resolver problemas relacionados con la disciplina y otras áreas por medio de la utilización de conocimientos, modelos y formalismos de las ciencias de la computación, las matemáticas y la ingeniería. (Aplicación) (A4) Interpretar modelos matemáticos para estimar su precisión y confiabilidad. (Comprensión) | Todos | Exposiciones del profesor, talleres, tareas y lecturas | Exámenes, Talleres, proyecto |
(B) Análisis de problemas y requerimientos | (B1) Describir procesos de manera declarativa ignorando los detalles de su implementación. (Comprensión). (B2) Utilizar el lenguaje propio de las matemáticas, la lógica y la ingeniería para especificar requerimientos funcionales y no funcionales de un sistema o proceso. (Aplicación). (B3) Sintetizar la información, evidencias y hechos necesarios para analizar un problema. (Análisis - Síntesis). (B4) Formular hipótesis. | Todos | Exposiciones del profesor, talleres, tareas y lecturas | Exámenes, Talleres, proyecto |
(C) Diseño | (C1) Utilizar estándares de codificación en la implementación de componentes de software. (Aplicación). (C2) Identificar componentes, interacciones, relaciones e interfaces entre componentes. (Análisis). (C3) Diseñar procesos y componentes de software haciendo uso de la notación, técnicas y herramientas adecuadas. (Síntesis). (C4) Evaluar un componente de software de acuerdo a su complejidad temporal y espacial. (Evaluación). | Todos | Exposiciones del profesor, talleres, tareas y lecturas | Exámenes, Talleres, proyecto |
(F) Comunicación efectiva | (F2) Comunicarse de manera efectiva de acuerdo al público objetivo haciendo uso correcto del lenguaje, estilo, tiempo y expresión corporal. (Aplicación). (F4) Defender ideas con precisión y claridad. (Evaluación). | Todos | Ejercicios de demostración, presentación oral y escrita de talleres | Exámenes y proyecto |
(J) Modelamiento y diseño de sistemas computacionales | (J1) Reconocer la importancia del modelamiento cuando se resuelve un problema. (Compresión). (J2) Relacionar conceptos y principios teóricos para la resolución efectiva de un problema. (Síntesis). (J4) Evaluar decisiones de diseño basándose en principios matemáticos y de computación. (Evaluación). | Todos | Exposiciones del profesor, talleres, tareas y proyectos | Exámenes, Talleres, proyecto |
(K) Desarrollo de software | (K3) Establecer invariantes y propiedades de componentes de software. (Análisis). | Todos | Exposiciones del profesor, talleres, tareas y proyectos | Exámenes, Talleres, proyecto |
La tabla muestra que aspectos de las competencias de Comunicación Escrita, Lectura Crítica y Razonamiento Cuantitativo son evaluados a través de los factores ABET correspondientes. Por otra parte, la competencias de Inglés se favorece gracias a la metodología del curso y también, gracias al factor ABET correspondientes.
Resultados de Programa | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | |
Comunicación escrita | E | E | E | E | E | E | |||||
Lectura crítica | E | E | E | ||||||||
Inglés | U | U | U | U | U | U | |||||
Razonamiento cuantitativo | E | E | E | E | E |
E- Se evalúa. U - Se usa
La Carrera de Ingeniería de Sistemas y Computación plantea los siguientes objetivos educacionales, El estudiante graduado de la carrera será capaz de:
Resultados de Programa | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | E | F | G | H | I | J | K | |
Objetivo 1 | X | X | X | X | X | ||||||
Objetivo 2 | X | X | X | X | X | X | |||||
Objetivo 3 | X | ||||||||||
Objetivo 4 | X | X | X | X | X | ||||||
Objetivo 5 | X | X | X | X | X | X |
Instrumento | Porcentaje | A | B | C | D | E | F | G | H | I | J | K |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Parcial 1 | 20 % | 17 % | 10 % | 15 % | 11 % | 30 % | 17 % | |||||
Parcial 2 | 20 % | 17 % | 10 % | 15 % | 11 % | 30 % | 17 % | |||||
Examen final | 20 % | 17 % | 10 % | 15 % | 11 % | 30 % | 17 % | |||||
Proyecto | 20 % | 17 % | 10 % | 10 % | 11 % | 30 % | 22 % | |||||
Talleres y quices | 20 % | 17 % | 10 % | 20 % | 11 % | 30 % | 12 % |
No está permitido el uso de material en los exámenes, ni el uso de computadores personales ni teléfonos celulares.
Es obligatoria.
Salón de clase con computador y proyector. Laboratorio de Ingeniería de Sistemas y Computación.