1 • Metodoloxía da programación (I)

 2 • Metodoloxía da programación (II)

Planificación e deseño de programas

Introducción aos conceptos da programación

Solución de Problemas

Creación de algoritmos

Codificación de programas e entrada/saída simple

Linguaxes de programación

Variables e constantes

Instrucción de asignación

Instruccións descriptivas (comentarios)

Entrada e saída simple

Escritura dun programa completo

Estructura de control e escritura de programas

Expresións booleanas

Estructuras de control-definicións

Selección

Repetición

Estructuras de datos: Arrays, listas e táboas

Arrays unidimensionais (vectores/listas)

Arrays multidimensionais

Arrays paralelos

Tratamento de vectores e matrices

Programación modular: Funcións e subrutinas

Funcións

Subrutinas

 

Alcance e duración dos identificadores

Mecanismos de tranferencia de parámetros

Técnica de ordenación, busca e mistura

Técnicas de busca. Busca lineal e busca binaria

Técnicas de ordenación: Inserción, selección, burbuja e shell

Mistura

Ordenación por fusión

Arquivos de datos

Introducción aos arquivos de datos

Teminoloxía de datos

Organización de arquivos

Arquivos de textes e binarios

Apertura e peche de arquivos

Estructuras de datos dinámicas. Listas

Estructuras de datos físicas e lóxicas

Listas enlazadas

Pilas

Colas

Táboas de decisión

Definición e construcción de unha táboa de decisión

Clasificación das táboas de dicisión

Tipos de regras nas tábos de decisión

Conversión de táboas en ordinograma

 

 3 • Programación en C (I)

 4 • Programación en C (II)

Primeiras ordes en linguaxe C

Variables e constantes

Estructura básica dun programa

Algunhas ordes básicas

Palabras clave en C

Identificadores e variables

Nomes de identificadores

Tipos de datos

Modificadores de tipo

Declaración de variables

Constantes

Inicialización de variables

Operadores

Expresións

Cambio de tipo nas expresións

Sentencias de Control

If, For, Switch, while, do while, Break, Continue

Funcións

Características xerais das funcións

Paso por valor e paso por dirección

Argumentos na función main

Funcións de tipo char

Punteiros

Como funcionan os punteiros

Operacións con punteiros

Paso de punteiros como parámetros de funcións

Punteiros e vectores

Arrays

Matrices dunha dimensión (vectores)

Arrays bidimensionais (matrices)

Arrays multimensionais (poliedros)

Paso de Arrays como parámetros de funcións

 

Cadeas

Cadeas como vectores de caracteres

Operacións con cadeas (comparación, copia e concatenación)

Conversión entre datos numéricos e cadeas

Arrays de cadeas

O procesador

#INCLUDE, #DEFINE

Macros predefinidas

Compilación condicional

#UNDEF, #ERROR, #LINE, #PRAGMA

Estructuras e unións

Definición de estructuras

Como utilizar unha estructura

Creación dinámica de estructuras

Estructuras de datos: nodos e listas enlazadas

Ficheiros

Operacións con ficheiros

Declaración de punteiros a ficheiros

Abrir un ficheiro

Pechar un ficheiro

Mantemento dun ficheiro

Menú para tratamento dun ficheiro

Asignación dinámica de memoria

Listas enlazadas o pilas

Crear lista

Mostrar lista completa

Insertar elementos

Buscar elementos

Borrar elementos

Librería de funcións de C

Funcións de cadea, matemáticas, de data e hora, de pantalla en modo textos

Funcións de conversión de datos, de disco e directorio

 

 5 • Programación orientada a obxectos (I)

 6 • Programación orient. a obxectos (II)

Introducción

Programación orientada a obxectos

Definicións

Nomenclatura do textos

Encapsulación

Tipos de datos abstractos

Ocultación dos obxectos

Constructores e destructores (new e delete)

Interfaz do noso obxecto

Primeira aproximación

Herdanza

Implementación básica

Uso da herdanza ”casting“

Implementación

Limitacións e vantaxes

Herdanza nun sistema xerárquico

Chequeo dinámico de tipos

Implementación

Habilitar chequeo dinámico de tipos

Vantaxes e inconvenientes

Polimorfismo

Funcións dinámicas en C

Vinculación anticipada contra vinculación postergada

Métodos virtuais nas clases

OOC modo 1. Vantaxes e inconvenientes

Unha visión máis detallada do obxecto

Eficiencia actual

Asignación única con new()

