• No se han encontrado resultados

Vía zona 4, edificio Campus Tecnológico torre 2, Oficina 401, Guatemala, Guatemala PBX (502)

N/A
N/A
Protected

Academic year: 2021

Share "Vía zona 4, edificio Campus Tecnológico torre 2, Oficina 401, Guatemala, Guatemala PBX (502)"

Copied!
18
0
0

Texto completo

(1)

Términos de Confidencialidad

Por razones de índole comercial, puede resultar perjudicial para Nabenik, el que las ideas, conceptos, funcionalidad, aplicaciones, precios, planes de trabajo y en general las soluciones contenidas en este documento sean conocidas por personas distintas a aquellas a quienes está dirigida.

Este documento y su contenido es el resultado de un trabajo desarrollado por Nabenik, y destinado exclusivamente a Telus. Su contenido no debe ser revelado, duplicado, usado, o publicado total o parcialmente, fuera de su organización, ni dado a conocer por ningún medio a cualquier otra empresa, sin una autorización expresa y escrita de Nabenik.

Vía 4 1-00 zona 4, edificio Campus Tecnológico torre 2, Oficina 401, Guatemala, Guatemala PBX (502) 2458-4570

(2)

RESUMEN EJECUTIVO

PRIMER AÑO

El primer año está conformado por 10 meses de capacitación

Introducción a la Programación

Programación Avanzada

Introducción a las bases de datos

4 meses

4 meses

2 meses

Organización de una computadora

Fases en la resolución de problemas

Paradigmas de la programación

Estructura general de un programa

Programación Orientada a Objetos

Métodos

Estructuras Selectivas

Estructuras Repetitivas

Arreglos

Aplicación de estructuras para la

resolución de problemas

Estilo y documentación

Depuración y estructuras básicas de

datos

Organización de la memoria y

recursividad

Objetos y constructores

Estructuras de datos

Métodos de ordenamiento

Complejidad algorítmica

Métodos de búsqueda

Modelo Entidad-Relación

Entorno PostgreSQL y MySQL

Tipos de datos

Estructuras y consultas

Funciones y agrupaciones

(3)

SEGUNDO AÑO

El segundo año está conformado por 6 meses de capacitación

Herramienta de versionamiento GIT

Programación en Java Enterprise

1 mes

5 meses

Herramientas de versionamiento

GIT

GIT Workflow

Introducción

Servlets

Java Server Pages

Bean Validation

Enterprise Java Beans

Java Database Connectivity

Java Persistence API

Java Message Services

Context and Dependency Injection

Java Managed Extensions

Java Architecture for XML Binding

Java API for XML-Based Web Services

Java API for RESTful Web Services

Java Content Repository API

(4)

INTRODUCCIÓN A LA PROGRAMACIÓN

DESCRIPCIÓN GENERAL

Este curso busca introducir a los estudiantes en las técnicas básicas de resolución de problemas,

principalmente a aquellos problemas que utilizan la computadora como herramienta de apoyo. Se

presenta una metodología basada en el uso de algoritmos y enfatizando en el estilo y la calidad de la

solución. Se utiliza un lenguaje de programación de alto nivel y orientado a objetos (Java).

OBJETIVOS

Resolver problemas utilizando un enfoque algorítmico para proporcionar soluciones que, paso a

paso, satisfagan de la mejor manera posible lo requerido utilizando como herramienta la

computadora

Realizar la implantación de algoritmos sobre una computadora, utilizando un lenguaje y una

herramienta de programación de última generación, como lo es Java

REQUERIMIENTOS

64 horas (4 meses) distribuidas en dos periodos de 2 horas a la semana o 4 horas en día sábado

Cupo mínimo: Se requieren 15 participantes como mínimo

Cupo máximo: El curso podrá ser impartido a 25 personas simultáneamente como máximo

Introducción a la programación

Unidad 1: Organización de una computadora • Introducción

• Hardware y Software • Lenguajes de programación

◦ Lenguaje máquina ◦ Lenguaje de bajo nivel ◦ Lenguaje de alto nivel • Traductores de lenguaje

