12 abril, 2017

Programación con Java, Base de Datos y Android

Programacion
  • Inicia: 13 de mayo de 2017.
  • Horario: Sábados de 9hs a 12hs.
  • Duración: 106hs.
  • Amplia salida laboral.

En este curso aprenderás a

  • Entender cómo se instala una Base de Batos.
  • Trabajar con el entorno de Base de Datos MySQL.
  • Construir un modelo de Base de Datos.
  • Comprender la estructura del lenguaje SQL.
  • Interpretar la sintaxis y semántica de Java.
  • Diferenciar constantes de variables.
  • Identificar los distintos tipos de operadores.
  • Trabajar con estructuras de control de flujo.
  • Realizar sentencias condicionales.
  • Comprender el modelado de objetos.
  • Detectar clases, atributos y operaciones.
  • Utilizar constructores.
  • Implementar relaciones simples y múltiples.
  • Trabajar con Herencia y Polimorfismo.
  • Desarrollar aplicaciones comerciales en Java.
  • Conectar una aplicación con cualquier Base de Datos.
  • Armar una interfaz gráfica con menúes y ventanas.
  • Comprender el modelo de Arquitectura en 3 capas.
  • Realizar la instalación de todo el ambiente de trabajo necesario para la programación en Android.
  • Utilizar los componentes principales de Android: Activity, View y ViewGorups, Intents Services, Content Providers, BroadcastReceiver, Widgets.
  • Diseñar Interfaces gráficas para desarrollos en Android.
  • Desarrollar menúes, barras de acciones y menúes contextuales.
  • Trabajar con persistencia de Información en la BDD.
  • Subir aplicaciones a Google Play.
  • Diferenciar perfectamente el hilo de vista de los hilos en segundo plano.
  • Realizar tareas asincrónicas.
  • Crear notificaciones.
  • Consumir información de un servidor web.
  • Adecuar datos en el formato Json al paradigma de objetos.
  • Visualizar fotos desde un servidor en un dispositivo Android.
  • Planificar eventos futuros en la plataforma.
  • Reutilizar lógica y vista en componentes conocidos como Fragments.

BotonInscribirseAhora-300x300

PLAN DE ESTUDIO


MODULO: Introducción a Base de Datos y SQl – Duración: 12hs

Implementando el diseño de la base de datos

  • Modelo de entidad – relación
  • Entidad
  • Relación
  • Cardinalidad de las relaciones
  • Atributos
  • Consideraciones en el planeamiento del diseño lógico de la base de datos
  • Modelado de elementos de datos
  • Tablas
  • Restricciones de las tablas
  • Columnas no descomponibles
  • Restricciones en las columnas
  • Clave primaria (primary key)
  • Clave foránea (foreign key)
  • Imágenes vectoriales y de mapa de bits

Base de datos MySQL

  • Entorno MySQL
  • ¿Qué es MySQL?
  • Bases de datos
  • Tablas
  • MySQL es un sistema de administración relacional de bases de datos
  • MySQL query browser
  • Dialogo de conexión
  • La ventana central de consultas
  • Editor de tablas

Tipos de datos

  • Topos numéricos
  • Tipos fechas
  • Tipos de cadena
  • Zerofill
  • Tipos de datos en MySQL
  • Datos numericos
  • Caracteres o cadenas
  • Varios

El lenguaje SQL

  • Estructura del lenguaje
  • ¿Qué es ddl?
  • Creación de una tabla
  • Qué es dml?
  • Eliminar una tabla
  • Consultas basicas
  • Select
  • Insert
  • Update
  • Delete
  • Consultas con SQL select
  • Condiciones lógicas
  • Operadores lógicos
  • Sentencia between
  • Sentencia in
  • Sentencia like
  • Laboratorio
  • Creación de tablas
  • Comando insert
  • Comando select
  • Comando delete
  • Comando update

Tópicos avanzados

  • Funciones de bases de datos
  • Funciones matemáticas
  • Funciones de cadenas
  • Funciones de fecha y hora
  • Funciones de grupo
  • Agrupaciones
  • Consultas agrupadas – group by
  • Consultas relacionadas
  • Consultas anidadas – join
  • Como realizar una actualización
  • Como realizar una eliminación


MODULO: Java para no programadores – Duración: 15hs

Introducción a Java

  • ¿Qué es Java?
  • Organización?
  • La historia?
  • Aparición de Internet?
  • Por qué el nombre JAVA?
  • Siglas?
  • El compilador?
  • La Java Virtual Machine (JVM)?
  • IDE a utilizar?
  • Links Downloads?

