Información general


Tipo de asignatura: obligatoria

Coordinador: Adso Fernández Baena

trimestre: Primer trimestre

Créditos: 4

Profesorado: 

Enric Sesa Nogueras

Idiomas de impartición


Documentación mayoritariamente en inglés. Lengua usada en clase: catalán. Exámenes y prácticas 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
  • 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


Primera asignatura del ámbito de la programación. Es la base de todas las asignaturas de programación que se introducen en la misma materia a la que pertenece (Desarrollo). Partiendo desde cero presenta los temas más elementales de la programación dentro del paradigma imperativo: variables y tipos, operaciones elementales, control de flujo y abstracción procedimental. Se trabajan los aspectos teóricos, de manera expositiva, y su posterior aplicación práctica, dirigida a la resolución, a menudo guiada, de problemas pequeños. Las sesiones de clase combinan ambos aspectos para conseguir un buen equilibrio entre ellos. La asignatura se evalúa a partir de la realización, asíncrona, de pequeños trabajos prácticos similares a los trabajados en las sesiones síncronas y de pruebas escritas eminentemente orientadas a la resolución de problemas.

 

Resultados de aprendizaje


Al finalizar la asignatura los estudiantes deben ser capaces de:

  • E6.1. Diseñar la arquitectura del software de un videojuego de acuerdo con unas especificaciones
  • E6.2. Interpretar el análisis del software para su posterior desarrollo
  • E6.6. Desarrollar videojuegos 2D y 3D (o partes de ellos) en un lenguaje de alto nivel sobre plataformas y motores destinados a tal efecto. 

 

Metodología de trabajo


La asignatura utiliza estas dos metodologías: la clase magistral y la resolución de problemas. 

Contenidos


Tema 1. Conceptos básicos de la programación imperativa

1.1 Variables, tipos y asignación

1.2 Evaluación de expresiones

1.3 Lectura y escritura

1.4 Formas de ejecución y estructuras de control: secuencial, condicional / alternativa y iterativa

1.5 Esquemas iterativos básicos: recorrido y búsqueda

 

Tema 2. Descomposición funcional y diseño descendente. Abstracción procedimental.

2.1 Descomposición de problemas en subproblemas

2.2 Funciones y procedimientos. invocación

2.3 Parametrización

 

Tema 3. Tablas

3.1 Tablas unidimensionales

3.2 Tablas multidimensionales

3.2 Esquemas iterativos aplicados a tablas

Actividades de aprendizaje


Con el objetivo de recoger evidencia de la consecución de los resultados de aprendizaje esperados se realizarán las siguientes actividades de carácter evaluativo (relacionadas con todas las competencias comunes):

A1. Examen de medio trimestre (Evidencia de los estadios tempranos de los resultado de aprendizaje E6.1 y E6.6)

Si por alguna razón esta prueba no pudiera realizarse, su peso en la evaluación quedará subsumido por el examen final. 

A2. Examen final trimestre (Evidencia de los estadios tempranos de los resultado de aprendizaje E6.1 y E6.6)

Los resultados de estas dos pruebas serán la base primordial para determinar la calificación final de la asignatura. Versarán sobre los contenidos expuestos hasta el momento de su realización, fuertemente centrados en el estadio inicial de la competencia general a la que contribuye esta asignatura, buscando evidencia de la consecución del resultado de aprendizaje anteriormente especificado: "Codificar programas en un lenguaje de programación imperativo de alto nivel para resolver problemas simples ". En la medida de lo posible, cada prueba constará de dos partes, una realizada sobre papel y otra realizada con la ayuda de una herramienta de desarrollo de software (entorno de desarrollo).

A3. Práctica de conceptos elementales e IDE (Evidencia de los estadios tempranos de los resultado de aprendizaje E6.1, E6.2 y E6.6)

A4. Práctica de estructuras condicionales (Evidencia de los estadios tempranos de los resultado de aprendizaje E6.1, E6.2 y E6.6)

A5. Práctica de estructuras iterativas (Evidencia de los estadios tempranos de los resultado de aprendizaje E6.1, E6.2 y E6.6)

