TEMARIO RESUMIDO
ANALISTA PROGRAMADOR EN PYTHON, JAVA Y C++
JAVA
Tema 1: Introducción e Instalación de Java
- Definición de Java.
- Características de Java.
- Proceso de instalación de Java.
- Instalando los IDE’s Eclipse y NetBeans
Tema 2: Nuestra primera aplicación
- Clases Java y el método main()
- Nuestro primer programa
- Estructura de un proyecto
Tema 3: Constantes, variables y datos en Java
- Definición de variables.
- Constantes en Java.
- Los tipos de datos.
- Comentarios y convenciones del lenguaje.
- Trabajando con una lista de variables
- Procesando una lista de variables
Tema 4: Estructuras de Control y Sentencias Condicionales
- While, Do-While y For.
- Estructuras condicionales
- Condiciones compuestas
- Condiciones dentro de condiciones
- Utilizar el bucle for mejorado
- Utilizar el bucle for mejorado con arrays
- Iteraciones anidadas con el bucle for
Tema 5: Manipulando y Formateando los Datos
- Uso de la clase String
- La API de Java
- Uso de la clase StringBuilder
- Más acerca de los datos primitivos
- Los operadores numéricos. Conceptos avanzados
- Casting
Tema 6: Arrays y Colecciones
- Trabajando con fechas
- Arrays. Su uso como parámetros
- Arrays de dos dimensiones
- Uso de bucles con Array
- La clase ArrayList
- Colecciones
Tema 7: Descripción de Objetos y Clases
- Trabajando con clases y objetos
- Métodos y atributos
- Declaración, instanciación e inicialización de objetos
- Trabajando con referencias a objetos
Tema 8: Creación y Usos de Métodos
- Uso de métodos. Argumentos y valores de retorno
- Métodos y variables estáticas
- Pasando argumentos a los métodos
- Sobrecargando un método
Tema 9: Diseño de clases: Encapsulación y Subclases
- Encapsulación
- Uso de la encapsulación en el diseño de clases (setters y getters)
- Clases inmutables
- Creación y uso de subclases
- Sobrecargando métodos
Tema 10: Conceptos avanzados de la POO
- Herencia y Polimorfismo.
- Sobreescritura de métodos.
- Las clases abstractas.
- Interfaces.
- Enums
Tema 11: Manejo de Excepciones
- Manejo de Excepciones
- Capturando y lanzando Excepciones
- Propagación de Excepciones
- Excepciones múltiples y errores
Tema 12: Uso avanzado de clases
- Uso de varargs para especificar argumentos con variables.
- El operador InstanceOf.
- Patrones de diseño.
- El patrón de diseño singleton.
Tema 13: Interfaces y Expresiones Lambda
- Definición de una interfaz Java
- Elegir entre la herencia de interfaces y la herencia de clases
- La extensión de una interfaz
- Métodos por defecto
- Clases internas anónimas
- Definición de una expresión lambda
Tema 14: Uso avanzado de colecciones
- El framework Collection. Clases e interfaces.
- Creando colecciones de tipo genérico.
- Autoboxing con colecciones.
- Ejemplos de colecciones con más uso (ArrayList, TreeSet, HashMap y Queue).
Tema 15: Collections Streams y filtros.
- Describir el Builder
- Iteración a través de una colección utilizando la sintaxis lambda
- Descripción de la interfaz de Stream
- Filtrado de una colección utilizando expresiones lambda
- Llamar a un método existente utilizando un método de referencia
- Encadenamiento de varios métodos
- Definición de tuberías en términos de lambdas y colecciones
Tema 16: Lambda incorporando interfaces funcionales
- Listado de las interfaces incorporadas incluidas en java.util.function
- Core interfaces - Predicate, Consumer, Function y Supplier
- El uso de versiones primitivas de interfaces base
- El uso de versiones binarias de interfaces base
Tema 17: Lambda Operaciones
- La extracción de datos de un objeto empleando map
- Describir los tipos de operaciones de streams
- Descripción de la clase opcional
- Descripción del procesamiento diferido
- Corte de un stream
- Cómo guardar los resultados de una colección utilizando el método de cobro revertido
- Agrupación y partición de datos que utilizan Collectors class
Tema 18: Excepciones y aserciones
- Definir el propósito de las excepciones de Java
- Utilizando las sentencias try y throw
- Empleo de claúsulas catch, multi-catch, y finally
- Recursos Autoclose con una sentencia try-with-resources
- Reconociendo las clases y categorías de excepciones comunes
- Creación de excepciones personalizadas
- Prueba de invariants usando aserciones
Tema 19: La API Java Date/Time
- Creación y gestión de eventos basados en fechas
- Creación y gestión de eventos basados en el tiempo
- Combinar fecha y hora en un solo objeto
- Trabajo con fechas y horas en distintas zonas horarias
- Gestión de cambios resultantes de los cambios de horario
- Definir y crear lapsos de tiempo, períodos y duraciones
- Aplicar formato a las fechas y horas locales y zonales
Tema 20: Fundamentoss de entrada y salida (I/O)
- Describir los conceptos básicos de entrada y salida en Java
- Leer y escribir datos desde la consola
- El uso de streams de lectura y escritura archivos
- Escribir y leer objetos mediante serialización
Tema 21: Archivos I/O (NIO.2)
- Uso de la interfaz Path para operar en las rutas de archivos y directorios
- Utilización de la clase para comprobar, borrar, copiar o mover un archivo o directorio
- Uso API Stream con NIO2
Tema 22: Concurrencia
- Describir la programación de tareas del sistema operativo
- La creación de subprocesos de trabajo empleando Runnable y Callable
- Empleo de ExecutorService para ejecutar tareas concurrentemente
- La identificación de los posibles problemas threading
- Empleo de atomicidad sincronizada y atomicidad concurrente para gestionar la atomicidad
- El uso de bloqueos de monitorización para controlar el orden de ejecución del hilo
- El uso de las colecciones java.util.concurrent
Tema 23: El Framework Fork-Join
- Paralelismo
- La necesidade de Fork-Join
- Work stealing
- RecursiveTask
Tema 24: Streams paralelos
- Revisión de las características clave de los arroyos
- Al describir cómo hacer una tubería stream de ejecución paralela
- Enumerar los supuestos clave necesarios para utilizar una tubería paralela
- Definición de reduce
- Al describir por qué reduce requiere una función asociativa
- Cálculo de un valor utilizando reduce
- Describir el proceso de descomposición y luego fusionar trabajo
- Listado de las consideraciones clave de rendimiento para corrientes paralelas
Tema 25: Aplicaciones de bases de datos con JDBC
- Aplicaciones de bases de datos con JDBC
- Definición de la disposición de la API JDBC
- Conexión a una base de datos mediante el uso de un controlador JDBC
- Envío de consultas y obtener los resultados de la base de datos
- Especificar información del controlador JDBC externamente
- Realización de las operaciones CRUD utilizando la API JDBC
Tema 26: Localización
- Describiendo las ventajas de la localización de una aplicación
- Definir lo que representa una configuración regional
- Leer y establecer la configuración regional utilizando el objeto Locale
- La construcción de un paquete de recursos para cada entorno local
- Llamar a un paquete de recursos de una aplicación
- Cambio de la configuración regional para un paquete de recursos
PYTHON
TEMA 1: ESTRUCTURA Y ELEMENTOS DEL LENGUAJE
- Introducción a Python
- Comentarios
- Variables
- Tipos de datos
- Operadores Aritméticos
- Estructuras de Control de Flujo e Identación
- Estructuras de control de flujo condicionales
- Estructuras de control iterativas o Bucle while o Bucle for
TEMA 2: MÉTODOS PRINCIPALES DEL OBJETO STRING
- Métodos de formato
- Métodos de conversión
- Métodos de Búsqueda
- Métodos de Validación
- Métodos de Sustitución
- Métodos de unión y división
- Encoding
TEMA 3: TIPOS DE DATOS COMPLEJOS
- Tuplas
- Listas
- Diccionarios
TEMA 4: FUNCIONES DEFINIDAS POR EL USUARIO
- Definiendo funciones
- Opciones de parámetros
TEMA 5: MÓDULOS, PAQUETES Y NAMESPACES
- Creando módulos empaquetados
- Importando módulos
TEMA 6: PROGRAMACIÓN ORIENTADA A OBJETOS
- Elementos y Características de la POO
- Clases
- Objetos
- Atributos
- Métodos
- Métodos especiales
- Herencia
TEMA 7: CONVERSIÓN DE TIPOS
- Concatenación simple de colecciones
- Valor máximo y mínimo
- Contar elementos
TEMA 8: FICHEROS
- Modos de Apertura
- Métodos del Objeto File
- Propiedades del objeto file
- Ficheros JSON
- Serialización de ficheros
TEMA 9: EXCEPCIONES
- Gestión de Excepciones
- Excepciones más comunes
TEMA 10: BASES DE DATOS
- El lenguaje SQL
- Sintaxis básica de las sentencias SQL
- Crear, borrar y modificar tablas en una base de datos
- Insertar datos en una tabla
- Seleccionar registros
- Modificar registros
- Eliminar registros
- Consultas
TEMA 11: Bases de datos en Python con SQLITE3
- Introducción a bases de datos con Python 2
- Conectarse a la base de datos y ejecutar consultas
- Insertar datos 4
- Seleccionar todos los registros
- Seleccionar solo registros coincidentes
- Eliminar registros
- Actualizar datos
TEMA 12: INTRODUCCION A APLICACIONES WEB CON PYTHON
- Introducción
- HTML
- Formularios
- CGI con Python
- Modelo - vista – controlador
TEMA 13: PYTHON AVANZADO
- Estructura proyectos
- Monkey Patching
TEMA 14: CONCURRENCIA
- Concurrencia Basica
- Concurrencia avanzada
- Brokers - comunicación distribuida y RPC
TEMA 15: RENDIMIENTO AVANZADO
- Cuellos de botella y perfilado de aplicaciones
- Creación y manejo Virtualvenvs
- PyCharm
- Docker
C++
TEMA 1: NUESTRO PRIMER PROYECTO
- Estructura de un programa
- Comentarios
- Bibliotecas
TEMA 2: VARIABLES Y CONSTANTES
- Introducción
- Identificadores
- Tipos de datos
- Tamaño de los tipos de datos
- Declaración de variables y constantes
- #define
- const
TEMA 3: OPERADORES
- Introducción
- Operadores aritméticos
- Operadores de asignación
- Operadores de incremento y decremento
- Operadores de bits
- Operadores relacionales
- Operadores lógicos
- Orden de ejecución de los operadores
TEMA 4: PUNTEROS Y REFERENCIAS
- Punteros
- La memoria
- Los punteros y sus operadores
- Referencias
TEMA 5: ENTRADA Y SALIDA ESTÁNDAR
- Introducción
- Entrada y salida en C y C++
- Salida de caracteres: putchar
- Entrada de caracteres: getchar, getch, getche
- Entrada y salida formateada
- Printf
- Scanf
TEMA 6: CONTROL DEL FLUJO Y BUCLES
TEMA 7: ARRAYS
- Introducción
- Arrays unidimensionales
- Arrays bidimensionales
TEMA 8: CADENAS
- Declaración de una cadena
- Lectura de cadenas por teclado
- Scanf
- Gets
- Escritura de cadenas en pantalla
- Funciones de cadenas
- Copiar cadenas
- Concatenar cadenas
- Tamaño de cadenas
- Comparación de cadenas
- Convertir una cadena a número
TEMA 9: ESTRUCTURAS
- Introducción
- Declaración
- Acceso a los campos
- Estructuras y arrays
TEMA 10: FUNCIONES
- Estructura de una función
- Paso de parámetros por valor
- Las funciones retornan datos
- Paso de parámetros por referencia
- Ámbito de las variables locales y globales
- Recursividad
TEMA 11: FICHEROS EN C Y C++
- Introducción
- Apertura de un fichero
- Cierre de un fichero
- Escritura de un fichero
- Operador <<
- Función write
- Lectura de un fichero
- Función eof
- Operador >>
- Función getline
- Función read
- Acceso directo a un registro: seekp y seekg
- Serialización de objetos
TEMA 12: ESTRUCTURAS DINÁMICAS
- Listas
- Implementación de una lista
- Ejemplo
- Pilas
- Implementación de una pila
- Ejemplo
- Colas
- Implementación de una cola
- Ejemplo
TEMA 13: PROGRAMACIÓN ORIENTADA A OBJETOS EN C++(POO)
- Introducción: conceptos básicos
- Clases y objetos
- Métodos, parámetros y return
- Punteros a objetos
- Constructores y destructores
- Sobrecarga de métodos
- Herencia
- Definición de una jerarquía de clases
- Accesibilidad a atributos y métodos
- Los constructores en la herencia
- Instancias de subclases
- Polimorfismo
TEMA 14: CONTROL DE ERRORES Y VALIDACIÓN DE DATOS
- Introducción
- Controlar datos incorrectos
- Contar palabras de una cadena
- Eliminar espacios innecesarios de una cadena
- Comprobar extensión de un fichero
- Sentencias try/catch
TEMA 15: ESTRUCTURAS DINAMICAS
- Listas lineales
- Un ejemplo con listas lineales
- Pilas
- Colas
- Lista doblemente enlazada
- Árboles
- Árboles binarios de búsqueda