Sintaxis y Semántica de Java

  • ¿Qué es una variable?
  • Identificador
  • Definición de variables en Java
  • Tipos de dato primitivos
  • Carácter
  • Boolean
  • Enteros
  • Enteros Largos
  • Flotante
  • Operadores
  • ¿Qué es un Operador?
  • Operadores Aritméticos
  • Operadores lógicos
  • Operadores de Asignación
  • Operador concatenación de caracteres
  • Operador condicional
  • Operadores incrementales y decrementales.
  • Operadores relacionales
  • Operadores aplicables a bits
  • Clasificación
  • Sentencias
  • Bloques de Código
  • Expresiones
  • Caracteres especiales
  • Valores externos
  • Valores Constantes
  • Definición
  • Uso de constantes en Java.
  • Comentarios
  • Introducción
  • Tipos de Comentarios

Estructuras de control de flujo

  • Sentencias Condicionales
  • Introducción
  • Bifurcación if
  • Bifurcación if else
  • Bifurcación if else if else
  • Bifurcación switch
  • Estructuras de Control (Bucles)
  • Introducción
  • Bucle for
  • Bucle while
  • Bucle do while
  • Sentencia break
  • Sentencia continue

Vectores

  • Introducción
  • Creación
  • Ejemplos
  • Usos
  • Inicialización en la declaración
  • Recorrido del array
  • Copia de arrays

Interfaz Gráfica de Usuario

  • Descripción
  • Contenedores gráficos
  • Componentes gráficos
  • Eventos
  • Utilización de la estructura de control IF
  • Utilización de la estructura de control WHILE
  • Utilización de la estructura de control FOR
  • Utilización de Vectores
  • Introducción a Interfaz Gráfica de Usuario
  • Construcción de la Interfaz Grafica
  • Programación de Eventos


MODULO: Introduccion al Paradigma de Objetos– Duración: 9hs

El Paradigma de Objetos

  • ¿Qué es un Paradigma?
  • ¿Qué es el Paradigma de Objetos?
  • ¿Por qué utilizar el Paradigma de Objetos?

Implementacion del Paradigma

  • ¿Qué es una clase?
  • ¿Qué es un atributo?
  • ¿Qué es un Tipo de Dato?
  • ¿Qué es un Método?
  • ¿Qué es un Objeto?
  • ¿Qué es un Constructor?
  • Conocimiento entre Objetos
  • Encapsulamiento

Aspectos Avanzados

  • Los paquetes
  • Clase abstracta y concreta
  • Atributos y Metodos Estaticos
  • Herencia
  • Polimorfismo
  • Colecciones
  • Interfaces

Introducción a UML

  • ¿Qué es UML?
  • ¿Cómo nace UML?
  • ¿Dónde se utiliza?

Laboratorios

  • Detección de Clases
  • Detección de Atributos
  • Detección de Operaciones
  • Uso de Constructores
  • Relaciones Simples
  • Relaciones Multiples
  • Herencia


MODULO: Java Standard Programming, J2SE 8.0– Duración: 40hs

Introducción a JAVA

  • ¿Qué es JAVA?
  • Introducción
  • Organización
  • Jme (mobile / wireless)
  • Jse (core / desktop)
  • Jee (enterprise / server)
  • La historia
  • El comienzo
  • Aparición de internet
  • Por qué el nombre JAVA

Desarrollo, compilacion y ejecucion

  • JAVA development kit (jdk)
  • El compilador
  • JAVA runtime envioroment (jre)
  • JAVA virtual machine (jvm)
  • La variable de entorno classpath

Sintaxis y semántica de JAVA

  • Definición de variables
  • Identificador
  • Tipos de variables
  • Declaración y definición
  • Vectores
  • Tipos de datos primitivos
  • Boolean
  • Char
  • Byte
  • Short
  • Int
  • Long
  • Float
  • Double
  • Operadores
  • Operadores aritméticos
  • Operadores de asignación
  • Operador instanceof
  • Operador condicional
  • Operadores incrementales y decrementales
  • Operadores relacionales
  • Operadores lógicos
  • Operador concatenación de caracteres
  • Operadores aplicables a bits
  • Clasificación

Estructuras de control de flujo

  • Bifurcación if else
  • Bifurcación if else if else
  • Bifurcación switch
  • Bucle while
  • Bucle for
  • Bucle do while
  • Sentencia break
  • Sentencia continue
  • Comentarios
  • Caracteres especiales
  • Valores externos
  • Uso del netbeans
  • Vistas de un proyecto
  • Directorios de un proyecto
  • Comandos útiles aplicables a un proyecto
  • El debugger 29