◦ Interpretes

• La compilación y sus fases

Unidad 2: Fases en la resolución de problemas • Fases en la resolución de problemas

◦ Análisis ◦ Diseño ◦ Desarrollo

◦ Ejecución, verificación y depuración ◦ Mantenimiento

(5)

• Diseño Soluciones

◦ Concepto y Características de Algoritmos ◦ Escritura de algoritmos

◦ Representación gráfica

▪ Pseudocódigo y diagrama de flujo Unidad 3: Paradigmas de la programación

• Qué es programación

◦ Concepto de programa y su partes. • Paradigmas de programación

◦ Lenguajes imperativos (procedimentales) ◦ Lenguajes declarativos

◦ Lenguajes orientados a objetos • Metodología de la programación

◦ Programación estructurada ◦ Programación orientada a objetos Unidad 4: Estructura general de un programa

• Partes de un programa

• Instrucciones y tipos de instrucciones ◦ Tipos de instrucciones

▪ Instrucciones de asignación ▪ Instrucciones de Lectura de datos ▪ Instrucciones de Escritura de resultados ▪ Instrucciones de bifurcación

• Expresiones ◦ Aritméticas:

▪ Operadores de incremento y decremento ◦ Reglas de prioridad

◦ Lógicas

Unidad 5: Programación Orientada a Objetos • Definición de variables

• Identificadores

◦ Datos, tipos de datos y operaciones primitivas ▪ Datos numéricos

▪ Datos lógicos (booleanos) ▪ Datos tipo carácter y tipo cadena ▪ Constantes

▪ Variables • Definición de una Clase

(6)

Unidad 6: Métodos • Tipos de métodos ◦ Funciones ◦ Procedimientos • Parámetros ◦ Por valor ◦ Por referencia • Ámbito de atributos

• Métodos accesores (get y set) Unidad 7: Estructuras Selectivas

• Flujo de control • Estructura secuencial • Estructuras selectivas

◦ Simples (si-entonces)

◦ Alternativa doble (si-entonces-sino)

◦ Alternativa múltiple (según sea, en caso, casos) Unidad 8: Estructuras Repetitivas

• Estructuras repetitivas ◦ Mientras

▪ Ejecución cero veces ▪ Ejecución infinita ◦ Estructura hacer-mientras ◦ Estructura desde/para • Estructuras repetitivas anidadas Unidad 9: Arreglos

• Arreglos unidimensionales ◦ Vectores

◦ Operaciones con vectores • Arreglos de varias dimensiones

◦ Matriz • Arreglos de Clases

Unidad 10: Aplicación de estructuras para la resolución de problemas • Agregación de objetos

(7)
(8)

PROGRAMACIÓN AVANZADA

DESCRIPCIÓN GENERAL

Este curso busca profundizar en los conceptos de programación adquiridos en los cursos introductorios.

Durante este curso se presentan problemas más complejos que introducen la necesidad del uso de

estructuras de datos básicas, algoritmos de búsqueda, recursividad y uso de memoria dinámica.

Mientras estos conceptos se desarrollan se refuerzan buenas prácticas de estilo y patrones de

programación.

OBJETIVOS

Que los estudiantes ejerzan buenas prácticas de programación en cuanto a estilo,

documentación, resguardo de repositorios de código, convenciones de nombramiento, etc

Que los estudiantes comprendan el funcionamiento básico de un programa en tanto al uso de

memoria acorde a compiladores modernos

Que los estudiantes analicen e identifiquen algoritmos eminentemente recursivos

Que los estudiantes implementen algoritmos que involucren conceptos de manejo de memoria

Que los estudiantes implementen algoritmos de búsqueda utilizando estructuras de datos

REQUERIMIENTOS

Conocimientos de programación y resolución de problemas mediante algoritmos

64 horas (4 meses) distribuidas en dos periodos de 2 horas a la semana o 4 horas en día sábado

Cupo mínimo: Se requieren 15 participantes como mínimo

