Bienvenides al curso de programación en Python de la UNSAM. Esta página tiene información importante sobre cómo se desarrollará el curso y las condiciones de cursada.
Este curso está orientado a estudiantes de ingeniería y de disciplinas científicas que quieran aprender Python y utilizarlo para análisis de datos, modelado matemático, o scripting. Está orientado a personas con alguna experiencia previa en programación, aunque no asumimos ningún conocimiento del lenguaje Python. Es un curso intenso y desafiante, que invita a pensar y a desarrollar algoritmos eficientes.
Para hacer este curso solo hace falta tener instalado el Python 3.6 o más nuevo y tiempo para leer las clases y hacer los ejercicios (son de entrega obligatoria semanal).
Este es un curso cuatrimestral que durará de principios a agosto a fin de noviembre del 2020. Es un curso de grado y posgrado. Tiene diferentes modalidaes, algunas sincrónicas y otras asincrónicas. Las clases las tendrán que leer de los apuntes que encuentran aquí mismo. Hay guias de ejercicios y encuentros on-line de consultas. Hay también un grupo de para consultas y debates entre estudiantes en tiempo real. Calculamos que el curso les demandará unas 10 horas semanales de dedicación durante los cuatro meses.
Este curso lo dicta la Escuela de Ciencia y Tecnología de la UNSAM en el marco del proyecto de Inteligencia Artificial Interdisciplinaria. Dado el contexto de ASPO (Aislamiento Social Preventivo y Obligatorio) en vigencia, el curso será completamente virtual.
El curso lo dictan dos profesores de la ECyT-UNSAM que son también investigadores del CONICET: Oscar Filevich es Lic. en Biología, Dr. en Química y trabaja en neurofisiología; Rafael Grimson es Lic. en Matemática, Dr. en Computación y trabaja en temas ambientales.
El curso involucra contenidos prácticos específicos del lenguaje Python así como también un poco más teóricos sobre algoritmos, organización de programas y estructuras de datos. Además de los contenidos mínimos del curso, cada clase tendrá una guía optativa para profundizar en algún tema específico.
Los clases deben ser hechas en forma secuencial, comenzando de la primera. Los ejercicios en muchos casos construyen sobre ejercicios hechos en clases anteriores.
Las clases tendrán una componente asincrónica y otra sincrónica.
El contenido será principalmente dado de forma asincrónica, sea escrito en los apuntes, sea por medio de la ejercitación de entrega obligatoria o a través de las consultas.
La parte sincrónica durará menos de dos horas y tendrá lugar los miércoles a las 14hs por videoconferencia (google-meet). En estas clases presenciales discutirmos los ejericicos de la semana anterior y presentaremos brevemente los temas de la semana siguiente.
Cada miércoles antes de las 14hs les enviaremos un correo con el material y las tareas de la semana siguiente, así como el link para sumarse al google-meet. Vamos a grabar las clases de forma que si no pueden participar en el momento tengan la opción de verla luego. Habrá también un grupo de discusión y consultas en Slack para que puedan hacer preguntas y discutir ideas o soluciones a los ejercicios.
Los ejericios que hagan los deberán subir resueltos antes de la clase siguiente. Además, les pedimos que completen cada semana un breve formulario sobre qué pudieron hacer y qué no.
Por otra parte, habra dos exámenes parciales sobre los contenidos dictados: uno a la mitad y el otro al final del curso. Los estudiantes de posgrado deberán rendir también un exámen final.
El curso con exámenes incluídos va del miércoles 5 de agosto al miércoles 25 de noviembre del 2020. El curso puede realizarse completamente de manera asincrónica.
Antes de comenzar el curso, asegurate de tener todo lo necesario en tu computados como se describe acá
El siguiente texto de Tim Peters se conoce como El zen de Python y explica en algún sentido su filosofía.
Bello es mejor que feo. Explícito es mejor que implícito. Simple es mejor que complejo. Complejo es mejor que complicado. Plano es mejor que anidado. Espaciado es mejor que denso. La legibilidad es importante. Los casos especiales no son lo suficientemente especiales como para romper las reglas. Sin embargo la practicidad le gana a la pureza. Los errores nunca deberían pasar silenciosamente. A menos que se silencien explícitamente. Frente a la ambigüedad, evitar la tentación de adivinar. Debería haber una, y preferiblemente solo una, manera obvia de hacerlo. A pesar de que esa manera no sea obvia a menos que seas Holandés. Ahora es mejor que nunca. A pesar de que nunca es muchas veces mejor que ahora mismo. Si la implementación es difícil de explicar, es una mala idea. Si la implementación es fácil de explicar, puede que sea una buena idea. Los espacios de nombres son una gran idea, ¡tengamos más de esos!
Otros links importantes antes de comenzar a leer las notas: