Post on 29-Sep-2018
transcript
II
DIRECTORIO
Secretario de Educación Pública
Mtro. Alonso Lujambio Irazábal
Subsecretario de Educación Superior
Dr. Rodolfo Tuirán Gutiérrez
Coordinadora de Universidades Politécnicas
Mtra. Sayonara Vargas Rodríguez
III
PÁGINA LEGAL
Participantes
M.C.C. Donají Lorena Sedano Flores - Universidad Politécnica de Zacatecas
M.I.S. José Alberto Vela Dávila – Universidad Politécnica de Zacatecas
M.I.A. Manuel Veyna Lamas - Universidad Politécnica de Zacatecas
M.C.C. Juan Antonio González Sáenz - Universidad Politécnica de Zacatecas
Primera Edición: 2011
DR 2011 Coordinación de Universidades Politécnicas.
Número de registro:
México, D.F
ISBN-----------------
IV
ÍNDICE
INTRODUCCIÓN ............................................................................................................................................ 1
PROGRAMA DE ESTUDIOS .......................................................................................................................... 2
FICHA TÉCNICA ............................................................................................................................................. 3
DESARROLLO DE LA PRÁCTICA O PROYECTO........................................................................................... 5
INSTRUMENTOS DE EVALUACION ............................................................................................................. 13
GLOSARIO ................................................................................................................................................... 26
BIBLIOGRAFÍA ............................................................................................................................................ 39
1
INTRODUCCIÓN
El desarrollo de las tecnologías de información y comunicaciones demandan que las
aplicaciones de cómputo que se diseñan en la actualidad contengan un conjunto de
servicios cada vez más sofisticados por lo cual, los estudiantes de ingeniería en sistemas
computacionales deben ser formados en las disciplinas que les permitan desarrollar
soluciones más complejas. Estas soluciones deben realizarse en el paradigma que permite
el desarrollo de programas en un tiempo y costo razonable como lo es el orientado a
objetos. En este curso deberán utilizarse las características de flujos de entrada/salida,
interfaces gráficas así como las adicionales: programación concurrente, móvil y/o
distribuida necesarias todas ellas en las aplicaciones que se demandan en el campo
profesional y empresarial actual.
El lenguaje de programación orientado a objetos Java incorpora las funcionalidades
mencionadas que permitirá a los alumnos realizar las prácticas necesarias para la
adquisición de las habilidades y competencias solicitadas en el desarrollo de aplicaciones
informáticas actuales.
2
PROGRAMA DE ESTUDIOS
Presencial NO Presencial PresencialNO
Presencial
EP1 Elabora programas que
guardan/recuperan información de los
dispositivos de la computadora.
Estrategia de Apertura,
Actividad focal introductoria,
Estrategia de desarrollo,
Elaboración y Guía de ejercicios
expuestos en clase ,
Estrategia de cierre,
Resolución de ejercicios.
Solución de ejercicios
propuestos para clase y
extraclase
X X N/A N/A N/ABibliografía,
Apuntes
Computadoras,
Pizarrón,
Videoproyector
Documental
Lista de cotejo para
"Elaboración de programas
que guardan/recuperan
información de los
dispositivos de la
computadora".
EP2 Diseña programas utilizando
estructuras de datos dinámicas
Estrategia de Apertura,
Actividad focal introductoria,
Estrategia de desarrollo,
Elaboración y Guía de ejercicios
expuestos en clase ,
Estrategia de cierre,
Resolución de ejercicios.
Solución de ejercicios
propuestos para clase y
extraclase
X X N/A N/A N/ABibliografía ,
manual de prácticas
Computadoras,
Pizarrón,
Videoproyector
Documental
Lista de cotejo para "Diseño
de programas utilizando
diferentes estructuras de
datos".
ED2 Realiza práctica sobre la
implementación de interface gráfica de
usuario con componentes AWT que
responden a los eventos, y solucionan un
problema dado.
Estrategia de Apertura,
Actividad focal introductoria,
Estrategia de desarrollo,
Transición de las aplicaciones
creadas con AWT hacia SWING,
elaboración de nuevas
aplicaciones con componentes
adicionales de SWING
Ejercicios expuestos en clase ,
Estrategia de cierre,
Resolución de ejercicios
Solución de ejercicios
propuestos para clase y
extraclase
X X N/A N/A
Práctica de
implementació
n de eventos
Bibliografia, manual
de prácticas
Computadoras,
Pizarrón,
Videoproyector
Campo
Guía de Observación para
práctica "Implementación de
interface gráfica de usuario
con componentes AWT que
responden a los eventos".
ED3 Realiza práctica sobre la
implementación de interface gráfica de
usuario con componentes SWING que
responden a los eventos, y solucionan un
problema dado.
Estrategia de Apertura,
Actividad focal introductoria,
Estrategia de desarrollo,
Elaboración y complemento de
las aplicaciones de SWING para
que respondan a los eventos
del teclado/ratón
Ejercicios expuestos en clase ,
Estrategia de cierre,
Resolución de ejercicios
Solución de ejercicios
propuestos para clase y
extraclase
N/A X N/A N/A
Práctica
Crear
aplicación con
swing y awt
Bibliografia, manual
de prácticas
Computadoras,
Pizarrón,
Videoproyector
Campo
Guía de Observación para
práctica "Implementación de
interface gráfica de usuario
con componentes SWING
que responden a los
eventos".
EP1 Elabora programas computacionales
utilizando concurrencia y apoyándose de
hilos y bibliotecas gráficas.
Estrategia de Apertura,
Actividad focal introductoria,
Estrategia de desarrollo,
Elaboración y Guía de
aplicaciones utilizando
interfaces gráficas e hilos
Ejercicios expuestos en clase ,
Estrategia de cierre,
Resolución de ejercicios.
Solución de ejercicios
propuestos para clase y
extraclase
X N/A N/A N/A N/ABibliografía, manual
de prácticas
Computadoras,
Pizarrón,
Videoproyector
Documental
Lista de Cotejo para
elaboración de " Programas
computacionales con hilos".
EC1 Resuelve cuestionario sobre el
manejo de conexiones de red.
Estrategia de Apertura,
Actividad focal introductoria,
Estrategia de desarrollo,
Exposición por parte del
profesor del manejo de
conexiones de red, Ejercicios
expuestos en clase ,
Estrategia de cierre
Resolución de ejercicios.
Reforzar lo expuesto por
el alumno, mediante
casos prácticos
X N/A N/A N/A N/APizarrón, manuales
y bibliografía
Computadoras,
Pizarrón,
Videoproyector
Documental
Cuestionario "Conceptos
sobre el manejo de
conexiones de red".
Computadoras,
Pizarrón,
Videoproyector
Campo
Guía de observación para
exposicion de conexiones a
red en el paradigma
orientado a objetos.
N/A N/A
Práctica
"Sincronizació
n de Hilos"
Bibliografia,
lenguaje de
programación
orientado a objetos
Computadoras,
Pizarrón,
Videoproyector
N/A X N/A N/A N/A
Apuntes,
Bibliografía
4. Programación para red
Al completar la unidad de aprendizaje el alumno
será capaz de:
Manejar conexiones de red en el paradigma orientado
a objetos para interactuar con otras aplicaciones.
12 0 12 8
ED1 Expone conexiones de red del
paradigma orientado a objetos a través de
la generación de sockets para la
comunicación de las aplicaciones.
Estrategia de Apertura,
Actividad focal introductoria,
Estrategia de desarrollo,
realización de ejemplos en
clase por parte del profesor
Ejercicios expuestos en clase ,
Estrategia de cierre
Resolución de ejercicios.
Reforzar el uso de
conexiones de red ,
mediante casos prácticos
8
Campo
Guía de Observación para
práctica "Distribución de
componentes en una
interface gráfica de usuario
utilizando los conceptos de
AWT".
3. Concurrencia
Al completar la unidad de aprendizaje el alumno
será capaz de :
- Construir Clases,aplicando conceptos avanzados de
Concurrencia, Espera, sincronización y notificación.
ED1 Realiza práctica sobre el manejo de
hilos y sincronización de estos dentro de
una clase utilizando conceptos de
concurrencia como espera, sincronización y
notificación.
Estrategia de Apertura,
Actividad focal introductoria,
Estrategia de desarrollo,
Elaboración y Guía de
aplicaciones utilizando hilos
Ejercicios expuestos en clase ,
Estrategia de cierre,
Resolución de ejercicios.
Solución de ejercicios
propuestos para clase y
extraclase
N/A
"Componentes
Gráficos"
Bibliografia,
lenguaje de
programación
orientado a objetos
Computadoras,
Pizarrón,
Videoproyector
12 0 12
12 0 12 8
Campo
Guía de Observación para la
práctica
"Manejo y Sincronización de
hilos".
X
2. Interfaces Gráficas
Al completar la unidad de aprendizaje el alumno
será capaz de:
- Diseñar programas de computadora con interfaces
gráficas de usuario.
ED1 Realiza práctica distribución de
componentes en una interface gráfica de
usuario utilizando los conceptos de AWT.
Estrategia de Apertura,
Actividad focal introductoria,
Estrategia de desarrollo,
Elaboración y Guía de
aplicaciones con interface
gráfica de usuario,
Ejercicios expuestos en clase .
Estrategia de cierre,
Resolución de ejercicios
Solución de ejercicios
propuestos para clase y
extraclase
N/A X N/A N/A
9 0 9 6
Documental
Cuestionario "Conceptos de
manejo de flujos de E/S y
estructuras dinámicas".N/A N/A N/A N/A
Apuntes
marcador
Pizarrón
dispositivos de
videoproyección,
bibliografía
Videoproyector
1. Flujos de E/S y estructuras de
datos
Al completar la unidad de aprendizaje el alumno
será capaz de:
- Crear aplicaciones para el manejo de información de
E/S de los dispositivos de la computadora mediante el
uso de estructuras de datos dinámicas.
EC1. Resuelve Cuestionario sobre flujos
de E/S y estructuras de datos dinámicas.
Estrategia de Apertura,
Actividad focal introductoria,
Estrategia de desarrollo,
Exposición por parte del
alumno del manejo de flujos y
estructuras de datos dinámicas,
Ejercicios expuestos en clase ,
Estrategia de cierre -
resolución de ejercicios.
Lectura,
Ejercicios de
indentificación de flujos,
estructuras de datos
X
PROYECTO PRÁCTICA TEÓRICA PRÁCTICA
TÉCNICA
CONTENIDOS PARA LA FORMACIÓN ESTRATEGIA DE APRENDIZAJE EVALUACIÓN
OBSERVACIÓNUNIDADES DE APRENDIZAJE RESULTADOS DE APRENDIZAJE EVIDENCIAS
TECNICAS SUGERIDAS ESPACIO EDUCATIVO
INSTRUMENTO
MOVILIDAD FORMATIVA
MATERIALES
REQUERIDOS
EQUIPOS
REQUERIDOS
TOTAL DE HORAS
PARA LA ENSEÑANZA
(PROFESOR)
PARA EL APRENDIZAJE
(ALUMNO)AULA LABORATORIO OTRO
UNIVERSIDADES PARTICIPANTES: UNIVERSIDAD POLITECNICA DE ZACATECAS
NOMBRE DE LA ASIGNATURA: TOPICOS DE PROGRAMACION ORIENTADA A OBJETOS
CLAVE DE LA ASIGNATURA: TPO-ES
OBJETIVO DE LA ASIGNATURA: El alumno será capaz de manejar un lenguaje orientado a objetos haciendo uso de las características adicionales: programación concurrente, móvil y/o distribuida.
PROGRAMA DE ESTUDIO
DATOS GENERALES
NOMBRE DEL PROGRAMA EDUCATIVO: INGENIERÍA EN SISTEMAS COMPUTACIONALES
OBJETIVO DEL PROGRAMA EDUCATIVO:Formar profesionistas competentes para: especificar, diseñar, construir, implantar, verificar, auditar, evaluar y mantener sistemas de tecnologías de la información que respondan a las necesidades de sus usuarios, mejorando los niveles de eficiencia, eficacia y productividad de las organizaciones en el entorno
globalizado, tomando en cuenta el factor humano.
TOTAL HRS. DEL CUATRIMESTRE: 120
FECHA DE EMISIÓN: Septiembre, 2011
3
FICHA TÉCNICA
TÓPICOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
Nombre: TÓPICOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
Clave: TPO-ES
Justificación: Para aprender a desarrollar soluciones más complejas haciendo uso del
paradigma de programación de aplicaciones
Objetivo:
El alumno será capaz de manejar un lenguaje orientado a objetos haciendo
uso de las características adicionales: programación concurrente, móvil y/o
distribuida.
Habilidades:
Lectura, escritura, interlocución, síntesis de la información, aplicación de
principios tecnológicos, relaciones en y con el entorno organizacional,
relaciones interpersonales, toma de decisiones, lectura en segunda lengua,
interlocución en segunda lengua.
Competencias
genéricas a
desarrollar:
capacidades
capacidades
previsas
Análisis y síntesis, resolver problemas, aplicar los conocimientos en la
práctica, adaptarse a nuevas situaciones, cuidar la calidad, gestionar la
información, trabajar en forma autónoma y en equipo.
Capacidades a desarrollar en la asignatura Competencias a las que contribuye la
asignatura
Verificar componentes del sistema en el
diseño para satisfacer las necesidades
del cliente mediante la semántica
propuesta por el modelo.
Seleccionar códigos de programación
para satisfacer el diseño mediante un
estándar adecuado del lenguaje.
Representar módulos mediante
estructuras de control utilizando una
filosofía de programación para obtener el
producto esperado por el cliente.
Plantear componentes tecnológicos para
cubrir las necesidades de la organización
Esquematizar requerimientos del cliente
por medio de un lenguaje de modelado
para garantizar el desarrollo óptimo del
sistema.
Codificar el algoritmo de solución en un
lenguaje de programación para
satisfacer las necesidades del cliente a
través de procedimientos de desarrollo.
Proponer infraestructura tecnológica
4
mediante el establecimiento de
soluciones estratégicas de TIC’s.
Probar procesos integrales para
corroborar la fiabilidad de la solución de
TIC’s desarrollada, mediante los
lineamientos y estándares establecidos
en el mercado.
para establecer las bases que
fundamenten una solución informática
mediante estrategias de TIC’s.
Validar soluciones integrales de TIC’s
para satisfacer las necesidades de la
organización conforme a los estándares
del mercado.
Estimación de
tiempo (horas)
necesario para
transmitir el
aprendizaje al
alumno, por
Unidad de
Aprendizaje:
Unidades de aprendizaje
HORAS TEORÍA HORAS PRÁCTICA
Presencial
No
presencial
Presencial
No
presencial
1. Flujo de E/S y estructura de
datos 9 0 9 6
2. Interfaces gráficas 12 0 12 8
3. Concurrencia 12 0 12 8
4. Programación para red 12 0 12 8
Total de horas por
cuatrimestre: 120
Total de horas por
semana: 8
Créditos:
7
5
Nombre de la asignatura: Tópicos de Programación Orientada a Objetos
Nombre de la Unidad de
Aprendizaje:
2. Interfaces Gráficas
Nombre de la práctica o
proyecto:
Componentes Gráficos
Número: 01
Duración (horas) : 4 hrs
Resultado de
aprendizaje:
Diseñar programas de computadora con interfaces gráficas de
usuario.
Requerimientos (Material
o equipo):
Pizarrón, Diapositivas, Diagramas y esquemas, Equipo de cómputo, Cañón.
Laboratorio de cómputo.
Editor y compilador de un lenguaje de programación orientado a objetos.
Actividades a desarrollar en la práctica:
1. El profesor recuerda al alumno la importancia del uso de interfaces gráficas, para el correcto
diseño de soluciones en este paradigma de programación.
2. El profesor muestra a los alumnos la forma correcta de crear las interfaces gráficas en esta
práctica.
3. El profesor organiza equipos de 2 personas para la realización de la práctica.
4. El alumno desarrollará los programas asignados en la práctica.
5. El profesor supervisa el trabajo del alumno una vez que está terminado.
6. El alumno ejecuta los programas para verificar que se cumplen las especificaciones de los
problemas asignados en la práctica.
7. El profesor supervisa el correcto funcionamiento de cada uno de los programas.
1. Algunas prácticas propuestas son:
Realiza los siguientes ejercicios usando el grupo de clases de AWT :
a) Crear el siguiente frame.
b) Crear las ventanas y botones que se muestran a continuación:
DESARROLLO DE LA PRÁCTICA O PROYECTO
6
c) Dibujar las siguientes figuras:
d) Crear la interfaz gráfica de un chat room
e) Crear la interfaz gráfica de un cajero automático
Evidencias a las que contribuye el desarrollo de la práctica:
ED1. Realiza práctica distribución de componentes en una interface gráfica de usuario utilizando los
conceptos de AWT.
7
Nombre de la asignatura: Tópicos de Programación Orientada a Objetos
Nombre de la Unidad de
Aprendizaje:
2. Interfaces Gráficas
Nombre de la práctica o
proyecto:
Implementación de Eventos.
Número: 02
Duración (horas) : 4 hrs.
Resultado de
aprendizaje:
Diseñar programas de computadora con interfaces gráficas de
usuario.
Requerimientos (Material
o equipo):
Pizarrón, Diapositivas, Diagramas y esquemas, Equipo de cómputo, Cañón.
Laboratorio de cómputo.
Editor y compilador de un lenguaje de programación orientado a objetos.
Actividades a desarrollar en la práctica:
1.- El profesor recuerda al alumno la importancia del uso de interfaces gráficas y el manejo de
eventos, para el correcto diseño de soluciones en este paradigma de programación.
2-. El profesor muestra a los alumnos la forma correcta de implementar eventos sobre interfaces
gráficas en esta práctica.
3.- El profesor organiza equipos de 2 personas para la realización de la práctica.
4.- El alumno desarrollará los programas asignados en la práctica.
5.- El profesor supervisa el trabajo del alumno una vez que está terminado.
6.- El alumno ejecuta los programas para verificar que se cumplen las especificaciones de los
problemas asignados en la práctica.
7.- El profesor supervisa el correcto funcionamiento de cada uno de los programas.
1. Algunas prácticas propuestas son:
Realiza los siguientes ejercicios usando adecuadamente el control de eventos sobre componentes AWT
a) Crear el siguiente menú y programar los eventos necesarios para que estos responda a las
diferentes opciones del menú.
DESARROLLO DE LA PRÁCTICA O PROYECTO
8
b) Crear los eventos necesarios para que el chat room creado en la práctica 1 responda al envío de
mensajes, al botón salir y a todos los demás componentes que se incluyen.
c) Crear los eventos necesarios para que la interface del cajero automático se comporte como un
cajero real, es decir que responda a los eventos de todos los componentes incluidos en la
interface gráfica.
Evidencias a las que contribuye el desarrollo de la práctica:
ED2. Realiza práctica sobre la implementación de interface gráfica de usuario con componentes AWT que
responden a los eventos, y solucionan un problema dado.
9
DESARROLLO DE LA PRÁCTICA O PROYECTO
Nombre de la asignatura: Tópicos de Programación Orientada a Objetos
Nombre de la Unidad de
Aprendizaje:
2. Interfaces Gráficas
Nombre de la práctica o
proyecto:
Crear aplicación con swing y awt.
Número: 03
Duración (horas) : 4 hrs
Resultado de
aprendizaje:
Diseñar programas de computadora con interfaces gráficas de
usuario.
Requerimientos (Material
o equipo):
Pizarrón, Diapositivas, Diagramas y esquemas, Equipo de cómputo, Cañón.
Laboratorio de cómputo.
Editor y compilador de un lenguaje de programación orientado a objetos.
Actividades a desarrollar en la práctica:
1.- El profesor recuerda al alumno la importancia de aplicar las interfaces gráficas y el manejo de
eventos en aplicaciones reales, utilizando este paradigma de programación (POO).
2-. El profesor muestra a los alumnos la forma correcta de implementar eventos sobre interfaces
gráficas en esta práctica en una aplicación real.
3.- El profesor organiza equipos de 2 personas para la realización de la práctica.
4.- El alumno desarrollará los programas asignados en la práctica.
5.- El profesor supervisa el trabajo del alumno una vez que está terminado.
6.- El alumno ejecuta los programas para verificar que se cumplen las especificaciones de los
problemas asignados en la práctica.
7.- El profesor supervisa el correcto funcionamiento de cada uno de los programas.
1. Algunas prácticas propuestas son:
Crear la siguiente aplicación utilizando Componentes gráficos como AWT y Swing y los eventos para
controlar esta. La aplicación debe permitir capturar pedidos con los datos que se muestran en la pantalla,
debe permitir también capturar o seleccionar artículos para agregar al pedido tal como se muestra en la
figura, además debe tener un botón de ayuda, así mismo debe responder a todos los botones que
aparecen en la interface gráfica .
10
Evidencias a las que contribuye el desarrollo de la práctica:
ED3. Realiza práctica sobre la implementación de interface gráfica de usuario con componentes SWING
que responden a los eventos, y solucionan un problema dado.
11
DESARROLLO DE LA PRÁCTICA O PROYECTO
Nombre de la asignatura: Tópicos de Programación Orientada a Objetos
Nombre de la Unidad de
Aprendizaje:
3. Concurrencia
Nombre de la práctica o
proyecto:
Sincronización de Hilos.
Número: 04
Duración (horas) : 12 Hrs
Resultado de
aprendizaje:
Construir clases aplicando conceptos avanzados de Concurrencia,
Espera, Sincronización y notificación.
Requerimientos (Material
o equipo):
Pizarrón, Diapositivas, Diagramas y esquemas, Equipo de cómputo, Cañón.
Laboratorio de cómputo.
Editor y compilador de un lenguaje de programación orientado a objetos.
Actividades a desarrollar en la práctica:
1.- El profesor recuerda al alumno la importancia de aplicar la programación concurrente mediante
la utilización de hilos y sus herramientas, dentro de este paradigma de programación (POO).
2-. El profesor muestra a los alumnos la forma correcta de implementar Hilos en aplicaciones en un
lenguaje de programación orientado a objetos.
3.- El profesor organiza equipos de 2 personas para la realización de la práctica.
4.- El alumno desarrollará los programas asignados en la práctica.
5.- El profesor supervisa el trabajo del alumno una vez que está terminado.
6.- El alumno ejecuta los programas para verificar que se cumplen las especificaciones de los
problemas asignados en la práctica.
7.- El profesor supervisa el correcto funcionamiento de cada uno de los programas.
1. Algunas prácticas propuestas son:
a) Desarrollar el siguiente ejercicio utilizando hilos. La idea es programar la fábula de la carrera entre
la liebre y la tortuga. Creamos una liebre en un hilo, La tortuga en otro hilo, tomar en cuenta que
la liebre es más rápida que la tortuga. La aplicación debe permitir poner a dormir a la liebre, bajar
el ritmo a la tortuga y al final por ningún motivo debe ganar la liebre.
b) Utilizando hilos programar el clásico algoritmo del Productor- Consumidor, el cual nos dice que no
se puede consumir hasta que se produzca algo.
12
c) Programar el Clásico algoritmo de la cena de los filósofos.
Evidencias a las que contribuye el desarrollo de la práctica:
ED1. Realiza práctica sobre el manejo de hilos y sincronización de estos dentro de una clase utilizando
conceptos de concurrencia como espera, sincronización y notificación.
14
Universidad Politécnica de __________________________________________________
Nombre de la Asignatura: Tópicos de Programación Orientada a Objetos
INSTRUCCIONES: Conteste las siguientes preguntas basándose para ello en la bibliografía
básica y complementaria sugerida.
1. ¿Qué es una Estructura de Datos?
2. ¿Qué son los arreglos?
3. ¿Qué son los registros?
4. ¿Cómo acceder a los campos individuales de un registro?
5. ¿Cuáles son los métodos de asignación de memoria?
6. ¿Qué son los Punteros?
7. ¿Qué es una Pila?
8. Enliste los tipos de pilas y sus funciones básicas.
9. ¿Qué es una lista enlazada?
10. Enliste las operaciones que pueden realizarse sobre una lista enlazada.
11. ¿Qué es una lista doblemente enlazada?
12. ¿Qué es un nodo dummy?
13. ¿Cómo verificar una función o procedimiento recursivo?
14. ¿Cómo determinar si un problema puede resolverse recursivamente?
15. ¿Cómo funcionan los árboles?
16. ¿Cuáles son los tipos de árboles?
17. ¿Qué es un árbol binario de búsqueda?
18. ¿Qué es un árbol binario de expresión?
19. Ejemplifique los tipos de recorrido de un árbol binario.
20. ¿Cómo obtener la expresión aritmética a partir de un Árbol de expresión?
21. Describa la diferencia entre los métodos de búsqueda secuencial y búsqueda binaria.
CUESTIONARIO
“CONCEPTOS DE MANEJO DE FLUJOS DE E/S Y ESTRUCTURAS DINÁMICAS”
U1, EC1
15
INSTRUMENTOS DE EVALUACIÓN
LISTA DE COTEJO
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
NOMBRE DEL ALUMNO: MATRICULA: FIRMA DEL ALUMNO:
PRODUCTO: PARCIAL: FECHA:
MATERIA: CLAVE:
NOMBRE DEL PROFESOR: FIRMA DEL PROFESOR:
INSTRUCCIONES Revisar las actividades que se solicitan y marque en los apartados “SI” cuando la evidencia se cumple; en
caso contrario marque “NO”. En la columna “OBSERVACIONES” ” mencione indicaciones que puedan ayudar
al alumno a saber cuáles son las condiciones no cumplidas, si fuese necesario.
Valor
Característica a cumplir (Reactivo)
Cumple Observaciones Si No
5%
Puntualidad para iniciar y terminar con su evaluación.
5%
Manejo de estándar de desarrollo. Programa desarrollado con el
estándar establecido.
5%
Documentación del programa Nombre de la escuela, Carrera,
Asignatura, Profesor, Alumnos, Matricula, Grupo, número
programa Lugar y fecha de entrega. Descripción del programa.
5%
Correcta Compilación y manejo de excepciones (cero errores de
sintaxis, léxico y semánticos, además uso adecuado de
interfaces para el control de errores en tiempo de ejecución).
Identificación del programa (explicación)
a. Describe el uso de palabras reservadas en su solución
15%
b. Desarrollo del programa con el uso adecuado del
lenguaje y del paradigma orientado a objetos 30%
c. Explicación general de la lógica y funcionamiento del
programa.
15%
Preparación del programa. Dominio de la solución propuesta. El
programa funciona correctamente y cumple con el objetivo.
20%
Presentación formal y seria al momento de la evaluación
100% Calificación
LISTA DE COTEJO PARA ELABORACIÓN DE PROGRAMAS QUE
GUARDAN/RECUPERAN INFORMACIÓN DE LOS DISPOSITIVOS DE LA
COMPUTADORA
U1, EP1
16
INSTRUMENTOS DE EVALUACIÓN
LISTA DE COTEJO
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
NOMBRE DEL ALUMNO: MATRICULA: FIRMA DEL ALUMNO:
PRODUCTO: PARCIAL: FECHA:
MATERIA: CLAVE:
NOMBRE DEL PROFESOR: FIRMA DEL PROFESOR:
INSTRUCCIONES
Revisar las actividades que se solicitan y marque en los apartados “SI” cuando la evidencia se cumple; en
caso contrario marque “NO”. En la columna “OBSERVACIONES” ” mencione indicaciones que puedan ayudar
al alumno a saber cuáles son las condiciones no cumplidas, si fuese necesario.
Valor
Característica a cumplir (Reactivo)
Cumple Observaciones Si No
5%
Puntualidad para iniciar y terminar con su evaluación.
5%
Manejo de estándar de desarrollo. Programa desarrollado con el
estándar establecido.
5%
Documentación del programa Nombre de la escuela, Carrera,
Asignatura, Profesor, Alumnos, Matricula, Grupo, número
programa Lugar y fecha de entrega. Descripción del programa.
10%
Correcta Compilación y manejo de excepciones (cero errores de
sintaxis, léxico y semánticos, además uso adecuado de
interfaces para el control de errores en tiempo de ejecución).
Identificación del programa (explicación)
a. Describe el uso de palabras reservadas en su solución
15%
b. Desarrollo del programa con el uso adecuado del
lenguaje y del paradigma orientado a objetos 30%
c. Explicación general de la lógica y funcionamiento del
programa. 15%
Preparación del programa. Dominio de la solución propuesta. El
programa funciona correctamente y cumple con el objetivo.
15%
Presentación formal y seria al momento de la evaluación
100% Calificación
LISTA DE COTEJO PARA DISEÑO DE PROGRAMAS UTILIZANDO DIFERENTES
ESTRUCTURAS DE DATOS
U1, EP2
17
UNIVERSIDAD POLITÉCNICA DE ____________________
NOMBRE DE LA ASIGNATURA : Tópicos de Programación Orientada a Objetos
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a
evaluar se cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga
que hacer comentarios referentes a lo observado.
Valor del
reactivo
Característica a cumplir (reactivo)
CUMPLE OBSERVACIONES
SI NO
20% La aplicación incluye Frameworks y paneles
5% La aplicación fue entregada a tiempo
20% La aplicación contiene diversos componentes como botones,
textfield, textArea.
25% Utiliza varias distribuciones como BoxLayout, GridLayout y
FlowLayout
10% Implementa las clases necesarias para dibujo
10% Utiliza componentes embebidos
10% La interface gráfica está totalmente concluida
100% CALIFICACIÓN:
GUÍA DE OBSERVACIÓN PARA PRÁCTICA DE LA DISTRIBUCIÓN DE
COMPONENTES EN UNA INTERFACE GRÁFICA DE USUARIO UTILIZANDO LOS
CONCEPTOS DE AWT
U2, ED1
18
UNIVERSIDAD POLITÉCNICA DE ____________________
NOMBRE DE LA ASIGNATURA : Tópicos de Programación Orientada a Objetos
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a
evaluar se cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga
que hacer comentarios referentes a lo observado.
Valor del
reactivo
Característica a cumplir (reactivo)
CUMPLE OBSERVACIONES
SI NO
20% Implementa al menos 2 interfaces Listeners como action
listener, mouseListener , etc.
5% La aplicación fue entregada a tiempo.
25% Implementa Control de eventos de Forma externa (los
implementa en una clase externa) sobre componentes AWT
25% Implementa Control de eventos dentro de la misma clase. Lo
anterior sobre componentes AWT
10% La aplicación tiene funcionalidad
15% Implementa el control de eventos y respuestas de un menú de
opciones.
100% CALIFICACIÓN:
GUÍA DE OBSERVACIÓN PARA PRÁCTICA DE LA IMPLEMENTACIÓN DE
INTERFACE GRÁFICA DE USUARIO CON COMPONENTES AWT QUE RESPONDA
A LOS EVENTOS
U2, ED2
19
UNIVERSIDAD POLITÉCNICA DE ____________________
NOMBRE DE LA ASIGNATURA : Tópicos de Programación Orientada a Objetos
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a
evaluar se cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga
que hacer comentarios referentes a lo observado.
Valor del
reactivo
Característica a cumplir (reactivo)
CUMPLE OBSERVACIONES
SI NO
5% La aplicación fue entregada a tiempo.
20% La aplicación tiene Funcionalidad.
20% Implementa Componentes Swing
20% Implementa control de eventos sobre componentes swing.
Dentro de la misma clase.
10% Implementa eventos sobre componentes swing. El control de
los eventos es en una clase externa.
10% La aplicación tiene control de errores
10% Cada botón responde y genera un resultado
5 Agrega componentes exclusivos de Swing , por lo tanto estos
no están en AWT
100% CALIFICACIÓN:
GUÍA DE OBSERVACIÓN PARA PRÁCTICA DE LA IMPLEMENTACIÓN DE
INTERFACE GRÁFICA DE USUARIO CON COMPONENTES SWING QUE
RESPONDEN A LOS EVENTOS.
U2, ED3
20
UNIVERSIDAD POLITÉCNICA DE ____________________
NOMBRE DE LA ASIGNATURA : Tópicos de Programación Orientada a Objetos
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a
evaluar se cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga
que hacer comentarios referentes a lo observado.
Valor del
reactivo
Característica a cumplir (reactivo)
CUMPLE OBSERVACIONES
SI NO
5% Entregó a tiempo la aplicación.
20% La aplicación tiene Funcionalidad.
20% Utiliza al menos 3 hilos en la aplicación
20% Utiliza Notify en la aplicación
10% Utiliza wait en la aplicación
5% Utiliza start en la aplicación
10% Los hilos están sincronizados
10% Los Hilos no se bloquean
100% CALIFICACIÓN:
GUÍA DE OBSERVACIÓN PARA PRÁCTICA DE MANEJO Y SINCRONIZACIÓN DE
HILOS
U3, ED1
21
INSTRUMENTOS DE EVALUACIÓN
LISTA DE COTEJO
DATOS GENERALES DEL PROCESO DE EVALUACIÓN
NOMBRE DEL ALUMNO: MATRICULA: FIRMA DEL ALUMNO:
PRODUCTO: PARCIAL: FECHA:
MATERIA: CLAVE:
NOMBRE DEL PROFESOR: FIRMA DEL PROFESOR:
INSTRUCCIONES
Revisar las actividades que se solicitan y marque en los apartados “SI” cuando la evidencia se cumple; en
caso contrario marque “NO”. En la columna “OBSERVACIONES” ” mencione indicaciones que puedan ayudar al
alumno a saber cuáles son las condiciones no cumplidas, si fuese necesario.
Valor
Característica a cumplir (Reactivo)
Cumple Observaciones Si No
Presentación. La aplicación cumple con los requisitos de: 5% a. Buena Presentación
5% b. se entregó a tiempo 5% c. es funcional
15% La aplicación utiliza Wait 30%
La aplicación implementa notify 15%
La aplicación sincroniza los hilos 10% La aplicación permite dormir los hilos
10% Se puede cambiar la prioridad entre los hilos 5% Los hilos no se bloquean
100% TOTAL
LISTA DE COTEJO PARA LA ELABORACIÓN DE PROGRAMAS
COMPUTACIONALES CON HILOS
U3, EP1
22
Universidad Politécnica de __________________________________________________
Nombre de la Asignatura: Tópicos de Programación Orientada a Objetos
INSTRUCCIONES: Conteste las preguntas y realice los ejercicios señalados.
1. Which code is legal? 1. try {
2. s = new ServerSocket("localhost", 5432);
3. }
1. try {
2. s = new ServerSocket(5432);
3. }
1. try {
2. s = new ServerSocket();
3. p=5432;
4. s.add(ServerSocket, p);
5. }
2. What type of exception is thrown by the group of sentences? while (true) {
try {
Socket s1 = s.accept();
OutputStream s1out = s1.getOutputStream();
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(s1out));
bw.write(“Hello Net World!\n”);
bw.close();
s1.close();
} catch (_______________) {
e.printStackTrace();
}
3. What packages are needed to use sockets? (choose all that apply) 1. java.net.io 2. java.io.net 3. java.io.* 4. java.net.* 5. java.io 6. java.net 7. java.stream.io 8. java.stream.net
CUESTIONARIO DE CONCEPTOS SOBRE EL MANEJO DE CONEXIONES DE RED
U4, EC1
23
4. Explain the structure of the package java.net, classes and methods. Check the API
documentation
Exercises
1. Implement a Minimal TCP/IP Server.
1 import java.net.*;
2 import java.io.*;
3
4 public class SimpleServer {
5 public static void main(String args[]) {
6 ServerSocket s = null;
7
8 // Register your service on port 5432
9 try {
10 s = new ServerSocket(5432);
11 } catch (IOException e) {
12 e.printStackTrace();
14
15 // Run the listen/accept loop forever
16 while (true) {
17 try {
18 // Wait here and listen for a connection
19 Socket s1 = s.accept();
20
21 // Get output stream associated with the socket
22 OutputStream s1out = s1.getOutputStream();
23 BufferedWriter bw = new BufferedWriter(
24 new OutputStreamWriter(s1out));
25
26 // Send your string!
27 bw.write(“Hello Net World!\n”);
28
29 // Close the connection, but not the server socket
30 bw.close();
31 s1.close();
32
33 } catch (IOException e) {
34 e.printStackTrace();
35 } // END of try-catch
36
37 } // END of while(true)
38
39 } // END of main method
40
41 } // END of SimpleServer program
24
2. Implement a Minimal TCP/IP Client on a different computer.
1 import java.net.*;
2 import java.io.*;
3
4 public class SimpleClient {
5
6 public static void main(String args[]) {
7
8 try {
9 // Open your connection to a server, at port 5432
10 // localhost used here
11 Socket s1 = new Socket("127.0.0.1", 5432); //use server ip address
12
13 // Get an input stream from the socket
14 InputStream is = s1.getInputStream();
15 // Decorate it with a "data" input stream
16 DataInputStream dis = new DataInputStream(is);
17
18 // Read the input and print it to the screen
19 System.out.println(dis.readUTF());
20
21 // When done, just close the steam and connection
22 dis.close();
23 s1.close();
24
25 } catch (ConnectException connExc) {
26 System.err.println("Could not connect.");
27
28 } catch (IOException e) {
29 // ignore
30 } // END of try-catch
31
32 } // END of main method
33
34 } // END of SimpleClient program
3. Based on examples, implement a chat using networking. Use a graphic interface.
25
UNIVERSIDAD POLITÉCNICA DE ____________________
NOMBRE DE LA ASIGNATURA : Tópicos de Programación Orientada a Objetos
INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados “SI” cuando la evidencia a
evaluar se cumple; en caso contrario marque “NO”. En la columna “OBSERVACIONES” ocúpela cuando tenga
que hacer comentarios referentes a lo observado.
Valor del
reactivo
Característica a cumplir (reactivo)
CUMPLE OBSERVACIONES
SI NO
10% Puntualidad para iniciar y concluir su trabajo de identificación
de programas.
10% Manejo de estándar de desarrollo. Programa desarrollado con
el estándar establecido.
5% Documentación del programa Nombre de la escuela, Carrera,
Asignatura, Profesor, Alumnos, Matricula, Grupo, Lugar y fecha
de entrega. Descripción del programa.
10% Sintaxis (cero errores sintácticos y de lógica).
10% Identificación del programa (explicación)
a. Describe el uso de palabras reservadas en su solución
15% b. Desarrollo del programa con el uso adecuado del
lenguaje y del paradigma orientado a objetos
5% c. Explicación del programa (clara y precisa)
5% d. Expresión no verbal (gestos, miradas y lenguaje
corporal).
20%
Preparación del programa. Dominio de la solución propuesta.
Habla con seguridad. Identifica claramente tipos de datos,
palabras clave y estructura de programas del paradigma
orientado a objetos.
10% Presentación y arreglo personal
100% CALIFICACIÓN:
GUÍA DE OBSERVACIÓN PARA EXPOSICIÓN DE CONEXIONES A RED EN EL
PARADIGMA ORIENTADO A OBJETOS
U4, ED1
26
GLOSARIO
Abstraction (abstracción): Propiedad y/o técnica de software que oculta los detalles de la
implementación. Java soporta abstracción de clases y abstracción de métodos. La
abstracción de métodos se define separando el uso de un método sin conocer como está
implementado ese método. Si decide combinar la implementación, el programa cliente será
afectado. De modo similar la abstracción de clases oculta la implementación de la clase del
cliente.
Acoplamiento (coupling) Medida del grado en el que un objeto o componente depende de
otro. Bajo acoplamiento minimiza las dependencias y es una indicación de un buen diseño
Agregación (aggregation) Relación en la que un objeto se compone o está construido de uno
o más objetos, de modo que la colección completa representa un todo. Las relaciones de
agregación se especifican entre clases y se reflejan en instancias de objetos
Algoritmo (algorithm) Método que describe cómo se resuelve un problema en término de las
acciones que se ejecutan y especifica el orden en que se ejecutan estas acciones. Los
algoritmos ayudan al programador a planificar un programa antes de su escritura en un
lenguaje de programación.
Ámbito de clase (scope class) Las variables privadas definidas fuera de los métodos internos
a la clase tienen ámbito de clase. Son accesibles desde todos los métodos del interior de la
clase, con independencia del orden en que están definidas. Los métodos privados también
tienen ámbito de clase.
Análisis (análysis) Proceso de identificación, modelado y descripción de lo que hace un
sistema y de cómo trabaja.
Análisis orientado a objetos OOA (object oriented Analysis) Análisis realizado en términos de
objetos, clase y relaciones de clases.
Anulación de métodos (method overriding) La anulación o sustitución de métodos significa
que se puede modificar el método de una subclase que está definida originalmente en una
superclase.
Anular o sustituir (override) Donde un método de una subclase redefine y especializa un
método del mismo tipo heredado de una superclase.
Aplicación (application) Programa autónomo. Java tal como cualquier programa escrito
utilizando un lenguaje de alto nivel. Las aplicaciones se pueden ejecutar desde cualquier
computadora con un intérprete Java. Las aplicaciones no están sometidas a las
restricciones impuestas a los applets de Java. Una clase aplicación debe contener un
método main. Se utiliza como sinónimo de programa.
27
Applet Tipo especial de programa Java que se puede ejecutar (correr) directamente en un
navegador Web o en un visualizador applet. A un applet se le imponen diversas restricciones
de seguridad. Por ejemplo, un applet no se puede ejecutar operaciones de entrada/salida
en un sistema de usuario y por consiguiente no puede leer o escribir archivos o transmitir
virus de computadora.
Argumento (argument) Información pasada a un método. Los argumentos se suelen llamar
también parámetros. Un método que espera recibir argumentos debe contener una
declaración de argumentos formales por cada argumento actual como parte de la cabecera
del mismo. Cuando se invoca a un método, los valores de los argumentos actuales 8reales)
se copia en los correspondientes argumentos formales. Véase parámetro actual (actual
parameter).
Array (array, vector, lista) Objeto contenedor que almacena una secuencia indexada de los
mismos tipos de datos. Normalmente los elementos individuales se referencian por el valor
de un índice. El índice es un valor entero que suele comenzar, en 0 para el primer elemento,
1 para el segundo y así sucesivamente.
Asignación (assignment) Almacenamiento de un valor en una variable. La sentencia de
asignación es aquella que implementa la asignación y utiliza un operador de asignación
Asociación (association) Una relación entre dos clases tales como una instancia de una
clase referencia a una instancia de otra clase.
Asociatividad (associativity) Orden en que se evalúan operadores de igual precedencia o
prioridad dentro de una expresión. La asociatividad por la izquierda produce una evaluación
de izquierda a derecha y la asociatividad por la derecha conduce a una evaluación de
derecha a izquierda.
Asociatividad de operadores (operador associativity) Orden en que se evalúan operadores de
igual procedencia dentro de una expresión. La asociatividad a izquierda produce una
evaluación de izquierda a derecha, la sociatividad derecha es derecha a izquierda.
AWT (ABSTRACT WINDOW TOOLKIT) Colección de clases (java.awt.*) que se utiliza para
implementar interfaces gráficas de usuario. Contiene componentes tales como botones,
etiquetas, campos de texto, áreas de texto, barras de desplazamiento, cajas de verificación y
menús. Las clases de AWT proporcionan una interfaz independiente de la plataforma para
desarrollo de programas visuales e interfaces gráficas de usuario.
Biblioteca de clases (class library) Colección organizada de clases que proporciona un
conjunto de componentes y abstracciones reutilizables
Binario (binary) Representación numérica en base 2. En esta base sólo se utilizan los dígitos
0 y 1. Las posiciones de los dígitos representan potencias sucesivas de 2. Véase bit.
28
Binding (ligadura)
Bit Dígito binario que puede tomar dos valores posibles: 0 y 1. Los bits son elementos
básicos de construcción de programas y datos
Bloque (block) Sentencias y declaraciones encerradas entre una pareja de llaves (apertura y
cierre, ´{´ y ´}´. Por ejemplo, un cuerpo de una clase, es un bloque, al igual que el cuerpo de
un método, un bloque delimita un nivel de ámbito.
Boolean (bolean, lógico) Tipos primitivos de datos en Java. El tipo bolean puede tomar sólo
dos valores: true (verdadero) y false (falso).
Bytecode (códigos de byte) Resultado de la compilación del código fuente Java. La JVM (Java
Virtual Machine) interpreta los bytecodes con la finalidad de ejecutar un programa Java. El
bytecode es independiente de la máquina y se puede ejecutar en cualquier máquina que
tenga un entorno de ejecución. Los bytecodes se almacenan en archivos class.
Cabecera de la clase (class header) Cabecera de la definición de la clase. La cabecera
proporciona un nombre a la clase y define sus accesos. También describe si es una clase
ampliada (extends) de una superclase o implementa interfaces (implements)
Clase (clase) Colección encapsulada de datos y operaciones que actúan sobre los datos. El
concepto de clase es fundamental en programación orientada a objetos. Una clase consta
de métodos y datos. Los métodos de una clase definen el conjunto de operaciones
permitidas sobre los datos de una clase (sus atributos). Una clase puede tener muchas
instancias de la clase u objetos.
Clase abstracta (abstract class) Superclase que contiene características comunes
compartidas por las subclases. Se declaran utilizando la palabra reservada abstract. Las
clases abstractas pueden contener datos y métodos, pero no se pueden instanciar (crear
objetos); es decir, no se pueden crear objetos de esta clase.
Clase cliente (client class) Clase que hace uso de otra clase.
Clase concreta (concrete class) Una clase diseñada para crear (tener) instancias de objetos
Clase hija (child class) Véase subclase.
Clase interna (inner class) Una clase interna es una clase empotrada en otra clase. Las
clases internas permiten definir pequeños objetos auxiliares y unidades de comportamiento
que hacen a los programas más simples y concisos.
Clase interna (inner class) Término utilizado para describir una clase declarada dentro de
otra declaración de clases.
29
Clase miembro (member class) Término general utilizado para describir una clase declarada
dentro de otra declaración de clases.
Clase padre (parent class) Igual concepto que superclase
Clase Principal (main class) Una clase que contiene un método principal (main). Mensaje
(message) Petición enviada a un objeto que solicita realizar una operación con nombre. El
mensaje incluye un nombre y una lista opcional de parámetros.
Código fuente (source code) Texto de un programa antes de ser compilado. El texto se crea y
edita utilizando en editor ordinario y contiene caracteres normales, legibles. El código fuente
ser utiliza para las personas para describir programas sus componentes han de ser lo más
legibles y comprensibles posibles.
Cohesivo (cohesive) Modo de describir una clase que tiene partes fuertemente integradas,
cada una de las cuales contribuye a describir las mismas abstracciones.
Comentario (comment) Trozo de texto que tienen como objetivo documentar el programa y
mostrar cómo se ha construido. Los comentarios no son sentencias de programación y son
ignorados por el compilador. En Java los comentarios están precedidos por dos barras (//)
en una línea o encerrados entre /+ y */ en múltiples líneas.
Compilación (compilation) Proceso de traducción de un lenguaje de programación.
Normalmente este proceso implica la traducción de un lenguaje de programación de alto
nivel a lenguaje de programación de bajo nivel, o el formato binario de un conjunto de
instrucciones específicas. La traducción se realiza con un programa denominado
compilador. Un compilador java traduce los programas en bytecodes.
Compilación (compiling) Nombre dado al proceso de traducción del código fuente a
bytecodes.
Compilador (compiler) Programa de software que realiza un proceso de compilación
(traducción del lenguaje fuente a lenguaje máquina) de un programa escrito en un lenguaje
de programación de alto nivel. En el caso de Java, es un programa que traduce el código
fuente Java en bytecode. El compilador de J2SDK se denomina javac.
Compilador en tiempo de ejecución (inst-in.time compiler) Compilador capaz de compilar
cada bytecode de una vez, y a continuación se reinicia al código compilado repetidamente
cuando se ejecuta el bytecode.
Constante (constant) Una variable declarada en final en Java. Una constante de la clase
normalmente está compartida por todos los objetos de la misma clase; por consiguiente,
una constante de clase se declara normalmente como static. Una constante local es una
constante declarada dentro de un método.
30
Constante de la clase (class constant) Variable definida como final y static.
Constructor (constructor) Método especial utilizado para inicializar el estado de un nuevo
objeto. El constructor permite crear objetos utilizando el operador new. El constructor tiene
exactamente el mismo nombre que la clase que lo contiene. Los constructores se pueden
sobrecargar con el objetivo de facilitar la construcción de objetos con diferentes tipos de
valores iniciales.
Constructor por defecto (default constructor) Constructor que no tiene parámetros y sirve
para inicalizar un objeto
Contenedor (container) Clase que implementa una estructura de datos que contiene una
colección de objetos. Se utiliza también para representar un componente IGU, Interfaz
Gráfica de Usuario (GUI; Graphical User Interface) que contiene una colección de otros
componentes IGU
Cuerpo de la clase (class body) Cuerpo de una definición de una clase que agrupa las
definiciones de los miembros de la clase: campos, métodos y clases anidadas.
Declaración (declaration) Define las variables, métodos y clases en un programa.
Definición (defnition) Término sinónimo de declaración, aunque en el proceso de escritura
de un programa se suele diferenciar
Depuración (debugging) Proceso de encontrar, fijar y eliminar errores en un programa. Para
estas tareas se suele utilizar una herramienta de programación conocida como depurador.
Depurador (debugger) Herramienta para ayudar a la localización de errores de un programa:
jdbc se proporciona como parte del J2SDK. Un depurador puede establecer puntos de
interrupción (breakpoint), parada simple a través de un programa e inspecciona el estado de
las variables.
Diagrama de clases (class diagram) Una representación gráfica construida utilizando una
notación formal para visualizar y documentar las relaciones entre clases de un sistema.
Diseño (diseño) Actividad de definir como se debe estructurar e implementar un programa.
Diseño orientado a objetos OOD (object.oriented design) Diseño realizado en términos de
objetos, clases y selecciones de clases.
Encapsulamiento, encapsulación (encapsulation) Localización y protección de las
características internas y estructura de un objeto. Combinación de métodos y datos en una
única estructura de datos. En Java se conoce como clase
31
En red (networking) Propiedad de los ordenadores y programas de ordenador que las
permiten comunicarse unos con otros a través de una red.
Ejecutar, ejecución (run) Hacer funcionar un programa instrucción a instrucción.
Entero (integer) Un número completo (no es un número real con coma decimal) tal como –5,
1, 10 y 2002. Los enteros se pueden representar en Java de dos formas: utilizando el tipo
primitivo int o utilizando una instancia de una clase integer.
Escenario (scenario) Descripción o conjunto de secuencias de sucesos que se utilizan para
describir parte del comportamiento de un programa.
Etiqueta (tag) Una instrucción HTML que indica a un navegador Web como visualizar un
documento. Las etiquetas se encierran entre corchetes tales como <html>, <i>, <b>, y
</html>.
Excepción (exception) Un suceso (evento) no previsto que indica que un programa ha fallado
en alguna forma. Las excepciones se representan por objetos excepción en java. Las
excepciones se manejan con un bloque de sentencias try/catch.
Expresión (expresión) Una subparte de una sentencia que representa un valor. Por ejemplo,
la expresión aritmética ´2+5´ representa el valor 7. En Java, cualquier construcción
sintáctica legal que represente un valor es una expresión.
Expresión booleana lógica (Bolean expresión) Una expresión cuyo resultado es del tipo lógico
(boolean, bol), Operadores tales como && y || toman operandos lógicos y producen un
resultado lógico. Los operadores relacionales toman operandos de tipos diferentes y
producen un resultado lógico.
Final (final) Modificador de clases, datos, métodos y variables locales. Una clase final no se
puede extender, un dato final o variable local es una constante y un método final no se
puede anular (sustituir) en una subclase.
Flujo (Stream) Término que describe el flujo de datos continuo de una dirección entre un
emisor y un receptor.
Formal parameter (parámetro formal) Parámetros definidos en la signatura o declaración
del método.
Fuente del suceso (event source) El objeto que genera el suceso.
Función (function) Construcción matemática a la que se pueden aplicar valores y que
devuelve un resultado.
32
Herencia (inheritance) Una relación entre clases en que una subclase se extiende desde una
superclase.
Hilo (thread) Un flujo de ejecución de una tarea que tiene un principio y un fin, en un
programa.
HTML (Hypertext Markup Language) Lenguaje de ´script´ o de marcas para diseñar páginas
Web para creación y compartición de documentos electrónicos integrados preparados para
multimedia e Internet.
J2SK El Java 2 Software Kit distribuido por Inn proporciona el conjunto de herramientas para
escribir programas Java, contiene las bibliotecas de clase Java, el compilador Java (javac) y
una colección de otras utilidades. Las versiones se numeran en secuencia con 1.2, 1.3, 1.4
(la más reciente dentro de la implementación de la plataforma Java 2).
IDE (integrated development) Software para ayudar a lso programadores a escribir código
eficientemente.
Identificador (identifier) Nombre de una variable, método, clase, interfaz o paquete.
IGU, Interfaz Gráfica de Usuario (GUI, Graphical User Interface) Una interfaz es un programa
que se implementa utilizando componentes AWT tales como cuadros, botones, etiquetas,
campos de texto, etc.
Implementación (implementation) La actividad de escribir, compilar, probar y depurar el
código de un programa.
Inferencia de software (software engineering) Conjunto de etapas en la realización de un
programa. Estas etapas suelen ser de análisis, diseño, implementación, pruebas, entregas y
mantenimiento.
Instancia (instance) Objeto de una clase
Instanciación (instantiation) Proceso de creación de un objeto de una clase.
Instanciación (instantion) Proceso de crear un objeto de una clase.
Interfaz (interface) Una interfaz se trata como una clase especial de Java. Cada interface se
compila en un archivo independiente de bytecode, tal como una clase ordinaria. No se
puede crear una instancia de la interfaz. La estructura de una interfaz Java es similar al de
una clase abstracta en la que se puede tener datos y métodos. Los datos, sin embargo,
deben ser constantes y los métodos pueden tener sólo declaraciones sin implementación.
En Java existe sólo herencia simple y una clase puede heredar de una superclase. Esta
restricción se puede superar por el uso de una interfaz.
33
Interprete (Interpreter) Software que interpreta y ejecuta bytecode de Java. La máquina
virtual Java (JVM) es un intérprete de bytecodes de Java que proporciona una emulación de
software de un procesador de máquina.
JDK (Java development kit) vease J25KJ. Define el APJ de Java y contiene un conjunto de
utilidades de líneas de órdenes tales como javac (compilador) y Java (interprete).
Jerarquía de clases (class hierarchy) Colección de clases organizadas en términos de
relaciones de superclases y subclases.
JVM, Máquina Virtual Java (Java Virtual Machine) Una emulación de software de una
máquina que puede ejecutar bytecodes de Java. Proporciona una implementación del
procesador, sistema de memoria e interfaces a dispositivos hardware. Todos los programas
Java se compilan a bytecodes que se ejecutan por una JVM.
Lenguaje de consulta (SQL standard query language) Lenguaje de computadora para realizar
consultas y actualizaciones en una base de datos.
Lenguaje de programación (programming language) Notación utilizada por los
programadores para escribir programas. un lenguaje tiene una sintaxis (las palabras y
símbolos utilizadas para escribir códigos de programa), una gramática (las reglas que
definen una secuencia de palabras y símbolos significativos y correctos) y semántica. Java
es un lenguaje de programación.
Ligadura dinámica (dynamic binding) Ligadura o enlace del nombre de un método al cuerpo
de dicho método que se ejecuta mientras que un programa se está ejecutando, al contrario
del enlace que se produce cuando se compila el programa.
Ligadura estática (static briding) Enlace o conexión de un nombre de un método a un cuerpo
del método ejecutados por el compilador mediante el análisis léxico del texto de un
programa,
Lista de parámetros (parameter list) Lista de valores dados a un método para inicializar sus
parámetros o la lista de parámetros de las declaraciones de variables.
Llamada por referencia (call-by-reference) Término utilizado cuando y una referencia de un
objeto se pasa como un parámetro de un método. La referencia se copia (llamada por valor)
pero no el objeto referenciado
Llamada por valor (call- Paso de un argumento a un método en el que una copia del
by.value) valor del argumento real se toma y se sitúa en una posición de memoria
independiente, representada por el correspondiente argumento formal. Todos los
parámetros se pasan en Java por valor, pero hay otros lenguajes de programación que
proporcionan también el método de paso por referencia.
34
Manejador de sucesos (event handler) Un método en el que el objeto “oyente” se ha
diseñado para hacer algún proceso especificado cuando ocurre un suceso determinado.
Marco de trabajo (framework)
Mensaje (message) Una petición enviada a un objeto que solicita ejecutar una operación
determinada. El mensaje incluye un nombre y una lista opcional de parámetros.
Método (method) Una colección de sentencias que se agrupan juntos para ejecutar una
operación.
Method object
Método abstracto (abstract method) Método que sólo tiene signatura y no tiene cuerpo, y
debe estar contenido dentro de una clase abstracta. Su implementación se realiza en la
subclase. Se representa mediante el modificador abstract. Los métodos abstractos deben
implementarse en una subclase no abstracta incluso aunque no se utilicen.
Método de la clase (class method) Sinónimo de método estático. Un método que se puede
invocar sin crear una instancia de la clase. Para definir métodos de clases, se ha de poner
un modificador static en la declaración del método.
Método de la instancia (Instance method) Un método (o procedimiento) declarado por un
clase que se llama por sus objetos de instancias (o los de las subclases).
Método estático (static method) Véase método de una clase. Método declarado en una clave
que se llama directamente sin necesidad de que el objeto sea llamado.
Modificador (Modifer) Una palabra reservada en Java que especifica las propiedades de los
datos, métodos y clases, y como se pueden utilizar. Ejemplos de modificaciones son public,
private y static.
Moldeado (casting, conversión) Proceso de convertir un valor de un tipo de dato primitivo en
otro tipo primitivo o conversión de un objeto de un tipo de dato en otro tipo de objeto. Por
ejemplo, (int) 4.5 convierte 4.5 en un valore entero y (cuadrado)c convierte un objeto c en
uno de tipo cuadrado
Moldear (cast,, convertir) Cambiar explícitamente el tipo de una expresión utilizando una
expresión de conversión (cast).
Multihilo (mulithreading) Propiedad de un programa para ejecutar diversas tareas
simultáneamente dentro de un programa.
Nented class (Nented class) Una clase estática declarad dentro de otra clase. Denominada
también una clase anidad de nivel superior.
35
Objeto (object) Véase instancia. Una instancia de una clase específica. En general, se puede
construir cualquier número de objetos a partir de una clase.
Objeto instancia (instante object) Un objeto instancia es un representación de un valor del
tipo implementado por su clase. La clase declara un objeto de variables, instancia que
forman la estructura de un objeto y un conjunto de métodos que se pueden llamar en un
objeto.
Ocultación de la información (information hiding) Un concepto de ingeniería de software que
se refiere a la ocultación y protección de las características internas y la estructura de un
objeto.
Operador (operator) Operaciones para valores de tipos primitivos de datos. Ejemplos de
operadores son +,-,*,/ y %
Oyente de sucesos (event listener) El objeto que recibe y maneja el suceso.
Palabra clave, reservada (keyword) En Java, una palabra clave (o palabra reservada) es una
palabra definida como parte del lenguaje de programación, Un nombre de palabra reservada
no se puede utilizar para ningún otro propósito.
Palabra reservada, Palabra definida como parte del lenguaje Java
Palabra reservada (reserved word) Véase palabra clave.
Paquete (package) Colección de clases agrupadas juntas.
Parámetro (parameter) Los parámetros formales se especifican en una declaración de un
método en una llamada a un método,
Parámetro actual o real (actual parameter) Valor que se pasa a un método cuando se invoca
ese método. Los parámetros reales (actuales) deben concordar en tipo, orden y número con
los parámetros formales. Cuando se invoca a un método, los valores de los argumentos
actuales se copian en los correspondientes argumentos formales.
Parámetro formal (formal parameter) Declaración de una variable parámetro en una lista de
parámetros de un método.
Paso por referencia (pass-by-reference) Un término utilizado cuando una referencia de un
objeto se pasa como un parámetro de un método. Cualquier cambio al objeto local que
ocurre dentro del cuerpo del método afectará el objeto original que se pasará como
argumento.
Paso por valor (pass-by value) Un término utilizado cuando una copia de una variable de un
tipo primitivo de dato se pasa a un parámetro de un método. La variable real externa al
36
método no está afectado, con independencia de los cambios hechos al parámetro formal
dentro del método.
Patrón (pattern) Disposición avanzada de clases y objetos
Plataforma de Java 2. (Java 2 Plataform) Nombre de la versión más reciente de Java.
Precedencia, prioridad (precedence) Prioridad de un operador en una expresión utilizada
para determinar el orden en que se evalúan los operadores.
Precedencia de operadores (operador precedence) Prioridad de un operador dentro de una
expresión utilizando para determinar en qué orden de evaluarán los operadores.
Privado (private) Un modificador de miembros de una clase, un miembro privado sólo puede
ser referenciado en el interior de la clase.
Programa (program) Un conjunto de instrucciones (o sentencias) que describen alguna
aplicación o actividad ejecutada en una computadora.
Programación controlada por sucesos (event-drive programming) La programación de
gráficos en Java está controlada por sucesos. En programación controlada por sucesos (o
eventos) los códigos se ejecutan por activación de sucesos, tales como pulsar un botón o
mover el ratón
Programación imperativa (imperative programming) Programación basada en los principios
de instrucción o secuencias de órdenes, selección, repetición, variables y asignación.
También se conoce a esta programación como procedimental o por procedimientos. Java es
un lenguaje imperativo.
Programación orientada a objetos OOP (objectoriented programming) Un enfoque de
programación que implica organización de objetos y sus comportamiento en clases de
componentes realizables.
Programador (programmer) Personas que diseña, escribe, prueba y depura programas.
Protegido (protected) Un modificador para los miembros de una clase. Un miembro
protegido de una clase que puede ser utilizado en la clase que está declarada o cualquier
subclase derivada de esa clase.
Prueba/ probar (test) En términos de programación, la actividad de verificación sistemática
de que un programa funciona correctamente.
Prueba (testing) Véase prueba
Público (public) Un modificador de clases, datos y métodos a los que se puede acceder por
todos los programas.
37
Recolección de basura (garbage collection)
Red (network) Infraestructura que permite a los ordenadores comunicarseunos con otros.
Sentencia (statement) Una unidad de código que representa una acción o una secuencia de
acciones. Las sentencias se ejecutan en el orden en que están escritas y siempre terminan
en un punto y coma.
Sentencia compuesta (compound statement) Sentencia contenedora que consta de una
secuencia de otras sentencias y declaraciones. En Java se utilizan llaves ({ y }) para delimitar
una sentencia compuesta.
Semántica (semantics) Conjunto de reglas que definen el significado de un programa
sintácticamente válido. Java toma un enfoque operacional en semántica de modo que el
comportamiento y por consiguiente el significado de un programa se define por la máquina
sobre la que está ejecutando el programa.
Sobrecarga (overload) Proporciona dos o más métodos con el mismo nombre en el mismo
ámbito, diferenciado por tener listas de parámetros diferentes.
Sobrecarga de un método (method overloading) La sobrecarga de n método significa que se
puede definir los métodos con el mismo nombre de una clase siempre que haya diferencia
en sus parámetros.
Socket (socket) Término que describe la facilitación de comunicación entre un servidor y un
cliente.
Subclase (subclass) Una clase que hereda o se extiende de una superclase.
Subtipo (subtype) Un tipo que hereda o se extiende de un supertipo.
Suceso (event) Un tipo de señal que indica ha ocurrido alguna acción. Normalmente se
asocia con sucesos de entrada de interfaces gráficas de usuario (p.e. el “clic” de un ratón,
pulsación de una tecla, etc.) El programa puede responder o ignorar el suceso. Véase
evento.
Superclase (superclass) Una clase que puede ser heredada de otra clase.
Supertipo (supertype) Un tipo que es heredado por un subtipo.
Sintaxis (Syntax) Un conjunto de reglas que especifica la composición de programas a partir
de palabras reservadas, símbolos y caracteres. La sintaxis define la estructura de los
programas legales en términos de cómo las palabras reservadas y otros caracteres se
pueden escribir y en qué orden.
38
Tipo abstracto de datos, TAD (ADT, Abstract Data Type) Especificación formal de un tipo de
dato que consta de un nombre, un conjunto de operaciones y una descripción algebraica del
comportamiento de las operaciones.
Tipo de datos (data type) Los tipos de datos se utilizan para definir variables. Java soporta
los tipos de datos primitivos y tipos de datos objeto.
Tipo de dato primitivo (primitive data type) Los tipos de datos primitivos son byte, short, int,
long, float,double,bolean y char
Tipo primitivo (primitive type) Un tipo definido como parte del lenguaje Java en vez del
declarado por una clase o intefaz. Se denomina también tipos incorporados.
UML (UML) Lenguaje unificado de modelado que proporciona notación estándar visual para
documentar el análisis y diseño de sistemas orientados a objetos.
Unicode (unicode) Un sistema de codificación de caracteres internacionales gestionados por
el consorcio Unicode, Java soporta Unicode.
Variable de clase (class variable) Sinónimo de variable estática.
Variable de instancia (instance variable) Una variable declarada en una clase. Un miembro
dato no estático de una clase. Una copia de un método de una instancia existe en cada
instancia de la clase que se crea.
Variable local (local variable) Variable definida en el interior de una definición de un método.
Variable estática (static variable) Véase variable de clase.
Variable parámetro (parameter variable) Variable declarad en una lista de parámetros
formados de un método y que se inicializa cuando se llama al método. Los bloques catch
también utilizan variables parámetro.
39
BIBLIOGRAFÍA
Básica
TÍTULO: Como programar en Java, 7a Edición
AUTOR: M. Deitel, Harvey y J. Deitel, Paul
AÑO: 2008
EDITORIAL O REFERENCIA: Pearson
LUGAR Y AÑO DE LA EDICIÓN España, 2008
ISBN O REGISTRO: 9789702611905
TÍTULO: Programación en Java 3ª. Edición
AUTOR: SÁNCHEZ Allende, Jesús; HUECAS Hernández, Toribio Gabriel
AÑO: 2009
EDITORIAL O REFERENCIA: Mc Graw Hill
LUGAR Y AÑO DE LA EDICIÓN España, 2009
ISBN O REGISTRO: 9788448161071
TÍTULO: Java 2 Interfaces Gráficas y Aplicaciones para Internet 3ª.
AUTOR: CEBALLOS, Francisco Javier
AÑO: 2008
EDITORIAL O REFERENCIA: Alfa Omega
LUGAR Y AÑO DE LA EDICIÓN México, 2008
ISBN O REGISTRO: 9789701514122
Complementaria
TÍTULO: Java Manual de referencia 7ª Edición
AUTOR: SCHILDT, Herbert
AÑO: 2008
EDITORIAL O REFERENCIA: McGraw-Hill
LUGAR Y AÑO DE LA EDICIÓN España, Octubre 2008
ISBN O REGISTRO: 9789701062883
TÍTULO: Introducción a la Programación con Java
AUTOR: DEAN, John
AÑO: 2009
EDITORIAL O REFERENCIA: Mc Graw Hill
LUGAR Y AÑO DE LA EDICIÓN España, Abril 2009
ISBN O REGISTRO: 9789701072783
40
Sitio Web
Java Tutorials (2011.). Disponible en: http://download.oracle.com/javase/tutorial/
Consultado el 9 de septiembre del 2011.
Documentación técnica de Java. Disponible en: http://download.oracle.com/javaee/
Consultado el 9 de septiembre del 2011.
Página Oficial de la Tecnología Java (2011), Java.Net The source for Java Technology
Collaboration. Disponible en http://www.java.net. Consultado el 9 de septiembre de 2011.
Deitel y Deitel (2011), Java TM How to Program, 7/e CyberClassroom. Página Oficial del
Libro Como programar en Java. Disponible en:
http://myphlip.pearsoncmg.com/phproducts/index.cfm?vbookid=720. Consultado el 9 de
septiembre del 2011.
Java Tutorials (2011. Disponible en: http://download.oracle.com/javase/tutorial/
Consultado el 9 de septiembre del 2011.
Documentación técnica de Java. Disponible en: http://download.oracle.com/javaee/
Consultado el 9 de septiembre del 2011.
Fernando Berzal Galiano (2011). Apuntes de programación orientada a objetos en Java:
Fundamentos de programación y principios de diseño. ISBN 84-611-1405-1 / 978-84-611-
1405-4. Disponible en: http://elvex.ugr.es/decsai/java/index.html. Consultado el 9 de
septiembre del 2011.