ISSN: 2305-2112 ESCUELA ESPECIALIZADA EN INGENIERÍA ITCA – FEPADE DIRECCIÓN DE INVESTIGACIÓN Y PROYECCIÓN SOCIAL INFORME ANUAL PROGRAMA DE INVESTIGACIÓN APLICADA, ITCA – FEPADE. AÑO 2009 ESCUELAS ACADÉMICAS DE LA SEDE CENTRAL Y CENTROS REGIONALES PARTICIPANTES: ESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA DE INGENIERÍA MECÁNICA E INDUSTRIAL ESCUELA DE INGENIERÍA EN COMPUTACIÓN CENTRO REGIONAL SANTA ANA CENTRO REGIONAL MEGATEC LA UNIÓN SANTA TECLA,SEPTIEMBRE 2012
294
Embed
INFORME ANUAL PROGRAMA DE INVESTIGACIÓN APLICADA, …...issn: 2305-2112 escuela especializada en ingenierÍa itca – fepade direcciÓn de investigaciÓn y proyecciÓn social informe
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ISSN: 2305-2112
ESCUELA ESPECIALIZADA EN INGENIERÍA ITCA – FEPADEDIRECCIÓN DE INVESTIGACIÓN Y PROYECCIÓN SOCIAL
INFORME ANUAL PROGRAMA DE INVESTIGACIÓN
APLICADA, ITCA – FEPADE. AÑO 2009
ESCUELAS ACADÉMICAS DE LA SEDE CENTRAL Y
CENTROS REGIONALES PARTICIPANTES: ESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA DE INGENIERÍA MECÁNICA E INDUSTRIAL
ESCUELA DE INGENIERÍA EN COMPUTACIÓN
CENTRO REGIONAL SANTA ANA
CENTRO REGIONAL MEGATEC LA UNIÓN
SANTA TECLA, SEPTIEMBRE 2012
2 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
ISSN: 2305-2112
ESCUELA ESPECIALIZADA EN INGENIERÍA ITCA – FEPADEDIRECCIÓN DE INVESTIGACIÓN Y PROYECCIÓN SOCIAL
INFORME ANUAL PROGRAMA DE INVESTIGACIÓN
APLICADA, ITCA – FEPADE. AÑO 2009
ESCUELAS ACADÉMICAS DE LA SEDE CENTRAL Y
CENTROS REGIONALES PARTICIPANTES: ESCUELA DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA DE INGENIERÍA MECÁNICA E INDUSTRIAL
ESCUELA DE INGENIERÍA EN COMPUTACIÓN
CENTRO REGIONAL SANTA ANA
CENTRO REGIONAL MEGATEC LA UNIÓN
SANTA TECLA, SEPTIEMBRE 2012
4 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Ing. José Armando Oliva MuñozVicerrectora Técnica AdministrativaInga. Frineé Violeta Castillo de Zaldaña
EQUIPO EDITORIALLic. Ernesto Girón
Ing. Mario Wilfredo MontesIng. Jorge Agustín Alfaro
Licda. María Rosa de BenitezLicda. Vilma Cornejo de Ayala
COMPILACIÓN Y REVISIÓNDIRECCIÓN DE INVESTIGACIÓN Y PROYECCIÓN SOCIAL
Ing. Mario Wilfredo MontesIng. David Emmanuel Agreda
Lic. Ernesto José AndradeSra. Edith Cardoza
FICHA CATALOGRÁFICAElaborado por el Sistema Bibliotecario ITCA - FEPADE
El documento: Informe Anual Programa de Investigación Aplicada, ITCA – FEPADE. Año 2009 es unapublicación anual de la Escuela Especializada en Ingeniería ITCA – FEPADE. Este documento ha sidoconcebido para difundirlo entre la comunidad académica y el sector empresarial, como un aporte de ITCA -FEPADE al desarrollo del país. El contenido del documento puede ser reproducido parcial o totalmente,previa autorización la Escuela Especializada en Ingeniería ITCA – FEPADE. Para referirse al contenido,debe citar la fuente de información.
607.3I46 Informe Anual Programa de Investigación Aplicada, ITCA – FEPADE. Año 2009
/ Escuela Especializada en Ingeniería ITCA FEPADE. – Santa Tecla, El Salvador:ITCA-EDITORES, 2012.
294 p. il. 28 cm.ISSN:
1. Investigaciones 2. Tecnología de la información 3. Automatización 4. Eléctrica. 5.ComputaciónI. Escuela Especializada en Ingeniería ITCA – FEPADE.
INFORME ANUAL PROGRAMA DE INVESTIGACIÓN APLICADA,ITCA – FEPADE. AÑO 2008
1 Centro Regional Santa Ana / Escuela de Ingeniería Eléctrica y ElectrónicaSistema de identificación y posicionamiento local Por radiofrecuencia (RFID) 7
2 Escuela de Ingeniería Eléctrica y ElectrónicaMonitor visual del consumo de energía eléctrica en viviendas. 153
3 Escuela de Ingeniería en ComputaciónDiseño de un sistema inteligente para tutorización tipo uno a uno aplicado 173a la asignatura: Desarrollo de Lógica de Programación
2 Escuela de Ingeniería Mecánica e IndustrialSistema de entrenamiento en automatización electroneumática para aplicación enla industria y la academia salvadoreña. 289
3 Centro Regional MEGATEC La UniónDiseño de un sistema de organización y gestión para el patio de contenedoresdel Puerto de Acajutla 291
6 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Resumen / Introducción
El Informe Anual Programa de Investigación Aplicada, ITCA - FEPADE, para el año 2009, es una compilación
de trabajos académicos elaborados por los diferentes docentes investigadores de las Escuelas Académicas de
la Sede Central y de los Centros Regionales.
El objetivo de esta presentación es acercarse a la realidad nacional a través de soluciones a problemas y
necesidades a través de la investigación científica del quehacer académico de la Escuela Especializada en
Ingeniería ITCA – FEPADE.
La recopilación reúne variadas temáticas del quehacer tecnológico de ITCA – FEPADE, así como al publicar y
difundir estos trabajos cumple con los objetivos del Ministerio de Educación, el promover la cultura y el saber al
pueblo salvadoreño, como los fines del Estado.
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
7
ESCUELA ESPECIALIZADA EN INGENIERÍA ITCA – FEPADEDIRECCIÓN DE INVESTIGACIÓN Y PROYECCIÓN SOCIAL
SISTEMA DE IDENTIFICACIÓN YPOSICIONAMIENTO LOCAL
POR RADIOFRECUENCIA (RFID)
Centro Regional Santa AnaEscuela de Ingeniería Eléctrica y Electrónica Sede Central
Fondo de Investigación de Educación Superior, FIES
Dirección Nacional de Educación Superior, DNES
Ministerio de Educación, MINED
Gerente Coordinador del Proyecto: Ing. Mario Roberto Villeda Viana
Docente Investigador Responsable: Ing. Giovanni Francisco Acosta Henríquez
Docentes Investigadores Participantes: Ing. Juan José Cáceres Chiquillo
Ing. Rigoberto Alfonso Morales Hernández
Tec. Ricardo Edgardo Quintanilla Padilla
8 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
10.1. REPORTE SOBRE DISPOSITIVOS RFID EXISTENTES A NIVEL INTERNACIONAL Y
SELECCIONADOS PARA UTILIZAR EN EL PROYECTO ..................................................................20
10.2. DISPOSITIVOS RFID SELECCIONADOS PARA EL PROYECTO:........................................................34
10.3. MEMORIA DE CÁLCULO DE RED DE LECTORES RFID ..................................................................35
10.4. IMPLEMENTACIÓN DE UNA CÉLULA PROTOTIPO DE LECTORES RFID ..............................................43
10.5. INSTALACIÓN DEL LABORATORIO DEL PROYECTO DE INVESTIGACIÓN...........................................44
10.6. MEMORIA DE CÁLCULO DE TÉCNICA DE TRIANGULACIÓN DE LECTORES RFID .................................45
10.7. MÉTODO DE INTEGRACIÓN DE DISPOSITIVOS RFID ACTIVO Y PASIVO ..........................................89
10.8. DIAGRAMAS DEL DISEÑO DEL SOFTWARE ..............................................................................99
10.9. INVENTARIO DE EQUIPOS Y PERSONAS A MONITOREAR...........................................................113
10.10. DISEÑO TRIDIMENSIONAL DEL EDIFICIO F Y PROGRAMACIÓN DEL AMBIENTE GRÁFICO ...................102
10.11. DISEÑO DE REPORTES DEL SISTEMA ..................................................................................106
10.12. IMPLEMENTACIÓN DE RED CELULAR DE LECTORES RFID ..........................................................116
10.13. DIAGRAMA ELECTRÓNICO DEL CIRCUITO DE INTERFAZ PARA ALARMAS .....................................127
10.14. DIAGRAMA ELECTRÓNICO DE CIRCUITO DE INTERFAZ PARA CONTROL DE ACCESO A INSTALACIONES.133
10.15. REPORTE FOTOGRÁFICO DEL PROYECTO ..............................................................................135
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
9
1. INTRODUCCIÓN
Se presenta en este documento el informe final de ejecución técnica del proyecto de investigación aplicada
“Sistema de identificación y posicionamiento local por radiofrecuencia (RFID)”, efectuado por la Escuela
Especializada en Ingeniería ITCA-FEPADE, el cual forma parte de los primeros proyectos del programa FIES
(Fondo de Investigación de Educación Superior). Dicho proyecto se enmarca dentro de las áreas de la
Tecnología de la información y comunicaciones (TICs) y Automatización, por tal razón, se creó un equipo de
investigadores multidisciplinario, entre ellos: ingenieros en sistemas, eléctrico y electrónico.
El objetivo principal del proyecto fue “Crear un prototipo de sistema telemático innovador que permita la
identificación, control, posicionamiento local y vigilancia de personas y equipos utilizando radiofrecuencia.
(RFID por sus siglas en inglés Radio Frecuency Identification)”, por lo cual, se implementó de forma
experimental en el edificio F de la Escuela Especializada en Ingeniera ITCA-FEPADE Santa Tecla, por ser el
que alberga la mayor cantidad de computadoras y equipos audiovisuales para el préstamo a docentes.
Además, se instaló en la Escuela Especializada en Ingeniería ITCA-FEPADE regional Santa Ana, un
laboratorio para la experimentación con radiofrecuencia, diseño de circuitos electrónicos y el desarrollo de
software del proyecto. Para dar cumplimiento al objetivo del proyecto, el equipo de investigadores, diseñó
inicialmente una célula prototipo de lectores de identificación por radiofrecuencia para el desarrollo
experimental, la cual fue instalada en el centro de cómputo F305 ubicado en el tercer nivel del edificio F, luego,
se desarrolló un software orientado a la Web para el control de la base de datos y la obtención de reportes del
sistema. Y otro software innovador con interfaz gráfica tridimensional que localiza e identifica personas y
equipos, utilizando la tecnología de identificación por radiofrecuencia, que también integra un sistema de
alarmas provisto por mensajes de alerta: al monitor de la computadora, a teléfonos celulares y a los radios de
la vigilancia, el cual se activa automáticamente ante la extracción de equipos del edificio F sin la debida
autorización. Finalmente, se implementó una red prototipo de células de identificación por radiofrecuencia para
tener cobertura en los tres niveles del edificio F.
Los productos obtenidos de esta investigación son: Sistema de identificación y posicionamiento local por radio
frecuencia, software para la identificación y posicionamiento local por radio frecuencia, circuito electrónico de
interfaz para sistema de alarma, circuito electrónico de interfaz para control de acceso a instalaciones, manual
de instalación y manual de usuario. Los beneficiarios potenciales que podrían replicar este sistema, son
empresas del sector comercial o industrial, almacenadoras, instituciones públicas, instituciones educativas,
centros de salud y otros que necesiten tener un mejor control y vigilancia de sus inventarios.
2. PLANTEAMIENTO DEL PROBLEMA
2.1 PROBLEMÁTICA Y JUSTIFICACIÓN
Muchas empresas e instituciones necesitan llevar un control actualizado de entrada y salida de equipos,
objetos o personas, así como conocer el desplazamiento de los mismos dentro de sus instalaciones, con el
10 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
propósito de administrar eficazmente y con seguridad los recursos físicos y humanos, para el manejo adecuado
de productos o equipos, mayor control de movimientos de personal en áreas restringidas y evitar pérdida de
productos. Entre ellas podemos mencionar: almacenes, supermercados, hospitales, guarderías, instituciones
educativas y otras.
Con el incremento en el uso de tecnologías multimedia para la enseñanza, las instituciones educativas
requieren tener un control adecuado de sus equipos, como proyectores multimedia, computadoras portátiles y
de escritorio, equipos reproductores de CD o DVD, entre otros. Con el propósito de realizar una mejor
administración académica de dichos recursos se necesita un sistema que garantice que los equipos no sean
extraídos sin autorización. En algunos casos se requiere además, conocer en tiempo real su ubicación dentro
de las instalaciones del Centro Educativo. Por otro lado, una de las tareas que aún se ejecuta manualmente en
las instituciones educativas es el control de asistencia de los estudiantes y docentes, el cual se vuelve una
tarea tediosa y consume parte del tiempo que podría aprovecharse en actividades de enseñanza aprendizaje.
El control de existencias de productos o equipos en instituciones y empresas, en la mayoría de casos se lleva
de forma computarizada, pero digitada manualmente por una persona, esto lo hace propenso a errores puesto
que no son actualizados en tiempo real, lo cual implica que lo reportado en el sistema no siempre coincide con
las existencias reales. Las etiquetas con código de barras se utilizan para este tipo de control, no obstante,
estas tienen que ser leídas e ingresadas al sistema de cómputo individualmente, mediante la utilización de
lectores de código de barras. Este sistema aunque agiliza el control de inventarios, no permite localizar la
ubicación de los productos ni impide las pérdidas por hurto, para ello tradicionalmente se han utilizado sistemas
de video vigilancia combinados con guardias de seguridad para revisar y controlar el ingreso y salida de activos
o personas. Los sistemas de video vigilancia suelen presentar algunas deficiencias, debido a que esta debe ser
monitoreada por agentes de seguridad y no se tiene cobertura completa de todas las áreas, ya que se necesita
una visión sin obstáculos. Se utilizan también sistemas especiales de alarmas que consisten en etiquetas
colocadas a los artículos a controlar, las cuales activan un sonido de alarma cuando alguien intenta extraer el
artículo del establecimiento sin autorización.
Algunas instituciones que requieren el control de personas o pacientes, como asilos, guarderías y hospitales,
necesitan conocer la ubicación de sus pacientes dentro de áreas definidas, así como evitar su salida de las
instalaciones.
La solución técnicamente óptima es crear un sistema que pueda ser utilizado para ayudar a resolver todos los
problemas aquí planteados, es decir, que sea capaz de identificar, posicionar y ubicar objetos y personas
dentro de un área de control predeterminada. El diseño y la implementación piloto de dicho sistema es el
objetivo de esta investigación.
La implementación de este sistema prototipo de identificación beneficiará a ITCA-FEPADE. Además, los
beneficiarios potenciales que podrían replicar este sistema, son empresas, almacenadoras, instituciones
públicas, instituciones educativas, centros de salud entre otras.
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
11
Los beneficios se enfocarían en los siguientes aspectos:
Conocer en tiempo real la ubicación de personas, productos y equipos.
Ahorrar costos con la mejora de los procesos administrativos.
Reducción de pérdidas por hurto.
3. OBJETIVOS
3.1 OBJETIVO GENERAL
Crear un prototipo de sistema telemático innovador que permita la identificación, control, posicionamiento local
y vigilancia de personas y equipos utilizando radiofrecuencia. (RFID por sus siglas en inglés Radio Frecuency
Identification).
3.2 OBJETIVOS ESPECÍFICOS
• Diseñar una célula prototipo de lectores de identificación por radiofrecuencia para el desarrollo
experimental.
• Desarrollar un software innovador con interfaz gráfica tridimensional que localice e identifique personas y
equipos, utilizando la tecnología de identificación por radiofrecuencia.
• Implementar una red prototipo de células de identificación por radiofrecuencia para un sistema de
identificación, control, vigilancia y posicionamiento local de personas y equipos.
4. HIPÓTESIS
El proyecto de investigación para la identificación y posicionamiento local de personas y equipos por
radiofrecuencia (RFID activo) y el control de asistencia de docentes y alumnos (RFID pasivo), implica el uso
lectores, localizadores, tags, circuitos de interfaz de alarmas, circuitos de interfaz para el control de acceso a
instalaciones, servidor de base de datos y una plataforma de desarrollo de software. Tomando estas
herramientas se pretende implementar una red celular de lectores RFID en el edificio F de ITCA, crear una
aplicación Web para la administración de la base de datos y la obtención de reportes del sistema y un software
3D para el monitoreo y localización de personas y equipos, dotado de un sistema de envió de mensajes de
alerta: al monitor de una computadora, a teléfonos celulares preestablecidos y al sistema de radios de la
vigilancia, ante la extracción de equipos sin autorización.
5. ANTECEDENTES
La identificación por radiofrecuencia (RFID) está comenzando a ser ampliamente utilizada para el control de
objetos o personas, por medio de la colocación de etiquetas RFID a los objetos o personas que se desea
monitorear y la instalación de antenas RF para detectar dichas etiquetas dentro de su zona de alcance.
12 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Los dispositivos RFID se dividen en dos categorías: activos y pasivos. Los RFID pasivos funcionan sin batería y
extraen su potencia del campo electromagnético emitido por los “lectores RFID”. La potencia sólo está
disponible si la etiqueta está cerca del lector, por ejemplo a menos de dos metros. Los dispositivos RFID
activos incorporan una batería, y por lo tanto pueden operar a mayores distancias; se utiliza en algunos casos
radiodifusión super-heterodina, alcanzando rangos de 30 a 100 metros. Estos pueden ser vistos por lo tanto,
dentro de un edificio, en el cual se puede instalar una infraestructura adecuada para tener cobertura total. No
obstante, no se dispone en el estado de la técnica, de un sistema que combine los dispositivos activos y
pasivos en una misma infraestructura, lo cual permitiría usar las etiquetas pasivas, que son muy baratas, en
aplicaciones que requieran altos volúmenes de dispositivos a controlar y/o vida ilimitada de la etiqueta, y
controlar con el mismo sistema, dispositivos con etiquetas activas de mayor precio, para objetos que requieran
monitoreo continuo. Para lograrlo se necesitará combinar las frecuencias de transmisión de las etiquetas
pasivas y activas mediante la utilización de transpondedores que operen en diferentes frecuencias de
transmisión y recepción.
Por otro lado, los sistemas RFID actuales permiten conocer si el dispositivo a controlar está o no está dentro el
rango de alcance del lector RFID, pero no su ubicación en un mapa tridimensional del edificio. Pueden ser
utilizados por lo tanto, para tener control en tiempo real de sistemas de inventario y en sistemas de vigilancia
que adviertan que un objeto o persona, portador de una etiqueta RFID, está saliendo del área de cobertura.
Será necesario en esta investigación, diseñar un sistema de posicionamiento local que pueda ser utilizado para
ubicar objetos y personas dentro del espacio tridimensional de un edificio utilizando la tecnología RFID. Para
lograrlo se utilizará la técnica de triangulación utilizada por los sistemas de posicionamiento global, la cual será
adaptada a los dispositivos RFID y aplicada en el sistema de posicionamiento local a desarrollar.
El estado de la técnica planteado está sustentado en los documentos de patente siguientes:
1. Etiqueta de seguridad para identificación por radiofrecuencia y método de uso. Pat. No. US 6,043,746
2. Sistema de identificación por radiofrecuencia. Pat. No. US 6,100,804
3. Sistema y método de administrar inventarios. Pat. No. US 6,601,764
4. Sistema de trazabilidad. Pat. No. US 7,183,923
Para el desarrollo de esta investigación se instalará una red piloto de lectores RFID en el edificio “F” de ITCA-
FEPADE Sede Central en Santa Tecla, el cual alberga 13 Centros de Cómputo con 255 computadoras de
escritorio. Además en dicho edificio está localizado el Centro de Ayudas Audiovisuales, el cual proporciona
servicio a los docentes del instituto, este centro cuenta con 85 equipos audiovisuales, que son utilizados para
impartir clases en las aulas del campus. Para la implementación se colocarán etiquetas RFID a una muestra de
computadoras de escritorio y a todas las computadoras portátiles y equipos audiovisuales, a fin de identificar y
administrar adecuadamente su entrada y salida del edificio “F”. Cuando algún equipo sea trasladado dentro del
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
13
edificio o hacia fuera de él sin autorización, se activará una señal de alarma en los puntos preestablecidos.
Esta consistirá de una señal sonora local, otra señal sonora en las porterías del campus y además el envío de
correo electrónico a teléfonos celulares preestablecidos, para alertar a los administradores de los equipos y a
los agentes de vigilancia.
Se proporcionarán carnés con etiqueta RFID a un grupo seleccionado de docentes y alumnos de quienes se
llevará el registro de asistencia a clases, la hora de llegada y salida, así como su tiempo de permanencia
dentro del edificio. Se implementará además un sistema de control de acceso, con cerraduras electrónicas, el
cual permitirá la entrada al Centro de Cómputo respectivo, sólo a quienes porten su carné RFID autorizado y
únicamente en las horas designadas. Este control de ingreso se realizará a través del sistema a desarrollar y
haciendo uso de circuitos electrónicos que serán diseñados y elaborados con este propósito.
Se realizarán pruebas experimentales para desarrollar un sistema que permita la combinación de dispositivos
RFID activos y pasivos en la misma aplicación, integrando las diferentes frecuencias de operación de los
mismos.
Se utilizará la técnica de triangulación para determinar la posición tridimensional de personas y objetos dentro
del área de cobertura. Ésta se aplicará para desarrollar un innovador sistema de posicionamiento local, que
será de mucha utilidad en aplicaciones en las que se requiera conocer la ubicación de personas y objetos
dentro de un margen de error aceptable.
Se desarrollará un software innovador con las siguientes características:
• Presentación gráfica tridimensional del edificio “F”, en la cual se mostrará la ubicación de los equipos
en los diferentes Centros de Cómputo y demás áreas establecidas, identificándolos por su número de
serie e inventario.
• El software mostrará al administrador de equipos una perspectiva real de la ubicación de estos en el
espacio tridimensional del edificio, la cual no sería posible en un sistema de video vigilancia. Se
indicará la lista y ubicación de los equipos portátiles disponibles para préstamo y la lista de equipos que
están fuera del edificio, nombre de la persona responsable de los mismos, así como la fecha y hora de
salida y de su retorno.
• Se notificará mediante un sistema de alarmas la salida no autorizada de equipos, estas alarmas se
integrarán al software a través de circuitos electrónicos que se diseñarán y construirán para tal fin.
• Se registrará en una base de datos, un historial de eventos como: alarmas, movimientos y accesos.
• Se llevará un historial de asistencia a clases de un grupo de docentes y alumnos seleccionados y se
proporcionará un reporte de asistencia.
14 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
• Este sistema de control podrá ser monitoreado desde la intranet o Internet por el personal autorizado.
El sistema se instalará y quedará en funcionamiento en el edificio “F” de ITCA-FEPADE Sede Central. Este
prototipo podrá servir como modelo para el desarrollo de futuras investigaciones en la tecnología de
identificación por radiofrecuencia (RFID). Además podrá ser utilizado para la realización de réplicas en otras
instituciones o empresas que requieran este sistema.
5.1 EXPERIENCIA DE ITCA-FEPADE Y DEL EQUIPO DE INVESTIGADORES
Para el desarrollo de esta propuesta de proyecto se ha integrado un equipo multidisciplinario conformado por
un ingeniero en sistemas informáticos, un ingeniero en electrónica y un ingeniero electricista, coordinados por
un ingeniero en electrónica; se tendrá además el apoyo de un técnico en sistemas informáticos. Los miembros
de este equipo pertenecen al Departamento de Ingeniería Eléctrica de la Sede Central y al Centro
Regional de Santa Ana de ITCA-FEPADE. Este equipo trabajará de forma sinérgica para alcanzar los
resultados planteados. La base de operaciones estará en el Centro Regional de Santa Ana y el Sistema
prototipo será instalado en la Sede Central; contarán además con el apoyo de los Departamentos de
Investigación, de Informática y de Servicios Estudiantiles de la Sede Central.
El equipo de investigadores del Centro Regional Santa Ana de ITCA-FEPADE, desarrolló durante 2006 y 2007
un Sistema de Automatización Integrado, del cual ITCA-FEPADE ha registrado los derechos de autor, bajo el
depósito No. 187-2008 del Centro Nacional de Registro. Este sistema incluye el control domótico desde Internet
de equipos eléctricos y electrónicos, apagado y encendido de aires acondicionados, video vigilancia y control
de acceso mediante carnés con códigos de barra. Este sistema fue implementado exitosamente en el Centro
Regional de Santa Ana y en la Sede Central en el Nodo Virtual “Akio Hosono”. Con este proyecto se obtuvo el
primer lugar en la categoría informática en el Concurso de Inventiva 2007 del Centro Nacional de Registros,
CNR. En la Sede Central de ITCA-FEPADE se desarrolló e implementó un sistema de monitoreo de
subestaciones eléctricas, el cual facilita las tareas de mantenimiento preventivo y correctivo de las
subestaciones. Este sistema presenta en línea la información de voltajes, corrientes y factor de potencia de
cada una de las fases de la subestación. En caso de falla de la subestación, se muestra la información que
permite al ingeniero de mantenimiento, conocer la causa y ubicación de la falla. Este proyecto fue desarrollado
por el equipo de investigadores del Departamento de Ingeniería Eléctrica y Electrónica de la Sede Central.
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
15
6. METODOLOGÍA DE LA INVESTIGACIÓN
Objetivos Metodología a utilizar Meta
OBJETIVO 1:
Desarrollar una célula
prototipo de lectores
de identificación por
radiofrecuencia
(RFID), para el proceso
experimental.
Actividad 1: Selección de dispositivos RFID.
Se investigará sobre los diferentes dispositivos RFIDexistentes a nivel internacional, etiquetas, lectores yantenas entre otros. Según sus características yparámetros eléctricos se seleccionarán los que seutilizarán para el desarrollo de este proyecto.
Actividad 2: Diseño de red de lectores RFID.
Se realizará el diseño de la red de lectores RFID ainstalar en el edificio “F”, según la topología aimplementar y las características del edificio. Setrabajará en el modelo matemático para la triangulaciónde lectores y se definirá su ubicación dentro del edificio.
Actividad 3: Implementación de una célula prototipode lectores RFID.
A partir del diseño de la red de lectores, se instalará unacélula prototipo en el edificio “F”. Se adquirirán loslectores, etiquetas, antenas y otros materiales para lainstalación de esta célula. Se realizarán pruebas decomunicación entre las etiquetas y los lectores RFIDinstalados. Se direccionarán las antenas para alcanzarlos rangos de cobertura esperados y sin interferencias.Se equipará el laboratorio de investigación y desarrollode tecnologías de identificación por radiofrecuencia.
Actividad 4: Desarrollo experimental de la técnica detriangulación de lectores RFID.
Se realizarán cálculos matemáticos y experimentos detriangulación de lectores RFID para desarrollar unsistema de posicionamiento local tridimensional. Sedeterminará el mínimo rango de error posible.
Actividad 5: Desarrollo experimental de integraciónde dispositivos RFID activos y pasivos.
Se realizarán experimentos de integración de etiquetasRFID activas y pasivas en un mismo sistema. Serealizarán pruebas de recepción y transmisión(transponders) operando a diferentes frecuencias enforma paralela.
Contar con una
célula prototipo de
lectores RFID en el
edificio “F” deITCAFEPADE
Sede Central,
funcionando
con la integración
de etiquetas activas
y pasivas (Tags)
bajo la técnica detriangulación.
16 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
OBJETIVO 2:
Desarrollar un software
innovador con interfaz
gráfica tridimensional
que localice e identifique
personas y equipos,utilizando
la tecnología de
identificación porradiofrecuencia.
Actividad 1: Diseño del software.
Se realizará un análisis de los parámetrosproporcionados por los lectores RFID y de lascaracterísticas esperadas. Se diseñará el diagrama deflujo, diagrama entidad relación, formularios y reportes.Se seleccionará la plataforma y lenguajes deprogramación a utilizar.
Actividad 2: Elaboración de base de datos.
Se diseñará y se cargará a la base de datos aimplementar la información de los equipos y personas amonitorear con el sistema.
Actividad 3: Programación de ambiente gráfico yreportes.
Se diseñará el ambiente gráfico tridimensional deledificio “F”. Se desarrollarán los reportes y alertas queemitirá el software.
Actividad 4: Verificación de funcionamiento delsoftware.
Se realizarán pruebas de integración entre losdispositivos RFID y el software. Se verificará laconfiabilidad y exactitud del sistema al triangular laubicación de personas y objetos. Se depurará elsoftware desarrollado.
Contar con un
software provisto de
interfacestridimensionales
que permita
la localización e
identificación de
personas y equipos
dentro del área de
cobertura de la red
de lectores RFID.
Este software
presentará informaciónen
tiempo real, la cualserá registrada en unabase de datos.
Objetivos Metodología a utilizar Meta
OBJETIVO 3:Implementar una redprototipo de células deidentificación porradiofrecuenciapara un sistemade identificación,control, vigilancia yposicionamientolocal de personas yequipos.
Actividad 1: Implementación de red celular delectores
RFID y sistema de alarma. Se instalarán las restantescélulas de lectores RFID para completar la red delectores en el edifico “F”. Se realizarán pruebas deintegración y funcionamiento de la red de células.
Actividad 2: Desarrollo de circuitos electrónicos deinterfaz para alarmas.
Se diseñarán y construirán los circuitos electrónicos queservirán de interfaz entre el software y las alarmassonoras. Se realizarán pruebas de activación yrespuesta de las alertas bajo diferentes eventualidades.
Se verificará el reporte de alertas mediante envíoautomático de correo electrónico a teléfonos celularespredeterminados.
Sistema completo
funcionando en el
edificio “F” deITCAFEPADE
Sede Central.
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
17
Actividad 3: Desarrollo de circuitos electrónicos deinterfaz para control de acceso a instalaciones.
Se diseñarán y construirán los circuitos electrónicos queservirán de interfaz para el control de cerraduraselectrónicas. Se realizarán pruebas de la seguridad yconfiabilidad del sistema de control de acceso.
Actividad 4: Elaboración de documentación delproyecto.
Se elaborará el Manual de Instalación y el Manual deUsuario del sistema desarrollado, los cuales contendrántoda la información necesaria para que este sistemapueda ser replicado en otras instituciones o empresas.Se redactarán las solicitudes de patente, modelos deutilidad y derechos de autor resultantes de estainvestigación, las cuales serán entregadas a la DNESpara solicitar el registro de común acuerdo. Se brindarácapacitación a los usuarios finales del sistema prototipoinstalado en el edificio “F” de ITCA-FEPADE SedeCentral.
7. RESULTADOS
1. Sistema de identificación y posicionamiento local por radiofrecuencia. (Solicitud de registro de
Propiedad Industrial: Patente de Invención)
2. Software del sistema identificación y posicionamiento local por radiofrecuencia. (Registro de
Derechos de Autor)
El software desarrollado consta de dos partes, la primera es una aplicación Web para la administración de la
base de datos y la generación de reportes y la segunda es una aplicación Windows con interfaz gráfica
tridimensional que localiza e identifica personas y equipos, ambas pueden ser accedidas desde la Intranet o
Internet.
La aplicación Web tiene las siguientes características:
Posee un módulo para el mantenimiento de: lugares, tipos de activos, lectores RFID, tags, alarmas, grupos
y materias.
Permite la asignación de un tag de RFID al personal, alumnos y equipos a monitorear por el sistema.
Registra la asignación de préstamos y devoluciones de equipos de cómputo y audiovisuales.
Permite la asignación de horarios de ingreso y salida de personal y alumnos, para el control de asistencia
en las áreas controladas.
18 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Posee un módulo para la generación de reportes de: asistencia de personal, asistencia de alumnos, listado
de equipos disponibles para préstamo, listado de equipos fuera del edificio, bitácora de alarmas, bitácora
de movimientos o trazabilidad y estado de tags.
Registra los números de teléfonos a los que se enviara mensajes de alerta, ante la extracción de equipos
sin autorización.
Permite la generación de copias de respaldo de la base de datos y la administración de las contraseñas de
acceso al sistema.
La aplicación Windows tiene las siguientes características:
Presenta de forma gráfica tridimensional el edificio “F”, en el cual se muestra la ubicación de los equipos en
los centros de cómputo seleccionados, identificándolos por su número de serie e inventario.
Permite la localización e identificación en tiempo real de etiquetas de identificación por radiofrecuencia
(RFID), las cuales son asignadas a personas, equipos de cómputo, audiovisuales u otros objetos que se
requieren monitorear dentro del área de cobertura de la red de lectores RFID implementada, con un
margen de error aceptable.
Tiene un sistema de control de acceso en áreas establecidas, para la apertura de puertas, previa
identificación del personal o alumno a través de una tarjeta de identificación por radio frecuencia (RFID
pasiva).
Cuenta con un sistema de alarmas para la identificación de salidas no autorizada de equipos, estas
alarmas son enviadas al monitor de una computadora, a teléfonos celulares preestablecidos y a los radios
de la vigilancia de la institución, las cuales se integran al software a través de circuitos electrónicos que se
diseñaron y construyeron para tal fin.
3. Circuito electrónico de interfaz para sistema de alarmas. (Solicitud de registro de Propiedad
Industrial: Modelo de Utilidad)
4. Circuito electrónico de interfaz para control de acceso a instalaciones. (Solicitud de registro de
Propiedad Industrial: Modelo de Utilidad)
5. Manual de instalación (Registro de Derechos de Autor). Manual con los procedimientos y estándares a
utilizar en la instalación de la infraestructura de red de lectores RFID, con la información necesaria para futuras
réplicas del sistema en otras instituciones o empresas.
6. Manual de usuario (Registro de Derechos de Autor). Manual de uso del software del sistema de
identificación y posicionamiento local por radiofrecuencia.
7. Prototipo de sistema de identificación y posicionamiento local por radiofrecuencia instalado en
edificio “F” de ITCA-FEPADE Sede Central.
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
19
8. CONCLUSIONES
Las compras internacionales son problemáticas, por el tema de la burocracia y debido a las reglas de
registro de facturas, porque deben ser a nombre del proyecto y eso limita la flexibilidad en las compras.
Para compras en Estados Unidos se requiere de una licencia de uso de RF, lo que impide el acceso a
dicha tecnología e información.
Debido a la falta de un estándar mundial aceptado por todas las empresas, existe incompatibilidad de
equipos RFID entre los diferentes fabricantes, lo que ocasiona que todo el equipo: lectores, antenas, tag,
SDK, etc. se adquiera con un mismo proveedor.
Escasa o nula información técnica por parte de los fabricantes de la tecnología RFID, sobre protocolos y
comandos a utilizar con los lectores y tag de RFID.
El sistema permite la identificación y localización de personas y equipos portadores de una etiqueta de
identificación RFID, dentro del área de cobertura de la red celular de lectores RFID, obteniendo un registro
en tiempo real sobre la trazabilidad de estos, superando las limitantes de un sistema de video vigilancia.
El sistema posee un innovador método de envío de mensajes de alerta, que se activa al identificar equipos
que son extraídos sin autorización. A través del envío de mensajes: al monitor de la computadora, teléfonos
celulares preestablecidos y a los radios de la vigilancia de la institución.
El sistema integra el uso de tecnología RFID activa y pasiva, lo cual permite obtener la trazabilidad y el
control de acceso a lugares restringidos.
El desarrollo de las redes en el ámbito de las comunicaciones hace posible la comunicación y monitoreo de
este sistema, desde cualquier ubicación con acceso a Internet.
9. RECOMENDACIONES
Solicitar a las instituciones pertinentes que mejoren el proceso de compras Internacionales para los
proyectos de investigación.
Permitir el uso de un código de identificación del proyecto para ser utilizado como nombre del proyecto en
las facturas de las compras.
Adquirir equipos RFID que posean acceso al protocolo IPV6 para garantizar la disponibilidad de direcciones
IP.
Utilizar lectores RFID anticolisión para realizar lecturas de múltiples etiquetas de identificación por radio
frecuencia de forma simultánea.
Contar con una infraestructura de red con un ancho de banda de al menos 1 Gbit.
Disponer de IP pública para el acceso al sistema desde cualquier equipo con Internet.
20 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
ANEXOS
10.1 REPORTE SOBRE DISPOSITIVOS RFID EXISTENTES A NIVEL INTERNACIONAL YSELECCIONADOS PARA UTILIZAR EN EL PROYECTO
Proyecto: Sistema de identificación y posicionamiento local por radiofrecuencia (RFID)
Objetivo 1: Desarrollar una célula prototipo de lectores de identificación por radiofrecuencia (RFID), para el
proceso experimental.
Actividad 1: Selección de dispositivos RFID.
Dispositivos RFID utilizados a nivel internacional:
Equipo Descripción
Módulo OEM de 125
kHz
Módulo de lectura/escritura sin antena. Interfaces CMOS-TTL,
RS232 o RS485. Con antena externa es capaz de alcanzar
distancias de lectura de hasta 30 cm Para EM4100, EM4550,
FDX-b. Hitag 1, 2 y S, T5557
Lector OEM de 125
kHz
Para lectura/escritura. Interfaz RS232 o USB con antena
integrada. Distancia de lectura de hasta 8 cm. Software de
aplicación para lectura/escritura. Para EM4100, EM4550,
FDX-b, Hitag 1, 2 y S.
Módulo OEM de
Mifare
Módulo de lectura/escritura ISO 14443A sin antena. Interfaz
CMOS-TTL. Con antena externa se pueden alcanzar
distancias de hasta 10 cm. Para la familia NXP Mifare
Lector OEM Mifare
Lector de lectura/escritura con antena. Interfaces RS232 o
RS485. Distancia de lectura de hasta 8 cm. Software de
aplicación de lectura/escritura Para la familia NXP Mifare
Mini Lector OEM
Mifare con antena se
parada
Lector Midare de tamaño muy pequeño (lectura/escritura).
RS232 o RS485. Existen 6 tamaños de antenas disponibles.
Hasta 12 cm de distancia de lectura. Software de aplicación
de lectura/escritura
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
21
Lector OEM ISO
14443 A/B + ISO
15693
Lector de lectura/escritura con antena. Interfaces RS232 o
RS485. Distancia de lectura de hasta 12 cm dependiendo del
tag. Software de aplicación de lectura/escritura
Lector OEM ISO
14443 A/B +NFC con
2 SAMs
Lector de lectura escritura con antena y dos SAMs (Secure
Access Module) integrados. De pequeño tamaño, está
especialmente diseñado para aplicaciones de pago. Soporta
tanto el modo Activo-Pasivo como el Activo-Activo
Módulo OEM ISO
14443A + NFC
Módulo de lectura/escritura sin antena. Interfaces CMOS-TTL.
Soporta tanto la familia Mifare (ISO 14443A) como NFC (ISO
18092). Soporta tanto el modo Activo-Pasivo como el Activo-
Activo
Lector OEM ISO
14443A + NFC
Lector de lectura/escritura con antena. Interfaces. Soporta
tanto la familia Mifare (ISO 14443A) como NFC (ISO 18092).
Soporta tanto el modo Activo-Pasivo como el Activo-Activo.
EQ1 Sony 4011655 KV-25FS120EQ2 Sony 4011472 KV-25FS120EQ3 Sony 4012125 KV-25FS120EQ4 Sony 4011196 KV-25FS120EQ5 Sony 4011478 KV-25FS120EQ6 Sony 4025177 KV-25FS120EQ7 Sony 4011581 KV-25FS120EQ8 Sony 4025160 KV-25FS120EQ9 Sony 4025097 KV-25FS120EQ10 Sony 4025168 KV-25FS120EQ11 Sony 4011479 KV-25FS120EQ12 Sony 4012132 KV-25FS120EQ13 Sony 12304EAF00023 KV-25FS120EQ14 Sony 12304EAF00024 KV-25FS120EQ15 Sony 12304EAF00033 KV-25FS120EQ16 Sony 12304EAF00027 KV-25FS120EQ17 Sony 12304EAF00035 KV-25FS120EQ18 Sony 12304EAF00020 KV-25FS121EQ19 Sony 12304EAF00034 KV-25FS122EQ20 Zenith ------------- TVR1920EQ21 Zenith ------------- TVR1920EQ22 Zenith 51001422 TVR1920EQ23 Sony 7327161 KV27SXR10EQ24 Zenith 321-52130825 SJ2765S5
98 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
10.13 DIAGRAMA ELECTRÓNICO DEL CIRCUITO DE INTERFAZ PARA ALARMAS
Nombre del Proyecto: Sistema de identificación y posicionamiento local por radiofrecuencia (RFID)
Institución ejecutora: Escuela Especializada en Ingeniería ITCA FEPADE
Objetivo 3: Implementar una red prototipo de células de identificación por radiofrecuencia para un sistema de
identificación, control, vigilancia y posicionamiento local de personas y equipos.
Actividad 2: Diagrama electrónico del circuito de interfaz para alarmas.
Con el objetivo de realizar un circuito para acoplar la salida de audio de una PC hacia un radio
intercomunicador a fin de que este de aviso de alarma, el equipo de investigadores realizó el siguiente
procedimiento:
La actividad comenzó preparando los conectores de audio, PC y Walkie_Talkie, componentes electrónicos,
osciloscopio, soldador y herramientas. Se procedió a observar el interior de un radiocomunicador para verificar
los puntos de conexión del micrófono.
128 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Ing. Juan José Cáceres Laboratorio
Por medio del osciloscopio se midió el nivel de salida de voltaje de la onda de salida de una PC
Como se muestra en la fotografía
El nivel de señal es de aproximadamente 200 mV p-p
Se realizó prueba conectando esta señal por medio de un potenciómetro y se comprobó que este nivel de señal
distorsionaba la señal en el radio receptor. Esta señal no es apta para introducirla al radiotransmisor, con esta
prueba se determinó que la señal al radio transmisor debe ser aproximadamente 20 mV p-p es decir una
reducción de 200 mV p-p/ 20 mV p-p una reducción de 10 veces.
Se armó un circuito de prueba con operacional par atenuar y no cargar la señal de la PC, lo cual permitió una
variación controlada del nivel de la señal y que resulto una señal adecuada para conectar y operar el sistema,
la ganancia o relación del voltaje de salida Vo al voltaje de entrada Vi está dada por la relación de R2/ R1 así
si R2 es menor a R1 obtenemos la atenuación requerida
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
129
Para R1 se uso una resistencia de 10K y para R2 un potenciómetro de 10K. La prueba con este circuito fue
más que satisfactoria.
Diseño del circuito amplificador para radio construido para el proyecto
Vista de las placas:
130 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Este es el impreso del amplificador/ atenuador, elaborado por el Ing. Rigoberto Morales, para la interfase PC
_radio
Listado de componentes utilizados:
Cantidad Descripción
1 Resistencia de 2.2 K ¼ W
2 Resistencia de 51 K ¼ W
2 Resistencia de 100 K ¼ W
1 Resistencia de 2.2 K ¼ W
2 Resistencia de 10 K ¼ W
1 Resistor variable ajuste 5K
1 Capacitor de 47 uF/ 25V
4 Capacitor de 10 uF/ 25V
1 Capacitor de 0.1 uF / 25 V de pastilla
1 Integrado LM741
1 Base para IC de 8 pines para 741
1 Bornera de 3 tornillos
2 Bornera de 2 tornillos
1 Placa de impreso de cobre de 1 cara
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
131
Circuito de control para alarmas construido.
132 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
ESQUEMA DEL SISTEMA DE ALARMAS DEL PROYECTO RFID
• El sistema de alarmas está provisto de tres mecanismos para el envío de mensajes de alerta, ante la
extracción de equipos sin ser autorizados en el sistema.
1. Se elaboró un circuito para acoplar la salida de audio de la computadora hacia un radio
intercomunicador a fin de que este de aviso de alarma a los radios de los vigilantes.
2. Se desarrolló el software para el envío de mensajes de alerta a teléfonos celulares
preestablecidos, funcionando al 100% con los teléfonos de la compañía TIGO, para otras, será
necesario contar con una IP pública.
3. Se incorporó al software de identificación y localización por radiofrecuencia (RFID), la
visualización de mensajes de alerta, ante la extracción de un equipo sin autorización.
((()
)))
)))
)))
Usuario1 Usuario2 Usuario3
Portería 1
Portería 2
Portería 3
Celulares establecidos
(Mensajes)
Circuito
amplificad
MSM
Celulares
Tx
Rx1
Rx2
Rx3
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
133
10.14 DIAGRAMA ELECTRÓNICO DE CIRCUITO DE INTERFAZ PARA CONTROL DE ACCESO AINSTALACIONES
Nombre del Proyecto: Sistema de identificación y posicionamiento local por radiofrecuencia (RFID)
Institución ejecutora: Escuela Especializada en Ingeniería ITCA FEPADE
Objetivo 3: Implementar una red prototipo de células de identificación por radiofrecuencia para un sistema de
identificación, control, vigilancia y posicionamiento local de personas y equipos.
Actividad 3: Diagrama electrónico de circuito de interfaz para control de acceso a instalaciones
Se elaboró un circuito de control para activación de chapa eléctrica:
Placas del circuito de control para activación de chapa eléctrica:
134 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Con este circuito se implementó un sistema para el control de acceso a las instalaciones utilizando un tag
pasivo (RFID de proximidad).
• Control de acceso con RFID pasivo instalado en el salón de audiovisuales.
Chapa eléctrica instalada en el salón de
audiovisuales.Lector RFID pasivo para el control de acceso y
software instalado en el salón de audiovisuales.
Operación:
1. El usuario acerca su tag al lector RFID de proximidad.
2. El id del tag es verificado por el software en la base de datos del sistema.
3. Si la persona está autorizada para entrar, el software envía un pulso a través del circuito de control para
activar la chapa.
4. El registro de acceso es almacenado en la base de datos con el nombre de la persona, fecha y hora.
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
135
10.15 REPORTE FOTOGRÁFICO DEL PROYECTO
Nombre del Proyecto: Sistema de identificación y posicionamiento local por radiofrecuencia (RFID)
Institución ejecutora: Escuela Especializada en Ingeniería ITCA FEPADE
Objetivo 1: Desarrollar una célula prototipo de lectores de identificación por radiofrecuencia (RFID), para el
proceso experimental.
Actividad 1: Selección de dispositivos RFID
Luego de investigaciones previas, se realizaron reuniones de trabajo con el equipo de investigación compuesto
por: Ing. Mario Villeda (coordinador del proyecto), Ing. Giovanni Henríquez (docente investigador), Ing. Juan
José Cáceres (investigador), Ing. Rigoberto Morales (investigador) y Tec. Ricardo Quintanilla (investigador),
para discutir y seleccionar los dispositivos RFID activos y pasivos, lectores, antenas y tags a utilizar en el
136 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
proyecto, así como, las herramientas, materiales y equipos de cómputo a adquirir para el laboratorio de
investigación del proyecto, a implementarse en ITCA centro regional Santa Ana.
Objetivo 1: Desarrollar una célula prototipo de lectores de identificación por radiofrecuencia (RFID), para el
proceso experimental.
Actividad 2: Diseño de red integral de lectores RFID
Se realizaron pruebas para incorporar los
lectores de RFID a la red LAN de la institución y
poder comunicarlos a través de un prototipo de
software desde un computador.
Se llevaron a cabo pruebas de lectura para
determinar el alcance de lectura de los tag de
RFID en campo abierto y dentro de las
instalaciones.
Dibujo tridimensional del edificio F de ITCA sede
central, lugar donde se implementara el proyecto
y que servirá como interfaz para el sistema,
donde el usuario podrá ingresar a los diferentes
niveles del edificio para monitorear y localizar
personas y objetos controlados con RFID.
Dibujo tridimensional del salón de video
conferencias, ubicado en el tercer nivel del
edificio F de ITCA sede central, lugar donde se
implementara la primera célula prototipo,
compuesta por tres lectores RFID.
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
137
Proceso de renderizado del dibujo tridimensional
del edificio F de ITCA sede central, el cual
servirá como interfaz gráfica del sistema.
Dibujo tridimensional del edificio F de ITCA sede
central luego del proceso de renderizado.
Objetivo 1: Desarrollar una célula prototipo de lectores de identificación por radiofrecuencia (RFID), para el
proceso experimental.
Actividad 3: Implementación de una célula prototipo de lectores RFID
Salón de video conferencias del Edificio F en
ITCA sede central, lugar donde se
implementara la primera célula de lectores
RFID.
Instalación de la red eléctrica y nodos de
conexión a la red LAN de los lectores RFID de la
primera célula.
138 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Configuración de los lectores RFID para
incorporarlos a la red LAN de la institución y
poder acceder desde ITCA sede central y
desde el centro regional Santa Ana.
Instalación y funcionamiento del primero de los
tres lectores RFID que componen la célula
instalada en el salón de video conferencias del
edifico F de ITCA sede central.
Instalación y funcionamiento del segundo de los
tres lectores RFID que componen la célula
instalada en el salón de video conferencias del
edifico F de ITCA sede central.
Instalación y funcionamiento del tercero de los
tres lectores RFID que componen la célula
instalada en el salón de video conferencias del
edifico F de ITCA sede central.
Objetivo 1: Desarrollar una célula prototipo de lectores de identificación por radiofrecuencia (RFID), para el
proceso experimental.
Actividad 4: Desarrollo experimental de la técnica de triangulación de lectores RFID
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
139
Preparación de equipos: Lectores RFID y
prototipo de software para la realización de
pruebas de lectura de los indicadores del tag a
través del prototipo de software.
Preparación de los tag de RFID para la realización
de las pruebas de lectura a través del prototipo de
software elaborado en Visual Basic .Net.
Pruebas de lectura de tag de RFID a través del
prototipo de software elaborado en Visual
Basic .Net
Prototipo de software elaborado en Visual Basic
.Net para conocer los indicadores: RSSI, LQI y
carga de la batería de los tag de RFID, lo que
140 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
será utilizado para hacer un mapeo del área de
cobertura de la célula de RFID y determinar a
través de triangulación la ubicación de los tag de
RFID.
Levantamiento de radio mapa de RSSI del
salón de videoconferencias del edificio F de
ITCA sede central, lugar donde se instaló la
primer célula de lectores de RFID y que servirá
para la localización de tags.
Investigadores haciendo uso del prototipo de
software y tomando nota del levantamiento del
radio mapa de RSSI.
Objetivo 1: Desarrollar una célula prototipo de lectores de identificación por radiofrecuencia (RFID), para el
proceso experimental.
Actividad 5: Desarrollo experimental de integración de dispositivos RFID activos y pasivos
Pantalla principal del software elaborado para
el control de acceso y asistencia, utilizando
tecnología RFID pasiva.
Elementos que posee:
Mantenimiento de usuariosRegistro de accesosConsulta de accesosReporte de usuariosReporte de accesos
Control de acceso ejecutándose en segundo
plano.
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
141
Equipo RFID pasivo a utilizar en la aplicación de
control de acceso y asistencia. Muestra el lector
de RFID GP30, World tag y tarjetas de
proximidad de 125 KHz.
Incorporación de cable USB para alimentación
eléctrica del lector de RFID pasivo a través de
la computadora donde será conectado.
Pruebas en bread board del funcionamiento del
lector de proximidad RFID pasivo.
Pruebas de funcionamiento del lector de RFID
pasivo, conectado al equipo de cómputo y al
software para el control de acceso y asistencia.
142 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Componentes de la chapa eléctrica a instalar la
puerta de acceso del salón de equipos
audiovisuales del edificio F de sede central,
para la aplicación de control de acceso y
asistencia con tecnología RFID pasiva. Proceso de instalación de la chapa eléctrica.
Chapa eléctrica instalada. Lector RFID de proximidad instalado en el sala
de equipos audiovisuales.
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
143
Objetivo 2: Desarrollar un software innovador con interface gráfica tridimensional que localice, identifique y
trace el desplazamiento de equipos o personas utilizando la tecnología de identificación por radiofrecuencia.
Actividad 1: Diseño del software
Interfaz gráfica del software del proyecto,
muestra el edificio F, lugar donde se
implementa el prototipo experimental del
proyecto.
Tercer nivel del edificio F, utilizado para la
interfaz gráfica del sistema y permite navegar
por los centros de cómputo que posee.
Segundo nivel del edificio F, utilizado para la
interfaz gráfica del sistema y permite navegar
por los centros de cómputo que posee.
Primer nivel del edificio F, utilizado para la
interfaz gráfica del sistema y permite navegar
por los centros de cómputo que posee.
144 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Objetivo 2: Desarrollar un software innovador con interface gráfica tridimensional que localice, identifique y
trace el desplazamiento de equipos o personas utilizando la tecnología de identificación por radiofrecuencia.
Actividad 2: Elaboración de base de datos
Esquema de la base de datos elaborada para el
software del proyecto.
Llenado de la base de datos del proyecto, con el
inventario de equipos audiovisuales albergados
en el edificio F.
Objetivo 2: Desarrollar un software innovador con interface gráfica tridimensional que localice, identifique y
trace el desplazamiento de equipos o personas utilizando la tecnología de identificación por radiofrecuencia.
Actividad 3: Programación de ambiente gráfico y reportes.
Pantalla del software 3D para la identificación ylocalización de personas y equipo porradiofrecuencia, permite la navegación por los Aplicación Web para la administración de la base de
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
145
centros de cómputo de los 3 niveles del edificio F,lugar de experimentación del prototipo.
datos del sistema, permite la carga de datos yobtención de reportes del sistema.
Objetivo 2: Desarrollar un software innovador con interface gráfica tridimensional que localice, identifique y
trace el desplazamiento de equipos o personas utilizando la tecnología de identificación por radiofrecuencia.
Actividad 4: Verificación de funcionamiento del software
Pantalla del software 3D para la identificación ylocalización de personas y equipo porradiofrecuencia, permite la navegación por loscentros de cómputo de los 3 niveles del edificio F,lugar de experimentación del prototipo.
Ing. Giovanni Henríquez, realizando pruebas ydepuración del software 3D del proyecto
146 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Pruebas de funcionamiento del software deidentificacion y localizacion de tags de RFIDubicados en las computadoras.
Coordinador del proyecto, Ing. Mario Villeda yequipo técnico, verificando el funcionamiento delsoftware, desde el laboratorio de investigación ydesarrollo de la tecnología RFID, ubicado en ITCAcentro regional Santa Ana.
Objetivo 3: Implementar una red prototipo de células de identificación por radiofrecuencia para un sistema de
identificación, control, vigilancia y posicionamiento local de personas y equipos.
Actividad 1: Implementación de red celular de lectores RFID y sistema de alarma.
Instalación de lectores y localizadores en los tres niveles del edificio F.
Instalación de lectores RFID Alumnos de eléctrica de ITCA centro RegionalSanta Ana
Instalación de lectores RFID Alumnos de eléctrica de ITCA sede central
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
147
Instalación de lectores RFID Instalación de Tags de RFID en computadoras
Objetivo 3: Implementar una red prototipo de células de identificación por radiofrecuencia para un sistema de
identificación, control, vigilancia y posicionamiento local de personas y equipos.
Actividad 2: Desarrollo de circuitos electrónicos de interfaz para alarmas.
Pruebas para observar el interior de un radiocomunicador para verificar los puntos de conexión del micrófono.
Ing. Juan José Cáceres Laboratorio
148 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Diseño de circuito electrónico de interfaces para
alarma en ISOpro SoftImpresor de circuito electrónico QC5000
Diseño del circuito amplificador para radio construido para el proyecto
Vista de las placas:
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
149
Este es el impreso del amplificador/ atenuador, elaborado por el Ing. Rigoberto Morales, para la interfase PC
_radio
Objetivo 3: Implementar una red prototipo de células de identificación por radiofrecuencia para un sistema de
identificación, control, vigilancia y posicionamiento local de personas y equipos.
Actividad 3: Desarrollo de circuitos electrónicos de interfaz para control de acceso a instalaciones.
Se elaboró un circuito de control para activación de chapa eléctrica:
150 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
Placas del circuito de control para activación de chapa eléctrica:
Con este circuito se implementó un sistema para el control de acceso a las instalaciones utilizando un tag
pasivo (RFID de proximidad).
• Control de acceso con RFID pasivo instalado en el salón de audiovisuales.
SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
151
Chapa eléctrica instalada en el salón de
audiovisuales.Lector RFID pasivo para el control de acceso y
software instalado en el salón de audiovisuales.
Otras actividades
1. Ponencia sobre avance del proyecto en la EXPO FIES 2009 por parte del Ing. Mario Villeda
2. Montaje de stand con información del proyecto y aplicación demo de RFID
152 SISTEMA DE IDENTIFICACIÓN Y POSICIONAMIENTO LOCAL POR RADIOFRECUENCIA (RFID)Documento propiedad de ITCA-FEPADE. Derechos Reservados.
MONITOR VISUAL DEL CONSUMO DE ENERGÍA ELÉCTRICA EN VIVIENDASDocumento propiedad de ITCA-FEPADE. Derechos Reservados.
153
ESCUELA ESPECIALIZADA EN INGENIERÍA ITCA – FEPADEDIRECCIÓN DE INVESTIGACIÓN Y PROYECCIÓN SOCIAL
MONITOR VISUAL DEL CONSUMO DEENERGÍA ELÉCTRICA EN VIVIENDAS
Escuela de Ingeniería Eléctrica y ElectrónicaSede Central
Director Coordinador del Proyecto:
Ing. Ricardo Salvador Guadrón
Docente Investigador Responsable:
Ing. Juan José Cáceres
Docente(s) Investigador(es) participantes:
Ing. Rigoberto Alfonso Morales
Tec. Gustavo Enrique Vásquez
154 MONITOR VISUAL DEL CONSUMO DE ENERGÍA ELÉCTRICA EN VIVIENDASDocumento propiedad de ITCA-FEPADE. Derechos Reservados.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
175
INTRODUCCION
El presente documento contiene el informe final del proyecto de investigación realizado por la Escuela de
Ingeniería en Computación de la Escuela Especializada en Ingeniería ITCA-FEPADE sede central para el año
2009, con el tema “Diseño de un sistema inteligente para tutorización tipo uno a uno aplicado a la asignatura:
Desarrollo de Lógica de Programación”.
En esta fase de la investigación se procedió a estructurar el análisis y determinación de los requerimientos
técnicos relacionados con todos los recursos informáticos y programas de computadora que serán utilizados en
la ejecución del proyecto. Se presentan todos los pasos realizados a fin de identificar las bases metodológicas
para desarrollar un sistema de tutorización inteligente. La intensión de esta investigación, en esta primera fase
fue realizar un análisis de los modelos de enseñanza que utilizan los tutores humanos para enseñar así como
los requerimientos que determinan el funcionamiento real que deberá tener el sistema inteligente. Además se
busca exhibir el comportamiento de un sistema tutorizado y el estudio de los procesos que demuestran
aspectos similares al de un tutor humano, es decir, estudiar la forma en que el sistema se adapte al
comportamiento del estudiante.
Además se realizó un estudio de una muestra considerable de alumnos de la asignatura de Desarrollo de
Lógica de programación para recopilar datos y verificar las razones porque algunos no aprobaban la asignatura
o bien porque existía poca cantidad de alumnos que lograban comprender y asimilar ciertos temas complejos de
la asignatura.
Por todo lo anterior se pensó en el desarrollo de un sistema tutor inteligente que pudiera llevar a cabo la tarea
de tutorizado para los alumnos, adaptando diferentes modalidades o estrategias de enseñanza de acuerdo al
estilo de aprendizaje que evidenciara en el estudiante.
Con evidencia en este hecho se procedió primero a enfocar el análisis a la metodología de enseñanza-
aprendizaje, ya que esta en su momento esta condiciona tanto los recursos didácticos disponibles del
estudiante así como al propio estudiante y segundo se enfocó en conocer aquellas líneas de conocimiento en
las cuales el estudiante tiende a mostrar un bajo rendimiento dentro de la asignatura, todo esto con el
propósito de delimitar así los temas de estudio para la asignatura que generaban mas problemas de compresión
para el estudiante.
Además se recabaron diversas teorías y cúmulos de conocimientos que muestran los avances y los
componentes disponibles sobre los sistemas inteligentes y que por supuesto nos dan diversas opciones
alcanzables para su desarrollo con el uso de la tecnología disponible. Además se describe el diseño del
funcionamiento para el sistema inteligente mediante la utilización de herramientas de modelado de sistemas
que proporcionan un marco más general sobre la distribución de los módulos, sus procesos y las características
de inteligencia artificial que se incorporarán en el sistema.
176 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Entre los beneficios del proyecto se incluye la posibilidad de implementar en la institución a mediano plazo la
solución tecnológica de un sistema de tutorización inteligente y como un producto agregado podemos
mencionar el involucramiento de un grupo de alumnos de la carrera de sistemas informáticos los cuales
participaron en la investigación y adquirieron los conocimientos explorados. Por otra parte, los productos
generados en el proyecto, están disponibles para ser utilizados en la etapa de diseño y desarrollo del software.
PLANTEAMIENTO DEL PROBLEMA
DEFINICIÓN DEL PROBLEMA
Este proyecto de investigación surge motivado por la necesidad de una metodología complementaria para la
enseñanza y el aprendizaje de las asignaturas de primer año de la carrera de Ingeniería en Desarrollo de
Software en forma particular “Desarrollo de Lógica de Programación”.
Tanto en la EEI ITCA-FEPADE como en las universidades donde se imparte esta materia o su equivalente se
ha podido ver la dificultad que los estudiantes tienen para aprobar dicha asignatura o comprender
adecuadamente temas específicos base para comprender lógica de programación. Ya que en su preparación
académica anterior cursaban materias totalmente diferentes a este ámbito. Por esta razón, se realizó el análisis
para el diseño de un asesor inteligente (utilizando sistemas inteligentes) que realice la tarea de tutorización
adaptando diferentes modalidades o estrategias de enseñanza. Se ha visto como una alternativa muy útil para
aquellos estudiantes que, en cierto momento requieren un mayor grado de tutorización del tipo uno a uno
(personalizada).
Los avances de la inteligencia artificial en el campo de la educación superior otorgan al profesor y al estudiante
nuevas oportunidades para el proceso educativo y permita al estudiante adquirir competencias que le han sido
difíciles de alcanzar con la educación tradicional. Por lo anterior la tarea de la enseñanza en términos de una
“comunicación del conocimiento” que involucra a un sistema tutor y a un estudiante, el objetivo básico es
adquirir conocimiento de alguna asignatura. Por lo anterior, esta investigación busca en su primera fase, el
análisis y diseño de un sistema de tutorizado que exhiba un comportamiento similar al de un tutor humano, es
decir, que se adapte al comportamiento del estudiante en lugar de ser un modelo rígido. Éste, debería ser capaz
de identificar la forma en que el estudiante está resolviendo el problema y de brindarle ayuda cuando cometa
errores. A su vez debería proveerle el conocimiento que requiera para poder solucionar el problema con
explicaciones en el momento preciso, para que éste tome decisiones y que adicionalmente el sistema podría
aprender de la interacción con el estudiante.
Un sistema de este tipo debe tratar además, los aspectos esenciales de enseñanza-aprendizaje tales como la
forma en que se presentan los conocimientos al estudiante, si predomina la creatividad o si se estimula a la
investigación. Además aspectos como el currículum (aspectos o líneas de acción que guían a los docentes) y
de planificación, ya que los aspectos de currículum involucran la representación, la selección y la secuenciación
del material a ser utilizado, y la planificación se refiere a cómo ese material va a ser presentado.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
177
Desde esta perspectiva, se ha identificado la necesidad de dotar con una nueva herramienta que enriquezca el
uso adecuado de procesos pedagógicos. La selección y secuenciación del currículum para los estudiantes
requiere del uso estos elementos de planificación bastante sofisticados que deben tener en cuenta la teoría de
tutorizado empleada de acuerdo a las necesidades del estudiante.
El fin primordial de esta investigación es la emulación de un tutor humano, pero orientado hacia la psicología
cognitiva, o sea; hacer compatible el funcionamiento de la mente humana al computador y teniendo en cuenta
los estilos más apropiados de enseñanza tales como la instrucción didáctica, el entrenamiento y la enseñanza
tipo socrática que se enfoca en formular preguntas a los estudiantes en vez de darles respuestas, moldeando
una mente inquisitiva y exploradora mediante el sondeo continuo, a través de preguntas sobre un tema.
Debido a la problemática planteada se ha propuesto un sistema para aprendizaje por refuerzo para el
estudiante; ya que justamente el objetivo buscado es que el estudiante le encuentre significado a sus
aprendizajes caracterizados por la exploración de contenidos, el descubrimiento, el planteamiento de
conjeturas, la comprobación de resultados y que supere sus dificultades, incorporando un enfoque nuevo de un
modo significativo y permanente.
El presente proyecto permitirá esclarecer algunas interrogantes respecto a la modalidad de enseñanza de un
sistema tutor inteligente y que no se trata de solo del uso de las computadoras en los procesos de enseñanza
sino que podría ser el medio para un mayor enriquecimiento de la labor educativa y dar solución a los
estudiantes para clases y temas muy numerosos, los cuales no pueden alcanzar con la educación tradicional.
JUSTIFICACIÓN
Se ha observado que en los primeros cursos de la carrera de técnico en ingeniería en sistemas la cantidad de
tutores humanos que orientan a nuestros estudiantes no son los suficientes, además que el tiempo de una clase
teórica o practica para abordar temas complejos tampoco lo es y además existe una gran diferencia entre la
línea de conocimientos base esperados y los conocimientos previos que traen los alumnos.
Se puede revisar a grosso modo también los planteamientos de los criterios de la política educativa donde
también se observa el énfasis en un sistema educativo donde se respete la diversidad y las condiciones
particulares de aprendizaje de cada estudiante pero que en algún momento este aspecto queda colapsado por
la sobredemanda de la educación. Esto último trae, como consecuencia, salones de clase con más de cuarenta
estudiantes para un solo profesor donde encontramos en ocasiones un interés promedio por obtener un título
universitario y por lo cual la enseñanza-aprendizaje se ve afectada.
Un sistema que provea al estudiante de cierta flexibilidad para la elección del tipo de tutorizado más adecuado,
podría ser una solución factible para el problema planteado. Un sistema para tutorizado, no solo debe emular al
tutor humano sino que además debería estar diseñado desde una concepción epistemológica (fundamentos y
178 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
métodos del conocimiento) acerca de lo que significa enseñar lógica computacional en una carrera técnica o de
ingeniería en relación al perfil y la identidad del futuro ingeniero.
Un sistema de este tipo debe proveer algunas características en función de los propósitos por los que el
estudiante recurre a él, tales como:
Diagnostico del estilo de aprendizaje y determinación de la estrategia de enseñanza más adecuada para el
estudiante.
Determinar el estado actual de conocimientos del estudiante en temas específicos.
La perspectiva desde la que se deben impartir los conocimientos a los alumnos.
La forma de adaptación a los conocimientos previos de los alumnos.
Para poder guiar al alumno, el sistema deberá tener “reglas o un protocolo” almacenado para saber que hacer
en casos como:
• El alumno no puede contestar una pregunta que le hace el tutor.
• El alumno contesta en forma incompleta una pregunta que le hace el tutor.
Estas problemáticas de los alumnos deben ser resueltas con un modelado del tutor flexible, lo que es central
para su desarrollo.
El sistema tratará estos aspectos de la siguiente forma:
a) ¿Qué debe hacer el tutor cuando el alumno no puede contestar una pregunta?
El sistema debe poder brindar información acerca del problema como lo hace el humano para que el alumno
pueda continuar desarrollando solo, en forma productiva, pero sin revelar cómo serán los siguientes pasos.
Estos sistemas, deben dar también una respuesta efectiva que ayude a los alumnos a detectar sus propios
errores y corregirlos.
b) ¿Qué debe hacer el tutor cuando el alumno contesta en forma incompleta una pregunta?
En este caso el tutor no debe aceptar como válida solo una respuesta completa. En este caso de respuesta
incompleta debe guiar al alumno para que la complete. A partir de los estudios efectuados a través del
comportamiento de los tutores humanos se observó que éstos utilizan las “pistas” como un método pedagógico
válido, aunque esta táctica es bastante sutil y difícil de implementar en los sistemas tutores inteligentes.
Algunos aspectos del proyecto, que podemos mencionar que traerán beneficio directo a estudiantes y a la
institución son los siguientes:
- Facilitar la tarea de aprendizaje de los estudiantes de la asignatura de Desarrollo de lógica de programación.
- Brindar soluciones de un modo mas personalizado
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
179
- Recomendación de estrategias y guias de acción a seguir para el estudio o resolución de ejercicios
- El uso del sistema inteligente en el proceso enseñanza-aprendizaje brindará al estudiante mejores estrategias
didácticas que no son posibles desarrollar con otros medios.
- Contribuir al desarrollo de las habilidades del pensamiento y el razonamiento de forma progresiva en el
proceso de aprendizaje.
OBJETIVOS
OBJETIVO GENERAL
Diseñar un sistema inteligente de tutorización orientado a la enseñanza- aprendizaje de estudiantes de la
asignatura: Desarrollo de Lógica de Programación.
OBJETIVOS ESPECÍFICOS
- Realizar un análisis de las técnicas de enseñanza y aprendizaje, requerimientos pedagógicos, tecnológicos,
procesos; así como también las reglas que el sistema de tutorización debe poseer.
- Obtener un modelado del sistema aplicando los métodos, las técnicas y herramientas provistas por la
ingeniería de software y la definición del sistema inteligente que mejor se adapte para convertirse en la base del
diseño del sistema.
- Diseñar el sistema inteligente en base al análisis y requerimientos, especificando su arquitectura,
funcionalidad y operación para construir el software a partir de este.
ANTECEDENTES
En la Escuela Especializada ITCA-FEPADE se han dado pasos para implementar soluciones e innovaciones
utilizando la tecnología para impartir enseñanza a los alumnos de dicha institución. Podemos mencionar por
ejemplo la virtualización de algunas asignaturas, donde haciendo uso del Internet, software y materiales
educativos se pueda impartir clases a distancia. También se hace uso de software para la enseñanza asistida
por computadora en algunas asignaturas en las que ya existen programas, aunque limitados, pero diseñados
para evaluar el conocimiento del alumno sobre uno o varios temas en particular.
Sin embargo estas experiencias nos llevan a pensar en algo más grande en el quehacer de la enseñanza
utilizando la tecnología actual, nos lleva a pensar en el desarrollo e implementación de un sistema inteligente
para tutorización que constituya una respuesta ante la problemática que gira en torno de la comprensión
cognoscitiva de conceptos y procedimientos en la enseñanza tradicional.
Para incursionar en este tipo de sistemas, es necesario estudiar a fondo muchos aspectos de la pedagogía,
inclusive la forma de impartir y generar el conocimiento.
Se han encontrado dos posturas para la implementación de los conocimientos: una se basa en la estructura
sintáctica de lo producido por los tutores humanos y la otra en las metas pedagógicas que deben cumplir a fin
180 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
de que el alumno pueda comprender el tema. Utilizando ambas teorías en forma conjunta se logran una serie
de pasos que pueden resumir la forma de impartir los conocimientos así:
• El tutor debe mantener una jerarquía de metas que debe cumplir mientras imparte los conocimientos al
alumno (el cual producirá un resultado que el tutor no puede predecir de antemano).
• El tutor debe poder explicar un mismo concepto de diferentes maneras, así si el alumno no entiende el
concepto, el tutor puede continuar efectuando otro acercamiento al mismo tema, explicando el concepto
para luego continuar, utilizando un método iterativo para profundizar en el concepto cada vez más (paso a
paso) o descartar este acercamiento al tema e intentándolo de otra manera.
En este proyecto no se pretende diseñar un tutor como los que tradicionalmente conocemos (sistemas de
enseñanza asistida por computador), los cuales son herramientas limitadas y carentes de inteligencia, el
sistema a desarrollar debe permitir una tutorizacion inteligente que esté orientado al conocimiento procedural
(descrito en una serie de procedimientos que permiten resolver un problema) con una dimensión dinámica y
adaptativa al escenario actual. Debe combinar la robustez y amigabilidad de la multimedia en los actuales
sistemas e-learning y la sofisticación y complejidad de los sistemas inteligentes de tutorización.
En varias Universidades se están desarrollando proyectos similares como es el caso de la Universidad de
Alcalá: “Sistema Inteligente de Tutorización Avanzado como entrenamiento de los operadores de maquinaria
de la empresa GEKA”, en España; también, en el Laboratorio de Sistemas Inteligentes de la Facultad de
Ingeniería de la Universidad de Buenos Aires donde se desarrolla el “Diseño y evaluación de sistemas
inteligentes tutoriales”.
Al realizar una investigación previa sobre el estudio de sistemas inteligentes en el país, podemos decir que en
El Salvador no existe actualmente ninguna investigación orientada al desarrollo de sistemas inteligentes para
tutorización en materia de lógica computacional. La Escuela Especializada en Ingeniería ITCA-FEPADE, se
encontraría entre las primeras en trabajar en este tipo de proyectos.
MARCO TEÓRICO DE LA INVESTIGACIÓN
En esta línea de investigación se busca definir un marco teórico que sustente el diseño y la evaluación de los
Sistemas Tutores Inteligentes (STI), presentando las diferentes visiones existentes acerca de los diseños y
desarrollos, delineando un marco teórico general con base en la ingeniería de software, los sistemas
inteligentes, la psicología cognitiva y las ciencias de la educación y elaborando una extensión metodológica
específica sobre los aspectos inherentes para el diseño de STI orientados al tutorizado. En este contexto se ha
se ha trabajado en los aspectos metodológicos de diseño, en proponer una arquitectura de STI, en identificar
modelos del estudiante y de selección del tutorizado, se ha investigado en el uso de redes neuronales para
selección del protocolo pedagógico.
Primeramente es necesario establecer la diferencia y su integración en un momento dado de algunos conceptos
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
181
que se mencionan con frecuencia en los proyectos de sistemas inteligentes, hablamos específicamente de la
inteligencia artificial, sistemas expertos y sistemas inteligentes de tutorización.
Inteligencia Artificial (IA)
La inteligencia artificial es un campo de estudio que busca explicar y emular inteligencia, desarrollándola en
términos de procesos computacionales que, si son utilizados correctamente por un programa, puede exhibir un
comportamiento inteligente. Esto es, la inteligencia artificial pretende modelar a través de computadores la
inteligencia del ser humano para resolver problemas de manera inteligente. Esta pretensión se basa en la
experiencia que el hombre ha acumulado en el campo de su acción específica a través del aprendizaje. Las
personas infieren y aprenden, y esto lo convierten en conocimiento que se registra en redes neuronales a través
de interacciones sinápticas. La inteligencia artificial (IA) imita estos aprendizajes del hombre creando modelos
para la solución de problemas en aplicación de elementos de lógica booleana, lógica difusa, cálculo
infinitesimal, teorías de árboles, algoritmos de búsqueda, técnicas de optimización, teorías de aprendizaje,
arquitecturas computacionales y paradigmas para desarrollo de software.
El desarrollo de la IA ha tenido contrastes e históricamente ha tenido épocas de estancamiento. Sobre esto han
influido aspectos como:
Su denominación misma: ¿inteligencia artificial? ¿hombre artificial?
El conocimiento incompleto sobre los procesos mentales del hombre.
Sabemos que pensamos, pero no podemos explicar cómo lo hacemos de manera exacta, ni por qué.
La imposibilidad matemática de expresar en ecuaciones, derivadas, integrales o algoritmos, modelos que
expliquen comportamientos humanos.
La incapacidad de los sistemas de cómputo para almacenar e inferir sobre la amplia gama de posibilidades,
probabilidades, combinaciones y estados que pueden surgir del estudio de un problema cuya solución
requiere del agregado inteligente.
Esta última dificultad se ha venido superando en las últimas décadas con los aportes de la electrónica a la
capacidad de los dispositivos de almacenamiento, la ampliación de la memoria del computador para procesos
más rápidos y con las redes de banda ancha. Con esto países como Japón han retomado las investigaciones
sobre inteligencia artificial.
El propósito de la IA no es la creación de agentes u hombres artificiales, como en la ciencia ficción. Tampoco
intenta crear hombres o artefactos con sus mismas sensibilizaciones. Las propuestas sobre su desarrollo
apuntan a la creación de modelos para soluciones inteligentes de problemas en dominios específicos. El
propósito en realidad es la creación de sistemas inteligentes, empleando este concepto, no en toda su
extensión, sino en lo referente a lo cognitivo.
182 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Sistemas Expertos
Los sistemas expertos son un área de la inteligencia artificial, y sus objetivos tienen que ver con la imitación de
un experto humano en la realización de una tarea específica. Un sistema experto es un programa de
computador que resuelve problemas de manera similar a como lo hace un ser humano. Para esto utiliza el
siguiente modelo:
Almacenamiento de experiencias en una base de conocimientos.
Realización de inferencias sobre esos conocimientos, cuando una situación nueva le llega, o sea, cuando se
le presenta algún problema.
Así proceden los expertos humanos, almacenan información o experiencias y luego las aplican cuando se les
presenta un problema. En universidades de la ciudad de Medellín se han desarrollando proyectos de sistemas
expertos para la solución de problemas específicos. Uno de estos fue un sistema experto que almacenaba a
manera de reglas y proposiciones las normas, experiencias y conocimientos de un abogado, para luego
diagnosticar y dar soluciones en materia de derecho laboral.
Para los propósitos educativos su importancia reside en que un docente es un experto en enseñanza y esto
lleva a que en la construcción de sistemas tutoriales inteligentes sea necesario integrar programas cuyas
arquitecturas sean sistemas expertos. Así un Sistema Tutor Inteligente puede obedecer a la interacción de
varios sistemas expertos.
La dificultad principal reside en el problema de representar el conocimiento del experto. Además del dominio de
conocimiento específico, las estrategias para la resolución de los problemas del experto también deben
capturarse y codificarse de manera conveniente. Es posible que el experto use estas habilidades de manera
inconsciente, por lo que el proceso de formalizar el conocimiento (hacer patente un dominio) es un objetivo que
constituye un reto y que requiere la intervención del ingeniero del conocimiento para poder codificar el
conocimiento del experto.
Sistema Tutor Inteligente (STI)
La necesidad de un cambio positivo hacia una educación activa, participativa y creativa en ingeniería ha sido
señalada en la literatura (Felder y Silverman, 1988; Chi et al., 2001; Atanas 2003, Turns et al., 2005). La nueva
modalidad se concentra en modificar el contexto del aprendizaje a fin de mejorar el ámbito donde se desarrolla
la enseñanza tradicional.
Generalmente, los cursos dados en la Universidad ponen un mayor énfasis en el entendimiento de grandes
cantidades de información en lugar de enfatizar su aplicación a diversos problemas. Los conocimientos
anteriores se controlan a través de cursos previos (pre-requisitos). La tendencia de los cursos tradicionales
universitarios es entregar la misma información de la misma manera a todos los estudiantes. Además de estas
limitaciones, se observa que los estudiantes difieren en sus características personales, en el esfuerzo que
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
183
emplean en cada curso, en el tiempo que le dedican, etc.
La comunidad que trabaja en Inteligencia Artificial en Educación busca ambientes de aprendizaje basados en
computadoras que colaboren y mejoren el proceso de enseñanza/aprendizaje. Los Sistemas Tutoriales
Inteligentes (STIs) son las herramientas mas logradas.
El propósito del STI es presentar un comportamiento similar al de un tutor humano, que se adapte a las
necesidades del estudiante, identificando la forma en que él mismo resuelve un problema para poder brindarle
ayuda cuando cometa errores. Las interacciones entre el alumno y el docente, están enmarcadas en las teorías
de aprendizaje y de enseñanza aplicables a dicha interacción, lo que brinda un marco teórico al problema
citado, donde no solo es importante el conocimiento que debe ser facilitado por el docente hacia el alumno, sino
que cobra importancia la forma en la que éste conocimiento es presentado, ya que se pretende mejorar el
proceso de adquisición y construcción de conocimiento. De este modo, se busca la incorporación de los
métodos y técnicas de enseñanza más eficaces que permitan adaptar el modo de enseñanza a las necesidades
del alumno a fin de mejorar su rendimiento a través de cada clase o “sesión pedagógica”. Cada alumno podrá
elegir entonces la técnica de enseñanza que mejor se adapte a su estilo de aprendizaje en un sistema de tutor
inteligente.
Un tutor inteligente, por lo tanto: “es un sistema de software que utiliza técnicas de inteligencia artificial (IA) para
representar el conocimiento e interactúa con los estudiantes para enseñárselo”.
Un sistema inteligente es capaz de extraer conclusiones sobre el nivel de los estudiantes; permite personalizar
la presentación del material didáctico para diversas necesidades de sus estudiantes. El funcionamiento del
sistema está controlado por un sistema inteligente basado en reglas de producción; el estudiante puede decidir
parte de la secuencia del programa docente, por lo tanto, el sistema ofrece cierto control sobre su propio
proceso de aprendizaje. Estas características aumentan la facilidad de uso del sistema.
Existe un componente que se incorpora a este tipo de sistemas, este es el componente relativo a la formación el
cual reproduce la toma de decisiones y esto conlleva un enfoque psicopedagógico. Para diseñar y desarrollar
estos componentes, se recurre a la ingeniería del conocimiento y las técnicas de inteligencia artificial. De esta
forma se desarrolla un sistema inteligente capaz de reproducir el comportamiento de un tutor real. La
característica fundamental de éstos, es su capacidad de proporcionar el material didáctico adaptándolo a las
capacidades del usuario. Esto se logra mediante el uso de técnicas de inteligencia artificial para reproducir las
decisiones pedagógicas que haya que adoptar de cara a la información que se ha de presentar a cada alumno.
Por otra parte, un sistema inteligente de tutorización debe ser desarrollado para dos tipos de educación: la
educación a distancia y la instrucción individualizada. El aprendizaje a distancia está dirigido a aquellos alumnos
que no pueden asistir a clases en persona. La instrucción individualizada reproduce el comportamiento de un
tutor (la toma de decisiones que hace un maestro cuando supervisa a cada estudiante de forma
184 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
individualizada).1
El diseño de un STI está estrechamente relacionado con la forma en la que se le presentará el dominio de
conocimiento al alumno ya que en el proceso de enseñanza es tan importante el contenido a enseñar como los
recursos que se utilizan en la comunicación de estos conceptos. Por ello debe recurrirse a la utilización de
interfaces multimedia que se adaptan a las características y preferencias de cada alumno.
Con respecto a la creación de ambientes tecnológicos para el aprendizaje pedagógicamente efectivo, los
investigadores han enfilado sus esfuerzos hacia el desarrollo de los Sistemas Tutoriales Inteligentes (STI).
Los STI son ambientes flexibles, interactivos y adaptativos para el aprendizaje. Flexibles porque abren abanicos
de posibilidades para las navegaciones de los estudiantes. Interactivos porque los canales para la comunicación
pueden permitir cruce de ideas del sistema tutor hacia el estudiante y de éste hacia el sistema, en un dialogo.
Adaptativos porque sobre la marcha el sistema puede cambiar las estrategias de enseñanza, variando los
ejemplos, rompiendo las secuencias, demostrando imposibilidades y evidenciado equivocaciones a partir de
casos concretos.
El software educativo tradicional está basado en multimedia y programación tradicional y es como un libro,
estático y sin interacción. En cambio, estos tutoriales son como un profesor en plena acción de clase,
estratégicos, inteligentes e interactivos.
Los STI actúan de manera inteligente, como un profesor, en analogía con las actividades y expresiones que se
desprenden de las conexiones sinápticas entre las neuronas del cerebro, cuyas acciones se integran en una
compleja y extensa red de impulsos.2 La estructura general de un STI con la división de los sub módulos en
funciones específicas (Figuras 1 y 2) soporta una configuración distribuida.
Figura 1: Estructura clásica de un Sistema Tutor Inteligente propuesta por Carbonell (1970).
El Módulo Tutor del STI define y aplica una estrategia pedagógica de enseñanza, contiene los objetivos a ser
alcanzados y los planes utilizados para alcanzarlos. Selecciona los problemas, monitorea el desempeño, provee
1 Articulo. Universidad de Granada, Oficina Virtual, 20-10-2008
2 Articulo. “Sistemas Tutoriales Inteligentes, un aporte de la inteligencia artificial para la mediación pedagógica”por Ing. Eucario Parra Castillón, coordinador de Ingeniería Informática. Fundación Universitaria Católica delNorte. Colombia.
Modulo Dominio Modulo Tutor Modulo Estudiante
Interface
Sistema Tutor Inteligente
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
185
asistencia y selecciona el material de aprendizaje para el estudiante. Integra el conocimiento acerca del método
de enseñanza, las técnicas didácticas y del dominio a ser enseñado. Consta de las siguientes partes:
Protocolos Pedagógicos: almacenados en una base de datos, con un gestor para la misma,
Planificador de Lección: que organiza los contenidos de la misma
Analizador de Perfil: analiza las características del alumno, seleccionando la estrategia pedagógica más
conveniente.
A este módulo le concierne todo lo referente a los problemas en el desarrollo del currículo o el programa de
contenidos y de la forma de enseñar el mismo. Tiene que ver con la selección y la secuencia del material de
enseñanza. Este módulo debe tener las siguientes capacidades:
Controlar el currículo y su secuencia.
Responder a preguntas hechas por el estudiante.
Detectar el tipo y nivel de ayuda al estudiante.
El Módulo Estudiante del STI tiene por objetivo realizar el diagnóstico cognitivo del alumno, y el modelado del
mismo para una adecuada retroalimentación del sistema. Se han planteado para este módulo, dos submodulos,
los cuales permiten almacenar los datos del estudiante en una base de datos, con un gestor para la misma (ver
Figura 2).
Los submodulos son los siguientes:
a) Estilos de aprendizaje: Está compuesto por una base de datos con los estilos de aprendizajes disponibles en
el sistema, los métodos de selección de estilos y las características de cada uno de ellos. Un estilo de
aprendizaje es la forma de clasificar el comportamiento de un estudiante de acuerdo a la manera en que toma la
información, forma las estrategias para aprender, cómo entiende y cómo le gusta analizar la información que
está utilizando para acceder a un conocimiento determinado. En otras palabras, es una forma agrupar o
clasificar un estudiante de acuerdo a un perfil en relación con la información, ya que este estilo evoluciona y
cambia de acuerdo a las variables de entorno y ambientales que afectan al estudiante.
b) Estado de conocimientos: Contiene el mapa de conocimientos obtenido inicialmente a partir del módulo del
dominio y que el actualizador de conocimientos irá modificando progresivamente a través de los resultados
obtenidos en las evaluaciones efectuadas por el módulo del tutor quien le enviará dichos resultados procesados
y
c) Perfil psico-sociológico del estudiante: Para determinar el perfil psico-sociológico se usa la Teoría de las
Inteligencias Múltiples de Gardner (1993, 2001) quien señala no existe una inteligencia única en el ser humano,
sino una diversidad de inteligencias que evidencian las potencialidades y aspectos más significativos de cada
individuo, en función de sus fortalezas y debilidades para la expansión de la inteligencia. Señala que las
186 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
inteligencias trabajan juntas para: 1) resolver problemas cotidianos, 2) crear productos o 3) para ofrecer
servicios dentro del propio ámbito cultural.
Este módulo guarda el progreso del estudiante que interactúa en el sistema experto. Este módulo contiene
todos los datos e información del estudiante, lo cual permite diagnosticar los efectos del proceso de tutoría. Esta
información se puede utilizar para elegir el siguiente tema de enseñanza y la metodología o estrategias
adecuadas.
El Módulo Dominio tiene el objetivo global de almacenar todos los conocimientos dependientes e
independientes del campo de aplicación del STI (ver Figura 2). Básicamente deberá tener los submódulos
siguientes:
Parámetros Básicos del Sistema: los cuales se almacenan en una base de datos.
Conocimientos: son los contenidos que deben cargarse en el sistema, a través de los conceptos, las
preguntas, los ejercicios, los problemas y las relaciones.
Elementos Didácticos: Son las imágenes, videos, sonidos, es decir material multimedia que se requiere
para facilitarle al alumno apropiarse de conocimiento en la sesión pedagógica.
Figura 2: Estructura clásica de un STI, con la identificación de submódulos y el agregado de un móduloevaluador.
Interface
Modulo Evaluador
Modulo del Tutor
Protocolos Pedagógicos
Planificador de la lección
Generadorde
Contenidos
Generadorde Lenguaje
Natural Evaluador
Lista deObjetivos
Analizadorde Perfil Protocolos
Modulo Dominio
ConocimientoElementos
PedagógicosParámetros del
sistema
Modulo del Estudiante
Estilos
Estilos de Estudiante
Estado de Conocimiento
Actualizadorde estados
Stack deObjetivos
UsuariosEstudiantes
Clasificación
Estado actual deconocimientos
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
187
Este modulo tiene toda la cognición expresada en bases de conocimientos. En este componente se va a
encontrar el conocimiento específico y detallado, obtenido de los expertos humanos que llevan años
dedicándose a la tarea cognitiva que se pretende enseñar.
Finalmente, la interface cubre varias actividades en el funcionamiento global del STI, a saber:
Es un conjunto de canales de comunicación entre el estudiante y el sistema.
Es el único medio físico para captar el desarrollo del estudiante, porque a través suyo el sistema percibe
información y respuestas de su usuario.
Las interfaces deben ser dinámicas, dotadas de multimedia, flexibles y de fácil acceso.
Para la interface se siguen los principios del diseño, implementación y evaluación de sistemas computacionales
interactivos para su utilización por seres humanos (HCI: Human Computer Interaction), es decir que estudian y
buscan de poner en práctica procesos orientados a la construcción de interfaces siguiendo el criterio de
usabilidad, es decir con alto grado de facilidad en el uso del sistema interactivo de acuerdo al estándar ISO
92401 de requisitos ergonómicos para el trabajo de oficina con terminales visuales y normas asociadas. Se
basan en aplicación de las leyes gestálticas que están relacionadas con los criterios de Smith y Mosier (1992) y
las normas ISO 9241 (1998) y 11064 (2000) para el diseño de interfaces y ergonomía.
Los primeros STI basados en ambientes Web utilizaban una interface soportada por cualquier explorador que
les proporcionaba la ventaja de convertirlos en multiplataforma y no se requería ninguna instalación de
componentes en el servidor en el que se debía utilizar el STI. Pero, esta aproximación estaba limitada a las
características intrínsecas de la red Internet y de los protocolos que en ésta se desarrollan.
Se puede plantear una estructura distribuida de un STI que siga los patrones de los módulos básicos de un STI
de dos maneras:
a) Una donde todos los módulos se encuentran en uno ó más servidores y el cliente solo posee una pequeña
interface. Este acercamiento puede ser similar a los STI basados en Web, donde solo se tiene la interface
del explorador de Internet y los contenidos están limitados a las posibilidades de visualización de los
navegadores.
b) Otra donde no solo la interface se encuentra en el cliente, sino que también se tiene una parte de los
módulos. Esta forma puede minimizar el tráfico de información en la red y puede aumentar la eficiencia en el
procesamiento de los datos en el cliente, disminuyendo así la carga en los servidores.
A través de la interacción entre los módulos básicos, los STI son capaces de determinar lo que sabe el
estudiante y cómo va en su progreso, por lo que la enseñanza, se puede ajustar según las necesidades del
estudiante, sin la presencia de un tutor humano.
Haciendo un forma compacta para focalizar el aspecto pedagógico, podemos identificar los modelos que esta
188 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
inmersa en los módulos (Ver Figura 3.) y así determinar como interactúa cada uno de ellos para que un sistema
Elevar el nivel de abstracciónEste principio dominante motiva el uso de conceptos reutilizables tales como patrón del software, lenguajes 4GL
o marcos de referencia (frameworks) por nombrar algunos. Esto evita que los ingenieros de software vayan
directamente de los requisitos a la codificación de software a la medida del cliente, sin saber con certeza qué
codificar para satisfacer de la mejor manera los requerimientos y sin comenzar desde un principio pensando en
la reutilización del código. Un alto nivel de abstracción también permite discusiones sobre diversos niveles y
soluciones arquitectónicas. Éstas se pueden acompañar por las representaciones visuales de la arquitectura,
por ejemplo con el lenguaje UML.
Enfocarse en la calidad
El control de calidad no debe realizarse al final de cada iteración, sino en todos los aspectos de la producción.
El aseguramiento de la calidad forma parte del proceso de desarrollo y no de un grupo independiente.
200 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Figura 4. Ciclo de vida del Proceso Unificado Rational
Esfuerzo en actividades según fase del proyectoEl ciclo de vida RUP es una implementación del Desarrollo en espiral. Fue creado ensamblando los elementos
en secuencias semi-ordenadas. El ciclo de vida organiza las tareas en fases e iteraciones. En la Figura 4
muestra cómo varía el esfuerzo asociado a las disciplinas según la fase en la que se encuentre el proyecto
RUP.
Las primeras iteraciones (en las fases de Inicio y Elaboración) se enfocan hacia la comprensión del problema y
la tecnología, la delimitación del ámbito del proyecto, la eliminación de los riesgos críticos, y al establecimiento
de una línea base de la arquitectura. Durante la fase de inicio las iteraciones hacen mayor énfasis en
actividades de modelado del negocio y de requerimientos.
En la fase de elaboración, las iteraciones se orientan al desarrollo de la línea base de la arquitectura, abarcan
más los flujos de trabajo de requerimientos, modelo de negocios (refinamiento), análisis, diseño y una parte de
implementación orientado a la línea base de la arquitectura.
En la fase de construcción, se lleva a cabo la construcción del producto por medio de una serie de iteraciones.
Para cada iteración se selecciona algunos Casos de Uso, se refina su análisis y diseño y se procede a su
implementación y pruebas. Se realiza una pequeña cascada para cada ciclo. Se realizan tantas iteraciones
hasta que se termine la implementación de la nueva versión del producto.
En la fase de transición se pretende garantizar que se tiene un producto preparado para su entrega a la
comunidad de usuarios. Como se puede observar en cada fase participan todas las disciplinas, pero que
dependiendo de la fase el esfuerzo dedicado a una disciplina varía.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
201
4.1 Desarrollo en espiral
El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera vez por Barry Boehm en
1988, utilizado generalmente en la Ingeniería de software. Las actividades de este modelo se conforman en una
espiral, en la que cada bucle o iteración representa un conjunto de actividades (Figura 5). Las actividades no
están fijadas a priori, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el
bucle interior.
Figura 5: Actividades para el desarrollo en espiral
Determinar o fijar objetivos
Fijar también los productos definidos a obtener: requerimientos, especificación, alcances.
Fijar las restricciones.
Identificación de riesgos del proyecto y estrategias alternativas para evitarlos.
Hay algo que solo se hace una vez: planificación inicial o previa.
Análisis del riesgoSe estudian todos los riesgos potenciales y se seleccionan una o varias alternativas propuestas para reducir o
eliminar los riesgos.
Desarrollar, verificar y validar (probar)
Tareas de la actividad propia y de prueba.
Análisis de alternativas e identificación resolución de riesgos.
Dependiendo del resultado de la evaluación de los riesgos, se elige un modelo para el desarrollo, el que
puede ser cualquiera de los otros existentes, como formal, evolutivo, cascada, etc. Así si por ejemplo si
los riesgos en la interfaz de usuario son dominantes, un modelo de desarrollo apropiado podría ser la
construcción de prototipos evolutivos.
Planificación
Revisamos todo lo hecho, evaluándolo, y con ello decidimos si continuamos con las fases siguientes y
202 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
planificamos la próxima actividad.
METODOLOGÍA DE LA INVESTIGACIÓN
En primer lugar es importante mencionar que el ciclo de vida de desarrollo del proyecto se realizará bajo una
estructura de espiral donde en cada proceso se evalúa el diseño en forma reiterada hasta encontrar la que
mejor satisface las especificaciones del problema. El proceso va creciendo en espiral en la medida que cada
diseño evaluado permite generar uno nuevo más evolucionado, completo y preciso, creándose así una
retroalimentación entre las fases del ciclo de vida del sistema.
Fase de investigación de campo y recopilación de requerimientos
En esta fase de la etapa de ejecución del proyecto se realizó un estudio de los avances tecnológicos logrados
en varios países sobre el diseño y desarrollo de sistemas inteligentes (ANEXO 5). Además logró establecer
nexos con investigadores que están desarrollando proyectos similares e otros interesados en aportar sus
conocimientos a este proyecto.
Se realizaron entrevistas a docentes que tengan la mejor calificación en “fomentar el interés en la asignatura por
su importancia en la vida laboral” y que imparten el curso de lógica de programación para tomar como modelo,
luego se analizaron las técnicas o metodologías de enseñanza que han perfeccionado en la exposición de cada
tema, obteniendo algunos modelos para la tutoría, los cuales aun deben ser revisados y estudiados en detalle
con el fin de que se adecuen a las preferencias del estudiante para una determinada sesión pedagógica para
que puedan ser trasladados al sistema inteligente en su fase de desarrollo.
Fase del Análisis
En esta fase, se realizó una lista de requerimientos y evaluaciones para determinar algunos protocolos, reglas,
etc., permitiéndonos hacer un análisis que forje en etapas el diseño de la arquitectura y funcionamiento de tal
forma que se pudieran establecer los requisitos potenciales del sistema y el escenario sobre el cual se enfocan
los principales módulos determinados para el sistema. Además esto permitió definir una plataforma de
desarrollo y las herramientas a utilizar para el diseño y construcción del software.
En esta fase del proyecto, también se evaluó cada factor del aprendizaje, aspectos psicológicos, metodologías
de enseñanza, etc. que fueron necesarios para el diseño de los escenarios de enseñanza y de contenidos que
ocupará el sistema inteligente de tutorización. Las herramientas utilizadas para lo anterior fueron los Casos de
Uso del análisis de esquemas de enseñanza en distintos temas.
En el proceso de análisis de los temas que los alumnos consideran mas complejos en la asignatura, se
incorporó a un grupo de alumnos de nuevo ingreso que recién habían terminado el curso, a los cuales se les
realizó entrevistas para medir ciertos aspectos de su aprendizaje y que así fueran capaces de formular
requerimientos del sistema en base a ese nivel de aprendizaje reflejado y bases teóricas adquiridas. Se realizo
luego una tabulación de los datos obtenidos mediante un instrumento de medición (ANEXO 2) con el que se
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
203
determinaron los temas de la asignatura a los que debería darse más atención en el sistema inteligente para
impartir la tutoría.
Fase de diseño
En esta fase se realizó el diseño de los casos de uso relevantes determinados el la fase de análisis que
establecen un diseño de la enseñanza de lógica de programación para los temas que son realmente
necesarios reforzar mediante el software del sistema inteligente (ANEXO 3).
Para creación del diseño de sistema se hizo uso de lineamientos, métodos y técnicas de la ingeniería de
software como los Casos de Uso, del Lenguaje de Modelado Unificado (UML), Procesos de desarrollo Unificado
de Rational (RUP) y se incorporaron aspectos psicológicos relacionados con la enseñanza-aprendizaje.
Además se identificaron en esta fase los módulos o subsistemas necesarios para que el diseño del sistema
inteligente de tutorización adopte características de inteligencia artificial (ANEXO 4).
Fase de documentación
En el proyecto se involucro a profesores y estudiantes de segundo año de la carrera de sistemas con los cuales
se compartió la búsqueda de información relacionada con los sistemas inteligentes. A los estudiantes se les dio
la inducción necesaria para capacitarlos en el uso del modelado del sistema para que mediante el trabajo en
equipo, se llevara a buen término la ejecución de este proyecto.
Se realizaron reuniones semanales con el equipo de este proyecto de investigación y separadamente con los
alumnos involucrados en el proyecto. Esto permitió monitorear la ejecución del proyecto y evaluar los avances
de este. Se presentó un informe a la Directora de la Escuela de Computación el cual mostraba el avance
logrado en el proyecto, sus limitantes y las posibles formas de solución a estas.
RESULTADOS
En relación con el ciclo de vida del desarrollo del sistema se realizaron las fases correspondientes hasta llegar
al diseño, apegados a los lineamientos que se especifican en la ingeniería de software, que incluyen desde la
obtención de requerimientos, el análisis y el diseño.
En la primera fase (investigación de campo y determinación de requerimientos), se obtuvieron los siguientes
productos o resultados:
1. Informe sobre investigaciones realizadas sobre el tema de sistemas inteligentes de tutorización por
otras entidades educativas.(ANEXO 4)
2. Informe y exposición de los requerimientos del sistema inteligente a diseñar. (ANEXO 6)
En la segunda fase (análisis del sistema y diseño), se presentaron los siguientes resultados:
1. Informe del análisis de temas de la asignatura y requerimientos de funcionalidad. (ANEXO 2)
204 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
2. Informe y exposición a través de diagramas de Casos de Uso del modelo del sistema de enseñanza
según los lineamientos pedagógicos aplicables de los temas seleccionados de la asignatura de
“Desarrollo de lógica de programación”. (ANEXO 3)
3. Cuadro de costos para la construcción del software y sus requerimientos.
En la tercera fase (Documentación del sistema), presentamos los siguientes resultados:
1. Documentación de cada fase de desarrollo del proyecto hasta llegar al diseño que servirán para la
construcción del software.
2. Cronograma para el proyecto para el año 2009 por el equipo de investigación. (ANEXO 1)
3. Informe final del proyecto de investigación.
Algunos de los resultados transversales que se han obtenido son los siguientes:
2. Diseño aplicable en un 40% a cualquier sistema inteligente orientado a otras asignaturas.
3. Docentes con conocimiento sobre la aplicación de sistemas inteligentes en la presentación de temas
relacionados a la lógica de programación de computadoras.
4. Alumnos de segundo año capacitados en el desarrollo de análisis y diseño de sistemas inteligentes
realizados en el año 2009.
5. Docentes con conocimiento base para abordar temas de inteligencia artificial y transmitirlo a los
alumnos durante las clases de asignaturas compatibles.
En cuanto a las dimensiones del presente proyecto de investigación, no debemos olvidar que esta etapa de
ejecución del proyecto se llegará hasta su fase de diseño. La construcción del software y su implementación
estará basada en un cien por ciento en esta fase de diseño y se realizará durante el año 2010, proyectándonos
a obtener los siguientes resultados.
1. Software para el sistema inteligente de tutorización con derechos de propiedad intelectual para la
institución.
2. Docentes y alumnos con bases de conocimiento solidas aplicables al diseño y desarrollo de sistemas
inteligentes.
3. Alumnos con conocimiento base nivelados para iniciar la carrera de ingeniería de desarrollo de software
al utilizar el sistema inteligente desarrollado en este proyecto.
CONCLUSIONES
Como equipo de investigación, se ha considerado que el sistema inteligente que actualmente se encuentra en
sus primeras fase de desarrollo, constituye una herramienta indispensable como complemento de la enseñanza
en el aula y la garantía de la calidad del aprendizaje en asignaturas de nivel superior. El beneficio de tener una
herramienta tecnología de este tipo para la enseñanza de la educación a nivel superior resultaría muy útil para
los estudiantes que presentan distintas características para el aprendizaje o incluso podría ser beneficiosa para
la enseñanza a distancia dada las posibilidades de acceso por Internet.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
205
La línea de investigación de este proyecto buscó definir un marco teórico que sustente el diseño y la evaluación
de un sistema tutor inteligente para la asignatura de Desarrollo de Lógica de programación, presentando las
diferentes visiones existentes acerca de su diseño y desarrollo, planteando un marco teórico general y análisis
de datos con base en la ingeniería de software, los sistemas inteligentes, la psicología cognitiva y las
metodologías de enseñanza-aprendizaje y elaborando una extensión metodológica especifica que cautele los
aspectos para diseño de un sistema inteligente tutorizado para la resolución de problema.
El resultado de esta investigación apunta a que el desarrollo de un tutor inteligente que se ajuste a los estilos de
los estudiantes y que brinde flexibilidad en el aprendizaje se encuentra en al marco de factibilidad y es de gran
representación para las instituciones de educación superior. En esta etapa de diseño del sistema se establece
una marco pedagógico que pretende agrupar a los estudiantes de acuerdo a sus preferencias de aprendizaje y
les ofrece un protocolo pedagógico (estilo de enseñanza) que se ajusta su estilo de aprendizaje.
Entre las líneas de investigación futuras que quedan por definir en la etapa de desarrollo se encuentra la
incidencia del método de tutorizado de acuerdo a las distintas teorías de enseñanza-aprendizaje, por lo que se
debe enfocar la atención al aspecto metodológico de enseñanza aplicable al sistema.
A fin de flexibilizar aun más el estilo de tutorizado debe también enfocarse la atención al papel de tutor
inteligente, lográndose un mejor ajuste a las necesidades del estudiante. Por otra parte, paralelamente se debe
diseñar e integrar los módulos del estudiante centrados en la aproximaciones de la psicología cognitiva y de la
educación, así como los módulos de evaluación para estudiante.
Para concluir, se hace un énfasis en la urgencia del desarrollo de este sistema inteligente de tutorización, pues
permitirá automatizar los procesos de enseñanza y de aprendizaje que, en instituciones de educación técnica
superior como la nuestra (con aulas sobrecargadas de alumnos), se ha convertido en una nueva opción que da
posibilidad de respetar la diversidad y las condiciones individuales de aprendizaje de los estudiantes.
RECOMENDACIONES
Después de confirmar la necesidad del uso de un Sistema Inteligente para tutorizacion para la asignatura de
Desarrollo de lógica de programación en el ITCA-FEPADE, resulta obvio recomendar que se hagan las
gestiones institucionales para iniciar, a la menor brevedad, el proyecto de desarrollo del software para la
institución.
GLOSARIO
IA: Corresponde al concepto de Inteligencia artificial que es un campo de estudio que busca explicar y emular
inteligencia, desarrollándola en términos de procesos computacionales que, si son utilizados correctamente por
un programa, puede exhibir un comportamiento inteligente
206 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
STI: Sistema Tutor Inteligente que presenta un comportamiento similar al de un tutor humano, que se adapte a
las necesidades del estudiante, identificando la forma en que él mismo resuelve un problema para poder
brindarle ayuda cuando cometa errores
Sistemas Expertos: es un software que resuelve problemas o tareas especificas de manera similar a como lo
hace un ser humano
Psicopedagogía: es la ciencia que permite estudiar a la persona y el entorno en el que se desarrolla su
aprendizaje, según el ambiente o en diversos contextos dentro de la Educación
Backpropagation : La propagación hacia atrás de errores o retro propagación (del inglés backpropagation) es
un algoritmo de aprendizaje supervisado que se usa para entrenar redes neuronales artificiales.
Red bayesiana: también llamada red de creencia, es un modelo probabilístico multivariado que relaciona un
conjunto de variables aleatorias mediante un grafo dirigido que indica explícitamente influencia causal. Las
redes bayesianas son una herramienta extremadamente útil en la estimación de probabilidades ante nuevas
evidencias.
Cognoscitivismo: es una teoría del conocimiento que profesa que la comprensión de las cosas se basa en la
percepción de los objetos y de las relaciones e interacciones entre ellos. El cognoscitivismo establece que la
apreciación de la realidad es adecuada cuando se pueden establecer relaciones entre las entidades.
RUP: proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la
metodología estándar más utilizada para el análisis, implementación y documentación de sistemas.
Minimalista: es referido a cualquier cosa que se haya desnudado a lo esencial, despojada de elementos
sobrantes. Es la tendencia a reducir a lo esencial.
REFERENCIAS BIBLIOGRAFICAS
1. [1] Roger S. Pressman (2005). Ingeniería del software. Un enfoque práctico. México, McGraw Hill, Sexta
Edición.
2. [2] Raúl Alarcón (2000). Diseño orientado a objetos con UML. Grupo EIDOS, Madrid España
3. [3] Martin Fowler - Kendall Scott (2000). UML Gota a Gota, Martin Fowler, Prentice-Hall.
4. [4] Stuart J. Russell, Peter Norvig (2004). Inteligencia Artificial. Un enfoque moderno. Prentice-Hall, 2da
Edición
5. [5] Guillermo Romero Jiménez y María Concepción Pérez Ocampo (1999). Sistema Tutorial Inteligente para
el Autoentrenamiento en Sintonización de Sistemas de Control (SITSIN).
6. Revista IIE, Págs. 34 -39.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
207
7. [6] Yharllan Alex Rojas Correa / Teodulo Alfredo Muñoz (2007). Mentor: Sistema Tutorial Inteligente para el
Desarrollo de Habilidades en la Solución de Problemas Matemáticos. Revista de investigación,
Unicversidad La Salle, ISSN:1657-6772, Colombia.
8. [7] Ian Sommerville (2004). Ingenieria del Software. Prentice-Hall, Séptima Edición
9. [8] Horia Nicolai Teodorescu, Junzo Watada, Lakhmi C. Jain (2009). Intelligent Systems and Technologies:
Methods and Applications (Studies in Computational Intelligence). Editorial Springer. Primera Edición.
10. [9] Zulma Cataldi, Fernando J. Lage (2009). Sistemas Tutores Inteligentes: Procedimientos, métodos,
técnicas y herramientas para su creación. Facultad Regional Buenos Aires. Universidad Tecnológica
Nacional, Facultad de Ingeniería. Articulo de Virtual Educa
11. [10] Universidad Tecnológica Nacional de Argentina, SeCyT 2007-2008. Proyecto de Investigación y
Desarrollo: Modelado del tutor basado en redes neuronales para un sistema tutor inteligente. Programa
código 25/C099.
12. [11] García-Martínez, R., Britos, P., Ierache, J., Merlino, H., Ochoa, M. Fernández, E. (2007). Lineas de
Investigacion del Laboratorio de Sistemas Inteligentes. IX Workshop de Investigadores en Ciencias de la
Computación Pág. 109-113
13. [12] Hernández J., Plácido A. y Martín F. Sistemas de Tutor Inteligente para enseñar a resolver problemas
de electrónica. Universidad de las Palmas de G.C., Departamento de Informática.
14. [13] Fernando J. Lage y Zulma Cataldi. Modelo de Sistemas Tutor Inteligente distribuido para educación a
distancia. LIEMA - Laboratorio de Informática Educativa y Medios Audiovisuales. Universidad Tecnológica
Nacional Argentina
15. [14] Martha W. Evens, Stefan Brandle (2001). CIRCSIM-Tutor: An Intelligent Tutoring System Using Natural
Language Dialogue. Midwest AI and Cognitive Science Conference, Oxford OH, pp. 16–23
208 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
ANEXOS
ANEXO No. 1
CRONOGRAMA DE ACTIVIDADES
ACTIVIDADES
MESES
Ma
rAbr
Ma
y
Ju
nJul
Ag
o
Se
pOct
No
v
Di
c
Presentar propuesta de proyecto
Presentación de anteproyecto
Organización del trabajo de investigación
Investigación de campo
Determinación de requerimientos delsistema
Análisis del sistema
Adquisición e instalación de software paramodelar diseño
Diseño del sistema
Ejecución de pruebas al diseño
Documentación del proyecto hasta la fasede diseño
Presentación de informe final del proyectode investigación
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
209
ANEXO No. 2
ESCUELA ESPECIALIZADA EN INGENIERIA ITCA-FEPADE – ESCUELA DE COMPUTACION
Proyecto de Investigación Diseño de Sistema Inteligente para Tutorización
Informe:Análisis de Temas de la Asignatura
Departamento de Ingeniería en Computación
14/10/2009
Este informe refleja el estudio y los instrumentos que muestran el nivel de aprendizaje logrado por una muestrade 20 alumnos de primer año en la carrera de sistemas en ITCA-FEPADE
210 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
INTRODUCCION
Para conocer los temas que los alumnos consideran mas complejos de entender en la asignatura que enseña
lógica de programación, se realizó entrevistas a los alumnos que recién aprobaron el curso.
El instrumento utilizado contempla 60 preguntas cuya respuesta se encuentra en el manual utilizado en el curso
y expuesto en cada clase. Se evaluó en una escala de 1 al 10 en base al criterio de los entrevistadores
(alumnos de segundo año y docente que imparten la asignatura), el nivel de conocimiento sobre cada tema
expuesto en las preguntas. Luego se saco un promedio por pregunta evaluada y se estipuló un criterio para
diferentes rangos de notas obtenidas de la siguiente manera:
Promedio menor o igual a 6 = Critico
Promedio mayor de 6 y menor o igual a 7 = No asimilado
Promedio mayor de 7 y menor o igual a 8 = Deficiente
Promedio mayor de 8 y menor o igual a 9 = Aceptable
Promedio mayor de 9 = Sin dudas del tema
El instrumento y el tabulado de los datos se encuentran a continuación:
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
211
INSTRUMENTO PARA MEDIR EL NIVEL DE APRENDIZAJE DE ALUMNOS QUE HAN CURSADO LAASIGNATURA DE “DESARROLLO DE SISTEMAS I” EQUIVALENTE A “DESARROLLO DE LÓGICA DE
PROGRAMACIÓN”
1. ¿Qué entiende por informática?R/ Es el conjunto de conocimientos científicos y de técnicas que hacen posible el tratamiento automático yracional de la información por medio de computadoras.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
2. Que entiende por información?R/ Es el conjunto de hechos y representaciones acerca de algún conocimiento humano en cualquierdominio. Es el conocimiento relevante producido como resultado del procesamiento de datos y adquiridopor la gente para realzar el entendimiento y cumplir ciertos propósitos.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
3. Que es una computadora?R/ Es un aparato electrónico que ejecuta tareas de una manera veloz y precisa, pero no es capaz derazonar autónomamente. Es la que realizará una serie de instrucciones indicadas por el programador, parala correcta y rápida resolución del problema.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
4. Que entiende por dato?R/ es una representación simbólica (numérica, alfabética, algorítmica etc.), atributo o característica de unaentidad.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
5. ¿A que le llamamos procesamiento de datos?R/ Consiste en la recolección de datos de entrada que son evaluados y ordenados para ser colocados demanera que produzcan información útil.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
6. ¿Qué entiende por programación?R/ Es un proceso para convertir especificaciones generales de un sistema de instrucciones utilizables porla máquina, que produzcan los resultados deseados. Se le conoce también como desarrollo de software.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
7. ¿Qué es un programa?R/ Conjunto de órdenes o instrucciones que la computadora debe seguir para procesar datos y convertirlosen información.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
8. ¿Cuáles son algunas características del software?
• Debe ser confiable y funcional• Advertir errores de entrada obvios y comunes• Documentado adecuadamente• Ser comprensible• Codificado en el lenguaje apropiado
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
9. ¿Qué hace una persona que es programador de computadoras?R/ Es la persona capaz de instruir a la computadora usando algún lenguaje computacional. Un programadordebe ser capaz de analizar un problema hasta entenderlo a la perfección, saber enumerar una serie de pasospor medio de los cuales se va a llegar a la solución del problema, tomando en consideración las capacidades
212 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
de la computadora y conocer un lenguaje de computación adecuado a la solución del problema.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
10. Defina Hardware:R/ Conjunto de materiales físicos que componen el sistema informático, es decir, la propia computadora,los dispositivos externos a la misma, así como todo su material físico relacionado con ellos (conexiones,cables, etc.)
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
11. Defina software:R/ Parte lógica del sistema informático que dota al equipo físico de la capacidad para realizar cualquier tipo detareas. De acuerdo a esta definición, el software integraría al conjunto de programas ejecutables sobre elhardware junto con los documentos y datos asociados a los mismos.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
12. Defina memoria principal o centralR/ Es el elemento encargado de almacenar los programas y los datos necesarios para que el sistemainformático lleve a cabo alguna tarea. Para que un programa pueda ser ejecutado en una computadora, almenos parte del mismo debe encontrarse en memoria principal, junto con los datos que deben serprocesados. Existen dos tipos de memoria principal: RAM, que permite realizar tanto operaciones de lecturacomo de escritura y es volátil (si se desconecta el computador, se pierde toda la información almacenada), y lamemoria ROM, que sólo permite lecturas y es permanente (no necesita ser alimentada con corriente paramantener la información almacenada).
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
13. Defina: MEMORIA SECUNDARIA O AUXILIARR/Está formada por aquellos dispositivos de almacenamiento masivo de información, utilizados para guardardatos e instrucciones para su posterior uso en el sistema informático. Se caracterizan por su gran capacidadde almacenamiento y por ser no volátiles, similar a las memorias ROM
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
14. Defina UNIDAD CENTRAL DE PROCESAMIENTO (CPU)R:/ es el elemento encargado del control y ejecución de las operaciones del sistema. Se puede considerarcomo el cerebro de la computadora y está compuesto a su vez de dos unidades:
La unidad de control que es el elemento encargado de coordinar todas las actividades de lacomputadora. Para ello se comunica con todas las demás unidades e interpreta y ejecutaordenadamente las instrucciones del programa en curso.
La Unidad Aritmético Lógica (ALU) está constituida por los circuitos electrónicos necesarios para larealización de operaciones elementales de tipo aritmético (suma, resta, multiplicación, etc.) y lógico(comparaciones, operación OR, AND, etc.).
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
15. Cuales considera que deben ser los pasos para desarrollar un programa de computadora son:R:/
1. Especificación del programa2. Diseño del programa3. Codificación del programa4. Prueba5. Documentación6. Mantenimiento
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
213
16. Que entiende por “Especificación de programa o del problema”R:/ Es donde se determina qué es lo que debe resolverse con el computador, de qué presupuestos sedebe partir, etc. Puede decirse que es el planteamiento del problema.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
17. Como definiría: Diseño del programaR:/ Es diseñar cualquier sistema nuevo o las aplicaciones que se requieren para satisfacer lasnecesidades.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
18. Cuales son las partes en que se divide un programa según su funcionamiento?R:/
• Operaciones de entrada/salida• Cálculos• Lógica/ comparación• Almacenamiento/ consulta
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
19. A que le llamamos codificación del programa?R:/ Es la generación real del programa con un lenguaje de programación
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
20. Que tipo de errores se espera encontrar cuando hacemos pruebas a un programa de computadora?R:/
a) Errores de sintaxis o de compilaciónb) Errores de ejecuciónc) Errores de lógicad) Errores de especificación.a) Errores de sintaxis o de compilación
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
21. A que nos referimos cuando hablamos de un error de lógica en un programa?R:/ Corresponden a la obtención de resultados que no son correctos y la única manera de detectarlos esrealizando suficientes pruebas del programa. Son los más difíciles de corregir, no sólo por la dificultad dedetectarlos, sino porque se deben a la propia concepción y diseño del programa.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
22. Que entiende por “lenguaje de programación”?R:/ Es un conjunto de instrucciones que pueden ser entendidas y procesadas por el computador y quepermiten lograr diferentes objetivos de carácter tecnológico informático. Son el puente para suplir, a travésdel computador, las diferentes necesidades que tiene el manejo de la información.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
23. A que nos referimos cuando hablamos de un lenguaje de bajo nivel?R:/ Es el tipo de lenguaje que cualquier computadora es capaz de entender. Se dice que los programasescritos en forma de ceros y unos están en lenguaje de máquina, porque esa es la versión del programaque la computadora realmente lee y sigue.
214 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
24. A que nos referimos cuando hablamos de un lenguaje de alto nivel?R:/Son lenguajes de programación que se asemejan a las lenguas humanas usando palabras y frasesfáciles de entender.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
25. Que características tiene el lenguaje de maquina?R/: Es el lenguaje que la computadora entiende, su estructura está totalmente adaptada a los circuitos dela máquina y la programación es tediosa porque los datos se representan por ceros y unos. Es de bajonivel.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
26. Que características tiene el lenguaje ensamblador?R:/Lenguaje de programación de bajo nivel, pero simbólico porque las instrucciones se construyen usandocódigos de tipo mnemotécnico, lo cual facilita la escritura y depuración de los programas pero no losacorta puesto que para cada acción se necesita una instrucción.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
27. Que características tiene el lenguaje de procedimientos?R:/ Son lenguajes de alto nivel similares al habla humana pero requieren cierta capacitación para su uso
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
28. Que es un Lenguajes orientado a problemas (4GL)?R: Lenguajes de programación orientados básicamente a aplicaciones de gestión y bases de datos
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
29. En que consisten los lenguajes del tipo natural?R: Lenguajes orientados a aplicaciones en inteligencia artificial, como lisp y prolog. Dentro de este campodestacan las aplicaciones en sistemas expertos, juegos, visión artificial (Jurasic Park) y robótica.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
30. Que es un compilador de programa?R:/ Es un programa que traduce un programa escrito en un lenguaje de alto nivel, por ejemplo C++, en unprograma en lenguaje de máquina que la computadora es capaz de entender y ejecutar directamente
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
31. Que es un interprete de programa?R:/El Intérprete es el que permite que un programa fuente escrito en un lenguaje vaya traduciéndose yejecutándose directamente sentencia a sentencia por la computadora. Es decir, son aquellos que cuentancon un programa (llamado interpretador) que evalúa y ejecuta cada línea de un programa elaborado.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
32. Cual es la ventaja de un compilador sobre un traductor?R:/Con el compilador, aunque más lenta la traducción, sólo se realiza una vez.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
33. Que entiende por lógica?R:/ Es la capacidad de pensar racionalmente acerca de soluciones alternativas y los resultados deaplicarlas, y por lo tanto, de hacer elecciones inteligentes.
Otras definiciones de Lógica:• Es el estudio crítico del razonamiento y tiene un valor teórico y práctico.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
215
• Es el estudio de los métodos y principios usados al distinguir entre los argumentos correctos (buenos) ylos argumentos incorrectos (malos).• En un sentido amplio, es el estudio del correcto razonamiento.Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
34. Que en una proposición?R:/ Una proposición es una afirmación que puede ser verdadera o falsa. La proposición es la definición, elsignificado de la afirmación; no el arreglo preciso de las palabras para transmitir ese significado.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
35. Cuales operadores del algebra de boole conoce usted? R:/Los operadores del álgebra de Boole pueden representarse de varias formas. A menudo se representansimplemente como AND (Y), OR (O) y NOT (NO).
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
36. Cual es el propósito de usar tablas de verdad en la utilización de la lógica?R:/ Se emplean en lógica para determinar el valor de verdad de una expresión. Sus unidades mínimasse denominan proposiciones atómicas, y en un sistema lógico bivalente tiene dos posibles valores deverdad: verdadero y falso.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
37. Defina que es: VARIABLE?R:/ VARIABLES son zonas de memoria cuyo contenido cambia durante la fase de procesamiento deinformación. Son objetos cuyo valor puede ser modificado a lo largo de la ejecución de un programa.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
38. Que entiende por IDENTIFICADORES utilizado en código de programaciónR: Los IDENTIFICADORES son palabras creadas por los programadores para dar nombre a los objetosy demás elementos que necesitamos declarar en un programa: variables, constantes, tipos, estructurasde datos, archivos, subprogramas, etc.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
39. Defina que es una constanteR:/ Son objetos cuyo valor permanece invariable a lo largo de la ejecución de un programa. Unaconstante es la denominación de un valor concreto, de tal forma que se utiliza su nombre cada vez quese necesita referenciarlo.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
40. Cuales tipos de operadores conoce usted?R:/
a) Aritméticos (su resultado es un número): potencia, * , / , mod, div, + , -b) Relacionales (su resultado es un valor de verdad): =, <, >, <=, >=, <>c) Lógicos o Booleanos (su resultado es un valor de verdad): not, and, ord) Alfanuméricos : + (concatenación)e) Asociativos. El único operador asociativo es el paréntesis ( ) , el cual permite indicar en qué orden
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
41. Que entiende por algoritmo?R:/ Es una serie de operaciones detalladas a ejecutar paso a paso, que conducen a la resolución deproblemas.
216 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
42. Que herramientas usaría usted para representar un algoritmoR:/
Descripción narrada Seudocódigo Diagramas de Flujo Diagramas Nassi Schneiderman
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
43. Que es un diagrama de flujo?R:/ Son la representación gráfica de la solución algorítmica de un problema.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
44. Puede decir tres características de los diagramas de flujo?R:/
1. Todo diagrama debe tener un inicio y un fin, con el objetivo de que pueda ser utilizado comosubmódulo de otro módulo de nivel superior.
2. Las líneas de conexión o flujo deben ser siempre rectas. Además que sean sólo verticales uhorizontales (nunca inclinadas ni cruzarse)
3. Las líneas que enlazan los símbolos entre sí, deben estar todas conectadas. Cada línea o flechadebe entrar en un bloque o en un símbolo
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
45. Cual es la característica principal de los diagramas NASSI SCHNEIDERMANR:/ consta de rectángulos estructurados que nos permiten representar todo el algoritmo dentro delmarco de un rectángulo
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
46. Cual es el orden que se debe llevar a cabo para hacer la resolución de un problema a través de unprograma de computadora?R:/ a. Definición del problema
b. Análisis del problema
c. Diseño del algoritmo
d. Prueba manual del algoritmo
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
47. Mencione cuales son las estructuras básicas en un programa de computaciónR:/
Secuenciales: cuando una instrucción del programa sigue a otra. Constan de Entrada, Proceso ySalida.
Selección o decisión: acciones en las que la ejecución de alguna dependerá de que se cumplan unao varias condiciones. Pueden ser simples, dobles, compuestas y múltiples.
Repetición, Iteración: cuando un proceso se repite en tanto cierta condición sea establecida parafinalizar ese proceso. Estas pueden ser: Mientras (While), Desde/Para (For) y Repetir (Repeat)
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
48. Dentro de la programación que es un bucle?R:/ El bucle, ciclo o lazo, es un segmento de un algoritmo o programa cuyas instrucciones se repiten unnúmero determinado de veces, mientras se cumple una determinada condición específica (existe o esverdadera la condición).
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
217
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
49. Que es un acumulador dentro del código de un programa?R:/ Un acumulador es un campo de memoria que suma sobre sí misma un conjunto de valores para deesta manera tener la suma de todos ellos en una sola variable.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
50. Mencione los tres diferentes tipo de ciclos:R:/
Estructura Desde/Para Estructura Mientras Estructura Repetir
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
51. Sabe cuales son los tres métodos para controlar lo bucles?R:/
1. Bucle controlado por contador (bucle de conteo)2. Bucle Controlado por Condición3. Bucle controlado por Banderas o Interruptores
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
52. Que entiende por “estructuras de datos”R:/ Es una colección de datos que se caracterizan por su organización y las operaciones que sedefinen en ella.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
53. Defina que es un arreglo o ARRAY.R:/ Un arreglo (array) es una colección de datos del mismo tipo, que se almacenan en posicionesconsecutivas de memoria y reciben un nombre común.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
54. Los arreglos se clasifican de acuerdo con el número de dimensiones que tienen. Sabe cuales son lostipo de arrays que hay?R:/
• Unidimensionales (vectores)• Bidimensionales (tablas o matrices)• Multidimensionales (tres o más dimensiones)
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
55. Defina que es una matrizR:/ Una matriz es una tabla con números distribuidos en filas y columnas de forma que todas las filastienen el mismo número de elementos y lo mismo para todas las columnas para datos homogéneos.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
56. Que tipo de matrices conoce usted?R:/ Escalar, Identidad, Rectangular, Transpuesta, Nula, Diagonal, Inversa
218 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
57. Que tipos de ordenamiento de datos conoce usted?
R:/IntercambioSelecciónInserción.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
58. Cuales son los tipos de búsqueda mas comunes que hay?R/: Secuencial y Binaria
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
59. Que es una subrutina o modulo en programación?R:/ Una subrutina es un conjunto de instrucciones de cómputo que realizan una tarea. Un programaprincipal llama a estos módulos a medida que se necesitan.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 10
60. Para que sirven los parámetros en programación?R:/ Son los parámetros que pueden recibir valores pero que no pueden devolverlos.
Analice la respuesta del alumno y especifique nivel: 1 2 3 4 5 6 7 8 9 1
TABULADO DE PUNTAJES OBTENIDOS EN LAS ENTREVISTAS POR ALUMNO Y TEMA
Instrumento para medir el nivel de aprendizaje de alumnos que han cursado la asignatura de
“Desarrollo de sistemas I” equivalente a “Desarrollo de lógica de programación”
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
221
de boole conoce usted? 0 0 0 0 0 0 0 0
36. Cual es el propósito de usartablas de verdad en la utilización dela lógica?
8 7 9 7 8 7 9 8 10
8 10
10
8 10
7 5 8 9 7 8 8,15
37. Defina que es: Variable? 10
10
10
10
10
10
9 6 10
8 8 9 8 9 4 6 10
9 8 9 8,65
38. Que entiende porIDENTIFICADORES utilizado encódigo de programación
7 8 7 6 4 5 6 2 10
8 6 8 6 7 7 3 9 6 1 10
6,30
39. Defina que es una constante 10
10
10
10
10
10
10
2 10
8 8 9 8 10
10
10
8 9 10
10
9,10
40. Cuales tipos de operadoresconoce usted?
8 8 9 9 9 8 8 6 9 6 9 10
5 9 5 8 5 9 2 10
7,60
41. Que entiende por algoritmo? 5 7 8 8 7 6 9 6 10
6 7 9 8 10
10
10
10
9 2 7 7,70
42. Que herramientas usaría ustedpara representar un algoritmo
8 7 9 5 8 9 8 6 9 6 7 8 4 8 6 9 9 9 5 10
7,50
43. Que es un diagrama de flujo? 8 8 7 5 8 9 9 6 9 8 9 9 7 10
7 10
10
9 5 10
8,15
44. Puede decir tres característicasde los diagramas de flujo?
8 7 8 7 9 8 6 6 9 8 8 9 6 10
8 9 9 9 6 6 7,80
45. Cual es la característicaprincipal de los diagramas NASSISCHNEIDERMAN
8 9 6 7 9 7 10
6 9 6 8 10
8 7 9 8 10
9 2 4 7,60
TEMA
ALU
MN
O 1
ALU
MN
O 2
ALU
MN
O 3
ALU
MN
O 4
ALU
MN
O 5
ALU
MN
O 6
ALU
MN
O 7
ALU
MN
O 8
ALU
MN
O 9
ALU
MN
O 10
ALU
MN
O 11
ALU
MN
O 12
ALU
MN
O 13
ALU
MN
O 14
ALU
MN
O 15
ALU
MN
O 16
ALU
MN
O 17
ALU
MN
O 18
ALU
MN
O 19
ALU
MN
O 20
PRO
MED
IO
46. Cual es el orden que se debellevar a cabo para hacer laresolución de un problema a travésde un programa de computadora?
9 6 7 8 9 7 8 6 10
8 9 6 6 10
8 8 9 9 10
9 8,10
47. Mencione cuales son lasestructuras básicas en un programade computación
4 6 5 8 8 7 6 2 10
8 8 7 5 8 4 7 6 9 8 5 6,55
48. Dentro de la programación quees un bucle?
8 7 8 9 9 8 9 6 10
8 10
10
8 10
9 10
10
9 9 7 8,70
49. Que es un acumulador dentro 8 9 7 8 9 8 1 6 9 8 9 9 8 1 1 9 1 9 9 1 8,75
222 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
del código de un programa? 0 0 0 0 0
50. Mencione los tres diferentes tipode ciclos repetitivos
7 8 6 9 8 9 9 6 10
8 9 10
10
10
5 10
10
9 10
8 8,55
51. Sabe cuales son los tresmétodos para controlar lo bucles?
8 5 8 7 9 8 9 2 9 8 8 9 3 9 5 8 8 9 8 9 7,45
52. Que entiende por “estructurasde datos”
9 7 5 8 6 6 8 2 9 4 8 8 4 8 3 1 8 6 5 9 6,20
53. Defina que es un arreglo oARRAY.
4 6 8 6 7 5 9 2 10
8 8 8 8 7 5 8 8 9 4 8 6,90
54. Los arreglos se clasifican deacuerdo con el número dedimensiones que tienen. Sabecuales son los tipo de arrays quehay?
8 6 9 5 6 8 8 2 10
8 8 9 2 9 5 7 5 9 1 9 6,70
55. Defina que es una matriz 8 7 9 6 5 8 9 6 9 8 8 9 7 9 1 9 10
9 1 10
7,40
56. Que tipo de matrices conoceusted?
9 7 6 5 9 8 2 6 6 8 7 10
1 8 3 6 8 9 3 10
6,55
57. Que tipos de ordenamiento dedatos conoce usted?
7 6 8 5 5 4 5 6 1 8 8 1 1 6 2 6 7 6 1 5 4,90
58. Cuales son los tipos debúsqueda mas comunes que hay?
6 5 4 1 5 6 5 2 5 6 6 1 1 6 3 1 6 6 1 4 4,00
59. Que es una subrutina o moduloen programación?
9 8 7 8 6 8 10
2 9 5 7 10
1 10
8 7 8 9 1 10
7,15
60. Para que sirven los parámetrosen programación?
2 4 2 7 6 8 5 2 5 4 7 2 1 7 2 9 5 6 1 2 4,35
TABULADO DE DIAGNOSTICOS OBTENIDOS EN LAS ENTREVISTAS POR ALUMNO
TEMA NOTA ↑ DIAGNOSTICO
58. Cuales son los tipos de búsqueda mas comunes que hay? 4 CRITICO
60. Para que sirven los parámetros en programación? 4,35 CRITICO
57. Que tipos de ordenamiento de datos conoce usted? 4,9 CRITICO
29. En que consisten los lenguajes del tipo natural? 5,1 CRITICO
28. Que es un Lenguajes orientado a problemas (4GL)? 5,3 CRITICO
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
223
27. Que características tiene el lenguaje de procedimientos? 5,55 CRITICO
34. Que en una proposición? 5,75 CRITICO
32. Cual es la ventaja de un compilador sobre un traductor? 5,8 CRITICO
52. Que entiende por “estructuras de datos” 6,2 NO ASIMILADO
38. Que entiende por IDENTIFICADORES utilizado en código deprogramación 6,3 NO ASIMILADO
26. Que características tiene el lenguaje ensamblador? 6,5 NO ASIMILADO
47. Mencione cuales son las estructuras básicas en un programa decomputación 6,55 NO ASIMILADO
56. Que tipo de matrices conoce usted? 6,55 NO ASIMILADO
18. Cuales son las partes en que se divide un programa según sufuncionamiento? 6,65 NO ASIMILADO
54. Los arreglos se clasifican de acuerdo con el número de dimensiones quetienen. Sabe cuales son los tipo de arrays que hay? 6,7 NO ASIMILADO
53. Defina que es un arreglo o ARRAY. 6,9 NO ASIMILADO
8. ¿Cuáles son algunas características del software? 7,05 DEFICIENTE
2. Que entiende por información? 7,1 DEFICIENTE
59. Que es una subrutina o modulo en programación? 7,15 DEFICIENTE
1. ¿Qué entiende por informática? 7,25 DEFICIENTE
23. A que nos referimos cuando hablamos de un lenguaje de bajo nivel? 7,25 DEFICIENTE
31. Que es un interprete de programa? 7,3 DEFICIENTE
33. Que entiende por lógica? 7,3 DEFICIENTE
7. ¿Qué es un programa? 7,4 DEFICIENTE
TEMA NOTA ↑ DIAGNOSTICO
20. Que tipo de errores se espera encontrar cuando hacemos pruebas a unprograma de computadora? 7,4 DEFICIENTE
24. A que nos referimos cuando hablamos de un lenguaje de alto nivel? 7,4 DEFICIENTE
55. Defina que es una matriz 7,4 DEFICIENTE
51. Sabe cuales son los tres métodos para controlar lo bucles? 7,45 DEFICIENTE
224 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
6. ¿Qué entiende por programación? 7,5 DEFICIENTE
42. Que herramientas usaría usted para representar un algoritmo 7,5 DEFICIENTE
15. Cuales considera que deben ser los pasos para desarrollar un programade computadora 7,55 DEFICIENTE
13. Defina: MEMORIA SECUNDARIA O AUXILIAR 7,6 DEFICIENTE
40. Cuales tipos de operadores conoce usted? 7,6 DEFICIENTE
45. Cual es la característica principal de los diagramas NASSISCHNEIDERMAN 7,6 DEFICIENTE
16. Que entiende por “Especificación de programa o del problema” 7,65 DEFICIENTE
12. Defina memoria principal o central 7,7 DEFICIENTE
14. Defina UNIDAD CENTRAL DE PROCESAMIENTO (CPU) 7,7 DEFICIENTE
41. Que entiende por algoritmo? 7,7 DEFICIENTE
44. Puede decir tres características de los diagramas de flujo? 7,8 DEFICIENTE
4. Que entiende por dato? 7,95 DEFICIENTE
21. A que nos referimos cuando hablamos de un error de lógica en unprograma? 7,95 DEFICIENTE
17. Como definiría: Diseño del programa 8,05 ACEPTABLE
30. Que es un compilador de programa? 8,1 ACEPTABLE
46. Cual es el orden que se debe llevar a cabo para hacer la resolución deun problema a través de un programa de computadora? 8,1 ACEPTABLE
5. ¿A que le llamamos procesamiento de datos? 8,15 ACEPTABLE
36. Cual es el propósito de usar tablas de verdad en la utilización de lalógica? 8,15 ACEPTABLE
43. Que es un diagrama de flujo? 8,15 ACEPTABLE
9. ¿Qué hace una persona que es programador de computadoras? 8,2 ACEPTABLE
35. Cuales operadores del algebra de boole conoce usted? 8,2 ACEPTABLE
TEMA NOTA ↑ DIAGNOSTICO
3. Que es una computadora? 8,35 ACEPTABLE
19. A que le llamamos codificación del programa? 8,5 ACEPTABLE
50. Mencione los tres diferentes tipo de ciclos repetitivos 8,55 ACEPTABLE
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
225
22. Que entiende por “lenguaje de programación”? 8,6 ACEPTABLE
37. Defina que es: VARIABLE? 8,65 ACEPTABLE
48. Dentro de la programación que es un bucle? 8,7 ACEPTABLE
49. Que es un acumulador dentro del código de un programa? 8,75 ACEPTABLE
25. Que características tiene el lenguaje de maquina? 8,8 ACEPTABLE
39. Defina que es una constante 9,1 BIEN COMPRENDIDO
10. Defina Hardware: 9,4 BIEN COMPRENDIDO
11. Defina software: 9,45 BIEN COMPRENDIDO
10 SIN DUDAS DEL TEMA
226 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
ANEXO No. 3
INFORME:
IDENTIFICACIÓN DE CASOS DE USO EN LA FASE DEL DISEÑO DEL SISTEMA
Los Casos de Uso del análisis nos permiten visualizar en forma detallada cada tema y contenido que ha de ser
impartido en la asignatura de “Desarrollo de Lógica de Programación”. Como consecuencia es fácil visualizar
los módulos que el nuevo sistema debe especificar en su diseño y también permite depurar y seleccionar solo
los temas que realmente son necesarios para enseñar lógica de programación de computadora. Esto puede
disminuir o aumentar la cantidad de temas a impartir en el nuevo sistema a desarrollar, en nuestro caso, el
sistema tutor inteligente virtual.
Después de hacer este análisis, los siguientes temas serán tratados en diferentes modelados del diseño del
sistema.
1. Enseñar los conceptos básicos de programación
2. Utilizar algoritmos para resolver problemas
3. Estructurar pseudocódigo para resolver problemas
4. Utilizar la lógica booleana
5. Conocer la jerarquía de los operadores
6. Utilizar diagramas de flujo para resolución de problemas
7. Aplicar estructuras secuenciales, de control y cíclicas en la programación
8. Manejar arreglos y matrices
9. Enseñar como descomponer un problema en subproblemas
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
227
Nombre del Caso deUso 1
Enseñar conceptos básicos de programación
Versión 1.0 Fecha: 11/12/2010
Actores Estudiante, Docente
Objetivos Asociados Explicar los conceptos básicos de lógica de programación que el alumno debede conocer para el desarrollo mental sobre programación.
Descripción Reunir información acerca de los conceptos básicos de programación quepermita dar una explicación clara para que el estudiante conozca losprincipales conceptos de programación.
Precondición Ningún caso de uso interno.
Flujo Normal (eventos) Paso Acción
1 El docente explica el concepto de Hardware y Software y la utilidad que
tiene el software (S1)
2 El docente explica el concepto de lógica (S2)
3 El docente explica el concepto de programa de computadoras (S3)
4 El docente explica el concepto de lógica de Programación (S4)
5 El docente explica el concepto de datos (S5)
6 El docente explica el concepto de Procesamiento de datos (S6)
7 El docente explica el concepto de Unidad Central de procesamiento
(S7)
8 El docente explica la lógica del proceso general de un programa de
computadora (S8)
9 El docente explica el concepto de Lenguaje de Programación (S9)
10 El docente explica las generaciones de los lenguajes de programación
(S10)
11 El docente explica el concepto de Interprete de programa (S11)
12 El docente explica el concepto de Compilador de Programa (S12)
13 El docente explica el concepto de Linker (Enlazador)(S13)
14 El docente explica los Lenguajes de Programación que utilizan
interprete (S14)
15 El docente explica los Lenguajes de Programación que utilizan
compilador (S15)
16 El docente explica el concepto de Código Fuente (S16)
17 El docente explica el concepto de Código Objeto (S17)
18 El docente explica el concepto de errores en un programa (S18)
19 El docente explica el concepto de Depuración (S19)
20 El docente explica el concepto de Portabilidad (S20)
21 El docente explica la funciones que realiza un programador (S21)
228 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Nombre del Caso deUso 1
Enseñar conceptos básicos de programación
Post-Condición Caso de uso: “Enseñar conceptos para desarrollar la lógica”
Flujos Alternos (E) Paso Acción
1 Software: son las instrucciones electrónicas que van a indicar alordenador que es lo que tiene que hacer. También se puede decirque son los programas usados para dirigir las funciones de unsistema de computación o un hardware.
Hardware: se refiere a todos los dispositivos y componentes físicosque realizan las tareas de entrada y salida, en el caso de unacomputadora personal serían los discos, unidades de disco, monitor,teclado y el microprocesador, etc.
2 Lógica: es ciencia de relaciones porque estudia el pensamiento. Lalógica es una ciencia, que estudia el lenguaje científico, suplanteamiento, su organización en entidades jerárquicas, y losmétodos para analizar toda forma escrita de dicho lenguaje.
3 Programa de Computadora: Conjunto de instrucciones ordenadascorrectamente que permiten realizar una tarea o trabajo específico.
4 Lógica consiste en la aplicación del corpus de conocimiento sobrelógica para el diseño de lenguajes de programación
5 Los datos son símbolos que describen condiciones, hechos,situaciones o valores. Los datos se caracterizan por no contenerninguna información. Un dato puede significar un número, una letra,un signo ortográfico o cualquier símbolo que represente unacantidad, una medida, una palabra o una descripción.
6 El Procesamiento de Datos es definido como la técnica que consisteen la recolección de los datos primarios de entrada, los cuales sonevaluados y ordenados, para obtener información útil, que luegoserán analizados por el usuario final, para que pueda tomar lasdecisiones o realizar las acciones que estime conveniente.
7 Unidad Central de Procesamiento: Se podría definir como el cerebrodel ordenador), este dispositivo es el que se ocupa de controlar ygobernar el ordenador. Este consiste en un circuito microscópicoque interpreta y ejecuta las instrucciones de los programasalmacenados en memoria.
9 Lenguaje de Programación: Es aquel elemento dentro de lainformática que nos permite crear programas mediante un conjuntode instrucciones, operadores y reglas de sintaxis.
Nombre del Caso deUso 1
Enseñar conceptos básicos de programación
10 Las generaciones de los Lenguajes de Programación son:
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
229
Lenguaje de primera generación
o Lo constituyen los lenguajes maquina.o Estos se consideran como de bajo nivel por que no
existe un programa de codificación menoscomplicado que el que utiliza los símbolos binarios 1y 0.
o ASCII, utiliza ceros y unos para representar letrasdel alfabeto.
o Como este es el lenguaje del CPU, los archivos detexto traducidos a los grupos binarios ASCII puedenleerse por casi cualquier plataforma de sistemas decomputadoras.
Lenguaje de segunda generación
o A estos se les denominó lenguaje ensamblador.o Los lenguajes ensambladores usan códigos como a
para agregar o mvc para mover, y asísucesivamente.
o Los programas de software de sistemas tales comolos sistemas operativos y los programas de utilidadse escriben con frecuencia en un lenguajeensamblador.
Lenguaje de tercera generación
o Estos son más fáciles de aprender y usar que loslenguajes maquina y el lenguaje ensamblador, puessu similitud con la comunicación y comprensiónhumana cotidiana es mayor.
o Enunciados, Print, Total sales, Read normal Pay etc.o Aunque son más fáciles de programar, no son tan
eficientes en términos de rapidez operacional ymemoria.
Lenguaje de cuarta generación
o Son lenguajes que se relacionan menos conprocedimientos y que son aun más parecidos alingles que los lenguajes de tercera generación.
o Algunas características incluyen capacidades deconsulta y base de datos, de creación de códigos ycapacidades gráficas.
11 Intérprete de Programa: es el que realiza un análisis de unaaplicación escrita en un lenguaje no-máquina (fácil de entender ytrabajar con él) y lo convierte en lenguaje máquina entendible por elordenador.
230 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Nombre del Caso deUso 1
Enseñar conceptos básicos de programación
12 Compilador de un Programa: es un programa que se encarga detraducir los programas escritos por el programador en lenguaje dealto nivel (entendible por el ser humano) a un lenguaje de bajo nivelque es el comprensible por la máquina y que, de esta manera,permite que pueda ser ejecutado por la computadora.
13 Linker: En programación, un enlazador es un módulo o programaque junta los ficheros de código objetos (generados en la primerparte de la compilación), la información de todos los recursosnecesarios, elimina los recursos que no se necesitan y enlaza elcódigo objeto con sus bibliotecas.
14 Los siguientes Lenguajes de Programación que utilizan intérprete.
APL JAVA LISP Prolog Rexx Smalltalk SNOBOL
15 Los siguientes Lenguajes de Programación que utilizancompiladores.
Pascal Cobol Fortran Ada Modula 2 C , C++
16 El Código Fuente es un conjunto de líneas que conforman un bloquede texto, escrito según las reglas sintácticas de algún lenguaje deprogramación destinado a ser legible por humanos.
17 Código generado por un compilador o un ensamblador traducido porun código fuente de un programa, es el resultado de la compilacióndel código fuente.
18 Es el resultado de un fallo o deficiencia durante el proceso decreación de programas de computadora. Pueden deberse a palabrasreservadas mal escritas, expresiones erróneas o incompletas,variables que no existen, etc.
19 Depurar un programa significa librarlo de errores e inconvenientesmás o menos graves, que con frecuencia es un proceso mucho máscostoso y arduo de lo que pudiera parecer a primera vista, enespecial en programas grandes y complejos.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
231
20 La portabilidad, en informática, se refiere a la capacidad de unprograma o sistema de ejecutarse en diferentes plataformas oarquitecturas con mínimas modificaciones. La portabilidad es mayorcuanto menor es su dependencia del software de plataforma.
Nombre del Caso deUso 1
Enseñar conceptos básicos de programación
21 Analiza programas de baja y mediana complejidad. Diseña programas de baja y mediana complejidad. Elabora programas de baja y mediana complejidad. Mantiene programas de baja y mediana complejidad. Implanta programas de baja y mediana complejidad. Documenta los programas de computación de acuerdo con las
normas establecidas. Recolecta información del usuario sobre sus necesidades. Asiste a usuarios finales en el uso de los programas. Diseña pruebas de validación para los programas. Ejecuta pruebas de validación para los programas. Realiza respaldo de la información bajo su responsabilidad. Documenta los trabajos realizados. Participa en reuniones técnicas. Cumple con las normas, lineamientos y estándares establecidos
por la unidad para el desarrollo de programas decomputación.
Cumple con las normas y procedimientos en materia deseguridad integral, establecidos por la organización.
Mantiene en orden equipo y sitio de trabajo, reportandocualquier anomalía.
Elabora informes periódicos de las actividades realizadas. Realiza cualquier otra tarea afín que le sea asignada.
Observaciones
Nombre del Caso de Uso 2 Utilizar algoritmos para resolver problemas
Actores Estudiante, Docente
Descripción Enseñar que es un algoritmo y su estructura atreves de ejemplos yejercicios
Flujo Normal (eventos) Paso Acción
1 El docente enseña el concepto de algoritmo.(S1)
2 El docente muestra un ejemplo básico de algoritmo. (S2)
3 El docente explica que es una variable.(S3)
232 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
4 El docente muestra un ejemplo básico de algoritmo utilizandovariables.(S4)
5 El docente enseña las estructuras de algoritmos selectivas yrepetitivas. (S5)
6 El docente muestra un ejemplo de las estructuras de algoritmosselectivas y repetitivas. (S6)
7 El docente proporciona ejercicios al alumno. (S7)
Sub-Flujos (S) o escenarios 1 Es una lista bien definida, ordenada y finita de operaciones quepermite hallar la solución a un problema. Los elementos básicos detodo algoritmo son:
- Entrada: Son los elementos indispensables que se necesitaconocer para dar solución a un problema.
- Proceso: Es la fase en que los datos de entrada sufren loscambios necesarios para darle solución al problema.
- Salida: El resultado de los datos procesados (solución delproblema), estos datos ahora son llamados información
2 Problema: Se desea calcular la suma de 1800 y 5644.
Paso 1: Identificar los elementos de entrada.
- Entrada: 1800 y 5644.
Paso 2: Establecer los cambios que los datos de entrada debensufrir para darle solución al problema
- Proceso: 1800 + 5644.
Paso 3: Mostrar la solución
- Salida: 7444.
Nombre del Caso de Uso 2 Utilizar algoritmos para resolver problemas
3 Variable: En programación, las variables son estructuras de datosque, como su nombre indica, pueden cambiar de contenido a lolargo de la ejecución de un programa. Una variable corresponde aun área reservada en la memoria principal del ordenador pudiendoser de longitud:
Fija.- Cuando el tamaño de la misma no variará a lo largo de laejecución del programa. Todas las variables, sean del tipo que seantienen longitud fija.
Variable.- Cuando el tamaño de la misma puede variar a lo largo dela ejecución. Típicamente colecciones de datos.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
233
4 Problema: Se desea calcular la suma de dos números dados por elusuario del sistema.
Paso 1: Identificar los elementos de entrada y solicitarlos al usuario.
- Entrada: a y b.
Paso 2: Establecer los cambios que los datos de entrada debensufrir para darle solución al problema y asignar la solución a unavariable.
- Proceso: c = a + b.
Paso 3: Mostrar la solución
- Salida: c.
5
Estructura Selectiva: Las estructuras condicionales comparan unavariable contra otro / s valor / es, para que en base al resultado deesta comparación, se siga un curso de acción dentro del programa.Existen tres tipos básicos:
- Simples: Ocurren cuando únicamente se realizaran acciones sila condición establecida se cumple.
- Dobles: Ocurren cuando se realizaran acciones si la condiciónestablecida se cumple o no se cumple.
- Múltiples: Las estructuras de comparación múltiples, son tomasde decisión especializadas que permiten comparar una variablecontra distintos posibles resultados, ejecutando para cada caso unaserie de instrucciones específicas.
Estructuras de Repetición: Son operaciones que se debenejecutar un número repetido de veces. El conjunto de instruccionesque se ejecuta repetidamente cierto número de veces, se llamaCiclo, Bucle o Lazo.
- Iteración es cada una de las diferentes pasadas o ejecucionesde todas las instrucciones contenidas en el bucle.
Nombre del Caso de Uso 2 Utilizar algoritmos para resolver problemas
6 Problema 1: Se desea mostrar el nombre del día de la semanacuando el usuario digite el numero del día de la semanacorrespondiente.
Datos de Entrada: numero del día.
Leer(numero de día)
234 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Si numero del día es 1 entonces
Escribir (“Lunes”)
Sino Si numero del día es 2 entonces
Escribir (“Martes”)
Sino Si numero del día es 3 entonces
Escribir (“Miércoles”)
Sino Si numero del día es 4 entonces
Escribir (“Jueves”)
Sino Si numero del día es 5 entonces
Escribir (“Viernes”)
Sino Si numero del día es 6 entonces
Escribir (“Sábado”)
Sino Si numero del día es 7 entonces
Escribir (“Domingo”)
Sino
Escribir(“Usted no ha digitado valores del 1 al 7”)
Fin Si
Problema 2: Se desea mostrar los números del 1 al 1,000.
Datos de Entrada: -.
i = 1
Desde que i=1 mientras que i<=1000 hacer
Escribir(i)
i = i + 1
Fin Desde
Nombre del Caso de Uso 2 Utilizar algoritmos para resolver problemas
7 Ejercicios:
1.- Se desea multiplicar 7584 * 55.
2.- Se desea calcular el perímetro de un rectángulo cuya base y
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
235
altura serán dadas por el usuario.
3.- Una tienda de comestibles desea proporcionar ciertosdescuentos a sus clientes y para ello le solicita que realice unsistema que permita hacer un descuento de un 5% del total alas compras de $50 a $75 de 10% del total a las compras de $75a $100 y un 20% del total a las compras de más de $100.
2.- Se le solicita que realice atreves de un algoritmo la tabla demultiplicar del 5.
Nombre del Caso de Uso 3 Estructurar pseudocódigo para resolver problemas
Actores Estudiante, Docente
Descripción Utilizar pseudocódigo atreves de ejemplos y ejercicios
Flujo Normal (eventos) Paso Acción
1 El docente enseña el concepto de pseudocódigo.(S1)
2 El docente enseña al alumno los tipos de datos primitivos. (S2)
3 El docente explica la estructura de un pseudocódigo.(S3)
4 El docente muestra un ejemplo de un pseudocódigo.(S4)
5 El docente proporciona ejercicios al alumno. (S5)
Sub-Flujos (S) o escenarios 1 Es una serie de palabras léxicas y gramaticales referidos a loslenguajes de programación, pero sin llegar a la rigidez de la sintaxisde estos ni a la fluidez del lenguaje coloquial. Esto permite codificarun programa con mayor agilidad que en cualquier lenguaje deprogramación, con la misma validez semántica, normalmente seutiliza en las fases de análisis o diseño de Software, o en el estudiode un algoritmo. Forma parte de las distintas herramientas de laingeniería de software. Es, netamente, lenguaje de tipo informático.
2 Los tipos de datos sirven para delimitar los valores que puedeadoptar una variable, esto se usa generalmente para disminuir loserrores al momento de compilar el código los cuales son:
- Booleano (Lógico): es aquel que puede representar valores delógica binaria, esto es, valores que representen falso o verdadero.
- Integer (Entero): es un tipo de dato que representa a los númerosenteros.
- Float (Real): s un tipo de dato que representa a los númerosdecimales.
- Char (Caracter): Es cualquier signo tipográfico, puede ser unaletra, un número, un signo de puntuación o un espacio (únicamentealmacena un caracter).
- String (Cadena de Caracteres): es una secuencia ordenada de
236 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
longitud arbitraria (aunque finita) de elementos que pertenecen a uncierto alfabeto. En general, una cadena de caracteres es unasucesión de caracteres (letras, números u otros signos o símbolos).
3 Iniciodeclaración de variablesSentencia 1Sentencia 2Sentencia nFin
Nombre del Caso de Uso 3 Estructurar pseudocódigo para resolver problemas
4 Problema 1: Se desea solicitar y mostrar los nombres y edades dedos personas cualesquiera.Datos de Entrada: Nombre y edad.Pseudocódigo:InicioString Nombre1, Nombre2Integer Edad1, Edad2Read (Nombre1)Read (Edad1)Read (Nombre2)Read (Edad2)Print (Nombre1)Print (Edad1)Print (Nombre2)Print (Edad2)FinProblema 2: Se desea calcular la diferencia de edades de dospersonas mostrando los nombres y edades.Datos de Entrada: Nombre y edad.Pseudocódigo:InicioString Nombre1, Nombre2Integer Edad1, Edad2, diferenciaRead (Nombre1)Read (Edad1)Read (Nombre2)Read (Edad2)If Edad1 > Edad2 entoncesDiferencia = Edad1 – Edad2ElseDiferencia = Edad2 – Edad1End IfPrint (Nombre1)Print (Edad1)Print (Nombre2)Print (Edad2)Print (Diferencia)Fin
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
237
Problema 3: Muéstrele al usuario la tabla de multiplicar que él lesolicite.Datos de Entrada: tabla de multiplicar solicitada.Pseudocódigo:InicioInteger tabla, iRead (tabla)For i=1 to i<=10Print(tabla “ x ” i “ = ” i * tabla)NextFin
Nombre del Caso de Uso 3 Estructurar pseudocódigo para resolver problemas
Problema 4 : Realice el pseudocódigo para mostrar la informaciónal usuario del siguiente ejercicio.
Entrada: Sueldo de 50Empleados.Salidas: nuevo sueldo, total de la nomina.Datos Adicionales: Si el sueldo es < 1000 aumento 0.12.
Si el sueldo <= 1000, 25000 aumento 0.10.Si el sueldo es > 25000 aumento 0.08.
Variables:S:SueldoNS: Nuevo SueldoTN: Total de la nominaPseudocódigoInicio
TN =0Desde i = 1 hasta 50 hacer
Leer (S)Si S<1000 entonces
NS = S + (S * 0.12)Sino
Si S < 25000 entoncesNS = S + (S * 0.10)Sino
NS = S + (S * 0.08)Fin si
Fin si
5 Ejercicios:
1.- Se desea multiplicar 7584 * 55 utilizando pseudocódigo.
2.- Se desea calcular el perímetro de un rectángulo cuya base yaltura serán dadas por el usuario utilizando pseudocódigo.
3.- Se desea los números pares que existen entre 1 y 100.
238 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Nombre del Caso de Uso 4 Utilizar la lógica booleana
Actores Estudiante, Docente
Descripción Enseñar a utilizar las reglas que rigen el uso de operadores booleanos ológicos, para aplicarlos en la solución de problemas
Flujo Normal (eventos) Paso Acción
1 El docente enseña el concepto de lógica booleana.(S1)
2 El docente muestra un ejemplo básico de Lógica booleana. (S2)
3 El docente explica las abreviaciones de los 3 elementos básicos dela lógica booleana.(S3)
4 El docente resuelve un ejemplo de lógica booleana.(S4)
5 El docente proporciona ejercicios al alumno. (S5)
Sub-Flujos (S) o escenarios 1 Es una estructura algebraica que rige las operaciones lógicas Y, Oy NO, así como el conjunto de operaciones unión, intersección ycomplemento.
- OR - se suman los conjuntos definidos por dos palabras, es decir,la respuesta será todas aquellas referencias donde aparezcan,indistintamente, UNA U OTRA de las palabras indicadas parabúsqueda.
- AND - se trata de la intersección de los conjuntos definidos por lasdos palabras, es decir, solo aquellas referencias que contenganAMBAS palabras a la vez
- NOT - en este caso, aquellas referencias que tengan la primerpalabra y no la segunda, es decir, un primer conjunto, amputado desu parte común con otro.
2 Verdadero AND Verdadero = VerdaderoVerdadero AND Falso = FalsoFalso AND Verdadero = FalsoFalso AND Falso = FalsoVerdadero OR Verdadero = VerdaderoVerdadero OR Falso = VerdaderoFalso OR Verdadero = VerdaderoFalso OR Falso = FalsoVerdadero OR Verdadero = VerdaderoVerdadero OR Falso = VerdaderoFalso OR Verdadero = VerdaderoFalso OR Falso = FalsoNOT Verdadero = FalsoNOT Falso = Verdadero
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
239
Nombre del Caso de Uso 4 Utilizar la lógica booleana
3Elemento Símbolo
AND ^
OR ||
NOT ¬
4 Ejemplo1: Si A y B son valores verdaderos y P y Q son falsos, cuáles el valor de verdad de la siguiente expresión:
¬ (A or B) ^ (P ^ ¬Q)NOT ( A OR B ) AND ( P AND NOT Q )NOT ( V OR V ) AND ( F AND NOT F)NOT ( V ) AND ( F AND V )F AND FFalsoEjemplo2:Para los siguientes ejemplos T significa verdadero y F falso.
1) (a < b) and (b < c)T and T
TEs lo mismo que si tuviéramos:(10 < 20) and (20 < 25)
T and TT
2) Para el siguiente ejercicio a y b son valores verdaderos y p yq son falsos.¬ (a v b) ^ (p ^ ¬q)
Solución:not (a or b) and (p and not q)not (T or T) and (F and not F)
not (T) and (F and T)F and F
FPara los siguientes ejercicios sea: a = 10, b = 12, c = 13, d =10.3) ((a >= b) or (a < d)) and ((a >= d) and (c > d))
( F or F ) and ( T and T )F and T
F
4) not(a = c) and (c > b)not( F ) and ( T )
T and TT
240 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Nombre del Caso de Uso 4 Utilizar la lógica booleana
5 Ejercicios:
Resuelva las siguientes expresiones tomando en cuenta que A= Verdadero, B = Falso, X = Falso, Y = Verdadero.
1.- (A || X) ^ ¬ (Y ^ A)
2.- ((B || Y) ^ (Y ^ X)) || (¬A^¬B)
Nombre delCaso de Uso 5
Conocer la jerarquía de los operadores
Actores Estudiante, Docente
Descripción Enseñar a utilizar la jerarquía de operadores atreves de ejemplos y ejercicios.
ObjetivosAsociados
Conocer la definición de jerarquía, operadores, los tipos de operadores que existen y adquirirla información necesaria para aplicarla en los diferentes problemas, identificando el orden aseguir al momento de resolver los ejercicios.
Flujo Normal(eventos)
Paso Acción
1 El docente explica en qué consiste la jerarquía de operadores.(S1)
2 El docente explica los operadores aritméticos, relacionales y lógicos. (S2)
3 El docente resuelve problemas utilizando jerarquía de operadores. (S3)
4 El docente proporciona ejercicios al alumno.(S4)
Sub-Flujos (S)o escenarios
1 Un operador es un símbolo o palabra que denota el orden de operación entre uno ovarios valores que son llamados operando.Tipos de Operadores:
a) Aritméticos (su resultado es un número): potencia, * , / , mod, div, + , -b) Relacionales (su resultado es un valor de verdad, booleano): =, <, >, <=, >=, <>c) Lógicos o Booleanos (su resultado es un valor de verdad, booleano): not, and, ord) Alfanuméricos : + (concatenación)e) Asociativos. El único operador asociativo es el paréntesis ( ).
Jerarquía de Operadores:1.- ( )
2.- signo3.- Potencia4.- Producto y división5.- Div6.- Mod7.- Suma y resta8.- Concatenación9.- Relacionales10.- Negación11.- And12.- Or
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
241
2 Operadores Aritméticos.Los operadores aritméticos permiten la realización de operaciones matemáticas con losvalores (variables y constantes).Ejemplos:
Expresión Resultado
10 / 3 3.33
10 \ 3 3
12 % 7 5
4 + 2 * 5 14Prioridad de los Operadores AritméticosTodas las expresiones entre paréntesis se evalúan primero. Las expresiones conparéntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúaprimero. Dentro de una misma expresión los operadores se evalúan en el siguienteorden: Potencia y raíz. *, /: Multiplicación, división.div, mod: división entera, modulo+, -: Suma y resta. Los operadores en una misma expresión con igual nivel de prioridadse evalúan de izquierda a derecha. Ejemplos:
Se utilizan para establecer una relación entre dos valores. Luego compara estosvalores entre si y esta comparación produce un resultado de certeza o falsedad(verdadero o falso). Los operadores relacionales comparan valores del mismo tipo(numéricos o cadenas). Estos tienen el mismo nivel de prioridad en su evaluación.
Los operadores relaciónales tiene menor prioridad que los aritméticos.Tipos de operadores Relacionales
> Mayor que< Menor que> = Mayor o igual que< = Menor o igual que< > Diferente= IgualEjemplos:Si a = 10, b = 20, c = 30a + b > c Falsoa - b < c Verdaderoa - b = c Falsoa * b < > c VerdaderoEjemplos no lógicos:a < b < c10 < 20 < 30T > 5 < 30(no es lógico porque tiene diferentes operandos)
242 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Operadores Lógicos
Estos operadores tienen menor prioridad que los relacionales.Tipos de operadores Lógicos:Not NegaciónAnd YOr O
3 EJEMPLOS DE OPERADORES ARITMÉTICOS.- Se tiene la siguiente expresión aritmética:X = 3 + 4 * 6 / 3 * 2 – 6 * 8 / 3 * 4 + 5 * 3 / 2 * 2Cuál sería el valor que al final quedará almacenado en la variable X?SOLUCIÓNLo primero que haría el computador es recorrer la expresión buscando paréntesis, luegoexpresiones de potencia (o sea el símbolo ^ para resolverlo de primero debido a que este esel operador de mayor peso en la jerarquía).Como no encuentra ninguno, entonces vuelve al principio de la expresión y comienza a buscar(y resolver a medida que los encuentre) multiplicaciones y divisiones.X = 3 + 4 * 6 / 3 * 2 – 6 * 8 / 3 * 4 + 5 * 3 / 2 * 2X = 3 + 24 / 3 * 2 – 6 * 8 / 3 * 4 + 5 * 3 / 2 * 2X = 3 + 8 * 2 – 6 * 8 / 3 * 4 + 5 * 3 / 2 * 2X = 3 + 16 – 6 * 8 / 3 * 4 + 5 * 3 / 2 * 2X = 3 + 16 – 48 / 3 * 4 + 5 * 3 / 2 * 2X = 3 + 16 – 16 * 4 + 5 * 3 / 2 * 2X = 3 + 16 – 64 + 5 * 3 / 2 * 2X = 3 + 16 – 64 + 15 / 2 * 2X = 3 + 16 - 64 + 7.5 * 2X = 3 + 16 – 64 + 15X = 19 – 64 + 15X = -45 + 15X = -30 Respuesta.Con lo cual hayamos que, luego de resuelta la expresión, el valor que quedará almacenadoen la variable X será el valor –30. Es muy importante que cuando tenga que resolver una expresión de estas, lo haga paso a
paso, sin apresuramientos y verá como obtiene, sin mayores tropiezos, el mismoresultado que le daría al computador.
EJEMPLOS DE EXPRESIONES CON OPERADORES RELACIONALES:-Resolver la siguiente expresión, para A=5 y B=16.
(A ^ 2) > (B * 2)(A ^ 2) > (B * 2) El primer paso es sustituir los valores de A y B(5 ^ 2) > (16 * 2) Efectuamos los paréntesis, primero el de más a la izquierda25 > (16 * 2) Resolvemos el paréntesis de la derecha25 > 32 Se evalúa la expresión relacional y el resultado es
Falso RespuestaESCRITURA DE FÓRMULAS:
Las fórmulas matemáticas se deben escribir en formato lineal. Esto obliga al uso frecuente deparéntesis que indiquen el orden de evaluación correcto de las operaciones.
Linealizar una expresión significa, convertir una expresión algebraica en expresión aritméticao algorítmica.EJEMPLOS:Linealizar las siguientes expresiones: (no se olvide que linealizarsignifica escribir una expresión algebraica en una sola línea).
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
243
Sabemos que la división real se representa por / y que usamos paréntesis para que serealicen las operaciones en el orden correcto.Respuesta: X = ( a + b / c ) / ( a / b + c )
4 Ejercicios:
1.- Resolver la formula cuadrática utilizando jerarquía de operadores donde a=2, b=5 yc=25.
Nombre delCaso de Uso 6
Utilizar diagramas de flujo para resolución de problemas.
Actores Estudiante, Docente
ObjetivosAsociados
Conocer la definición de diagramas de flujo y obtener la información necesaria parapoder construir un diagrama de flujo, sus características y el uso adecuado paraaprender lógica de programación.
Descripción Enseñar a utilizar diagramas de flujo atreves de ejemplos y ejercicios
Flujo Normal(eventos)
Paso Acción
1 El docente enseña el concepto de pseudocódigo.(S1)
2 El docente enseña al alumno la simbología del diagrama de flujo. (S2)
3 El docente muestra un ejemplo de un flujograma.(S3)
4 El docente proporciona ejercicios para que los desarrolle el alumno.(S4)
Sub-Flujos (S) oescenarios
1 EL Flujograma o Diagrama de Flujo, consiste en representar gráficamentehechos, situaciones, movimientos o relaciones de todo tipo, por medio desímbolos.
244 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
2 Límites: Este símbolo se usa para identificar el inicio y el fin de un proceso:
Operación: Representa una etapa del proceso. El nombre de la etapa y de quienla ejecuta se registran al interior del rectángulo:
Lectura: Simboliza al dato que se desea conocer del usuario. En su interior seanota el nombre que corresponda:
Impresión: Simboliza al documento resultante de la operación respectiva. En suinterior se anota el nombre que corresponda:
Decisión: Representa al punto del proceso donde se debe tomar una decisión.La pregunta se escribe dentro del rombo. Dos flechas que salen del rombomuestran la dirección del proceso, en función de la respuesta real:
Reglas para estructurar Diagramas de Flujo.
El sentido de un diagrama de flujo generalmente es de arriba hacia abajo. Es un símbolo solo puede entrar una flecha de flujo si varias líneas se
dirigen al mismo símbolo, se deben unir en una sola flecha.
Las líneas de flujo no deben cruzarse, para evitar los cruces se utilizan los
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
245
conectores. De un símbolo excepto el de decisión, solo puede salir una línea de flujo. Los símbolos Terminal, Conector dentro de página y conector fuera de
página solo pueden estar conectados al diagrama por una sola flecha, yaque por su naturaleza es imposible que tenga una entrada y una de salida.
Los émbolos de decisión tendrán siempre una sola flecha de entrada y dos otres flechas de salida según la cantidad de alternativas que se presentan.
Un diagrama de flujo debe estar complemente cerrado, teniendo unacontinuidad de principio a fin, no pueden quedar flechas en el aire nisímbolos sin conexión al diagrama pues el flujo seria interrumpido.
No usar lenguaje de programación dentro de los símbolos. Centrar el diagrama en la página. Las líneas deben ser verticales u horizontales, nunca diagonales.
No cruzar las líneas de flujo empleando los conectores adecuados sin haceruso excesivo de ellos.
No fraccionar el diagrama con el uso excesivo de conectores.
Solo debe llegar una sola línea de flujo a un símbolo. Pero pueden llegarmuchas líneas de flujo a otras líneas.
3 Problema 1: Dados los datos A, B y C que representan números enterosdiferentes, construir un algoritmo para escribir estos números en forma
descendente.
Salida: A, B y C ordenados descendentemente.Entradas: A, B y C.La dinámica del problema es comparar dos números a la vez para conocer cuáles el mayor.
246 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Problema 2: Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12y 15% respectivamente. Desplegar el resultado.
4 Ejercicios:
1.- Hallar la hipotenusa de un triangulo rectángulo utilizando el teorema dePitágoras, el valor de los catetos serán proporcionados por el usuario.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
247
Nombre delCaso de Uso 7
Aplicar estructuras secuenciales, de control y cíclicas en la programación.
Actores Estudiante, Docente
ObjetivosAsociados.
Conocer la definición de las diferentes estructuras que existen en la programación y obtenerla información necesaria para poder construir un algoritmo, utilizando cada una de estasherramientas que facilitan la resolución de problemas para aprender lógica de programación.
Descripción En este contenido se conocerá la forma de resolver problemas utilizando las distintasestructuras secuenciales, cíclicas y de control en la programación.
Flujo Normal(eventos)
Paso Acción
1 El docente explica en qué consiste las estructuras secuenciales.(S1)
2 El docente explica en qué consiste las estructuras de control o condicionales. (S2)
3 El docente explica en qué consiste las estructuras cíclicas.(S3)
4 El docente explica un ejemplo de estructura secuencial tanto en pseudocódigocomo en flujograma. (S4)
5 El docente explica un ejemplo de estructura de control tanto en pseudocódigo comoen flujograma. (S5)
6 El docente explica un ejemplo de estructura cíclica tanto en pseudocódigo como enflujograma. (S6)
7 El docente proporciona ejercicios para que los desarrolle el alumno.(S7)
Nombre delCaso de Uso 7
Aplicar estructuras secuenciales, de control y cíclicas en la programación.
Sub-Flujos(S) oescenarios
1 Estructuras Secuenciales: La estructura secuencial es aquella en la que una acción oinstrucción sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de unaes la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Una estructurasecuencial se representa de la siguiente forma:InicioAccion1Accion2AccionN
FinEjemploCalculo de la suma y producto de dos números. Hallar su algoritmo:SoluciónInicioLeer (A)Leer (B)S A+BP A*BEscribir(s, p)Fin
248 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Acción 1Acción 2Acción nLas tareas suceden de tal modo que la salida de una es la entrada de la siguiente y asísucesivamente hasta el fin del proceso.Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicialización de variables,operaciones de asignación, cálculo, sumarización, etc.Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o programa:_ Definición de variables (Declaración)_ Inicialización de variables._ Lectura de datos_ Cálculos_ SalidaREPRESENTACIÓN GRÁFICA:
FLUJOGRAMAPSEUDOCÓDIGOBegin
Read ( )Acción 1Acción 2………Acción Nprint ( )
endDIAGRAMA N-S
BeginRead ( )Acción 1Acción 2Acción NPrint ( )
End
Acción 1
Acción 2
Acción N
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
249
2 Estructuras de Condicionales: Las estructuras condicionales comparan una variable contraotro(s) valor(es), para que en base al resultado de esta comparación, se siga un curso deacción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otravariable o contra una constante, según se necesite. Existen dos tipos básicos, las simples ylas múltiples.Simples: Las estructuras condicionales simples se les conoce como “Tomas de decisión”.Estas tomas de decisión tienen la siguiente forma:
Si <condición> entoncesAcción(es)
Fin-siDobles: Las estructuras condicionales dobles permiten elegir entre dos opciones oalternativas posibles en función del cumplimiento o no de una determinada condición. Serepresenta de la siguiente forma:Si <condición> entonces
Acción(es)Si no
Acción(es)Fin-siMúltiples: Las estructuras de comparación múltiples, son tomas de decisión especializadasque permiten comparar una variable contra distintos posibles resultados, ejecutando paracada caso una serie de instrucciones específicas. La forma común es la siguiente:
Si <condición> entoncesAcción(es)
si noSi <condición> entonces
Acción(es)si no
.
. Varias condicionesForma General:
Casos VariableOp1: Acción(es)Op2: Acción(es)
.
.OpN: acción
Fin-casos
3 Estructuras Cíclicas: Se llaman problemas repetitivos o cíclicos a aquellos en cuya soluciónes necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidadespecífica de veces. Esta cantidad puede ser fija (previamente determinada por elprogramador) o puede ser variable (estar en función de algún dato dentro del programa).Losciclos se clasifican en:
Ciclos con un Número Determinado de Iteraciones (Hacer-Para)Son aquellos en que el número de iteraciones se conoce antes de ejecutarse el ciclo. Laforma de esta estructura es la siguiente:
Desde Variable = Valor_inicial hasta Valor_FinalAccion1Accion2
.
. .AccionN
Fin DesdeDonde:
Variable : Variable de control del cicloValor_inicial : Limite inferirValor_final : Limite superior
En este ciclo la variable de control toma el valor inicial del ciclo y el ciclo se repite hasta que la
250 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
variable de control llegue al límite superior.
Ciclos con un Numero Indeterminado de Iteraciones (Hacer-Mientras, Repetir-Hasta):Son aquellos en que el número de iteraciones no se conoce con exactitud, ya que esta dadoen función de un dato dentro del programa.Hacer-Mientras: Esta es una estructura que repetirá un proceso durante “N” veces, donde “N”puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debecumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces ya nose ejecuta el proceso. La forma de esta estructura es la siguiente:
Hacer mientras <condición>Accion1Accion2
.
.AccionN
Fin-mientras
Repetir-Hasta: Repite un proceso una cantidad de veces, lo hace hasta que la condición secumple. Esta estructura permite realizar el proceso cuando menos una vez, ya que lacondición se evalúa al final del proceso. La forma de esta estructura es la siguiente:
RepetirAccion1Accion2
.AccionN
Hasta <condición>
4 Problema: Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15%respectivamente. Desplegar el resultado.Pseudocódigo:InicioRead (S1,S2,S3)Aum1 = S1 * 0.10Aum2 = S2 * 0.12Aum3 = S3 * 0.15Sf1 = S1 + Aum1Sf2 = S2 + Aum2Sf3 = S3 + Aum3Print (SF1,SF2,SF3)Fin
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
251
5 Simples:Dado el sueldo de un empleado, se desea encontrar su nuevo sueldo solo si obtiene unaumento del 10% cuando su sueldo es inferior a $600.Pseudocódigo:InicioRead (SI)
If SI <= 600 thenNS = SI + SI * 0.1print ( NS )
End_ifFinFlujograma:
Compuestas:Dado como dato la calificación de un alumno en un examen,escriba “aprobado” si su calificación es mayor o igual que 7 y“Reprobado” en caso contrario.Pseudocódigo:Inicio
Read (cal)
252 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
If cal > =7 then
print (“aprobado”)
else
print (“reprobado”)
End_if
FinFlujograma:
Compuestas:Diseñar un algoritmo tal que dados como datos dos variables de tipo entero, obtenga elresultado de la siguiente función:
Pseudocódigo:
InicioRead(num,v)Switch (num):
Case 1:Val = 100*v
Case 2:Val = 100^v
Case 3:Val = 100/v
Default:Val = 0
End SwitchPrint(Val)Fin
Flujograma:
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
253
6 Cíclicos:(Hacer-Para)
Pseudocódigo:For V = Vi To Vf (incr/decr) Do
Acciones
End_for
DONDE:V : Valor índice (contador)Vi: Valor InicialVf: Valor FinalIncr/decr: Incremento o decremento de la variable índice
Flujograma:
Ejemplo:Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado.
Pseudocódigo:Begin
Suma = 0
For i = 1 to 100 do
Suma = suma + i * i
254 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
End_for
print (suma)
End
Flujograma:
(Hacer-Mientras)Pseudocódigo:While ( Condición) do
Acciones
End_While
Flujograma:
Ejemplo:Elabore pseudocódigo para el caso en que se desean escribir los números del 1 al 100.Pseudocódigo:Inicio
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
255
integer: ii = 1While i <=100 do
print ( i )i = i + 1
End_WhileFinFlujograma:
(Repetir-Hasta)Pseudocódigo:Repeat
Acciones
Until <condición>
Flujograma:
Ejemplo:
Integeri=0
i <= 100
Print(i+1)
i = i + 1
256 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Calcular la suma de los cuadrados de los primeros 100 números enteros y escribir elresultado.Pseudocódigo:
Flujograma:
7 Ejercicios:1.-Determinar la media de ventas de X empleados. Cada empleado hace N ventas, elproceso se debe repetir si el usuario lo requiere.2.- Un vendedor ha hecho una serie de ventas y desea saber cuántas de éstas fueron de$200 o menos; cuántas fueron mayores a 200 pero inferiores a 400 y cuántas de 400 omás. Elabore la información para ese vendedor después de leer los datos de entrada.Considere –1 como fin de datos.
Nombre del Caso deUso 8
Manejar arreglos y matrices
Actores Estudiante, Docente
Objetivos Asociados Explicar como se utiliza los arreglos y las matrices en la programación para queel estudiante sepa manejar estos términos.
Descripción En este contenido se conocerá la forma de utilizar vectores y matrices.
Flujo Normal (eventos) Paso Acción
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
257
1 El docente enseña el concepto de arreglo y matriz. (S1)
2 El docente muestra un ejemplo básico de arreglos y matrices. (S2)
3 El docente proporciona ejercicios al alumno. (S3)
Sub-Flujos (S) oescenarios
1 Un arreglo (array) es una colección de datos del mismo tipo, que sealmacenan en posiciones consecutivas de memoria y reciben un nombrecomún. Para referirse a un determinado elemento de un array se deberáutilizar un índice, que especifique su posición relativa en el array.Un arreglo es una colección finita, homogénea y ordenada de elementos.
Finita: Todo arreglo tiene un límite; es decir, debe determinarse cuálserá el número máximo de elementos que podrán formar parte delarreglo.
Homogénea: Esto significa que todos los elementos del arreglo debenser del mismo tipo. (Todos enteros, todos reales, todos boléanos, etc.)
Ordenada: Se puede determinar cuál es el primer elemento, el segundo,el tercero,.... y el n-ésimo elemento. También el orden es significativo, elorden viene dado por el subíndice de un vector.
Los arreglos pueden ser de los siguientes tipos:
De una dimensión. De dos dimensiones. De tres o más dimensiones.
Arreglos unidimensionales.
Están formados por un conjunto de elementos de un mismo tipo de datosque se almacenan bajo un mismo nombre, y se diferencian por laposición que tiene cada elemento dentro del arreglo de datos.Cuando se define un arreglo, es necesario hacerlo como una variable.En la parte de declaraciones de variables se utiliza el siguiente formato:
NombreVariable: Arreglo[tamaño] Tipo de dato
Donde:NombreVariable Es el nombre de identificación de la variableArreglo Es la palabra reservada que indica que la variable es un arregloTamaño Es un número entero que indica la cantidad de elementos quetendrá el arreglo, por ejemplo 10, 20, 50, etc.Tipo de dato Es el tipo de dato que tendrá el conjunto de elementos delarreglo que se está definiendo, puede ser Entero, Real, Carácter, etc.
Al declarar un arreglo, se debe inicializar sus elementos antes deutilizarlos. Entonces, para declarar un arreglo tiene que indicar su tipo,un nombre único y la cantidad de elementos que va a contener. Porejemplo, las siguientes instrucciones declaran cuatro arreglos distintos:char nombre[30];
258 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
A los arreglos en una dimensión se les llama también Vectores o Listas.Los vectores se representan de forma lineal, indicando el valor del índiceasociado a cada componente en la parte inferior, y el nombre del arregloen la parte superior. Estos vectores se pueden representar, como filas ocomo columnas de datos.Ejemplo:Sea un vector “Calificaciones” de 100 componentes:En forma de columna se representaría así:
Los componentes del vector van de arriba hacia abajo.En forma de fila se representa así:CALIFICACIONES
.........0 1 2
98 99Los componentes del vector se recorren de izquierda a derecha.
Declaración del vector de calificaciones:Varcalificaciones: array [1..100] RealO de la otra forma:Real: calificaciones[100]Para acceder a valores específicos del arreglo, use un valor de índiceque apunte al elemento deseado.Por ejemplo, para acceder al primer elemento del arreglo calificacionesdebe utilizar el valor de índice 0 (calificaciones [0]).Inicialización y asignación de valores
Como se decía anteriormente, antes de utilizar un arreglo es necesarioinicializarlo:calificaciones[0];Para inicializar todos los elementos de una vez, se colocan dentro de unbucle, comúnmente una estructura For (Desde/Para) que va del primerelemento al último que contiene el arreglo.Para asignar un valor a un elemento del arreglo se hace por ejemplo:calificaciones[0] ← 100
Cuando se usan arreglos, una operación común es usar una variableíndice para acceder a los elementos de un arreglo. Suponiendo que lavariable índice I contiene el valor 3, la siguiente instrucción asigna el
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
259
valor 400 a valores[3]:valores[I] ← 400;EjemploAplicar las fases para la resolución de un problema para leer un vectorde 20 números enteros y a continuación escribir en un vector “A” todoslos números negativos y en un vector “B” todos los positivos o iguales acero.Imprimir dichos vectores.
Pseudocódigo:
BEGINi,j,k: Int
Int: Num[20],A[20],B[20]i ← 1j ← 1k ← 1For i=1 to 20 do
Read(Num[i])If (Num[i] >0) then
A[j] ← Num[i]j ← j + 1
elseB[k] ← Num[i]k ← k + 1
end_ifend_forfor i=1 to j do
print(A[i])end_forfor i=1 to k do
print(B[i])end_for
END
Este ejemplo te lo mostramos en ingles, recordemos que elpseudocódigo no importa en que idioma se escriba, pero debido a que lamayoría de lenguajes de programación están en ingles, de esta manerase asemeja más a un código real.
Matrices
Una matriz es una tabla con números distribuidos en filas y columnas deforma que todas las filas tienen el mismo número de elementos y lomismo para todas las columnas. Es un conjunto de datos homogéneo,finito y ordenado, donde se hace referencia a cada elemento por mediode dos índices. El primero de los índices se utiliza generalmente paraindicar los renglones (filas) y el segundo para indicar columnas, por locual cada componente de la matriz se direcciona mediante su Nombre,seguido de los dos índices separados por coma y entre paréntesis.También puede definirse como un arreglo de arreglos.
260 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
La dimensión u orden de una matriz es una forma de definir el numerode filas y de columnas que esta tiene. Si tiene m filas y n columnas, sedice que la dimensión u orden de la matriz es de m x n. Esto quiere decirque internamente en memoria se reservan MxN posiciones consecutivaspara almacenar todos los elementos del arreglo.A los elementos de una matriz se les denota por Aij siendo i el nº de fila yj el nº de columna. Así el elemento a34 sería el elemento de la tercerafila que ocupa la cuarta columna.
Representación gráfica de matrices:
Se representa de forma tabular, de igual forma a la utilizada enMatemática, situando las filas horizontalmente y las columnas en formavertical.
Declaración de una matriz
Id_ar reglo=ar reglo[ lim_inferiori . . lim_superiori, lim_inferiorj . .lim_superiorj ] de t ipo
Pseudocódigo para el recorrido por filas:Const
M=valor1N= valor2
TipoArray[1..M,1..N] de real:matriz
VarMatriz: ADesde i = 1 hasta M hacer
Desde j = 1 hasta N hacerEscribir (A[i,j])
Fin_desdeFin_desde
El recorrido por columnas se hace de manera similar, invirtiendo elsentido de los índices.Desde j = 1 hasta N hacer
Desde i = 1 hasta M hacerEscribir (A[i,j])
Fin_desdeFin_desde
El número de elementos que contendrá una fila viene dado porU1-L1+1 (Valor mayor – valor menor +1)
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
261
Igualmente, el número de elementos para la columna es U2-L2+1Así, el número total de elementos de la tabla es (U2-L2+1)*(U1-L1+1)
2 Ejemplo 1
Se tiene información sobre las calificaciones de 6 exámenes de un grupode30 alumnos. Los datos sobre estos exámenes se proporcionan de lasiguiente manera:Cal1,1 Cal1,2 ............ Cal1,6Cal2,1 Cal2,2 ............ Cal2,6...............................................Cal30,1 Cal30,2 ........ Cal30,6
Donde Cali,j es una variable real que expresa la calificación que obtuvoel alumno i en el examen j.1 < i < 301 < j < 6Calcular lo siguiente:a) el promedio de calificaciones de cada uno de los 6 exámenesb) el promedio de cada alumnoc) el tipo (número) de examen que tuvo el mayor promedio decalificación. Escriba también dicho promedio.
El pseudocódigo para el ejemplo es el siguiente:
BEGINFor i=1 to 30 do
For j=1 to 6 do//lectura de las calificaciones de los 6 exámenes de los 30
alumnosPrint (“Escriba la calificación del alumno”,i, “en el examen”,j)Read (cal[ i,j ])
End_forEnd_for//cálculo del promedio de calificaciones de cada uno de los exámenesFor j=1 to 6 do
sum ← 0For i=1 to 30 do
sum ← sum + cal[i,j]end_forprom[j] ← sum/30print(“promedio examen”, j , prom[j])
End_for//cálculo del promedio de cada alumnoFor i=1 to 30 do
Sum← 0For j=1 to 6 do
sum ← sum + cal[i,j]End_forprint(“promedio del alumno” , i, sum/6)
262 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
End_for//cálculo del tipo de examen que tuvo el mayor promedio de
calificación.Examen←1promayor ← prom[1]For j=2 to 6 do
if promayor < prom[j] thenpromayor ← prom[j]Examen ← j
End_ifEnd_forPrint (“el examen”, Examen, “obtuvo el mayor promedio=”, promayor)
End
Ejemplo 2:
Se desea almacenar las notas de las 5 materias q lleva juan en unvector.InicioFloat juan[5]Integer i=1for i=1 to i<=5Print(“Por favor ingrese la nota de la materia numero ” + i)Read(juan[i])NextFinRepresentación grafica del vector “juan[]”:
8.75 7.25 9.50 6.30 8.40
Problema 2: Se desea almacenar las notas de las 5 materias que llevan5 alumnos en una matriz con el nombre del alumno respectivo.InicioString alumnos[5,6]Integer i=1, j=1for i=1 to i<=5Print(“Por favor ingrese el nombre del alumnos numero ” + i)Read(alumnos[i,j])
for i=1 to i<6Print(“Por favor ingrese la nota de la materia numero “ + j + ” de
” + alumnos[i,j])Read(alumnos[i,j+1])
Nextj = 1NextFinRepresentación grafica de la matriz “alumnos[]”:
1.- Guardar en un vector el nombre de 10 animales, los que elusuario desee.
2.- Guardar en una matriz los índices que corresponde a cadaposición, tamaño de la matriz 20 x 20.
2.- Hacer el mismo problema 2 agregándole en el titulo de lascolumnas el nombre de las materias correspondientes. La matrizdebe quedar así:
Matemática Lenguaje Sociales Ciencias Computación
264 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Juan 8.75 7.25 9.50 6.30 8.40
Andres 8.75 7.25 9.50 6.30 8.40
Alex 8.75 7.25 9.50 6.30 8.40
Maria 8.75 7.25 9.50 6.30 8.40
Jasmin 8.75 7.25 9.50 6.30 8.40
Nombre delCaso de Uso9
Enseñar como descomponer un problema en sub problemas
Actores Estudiante, Docente
ObjetivosAsociados
Conocer las herramientas necesarias para poder solucionar problemas complejos al dividirlosen subprogramas y luego dividirlos estos en otros mas simples, hasta que estos sean masfáciles de resolver. Pequeños módulos que ayuden en un mejor entendimiento para aprenderlógica de programación.
Descripción En este contenido se aprenderán los pasos para poder resolver problemas complejos.
Flujo Normal(eventos)
Paso Acción
1 El docente explica el concepto de modularidad y subrutinas, importancia de lamodularidad. (S1)
2 El docente explica Subprogramas(subalgoritmos ), procedimientos y
funciones.(S2)
3 El docente explica la definición de funciones y su declaración. (S3)
4 El docente explica la invocación de las funciones mostrando ejemplos. (S4)
5 El docente explica la .definición de procedimientos y su utilización en la programación(S5)
6 El docente explica la diferencia entre función y procedimientos. (S6)
7 El docente explica Sustitución de argumentos/parámetros. (S7)
8 El docente explica el ámbito de Variables locales y globales. (S8)
9 El docente explica la comunicación con subprogramas. (S9)
10 El docente explica ordenamientos y búsquedas. (S10)
11 El alumno escribe sus notas de clase
Post-Condición
Caso de uso:””
FlujosAlternos (E)
Paso Acción
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
265
Sub-Flujos(S) oescenarios
1 Modularidad
La programación modular permite la descomposición de un problema en un conjunto desubproblemas independientes entre sí, más sencillos de resolver y que pueden sertratados separadamente unos de otros. Gracias a la modularidad se pueden probar lossubprogramas o módulos de manera independiente, depurándose sus errores antes desu inclusión en el programa principal y almacenarse para su posterior utilización cuantasveces se precise.
Uno de los elementos principales de programación utilizados en la representación decada módulo es la Subrutina.
Una subrutina es un conjunto de instrucciones de cómputo que realiza una tarea.
Un programa principal llama a estos módulos a medida que se necesitan.
Un módulo es un segmento, rutina, subrutina, subalgoritmo o procedimiento, que puededefinirse dentro de un algoritmo con el fin de ejecutar una tarea específica y puede serllamada o invocada, desde el algoritmo principal cuando sea necesario.
¿CUÁNDO ES ÚTIL LA MODULARIZACIÓN?
Este enfoque de segmentación o modularización es útil en dos casos:
1. Cuando existe un grupo de instrucciones o una tarea específica que deba ejecutarseen más de una ocasión.
2. Cuando un problema es complejo o extenso, la solución se divide o segmenta enmódulos que ejecutan partes o tareas específicas.
2 Introducción a los subalgoritmos o subprogramas
Soluciona problemas complejos al dividirlos en subprogramas y luego dividirlos estos enotros mas simples, hasta que estos sean mas fáciles de resolver. Esta técnica se llama“divide y vencerás”.
El problema principal denominado controlador o conductor (drive) y la solución de lossubproblemas conocidos como procedimientos (subrutinas) o funciones.
266 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Se dice que el programa principal invoca al subprograma, el subprograma ejecuta la tareay luego devuelve el control al programa.
3 Funciones:
Es una que toma una o mas valores llamados argumentos y produce un valor llamadoresultado
Ejemplo:
F(x) =x/i+x*x
Para evaluar f debemos darle un valor a x.
Declaración de funciones
Requiere de una serie de pasos que la definen.
Consta de una cabecera, seguido de la palabra (función) y del nombre del argumento dela función después ira el cuerpo que es una serie de acciones cuya ejecución hará que seasigne un valor al nombre de la función, esto determina el resultado que ha de devolver al
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
267
programa.
La declaración de la función será :
Ejemplo:
F(x,y)=x/1+x*x
Se define como :
Real función f(x)
Inicio
Devolver (x/(1+x*x))
Fin_funcion
4 Invocación de las funciones.
Una función puede ser llamada de la siguiente forma:
Nombre_funcion: función que llama
Lista de parámetros actuales: constantes variables, expresiones.
Cada vez que se llama a una función desde el algoritmo principal se establece unacorrespondencia entre los parámetros formales y los parámetros actuales.
Una llamada a la función implica los siguientes pasos:
1._A cada parámetro formal se le asigna el valor real de su correspondiente parámetroactual.
2._Se ejecuta el cuero de acciones de la función.
3._Se devuelve el valor de la función y se retorna al punto de llamada.
Ejemplo:
Función potencia para el calculo de N elevada a A .El numero N deberá ser positivo
268 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
aunque podrá tener parte fraccionaria, A es un real.
Algoritmo elevar_a_potencia
Var
Real:a.n
Inicio
Escribir(N elevado a =potencia(n.a))
Fin
Real función potencia (E real :n,a)
Inicio
Devolver(exp(a*1n(n))
Fin_funcion.
5 Procedimientos (Subrutinas)Aunque las funciones son herramientas de programación muy útiles para la resolución deproblemas, su alcance está muy limitado. Con frecuencia, se requieren subprogramasque calculen varios resultados en vez de uno solo, o que realicen la ordenación de unaserie de números, etc.En estas situaciones la función no es apropiada y se necesita disponer del otro tipo desubprograma: el procedimiento o subrutina.Un procedimiento o subrutina es un subprograma que ejecuta un proceso específico.Ningún valor está asociado con el nombre del procedimiento; por consiguiente, no puedeocurrir en una expresión. Un procedimiento se llama escribiendo su nombre, por ejemplo,SORT, para indicar que un procedimiento denominado SORT se va a usar. Cuando seinvoca el procedimiento, los pasos que lo definen se ejecutan y a continuación sedevuelve el control al programa que le llamó.
El ejemplo siguiente ilustra la definición y uso de un procedimiento para realizar la divisiónde dos números y obtener el cociente y el resto.
Variables enteras: DIVIDENDO
DIVISOR
COCIENTE
Procedimiento
procedimiento división (E entero:Dividendo,Divisor; S entero:Cociente,
Resto)
inicio
Cociente ¬ Dividendo div Divisor
Resto ¬ Dividendo – Cociente * Divisor
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
269
fin_procedimiento
Algoritmo principal
algoritmo Aritmética
var
entero : M, N, P, Q, S, T
inicio
leer(M, N)
llamar_a división (m, N, P, Q)
escribir(P, Q)
llamar_a división (M * N, -4, N + 1, S, T)
escribir(S, T)
fin
6Procedimiento vs funciónLos procedimientos y funciones son subprogramas cuyo diseño y misión son similares,sinembargo, existen unas diferencias esenciales entre ellos:1. Un procedimiento es llamado desde el algoritmo o programa principal mediante sunombre y una lista de parámetros actuales, o bien con la instrucción llamar_a (call). Alllamar al procedimiento se detiene momentáneamente el programa que se estuvierarealizando y el control pasa al procedimiento llamado. Después de que las acciones delprocedimiento se ejecutan, se regresa a la acción inmediatamente siguiente a la que sellamó.2. Las funciones devuelven un valor, los procedimientos pueden devolver 0,1 o n valoresy en forma de lista de parámetros.3. El procedimiento se declara igual que la función, pero su nombre no está asociado aninguno de los resultados que obtiene.
La declaración de un procedimiento es similar a la de funciones.
Los parámetros formales tienen el mismo significado que en las funciones; los parámetrosvariable – en aquellos lenguajes que los soporta, por ejemplo, Pascal – están precedidoscada uno de ellos por la palabra var para designar que ellos obtendrán resultados delprocedimiento en lugar de los valores actuales asociados a ellos.
El procedimiento se llama mediante la instrucción
270 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
7 Sustitución de argumentos/parámetrosLa lista de parámetros, bien formales en el procedimiento o actuales (reales) en lallamada, se conoce como lista de parámetros, pueden ser de Entrada (E), Salida (S) oEntrada/Salida (E/S).procedimiento demo
fin_procedimientoo bien:
procedimiento demo (lista de parámetros formales)y la instrucción llamadorallamar_a demo (lista de parámetros actuales)
Cuando se llama al procedimiento, cada parámetro formal toma como valor inicial el valordel correspondiente parámetro actual. En el ejemplo siguiente se indican la sustitución deparámetros y el orden correcto.
algoritmo Demo//definición del procedimientoentero: añosreal: numeros, tasa
inicio...llamar_a calculo(numero, años, tasa)...
Finprocedimiento calculo(S real: pl; E entero: p2; E real: p3)inicio
p3 ... p1 ... p2 ... p2
fin_procesimiento
Las acciones sucesivas a realizar son las siguientes:
1. Los parámetros reales sustituyen a los parámetros formales.2. El cuerpo de la declaración del procedimiento se sustituye por la llamada del
procedimiento.
3. Por último, se ejecutan las acciones escritas por el código resultante.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
271
8 Ámbito: Variables Locales y GlobalesLas variables utilizadas en los principales y subprogramas se clasifican en dos tipos:· Variables locales.· Variables globales.Una variable local es aquella que está declarada y definida dentro de un subprograma, enel sentido de que está dentro de ese subprograma y es distinta de las variables con elmismo nombre declaradas en cualquier parte del programa principal. El significado de unavariable se confina al procedimiento en el que está declarada. Cuando otro subprogramautiliza el mismo nombre se refiere a una posición diferente en memoria. Se dice que talesvariables son locales al subprograma en el que están declaradas.Una variable global es aquellas que están declaradas para el programa o algoritmoprincipal, del que dependen todos los subprogramas.La parte del programa/algoritmo en que una variable se define se conoce como ámbito(scope, en inglés)El uso de variables locales tiene muchas ventajas. En particular, hace a los subprogramasindependientes, con la comunicación entre el programa principal y los subprogramasmanipulados estructuralmente a través de la lista de parámetros. Para utilizar unprocedimiento sólo necesitamos conocer lo que hace y no tenemos que estarpreocupados por su diseño, es decir, cómo están programados.
Esta característica hace posible dividir grandes proyectos en piezas máspequeñas independientes. Cuando diferentes programadores están implicados, ellospueden trabajar independientemente.
A pesar del hecho importante de los subprogramas independientes y las variables locales,la mayoría de los lenguajes proporcionan algún método para tratar ambos tipos devariables.Una variable local a un subprograma no tiene ningún significado en otrossubprogramas. Si un subprograma asigna un valor a sus variables locales, este valor noes accesible a otros programas es decir, no puede utilizar este valor. A veces, también esnecesario que una variable tenga el mismo nombre en diferentes subprogramas.
Por el contrario las variables globales tienen la ventaja de compartir información dediferentes subprogramas sin una correspondiente entrada en la lista de parámetros.
En un programa sencillo con un subprograma, cada variable u otro identificador es o bienlocal al procedimiento o global al programa completo. Sin embargo, si el programa incluyeprocedimientos que engloban a otros procedimientos –procedimientos anidados -,entonces la noción de global/local es algo más complicada de entender.
El ámbito de un identificador (variables, constantes, procedimientos) es la parte delprograma donde se conoce el identificador. Si un procedimiento está definido localmentea otro procedimiento, tendrá significado solo dentro del ámbito de ese procedimiento. Alas variables les sucede lo mismo; si están definidas local mente dentro de unprocedimiento, su significa o uso se confina a cualquier función o procedimiento quepertenezca a esa definición.
272 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
La figura muestra un esquema de un programa con diferentes procedimientos, algunasvariables son locales y otras globales. En esta citada figura se muestra el ámbito de cadadefinición. Los lenguajes que admiten variables locales y globales suelen tener laposibilidad explícita de definir dichas variables como tales en el cuerpo del programa o, loque es lo mismo, definir su ámbito de actuación, para ello se utilizan las cabeceras deprogramas y subprogramas, con lo que se definen los ámbitos.Las variables definidas enun ámbito son accesibles en el mismo, es decir, en todos los procedimientos interiores.
Figura: Ámbito de definición de variablesEjemploLa función (signo) realiza la siguiente tarea: dado un numero real x. Si x es 0, entonces sedevuelve un 0; si x es positivo, se devuelve 1, y si x es negativo, se devuelve un valor –1.La declaración de la función es:Entero función signo (E real: x)Var entero: sInicio
//valor de signo: +1, 0, -1 si X = 0 entonces S ß 0si X > 0 entonces S ß 1 si X < 0 entonces S ß -1devolver (S) fin_función
Antes de llamar a la función. La variable (S). Como se declara dentro del subprograma, eslocal al subprograma y solo se conoce dentro del mismo. Veamos ahora un pequeñoalgoritmo donde se invoque la función.Algoritmo SIGNOSvar
entero: a, b, c real: x, y, zinicio
x ß 5.4 a ß signo(x)y ß 0b ß signo(y)z ß 7.8975c ß signo (z-9)
escribir ( Las respuestas son a, , b, , c)finSi se ejecuta este algoritmo, se obtienen los siguientes valores:x ß 5.4 x es el parámetro actual de la primera llamadaa signo (x)a ß signo(x) a toma el valor 1y ß 0b ß signo(y) b toma el valor 0z ß 7.8975c ß signo (z-9) c toma el valor –1La línea escrita al final será:Las respuestas son 1 0 -1
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
273
9 Comunicación con subprogramas:Paso de parámetrosCuando un programa llama a un subprograma, la información se comunica a través de lalista de parámetros y se establece una correspondencia automática entre los parámetrosformales y actuales. Los parámetros actuales son sustituidos o utilizados en lugar de losparámetros formales.La declaración del subprograma se hace con
Y la llamada al subprograma con Llamar_a nombre (A1, A2, ...,An)Donde F1, F2, . . . Fn son los parámetros formales y A1, A2, . . . An los parámetrosactuales o reales. Las clases de parámetros podrían ser: (E) Entrada(S) Salida (E/S) Entrada/SalidaExisten dos métodos para establecer la correspondencia de parámetros:1. Correspondencia posicional.la correspondencia se establece aparejando losparámetros reales y formales según su posición en las listas: así, Fi se corresponde conAi, donde i = 1, 2,. . . n. este método tiene algunas desventajas de legibilidad cuando elnúmero de parámetros es grande.2. Correspondencia por el nombre explicito, también llamado método de paso deparámetros por nombre. En este método, en las llamadas se indica explícitamente lacorrespondencia entre los parámetros reales y formales. Este método se utiliza en Ada.Un ejemplo sería: Sub (Y => B, X => 30); Que hace corresponder el parámetro actualBcon el formal Y, y el parámetro actual 30 con el formal X durante la llamada de SUB.Por lo general, la mayoría de los lenguajes usan exclusivamente la correspondenciaposicional y ése será el método empleado en este libro.Las cantidades de información que pueden pasarse como parámetros son datos, tipos –en los lenguajes que admiten su declaración- y subprogramas.Paso de parámetrosExisten diferentes métodos para la transmisión o el paso de parámetros o subprogramas.Es preciso conocer el método adoptado por cada lenguaje, ya que la elección puedeafectar ala semántica del lenguaje. Dicho de otro modo, un mismo programa puedeproducir diferentes resultados bajo diferentes sistemas de paso de parámetros.
Los parámetros pueden ser clasificados como: entradas: (E) Las entradas proporcionanvalores desde el programa que llama y que se utilizan dentro de un procedimiento. En losprogramas función, las entradas son los argumentos en el sentido tradicional:salidas: (S) Las salidas producen los resultados del subprograma: de nuevo si se utiliza elcaso una función, éste devuelve un valor calculado por dicha función, mientras que conprocedimientos puede calcularse cero, una o varias salidas: entrada/salida (E/S)Un solo parámetro se utiliza para mandar argumentos a un programa y para devolverresultados Desgraciadamente, el conocimiento del tipo de parámetros no es suficientepara caracterizar su funcionamiento; por ello, examinaremos los diferentes métodos quese utilizan para pasar o transmitir parámetros.
274 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Los métodos mas empleados para realizar el paso de parámetros son: • paso por valor(también conocido por parámetro valor) • paso por referencia o diferencia (tambiénconocido por parámetro variable) • paso por nombre • paso por resultado Paso por valor
El paso por valor se utiliza en muchos lenguajes de programación: por ejemplo, C,Modulo-2, Pascal, Algol y Snobol. La razón de su popularidad es la analogía con losargumentos de una función, donde los valores se proporcionan en el orden de cálculo deresultados. Los parámetros se tratan como variables locales y los valores iníciales seproporcionan copiando los valores de los correspondientes argumentos.
Los parámetros formales –locales a la función- reciben como valores iníciales los valoresde parámetros actuales y con ellos se ejecutan las acciones descritos en el subprograma,
No se hace diferencia entre un argumento que es variable, constante o expresión, ya quesolo importa el valor del argumento. La figura muestra el mecanismo de paso por valor deun procedimiento con tres parámetros.
El mecanismo de paso se resume así: Valor primer parámetro: A = 5
Valor segundo parámetro: constante = 18
Valor tercer parámetro: expresión B * 3 + 4 = 25
El valor 5.18 y 25 se transforman en los parámetros X, Y, Z respectivamente, cuando seejecuta el procedimiento.
Aunque el paso por valor es sencillo, tiene una limitación acusada: no existe ninguna otraconexión con los parámetros actuales, entonces los cambios que se produzcan por efectodel subprograma no producen cambios en los argumentos originales y, por consiguiente,no se pueden pasar valores de retorno al punto de llamada: es decir, todos losparámetros son sólo de entrada. El parámetro actual no puede modificarse por elsubprograma. Cualquier cambio realizado en los valores de los parámetros formalesdurante la ejecución del subprograma se destruye cuando se termina el subprograma.
La llamada por valor no devuelve información al programa que llama.
Paso por referencia
En numerosas ocasiones se requieren que ciertos parámetros sirvan como parámetros desalida, es decir, se devuelvan los resultados a la mitad o programas que llama. Estemétodo se denomina paso por referencia o también de llamada por dirección o variable.La unidad que llama pasa ala unidad llamada la dirección del parámetro actual (que estáen el ambiente de la unidad llamante).
Una referencia al correspondiente parámetro formal se trata como una referencia a laposición de memoria, cuya dirección se ha pasado. Entonces una variable pasada comoparámetro real es compartida, es decir, se puede modificar directamente por elsubprograma.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
275
10 Ordenamiento y búsquedaOrdenamientoUno de los procedimientos más comunes y útiles en el procesamiento de datos, es laclasificación u ordenación de los mismos. Se considera ordenar al proceso de reorganizarun conjunto dado de objetos en una secuencia determinada.Cuando se analiza un método de ordenación, hay que determinar cuántas comparacionese intercambios se realizan para el caso más favorable, para el caso medio y para el casomás desfavorable.Para el caso del ordenamiento, el problema consiste en ordenar el vector en formaascendente (de menor a mayor). Si se quisiera trabajar con ordenamiento descendentelos cambios serian mínimos.
En cada familia se distinguen dos versiones: un método simple y directo, fácil decomprender pero de escasa eficiencia respecto al tiempo de ejecución, y un métodorápido, más sofisticado en su ejecución por la complejidad de las operaciones a realizar,pero mucho más eficiente en cuanto a tiempo de ejecución. En general, para arreglos conpocos elementos, los métodos directos son más eficientes (menor tiempo de ejecución)mientras que para grandes cantidades de datos se deben emplear los llamados métodosrápidos.EJEMPLOUso de algoritmos de Intercambio directo mediante el Método de la Burbuja. Aunqueno esmuy eficiente para ordenar listas grandes, es fácil de entender y muy adecuado paraordenar una pequeña lista de unos 100 elementos o menos.Una pasada por la ordenación de burbujeo consiste en un recorrido completo a través delarreglo, en el que se comparan los contenidos de las casillas adyacentes, y se cambian sino están en orden.La ordenación por burbujeo completa consiste en una serie de pasadas (“burbujeo”) quetermina con una en la que ya no se hacen cambios porque todo está en orden.Supóngase que están almacenados cuatro números en un arreglo con casillas dememoria de x [1] a x [4]. Se desea disponer esos números en orden creciente. La primerapasada de la ordenación porburbujeo haría lo siguiente:Comparar el contenido de x[1] con el de x[2]; si x[1] contiene el mayor de los números, seintercambian sus contenidos.Comparar el contenido de x[2] con el de x[3]; e intercambiarlos si fuera necesario.Comparar el contenido de x[3] con el de x[4]; e intercambiarlos si fuera necesario.Al final de la primera pasada, el mayor de los números estará en x[4].
276 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
EJEMPLOSe tiene el siguiente pseudocódigo para ordenar un vector de números enteros:Begin Read(n) For i = 1 to n do read ( A[i] ) End_for For i = n to 1step -1 do For j=1 to j < i do if ( A[j] > A[j+1] ) then Aux _A[j] A[j] _ A[j+1] A[j+1] _ Aux End_if
end_forend_forfor i = 1 to n do
print ( A[i] )end_for
End
BusquedaLa búsqueda es una operación que tiene por objeto la localización de un elemento dentrode la estructura de datos. A menudo un programador estará trabajando con grandescantidades de datos almacenados en arreglos y pudiera resultar necesario determinar siun arreglo contiene un valor que coincide con algún valor clave o buscado.Siendo el array de una dimensión o lista una estructura de acceso directo y a su vez deacceso secuencial, encontramos dos técnicas que utilizan estos dos métodos de acceso,para encontrar elementos dentro de un array: búsqueda lineal o secuencial y búsquedabinaria.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
277
Búsqueda Secuencial:La búsqueda secuencial es la técnica más simple para buscar un elemento en un arreglo.Consiste en recorrer el arreglo elemento a elemento e ir comparando con el valorbuscado (clave). Se utiliza normalmente cuando el array no está ordenado.Se empieza con la primera casilla del arreglo y se observa una casilla tras otra hasta quese encuentra el elemento buscado o se han visto todas las casillas.El resultado de la búsqueda es un solo valor, y será la posición del elemento buscado ocero.Dado que el arreglo no está en ningún orden en particular, existe la misma probabilidadde que el valor se encuentra ya sea en el primer elemento, como en el último. Por lotanto, en promedio, el programa tendrá que comparar el valor buscado con la mitad de loselementos del arreglo.El método de búsqueda lineal funciona bien con arreglos pequeños o para arreglos noordenados. Si el arreglo está ordenado, se puede utilizar la técnica de alta velocidad debúsqueda binaria, donde se reduce sucesivamente la operación eliminando repetidasveces la mitad de la lista restante.Búsqueda Binaria.La búsqueda binaria es el método más eficiente para encontrar elementos en un arregloordenado. El proceso comienza comparando el elemento central del arreglo con el valorbuscado. Si ambos coinciden finaliza la búsqueda. Si no ocurre así, el elemento buscadoserá mayor o menor en sentido estricto que el central del arreglo. Si el elemento buscadoes mayor se procede a hacer búsqueda binaria en el sub array superior, si el elementobuscado es menor que el contenido de la casilla central, se debe cambiar el segmento aconsiderar al segmento que está a la izquierda de tal sitio central.EJEMPLODado un arreglo de números enteros, se desea encontrar el mayor y el menor. Imprimirademás la posición donde se encuentran.Begin print ( “ Digite cuántos números son: “) read (n) for i = 1 to n do
print (“Digite el número: “, i)read ( num[ i ] )
end_forMayor _ num[1]Menor _ num[1]Pos_may _ 1Pos_men _ 1For i = 1 to n do
If (num[i] > mayor) thenMayor _ num[i]Pos_may _ i
elseIf (num[i] < menor) then
Menor _ num[i]Pos_men _ i
End_ifEnd_if
End_forprint ( “El mayor es “, Mayor, “y su posición es”, Pos_may)print ( “El menor es “, Menor, “y su posición es”, Pos_men)End
278 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
ANEXO No. 4
INFORME:
VISTA ESTRUCTURAL DEL ANÁLISIS DEL SISTEMA A TRAVÉS DE UN DIAGRAMA DE CLASES PARAIDENTIFICAR LOS MÓDULOS O SUBSISTEMAS PARA EL DISEÑO
Los subsistemas o paquetes son abstracciones que aportan una referencia o puntero a los detalles en el
modelo del análisis. Si se observa desde el exterior, un subsistema puede tratarse como una caja negra que
contiene un conjunto de responsabilidades y que posee sus propios colaboradores externos.
Después de describir cada escenario por medio de los Casos de Uso, concluimos que para el sistema tutor
inteligente, es necesario hacer un diseño muy detallado de los siguientes módulos o subsistemas mostrados en
la siguiente figura:
De los módulos o subsistemas identificados en la fase del análisis, podemos hacer una reseña que nos permita
visualizar el contenido de cada elemento fundamental del sistema, lo cual nos dará una idea clara para abordar
el diseño de cada modulo del sistema inteligente para tutorización.
Modulo del dominio: Este modulo contiene todo el material expuesto en temas que son enseñados a los
alumnos con la finalidad de que el estudiante aprenda lógica de programación de computadoras. En los Casos
de Uso, esta información se muestra en cada uno de los pasos o eventos que se dan al momento de explicar
secuencialmente y en forma lógica, cada tema, en la sesión en la clase dada al alumno.
Modulo tutor: Encierra todos los aspectos relevantes de la forma como enseña un docente o profesor de
computación, según la normativa tradicional constructivista centrado en el alumno. Al inicio y al final de cada
Caso de Uso, se hace referencia a la forma mas común de iniciar y finalizar la sesión de clase por el docente. El
escenario en que sucede el evento no explica detalles de las técnicas de enseñanza practicadas por el docente
debido a que en la práctica, cada docente selecciona su propia forma de impartir la clase aunque se tengan las
guías estándares institucionales. Hemos descrito las prácticas más comunes que se observa en todos los
docentes.
Sistema Tutor Inteligente
Modulo Dominio Modulo Tutor Modulo Estudiante
Modulo de Interface
Modulo de Evaluación
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
279
Modulo del estudiante: Esta representado por el comportamiento que el alumno muestra al inicio, durante y
final de la sesión de clase. No se observó nada extraordinario que merezca describirse en el Caso de Uso, por
eso, describimos solo el comportamiento tradicional de un estudiante al recibir una clase.
Modulo de evaluación: Esta compuesto de la forma como se hacen las evaluaciones para medir el nivel de
aprendizaje del alumno. En el sistema presencial, las evaluaciones se programan cada cierto tiempo, definido
por un docente, con el fin de evaluar un grupo de temas dados en las sesiones de clase; los Casos de Uso del
análisis hacen referencia a esta forma de evaluar sin entrar en detalles. En el diseño del sistema se tomará
como base las mejores técnicas que existen para la evaluación del conocimiento sin que sean influenciadas por
la forma en que se hacen actualmente.
Modulo de Interface: En un sistema manual, la interface esta relacionada con los elementos que el docente
utiliza para enviar o transmitir la enseñanza de cada tema al alumno. Está relacionado con lo que el alumno
escucha, observa y palpa. En el diseño del sistema se especificarán en el ámbito cibernético.
280 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
ANEXO No. 5
ESCUELA ESPECIALIZADA EN INGENIERIA ITCA-FEPADE – ESCUELA DE COMPUTACION
Proyecto de Investigación Diseño de Sistema Inteligente para Tutorización
Informe:Proyectos de Sistemas Inteligentes Desarrollados en otras Universidades
Departamento de Ingeniería en Computación
20/10/2009
[Este documento presenta los resultados de la investigación de proyectos de desarrollo de sistemas inteligentesejecutados por otras instituciones educativas y por investigadores independientes con el fin de enriquecer elámbito de nuestro proyecto.]
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
281
INTRODUCCION
Con los programas de apoyo a la educación y la necesidad mejora en el aprendizaje del estudiante, se
encuentra la aplicabilidad de los sistemas tutores inteligentes que buscan aprovechar la informática en la
educación a través de la aplicación de técnicas de Inteligencia Artificial.
Con el objeto de establecer un marco de proyecto único o mejorar investigaciones relacionadas con el
desarrollo de sistemas tutoriales inteligentes, debemos buscar quienes o que instituciones se han embarcado
en proyectos similares al nuestro, por lo que el presente informe brinda una serie de ejemplos de sistemas
inteligentes diseñados para la enseñanza y el aprendizaje en diversas disciplinas.
PROYECTOS ORIENTADOS A SISTEMAS TUTORES INTELIGENTES
TUTOR INTELIGENTE EN UN AMBIENTE VIRTUAL
DE EXPERIMENTACIÓN (TIAVE)
Realización de un Sistema Tutorial Inteligente (STI) dentro de un Ambiente Virtual, denominado TIAVE. Esta
arquitectura contribuye en la solución a la problemática de dependencia del dominio de aplicación, de
integración de tecnología 3D y de estrategia pedagógica personalizada que existe en los STI’s convencionales,
presentando un diseño acorde con las tendencias actuales de los Tutores Inteligentes.
La arquitectura de TIAVE fue diseñada para integrar de la mejor manera posible el Ambiente Virtual con el STI y
la interfaz del usuario, como se muestra en la separación de los mayores componentes del sistema. La
operación en conjunto del sistema consiste de dos fases generales: la de adquisición de conocimientos inicial y
la de práctica o entrenamiento. Durante la fase de adquisición de conocimientos inicial, el Módulo Administrador
de Simulación utiliza la base de conocimientos para explorar el espacio de simulación. El conocimiento
adquirido durante esta etapa es agregado a los Módulos Tutor y Experto para obtener el conocimiento del
dominio específico para la capacitación.
También en la fase inicial, se realizan dos tests al estudiante: de estilos de aprendizaje, que nos permite
conocer qué estilo predomina en él (visual, auditivo, práctico) y mostrarle la información con mayor tendencia a
ese estilo; y un test pre evaluatorio del dominio, el cual nos permitirá conocer el conocimiento previo que tiene el
estudiante sobre el tema a aprender, con el fin de ubicarlo en algún tema específico y reducir de esta manera la
posible monotonía y redundancia de conocimiento en el alumno, si existe el conocimiento previo.
____
Universidad Autonoma de Aguascalientes. Mexico. Jaime Muños Arteaga. [email protected]
282 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
DISEÑO Y DESARROLLO DE UN SISTEMA SEMI PRESENCIAL INTELIGENTE, PARA LA FORMACIÓN YEVALUACIÓN DE LA BOTÁNICA PRÁCTICA
Se trata de un programa de tutoría inteligente con el que se puede ayudar a los estudiantes durante el proceso
de aprendizaje y cuyo principal objetivo es adaptar los cursos “hipermedia” a cada usuario, utilizando el control
de nivel de aprendizaje, la navegación, la adaptación de la metodología de la enseñanza, el material didáctico y
la explicación de los errores al estudiante.
La metodología de la enseñanza de cada alumno consiste en la adquisición de los conceptos necesarios en las
distintas unidades de aprendizaje del curso y una prueba para determinar si han sido correctamente asimilados.
El estudiante no supera la prueba cuando la calificación obtenida en la misma es menor que la preestablecida
por el profesor. Cuando se hace una prueba es corregida por el sistema de tutor inteligente (que usa la plantilla
solución dada por el profesor). El alumno puede ver sus aciertos, errores, los conceptos y las lecciones que
deben revisarse. Si el estudiante no supera la prueba, el sistema mostrará una explicación, al tiempo que se
dará al alumno la oportunidad de repasar estos conceptos que deberán comprobarse de nuevo.
Los estudiantes pueden ver las lecciones de los cursos en el orden en que se quiera. No obstante, cuando se
hace un examen, el tutor asocia una puntuación máxima a la que los estudiantes deben llegar. Estas cuestiones
deben resolverse en el plazo fijado por el profesor.
___
Universidad de Granada, España. Coordinador del proyecto: Profesora Ana Teresa Romero García, del
departamento de Botánica de la UGR, y en el que participa, asimismo, el también profesor Waldo Fajardo
Contreras.
SISTEMA TUTORIAL INTELIGENTE PARA LA ENSEÑANZA EN NIÑOS CON DIFICULTADESINTELECTUALES Y COGNITIVAS.
Se presenta el diseño de un Sistema Tutorial Inteligente, independiente del dominio particular de enseñanza,
para la ayuda de alumnos con necesidades educativas especiales. Se trabaja con dos tipos de NEE: Síndrome
de Down y dislexia. La adaptación del sistema se basa en la secuenciación de los conceptos a enseñar, la
dinámica de la presentación, la interacción del sujeto con el sistema y la presentación de los estilos de
aprendizaje según la secuencia de eventos y tipo de tareas presentadas. A través de esto, el sistema se ajusta
a las características individuales de los alumnos. las partes fundamentales del ITS son el sistema basado en
conocimiento (SBC) y la Interface adaptativa multimedia (IAM). Para la adquisición del conocimiento pedagógico
se diseñó e implementó una herramienta que permite al profesor la creación de sus propias actividades
multimedia.
____
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
283
Universidad de la Laguna, España. El proyecto fue diseñar el sistema tutorial inteligente. Tesis doctoral
presentado por Carina Soledad González González, el año 2000.
SISTEMA TUTORIAL INTELIGENTE EN EL TEMA DE ANÁLISIS Y TRAZADO DE CURVAS (PROYECTOAPOLONIO 1+).
Este proyecto tuvo como punto de partida el modelo matemático y la arquitectura de sistema tutorial inteligente
propuesta por el grupo HERON de la Universidad de Montreal y de un proceso continuo de adquisición de
conocimientos con los profesores del curso de matemática 1.
La arquitectura propuesta para el STI integra cinco componentes que son:
- Curriculum
- Planificación
- Monitoreo
- Experto en la materia y Micro mundo
- Modelo del estudiante
Cada componente es considerada como un objeto que posee datos particulares (base de conocimiento).
Para el desarrollo del prototipo se ha conceptualizado y desarrollado los siguientes componentes:
1. Modelo cognoscitivo
2. Planificador
3. Tutor
4. Dominio
5. Interfaz
____
Universidad EAFIT, Medellin, Colombia.
OTROS PROYECTOS
CircSim, el sistema de tutorizacion inteligente para el uso del lenguaje natural, fue desarrollado en conjunto por
el Departamento de Ciencias de la Computación del Illinois Institute of Technology y el Departamento de
Fisiología del Rush College of Medicine. Este tutor es el más avanzado actualmente en su tipo, y se lo utiliza en
el Rush College of Medicine para complementar las clases teóricas sobre problemas cardiovasculares (Kim,
1989; Kim, 2000;Cho, 2000; Hume et al. 1992, 1996; Shah, 1997).
AGT (Advancced Geometry Tutor), es un proyecto que tiene como objetivo, construir un STI para el uso en
clases de geometría avanzada (Matsuda y Van Lehn, 2005) en la University of Pittsburgh a través de la National
284 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Science Foundation through y el Center for Interdisciplinary Research on Constructive Learning Environments
de la University of Pittsburgh y Carnegie Mellon University.
AutoTutor: es un STI basado en la web por un grupo interdisciplinario de la Office of Naval Research and the
National Science Foundation, (DiPaolo et al., 2002; Graesser et al., 2005a,b, 2006; Chipman et al., 2005).
(Fuente: Revista electrónica de tecnología educativa. Universidad de Buenos Aires, Argentina, Marzo 2009)
El Computer Tutoring Group (ICTG), que trabaja en el University's Computer Science and Software Engineering
Department, en la University of Canterbury ha desarrollado una serie de STI: Aspire (Mitrovic et al.; 2006), Sql-
Tutor es un sistema de enseñanza basado en el conocimiento que enseña Sql a los estudiantes (Mitrovic,
Martin y Mayo, 2002; Mitrovic, 2003), Kermit; EER-Tutor, ERM-Tutor: (Milik, Marshall, y Mitrovic, 2006) y Normit
en aplicaciones informáticas.
Entre los proyectos mas destacados presentamos los siguientes:
- Sistema Tutorial Inteligente para la enseñanza de las matemáticas a niños entre 5 y 9 años.
- Sistema Tutorial Inteligente para enseñanza de algoritmos y programación.
- Sistema Tutorial Inteligente para aprendizaje de métodos de factorización.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
285
ANEXO No. 6
ESCUELA ESPECIALIZADA EN INGENIERIA ITCA-FEPADE – ESCUELA DE COMPUTACION
Proyecto de Investigación Diseño de Sistema Inteligente para Tutorización
Informe:Requerimientos de Hardware y Software para la fase del diseño
Departamento de Ingeniería en Computación
14/10/2009
Tarea realizada en la fase del análisis del sistema la cual detalla los requerimientos de equipo y programas deplataforma de modelado para el diseño del software
286 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
INTRODUCCION
En la fase de Análisis del Sistema hay una tarea que debe hacerse con el fin de determinar los requerimientos
técnicos, relacionados con el equipo informático y los programas de computadora que serán utilizados en la
ejecución del proyecto.
En el presente documento, se da un detalle del software y hardware necesarios para el trabajo de análisis y
diseño del sistema inteligente que está en desarrollo. Parte de la investigación realizada esta orienta a proponer
la mejor alternativa de software de modelado y computador necesario para el trabajo a realizar.
REQUERIMIENTOS TECNICOS DE SOFTWARE Y HADWARE
Dentro de los requerimientos de equipo y software que nuestro proyecto tiene, podemos mencionar los
siguientes:
SOFTWARE: RATIONAL SOFTWARE MODELERLos arquitectos, analistas de sistemas y diseñadores son los responsables de especificar y mantener varias
vistas de un sistema bajo desarrollo. Por esa razón, es necesario contar con un software que permita crear una
documentación con diferentes vistas del diseño, permitir el trabajo en equipo en forma simultánea,
multiplataforma y crear una interfaz con posibles lenguajes de programación con los que se construirá el código
fuente, entre otras características.
Después de analizar algunos tipos de software, entre ellos software de distribución libre, encontramos que IBM
Rational Software Modeler es una herramienta de diseño y modelización que permite a los usuarios documentar
y comunicar con claridad estas distintas vistas de un sistema, por lo cual consideramos que este en el idóneo
para ser utilizado en nuestro proyecto. A continuación se presentan algunas características importantes del este
software tipo CASE.
IBM Rational Software Modeler soporta Unified Modeling Language (UML 2), el lenguaje de modelización
estándar del sector, que ofrece a todas las parte implicadas la mayor familiaridad en la notación de los modelos.
Rational Software Modeler se basa en la plataforma abierta y extensible Eclipse y aprovecha varios estándares
abiertos del sector para proporcionar un gran nivel de extensibidad. Esto permite a los desarrolladores y
terceras partes integrar sus prácticas de modelización en entornos existentes para satisfacer las necesidades
más rígidas de personalización.
Características:
Especificación y modelización arquitectónica
- Soporta los principales diagramas de UML 2.
DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
287
- Soporta patrones y transformaciones para automatizar el ajuste de modelos y transiciones entre el
análisis, el diseño y la implementación.
Fácil de adoptar y utilizar
- Interfaz de usuario simplificada y con gran respuesta
- Examinar y explorar modelos desde diversas vistas de un sistema
- Generación de diagramas automática y asistida
Plataforma de modelización abierta y ampliable
- Basado en tecnología Eclipse, una plataforma de integración de herramientas abierta y ampliable.
- Basado en el estándar abierto Unified Modeling (Language UML 2)
- Aprovecha las APls de código fuente abierto de Eclipse Modeling Framework (EMF) y el metamodelo
UML 2.
- Soporta el desarrollo de metamodelos personalizados
Integración de ciclo de vida y equipo
- Se integra con IBM Rational RequisitePro, IBM Rational ClearCaseLT, IBM Rational ClearQuest.
- Automatiza el rastreo desde los requerimientos hasta el diseño y la implementación.
Modelo mas productivos que antes
Es difícil incorporar nuevas tecnologías a procesos ya existentes. Cuando un proyecto lleva consigo,
por ejemplo, una nueva herramienta de desarrollo, habitualmente la producción se ve resentida
inicialmente. Puede que la herramienta sea difícil de instalar, configurar o aprender. Esto se traduce en
la percepción de que la nueva herramienta es simplemente demasiado difícil y que frena el trabajo.
Rational Software Modeler, incluye nuevas funciones fáciles de utilizar y adoptar que elevan el listón de
la productividad de la modernización. Diversos tipos de diagramas asisten en las actividades de diseño,
descubrimiento y documentación. También puede aumentar mas la productividad automatizando el
desarrollo de patrones y las transformaciones del modelo. Estas avanzadas funciones de modelado le
ayudan a personalizar la herramienta para adaptarla a sus necesidades concretas. En combinación con
integraciones transparentes entre otras facetas del ciclo de vida. Rational Software Modeler simplifica el
análisis y el diseño facilitando aun más su uso y la productividad del desarrollo.
Aprovechar una plataforma de modelización abierta y extensible
Muchos profesionales del software conocen el valor que tiene la modelización de su software pero les
preocupa el hecho de atarse a una tecnología de herramienta de modelado propietaria de un único
proveedor. Les preocupa el hecho de que una herramienta construida sobre una plataforma propietaria
dificultará la extensión o personalización de la herramienta para su entorno. Muchas organizaciones
también desarrollan aplicaciones que cubren varias plataformas de desarrollo e implantación. Les
288 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
preocupa que las herramientas basadas en lenguajes de modelización propietarias específicas de un
dominio limite la interoperabilidad.
Rational Software Modeler se ha construido encima de Eclipse, la galardonada plataforma de código
fuente abierto para la construcción de potentes herramientas de desarrollo de software y avanzadas
aplicaciones de sobremesa. El hecho de tener Eclipse como base le permite extender fácilmente las
funciones de Rational Software Modeler para satisfacer sus requerimientos de proyecto. Eclipse
también fomenta un ecosistema de plug-ins de terceras partes que aumentan sus opciones de modelar
las mejores aplicaciones. Además, dado que Eclipse está escrito en Java™, puede utilizar el desarrollo
orientado a modelo en entornos de desarrollo tanto Windows® como Linux®.
Exploración de nuevas tecnologías en el modelado de sistemas
Rational Software Modeler soportaUML Versión 2 (UML 2), incluye clases estructuradas y mejoras en
diagramas de secuencia, actividad y máquina de estado. Éstas y otras revisiones de los estándares
permiten a los usuarios expresar su arquitectura con mayor claridad y control que antes. El Object
Management Group (OMG) ha llevado esta expresividad a un nivel superior en la guía de proceso con
su iniciativa Model Driven Architecture (MDA). Rational Software Modeler soporta MDA permitiendo al
usuario definir múltiples niveles de modelos acoplados a transformaciones definidas por el usuario entre
dichos modelos y el código, que se traduce en una separación más clara de las etapas del ciclo de vida.
HARDWARE: COMPUTADORAS PERSONALESEs necesaria la adquisición de dos computadoras personales para la instalación del software de modelado.
Estas serán utilizadas por un docente permanente y alumnos quienes están trabajando en la ejecución del
proyecto de investigación.
Las especificaciones técnicas son las siguientes:
• Procesador – Mínimo: Pentium 3, 500 Mhz; Recomendado: Pentium 4, 1.8 GHz o superior
• Memoria mínima: 384 MB; 1 GB RAM recomendado; con más memoria se mejora
la respuesta.
• Vídeo: Resolución de vídeo XGA 1024 x 768 x 256 colores;
XGA 1280 x 1024 recomendado; color de alta densidad o color verdadero recomendado
• Ratón Microsoft® o dispositivo apuntador compatible
• Espacio en disco necesario: Mínimo 768 MB; 1 GB recomendado.
SISTEMA DE ENTRENAMIENTO EN AUTOMATIZACIÓN ELECTRONEUMÁTICADocumento propiedad de ITCA-FEPADE. Derechos Reservados.
289Ing. Oscar Marroquín, del FIES-MINED, realiza auditoría técnica del proyecto
Director y Coordinador
del proyecto:
Ing. Mario Majano
Docente investigador
responsable:
Ing. René Mauricio
Hernández
Docentes
Investigadores
Ing. Rigoberto Morales
Ing. Ovanio Ávalos
El Sistema en construcción permitirá realizar prácticas y encontrar la solución deproblemas de automatización electroneumática lo más apegado a la realidad. Lavariedad y el número de sensores, actuadores, cilindros, electroválvulas, controladoresprogramables y otra variedad de accesorios a incorporar en el entrenador, permitirásimular los circuitos de control diseñados para máquinas que conforman los procesosindustriales.
El entrenador se diseñará de forma ergonómica para que un equipo de tres a cuatrousuarios trabajen con comodidad, ya que este tipo de problemas y prácticas requierende tiempo para su solución. Se adaptará a las exigencias de la educación técnicasuperior y además, proporcionará a los docentes, técnicos e ingenieros que trabajan enla industria, un banco donde simular y probar el diseño de un nuevo sistema de controlelectroneumático.
Una de las innovaciones del entrenador es equiparlo con diferentes ControladoresLógicos Programables (PLC), desde los más sencillos hasta los de mayor complejidad ycapacidad; se incluirán PLC de diferentes fabricantes, lo que permitirá utilizar elentrenador para simulaciones variadas. El entrenador contará con una computadora y elsoftware necesario para programar los diferentes PLC. Otra innovación que se incluirá enel entrenador es la de monitorear desde una computadora el funcionamiento de loscircuitos construidos; para esto se diseñará un software adecuado y las tarjetaselectrónicas de captura de datos y transformación a señales digitales en la computadora.
El entrenador contará además con un software innovador de simulación de circuitoselectroneumáticos, para resolver los problemas y después probarlos en el banco.
Sistema de entrenamiento en automatización
electroneumática para aplicación en la
industria y la academia salvadoreña
Escuela de Ingeniería Mecánica e Industrial
PROYECTO
EN EJECUCIÓN
290 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
DISEÑO DE UN SISTEMA DE ORGANIZACIÓN Y GESTIÓN PARA EL PATIO DE CONTENEDORESDocumento propiedad de ITCA-FEPADE. Derechos Reservados.
291
Director del
Centro Regional:
Lic. Rafael Mejía
Coordinadora del
Proyecto de
Investigación
Dra. Maritza Ruiz
Docentes
Investigadores:
Ing. Salvador Oswaldo
Córdova
Lic. José Mauricio Flores
Este proyecto de investigación está siendo ejecutado en colaboración con la ComisiónEjecutiva Portuaria Autónoma CEPA, del Puerto de Acajutla, y se desarrolla en el área deadministración portuaria y logística; el proyecto busca brindarle al Puerto de Acajutla unsistema para la organización y gestión del patio de contenedores. Con el propósito deaumentar la eficiencia de operación del Puerto de Acajutla, se diseñará y propondrá unnuevo sistema de control administrativo, el cual se implementará en un softwareinnovador elaborado a la medida, con el fin de que el Puerto cuente con un procesooperativo y administrativo moderno y acorde a sus necesidades.
La primera fase de este proyecto consistió en una investigación de campo relativa alfuncionamiento del patio de contenedores, la oficina administrativa del patio decontenedores y el muelle. Se analizó el sistema de control actual de patio decontenedores y las áreas de mejora a incorporar. Dentro de las áreas investigadas, seencontraron hallazgos que son concluyentes para ser traducidos a elementosinnovadores, no solo para el desarrollo del puerto, sino también estrategias significativaspara el desarrollo académico del área de administración y operación portuaria de LaEscuela Especializada en Ingeniería ITCA-FEPADE.
Al ser implementado por CEPA el nuevo sistema informático diseñado, se logrará unareducción de costos de operación, mejor control del patio, eficiente gestión de losequipos y mejor servicio a los clientes del puerto.
Diseño de un sistema de organización
y gestión para el patio de contenedores
del Puerto de Acajutla
Centro Regional MEGATEC-La Unión
PROYECTO
EN EJECUCIÓN
Estudiantes de ITCA-FEPADE del Centro Regional MEGATEC-La Unión, participan en la investigaciónde campo recolectando información en el patio de contenedores del Puerto de Acajutla
292 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Sitio web diseñado
DISEÑO DE UN SISTEMA DE ORGANIZACIÓN Y GESTIÓN PARA EL PATIO DE CONTENEDORESDocumento propiedad de ITCA-FEPADE. Derechos Reservados.
293
Escuela Especializada en Ingeniería ITCA-FEPADE
VISIÓN
Ser una institución educativa líder en educación tecnológica a nivel
nacional y regional, comprometida con la calidad, la empresarialidad y la
pertinencia de nuestra oferta educativa.
MISIÓN
Formar profesionales integrales y competentes en áreas tecnológicas
que tengan demanda y oportunidad en el mercado local, regional y
mundial tanto como trabajadores y empresarios.
VALORES
o Excelenciao Espiritualidado Comunicacióno Integridado Cooperación
294 DISEÑO DE UN SISTEMA INTELIGENTE PARA TUTORIZACIÓN TIPO UNO A UNODocumento propiedad de ITCA-FEPADE. Derechos Reservados.
Escuela Especializada en Ingeniería ITCA-FEPADE
República de El Salvador en la América Central
FORMANDO PROFESIONALES PARA EL FUTURO
Nuestro método “APRENDER HACIENDO” es la diferencia