Introducción a las computadoras, Internet y Java

Fabio Ricardo Sierra Largo 20211005006

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Introducción a las computadoras, Internet y Java por Mind Map: Introducción a las computadoras, Internet y Java

1. Java es uno de los lenguajes de programación mas utilizados del mundo no solo en computadoras sino en todo tipo de dispositivos electrónicos. Entre sus versiones se encuentran:

1.1. Java Standard Edition (Java SE)

1.1.1. Contiene las herramientas necesarias para desarrollar aplicaciones de escritorio y de servidor.

1.2. Java Enterprise Edition (Java EE)

1.2.1. Esta orientada hacia el desarrollo de aplicaciones de red distribuidas, de gran escala, y aplicaciones basadas en Web.

1.3. Java Micro Edition (Java ME)

1.3.1. Esta orientada hacia el desarrollo de aplicaciones para dispositivos incrustados con capacidad limitada de memoria.

2. Organización de la Computadora

2.1. Sin importar las diferencias físicas entre las computadoras, estas se pueden segmentar o dividir en las siguientes unidades.

2.2. Unidad de entrada

2.2.1. Obtiene información de los dispositivos de entrada y la pone a disposición de las otras unidades para que pueda procesarse.

2.3. Unidad de salida

2.3.1. Toma información que ya ha sido procesada por la computadora y la coloca en los diferentes dispositivos de salida para que esté disponible fuera de la computadora.

2.4. Unidad de memoria

2.4.1. Retiene la información que se introduce a través de la unidad de entrada para que pueda estar disponible de manera inmediata y procesarla cuando sea necesario.

2.5. Unidad aritmética y lógica (ALU)

2.5.1. Realiza los cálculos aritméticos y contiene los mecanismos de decisión que permiten a la computadora hacer cosas como comparar dos elementos de la unidad de memoria para determinar si son iguales o no.

2.6. Unidad central de procesamiento (CPU)

2.6.1. coordina y supervisa la operación de las demás secciones, muchas de las computadores actuales contienen múltiples CPU que le permiten realizar muchas operaciones de manera simultanea.

2.7. Unidad de almacenamiento secundario

2.7.1. En esta sección se almacenan los programas o datos que no utilizan con frecuencia las demás unidades, hasta que se requieran de nuevo.

3. Jerarquía de datos

3.1. Los elementos de datos que procesan las computadoras forman una jerarquía cuya estructura se vuelve cada vez más grande y compleja.

3.2. Bits

3.2.1. Es el elemento de datos más pequeño en una computadora y puede asumir el valor 0 o el valor 1.

3.3. Caracteres

3.3.1. Es el conjunto de dígitos, letras y símbolos especiales que se utilizan para escribir programas y representar elementos de datos.

3.4. Campos

3.4.1. Es un grupo de caracteres que transfieren un significado, por ejemplo, un campo compuesto de dígitos decimales podría representar la edad de una persona.

3.5. Registros

3.5.1. Es un grupo de campos relacionados, por ejemplo los campos pueden pertenecer a una persona y cada uno describe un dato de esta misma como el nombre, dirección, edad, entre otros.

3.6. Archivos

3.6.1. Es un grupo de registros relacionados, contiene datos arbitrarios en formatos arbitrarios.

3.7. Base de datos

3.7.1. Es una colección de datos organizados para facilitar su acceso y manipulación.

3.8. Big Data

3.8.1. La cantidad de datos que se produce a nivel mundial es enorme y aumenta con rapidez, las aplicaciones de Big Data lidian con dichas cantidades masivas de datos.

4. Hardware y Software

4.1. Software

4.1.1. Se refiere a los programas de computadora que son secuencias de instrucciones ordenadas que controlan los componentes físicos de la computadora conocidos como Hardware.

4.2. Hardware

4.2.1. Consiste de la parte fisica de la computadora conformada por dispositivos como el teclado, pantalla, discos duros, memorias, unidades de procesamiento entre otros.

4.2.2. Ley de Moore

4.2.3. Describe el comportamiento que tienen las computadoras en el que cada uno o dos años estas duplican sus capacidades sin que el precio se incremente, esto demuestra la rápida evolución de las computadoras no encontrada en ninguna otra tecnología fuera de las telecomunicaciones.

