Pre-requisitos
Esta asignatura es una continuación de Fundamentos de Programación.
Por lo tanto, hay que haber aprobado "Fundamentos de Programación"
para poder seguir "Programación". Para cualquiera duda, por
favor, ponerse en contacto conmigo.
Objetivos y Competencias
El objetivo de esta asignatura es reforzar los conocimientos de programación
procedural adquiridos en la asignatura anterior y introducir los estudiantes
a la Programación Orientada a Objetos (OO) así como a conceptos
más avanzados de estructuras de datos y algorítmica. Se utilizará
como en la asignatura anterior el lenguaje de programación Java. Al
final de esta asignatura, los estudiantes:
Habrán adquirido conocimientos generales sobre los lenguajes de programación
procedurales y OO que podrán usar en el futuro para aprender nuevos
lenguajes.
Tendrán la habilidad de usar algunas de las librerías estándares
esenciales de Java y sabrán como buscar e utilizar nuevas librerías
cuando los necesitarán.
Entenderán y sabrán manipular estructuras de datos y procedimientos
algorítmicos más complejos.
Contenidos
Conceptos de programación orientada a objetos (clases, objetos, herencia,
overriding, etc)
Introducción a la API de Java y a algunas de sus librerías estándares
Manipulación de flujos de entrada y salida (streams)
Representación de datos más complejos (arrays estáticos
y dinámicos, hashtables)
Metodología
Esta asignatura tiene un enfoque practico. Cada semana, trabajaremos sobre
una misma practica que ira progresando de forma incremental, integrando los
nuevos conceptos enseñados. La practica tendrá como objetivo
el procesamiento de textos en Catalán etiquetados.
Evaluación
Practicas: 50%
Auto-evaluación: 10%
Examen: 40%
Cada practica semanal cuenta en la evaluación global de las practicas.
Las practicas se tienen que entregar a tiempo por correo electrónico
y se restará medio punto por cada dia de retraso. Las practicas se
pueden hacer individualemente o en grupo de dos (no más). En ambos
casos, se trata de un esfuerzo personal. El código tiene que estar
comentado. En caso de plagio, se considerará la practica como nula.
Los estudiantes tendrán que realizar un test cada dos semanas y mandarme
por correo un informe de su auto-evaluación (el test viene con sus
respuestas).
El examen final tiene como objetivo comprobar el esfuerzo individual de cada
estudiante a lo largo de la asignatura. Para aprobar, hay que superar por
separado el examen y las practicas.
Bibliografía recomendada
No hay un libro en particular que seguimos durante esta clase, pero podemos
recomandar los siguientes libros:
Bradley Kjell, Introduction to computer science using Java: http://chortle.ccsu.edu/cs151/cs151java.html
Eck, D.J. Introduction to programming using Java: http://math.hws.edu/javanotes/
Joyanes Aguilar, L. y Zahonero Martínez, I. Programación en
Java 2: Algoritmos, Estructuras de Datos y Programación Orientada Objetos.
Mc Graw Hill. 2002.
Deitel, P.J. and Deitel, H. M. Java How to Program. Prentice Hall, 1999.
Eckel, Bruce. Thinking in Java. Prentice Hall. 1998. Versión Web: http://www.mindview.net/Books/TIJ/