- El alumno se sentirá cómodo interactuando con línea de comandos.
- El alumno podrá mantener un repositorio de código versionado de sus archivos y programas.
- El alumno se sentirá cómodo con herramientas del cli.
- El alumno se sentirá familiarizado con los lenguajes de programación:
R
yPython
- El alumno analizará problemas y encontrará la mejor manera de resolverlos con herramientas programáticas.
- El alumno se familiarizará con los conceptos base de la nube
- El alumno se familiarizará con Docker y herramientas de contenedores.
- El alumno estará cómodo generando consultas complejas de SQL.
Escribe a miguel.escalante@itam.mx
y por favor que el subject del correo diga [Estadística Computacional 2021]
.
- Pasaremos el tiempo de la clase aprendiendo a codificar para resolver problemas de ingeniería o ciencia.
- Algunas actividades requerirán que se haga Programación en pares
- Las tareas estarán basadas en las habilidades que desarrolles en clase ¡Trata de no faltar!
- Practicar es la única manera de volverse bueno en esto. Lo más probable es que pases de 8 a 12 horas por semana (además del tiempo de la clase) escribiendo y debugeando código.
- Si tienes problemas con la tarea, pregúntame, o busca ayuda de tus compañeros. NO esperes a que sea demasiado tarde para tomar tu destino en tus manos.
- Git + Github
- R
- Basics
- Rproj
- Dplyr
- Rmarkdown
- Shiny
- Visualización
- Cli
- SED
- Awk
- cat
- grep
- pipe
- Python
- SQL
- Docker
- Aws
La calificación final está compuesta de la manera siguiente:
Entregable | Porcentaje |
---|---|
Tareas | 20% |
Proyecto intermedio | 30% |
Proyecto Final | 50% |
Se usará la siguiente escala para las tareas
Puntos | Descripción |
---|---|
5 | Excelente. Código limpio, conciso, documentado y exploró los conceptos en profundidad. |
4 | Completo y correcto. Incluye el análisis, el programa, el caso de pruebas y responde a las preguntas planteadas. |
3 | Contiene unos cuentos errores menores. |
2 | Entrega parcial o tiene errores mayores. |
1 | Le faltó mucho. |
0 | Ni lo intentó :( |
El proyecto se evaluará promediando las siguientes categorías. Se usará la escala recién mostrada en cada una de ellas.
Categoría | Descripción |
---|---|
Diseño | El proyecto está bien organizado, fácil de seguir y se especifica claramente el problema a resolver. |
Documentación | Instrucciones de como ejecutar el código. Nombres de las variables y funciones son descriptivas. Incluye comentarios para que el lector pueda seguir el algoritmo. Se incluyen casos de prueba. |
Completez | Todos los elementos del proyecto están incluidos. |
Correcto | La lógica del código es correcta y produce resultados con sentido. |
Análisis | Todas las preguntas de análisis en la descripción del proyecto fueron resueltas. La interpretación del resultado está incluida. |
Al final del curso, tendrás que mostrar tu proyecto en 40 minutos a la clase. Se calificará por mí y por tus compañeros.
- El código NO es la respuesta.
- La gráfica NO es la respuesta.
- Debes de mostrar que entendiste la solución y el problema.
Adaptado del departamento de ciencias de la computación de Grand Valley State University y de George Washington University)
- Se espera que tú…
- Crees / desarrolles tus tareas (incluyendo el código fuente).
- Entiendas tus soluciones
- Reconozcas la ayuda de otros en la escritura.
- Cites la fuente en la tarea.
- Te protejas de sospecha al no permitir que otros vean tu tarea antes de que sea enviada.
- Contactes al profesor para aclarar los requerimientos de las tareas.
- Uses extensivamente Github para socializar el conocimiento, soluciones, dudas, etc.
- Se prefiere que tú…
- Discutas diversos caminos para alcanzar la solución.
- Compartas tu conociemiento con otros estudiantes acerca de errores de sintáxis, trucos de código, etc.
- Proveas y recibas ayuda respecto a errores de ejecución.
- Proveas y recibas ayuda usando el ambiente de computación.
- Participes, junto con otros estudiantes, en discuiones hacer de las tareas, requerimientos, estrategais de solución, etc.
- Eres culpable de romper el código de conducta si …
- Le das tu código fuente a cualquiera en formato electrónico o analógico.
- Recibes de otro estudiante la solución en formato electrónico o analógico.
- Subes al repositorio como tuyos otros archivos, soluciones o documentos.
- Subes tareas sin indicar que colaboraste con alguien.
- Realizas modificaciones al código en un esfuerzo de ocultar un engaño.
- Usas material no permitido en examen o te comunicas con alguien de manera no autorizada durante el examen.
Primer tarea!!
- Instalar
git
- Si estás en una distro de
GNU/Linux
tipoDebian
:sudo apt-get install git
. - Si estás en una MacOS sigue las instrucciones de aquí y sigue las instrucciones.
- Si estás en una distro de
- Crea una cuenta en github
- Crear una llave ssh y conectarla a Github.
- Forkear este repositorio
- Instalar docker
- Instalar un editor de textos
GNU/Emacs
VsCode
Después de tener converso al director de la Maestría, estoy convencido del valor que provee tener una herramienta como Emacs disponible, tanto para temas de escritura científica, como para programación, durante el curso verán que uso esta herramienta. Denle una oportunidad aunque su curva de aprendizaje sea un poco inclinada. :)