Información general


Tipo de asignatura: obligatoria

Coordinador: Juan José Pons López

trimestre: Segundo trimestre

Créditos: 4

Profesorado: 

Marco Antonio Rodríguez Fernández

Idiomas de impartición


  • Català
  • Castellano

Algunos materiales se proporcionarán en inglés.

Competencias


Competencias específicas
  • E6. Desarrollar videojuegos en lenguajes de programación de alto nivel en motores gráficos a partir de sus especificaciones.

Competencias generales
  • G3. Reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.

  • G5. Desarrollar las habilidades de aprendizaje necesarias para acometer estudios posteriores con un alto grado de autonomía.

competencias transversales
  • T1. Comunicar en un tercer idioma, que será preferentemente el inglés, con un nivel adecuado de forma oral y por escrito y acorde con las necesidades que tendrán los graduados y graduadas.

Descripción


La asignatura Programación I supone la primera aproximación al diseño de algoritmos utilizando las bases de la programación orientada a objetos en el marco de la materia de Desarrollo. Se trabajan problemas de cierta complejidad, tanto para diseñar algoritmos nuevos como para testear y depurar adecuadamente algoritmos implementados. La asignatura consta de sesiones teóricas y sesiones de práctica. Para alcanzar los conocimientos de la asignatura se evalúa por un lado tres prácticas y por otro los conocimientos teóricos de manera individual.

 

Contenidos


Tema 1: Descomposición funcional y diseño descendente

1.1. Descomposición de problemas en subproblemas

1.2. Diagramas de flujo

1.3. Recorrido vs búsqueda

1.4. Paso de parámetros: entrada, salida, referencia y valor

Tema 2: Introducción y conceptos generales de la programación orientada a objetos (POO)

2.1. ¿Qué es la POO?

2.2. Programación estructurada vs POO

2.3. Porque utilizar la POO y sus beneficios

2.4. Características de la POO

2.5. Definición de objeto y clase

2.6. Elementos de una clase

Tema 3: Conceptos básicos de la programación orientada a objetos

3.1. Atributos objetuales, atributos de clase y constantes

3.2. Constructores e instanciar objetos

3.3. Métodos de una clase y sobrecarga

3.4. Diagramas de lenguaje unificado de modelado (UML)

3.5. Palabra clave "this"

3.6. Clases vs clases estáticas

3.7. Gestión de excepciones y debug dentro de una clase

3.8. Operadores

Tema 4: Herencia, interfaces y polimorfismo (jerarquía de clases)

4.1. Introducción, definición de herencia y ejemplos

4.2. Creación de clases base y derivadas

4.3. Clases "sealed" y "abstract"

4.4. interfaces

4.5. polimorfismo

Tema 5: Estructuras de datos

5.1. Arrayes bidimensionales y multidimensionales

5.2. Diccionarios

Sistema de evaluación


La nota de cada alumno se calculará siguiendo los siguientes porcentajes:

A1. Prácticas de laboratorio 1: Trabajar con matrices y análisis descendente 12%

A2. Prácticas de laboratorio 2: Implementar clases y trabajar con objetos 12%

A3. Prácticas de laboratorio 3: Conceptos de herencia 12%

A4. Ejercicios en clase: Cuestionarios teóricos 5%

A5. Ejercicios en casa: Ejercicios prácticos cortos 9%

A6. Examen práctico final 50%

Nota final = A1 0,12 + A2 0,12 + A3 0,12 + A4 0,05 + A5 0,09 + A6 0.50

Consideraciones:

  • Es necesario obtener una nota superior o igual a 5 en el examen final A6 para aprobar la asignatura.
  • Una actividad no entregada o librada con retraso y sin justificación cuenta como un 0.
  • Es responsabilidad del alumno evitar el plagio en todas sus formas. En el caso de detectar un plagio, independientemente de su alcance, en alguna actividad corresponderá a tener una nota de 0. Además, el profesor comunicará a la Jefe de estudios la situación para que se tomen medidas aplicables en materia de régimen sancionador .

recuperación:

  • Sólo se pueden presentar a la recuperación los estudiantes que se presenten en el examen final que no superen la calificación mínima (5) en la nota final y/o en el examen.
  • Las actividades A1, A2, A3, A4 y A5 no pueden recuperarse.
  • La nota del examen de recuperación sustituye sólo a la nota de la actividad A6.

Bibliografía


Básico

Clark Dan (2011) Beginning C# Object-Oriented Programming. Apress.

Fagerberg Jonas (2015) C# for Beginners: The Tactical Guidebook: Learn Csharp by Coding. CreateSpace Independent Publishing Platform.

Chaudhary Harry (2014). C# Programming: Step By Step Beginner's To Experts Edition. Createspace LLC USA.

Complementario

Meyer Bertrand (1997) Object-Oriented Software Construction. Prentice Hall.