Este apartado contiene una serie de instrucciones que es importante que sigas para
iniciar el estudio de cada lección.
Java 1.0 es la primera versión del lenguaje de programación Java creado por Sun
Microsystems. En la fecha de publicación de este curso se está utilizando la versión
1.3. El lenguaje Java es un lenguaje completo que fue diseñado para crear programas para
internet.
Para seguir el curso se necesita el siguiente material, que se encuentra a su
disposición en el Aula Mentor:
- Un ordenador personal con el sistema operativo Windows95, Windows98 o superior.
- El JDK 1.3 o cualquier versión superior, correctamente instalado en el ordenador.
- Opcionalmente puedes tener el programa JCreator u otro entorno de desarrollo
correctamente instalado en el ordenador.
- Un programa para comprimir y descomprimir archivos, como WinZip u otro similar.
- Un modem de comunicaciones.
- Una cuenta de acceso a la red Internet.
- Un navegador IExplorer o Netscape versiones 3 o superiores.
Los ejemplos deberás tenerlos forzosamente en su ordenador para poder realizar algunos
de los ejercicios. De hecho se te recomienda descargar el curso para poder utilizarlo
localmente en tu ordenador.
Las páginas y ejemplos del curso se encuentra en
http://www.mentor.mecd.es/cursoJava/cursoJava.ZIP
que mide aproximadamente 1.3 MB.
Este fichero deberás descargarlo y desempacarlo sobre la raíz de tu
disco duro. Los ficheros desempacados se acomodarán en subdirectorios de un directorio
llamado cursoJava. Para entrar al curso en modo
local deberás abrir con tu navegador la página:
c:\cursoJava\index.html
La última versión del JDK puedes descargarla directamente de
http://java.sun.com.
Si lo deseas, para el curso puedes usar la versión 1.3 del JDK que puedes descargar
directamente del servidor del :
http://www.mentor.mecd.es/cursoJava/JDK13.ZIP
y mide aproximadamente 2.6 MB. Encontrarás instrucciones para instalar el JDK en la Lección 01.
El material del curso tiene muchos ejemplos desarrollados específicamente para el
curso. Muchos de ellos son applets y además hay un applet que se usa mucho para mostrar
el código de los programas de ejemplo. Así que cada página del curso puede incluir
varios applets. Esto hace sufrir a los navegadores, que todavía son novatos en este tipo
de páginas y a veces no saben qué hacer con tanto applet y ... se rinden. Tú no te
rindas, vuelve a cargar la página, normalmente el navegador cargará la página y todos
sus applets en un segundo intento. A veces hay que cerrar el navegador y volver a empezar.
Estos fallos son molestos, pero seguramente irán desapareciendo con las versiones más
modernas de los navegadores. Si los fallos son demasiado frecuentes es posible que
necesites un navegador nuevo o un ordenador más potente.
Aunque tal vez cuando comiences el curso ya estarán disponibles versiones superiores
del JDK a la 1.3, este curso usará sólo lo que se encuentra en la versión 1.1.8
porque para ejecutar los programas creados por la versión 1.2 y superiores es necesario
que el usuario cuente con versiones muy modernas del Netscape o el Explorer y en el
sistema educativo todavía son comunes los navegadores anteriores. Además los conceptos
fundamentales de Java están claramente integrados en el JDK desde su primera versión.
Las versiones posteriores tienen adiciones que son útiles, pero no son necesarias para un
primer curso.
El plan del curso es muy sencillo y uniforme. El alumno deberá realizar las siguientes
actividades para cada una de las lecciones del curso:
1. leer el material de cada lección,
2. estudiar los ejemplos,
3. realizar los ejercicios,
4. enviar los ejercicios señalados (si los hay) al tutor.
6. realizar tres evaluaciones:
La primera al terminar la lección 05.
La segunda al terminar la lección 12.
La tercera al terminar el curso.
Los ejemplos y los ejercicios son una parte fundamental del curso.
Los ejemplos fueron desarrollados específicamente para este curso.
Ilustran los conceptos fundamentales de cada lección. Todos los ejemplos son
programas que funcionan y por lo tanto tienen aspectos adicionales a los que se desean
ilustrar. Así el alumno estará expuesto desde un principio a aspectos del lenguaje Java
que aún no ha estudiado. Esto es inevitable pero también es conveniente pues el
programador debe aprender a buscar en el código las partes que le interesen aunque a
veces no entienda el resto. Al hacerlo estará ejercitando esta habilidad y al mismo
tiempo estará familiarizándose con temas que estudiará posteriormente.
Muchos ejemplos son applets. En tales casos el alumno tendrá una versión del ejemplo
funcionando en la misma página de la lección. Si el ejemplo no es un applet, el alumno
tendrá que usar la línea de comandos en una ventana del DOS para ejecutar el ejemplo. En
ambos casos deberá mirar lo que el ejemplo hace ya sea interactuando con la interfaz
gráfica, pasándole parámetros al llamarlo o simplemente observando lo que muestra. En
todos los casos tendrá a la mano el código Java y deberá estudiar el código
encontrando en él las partes relevantes. Finalmente el alumno deberá modificar el
código con un editor de textos (por ejemplo el WordPad) cambiando alguna cosa, ya sea un
texto, un color, o cualquier cosa que le ayude a asegurar que ha comprendido el programa y
que lo puede dominar. Luego deberá compilar y ejecutar para observar los cambios que ha
hecho. Este proceso es fundamental para que se familiarice con la programación y
comprenda a fondo los conceptos. Resumiendo, el estudio de los ejemplos debe hacerse
siguiendo estos pasos:
- Interactuar con el programa o applet y observar lo que hace.
- Identificar en el código las partes relevantes a los conceptos que ilustra.
- Realizar modificaciones sencillas
- Compilar, ejecutar y verificar las modificaciones.
Los ejercicios de cada lección fueron diseñados para que el alumno
practique escribiendo programas que usen los conceptos aprendidos en el material de la
lección. En los ejercicios deberá escribir programas y applets, compilarlos, corregir
errores de compilación, volver a compilar, ejecutar, corregir errores de funcionamiento,
hasta llegar finalmente al resultado que se le pide. Esta actividad cíclica de escribir
código, compilarlo, ejecutarlo y corregirlo es en lo que consiste la actividad del
programador. El alumno no debe desfallecer ante la aparición de errores de compilación.
Son normales e inevitables. De hecho, se estima que sólo el 10% del tiempo de trabajo de
un programador se dedica a escribir código nuevo, mientras que el 90% restante lo dedica
a corregir y depurar lo que ha escrito. No debe extrañar pues al alumno que la mayor
parte del tiempo que dedique al curso lo pasará haciendo los ejercicios.
No se han incluido muchos ejercicios porque se pretende que el alumno les dedique
tiempo no solo a obtener una versión de lo que se le pide sino a depurarla e incluso
mejorarla.
Al terminar los ejercicios de una lección deberás enviar el código que has escrito a
tu tutor junto con un e-mail explicando las dudas que le hayan quedado. Recibirás
después de unos días comentarios a tu trabajo y consejos para mejorarlo. Es conveniente
que realices las modificaciones que el tutor te pida y vuelvas a enviarle los ejercicios
corregidos.
Las evaluaciones son conjuntos de preguntas que el alumno deberá
responder y enviar al tutor. Con ellas se verifica que el alumno ha aprendido los
conceptos fundamentales del curso. Las evaluaciones no pueden medir la habilidad que el
alumno haya adquirido como programador y eso es lo más importante de su aprendizaje. Por
lo tanto las evaluaciones no pueden considerarse medidores del aprovechamiento del alumno.
La mayor parte del aprovechamiento se irá midiendo en cada lección con los ejercicios
que vaya realizando. El tutor le mantendrá informado de su nivel de aprovechamiento a
través de los comentarios a sus ejercicios. De todas formas las evaluaciones servirán
para medir de manera resumida y puntual la adquisición de los conocimientos teóricos
más importantes.
Recomendaciones específicas para las lecciones.
Lección 1 |
|
Esta lección deberá resultarte fácil de
comprender. La mayor dificultad en esta lección consistirá en utilizar por primera vez
el compilador, el intérprete de programas de Java y aprender a ejecutar applets usando
páginas Web. Lo que aprenderás en esta lección lo seguirás usando durante todo el
curso. No te preocupes en este momento de comprender cada detalle de los programas, no es
el momento de hacerlo. Aquí debe bastarte hacer que todo funcione. |
Lección 2 |
|
Esta es una lección bastante teórica y
fundamental para todo el curso. Todavía no es momento de preocuparse por detalles de los
programas. En lo que hay que presta atención es en el conceptos de clase
y en la idea fundamental de la programación orientada a objetos. |
Lección 3 |
|
Es posible que esta lección te resulte más
difícil que otras por la sutileza de los conceptos presentados. En general este tipo de
conceptos se van aclarando con el tiempo y la práctica, así que no te desanimes si te
resulta difícil. Los ejercicios de esta lección son particularmente importantes y
requieren mucho trabajo. |
Lección 4 |
|
El estudio de los tipos básicos de variables
puede resultar un poco árido. Trata de pasar rápidamente por esta lección. Léela y haz
los ejercicios rápidamente y sin mucho detenimiento. Tendrás muchas ocasiones de
practicar los conceptos de esta lección a lo largo de todo el curso. Revisa la
documentación del JDK para familiarizarte con las clases del paquete java.lang.
Presta particular atención a las clases String
y StringBuffer que te resultarán de gran
utilidad a lo largo de todo el curso. |
Lección 5 |
|
Si eres principiante en la programación, estudia
con cuidado esta lección. No dudes en pedir ayuda al asesor para comprender bien su
contenido. No hay que preocuparse demasiado por las etiquetas, se usan poco. Sólo recuerda
que en algún lugar las has visto en uso y cuando las necesites, repasa otra vez la
lección. En cambio, la claúsula condicional if ... else,
el for( ; ; ), el while,
el do...while y el switch
con sus case serán el pan nuestro de cada
día, así que hay que dominarlos a fondo. Si ya tienes experiencia en otros lenguajes de
programación, esta lección te resultará muy fácil, sin embargo presta particular
atención al try {...} catch (Exception e) {...}
que probablemente te resulte poco familiar. Si vienes de Pascal, ¡cuidado con el switch!
No olvides poner break al terminar cada case. |
Lección 6 |
|
En esta es la lección aprenderás a usar componentes
para poder poner diferentes objetos gráficos. También verás los contenedores
que son los objetos en donde están los componentes. Para ayudarte a recordar los métodos
que tienes a su disposición es importante entender la estructura jerárquica de los
componentes.
Se estudia aquí el manejo de los cursores. |
Lección 7 |
|
Esta lección trata sobre uno de los temas más
complejos del paquete java.awt. Aquí
aprenderás a usar despliegues y con ello podrá desarrollar interfaces de
usuario tan complejas como desees. Es casi imposible memorizar todo lo que
convendría de este material. Así que lo importante es que lo entiendas y adquieras
habilidad en consultar la documentacion del JDK para saber qué métodos hay disponibles
en cada clase. Los ejercicios son importantes pero resultan algo tristes pues antes
de estudiar la lección 10 no se pueden aprovechar las interfaces desarrolladas. Para dar
mayor interés a los ejercicios de la lección se les ha dado una continuación en la
lección 10 donde se aprovechan sus interfaces para crear applets interactivos. |
Lección 8 |
|
En esta lección conocerás las ventanas,
los cuadros de diálogo y los menús. |
Lección 9 |
|
Esta lección no debe ser muy difícil y en
cambio debe ser divertida. Lo que en ella se aprende es el uso de las partes más
sencillas del paquete java.awt. Presta
atención especial a la clase Graphics. Es posible que estés acostumbrado a otras formas
de programar dibujos. En Java siempre es necesario usar un objeto de tipo Graphics y
también es indispensable obtenerlo a partir del componente en donde uno va a dibujar. Los
componentes se estudiaronn en la lección 6, pero toda la lección usa como
componente solamente applet para simplificar el tema. En los ejercicios creará varios
applets sencillos y al terminar la lección podrás considerarse un programador
principiante de applets. |
Lección 10 |
|
El control de eventos es lo que permite
crear interacciones en los programas gráficos. Sobra decir que esta lección es una de
las más importantes del curso. Es necesario haber dominado el material anterior para
poder concentrarse en los eventos y no distraerse con los componentes y
los despliegues que ocupan buena parte del código pero que, para los propósitos
de esta lección, son secundarios. Los ejercicos de esta lección son continuación de los
de la lecciones anteriores. Con esta lección se redondea el estudio del paquete java.awt. En lecciones posteriores se estudiarán
otros paquetes y técnicas para crear aplicaciones, pero ya se dará por conocido todo lo
referente a las interfaces gráficas. |
Lección 11 |
|
El material de esta lección no es muy
complicado pero es importante. Se trata de aprender a organizar el trabajo de
programación en clases reutilizables que puedan aprovecharse en diversas aplicaciones. El
material del curso se desarolla alrededor del ejemplo de la calculadora y sus diferentes
versiones. En los ejercicios se pide al alumno repetir la experiencia de la calculadora
pero ahora él solo, con un ejemplo más sencillo: un convertidor de pesetas a euros. A
pesar de tratarse de un asunto muy sencillo, el trabajo que se desarrolla para realizar
correctamente el redondeo, justifica ampliamente desarrollar una clase reutilizable que
contenga el código fundamental y que las aplicaciones usen este código y no alguna
versión chapucera que uno ponga allí con prisas y sin los cuidados necesarios. |
Lección 12 |
|
Mucho de lo que se estudia en esta lección ya
se ha visto en diversos ejemplos. Es un buen momento para precisar los conceptos y aclarar
todas las dudas que pueda tener sobre los applets. Al terminar esta lección ya deberás dominar
los applets. Esta vez deberás comprender todo el código de los ejemplos y de los
ejercicios, ya no deben quedar partes obscuras. A partir de este capítulo aprenderás a
usar otras clases que te permitirán enriquecer tus applets y crear nuevas aplicaciones,
pero ya no se volverá a estudiar la clase Applet. |
Lección 13 |
|
Esta lección podría ser más bien un
apéndice. No se pretende enseñar en ella el lenguaje JavaScript. Solamente se pretende
mostrar algunos ejemplos de cómo se puede aprovechar este lenguaje para enriquecer
páginas Web y sobre todo cómo se puede relacionar con los applet de Java. Los ejercicios
pretenden dar experiencia al alumno sobre la preparación de applets para poderlos
combinar con JavaScript. |
Lección 14 |
|
En esta lección el alumno aprenderá el
uso de hilos para crear aplicaciones concurrentes. |
Lección 15 |
|
Esta es una lección divertida. Sin duda es la
más avanzada del curso y probablemente la más difícil, pero también debe ser la más
satisfactoria. En esta lección el alumno aprenderá las técnicas avanzadas de
animación. El material sobre animación gira en torno a dos ejemplos: la mesa de billar y
un applet configurable sobre el que se mueven unos textos rebotando en las paredes. Son
ejemplos avanzados y contienen un número considerable de líneas de código. A pesar de
ello no son demasiado grandes y su estudio dará una experiencia muy útil al alumno. La
lección está organizada en dos páginas, no tanto por ser larga sino porque en ella hay
varios applets que son Runnable y, si todos
aparecieran en la misma página, el procesador podría tener demasiado trabajo. |
Lección 16 |
|
Esta lección trata de directorios, ficheros,
lectura y escritura en disco. Las clases File y RandomAccessFile se usan exclusivamente en
aplicaciones independientes, nunca en applets.
Los ejercicios llevan al alumno a crear un editor de textos sencillo y un manejador de una
tabla de datos. |
Lección 17 |
|
Esta lección trata de los temas relacionados
sobre corrientes de datos (Streams). El alumno debe separar mentalmente el tema de
directorios y ficheros del de las corrientes de datos a pesar de que encontrará mucha
relación entre ambos. Los Streams se usan tanto en relación con ficheros en
disco como en las comunicaciones por internet y en otros campos. Para apoyar esta
distinción, los ejemplos y ejercicios sobre Streams se presentan en la lección 18. Las
razones que relacionan esta lección con la anterior son dos:
(1) tanto RandomAccessFile como los Streams
usan métodos con los mismos encabezados para la escritura y la lectura,
(2) las clases sobre Streams están en el mismo paquete java.io que File y
RandomAccessFile. |
Lección 18 |
|
En este capítulo se estudian las clases del
paquete java.net que son útiles para la
programación de applets. El paquete java.net
tiene otras clases útiles para aplicaciones distribuidas en internet pero estas no se
estudian en la lección porque para aplicarlas sería necesario tener acceso como
programador a un servidor de internet y en este curso eso no es posible. Esencialmente se
estudia el tema de los URL's y se aplican las clases sobre Streams
para leer datos en servidores de internet. Hay una aplicación que ejemplifica, sin
profundizar mucho, el uso de los sockets. |
ANEXO |
|
Esta página pretende mostrar al alumno
diversos temas importantes y útiles de Java que por el alcance del curso ya no pueden
verse en detalle. El alumno podrá adentrarse en ellos si le interesan. |