5. Lenguajes máquina, lenguajes ensambladores y lenguajes de alto nivel

5.1. Lenguajes máquina

5.1.1. Consisten en cadenas de números que instruyen a las computadoras para realizar sus operaciones más elementales, una a la vez.

5.2. Lenguajes ensambladores y ensambladores

5.2.1. Consisten en abreviaturas del inglés que representan operaciones elementales que son traducidas a trabes de programas traductores conocidos como ensambladores.

5.3. Lenguajes de alto nivel y compiladores

5.3.1. Permiten escribir instrucciones que son muy similares al inglés común y contienen la notación matemática común, a través de programas traductores llamados compiladores se traduce de lenguaje de alto nivel a lenguaje máquina.

5.4. Intérpretes

5.4.1. Los programas intérpretes ejecutan de manera directa programas en lenguaje de alto nivel y evitan el retraso de la compilación.

6. Introducción a la tecnología de los objetos

6.1. La metodología de diseño e implementación orientada a objetos es una de las formas mas razonables para crear software de forma rápida y reutilizable a partir de objetos con atributos y comportamientos.

6.2. Métodos y clases

6.2.1. Los métodos son las instrucciones del programa que se requieren para realizar una tarea, y una clase, es el conjunto de métodos referentes a un mismo objeto.

6.3. Instanciación

6.3.1. Es el proceso de crear un objeto a partir de una clase así como se construye un auto a partir de sus planos.

6.4. Reutilización

6.4.1. Una clase se puede reutilizar múltiples ocasiones para crear muchos objetos, así mismo, una clase puede ser reutilizada para crear otras nuevas clases.

6.5. Mensajes y llamadas a métodos

6.5.1. Enviarle un mensaje a un objeto para que realice alguna tarea se conoce como llamada a método.

6.6. Atributos y variables de instancia

6.6.1. Ademas de tener la capacidad de realizar tareas un objeto tiene atributos que lo definen y que lleva consigo a medida que se utiliza en un programa.

6.7. Encapsulamiento y ocultamiento de información

6.7.1. Las clases y sus objetos encapsulan (envuelven) sus atributos y métodos, de esta manera los objetos se pueden comunicar entre sí pero no se les permite saber cómo están implementados otros objetos.

6.8. Herencia

6.8.1. Permite crear con rapidez y de manera conveniente una nueva clase de objetos que comienza con las características de una clase existente y con la posibilidad de personalizar y agregar características únicas propias.

6.9. Interfaces

6.9.1. Son colecciones de métodos relacionados que por lo general nos permite indicar a los objetos qué hacer.

6.10. Análisis y diseño orientado a objetos (A/DOO)

6.10.1. Para crear los mejores programas se debe seguir un proceso de análisis detallado para determinar los requerimientos del proyecto y desarrollar un diseño que los satisfaga.

6.11. El UML (Lenguaje unificado de modelado)

6.11.1. Es el esquema gráfico más utilizado para modelar sistemas orientados a objetos.

7. Otros lenguajes de programación

7.1. Existen diversos lenguajes de programación desarrollados en diferentes épocas y con diversos propósitos, aquí se mencionan algunos de los mas populares.

7.2. Fortran

7.3. COBOL

7.4. Pascal

7.5. Ada

7.6. Basic

7.7. C

7.8. C++

7.9. Objetive-C

7.10. Visual Basic

7.11. Visual C#

7.12. PHP

7.13. Perl

7.14. Python

7.15. JavaScript

7.16. Ruby on Rails

8. Sistemas operativos

8.1. Son sistemas de software que se encargan de hacer más conveniente el uso de las computadoras para los usuarios desarrolladores de aplicaciones y administradores de sistemas.

8.2. Windows

8.2.1. Es el sistema operativo más utilizado en el mundo y está bajo el control exclusivo de Microsoft.

8.3. Linux

8.3.1. Es el sistema operativo de código fuente abierto mas exitoso. Individuos y compañías suman sus esfuerzos para desarrollar, mantener y evolucionar el software.

8.4. Android

8.4.1. Es el sistema operativo con mayor crecimiento para dispositivos móviles y teléfonos inteligentes, es gratuito y de código fuente abierto.

9. Java