Introducción a oop

  • ¿Qué es una clase?
  • ¿Qué es un objeto?
  • ¿Qué son los atributos?
  • Atributos de instancia
  • Atributos de clase
  • ¿Qué son los métodos?
  • Métodos de instancia
  • Métodos de clase
  • Encapsulamiento
  • Definición
  • Métodos de acceso
  • Constructores y destructores
  • El constructor
  • El destructor
  • Herencia
  • Definición
  • ¿Qué es el casting?
  • Definición
  • Casteo implícito (widening casting)
  • Casteo explicito (narrowing casting)
  • Upcasting
  • Polimorfismo
  • Definición
  • Con redefinición
  • Sin redefinición
  • Clase abstracta
  • Definición
  • Interfáz
  • ¿Qué es una interfaz?
  • Paquetes
  • Que es un paquete
  • La keyword final
  • Definición
  • Aplicable a atributos
  • Aplicable a métodos
  • Aplicable a clases

Interfaz gráfica

  • La historia: awt
  • Definición
  • Estructura de una aplicación awt
  • La actualidad: swing
  • Definición
  • Estructura de una aplicación swing
  • Swing vs. Awt
  • Componentes swing – Contenedores
  • Definición
  • Jframe
  • Jdialog
  • Japplet
  • Jpanel
  • Organización en netbeans
  • Palette window
  • Inspector window
  • Properties window
  • Layouts
  • Definición
  • Borderlayout
  • Boxlayout
  • Flowlayout
  • Gridlayout
  • Gridbaglayout
  • Absolutelayout

Conceptos generales

  • La clase string
  • Definición
  • La clase system
  • Definición
  • Los wrappers de los tipos de dato primitivos
  • Definición
  • La clase integer
  • La clase float
  • La clase number
  • Comparación entre objetos
  • El operador ==
  • El método equals()

Contenedores

  • Definición
  • La interfaz collection
  • La interfaz set
  • Hashset
  • Treeset
  • Linkedhashset
  • La interfaz list
  • Arraylist
  • Linkedlist
  • La interfaz queue
  • Linkedlist
  • Priorityqueue
  • La interfaz dqueue
  • Iteradores
  • Definición
  • Utilización
  • La interfaz map
  • Hashmap
  • Treemap
  • Linkedhashmap
  • Implementaciones de cada colección
  • Generics

Excepciones

  • Definición
  • Bloques try, catch y finally
  • Tipos de excepciones
  • Unchecked exceptions
  • Checked exceptions
  • Ejercicio
  • La sentencia ?throw?
  • Creación de excepciones propias
  • La clase exception como superclase
  • La keyword ?throws?
  • Enums
  • Beneficios de usar enums en JAVA

Streams

  • Definición
  • Que es un stream
  • Algoritmo de lectura
  • Algoritmo de escritura
  • Tipos de streams
  • Organización
  • Streams orientados a caracter
  • Streams orientados a byte
  • Que es un file stream
  • La clase filereader
  • La clase filewriter
  • Las clases fileinputstream & fileoutputstream
  • Que son los buffers
  • Introducción
  • La clase bufferedreader
  • La clase bufferedwriter
  • La clase bufferedinputstream
  • La clase bufferedoutputstream
  • JAVA nio
  • Nio vs. Io
  • Diferencias principales
  • La clase files
  • Comparable y comparator

Base de datos

  • El lenguaje SQL
  • Definición
  • Utilización
  • MySQL como data base management system
  • Introducción
  • Características
  • ¿Qué es ddl?
  • La operación create
  • La operación alter
  • La operación drop
  • ¿Qué es dml?
  • El comando select
  • El comando insert
  • El comando update
  • El comando delete

Jdbc: conexion con base de datos

  • Introduccion
  • ¿Qué es jdbc?
  • La necesidad de una librería
  • Conexión con la base de datos
  • La interfaz connection
  • Construcción de un administrador de conexiones
  • Consultas
  • El método createstatement()
  • El método executequery()
  • ¿Cómo realizar una consulta?
  • Inserción de datos
  • El método createstatement()
  • El método excute()
  • ¿Cómo realizar una inserción?
  • Actualización de datos
  • El método createstatement()
  • El método excute()
  • ¿Cómo realizar una actualización?
  • Eliminación de datos
  • El método createstatement()
  • El método excute()
  • ¿Cómo realizar una eliminación?
  • La clase preparedstatement
  • Transacciones
  • ¿Qué es un dao?
  • ¿Qué es una transacción?
  • El método setautocommit()
  • El método commit()
  • El método rollback()
  • Utilización de transacciones
  • Utilización de transacciones con manejo de excepciones


