¡Oh, una pregunta que puedo responder!
Tomé CS 170 el semestre pasado, cuando fue enseñado por el profesor Christos Papadimitriou (que es un gran problema en informática). Fue una experiencia fantástica, uno de mis cursos favoritos que he tomado aquí en Berkeley. El material fue increíblemente interesante, los deberes fueron agotadores pero reveladores, las pruebas fueron difíciles pero justas, y el proyecto final fue uno de los proyectos más interesantes en los que he trabajado. Fantástico curso.
Comenzamos con principios algorítmicos muy básicos, como la resolución de recurrencias y el uso del Master Theorem, y luego entramos en el primer gran principio del curso: la Transformada rápida de Fourier, que se presentó muy bien, y la tarea al respecto realmente mostró cuán aplicable era. Luego, entramos en la teoría de gráficos, comenzando de manera simple con BFS / DFS / Strongly Connected Components, y entramos en Dijkstra, Bellman-Ford y los otros matices del camino más corto, y finalmente entramos en árboles de expansión mínima y algoritmos codiciosos. Esto comenzó lo que pensé que era la parte más interesante del curso (y la más difícil): nuestros capítulos sobre Programación codiciosa, Programación dinámica y Programación lineal. Esto se basó en nuestros temas finales de Problemas de búsqueda y Complejidad computacional.
Teníamos tareas pendientes todos los viernes, lo que significaba que nunca dormí el jueves por la noche, pero la mejor parte del curso fue el proyecto final. Nos dividimos en equipos y diseñamos un algoritmo de aproximación para una variante (más difícil) del problema del vendedor ambulante, y competiríamos con nuestros compañeros de clase para obtener la solución más cercana a la óptima para un conjunto de 500 gráficos diferentes. Esto fue muy divertido. Intentamos un montón de enfoques, desde crear heurísticas interesantes para una búsqueda A *, hasta usar K-Means con la ruta más corta como métrica de distancia para agrupar nodos y ejecutar nuestra solución de programación dinámica en ellos, incluso escribir un programa genético para iterativamente mejorar hasta que encuentre una solución. Paralelamos nuestro programa y de alguna manera encontramos un camino hacia la supercomputadora de nuestra escuela, y tratamos de usarlo para que nuestras soluciones de fuerza bruta fueran más prácticas. Incluso después de todo esto, solo terminamos en el lugar 25 (de unos 200 equipos), pero fue tan divertido que no me puedo quejar.
- ¿Es el Instituto de Tecnología Sri Krishna en Bangalore una buena universidad?
- ¿Qué universidad es mejor, VIT o College of Engineering, Guindy para CS?
- ¿Cuál es la correlación entre los puntajes del SAT y el promedio de calificaciones de la universidad?
- ¿Cómo se siente alguien cuando ingresa a la universidad con sus jóvenes?
- ¿Cuál es el propósito de incluir ciertos cursos de educación general en el plan de estudios de pregrado cuando no corresponde a la especialidad de un estudiante?
Gran clase Son experiencias como estas las que me hacen recordar por qué elegí venir aquí.