Diego Mascialino abrió un hilo en la ListaDeCorreo que reabrió un tema recurrentemente tratado: Cómo difundir el uso de Python (y por extensión del Software Libre) en las universidades, principalmentes en las carreras de ingeniería, ciencias de la computación y afines.

Esta página servirá para sistematizar lo expuesto en ese hilo así como nuevos aportes, tendientes a generar estrategias y materiales de difusión de Python como herramienta para estudiantes y docentes.

Experiencias

FCEFyN - Universidad Nacional de Córdoba

  • 2010/8/13 Martín Gaitán :

    (...) Desde el año pasado, impulsado por el Ing. Carlos Bartó, la mayoría de las cátedras de Informática, materia de primer año común a todas las carreras, utilizan Python, en reemplazo de C++ y Octave, siguiendo el libro "Introducción a la programación con Python" que utiliza el entorno PythonG. Según los comentarios de los docentes, los resultados hasta el momento han sido sobresalientes. (...)

FaMAF - Universidad Nacional de Córdoba

  • 2011/5/27 DanielMoisset:

    Por segundo año consecutiva, en la cátedra de redes y sistemas distribuidos damos proyectos en Python. Se usa tanto la API de sockets de la standard library (incluyendo select.poll), y para uno de los proyectos se usa scapy. Los resultados han sido muy buenos comparados con años anteriores (donde se daban los mismos proyectos en C y C++)

UCSE-DAR - Universidad Católica de Santiago del Estero - Departamento Académico Rafaela

  • 2011/5/30 Ariel Rossanigo:

    Desde el año 2005 utilizamos Python en la cátedra Inteligencia Artificial para la implementación de problemas de búsqueda y satisfacción de restricciones. Los alumnos usan como base el framework provisto por Peter Norvig, Aima Python.

    Desde el 2007 usamos Python como lenguaje para la cátedra Compiladores e Intérpretes. En la misma, grupos de alumnos desarrollan un parser para resolver alguna situación problemática, de ser posible, de la vida real. Los trabajos varían desde compiladores de lenguajes de alto a bajo nivel, generadores de código a partir de scripts SQL, traductores de código entre lenguajes de alto nivel, etc. Como herramienta para la generación de los autómatas se utiliza PLY.

FIUBA - Universidad de Buenos Aires - Facultad de Ingeniería

Python se enseña en la materia "Algoritmos y Programación 1", cátedra Wachenchauzer (desde hace varios años). Están disponible los materiales en la siguiente páginas:

Instituto Superior Tecnológico Blaise Pascal

En el instituto terciario, desde 2009 en la Tecnicatura Superior en Análisis de Sistemas (Resolución Nº5817/03) y desde 2013 en Tecnicatura Superior en Redes Informáticas (Resolución Nº6164/03), se utiliza transversalmente Python, PostgreSQL, GNU/Linux y otras tecnologías abiertas en el marco del Proyecto Curricular Institucional orientado al software libre:

UNNOBA - Universidad Nacional del Noroeste de la provincia de Buenos Aires

  • 2014/2/25 Germán L. Osella Massa:

    Para agregar un poco de data sobre la UNNOBA, el año pasado se arrancó en el primer cuatrimestre de las carreras de Informática con Python. El uso del intérprete (vía la consola e IDLE) y de Online Python Tutor[1] le aportaron bastante dinamismo a las clases y generó que los alumnos fueran probando código al mismo tiempo que se explicaban los temas o que se plantearan ellos mismos usos de cosas que no estaban explícitamente mencionadas. Otra cosa que resultó muy piola fue que en la práctica, muchos de los enunciados dados venían con sus doctest, por lo que podían usarlos para probar si el código que escribían andaba como se esperaba (a lo TDD). Este año esperamos incorporar el notebook de IPython para los apuntes y demás.

  • Ver artículo: "Analysis of suitable languages to teach Procedural Programming at the Universidad Nacional del Noroeste de la provincia de Buenos Aires" e hilo en la lista de correo

