Download Programación (en Java,) con Fechas de

Document related concepts
no text concepts found
Transcript
Programación (Orientada a Objetos en Java)
Dr. Eric Jeltsch F.
Programa de la asignatura Programación Estructurada
TEL: 4-0-2
Requisitos Informales: Se espera que el alumno conozca un lenguaje de programación, así como la
rigurosidad en la implementación de algunos algoritmos clásicos.
Requisitos Formales: Aprobada la asignatura de Programación Estructurada.
Descripción de la Asignatura:
Es un curso del Ciclo Básico, teórico- práctico, que entrega las herramientas para implementar
problemas que surgen de diversos ámbitos, y con ello ser capaz de enfrentar diversas aplicaciones o
requerimientos dentro de su futuro ámbito profesional. El paradigma es la “Orientación a
Objeto”(POO) y el lenguaje de programación es Java, desde la versión 1.5 es suficiente.
Objetivos:
Al término del curso el alumno manejará los conceptos de la POO, y con ello tendrá la habilidad
para implementar sistemas de software con la incorporación de algoritmos clásicos en el lenguaje
Java. Además se mostrarán algunos ámbitos en donde Java es una buena opción de aplicarlo. En
los Laboratorios se realizan aplicaciones propias en el ámbito de los contenidos.
Metodología:
Para cumplir con los objetivos se utiliza una metodología de tipo Teórico - Práctico. La Teoría se
realiza mediante la presentación de los contenidos, fundamentos y algoritmos con ejemplos típicos
de los temas, utilizando transparencias y link apropiados. Se mantendrá un sitio Web con secciones
de ejercicios, problemas y pruebas de años anteriores. Para la sección de Práctica se entrega un
material de apoyo (Libro Guía ) que es donde se basan las actividades a realizar durante los
laboratorios. Las actividades se realizan en forma semanal con una duración de 1 bloque (2 horas).
Están programadas en total aprox. 14 sesiones de Laboratorios, frente al PC, además de 3
evaluaciones, y un Proyecto Final, que debe resumir (o contener) los temas abordados en los
Laboratorios y/o Teoría. La disposición y participación de los alumnos en clases y laboratorios es
fundamental. Por tal motivo, Se recomienda que se consideren 12 horas a la semana (extra a las
6 horas correspondientes al TEL), para el estudio y practicas personales de la asignatura.
Suponiendo que un alumno debe realizar en total 40 hrs. a la semana, como actividad
académica.
Exposiciones:
Otra forma de evaluar el desempeño del alumno es la de exponer o presentar una idea. Es así como
el proyecto final deberá ser defendido y presentado en público.
Evaluaciones:
La Nota de Laboratorio corresponde a considerar,
Promedio((control cada 2 semanas) + Proyecto(1+2) + Portafolio) = Nota Laboratorio.
La Nota de Teoría corresponde a considerar,
[(Prueba nº1 + Prueba nº2 + Prueba nº3)/3 ] = Nota de Teoría.
Nota Final corresponde a considerar,
Nota Laboratorio * 0.5 + Nota de Teoría * 0.5 = Nota Final.
_____________________________________________________________________________
Escuela de Ingeniería en Computación, Universidad de La Serena.
1
Programación (Orientada a Objetos en Java)
Dr. Eric Jeltsch F.
(En esta signatura solo da examen aquel alumno(a) que tenga nota sobre 4.0 en los laboratorios
Observación: Como una forma de retroalimentación y marcar un estándar de lo que se espera de los
alumnos, es que se discuten en clase Pautas de Corrección de pruebas anteriores.
Fechas de Pruebas y Examen:
Prueba nº 1, (Lunes, hora de clase)
Prueba nº 2,
“
Prueba nº 3,
“
Examen
6 Sept.,
25 Oct.,
29 Nov.
13 Diciembre.
TEORIA - Contenidos
Programa de la asignatura
1. Conceptos de programación orientada a objetos
Objetos y clases
Encapsulamiento
Herencia
Polimorfismo
2. Programación orientada a objetos en Java
Programación procedural en Java
Clases y objetos
Control de acceso, packages
Jerarquías de clases, métodos abstractos
Interfaces
Librerías básicas
Tratamiento de errores
Concurrencia
3. Tecnología orientada a objetos en interfaces de usuario
Sistemas de ventanas
Componentes
Estructura visual
Interacción con el usuario
Gestión interna de eventos
5. Temas avanzados de programación orientada a objetos
_____________________________________________________________________________
Escuela de Ingeniería en Computación, Universidad de La Serena.
2
Programación (Orientada a Objetos en Java)
Dr. Eric Jeltsch F.
Bibliografía: (*) texto guía, es decir 80% del curso está basado en él.
(*)Eric Jeltsch F. Programación en Java (tutorial)
Bibliografía básica

C. S. Horstmann, Gary Cornell.
o
Core Java 1.2, Volume I – Fundamentals. Prentice Hall, 1999.
o
Core Java 2, Volume II – Advanced Features. Prentice Hall, 1999.
o
http://www.cs.williams.edu/~bailey/JavaStructures/Software.html
o
Bibliografía complementaria

B.Meyer. Construcción de software orientado a objetos. Prentice Hall, 1999.

D. J. Berg, J. S. Fritzinger. Advanced Techniques for Java Developers: Proven
Solutions from leading Java experts. John Wiley & Sons, 1997.

Andreas Vogel and Keith Duddy. Java Programming with CORBA, 2nd
edition. John Wiley & Sons Inc., 1998.

Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design
Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley
Longman, Inc., 1995.
Otros documentos y enlaces


Sun Microsystems' Java Web Site.
o
Java Documentation.
o
The Java Tutorial.
o
J2EE Documentation (including JDBC, JavaBeans, Servlets, JSP).
Apache Tomcat (servlets & JSP software).
Recursos

Página sobre Java de Sun, y enlace directo a la versión 1.5.0 (aunque ya van
por la 1.6) y su documentación.

Tutoriales sobre Java en la página de Sun.

Páginas de NetBeans y Eclipse, dos entornos de desarrollo para Java escritos
en Java, y ambos de código abierto.

Página de JCreator, un entorno de desarrollo para Java más ligero (y rápido)
que los anteriores; la versión "LE" es gratuita.
LABORATORIOS - Contenidos
Objetivo: Manejo de alguna plataforma o entorno de desarrollo básico JPadpro, JGrasp
http://www.jgrasp.org/. Sin embargo, se promueve que ya conozcan otros entornos de desarrollo
_____________________________________________________________________________
Escuela de Ingeniería en Computación, Universidad de La Serena.
3
Programación (Orientada a Objetos en Java)
Dr. Eric Jeltsch F.
más sofisticados como Netbeans, Eclipse u otra. Las actividades que se realizan orientan y preparan
al alumno en el aprendizaje y aplicación de algunas rutinas y librerías en Java. Complementar lo ya
visto en los cursos introductorios y profundizar en el manejo del flujo de datos, la implementación y
robustez de las soluciones son conceptos básicos.
Portafolio.
El Portafolio es un método de enseñanza, aprendizaje y evaluación que consiste
en la aportación de producciones (programas, artículos, aplicaciones, discusiones en torno al
tema que nos convoca) de diferente índole por parte del estudiante a través de las cuáles se
pueden juzgar sus capacidades en el marco de una disciplina o materia de estudio, en este caso la
programación estructurada utilizando el lenguaje de programación C. Estas producciones
(actividades en los laboratorios) informan del proceso personal seguido por el estudiante,
permitiéndole a él y a los demás (el profesor) ver sus esfuerzos y logros, en relación a los
objetivos de aprendizaje y criterios de evaluación establecidos previamente (programa de la
asignatura).
OBJETIVOS EDUCACIONALES
OBJETIVOS GENERALES
1. Definir y aplicar una metodología en la resolución de problemas a través del uso de
algoritmos.
2. Definir, diseñar e implementar soluciones algorítmicas utilizando la programación
estructurada.
3. Definir y utilizar conceptos de programación recursivos.
4. Definir, y aplicar en la resolución de problemas Tipos de Datos Abstractos.
5. Estudiar, conocer y aplicar en las soluciones algorítmicas al lenguaje de programación C.
OBJETIVOS ESPECÍFICOS
1. El alumno deberá ser capaz de resolver problemas a través de algoritmos utilizando el
paradigma orientado al proceso.
2. El alumno será capaz de reconocer, construir soluciones algorítmicas a problemas en
forma iterativa y recursiva.
3. El alumno será capaz de reconocer y aplicar el concepto de Tipos de Dato Abstracto.
4. El alumno será capaz de construir soluciones computacionales utilizando el lenguaje C.
El Portafolio del estudiante responde a dos aspectos esenciales del proceso de
enseñanza-aprendizaje, implica toda una metodología de trabajo y de estrategias didácticas en la
interacción entre docente y alumno; y, por otro lado, es un método de evaluación que permite
unir y coordinar un conjunto de evidencias (a través de un semestre) para emitir una valoración
lo más ajustada a la realidad (dado que en los laboratorios los alumnos aprenden a ejecutar y
realizar actividades encomendadas). Para poderlo ejecutar esta metodología, se supone que el
profesor deberá mostrar, revisar, ejemplificar en las clases teóricas los conceptos más relevantes
y dejar un material de apoyo que oriente los contenidos, aptitudes y habilidades que se le piden a
los alumnos de Ingeniería en Computación de la ULS, y por otra, la clara disposición de los
alumnos para aprender, participar, asistir a clases y demostrar que sus habilidades o juicios que
lo llevaron a pensar que tenían aptitudes para la computación fueron ciertas.
En este caso el paradigma es: “Práctico o ejercito en casa o en los laboratorios
de práctica y demuestro lo aprendido en los laboratorios de la asignatura, de no lograrlo tengo
_____________________________________________________________________________
Escuela de Ingeniería en Computación, Universidad de La Serena.
4
Programación (Orientada a Objetos en Java)
Dr. Eric Jeltsch F.
la oportunidad de trabajar en mi Portafolio para demostrar que lo que no logre en un tiempo
limitado si lo pude lograr, pero en otros tiempos”. De esta manera podrá el alumno ir mejorando
sus tiempos y madurez frente a las propuestas o actividades que se le encomiendan. Otras formas
de evaluación más tradicionales aportan una visión más fragmentada a la que muestra el
Portafolio.
Evaluación:
La Nota de Laboratorio corresponde a considerar
(control cada 2 semanas) + Proyecto(1+2) + Portafolio = Nota Laboratorio.
El portafolio es un contenedor de experiencias, documentos, imágenes y productos de cualquier
otra índole que fueron dispuestos por el alumno como una evidencia de su proceso de
aprendizaje: estrategias, conocimiento, actitudes, creatividad, son elementos que un docente
puede recuperar al momento de discernir y valorar un puntaje. Existe un cierto consenso entre
los autores que han trabajado sobre este tema, que distinguen las siguientes fases para el
desarrollo del portafolio por parte de los estudiantes (vea Barberá 2005):
Fase 0. Formato
¿Qué y Cómo debo entregar mi Informe en el Portafolio?.
Un Reporter o Informe es un documento que debe contener lo siguiente:
1) En la primera página mostrar su nombre, el nombre de la carrera, el curso y el profesor,
además del título del Proyecto o Actividad.
2) En la hoja siguiente, en el encabezado deberá existir la siguiente leyenda:
“Yo ________________ (escriba su nombre y apellido), certifico que este trabajo es el
resultado de mi propio esfuerzo. Además, el material de apoyo, fuente de información o
colaboración utilizados han sido citado y agradecido. Finalmente, estoy conciente de la falta a
la ética que representa el engañar a mi profesor y a mis compañeros de curso, si es que se
constata, aunque la Universidad no tenga medidas disciplinarias al respecto.
Fase 1. Recogida de evidencias
Algunas de estas evidencias pueden ser: a) informaciones de diferentes tipos de contenido
(conceptual, procedimental y actitudinal o normativo); b) tareas realizadas en clase o fuera de
ella (mapas conceptuales, recortes de diario, exámenes, informes, entrevistas, etc.) y c)
documentos en diferente soporte físico (digital, papel, audio, etc.). Estas evidencias vendrán
determinadas por los objetivos y competencias plasmadas en el portafolio.
Fase 2. Selección de evidencias
En esta fase se han de elegir los mejores trabajos realizados o las partes de aquellas actividades
que muestren un buen desarrollo en el proceso de aprendizaje para ser presentado ante el
profesor o resto de compañeros.
Fase 3. Reflexión sobre las evidencias
Esta fase es necesaria porque si no se incluyen procesos reflexivos el instrumento carece de
puntos flojos y fuertes en el proceso de aprender y propuestas de mejora.
Fase 4. Publicación del portafolio
_____________________________________________________________________________
Escuela de Ingeniería en Computación, Universidad de La Serena.
5
Programación (Orientada a Objetos en Java)
Dr. Eric Jeltsch F.
En esta fase se trata de organizar las evidencias con una estructura ordenada y comprensible
favoreciendo el pensamiento creativo y divergente dejando constancia de que es un proceso en
constante evolución. Además, los informes deben ser auto-explicativos, es decir, en ellos no van
incluidos los códigos, sino los pantallazos que se capturan, producto de las ejecuciones y pruebas
que le realizó a su propuesta. En caso de que el profesor tenga dudas, el se remitirá a los archivos
“ejecutables” que se encuentran en uno de los archivos del Portafolio, previamente documentado
por un archivo readme. Los informes deben incluir las referencias, link, y agradecimiento a las
personas y/o compañeros que le colaboraron. Se promueve la discusión y colaboración, pero no
confundir con la copia flagrante. (No olvidar que existen hoy en día herramientas que pueden
detectar copias masivas, por ejemplo, JPlag, Copyfind y otras). Finalmente, establecer una
portada propia para el Portafolio.
_____________________________________________________________________________
Escuela de Ingeniería en Computación, Universidad de La Serena.
6