9.1. El objetivo clave de Java es poder escribir programas que se ejecuten en una gran variedad de sistemas computacionales y dispositivos controlados por computadora. A esto se le conoce como "escribir una vez, ejecutar en cualquier parte"

9.2. La creación de una aplicación en Java generalmente consta de las siguientes cinco fases:

9.3. Fase 1: Creación de un programa

9.4. Fase 2: Compilación de un programa en Java

9.5. Fase 3: Carga de un programa en memoria

9.6. Fase 4: Verificación del código de bytes

9.7. Fase 5: Ejecución

10. Internet y World Wide Web

10.1. A finales de la década de 1960 la ARPA implementó los planes para conectar en red los principales sistemas de cómputo de aproximadamente una docena de universidades e instituciones de investigación.

10.2. Esta red demostró la capacidad de comunicarse con rapidez y facilidad a través de lo que se denominó correo electrónico.

10.3. Internet: una red de redes

10.3.1. En paralelo con la evolución de Internet en sus primeras etapas, las organizaciones de todo el mundo estaban implementando sus propias redes para comunicarse tanto dentro de la organización como entre varias organizaciones, así nació la arquitectura actual del Internet, una verdadera "red de redes".

10.4. World Wide Web: cómo facilitar el uso de Internet

10.4.1. Es una colección de hardware y software asociado con Internet que permite a los usuarios de computadora localizar y ver documentos basados en multimedia sobre casi cualquier tema.

10.5. Servicios Web y mashups

10.5.1. Permite desarrollar rápidamente poderosas y asombrosas aplicaciones de software, al combinar servicios Web complementarios y otras fuentes de información.

10.6. Ajax

10.6.1. Ayuda a las aplicaciones basadas en Internet a funcionar como las aplicaciones de escritorio.

10.7. Internet de las cosas

10.7.1. Se refiere a cualquier objeto con una dirección IP y la habilidad de enviar datos de manera automática a través de una red.

11. Tecnologías de software

11.1. Desarrollo ágil de software

11.1.1. Es un conjunto de metodologías que tratan de implementar software con más rapidez y mediante el uso de menos recursos.

11.2. Refactorización

11.2.1. Implica reformular programas para hacerlos más claros y fáciles de mantener, al tiempo que se conserva su funcionalidad e integridad.

11.3. Patrones de diseño

11.3.1. Son arquitecturas comprobadas para construir software orientado a objetos flexible y que pueda mantenerse.

11.4. LAMP

11.4.1. Se refiere a las tecnologías de código fuente abierto que muchos desarrolladores usan en la creación de aplicaciones Web.

11.5. Software como un servicio (SaaS)

11.5.1. El software se ejecuta en servidores ubicados en cualquier parte de Internet y no se requiere una instalación local.

11.6. Plataforma como un servicio (PaaS)

11.6.1. Provee una plataforma de cómputo para desarrollar y ejecutar aplicaciones como un servicio a través de Web, en vez de instalar las herramientas en la computadora.

11.7. Computación en la nube

11.7.1. Software y datos a los que se puede acceder a través de Internet, mediante computadoras remotas o servidores en vez de tenerlos almacenados en una computadora.

11.8. Kit de desarrollo de software (SDK)

11.8.1. Incluyen tanto las herramientas como la documentación que utilizan los desarrolladores para programar aplicaciones.

12. Versiones de software

12.1. Las aplicaciones de software extensas que se usan en el mundo real pueden tardar muchos meses o incluso años en diseñarse e implementarse, es por esto que se ponen a disponibilidad una serie de versiones cada una más completa y pulida que la anterior.

12.2. Alfa

12.2.1. Es la primera versión de un producto de software cuyo desarrollo aún se encuentra activo.

12.3. Beta

12.3.1. Se liberan a un número mayor de desarrolladores en una etapa posterior del proceso en desarrollo, una vez que se ha corregido la mayoría de los errores importantes y las nuevas características están casi completas.

12.4. Candidatos para liberación

12.4.1. Son versiones que están libres de errores y listas para que la comunidad las utilice.

12.5. Liberación de versión final

12.5.1. Cualquier error que aparezca en el candidato para liberación se corrige y, en un momento dado, el producto final se libera al público en general.

12.6. Beta permanente

12.6.1. Este software no tiene números de versión y esta en un proceso de desarrollo y mejora continua.