Universidad Nacional de Avellaneda

  • El 7/10/2013 el portal de Educ.Ar publica un Video en YouTube "Programación con Python":

    Rosita Wachenchauzer es profesora de la carrera Ingeniería en Informática, en la Universidad Nacional de Avellaneda. Aquí habla sobre las ventajas de utilizar Python, un lenguaje de programación interpretado que tiene una sintaxis muy limpia y simple, y permite alcanzar excelentes resultados. La profesora comenta que, por las características que posee este programa, se lo elige para que los alumnos se inicien en la programación.

Artículos / Bibliografía

  • Aprender a programar con Python: una experiencia docente, A Marzal, D Llorense, I Gracia, Universitat Jaume I,

    Resumen: La elección del primer lenguaje de programación es un debate recurrente entre los docentes universitarios de ingenierías informáticas. La Universitat Jaume I ha optado por una solución poco convencional: en el primer curso de dos titulaciones de ingenier ́ inform ́tica se aprende a programar con Python y C. Python es un lenguaje que está en auge en el mundo del software libre y que presenta una serie de caracter ́ısticas que lo hacen muy atractivo para ense ̃ar a programar. Como material de apoyo hemos escrito un libro de texto (accesible gratuitamente) y desarrollado un sencillo entorno de programaci ́multiplataforma para Python que se distribuye con licencia GPL: el entorno PythonG, formado por un intérprete interactivo, un editor, un depurador sencillo y una ventana con salida gráfica. Con el material docente elaborado se facilita la formación autodidacta para cualquiera que quiera aprender a programar desde cero. En este artículo reflexionamos sobre la idoneidad de Python como primer lenguaje de programación, describimos la experiencia docente de enseñar Python y C en primer curso y presentamos el entorno de progra- maciónn PythonG.

  • Signals and Systems in Python, Gunnar Ristroph, Scipy Conference 2010

    Abstract: Students will learn the basics of signal processing with examples in Python. Sampling and filtering of data will be covered in the time and frequency domain. Students will learn signal analysis and system simulation techniques. http://conference.scipy.org/scipy2010/tutorials.html#signals

  • Fixing Statistical Errors in Spreadsheet Software: The Cases of Gnumeric and Excel, B. D. McCullough

    The open source spreadsheet package "Gnumeric" was such a good clone of Microsoft Excel that it even had errors in its statistical functions similar to those in Excel's statistical functions. When apprised of the errors in v1.0.4, the developers of Gnumeric indicated that they would try to fix the errors. Indeed, Gnumeric v1.1.2, has largely fixed its flaws, while Microsoft has not fixed its errors through many successive versions. Persons who desire to use a spreadsheet package to perform statistical analyses are advised to use Gnumeric rather than Excel.

    Plantea los errores existentes en las principales herramientas de planilla de cálculo en el ámbito de la estadística.

Herramientas / Software

Reemplazo a Matlab (cálculo numérico)

  • SciPy Genial para cálculo numérico. Introduce un nuevo tipo de datos: Arrays (parecidos al los de C) pero optimizados para cálculos. Permite hacer cálculos de tiras enormes de datos en una sola línea.

Reemplazo a Symbolic Math Toolbox (de Matlab)

  • SymPy Librerías para cálculo simbólico. Esta bastante verde todavía, ni se compara con las herramientas comerciales como Mathematica o MathCad, pero para cosas no muy complicadas es de buena ayuda. Si bien funciona en la consola exclusivamente, permite visualizar fórmulas de manera legible, introduciendolas con un sistema similar a LaTEX.

Listado de librerías de ploteo

  • matplotlib: Muy recomendado. Puede requerir más trabajo que otras librerías más sencilla, pero tiene toda la funcionalidad de graficación que tiene Matlab.
  • CairoPlot: Bueno, bonito y barato. Permite tener gráficos andando de manera rápida, pero su performance puede ser baja para ciertas aplicaciones.
  • gnuplot.py: Wrapper sobre gnuplot. Versátil y rápido, si sos diseñador gráfico, te va a parecer muy feo.

http://stackoverflow.com/questions/1120542/what-is-the-best-plotting-library-for-python