A6. Práctica de procedimientos y tablas (Evidencia de los estadios tempranos de los resultado de aprendizaje E6.1, E6.2 y E6.6)

 Estas prácticas se realizarán mayoritariamente fuera del aula (en el tiempo de trabajo personal del estudiante), de forma individual o en grupos reducidos.

 

Criterios generales de las actividades

- Los profesor presentará un enunciado para cada enunciado y los criterios de evaluación y / o rúbricas

- El profesor informará de las fechas y el formato de entrega de la actividad

 

Sistema de evaluación


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

A1. Examen parcial: Examen de medio trimestre 25% 

A2. Examen final: Examen final trimestre 25%

PR. Prácticas de laboratorio: Actividades A3, A4, A5 y A6 50% (10% + 10% + 15% + 15%)

Nota final = MAX((A1+A2)/2, A2)·0.5 + PR·0.5

Consideraciones: 

- Es necesario que MAX ((A1 + A2) / 2, A2)> = 5 para superar la asignatura. Si esta calificación no llega a 5 entonces ella misma será la nota final. 

- Una actividad no entregada o entregada con retraso y sin justificación (citación judicial o asunto médico) cuenta como un 0.

- Para tener una calificación final diferente "no presentado" es necesario haber realizado el examen A1 o el examen A2 o haber justificado (citación judicial o asunto médico) la ausencia en ambas pruebas.

- Es responsabilidad del alumno evitar el plagio en todas sus formas. En caso de detectar un plagio, independientemente de su alcance, en alguna actividad evaluativa (incluidas las prácticas), se aplicará el artículo 8 de la normativa de evaluación que comporta el suspenso automático de la asignatura sin posibilidad de recuperación. Además, el profesor comunicará a la Jefa de Estudios la situación para que tome medidas aplicables en materia de régimen sancionador. En el contexto de esta asignatura, plagio también significa utilizar y/o adaptar código que no se haya desarrollado de forma totalmente individual (o en el seno del grupo en el caso de actividades grupales). Facilitar el código que da lugar al plagio es también una forma de plagio y será tratado por igual. De forma resumida podemos decir que las actividades evaluativas deben resolverse de forma estrictamente no colaborativa (en el caso de actividades en grupo la colaboración no puede trascender el seno del grupo). 

recuperación

- La parte de prácticas de la asignatura (calificación PR) NO es recuperable.

- La parte de teoría de la asignatura (calificación MAX ((A1 + A2) / 2, A2)) sí es recuperable. La recuperación se hará en la fecha y lugar que fije la Dirección de Estudios de la Escuela. Para los estudiantes que asistan al examen de recuperación su calificación A2 será la obtenida en esta prueba y su calificación final se calculará con las fórmulas anteriormente detalladas. Las calificaciones finales en el intervalo [5, 7.5) serán redondeadas a 5. Las calificaciones finales en el intervalo [7.5, 10] serán redondeadas a 7.

- Sólo podrán hacer el examen de recuperación aquellos estudiantes que en la evaluación ordinaria hayan obtenido una calificación diferente "no presentado"

Bibliografía


Básico

Nakov, S. (2013). Fundamentials of computer programming with C #: The Bulgarian C # programming book. Sofia, Bulgaria: Svetla Nakov &. Co.

https://www.introprogramming.info/wp-content/uploads/2013/07/Books/CSharpEn/Fundamentals-of-Computer-Programming-with-CSharp-Nakov-eBook-v2013.pdf

Solis, D., & Schrotenboer, C. (2018). Illustrated C # 7: The C # Language Presented Clearly, Concisely, and Visually. Berkeley, CA, USA: Apress.

Perkins, B., Hammer, JV, & Reid, JD (2018). Beginning c # 7 programming with visual studio. Indianapolis, IN, USA: John Wiley and Sons.

Michaelis, M., Lippert, E., & Torgersen, M. (2018). Essential C # 7.0. Boston, USA: Addison-Wesley.

Complementario

Sesa y Nogueras. Fundamentos de Programación: notas de clase y ejercicios. Publicación interna del TCM. Se pondrá a disposición de los estudiantes a través de la plataforma eCampus