Cupo máximo: El curso podrá ser impartido a 25 personas simultáneamente como máximo

Programación avanzada

Unidad 1 – Estilo y documentación • Estilo

◦ ¿Qué es y por qué es importante? ◦ Convenciones de nombramiento ◦ Convenciones de espaciado ◦ Identación

◦ Sentencias

◦ Ejemplos (JavaScript vs. Java) ◦ Code Review and Peer Programming ◦ Owning your codebase

◦ Beautify code y herramientas de estilo • Documentación

◦ Markdown

(9)

◦ JavaDoc IntelliJ

Unidad 2 – Depuración y estructuras básicas de datos • Depuración

◦ Break Points ◦ Watches

◦ Contexto de ejecución ◦ Semántica por valor ◦ Semantica por referencia • Estructuras de Datos Básicas

◦ Arreglos (uni y multidimensionales) ◦ Listas

◦ Colas ◦ Pilas

Unidad 3 – Organización de la memoria y recursividad • Organización de memoria

◦ Stack (Pila de ejecución) ◦ Heap ◦ Datos no inicializados ◦ Datos inicializados ◦ Segmento de texto ◦ Ejercicios y Ejemplos • Recursividad ◦ Recursividad ◦ Tipos de Recursividad. ◦ Recursividad vs. Iteración

◦ Ejemplos clásicos (Factorial, Hanoi, QuickSort) Unidad 4 – Objetos y constructores

• Objetos ◦ Modificadores de Acceso ◦ Private ◦ Public ◦ Protected ◦ Static • Constructures • Herencia • Polimorfismo

• Tabla virtual de métodos • Interfaces

(10)

Unidad 5 – Estructuras de datos • Listas enlazadas

• Listas doblemente enlazadas • Colas

• Pilas

• Arboles Binarios

Unidad 6 – Métodos de ordenamiento

• Métodos de ordenamiento - Estructuras Lineales ◦ Selection Sort

◦ Shell Sort ◦ Quick Sort ◦ Stupid Sort

Unidad 7 – Complejidad algorítmica • Función O

• Funcion Ω • Funcion π

Unidad 8 – Métodos de búsqueda • Métodos de Búsqueda • Método Secuencial • Método Binario • Tablas Hash

(11)

INTRODUCCIÓN A LAS BASES DE DATOS

DESCRIPCIÓN GENERAL

En este curso aprenderás los conceptos generales de bases de datos, arquitectura Cliente-Servidor, así

como también la instalación, diseño, normalización e implementación de una base de datos.

OBJETIVOS

Entender cómo que es y para que sirve una Base de Batos

Que el estudiante sea capaz de construir un modelo de Base de Datos

Que el estudiante sea capaz de comprender la estructura del lenguaje SQL

Que el estudiante sea capaz de realizar consultas básicas (SELECT, INSERT, UPDATE,

DELETE) y modificar datos

Proveer al estudiante la capacidad de identificar las distintas funciones de una Base de Datos

REQUERIMIENTOS

32 horas (2 meses) distribuidas en dos periodos de 2 horas a la semana o 4 horas en día sábado

Cupo mínimo: Se requieren 15 participantes como mínimo

Cupo máximo: El curso podrá ser impartido a 25 personas simultáneamente como máximo

Introducción a las Bases de Datos

Unidad 1 – Modelo Entidad-Relación • Introducción a las bases 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)

(12)

• Entorno PostgreSQL y MySQL ◦ Bases de datos

◦ Tablas

◦ Sistema de administración relacional de bases de datos ◦ ¿Qué es PostgreSQL?, ¿Qué es MySQL?

• PostgreSQL pgAdmin y MySQL Query Browser ◦ Dialogo de conexión

◦ La ventana central de consultas ◦ Editor de tablas

Unidad 3 – Tipos de datos • Tipos de datos

◦ Tipos numéricos ◦ Tipos fechas ◦ Tipos de cadena • Zerofill

• Tipos de datos en PostgreSQL • Tipos de datos en MySQL Unidad 4 – Estructuras y consultas

