1. Datos Generales de la asignatura
Nombre de la asignatura:
Clave de la asignatura:
SATCA1:
Carrera:
Lenguajes de Interfaz
SCC-1014
2-2-4
Ingeniería en sistemas computacionales
2. Presentación
Caracterización de la asignatura
Esta asignatura aporta al perfil del Ingeniero en Sistemas Computacionales las siguientes habilidades:
Implementa aplicaciones computacionales para solucionar problemas de diversos contextos, integrando diferentes tecnologías, plataformas o dispositivos
Desarrolla y administra software para apoyar la productividad y competitividad de las organizaciones cumpliendo con estándares de calidad.
Coordina y participa en equipos multidisciplinarios para la aplicación de soluciones innovadoras en diferentes contextos.
Diseña e implementa interfaces para la automatización de sistemas de hardware y desarrollo del software asociado.
La presente asignatura aporta los conocimientos para el diseño e implementación de interfaces hombre- máquina y máquina-máquina para la automatización de sistemas. El desarrollo, implementación y administración de software de sistemas o de aplicación que cumpla con los estándares de calidad con el fin de apoyar la productividad y competitividad de las organizaciones. Para que desempeñe sus actividades profesionales considerando los aspectos legales, éticos, sociales y de desarrollo sustentable y a la vez le permita poseer las habilidades metodológicas de investigación que fortalezcan el desarrollo cultural, científico y tecnológico en el ámbito de sistemas computacionales y disciplinas afines.
Intención didáctica
En la primera unidad se pretende dar un panorama general de lo que es el lenguaje ensamblador y donde se puede utilizar. La segunda unidad se da a conocer las principales instrucciones y funciones del lenguaje ensamblador, la forma de estructurar un programa, los parámetros que se tienen que tomar en cuenta realizando ejemplos sencillos.
En la unidad tres el estudiante desarrollará programas en lenguaje ensamblador que haga uso de macros o procedimientos, posteriormente, analizar el funcionamiento interno de los programas desarrollados haciendo el uso del software que permita obtener datos estadísticos sobre el funcionamiento de los mismos. En la última unidad el estudiante obtendrá los conocimientos necesarios para la programación
1 Sistema de Asignación y Transferencia de Créditos Académicos
de los puertos de la computadora, así como, poder analizar la interfaz de video del buffer en modo texto. En esta unidad se pretende que el estudiante realice una interfaz de hardware, la cual será la base para la creación de las aplicaciones de software, ya que la interfaz de hardware será controlada mediante la interfaz de software.
3. Participantes en el diseño y seguimiento curricular del programa
Lugar y fecha de
elaboración o revisión Participantes Evento
Instituto Tecnológico de Saltillo del 5 al 9 de octubre
de 2009.
Representantes de los Institutos Tecnológicos de:
Alvarado, Arandas, Campeche, Celaya, Centla, Cerro Azul, Champotón, Ciudad Acuña, Ciudad Cuauhtémoc, Ciudad Juárez, Ciudad Madero, Ciudad Valles, Coatzacoalcos, Cocula, Colima, Comitán, Durango, El Istmo, Huetamo, La Laguna, La Paz, Lázaro Cárdenas, Lerdo, Libres, Linares, Macuspana, Matamoros, Mérida, Mexicali, Morelia, Nuevo Laredo, Nuevo León, Occidente del Estado de Hidalgo, Ocotlán, Orizaba, Oriente del Estado de Hidalgo, Parral, Piedras Negras, Pinotepa, Saltillo, San Luis Potosí, Sur de Guanajuato, Sur del Estado de Yucatán, Tapachula, Tepexi de Rodríguez, Teziutlán, Tijuana, Toluca, Tuxtepec, Veracruz, Villahermosa, Xalapa, Zacatecas y Zacatepec.
Reunión Nacional de Diseño e Innovación Curricular para el Desarrollo y Formación de Competencias Profesionales de las Carreras de Ingeniería en Sistemas Computacionales, Ingeniería Informática e Ingeniería en Geociencias.
Instituto Tecnológico Superior de Poza Rica del 22
al 26 de febrero de 2010.
Representantes de los Institutos Tecnológicos de:
Alvarado, Arandas, Campeche, Celaya, Centla, Cerro Azul, Champotón, Ciudad Acuña, Ciudad Cuauhtémoc, Ciudad Juárez, Ciudad Madero, Ciudad Valles,
Reunión Nacional de Consolidación de los Programas en Competencias Profesionales de las Carreras de Ingeniería en Sistemas Computacionales, Ingeniería Informática e Ingeniería Petrolera del SNEST.
Coatzacoalcos, Cocula, Colima, Comitán, Durango, El Istmo, Huetamo, La Laguna, La Paz, Lázaro Cárdenas, Lerdo, Libres, Macuspana, Matamoros, Mérida, Mexicali, Morelia, Nuevo Laredo, Nuevo León, Occidente del Estado de Hidalgo, Orizaba, Oriente del Estado de Hidalgo, Parral, Piedras Negras, Pinotepa, Saltillo, San Luis Potosí, Sur de Guanajuato, Sur del Estado de Yucatán, Tapachula, Tepexi de Rodríguez, Teziutlán, Tijuana, Toluca, Tuxtepec, Veracruz, Villahermosa, Xalapa, Zacatecas y Zacatepec.
Instituto Tecnológico de Querétaro del 22 al 25 de
octubre de 2012.
Representantes de los Institutos Tecnológicos de:
Acayucan, Altamira, Cajeme, Campeche, Cananea, Cd. Acuña, Cd.
Cuauhtémoc, Cd. Juárez, Cd.
Madero, Cd. Valles, Celaya, Centla, Cerro Azul, Chetumal, Chihuahua II, Chilpancingo, Coalcomán, Coatzacoalcos, Cocula, Colima, Comalcalco, Delicias, Durango, Ébano, Escárcega, Huixquilucan, La Paz, León, Lerdo, Los Ríos, Macuspana, Mante, Milpa Alta, Minatitlán, Morelia, Nuevo Laredo, Nuevo León, Oaxaca, Oriente del Estado de México, Oriente del Estado de Hidalgo, Pachuca, Piedras Negras, Progreso, Puerto Vallarta, Purhepecha, Tacámbaro, Tehuacán, Tepexi de Rodríguez, Tepic, Teposcolula, Teziutlán, Tierra Blanca, Tijuana, Tlaxiaco, Toluca, Tuxtepec, Uruapan, Valladolid, Veracruz, Villahermosa, Zacatecas, Zacatecas Norte, Zacatepec, Zapopan, Zitácuaro y Zongólica.
Reunión Nacional de Seguimiento Curricular de los Programas en Competencias Profesionales de las Carreras de Ingeniería en Sistemas Computacionales, Ingeniería Informática e Ingeniería en Tecnologías de la Información y Comunicaciones.
Instituto Tecnológico de Toluca, del 10 al 13 de
febrero de 2014.
Representantes de los Institutos Tecnológicos de:
Cerro Azul, Colima, Lerdo, Toluca y Veracruz.
Reunión de Seguimiento Curricular de los Programas Educativos de Ingenierías, Licenciaturas y Asignaturas Comunes del SNIT.
4. Competencia(s) a desarrollar
Competencia(s) específica(s) de la asignatura
Desarrollar software para establecer la interfaz hombre-máquina y máquina-máquina.
5. Competencias previas
Reconoce diferentes modelos de arquitecturas y recomienda aplicaciones para resolver problemas de su entorno profesional.
Aplica algoritmos y lenguajes de programación para diseñar e implementar soluciones a problemas del entorno.
6. Temario
No. Temas Subtemas
1 Introducción al lenguaje ensamblador 1.1 Importancia de la programación en lenguaje ensamblador.
1.2 El procesador y sus registros internos 1.3 La memoria principal (RAM)
1.4 El concepto de interrupciones 1.5 Llamadas a servicios del sistema 1.6 Modos de direccionamiento 1.7 Proceso de ensamblado y ligado 1.8 Desplegado de mensajes en el monitor 2 Programación básica 2.1 Ensamblador (y ligador) a utilizar
2.2 Ciclos numéricos
2.3 Captura básica de cadenas 2.4 Comparación y prueba 2.5 Saltos
2.6 Ciclos condicionales 2.7 Incremento y decremento 2.8 Captura de cadenas con formato 2.9 Instrucciones aritméticas
2.10 Manipulación de la pila
2.11 Obtención de cadena con representación decimal
2.12 Instrucciones lógicas 2.13 Desplazamiento y rotación
2.14 Obtención de una cadena con la representación hexadecimal
2.15 Captura y almacenamiento de datos numéricos
2.16 Operaciones básicas sobre archivos de disco
3 Modularización 3.1 Procedimientos
3.2 Macros
4 Programación de dispositivos 4.1 El buffer de video en modo texto
4.2 Acceso a discos en lenguaje ensamblador 4.3 Programación del puerto serial
4.4 Programación del puerto paralelo 4.5 Programación híbrida
4.6 Programación de puerto usb
7. Actividades de aprendizaje de los temas
1.- Introducción al lenguaje ensamblador
Competencias Actividades de aprendizaje
Específica(s):
Conoce la arquitectura y organización de un procesador y la estructura de un programa en ensamblador e identifica la relación entre ambos.
Genéricas:
Capacidad de abstracción, análisis y síntesis.
Comunicación oral y escrita.
Habilidad para buscar, procesar y analizar información procedente de fuentes diversas.
Capacidad de trabajo en equipo.
Compromiso ético.
Capacidad de aplicar los conocimientos en la práctica.
Habilidad para trabajar en forma autónoma.
Investigar la estructura y organización de un procesador (CPU). Discutir y formalizar grupalmente lo investigado.
Analizar los registros más importantes que contiene un CPU, así como las funciones de los mismos.
Describir modos de direccionamiento a memoria y efectuar ejercicios.
Realizar ejemplos sencillos de cómo estructurar un programa fuente y que esté despliegue mensajes en el monitor con instrucciones básicas en lenguaje ensamblador
2.- Programación básica
Competencias Actividades de aprendizaje
Específica(s):
Conoce y aplica instrucciones del lenguaje ensamblador, para programar aplicaciones de interfaz .
Genéricas:
Capacidad de abstracción, análisis y síntesis
Capacidad de aplicar los conocimientos en la práctica
Habilidades para buscar, procesar y analizar información procedente de fuentes diversas
Capacidad crítica y autocrítica
Capacidad para identificar, plantear y resolver problemas
Capacidad de trabajo en equipo
Realizar investigación y listar las principales instrucciones de programación en lenguaje ensamblador.
Desarrollar programas por medio de prácticas en lenguaje ensamblador, los cuales ejemplifiquen las diferentes instrucciones y funciones básicas así como la forma de estructurarlas.
3.- Modularización
Competencias Actividades de aprendizaje
Específica(s):
Aplica macros y procedimientos en el desarrollo de aplicaciones de software orientado a interfaz en lenguaje ensamblador.
Genéricas:
Capacidad de abstracción, análisis y síntesis
Capacidad de aplicar los conocimientos en la práctica
Habilidades para buscar, procesar y analizar información procedente de fuentes diversas
Capacidad crítica y autocrítica
Capacidad para identificar, plantear y resolver problemas
Capacidad de trabajo en equipo
Realizar investigaciones sobre los conceptos macro y procedimiento, analizando sus semejanzas y diferencias.
Analizar el funcionamiento de un programa que no utiliza macros o procedimientos en su funcionamiento, todo esto utilizando un software que permita obtener datos estadísticos del funcionamiento de los programas en depuración.
Desarrollar programas en un lenguaje de programación que haga uso de macros o procedimientos, posteriormente analizar el funcionamiento interno de los programas desarrollados haciendo el uso del software que permita obtener datos estadísticos sobre el funcionamiento de los mismos.
Capacidad de aprender y actualizarse permanentemente
4.- Programación de dispositivos.
Competencias Actividades de aprendizaje Específica(s):
Programar interfaces de software y hardware para la manipulación de puertos y dispositivos de computadora.
Genéricas:
Capacidad de abstracción, análisis y síntesis
Capacidad de aplicar los conocimientos en la práctica
Habilidades para buscar, procesar y analizar información procedente de fuentes diversas
Capacidad crítica y autocrítica
Capacidad para identificar, plantear y resolver problemas
Capacidad de trabajo en equipo
Capacidad de aprender y actualizarse permanentemente
Analizar el funcionamiento del buffer de video de una computadora, mediante la lectura en modo texto del mismo.
Desarrollar programas en lenguaje ensamblador para acceder a los dispositivos de almacenamiento de la computadora.
Diseñar una interfaz de hardware utilizando algún tipo de integrado programable (ej.
Microcontrolador).
Diseñar una interfaz de software en algún lenguaje de programación para controlar la interfaz de hardware utilizando los puertos paralelos, seriales y USB de la computadora.
8. Práctica(s)
Generar el glosario de conceptos clave de cada tema.
Desarrollar mapas conceptuales para cada tema.
Desarrollar programas en ensamblador que realicen operaciones básicas en memoria.
Programación de dispositivos en lenguaje ensamblador.
9. Proyecto de asignatura
El objetivo del proyecto que planteé el docente que imparta esta asignatura, es demostrar el desarrollo y alcance de la(s) competencia(s) de la asignatura, considerando las siguientes fases:
Fundamentación: marco referencial (teórico, conceptual, contextual, legal) en el cual se fundamenta el proyecto de acuerdo con un diagnóstico realizado, mismo que permite a los estudiantes lograr la comprensión de la realidad o situación objeto de estudio para definir un proceso de intervención o hacer el diseño de un modelo.
Planeación: con base en el diagnóstico en esta fase se realiza el diseño del proyecto por parte de los estudiantes con asesoría del docente; implica planificar un proceso: de intervención empresarial, social o comunitario, el diseño de un modelo, entre otros, según el tipo de proyecto, las actividades a realizar los recursos requeridos y el cronograma de trabajo.
Ejecución: consiste en el desarrollo de la planeación del proyecto realizada por parte de los estudiantes con asesoría del docente, es decir en la intervención (social, empresarial), o construcción del modelo propuesto según el tipo de proyecto, es la fase de mayor duración que implica el desempeño de las competencias genéricas y especificas a desarrollar.
Evaluación: es la fase final que aplica un juicio de valor en el contexto laboral-profesión, social e investigativo, ésta se debe realizar a través del reconocimiento de logros y aspectos a mejorar se estará promoviendo el concepto de “evaluación para la mejora continua”, la metacognición, el desarrollo del pensamiento crítico y reflexivo en los estudiantes.
10. Evaluación por competencias
Para evaluar las actividades de aprendizaje se recomienda solicitar: Resumen, Mapa Mental, Mapa Conceptual, Mapa Cognitivo, Tabla Comparativa, Línea de Tiempo, Examen, Reporte de conclusiones grupales, Reporte de práctica de laboratorio.
Para verificar el nivel de logro de las competencias del estudiante se recomienda utilizar: Rubricas, Registro anecdótico, Guía de observación, Matriz de valoración, Lista de cotejo, Guía de proyecto, Videos.
11. Fuentes de información
1. FROUFE, Agustín & Jorge, Patricia, (2004). J2me java 2 , micro edition manual de usuario y tutorial. Alfaomega, Ra-Ma.
2. PETER Abel, (1966). Lenguaje Ensamblador y programación para PC IBM y Compatibles, 3ª.
Edición, Pearson Prentice Hall.
3. KIP R. Irvine, (2008). Lenguaje ensamblador para computadoras basadas en Intel, Pearson Prentice Hall, 5ª edición.
4. PRIETO, (2005). Manuel, Desarrollo de juegos con j2me java 2, micro edition. Alfaomega, Ra- Ma.
5. CEBALLOS, Francisco Javier, (2004). Aplicaciones .Net Multiplataforma. Ed. Ra-Ma.
Electrónicas:
6. Paul Yao & David Durant, (2014). Programming the .NET Compact Framework in C# and VB.NET , Disponible en Internet en http://blog.neuronaltraining.net/?p=676. Consulta Febrero del 2014.
7. Programación de juegos para móviles con J2ME (2014). Disponible en Internet en http://www.agserrano.com/libros/j2me/j2me.zip. Consulta Febrero del 2014.
8. JSRs: Java Specification Requests (2014). Disponible en Internet en http://jcp.org/en/jsr/all.
Consulta Febrero del 2014.
9. JSR-82 : Java Bluetooth, (2014). Disponible en Internet en http://www.jsr82.com/. Consulta Febrero del 2014.
ANEXO ITESI
ELEMENTOS DESCRIPTIVOS DE LA ASIGNATURA
LENGUAJES DE INTERFAZ
Ingeniería en Sistemas Computacionales
Materia(s) Prerrequisito(s) la(s) cual(es) preferentemente se deben desarrollar las Competencias Previas
Física
Principios Eléctricos y Aplicaciones Digitales Arquitectura de Computadoras
Recursos Necesarios
• Laboratorio con Computadoras
• Cañón
• Software de emulación de un procesador
• Entorno de programación para desarrollo de sistemas electrónicos
• Tarjetas de desarrollo de sistemas electrónicos
Horas de utilización de infraestructura de Cómputo
Para las Actividades de aprendizaje de los temas Tiempo estimado Determinar mediante el uso del software de emulación de un
procesador la estructura de un programa .com y un programa .exe
1
Determinar mediante el uso del software de emulación de un procesador el conjunto de instrucciones y su clasificación.
1 Determinar mediante el uso del software de emulación de un
procesador el conjunto de interrupciones, su función y modo de configuración.
1
Determinar mediante el uso del software de emulación del procesador, las instrucciones que utilizan o modifican el valor de las diferentes banderas.
1
Determinar el contenido de los registros y banderas del
procesador al ejecutarse una instrucción, una interrupción y un programa
Escribir una lista de los diferentes tipos de saltos y condiciones 1 Determinar la forma de implementar estructurad de control de un programa
1
electrónicas para el monitoreo de señales.
Para las Prácticas Tiempo estimado
Escribir un programa con los elementos de una estructura .com y uso de instrucciones e interrupciones básicas.
Escribir un programa con los segmentos de una estructura .exe y uso de instrucciones e interrupciones básicas.
2
Escribir un programa que involucren el manejo de los diferentes tipos de registros del procesador.
Escribir un programa que maneje la entrada de datos y salida de mensajes
2
Escribir un programa que utilice diferentes instrucciones aritméticas y lógicas.
Escribir un programa que maneje ciclos
2
Escribir un programa que involucren el manejo de cadenas Escribir un programa que maneje comparaciones y pruebas
2 Escribir un programa que maneje saltos y condiciones 2 Escribir un programa que utilice procedimientos
Escribir un programa que utilice macros
2 Escribir un programa que maneje el acceso a las localidades de
memoria relacionadas el manejo de video.
2 Escribir un programa para el manejo de archivos 2 Escribir un programa para el manejo de dispositivos de
almacenamiento
2 Escribir un programa y ensamblar la interfaz de hardware para el
monitoreo de señales a través de un sensor.
2
Forma de Evaluación
Desempeño Nivel Examen 50 % Prácticas 30 % Tareas 10 % Actitudinal 10 %
Competencia alcanzada
Excelente 95 a 100
Obtiene un porcentaje de 95 de 100 del valor del examen
Entrega informe de la práctica.
La práctica funciona de acuerdo a los requerimientos del profesor.
Los integrantes del equipo participaron en las diferentes actividades de la práctica y muestran comprensión de los objetivos de aprendizaje.
Entrega el 100%
de las tareas en tiempo y forma de acuerdo a los requerimientos del profesor.
El comportamiento del estudiante se apega al reglamento de conducta y valores institucionales.
Muy bien 85 a 94
Obtiene un porcentaje de 85 de 94 del valor del examen
Falta un elemento del informe de la práctica.
La práctica funciona de acuerdo a los requerimientos del profesor.
Los integrantes del equipo participaron en las diferentes actividades de la práctica y
Entrega al menos el 85% de las tareas en tiempo y forma de acuerdo a los
requerimientos del profesor.
El comportamiento del estudiante se apega al reglamento de conducta y valores institucionales.
valor del examen
a los requerimientos del profesor.
Los integrantes del equipo participaron en las diferentes actividades de la práctica y muestran comprensión de los objetivos de aprendizaje.
forma de acuerdo a los
requerimientos del profesor.
reglamento de conducta y valores institucionales.
Suficiente 70 a 74
Obtiene un porcentaje de 70 de 74 del valor del examen
Falta más de un elemento del informe de la práctica.
La práctica funciona de acuerdo a los requerimientos del profesor.
No todos los integrantes del equipo participaron en las diferentes actividades de la práctica y no todos muestran comprensión de los objetivos de aprendizaje.
Entrega al menos el 70% de las tareas en tiempo y forma de acuerdo a los
requerimientos del profesor
El comportamiento del estudiante se apega al reglamento de conducta y valores institucionales.
Competencia no alcanzada
Insuficiente Obtiene menos del 70 por ciento de la puntuación del examen
Falta más de un elemento del informe de la práctica.
La práctica no funciona de acuerdo a los requerimientos del profesor.
No todos los integrantes del equipo participaron en las diferentes actividades de la práctica y no todos muestran comprensión de los objetivos de aprendizaje.
Entrega al menos del 50% de las tareas en tiempo y forma de acuerdo a los
requerimientos del profesor
El comportamiento del estudiante muestra falta de respeto a sus compañeros y/o profesor.
Perfil Deseable del Profesor
Ingeniero en Sistemas Computacionales o Ingeniero en Electrónica con experiencia en programación a nivel de hardware.
Fuentes de Información Locales
Abel, P. (1996) Lenguaje Ensamblador y Programación para PC IBM y Compatibles, Tercera Edición. México: Pearson Prentice Hall.
Reyes, F. (2015). Arduino Aplicaciones en Robótica Mecatrónica e Ingeniería México:
Alfaomega