Cómputo integrado

Clase y laboratorio

Este es el sitio web de la unidad de cómputo integrado — clase los martes M4-6 y laboratorio los jueves M1-2 — impartida por la Dra. Elisa Schaeffer en el salón de cómputo 4208 de la FIME en la UANL en primavera de 2012.

Es indispensable haber cursado previamente Lenguaje ANSI C o equivalente, Lenguajes de programación y Arquitectura de computadoras. También es recomendable haber cursado Sistemas operativos. Oyentes con conocimientos afines pueden entrar.

Competencias particulares

Unidades temáticas

Se indica la competencia específica de cada unidad.

  1. Lenguajes de bajo nivel: diseñar e implementar programas a lenguajes de programación de bajo nivel.
  2. Herramientas de desarrollo: seleccionar y utilizar herramientas de programación y simulación de sistemas integrados.
  3. Microcontroladores simples: diseñar e implementar sistemas integrados a base de uno o más microcontroladores individuales.
  4. Sistemas integrados extensibles: diseñar e implementar sistemas integrados a partir de componentes extensibles, incluyendo sensores y módulos de comunicación.

Temario

  1. Introducción a sistemas integrados; consideraciones de usabilidad
  2. Lenguaje ensamblador
  3. Taller de programación ensamblador y C
  4. Simuladores, emuladores y herramientas de desarrollo
  5. Arquitecturas de microcontroladores; aplicaciones en control
  6. Taller de programación de microcontroladores
  7. Demostraciones de proyectos intermedios
  8. Examen de medio curso
  9. Taller de programación de Arduino
  10. Manejo de memoria
  11. Dispositivos periféricos; ambientes inteligentes
  12. Interrupciones
  13. Sistemas operativos específicos
  14. Técnicas de optimización
  15. Demostraciones de proyectos finales
  16. Examen ordinario

Producto integrador

Clase

Se desarrollan dos proyectos integradores. El primero, entregado la semana antes del examen de medio curso, es programación de un microcontrolador sencillo en lenguaje C para realizar alguna función sencilla (ambos en simulador y en un circuito) en el ámbito de control automatizado, especificada por el alumno, y es individual. El segundo, entregado la semana antes del examen ordinario, es programación de un Arduino para una tarea más compleja en el ámbito de ambientes inteligentes, especificada por los alumnos; este segundo se realiza en pares (se permite un solo equipo de tres personas en el caso que no haya un número par de inscritos activos al comenzar la segunda mitad de la unidad). Además hay una tarea introductoria de programación en ensamblador.

Laboratorio

En el laboratorio el estudiante entrega a través de un blog reportes escritos y presentaciones de video sobre herramientas, técnicas y ejemplos que realiza en su aprendizaje que le permite desarrollar la tarea y los proyectos de la clase. Se recomienda cursar clase y laboratorio con el mismo profesor.

Bibliografía básica

Apartado de Wiki para la clase

Se hará uso amplio materiales de enseñanza en línea. No es necesario comprar un único libro de texto, sino cualquier libro de parecido sirve como material de apoyo.

Literatura recomendada

Ponderación de la calificación

Noten que por el reglamento vigente de la UANL, si no entregan por mínimo el 70 porciento de las actividades a tiempo, no tendrán derecho de presentar la segunda oportunidad (se califica como NC, "no cumple"). Las actividades que comprenden el 30 porciento que no es obligatorio a entregar son las siguientes: el reporte y el programa de la tarea intro y el examen de medio curso.

Resultados

El nombre del estudiante es la liga a su blog personal. La última columna muestra la calificación final. En el laboratorio, la calificación es acumulativa en función de las entradas calificadas hasta la fecha.

