Que estás buscando?
Algunos materiales se proporcionarán en inglés.
E6. Desarrollar videojuegos en lenguajes de programación de alto nivel en motores gráficos a partir de sus especificaciones.
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.
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.
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.
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
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:
recuperación:
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.
Meyer Bertrand (1997) Object-Oriented Software Construction. Prentice Hall.