• Estructura del lenguaje ◦ ¿Qué es ddl?

◦ Creación de una tabla ◦ Qué es dml?

◦ Eliminar una tabla • Consultas basicas ◦ Select ◦ Insert ◦ Update ◦ Delete • 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 Unidad 5 – Funciones y agrupaciones

(13)

• 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

(14)

HERRAMIENTA DE VERSIONAMIENTO GIT

DESCRIPCIÓN GENERAL

Git, en pocas palabras, es una herramienta para guardar versiones de tu código. Este curso le mostrará

flujo de trabajo básico y características principales, diferentes maneras de deshacer cambios o guardar

múltiples versiones de un proyecto, y cómo colaborar con otros desarrolladores.

OBJETIVOS

Que el estudiante sea capaz de gestionar las versiones de sus proyectos de software mediante la

herramienta GIT

Que el estudiante sea capaz de colaborar con otros integrantes del equipo en el mismo proyecto

de software mediante el uso de la herramienta GIT

REQUERIMIENTOS

16 horas (1 mes) distribuidas en dos periodos de 2 horas a la semana o 4 horas en día sábado

Cupo mínimo: Se requieren 15 participantes como mínimo

Cupo máximo: El curso podrá ser impartido a 25 personas simultáneamente como máximo

Herramienta de versionamiento GIT

Unidad 1 – GIT

• Introducción a los sistemas de control de versiones • Introducción al sistema de control de versiones - GIT • Uso de “Source Tree” como administrador de arboles de GIT • Uso de “GIT Flow” para la administración de proyectos de software • Comandos de GIT

(15)

PROGRAMACIÓN EN JAVA ENTERPRISE

DESCRIPCIÓN GENERAL

La plataforma Java Enterprise Edition (EE) se basa en Java Standard Edition (SE) para proporcionar

una potente solución informática empresarial, es la plataforma más utilizada a nivel mundial para crear

aplicaciones robustas y seguras para los negocios y la industria. Opera cientos de miles de los sitios

más dinámicos y poderosos en la web, desde su pequeña empresa favorita hasta los sistemas Fortune

500. En este curso el estudiante será capaz de diseñar y construir herramientas potentes basada en las

tecnologías que provee Java Enterprise.

OBJETIVOS

Construir herramientas potentes utilizando el stack de tecnología que provee Java Enterprise

REQUERIMIENTOS

80 horas (5 meses) distribuidas en dos periodos de 2 horas a la semana o 4 horas en día sábado

Cupo mínimo: Se requieren 15 participantes como mínimo

Cupo máximo: El curso podrá ser impartido a 25 personas simultáneamente como máximo

Programación en Java Enterprise

Unidad 1 - Introducción

• Introduction, Setup and Configuration ◦ What Is Java EE

◦ Java EE Api vs Java EE Implementations ◦ Installing Eclipse IDE for Java EE

◦ Payara Application Server/Wildfly Application Server Unidad 2 - Servlets

• Servlet 3.1

◦ Servlet lifecycle

◦ Sharing information between servlets ◦ Service methods

◦ Request and response filtering ◦ Web Resources and Context ◦ Client State

◦ Async processing ◦ Non-blocking I/O Unidad 3 – Java Server Pages

(16)

◦ Overview

◦ Include Directive And Comments ◦ Page Directive Import And Scripting ◦ Page Directive Errors, ELIgnore

◦ System-Wide Error Handling And No Scripting ◦ Declarations And Page Directive Sessions ◦ Expressions And PageContext

◦ Adding static resources ◦ Form validation ◦ Servlet Context Listener

◦ Synchronization and Thread Safety Unidad 4 – Bean Validation

• Bean Validation 1.1 ◦ Constraints

◦ Null and Empty Strings ◦ Constructors and Methods ◦ Custom constraints ◦ Bval specifics Unidad 5 - Enterprise Java Beans

• Enterprise Java Beans 3.2 ◦ Introduction

◦ Session Beans

◦ Statfull, Stateless and Singleton Session Beans ◦ EJB Injection

