Salta al contenido principal
Moodle UA 24-25
  • Página Principal
  • Calendario
  • Más
Español - Internacional ‎(es)‎
Català ‎(ca)‎ Deutsch ‎(de)‎ English ‎(en)‎ Español - Internacional ‎(es)‎ Français ‎(fr)‎ Română ‎(ro)‎ العربية ‎(ar)‎
En este momento está usando el acceso para invitados
Acceder
Moodle UA 24-25
Página Principal Calendario
Expandir todo Colapsar todo
  1. Área personal
  2. Clases

VIDEOJUEGOS I (21038)

Perfilado de sección

  • Los estudiantes deben
    Ver
    Enviar retroalimentación
    • ▂▃▅▇▓▒░Noticias y Avisos Foro
    • ▂▃▅▇▓▒░Guía Docente URL
    • Sesión cierre ABP 2024/25 Encuesta
      Los estudiantes deben
      Ver
      Enviar retroalimentación
  • P2: C++ GameEngine, IA y Red
  • P1: Ensamblador GB
  • Challenges
  • Materiales
  • Clases
  • Diario de desarrollo
  • Clases 2024/25

    Acceso privado (Youtube)

    1. Usad la cuenta asociada a Google que disteis al crear los grupos.
    2. No descargues ni difundas los vídeos: son privados exclusivamente para ti.

    VIDEOJUEGOS 2 (C++)



    • S10 (03/abr)

      • 📹 C++23: Tipos propios, explicit & deducing this, std::expected
        • 📄 PDF: Tipos Propios, Explicit y Deducing this, std::expected

    • S09 (25/mar)

      • 📹 UAGames DevCon, Plan próximas clases, intro revisión unique-const
      • 📹 Entender no es aprender, Procedimental vs Conceptual, Evocar, Curva del Olvido, revisión unique-const
        • 📄 PDF: Lecciones de Aprendizaje y revisión unique_ptr + const

    • S07 (11/mar)

      • 📹 CH08. Team Challenge. std::unique_ptr y const correctness
        • 📄 PDF: Challenge 8 (Team Challenge) con soluciones

    • S06 (04/mar)

      • 📹 (Live) C++ New/unique_ptr, const correctness, reference binding, componentes optional
        • 📄 PDF: C++ new, unique_pr, const correctness, reference binding, ECS

    • S05 (25/feb)

      • 📹 Challenge 07 (Soluciones): Contenedores y memoria. Gestión de Escenas. Dudas. UAGames DevCon.
        • 📄 PDF: S05 - Challenge 07 (Soluciones). Contenedores, Escenas, Plan.

    • S04 (18/feb)

      • 📹 Estrés. C++: Fachadas y motor gráfico, gestión de escenas, datos dinámicos, contenedores, patrón Strategy, uso de std::tuple, herencia
        • 📄 PDF: S04 - Estrés, C++: fachadas, escenas, datos dinámicos, contenedores, Strategy, std::tuple, herencia

    • S03 (11/feb)

      • 📹 C++: Punteros, tiempo de vida, reubicación en memoria, std::vector resizing, problemas y uso del depurador (CGDB)
        • 📄 PDF: S03 - C++: punteros, lifetime, reubicacion, vector, grow, problemas, cgdb

    • S02 (04/feb)

      • 📹 C++: Contenedores de la STL y disenyo de componentes ECS. Uso de la memoria y costes
      • 📹 DeepSeek y optimización en ensamblador. Soluciones al Challenge 6 repetido
        • 📄 PDF: S02 ~ C++: Contenedores STL y Diseño Componentes ECS. Challenge 6-2

    • S01 (28/ene)

      • 📹 V2, Plan, Entregas, Release, Librerías y ECS
        • 📄 PDF: S01 ~ Presentación V2, Plan, Entregas, Release, Librerías y ECS



    VIDEOJUEGOS 1 (C++)



    • S15 (17/dic)

      • 📹 S15.1 ~ Entregas ABP y Challenges. Esfuerzo y Aprendizaje. Warren Buffet.
      • 📹 S15.2 ~ Programación: Soluciones Challenge 6, punteros y referencias
      • 📹 S15.3 ~ Resumen de aprendizajes importantes de V1 2024/25
        • 📄 PDF: Warren Buffet, Challenge 6, Resumen de Aprendizajes V1

    • S14 (10/dic)

      • 📹 S14.1 ~ Aprendizaje y Felicidad: Realidad vs Expectativas
      • 📹 S14.2 ~ Programación: separar en multiples ficheros, includes, compilar y makefile
      • 📹 S14.3 ~ Programación: colisiones con círculos, coste raíces cuadradas, lambdas en C++
        • 📄 PDF: Aprendizaje y Felicidad - Realidad vs Expectativas

    • S13 (03/dic)

      • 📹 S13.1 - Tiempo, toma de decisión y préstamo francés: cuándo aprender y cuándo crear
      • 📹 S13.2 ~ Programación C++: Soluciones al Challenge 5 (C++ Nivel 1)
        • 📄 PDF: Toma de decisión y préstamo francés

    • S12 (26 / nov)

      • 📹 S12.1 ~ Próximos Challenges, Dudas Presupuesto, Entregar Hitos
      • 📹 S12.2 ~ Programación: Makefiles, Sanitizer, Objetos, Storage, Memoria, Lifetime, Refs
        • 📄 PDF: Planificacion, Dudas Presupuesto, Organizarse

    • S11 (19 / nov)

      • 📹 S11.1 ~ GBRetroDev, experimentar y aprender, plan del curso, C++ y libros
      • 📹 S11.2 ~ Soluciones y explicaciones test inicial de C++
        • 📄 PDF: GBRetroDev, Experimentar, planificación, libros

    • S10 (12 / nov)

      • 📹 S10.1 ~ Comienzo del ABP, lecciones aprendidas, libros y cómo organizarse
      • 📹 S10.2 ~ Debugger en C++ (CGDB), std::print y promoción de tipos
        • 📄 PDF: Comienzo ABP, lecciones aprendidas, planificación, libros



    VIDEOJUEGOS 2 - curso anterior (2023/24)



    • V2-23 S03 (13 / feb / 24)

      • 📹 V2-23-S03.2 ~ C++ Objetos, Variables, Tipos, Punteros y Lifetime

        TEMAS: ¿Qué son realmente una variable y un objeto? ¿Qué son tipos, tiempo de vida (lifetime) y duración de almacenamiento? Tipos de lifetime (automático o local, estático o global, dinámico, temporal y local al thread). Los objetos temporales son objetos. Entender los punteros: objetos que se refieren a otro objeto. Al objeto puntero normalmente accedemos usando una variable, al apuntado con una operación (in-dirección, *). Mirar el código ensamblador y entender lo que sucede; instrucción MOV, acceso a memoria, BYTE, WORD, DWORD, Código máquina en x86-64.

    • V2-23 S04 (20 / feb / 24)

      • 📹 V2-23-S04.2 ~ C++ Ejecutables y memoria: ELF, .bss .data .rodata, stack, heap, protección

        CONCEPTOS: ¿Qué es un programa? Compilar a mano sin florituras. Valor de retorno de un programa en Linux. Librerías = otros programas. ¿Qué es una librería compartida (shared object)? ¿Qué son los archivos / ficheros? ¿Dónde están los ficheros? ¿Cómo se ejecuta un programa? Mapa de la Memoria en Linux. ¿Qué es la protección de memoria y por qué la hace el sistema operativo? ¿Qué es un Segmentation Fault (Violación de Segmento)? ¿Qué es la memoria "mapeable" (asignable)? - ¿Dónde se carga el código del programa? Utilidades para entender cómo funcionan los programas en Linux. ELF: Executable and Linking Format (formato de ejecutable en Linux). Utilidad: readelf. Utilidad: hexdump - Utilidad: objdump. Viendo las librerías necesitadas y ubicaciones de objetos en memoria. Viendo el código máquina y ensamblador de las funciones. Utilidad: strace. Entendiendo todo el proceso de carga de un ejecutable en memoria: execve, brk, openat, mmap. Identificando cuándo se cargan las librerías y dependencias, dónde se hacen y cómo. Entendiendo los ejecutables, secciones y permisos (R:READ, W:WRITE y E:EXECUTE). .init: código de inicialización PREVIO a main. .text: código del programa. .fini: código que se ejecuta posterior al programa - .data: datos estáticos (objetos globales) que pueden leerse y escribirse. .rodata: constantes globales. .bss: espacio para objetos globales NO-INICIALIZADOS. ¿Qué ocurre cuando hacemos new? Enlazado estático con -static. ¿Qué cambia cuando creo una variable estática (global) de una automática (local)? Imprimir una dirección de memoria. Entendiendo el operador dirección (&). Identificando si algo está en el HEAP, STACK o en .data / .rodata / .bss ¿En qué consiste realmente reservar? Observando cuándo se construyen los objetos estáticos y automáticos. ¿Por qué cambia la dirección de memoria de objetos automáticos en el stack? ¿Cómo funciona el stack y cómo reserva memoria automáticamente? ¿Cómo sabe mi programa qué espacio se está usando y cuál no? Funcionamiento de la pila (STACK). Ámbitos (frames), RBP y RSP. Variables automáticas en ensamblador. Posibilidades para objetos estáticos: .bss (sin inicializar), .data (inicializados), .rodata (constantes) Cómo se crean y destruyen objetos (mecanismos y tiempo de vida) Paso de parámetros: crear una copia de un objeto o dar la dirección ¿Cuándo ocurre un Segmentation Fault y cómo entenderlo? - Usar el depurador



    Productividad, Aprendizaje y Mejora Personal



    • 📹 Lista YT: Productividad y Aprendizaje
    • Transparencias de Clase Carpeta
◄Materiales
►Diario de desarrollo
En este momento está usando el acceso para invitados (Acceder)
Descargar la app para dispositivos móviles
Desarrollado por Moodle