Liberación de recursos mediante o destructor delete()

Primer patrón para a orientación a obxectos en C

Uso dos métodos da clase e clases base

OOC modo 2. Vantaxes e inconvenientes

Backtraking

Exploración de árbores

Percorrido de árbores

Percorrido en produndidade

Percorrido en anchura

Backtraking

Backtraking

Esquema xeral

Exemplo: busca dunha árbore binaria

Creación de obxectos derivados de MyObject

Ramificación e poda

Minimax

Patróns de deseño

Concepto de patrón de deseño

Patróns relacionados coa creación de obxectos

Patróns estructurais

Patróns de comportamento

 

 7 • Programación en C++

 8 • Programación en C++

Introducción a C++

Breve introducción á programación orientada a obxectos

O primeiro programa C++

Modificacións menores con respecto a C

Xeralidades

Visibilidade de variables

Conversións explícitas de tipo

Especificador inline para funcións

Variables de tipo referencia

Operadores new e delete

Nova forma de realizar a entrada/saída

Clases

Declaración de clases

Constructores e destructores

Clases e funcións friend

O punteiro this

Variables de clase

Herdanza

Definición e necesidade da herdanza

Constructores de clases derivadas

Herdanza simple e herdanza múltiple

Clases base virtuais

Polimorfismo

Sobrecarga de operadores

Polimorfismo nas clases

Funcións virtuais

 

Entrada/saída en C++

Entrada/saída con formato

Sobrecarga dos operadores de entrada/saída

Entrada/saída de ficheiros

Aspectos avanzados. Plantillas

Plantillas de funcións

Plantillas en clases

Membros e constructores plantilla

Clases plantilla

Herdanza con plantillas

Introducción á Standard Template Library (STL) de C++

Contenedores

Iteradores

Algoritmos

Construyendo e desplegando Ensambles

Crear un emsamble co Compilador en C++

Utilizar ildasm

Desplegar un ensamble localmente

Crear e desplegar un ensamble compartido

Código legado

Escribir código que interactúa con Win32

Exponer compoñentes COM legados a clientes C++

Expoñer compoñentes C++ a clientes COM legados

 

9 • Creación e deseño de Videoxogos (I)

 10 • Creación e deseño de Videoxogos (II)

Introducción ao desenvolvemento de videoxogos

Historia dos videoxogos

Tipoloxía dos videoxogos según o xénero

Tecnoloxías involucradas no desenvolvemento de videoxogos

A industria dos videoxogos

Deseño de videoxogos

Mecánicas de xogo

Géneros de xogo

Deseño de niveis

Interfaz de usuario

Equilibrado

Scripting

Narrativa (guión e ficción interactiva)

Enxeñería do software aplicada a videoxogos

O proceso industrial de desenvolvemento dun videoxogo

Xestión de proxectos

Proba e depuración de videoxogos

Aspectos legais

Programación gráfica

Motores gráficos

Texturas

Iluminación

Animación de personaxes

Xestión de escenarios

Introducción ao desenvolvemento de videoxogos

Historia dos videoxogos

Tipoloxía dos videoxogos según o xénero

Tecnoloxías involucradas no desenvolvemento de videoxogos

A industria dos videoxogos

Deseño de videoxogos

Mecánicas de xogo

Géneros de xogo

Deseño de niveis

Interfaz de usuario

Equilibrado

Scripting

Narrativa (guión e ficción interactiva)

Enxeñería do software aplicada a videoxogos

O proceso industrial de desenvolvemento dun videoxogo

Xestión de proxectos

Proba e depuración de videoxogos

Aspectos legais

Programación gráfica

Motores gráficos

Texturas

Iluminación

Animación de personaxes

Xestión de escenarios

Creación de cámaras

Programación DirectX

Inicialización DirectX

Creación dun vertex buffer

Primitivas e culling

Intelixencia artificial para videoxogos

Autómatas

Sistemas de regras

Busca de camiños

Comportamentos de grupo

Planificadores

Percepción do entorno

Análise de distintos tipos de xogos

Arquitectura dos videoxogos

Arquitectura software

Patróns de deseño

Arquitecturas para distintos xéneros

Motores de xogos

Física para videoxogos

Colisións

Sistemas de partículas

Física do corpo humano

Deseño 2D

Deseño 3D

Edición de son

Técnicas de programación específicas

Programación para audio

Control de dispositivos de entrada/saída

Programación baseada en guións (scripts)

Dispositivos móbiles