GUÍA DEL PROFESOR -...

44
I INGENIERÍA EN SISTEMAS COMPUTACIONALES TÓPICOS DE PROGRAMACIÓN ORIENTADA A OBJETOS TPO-ES REV00

Transcript of GUÍA DEL PROFESOR -...

I

INGENIERÍA EN SISTEMAS

COMPUTACIONALES

TÓPICOS DE PROGRAMACIÓN

ORIENTADA A OBJETOS

TPO-ES

REV00

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.

13

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.