MODULO: Programación en Android– Duración: 15hs

¿Qué es Android?

  • Android: Sistema operativo
  • Google Play
  • Seguridad y permisos

Android Studio

  • Instalación
  • Instalación de una versión específica de Android
  • Código fuente

Dispositivo virtual – Emulador (AVD)

  • ¿Qué es?

Creación de una aplicación Android

  • Primera aplicación Android
  • Creación del proyecto
  • Correr nuestra primera aplicación con Genymotion y Android Studio
  • Activity
  • AndroidManifest.xml
  • R.java y Resources
  • Vista XML (de manera estática)
  • Ciclo de vida del Activity
  • Crear constantes String
  • Tomar el Click de un botón
  • Pasar de un Activity a otro:
  • Pasar de un Activity a otro (enviando un parámetro):
  • Abrir proyectos desarrollados desde el Android Studio

Laboratorio 1

  • Pasos a seguir
  • Pantalla
  • Actividad
  • Cambios en la configuración
  • Context
  • Componentes principales de Android
  • Services
  • Content Provider
  • BroadCast Receiver
  • Intents
  • View y ViewGroups
  • Activities y Layouts
  • Atributos Height y Width
  • Atributos Margin y Padding
  • LinearLayout
  • Propiedad Gravity del LinearLayout
  • Weight (Solo para LinearLayout)
  • RelativeLayout

Laboratorio 2

  • Primera Pantalla
  • Continuamos con ViewGroups
  • FrameLayout
  • Ejemplo: Uso de FrameLayout
  • GridLayout
  • ScrollView
  • Ejemplo: Uso de ScrollView
  • ListView
  • Adapter
  • Ejemplo: Lista de Contactos
  • OnItemClickListener
  • Ejemplo: Lista de Contactos 2 parte
  • Optimización

Laboratorio 3

  • Pantalla Listado
  • Pantalla Detalle
  • Navegacion entre Activities
  • Ejemplo: Navegación entre activities
  • ActionBar
  • Ejemplo: ActionBar con icono y título
  • ActionBar Menu
  • Ejemplo: ActionBar menu
  • Ejemplo: ActionBar menu 2 parte
  • Submenu
  • Ejemplo: ActionBar menu 3 parte
  • Detectar la selección de una entrada de menú

Laboratorio 4

  • Consideraciones
  • Pantalla listado
  • Pantalla Agregar
  • Pantalla listado
  • Opciones de almacenamiento
  • SharedPreferences
  • Ejemplo: Uso SharedPreferences
  • SQLite
  • ¿Qué es?
  • Android y Sqlite
  • Ormlite
  • Ejemplo: Persistencia Contactos

Laboratorio 3

  • Consideraciones
  • Pantalla Detalle


MODULO: Programación Avanzada en Android– Duración: 15hs

Tareas en Background

    • Introducción Hilo de Vista y tareas en Background
    • Repaso de Hilos
    • ¿Qué hacer y qué no en un hilo de vista?
    • Loadings

¿Para qué sirven?

  • Ejemplo de implementación

 

Async Tasks

  • ¿Qué es una Async task?
  • ¿Cuándo usar una Async Task?
  • Pasos de las Async Task.
  • Implementación de una AsyncTask
  • Web Services
  • ¿Qué son y para qué se usan?
  • Protocolo REST
  • JSON

Framework Gson

  • ¿Cómo consumir un servicio REST?
  • Implementación cliente REST
  • Carga de imágenes de Internet
  • Framework Universal Image Loader
  • Servicios
  • ¿Cuándo usar servicios?
  • Tipos de Servicios.
  • Ciclo de vida de los Servicios.
  • Creación de Servicio.
  • Broadcast Receiver
  • Ejemplo e implementación.
  • Alarm Manager
  • ¿Qué es?
  • ¿Cuándo usarlo?
  • Ejemplo

Vistas para Avanzados

  • Notifications
  • ¿Qué son?
  • ¿Para qué se usan?
  • Push Notifications
  • Ejemplo de implementación.

Fragments

  • ¿Qué son?
  • ¿Para qué sirven?
  • Fragments en tiempo de compilación
  • Fragments en tiempo de ejecución
  • Comunicación entre Fragments.