Nombre del curso : Fundamentos de Python para las Ciencias Sociales y Gestión Pública.
Profesora del curso : Carla Solis Uehara
Correo electrónico PUCP : [email protected]
Horario de clases : Miércoles 7:00 - 9:00 pm
El curso abordará los elementos esenciales para desarrollar habilidades de programación con Python. En especial, el objetivo es incorporar a Python como una caja de herramientas para la investigación cuantitativa en las ciencias sociales. Esta introducción se concentrará en el manejo de datos, y a la vez, asentar las bases para forjar a las y los estudiantes en las ciencias de datos. Se enseñarán conceptos básicos de programación como estructuras de datos, definir funciones, así como trabajar con las librerías especializadas más esenciales para el trabajo con datos, en especial Pandas, y en menor medida, Numpy. Finalmente, veremos aplicaciones en visualización de datos y web scrapping, así como la introducción uso de APIS, y a librerías adicionales que facilitaran el trabajo con los datos.
Este curso está dirigido a estudiantes de ciencias sociales sin experiencia previa con lenguajes de programación, o que recién han comenzado a utilizar programas estadísticos como Stata, y les ha resultado atractiva la interacción con los datos mediante código. En última instancia, lo que busca este curso es preparar a las y los estudiantes para el mercado laboral, al brindar una habilidad altamente demandada, y que será una preparación para un primer trabajo o práctica que involucre la ciencia de datos.
El curso tiene como objetivo la familiaridad y desenvolvimiento con Python tal que las y los estudiantes puedan utilizar autónomamente herramientas de ciencias de datos en sus investigaciones y futuros cargos laborales. Al final del curso, los estudiantes serán capaces de:
- Interactuar con Python a través de Google colab, jupyter noteboks, etc.
- Escribir código que resuelva tareas cotidianas de análisis de datos.
- Tener un trabajo de análisis de datos realizado y publicado en Github como portafolio personal.
- Introducción a Python 3.x
- Github
- Tipos de datos básicos
- Listas
- Control de Flujos
- Funciones
- Diccionarios
- Numpy
- Pandas
- Visualización de datos
- Web Scrapping
- APIs y otras librerías
La evaluación consistirá en tres tareas cada dos semanas, tres ejercicios cortos cada dos semanas y un trabajo final. Se eliminará la calificación más baja de las tres tareas. El peso total de cada uno de los componentes será el siguiente:
Evaluación | Peso |
---|---|
Tareas (3) | 60% |
Ejercicios Semanales (3) | 10% |
Trabajo final (1) | 30% |
Las y los estudiantes tendrán la posibilidad de presentar las tareas después de fecha, sin embargo, se aplicará una penalidad del 15% sobre la nota final de la tarea por cada día que pase.
Estamos en pandemia. Por ello, se mostrará extra-comprensión en caso existan problemas de salud o de otra índole, respecto a las fechas de entrega de los ejercicios, tareas y trabajo final.
Este curso no tendrá una bibliografía obligatoria. Python es un lenguaje con amplio soporte y cuenta con una extensa documentación, así como una comunidad muy grande que se apoya mutuamente a través de Stack Overflow y otros foros. Por ello, las notas de clase serán el principal material de referencia del curso.
La bibliografía sugerida que apoyará el desarrollo de las clases es:
Matthes, E. (2016). Python crash course: A hands – on, project-based introduction to programming (2nd ed.). No Starch Press. ISBN: 9781593279288
McKinney, W. (2013). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. O'Reilly Media. ISBN: 9789351100065
VanderPlas, J. (2016). Python Data Science Handbook. O'Reilly Media. ISBN: 9781491912058