programmer sesion 00

Upload: ronald-guerra-olivares

Post on 08-Jan-2016

218 views

Category:

Documents


0 download

DESCRIPTION

ghhg

TRANSCRIPT

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Quienes Somos

    Somos una organizacin orientada a desarrollar, capacitar e investigar tecnologa JAVA a travs de un prestigioso staff de profesionales a nivel nacional.

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    VisinPoder aportar al desarrollo del Pas usando tecnologa Java.

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Misin

    Nuestro equipo trabaja para integrar la tecnologa Java en la sociedad como solucin a todas sus necesidades.

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Servicio de Capacitacin Programer (Antes Java Developer Junior - 80 horas)

    [Certificado: Java Programer]

    Developer (Antes Java Web Developer - 80 horas) [Certificado: Java Developer]

    Expert (Antes Java Developer Senior - 80 horas) [Certificado: Java Expert]

    Arquitect (Antes ADS-RUP - 80 horas) [Certificado: Java Arquitect]

    Carrera (12 meses de contenido Java)[Diploma: Carrera Java]

    Mobile (Antes Desarrollo mviles con Android 40 horas)[Certificado: Android Developer]

    Programmer

    Developer Mobile

    Expert

    Architect

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Programmer

    Contenido

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Requisitos para Saber Programar

    Que te guste la matemtica y lgica.

    Conocimientos bsicos de Sistemas Operativos.

    Conocimientos bsicos de Algoritmos y estructuras de datos.

    Conocimientos bsicos de Bases de Datos.

    Conocimientos bsicos de desarrollo Web: HTML, CSS, JS

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Quienes lo deben llevar

    A los que les guste la programacin y que por sutrabajo no tengan tiempopara estudiar.

    Los que deseen incrementarsus conocimientos Java.

    Los que asuman el reto de la nueva generacin de desasarrolladores.

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Java EE: Pasado, presente y futuro

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Conceptos fundamentales de Programacin.

    Conceptos generales de computadores y procesamiento de datos.

    Los lenguajes de programacinLas herramientas de desarrollo.

    Etapas para la elaboracin de un programa..

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Clase de introduccin

    1. Qu es un ordenador?

    2. Programas y algoritmos

    3. Lenguajes de programacin

    4. Java

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Qu es un ordenador?

    Un sistema digital con tecnologamicroelectrnica capaz de procesarinformacin a partir de un grupo de instrucciones denominado programa

    Componentes principales: Procesador (CPU: Central Processing Unit) Memoria (RAM: Random Access Memory)

    Componentes auxiliares: Disco duro Lector CD-ROM Teclado Pantalla etc.

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Elementos de un ordenador

    Memoria Principal

    (RAM)Unidad de

    Control (CU)

    Unidad aritmetica

    y logica (ALU)

    Programa

    Dispositivos de entrada Dispositivos de salida Dispositivos de

    almacenamiento de datosteclado

    ratn

    pantalla

    impresora disco duro

    lector/grabador de CD-ROM

    lector/grabador de disquete

    Procesador(CPU)

    (hardware)

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Representacin de los datos en el ordenador

    El nico cdigo que entiende la CPU son los bits.

    Los bits son representados en circuitos electrnicos que pueden estar en estado on (1) u off (0)

    Las instrucciones se mandan a la CPU en forma de bytes, que son palabras de 8 bits

    1 byte = 8 bits

    1 kilobyte = 1 024 bytes

    1 megabyte = 1 024 kilobytes = 1 048 576 bytes

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Representacin de los datos en el ordenador

    Base 10:

    Dgitos = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

    1111 = 1*103 + 1*102 + 1*101 + 1*100

    Base 2:

    Dgitos = {0, 1}

    1111 = 1*23 + 1*22 + 1*21 + 1*20 = 8 + 4 + 2 + 1 = 15

    Cuntos valores puede representar un byte?

    1 byte = 8 bits (Ej: 01100101)

    Cada bit puede representar 2 valores (0 y 1)

    Un byte puede representar 28 = 256 valores

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Representacin de textos

    TEXTO: My name is Anders.

    ASCII: 77-121-32-110-97-109-101-32-105-115-32-65-110-100-101-114-115-46

    18 bytes

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Representacin de imagen

    Divisin de la imagen en una matriz de pixels (unidad de la imagen)

    Cada pixel asociado con un color

    0 0 0 0 0 0 0 0

    0 0 1 1 0 1 1 0

    0 0 1 0 0 0 1 0

    0 0 1 0 0 0 1 0

    0 0 1 1 0 1 1 0

    0 0 0 0 0 0 0 0

    0 0 1 1 0 1 1 0

    0 0 0 0 0 0 0 0

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Representacin de sonido

    Discretizacin de la amplitud

    Un byte para cada valor

    4 8 12 13 12 10 8

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Qu es un programa?

    Un programa es una secuencia de instrucciones a la CPU

    Cada instruccin es un conjunto de bytes

    Ejemplos de instrucciones:

    Leer un dato del teclado

    Guardar un dato en la memoria

    Ejecutar una operacin sobre dos datos

    Mostrar un dato en la pantalla

    etc.

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Acceso a la memoria

    9

    8

    7

    6

    5

    4

    3

    2

    1

    15

    64

    32

    10

    0

    2

    45

    125

    12

    RAM

    CPU

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.25

    Algoritmo Un esquema para resolver cierto tipo de problema

    Se puede traducir en un programa para ejecutarlo en un ordenador

    Pasos para la resolucin de un problema con ordenador:

    1. Diseo de un algoritmo

    2. Codificacin de un programa

    3. Ejecucin y validacin

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.26

    Algoritmo Componentes:

    Entrada: datos del problema a resolver

    Salida: el resultado de la resolucin

    Proceso: pasos a seguir para la resolucin

    Propiedades:

    Preciso: orden estricto + expresiones precisas

    Definido: con la misma entrada, siempre resulta la misma salida

    Finito: nmero finito de pasos

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.27

    Algoritmo 1 Problema: Sumar dos nmeros

    Solucin:

    Entrada: dos nmeros

    Salida: guardar la suma en la memoria y imprimirla por pantalla

    Proceso:

    1) Aadir los dos nmeros

    2) Guardar el resultado en la memoria

    3) Imprimir el resultado por pantalla

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.28

    Lenguajes de programacin

    Lenguajes mquina

    Lenguajes ensamblador

    Lenguajes de alto nivel: C, C++, Visual Basic, Java, Pascal, Prolog, LISP,

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.29

    Lenguajes mquina

    Programas son secuencias de instrucciones compuestas de bytes:

    16 29 156 9 82 75

    Ventajas:

    La CPU entiende estos programas

    Desventajas:

    Pensar en modo de 0s y 1s es muydifcil para nosotros

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Lenguajes ensamblador

    Instrucciones compuestas de palabras cortas y nmeros: LOD 15 6

    LOD 16 8

    ADD 15 16 17

    JMP 10

    Ventajas: Ms fcil a entender

    Desventajas: Todava bastante abstracto

    Necesita traducir el cdigo a lenguajes mquina

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.31

    Lenguajes de alto nivel

    Diseados para ser ms parecidos a lenguaje natural

    Ventajas:

    Mucho ms fcil de dar instrucciones

    Desventajas:

    Ms complicado convertir en lenguajes mquina

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.32

    Lenguajes de programacin:Por qu hay tantos?

    Cmo nacen, sobreviven y caducan?

    1. Diferentes dominios de aplicacin: Programacin de sistemas rapidez y acceso de bajo nivel: C

    Inteligencia artificial computacin simblica: LISP, Prolog

    Programacin cientfica frmulas matemticas: Fortran

    Negocios transacciones: COBOL

    Uso especfico: SQL (bases de datos), Perl (manipulacin de textos), JavaScript (pginas web), Pascal (formacin)

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.33

    Lenguajes de programacin:Por qu hay tantos?

    Cmo nacen, sobreviven y caducan?

    1. Diferentes necesidades: Fiabilidad: Ada

    Escabilidad, paradigma orientado a objeto: C C++

    Portabilidad: Java

    2. Evolucin: Mejora del hardware

    Mejor comprensin de como reforzar criterios de legibilidad, facilidad de aprender y escribir, fiabilidad

    3. Importancia de la estandardizacin

    4. Nmero de usuarios!

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.34

    Traductores de lenguaje: intrpretes

    PROGRAMA FUENTE

    INTERPRETE

    EJECUCION DE LA(S)

    INSTRUCCION(ES)

    INTERPRETADA(S)

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.35

    Traductores de lenguaje: compiladores

    PROGRAMA FUENTE

    COMPILADOR

    ENLAZADOR

    (binder, linker)

    EJECUCION

    Fase de compilacin

    Fase de ejecucin

    OPCION 1

    programa

    ejecutable

    Fase de compilacin

    Fase de ejecucin

    OPCION 2

    programa

    objeto

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.36

    Java

    Se desarroll en los comienzos de los aos 1990

    La intencin era crear una herramienta para escribir programas cortos y efectivos

    Ventajas:

    Bsico, fcil de entender

    Porttil: el mismo cdigo sirve para todos los sistemas operativos

    Soporta interfaz grfica de usuario (GUI)

    Apropiado para programas en Internet

    Desventajas:

    La ejecucin es ms lenta que algunos otros lenguajes

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.37

    Java

    El cdigo fuente se guarda en un archivo con extensin .java

    Un compilador traduce el cdigo fuente en cdigo de byte, y lo guarda en un archivo con extensin .class

    Las instrucciones son diferentes para diferentessistemas operativos

    Un intrprete especfico al sistema operativointerpreta el cdigo byte para ejecutar el programa

    Un programa puede ser compuesto de varios archivos

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    La Mquina Virtual Java (JVM)

    PROGRAMA FUENTE

    COMPILADOR JAVA

    PROGRAMA OBJETO

    .java

    .class

    Programa bytecode para JVM

    INTERPRETE (JVM)

    para Windows

    INTERPRETE (JVM)

    para Linux

    INTERPRETE (JVM)

    para Macintosh

    WINDOWS LINUX MACINTOSH

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.39

    Ejecucin de un programa Java

    HolaMundo.java

    HolaMundo.class

    javac HolaMundo.java

    System.class

    java HolaMundo

    SISTEMA OPERATIVO

    compilador Java

    llamar a la JVM

    crear el programa

    en un editor

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Componentes de un lenguaje

    Sintaxis (gramtica): reglas que determinan de manera estricta el vocabulario, orden y formato de las instrucciones permitidas

    Errores sintcticos: el programa no compila y/o no se puede interpretar

    Semntica (sentido): el programa, al ejecutarlo, produce el resultado correcto que uno quiere

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Errores de programacin

    Modificar o crear un archivo .java

    Editar para corregir errores

    Compilar

    Ejecutar programaDepurar

    (debugging)

    errores de compilacin (sintaxis)

    no hay errores

    errores de ejecucin (semntica)

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    https://blockly-games.appspot.com/

  • Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / [email protected] CJava, siempre para apoyarte.

    Gracias