ParticipanteTarea
intro
P1: PICP2: Arduino Examen
medio curso
Examen
ordinario
Total Lab
Abraham 8/8 10/14/5 10/15/5+1+3 9 7 91+4=95 77
Adán s o l a m e n t e   i n s c r i t o    e n    e l    l a b o r a t o r i o 99
Adrián NP NP NP NP NP NPNP
Adriana 10/10 10/15/5 10/15/5+1 7 8 95+1=96 76
Alex A. (con Obed) 9/10 10/15/5+2+1 10/15/5+3+1 7 10 97+5=100+2 72
Alex V. 10+2/10+3 9/12/5 6/9/2 10 9 87 73
Alexis NP NP NP NP NP NP3/NC
Blanka 10/10 10/15/5+3 6/9/0 7 NP 72+3=75 73
Cármen (con Gaby) 10/10 10/15/5+3 10/15/5 7 6 96 74
Cecy (con Rob M.) 10/10 10/15/5+5+1 10/15/5+10 10 NP 90+15=100+5 100+1
Daniel (con Sergio) 10/10 10/15/5+3+1 10/15/5+4 10 7 97+8=100+5 100+2
David 10/10 9/11/5 10/15/3 4 8 85 74
Eduardo (con Esteban) 10/10 10/15/5+10+1 10/15/5+5 10 9 99+16=100+15 82
Esteban (con Eduardo) 10/10 10/15/5 10/15/5+5 10 9 99+5=100+4 71
Emmanuel (con Max) 10/10 10/15/5+5+2 10/15/5+6 9 9 98+13=100+11 100+3
Everardo (¿con?) 10/10+5 10/15/5 10/15/5+5 10 9 99+5=100+4 78
Gaby (con Cármen) 10/10 10/15/5+3 10/15/5 7 7 97 73
Isaías 10/10 10/15/5+1+4 10/15/4 8 10 97+5=100+2 85
Jonathan 10/10 10/15/5 10/15/5 8 9 97 71
José (¿con?) 10/10+1 10/15/5+7 10/15/4+10 7 7 90+18=100+11 100
Juan Carlos 10/10 10/15/5+5+1 10/15/5+10 10 9 99+16=100+15 100+4
Karen o_O NP NP NP   NA26/NA
Luis (con Pedrito) 8/9 10/11/5 10/12/5 0 3 73NP
Max (con Emma) 10/10 10/15/5+7 10/15/5+6 7 NP 87+13=100 71
Obed (con Alex A.) 10/10+1 10/15/5+1 10/15/5+3 5 9 94+4=98 81
Osvaldo (con Rafa) 10/10 10/15/5+1 10/15/5+5 3 6 90+6=96 76
Pedrito (con Luis) 10/10 10/15/5 10/12/5 7 6 90 72
Rafa (con Osvaldo) 10/10 10/15/5+6 10/15/5+5 9 8 97+11=100+8 100+4
Ramón 10/10 10/15/5 10/15/5+4 6 10 96+4=100 100+3
Raúl (O_o) 7/7 10/15/5+2 6/9/2 2 7 70+2=72 76
René (con Vane) 9/8 10/15/5+5 10/15/5 4 9 90+5=95 82
Rob M. (con Cecy) 10/10 10/15/5+2 10/15/5+10 8 NP 99+1=100 100+9
Rob V. 10/10+1 10/15/5+5+1 10/15/5 8 8 96+7=100+3 100+3
Rodolfo 8/8 10/15/5 10/15/5 6 10 92 95
Saúl 10/10 10/15/5 10/15/5+5+1 10 9 99+6=100+5 77
Sergio (con Daniel) 9/10 10/15/5+5 10/15/5+4+1 6 9 95+9=100+4 83
Vane (con René) 10/10 10/15/5 10/15/5 5 9 94 76
Víctor 10/10 10/15/5+1 10/15/5+6 8 8 96+7=100+3 73
Máximo 10/10 10/15/5 10/15/5 10 10 100+ 100+

Actualizada el 29 de mayo del 2012.
URL: http://elisa.dyndns-web.com/~elisa/teaching/prog/embedded/