XSL Content

Present Programming Techniques26843

Centre
Faculty of Science and Technology
Degree
Double Degree in Physics and Electronic Engineering
Academic course
2024/25
Academic year
4
No. of credits
6
Languages
Spanish
Basque
Code
26843

TeachingToggle Navigation

Distribution of hours by type of teaching
Study typeHours of face-to-face teachingHours of non classroom-based work by the student
Lecture-based3045
Seminar57.5
Applied classroom-based groups1015
Applied computer-based groups1522.5

Teaching guideToggle Navigation

Description and Contextualization of the SubjectToggle Navigation

La programación de ordenadores es una competencia que en la actualidad afecta transversalmente a prácticamente todas las ramas del conocimiento tecnológico y científico. Ya es una herramienta indispensable en prácticamente cualquiera de sus disciplinas, y su dominio resulta necesario a sus profesionales. Particularizando en la ingeniería electrónica, esta se apoya fuertemente en la programación tanto para la simulación de dispositivos y fenómenos físicos, como para su aplicación en sistemas, puesto que la electrónica digital se encuentra en la base misma de la programación. En este sentido el ingeniero electrónico debe tener no poco dominio de la programación a todos los niveles, desde la más próxima al hardware, hasta la más abstracta. La asignatura Técnicas Actuales de Programación pretende cubrir este ámbito más abstracto con la aportación al alumnado del conocimiento del paradigma de programación en vigor (orientación a objetos, patrones, etc.) y de una visión global de la situación del mundo de la programación (aplicaciones web, software como servicio, lenguajes y técnicas emergentes, etc.)

Skills/Learning outcomes of the subjectToggle Navigation

Se capacita para

- plantear y resolver problemas con programación orientada a objetos con entornos gráficos o sin ellos;

- hacer uso de entornos de desarrollo, con las ayudas que aportan (debug, versionado, etc.);

- reconocer y utilizar los patrones más comunes, así como a formalizar las propias soluciones de este modo;

- aprovechar estructuras y mecanismos disponibles evitando la generación de soluciones ya existentes (y mejores);

- conocer las tecnologías más avanzadas que se están utilizando en la actualidad en este campo.

Theoretical and practical contentToggle Navigation

Programa



1- Ingeniería del software

El proceso unificado de desarrollo de software. Desarrollo a partir de modelado. Entornos de ayuda al desarrollo

2- Conceptos de Orientación a Objetos y su implementación

Entorno y elementos básicos. Clase y Objeto. Instanciación. Encapsulamiento. Herencia. Clases abstractas. Interfaz. Polimorfismo. Clases genéricas. Gestión de caminos de error basada en objetos.

3- Bibliotecas de Clases

Clases nucleares y clases de utilidad. Entrada y salida de datos. Interfaces gráficos de usuario (GUIs). Programación con hilos

4- Los datos en las aplicaciones actuales

XML y sus aplicaciones más notables. XHTML. Bases de datos y SQL. Patrones para la persistencia.

5- Arquitecturas software

Arquitectura cliente-servidor (sockets). Aplicaciones y servicios Web. Otras arquitecturas.

MethodologyToggle Navigation

Las clases magistrales se realizan con proyección de imágenes, y ejecución de ejemplos "en vivo". Los alumnos deben instalar todo el material recomendado en sus ordenadores personales para realizar los ejercicios propuestos. Si disponen de portátil pueden seguir con él las clases y los ejemplos. Todo el material diario se encuentra en la web del profesor antes o después de las clases en función de las necesidades. La función de las prácticas en aula de ordenadores no es tanto que los alumnos dispongan del material necesario -puesto que hoy en día disponen personalmente de él- sino que dispongan de un tiempo en que la interacción profesor-alumno se realice a demanda del alumno.

Assessment systemsToggle Navigation

  • Final Assessment System
  • Tools and qualification percentages:
    • Multiple-Choice Test (%): 20
    • Examen de desarrollo de software en ordenador (%): 80

Ordinary Call: Orientations and DisclaimerToggle Navigation

- Método de renuncia de convocatoria: renuncia expresa antes del comienzo del periodo de exámenes.

- Criterios de evaluación: Se tendrán en cuenta todos los elementos de evaluación indicados, exigiendo un mínimo de 3,5 sobre 10 en cada una.

- Eventualmente cada alumno podrá elegir, mediado el curso, desarrollar un proyecto de software con un porcentaje en la evaluación del 30%, que será detraido del correspondiente al examen en ordenador (quedando esta en un 40%)

Extraordinary Call: Orientations and DisclaimerToggle Navigation

- Método de renuncia de convocatoria: renuncia expresa antes del comienzo del periodo de exámenes.

- Criterios de evaluación: entrega de un proyecto de desarrollo, a concertar con el profesor con suficiente antelación, más examen con parte de test y parte práctica en ordenador.Las tres partes tendrán igual peso y mínimo exigido en cada parte de 3,5 puntos

Compulsory materialsToggle Navigation

Entorno de desarrollo Netbeans y JDK

BibliographyToggle Navigation

Basic bibliography

Tutoriales básicos de Oracle (ver direcciones de Internet)

In-depth bibliography

Tutoriales avanzados de Oracle (ver direcciones de Internet)
Erich Gamma, Richard Helm, Ralph Johnson, John Vislides,; "Design Patterns. Elements of reusable object-oriented software", Adison Wesley, 1995.
Mark Grand, "Patterns in Java. Vol. 1:A catalog of reusable design patterns illustrated with UML", Wiley, 1998.

Journals

Java Magazine (online - ver direcciones de Internet)

Web addresses

http://gtts.ehu.es/German/ (seguir "docencia -> TAP")
http://docs.oracle.com/javase/tutorial/
http://www.oracle.com/technetwork/java/javamagazine/index.html

GroupsToggle Navigation

01 Teórico (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-5

10:30-11:30 (1)

09:30-10:30 (2)

1-15

12:00-13:00 (3)

6-15

10:30-11:30 (4)

01 Seminar-1 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
6-15

10:30-11:30 (1)

01 Applied classroom-based groups-1 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
6-15

09:30-10:30 (1)

01 Applied computer-based groups-1 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
9-12

15:00-18:00 (1)

15-15

15:00-18:00 (2)

31 Teórico (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-5

10:30-11:30 (1)

09:30-10:30 (2)

1-15

12:00-13:00 (3)

6-15

10:30-11:30 (4)

31 Seminar-1 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
6-15

10:30-11:30 (1)

31 Applied classroom-based groups-1 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
6-15

09:30-10:30 (1)

31 Applied computer-based groups-1 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
9-9

15:00-18:00 (1)

11-13

15:00-18:00 (2)

15-15

15:00-18:00 (3)