Bienvenidos al curso de Temas Avanzados en Ciencias de la Computación de la Mestria en Redes y Sistemas, RySi del Laboratorio Nacional de Informatica Avanzada, LANIA.
IPython es un ecosistema basado en el lenguaje de programacion Python, que proporciona un serie de herramientas para desarrollar aplicaciones de manera interactiva y reproducible. En este cursodesarrollaremos competencias en el uso de este sistema para acceder y analizar datos provenientes de diversas fuentes, con enfasis a conjuntos de datos obtenidos por medio de los sensores que se encuentran en algunos dispositivos móviles (aka smartphones), incluyendo imagenes, datos de movimiento, etc.
El contenido del curso se ofrece en el formato de IPython Notebooks y se encuentra completamente contenido en este repositorio de GitHub
. Para ver el contenido pueden seguir los enlaces que se localizan en la parte superior de esta pagina. Tambien pueden descargarlos directamente a su computadora.
Siguiendo este enlace podran acceder al contenido estatico del curso.
El curso consiste en 24 horas de tutoriales y practicas usando el lenguaje de programacion Python, con el objetivo final de crear una aplicacion sencilla que puede, al menos en principis, implementarse en un dispositivo Android.
Las 24 horas se cubriran a lo largo de 3 dias, 8 horas cada uno, tentativamente en dos sesiones de aproximadamente 4 hrs. cada una. Las fechas y agenda (tentativas) son:
Fecha | Dia/Sesion | Tema | Enlace |
---|---|---|---|
11/01/2014 | 1/1 | Presentacion y preliminares | Contenido |
11/01/2014 | 1/2 | Instalacion y Configuracion | |
11/01/2014 | 1/3 | Introduccion al lenguaje Python | |
11/01/2014 | 1/4 | IPython Notebooks | |
11/01/2014 | 1/5 | Control de Revision | |
11/08/2014 | 2/1 | Esenciales de (I)Python | Contenido |
11/08/2014 | 2/2 | Procesamiento y Analisis de Datos 1 | |
11/08/2014 | 2/3 | Procesamiento y Analisis de Datos 2 | |
11/15/2014 | 3/1 | Generando datos usando sensores moviles | Contenido |
11/15/2014 | 3/2 | Distribuyendo datos en la nube | |
11/15/2014 | 3/3 | Accesando datos de la nube | |
11/15/2014 | 3/4 | Procesamiento y Analisis de Datos 3 | |
11/15/2014 | 3/5 | Controlando dispositivo desde Python 1 | |
11/15/2014 | 3/6 | Controlando dispositivo desde Python 2 | |
11/22/2014 | 4/1 | Entrega de Proyecto Final |
El curso sera evaluado considerando los siguientes criterios:
- Asistencia
- Participacion
- Ejercicios
- Proyecto final
Es obligatorio estar presente durante 24 horas y participar en las actividades que se van a llevar a cabo durante ellas.
La realizacion de los ejercicios es tambien considerada parte de la participacion ya que por la naturaleza del contenido del curso, este es altamente interactivo. Cada tema se presenta por medio de libretas interactivas donde se escribe y ejecuta codigo para presentar conceptos y resolver problemas.
Deberan repetir cada uno de los comandos, instrucciones, etc. que contienen las libretas, y deberan tambien incluir su codigo en las partes indicadas y completar las partes que se piden.
Al terminar cada libreta, deberan guardar los cambios de su documento y entregarmela a traves de los canales que para este fin seran establecidos. De este modo yo podre monitorear su participacion y evaluar su trabajo, pero mas importante, ustedes podran adquirir las competencias que se desean transmitir.
La ultima parte de su evaluacion consistira en un pequeño proyecto final que desarrolle sobre los conceptos que aprenderan durante el curso.
La meta central sera desarrollar un programa que pueda ejecutarse en un dispositivo movil Android usando S4LA y Python, y que realice algun proceso de adquisicion y procesamiento de datos usando los sensores disponibles en su dispositivo.
El proyecto final puede desarrollarse de manera individual o por pares. Solo en casos excepcionales se aceptaran equipos de 3 personas.
El tema del proyecto final es libre; se sugiere que sea ligado a sus intereses profesionales y/o personales.
El proyecto debera entregarse en forma digital a mas tardar el dia 11/22/2014 a las 17:00 hrs. La entrega del proyecto debe consistir de:
-
Un documento (digital) breve describiendo el proyecto, incluyendo introduccion al problema que se desea abordar, metodologia e implementacion y resultados obtenidos.
-
Uno o varios programas que puedan ejecutarse en el dispositivo movil y que reproduzcan los resultados obtenidos descritos en el documento que acompaña la entrega.
La entrega se hara a traves de los canales que para este fin seran establecidos.
En caso de que cualquiera de estos requisitos no se cumpla, se considerara como Nula la entrega del proyecto, perjudicando la evaluacion hasta en un 45%.