◦ Java Naming and Directory Interface - JNDI ◦ Annotations

Unidad 6 - Java Database Connectivity

• Java Database Connectivity – JDBC 4.0 ◦ Getting Started

◦ Processing SQL Statements ◦ Using RowSet Objects ◦ Using Advanced Data Types ◦ Using Stored Procedures ◦ Using JDBC with GUI API Unidad 7 - Java Persistence API

• Java Persistence API 2.1 ◦ Overview

◦ Setup

(17)

◦ Transactions ◦ Tables ◦ Inheritance ◦ Relationships

◦ Data Types and Converters ◦ Criteria API

◦ Sequences

Unidad 8 - Java Message Services

• Java Message Services – JMS 2.0 ◦ JMS Programming Model ◦ Message Driven Beans ◦ Session Bean to MDB ◦ Join Messages and MDB

◦ Sending and receiving async messages Unidad 9 - Context and Dependency Injection

• Context and Dependency Injection – CDI 1.1 ◦ CDI Beans

◦ CDI Qualifiers

◦ Scopes, injection points, EL for Beans ◦ Producers

◦ Alternatives

◦ Events, Interceptors, Decorators, Stereotypes Unidad 10 - Java Managed Extensions

• Java Managed Extensions – JMX 2.0 ◦ MBeans

◦ Notifications ◦ Remote management

Unidad 11 - Java Architecture for XML Binding

• Java Architecture for XML Binding – JAXB 2.2 ◦ JAXB Schemas

◦ Marshaling and Unmarshaling ◦ Binding and content trees ◦ Notifications

Unidad 12 - Java API for XML-Based Web Services

• Java API for XML-Based Web Services – JAX-WS 2.0 ◦ Web Services vs. Web Api

◦ Types of web services

◦ Creating JAX-WS Services and Clients ◦ JAX-WS and JAXB

(18)

Unidad 13 - Java API for RESTful Web Services • Java API for RESTful Web Services – JAX-RS

◦ Introduction to REST ◦ Designing RESTful Services ◦ HTTP Method and URI Matching ◦ JAX-RS Injection

◦ JAX-RS Content Handlers

◦ Response Codes, Complex Responses, and Exception Handling ◦ HTTP Content Negotiation

◦ Scaling JAX-RS Applications ◦ Deployment and Integration ◦ Securing JAX-RS

◦ RESTful Java Clients Unidad 14 - Java Content Repository API

• Java Content Repository API ◦ Introduction to JCR ◦ JEE Integration ◦ Apache Sling

Referencias

Documento similar

Siguiendo esta línea de razonamiento, la calidad no existe, salvo que un cliente la haga existir al consumir un producto o servicio y experimentar la calidad inherente al mismo.

 Presencia de 2 o mas de los siguientes criterios al menos una vez por semana durante un periodo mínimo de 2 meses previos al diagnóstico en un niño con edad mental mayor de 4

4.-MECÁNICA DE LA PROMOCIÓN Y REQUISITOS DE LOS PARTICIPANTES En el Centro Comercial LUZ SHOPPING, desde las 10,00 horas del día 8 de noviembre de 2019 hasta las

.- Controlar las llaves (monitores, personal externo,…). .- Avisar al Ayuntamiento de cualquier anomalía de la instalación o de cualquier problema que surja con

Los parches transdérmicos de buprenorfina se deben reemplazar como máximo a las 96 horas (4 días). Para facilitar su uso, se puede cambiar el parche transdérmico dos veces a la

En pacientes con proctitis leve o moderada, con lesiones que no se ex- tienden más allá de 15-20 cm del margen anal, el tratamiento tópico con mesalazina es más eficaz que

La fosfomicina cálcica administrada por vía oral tiene una absorción incompleta, con una biodisponibilidad del 30 - 40% lo que permite alcanzar niveles séricos máximos, a las 2-4

• Se creará la cuenta en la nube y en un máximo de cuatro horas hábiles, estará configurado y listo para usar. • Capacitación: