ALGORITMOS Y LENGUAJES COMPUTACIONALES

Para acceder al libro solo seleccione la portada correspondiente

Contenido:

1. Introducción a los autómatas
2. Autómatas finitos
3. Lenguajes y expresiones regulares
4. Propiedades de los lenguajes regulares
5. Lenguajes y gramáticas independientes del contexto
6. Autómatas a pila
7. Propiedades de los lenguajes independientes del contexto
8. Introducción a las máquinas de Turing
9. Indecidibilidad
10. Problemas intratables
11. Otras clases de problemas
Índice

INTRODUCCIÓN

Bases de OOP en C++

Modificaciones menores

- Cambio en extensión

- Comentarios

- Declaración simplificada

- Scope o visibilidad de variables

- Especificador Const

- Conversiones

- Especificador inline

- Sobrecarga de funciones

- Valores por defecto

- Nuevas formas de E/S

Modificaciones mayores

- Introducción a OOP

- Clases, objetos y métodos

- Ejemplos de Clases

- Expansión Inline

- Entrada y Salida de datos

- Operadores

- Constructores y destructores

- Clases y funciones Friend

- El puntero This

- Sobrecarga de operadores

- Objetos miembros de otros objetos

- Variables miembro static

Índice
Descripción 
¿Qué es la plataforma Microsoft .NET? 
¿Qué es el .NET Framework? 
¿Cuáles son los componentes del .NET Framework? 
¿Cuáles son las mejoras de Visual Basic .NET? 
Descripción de los espacios de nombres

Los lenguajes de descripción de hardware son los pilares sobre los que se asienta la fuerte evolución que el diseño electrónico digital ha venido sufriendo durante los últimos años, por lo que el VHDL ha emergido como estándar en la industria convirtiéndose en el más utilizado hoy en día.El objetivo de este libro no es únicamente el de presentar el lenguaje y su sintaxis, sino también el de introducir la metodología de trabajo inherente al lenguaje, ya que se trata del flujo de diseño actual de circuitos digitales. Además, se centra en las dos grandes áreas de aplicación del VHDL: la simulación y la síntesis automática de circuitos. La estructura y contenido de esta obra están basados en varios años de experiencia en la enseñanza del VHDL y diseño digital, por lo que el principal objetivo perseguido por los autores es su carácter didáctico y pedagógico, sin olvidar que también va dirigido a los ingenieros que actualmente empiezan a incorporar estas técnicas de diseño a su entorno laboral.

Contenido:

CAPÍTULO 1. El software y la ingeniería de software

PARTE UNO: EL PROCESO DEL SOFTWARE
CAPÍTULO 2. Modelos del proceso
CAPÍTULO 3. Desarrollo ágil

PARTE DOS: MODELADO
CAPÍTULO 4. Principios que guían la práctica
CAPÍTULO 5. Comprensión de los requerimientos
CAPÍTULO 6. Modelado de los requerimientos: escenarios, información y clases de análisis
CAPÍTULO 7. Modelado de los requerimientos: flujo, comportamiento, patrones y webapps
CAPÍTULO 8. Conceptos de diseño
CAPÍTULO 9. Diseño de la arquitectura
CAPÍTULO 10. Diseño en el nivel de componentes
CAPÍTULO 11. Diseño de la interfaz de usuario
CAPÍTULO 12. Diseño basado en patrones
CAPÍTULO 13. Diseño de webapps

PARTE TRES: ADMINISTRACIÓN DE LA CALIDAD
CAPÍTULO 14. Conceptos de calidad
CAPÍTULO 15. Técnicas de revisión
CAPÍTULO 16. Aseguramiento de la calidad del software
CAPÍTULO 17. Estrategias de prueba de software
CAPÍTULO 18. Prueba de aplicaciones convencionales
CAPÍTULO 19. Prueba de aplicaciones orientadas a objetos
CAPÍTULO 20. Prueba de aplicaciones web
CAPÍTULO 21. Modelado y verificación formal
CAPÍTULO 22. Administración de la configuración del software
CAPÍTULO 23. Métricas de producto

PARTE CUATRO: ADMINISTRACIÓN DE PROYECTOS DE SOFTWARE
CAPÍTULO 24. Conceptos de administración de proyecto
CAPÍTULO 25. Métricas de proceso y de proyecto
CAPÍTULO 26. Estimación para proyectos de software
CAPÍTULO 27. Calendarización del proyecto
CAPÍTULO 28. Administración del riesgo
CAPÍTULO 29. Mantenimiento y reingeniería

PARTE CINCO: TEMAS AVANZADOS
CAPÍTULO 30. Mejoramiento del proceso de software
CAPÍTULO 31. Tendencias emergentes en ingeniería del software
CAPÍTULO 32. Comentarios finales
APÉNDICE 1. Introducción a UML
APÉNDICE 2. Conceptos orientados a objeto
REFERENCIAS
ÍNDICE ANALÍTICO

 

Tabla de contenido:

Sobre la guía
Autores
Prólogo
Introducción y las nuevas etiquetas de HTML5
Soporte HTML5 en navegadores viejos
Nuevas capacidades de Javascript
Nuevas capacidades de CSS3
El tag <video>
Cómo arrancar con HTML5 en diez minutos
HTML5 en acción
Crea la web

 

Contenido:

Prefacio vii

1 Análisis de algoritmos y problemas: principios y ejemplos 1
1.1 Introducción 2
1.2 Java como lenguaje algorítmico 3
1.3 Antecedentes matemáticos 11
1.4 Análisis de algoritmos y problemas 30
1.5 Clasificación de funciones por su tasa de crecimiento asintótica 43
1.6 Búsqueda en un arreglo ordenado 53
Ejercicios 61
Notas y referencias 67

2 Abstracción de datos y estructuras de datos básicas 69
2.1 Introducción 70
2.2 Especificación de TDA y técnicas de diseño 71
2.3 TDA elementales: listas y árboles 73
2.4 Pilas y colas 86
2.5 TDA para conjuntos dinámicos 89
Ejercicios 95
Notas y referencias 100

3 Recursión e inducción 101
3.1 Introducción 102
3.2 Procedimientos recursivos 102
3.3 ¿Qué es una demostración? 108
3.4 Demostraciones por inducción 111
3.5 Cómo demostrar que un procedimiento es correcto 118
3.6 Ecuaciones de recurrencia 130
3.7 Árboles de recursión 134
Ejercicios 141
Notas y referencias 146

4 Ordenamiento 149
4.1 Introducción 150
4.2 Ordenamiento por inserción 151
4.3 Divide y vencerás 157
4.4 Quicksort 159
4.5 Fusión de sucesiones ordenadas 171
4.6 Mergesort 174
4.7 Cotas inferiores para ordenar comparando claves 178
4.8 Heapsort 182
4.9 Comparación de cuatro algoritmos para ordenar 197
4.10 Shellsort 197
4.11 Ordenamiento por base 201
Ejercicios 206
Programas 221
Notas y Referencias 221

5 Selección y argumentos de adversario 223
5.1 Introducción 224
5.2 Determinación de max y min 226
5.3 Cómo hallar la segunda llave más grande 229
5.4 El problema de selección 233
5.5 Una cota inferior para la determinación de la mediana 238
5.6 Diseño contra un adversario 240
Ejercicios 242
Notas y referencias 246

6 Conjuntos dinámicos y búsquedas 249
6.1 Introducción 250
6.2 Doblado de arreglos 250
6.3 Análisis de tiempo amortizado 251
6.4 Árboles rojinegros 253
6.5 Hashing (dispersión) 275
6.6 Relaciones de equivalencia dinámica y programas Unión-Hallar 283
6.7 Colas de prioridad con operación de decrementar clave 295
Ejercicios 302
Programas 309
Notas y referencias 309

7 Grafos y recorridos de grafos 313
7.1 Introducción 314
7.2 Definiciones y representaciones 314
7.3 Recorrido de grafos 328
7.4 Búsqueda de primero en profundidad en grafos dirigidos 336
7.5 Componentes fuertemente conectados de un grafo dirigido 357
7.6 Búsqueda de primero en profundidad en grafos no dirigidos 364
7.7 Componentes biconectados de un grafo no dirigido 366
Ejercicios 375
Programas 384
Notas y referencias 385

8 Problemas de optimización de grafos y algoritmos codiciosos 387
8.1 Introducción 388
8.2 Algoritmo de árbol abarcante mínimo de Prim 388
8.3 Caminos más cortos de origen único 403
8.4 Algoritmo de árbol abarcante mínimo de Kruskal 412
Ejercicios 416
Programas 421
Notas y referencias 422

9 Cierre transitivo, caminos más cortos de todos los pares 425
9.1 Introducción 426
9.2 Cierre transitivo de una relación binaria 426
9.3 Algoritmo de Warshall para cierre transitivo 430
9.4 Caminos más cortos de todos los pares en grafos 433
9.5 Cálculo del cierre transitivo con operaciones de matrices 436
9.6 Multiplicación de matrices de bits: algoritmo de Kronrod 439
Ejercicios 446
Programas 449
Notas y referencias 449

Un gran descubrimiento resuelve un gran problema, pero en la solu­ción de todo problema, hay un cierto descubrimiento. El problema que se plantea puede ser modesto; pero, si pone a prueba la curiosidad que induce a poner en juego las facultades inventivas, si se resuelve por propios me­dios, se puede experimentar el encanto del descubrimiento y el goce del triunfo. Experiencias de este tipo, a una edad conveniente, pueden deter­minar una afición para el trabajo intelectual e imprimirle una huella impe­recedera en la mente y en el carácter.

Por ello, un profesor de matemáticas tiene una gran oportunidad. Si dedica su tiempo a ejercitar a los alumnos en operaciones rutinarias, matará en ellos el interés, impedirá su desarrollo intelectual y acabará desaprove­chando su oportunidad. Pero si, por el contrario, pone a prueba la curiosi­dad de sus alumnos planteándoles problemas adecuados a sus conocimientos, y les ayuda a resolverlos por medio de preguntas estimulantes, podrá despertarles el gusto por el pensamiento independiente y proporcionarles ciertos recursos para ello.

Un estudiante cuyos estudios incluyan cierto grado de matemáticas tiene también una particular oportunidad. Dicha oportunidad se pierde, claro está, si ve las matemáticas como una materia de la que tiene que presentar un examen final y de la cual no volverá a ocuparse una vez pasado éste. La oportunidad puede perderse incluso si el estudiante tiene un talento natural para las matemáticas, ya que él, como cualquier otro, debe descu­brir sus capacidades y sus aficiones; no puede saber si le gusta el pastel de frambuesas si nunca lo ha probado. Puede descubrir, sin embargo, que un problema de matemáticas puede ser tanto o más divertido que un cru­cigrama, o que un vigoroso trabajo intelectual puede ser un ejercicio tan agradable como un ágil juego de tenis. Habiendo gustado del placer de las matemáticas, ya no las olvidará fácilmente, presentándose entonces una buena oportunidad para que las matemáticas adquieran un sentido para él, ya sean como un pasatiempo o como herramienta de su profesión, o su profesión misma o la ambición de su vida.

ÍNDICE

1.Diseño y análisis de algoritmos
1.1.Conceptos básicos de algoritmos

1.2.Tipos abstractos de datos

1.3.Tiempo de ejecución de un programa

1.4.Conteo de operaciones para el cálculo del tiempo de ejecución

2.Tipos de datos abstractos fundamentales

2.1.El TAD Lista

2.2.El TAD pila

2.3.El TAD cola

2.4.El TAD correspondencia

3.Árboles

3.1.Nomenclatura básica de árboles

3.2.Orden de los nodos

3.3.Operaciones con árboles

3.4.Interfaz básica para árboles

3.5.Implementación de la interfaz básica por punteros

3.6.Interfaz avanzada

3.7.Tiempos de ejecución

3.8.Árboles binarios

4.Conjuntos

4.1.Introducción a los conjuntos

4.2.Implementación por vectores de bits

4.3.Implementación con listas

4.4.Interfaz avanzada para conjuntos

4.5.El diccionario

4.6.Conjuntos con árboles binarios de búsqueda

5.Ordenamiento
5.1.Introducción

5.2.Métodos de ordenamiento lentos

5.3.Ordenamiento indirecto

5.4.El método de ordenamiento rápido quick-sort

5.5.Ordenamiento por montículos

5.6.Ordenamiento por fusión

5.7.Comparación de algunas implementaciones de algoritmos de ordenamiento

6.GNU Free Documentation License

 

Contenido:

Introducción
Clases
Herencia e Interfaces
Subversión
Excepciones
Pruebas unitarias con JUnit
Entrada y Salida
Algunas clases de utilidad del paquete estandar
Programación con genéricos
Construcción de proyectos con Ant
Interfaces gráficas de usuario
Applets
Control de errores con MyLyn y Bugzilla
Programación concurrente con Hilos
Programación para la Red
Patrones de diseño
Aplicación Hipoteca
Ejemplo sincronización



INTRODUCCIÓN ( Visual Basic para Excel)
OBJETIVOS
DESARROLLO DE LOS EJEMPLOS
Creación de un “botón” que al apretarlo escriba HOLA.
Acumulación de “HOLA”’s en la misma celda.
Acumulación de texto en varias diagonales sucesivas.
Programación de series de Fibonacci.
NUEVOS EJEMPLOS: OBTENCIÓN DE NÚMEROS PRIMOS
CONCLUSIONES
ANEXO (Sentencias y funciones habituales)
Problemas con variables (¿porqué no se dejan definir las variables?)
Option Explicit:
Dim…. As \[Integer, Double, String, Boolean,…]:
Condición If…, etc. (diversas posibilidades):
Select Case
Ejemplos de utilización
Bucles: For... To ... Next / Do While.
Loop / Do Loop… Until (Utilización y
posibles problemas):
 Loop Until
Do While... Loop
For... To... Next
With
Coordenadas polares: ¿Cómo pasar de coordenadas cartesianas (x, y) a
polares
Radio (calculado a partir de las coordenadas x e y de los puntos en
cuestión) r = RaizCuadrada(x^2+y^2):
Angulo (calculado a partir de las coordenadas x e y de los puntos en
cuestión)
Arctan (x/y):
Cambiar criterios de ordenación:
Menús…
Para Ordenar
Quitar el signo de los números convertidos en string:
Cuando queremos poner referencias relativas a variables en la fórmula:
Temporizador:
Funciones:
Zoom de la ventana:
Para cancelar el botón:
Procedimiento que empieza con un formulario:
Otro modo de cambiar el color:
Para abrir un formulario:
Para ocultar un formulario:
Procedimiento que empieza automáticamente:

 

Prólogo

Introducción a la programación orientada a objetos

El EID (Entorno integrado de desarrollo) de Visual Basic

Introducción a los controles más usuales de VBasic

Introducción al lenguaje VBasic

Los Menús

La Interfaz de usuario

Los Archivos

Introducción a las bases de datos

Trucos de la red

Anexos y bibliografía


ÍNDICE

INTRODUCCIÓN.
Concepto de "programa"
Concepto de "función"
Conceptos generales
La función main( )
Tokens
Palabras clave del C++
Identificadores
Constantes
Operadores
Separadores
Comentarios
Lenguaje C++
Compilador
Preprocesador
Librería estándar
Ficheros
La escritura y escritura de datos

TIPOS DE DATOS FUNDAMENTALES. VARIABLES
Caracteres (tipo char)
Números enteros (tipo int)
Números enteros (tipo long)
Números enteros (tipo short).
Números reales (tipo float)
Números reales (tipo double)
Duración y visibilidad de las variables: Modos de almacenamiento
Conversiones implícitas y explícitas de tipo (casting) Typedef3.

CONSTANTES
Constantes numéricas
Constantes enteras.
Constantes de punto flotante.
Constantes carácter.
Cadenas de caracteres.
Constantes de tipo Enumeración.
Cualificador const.

OPERADORES, EXPRESIONES Y SENTENCIAS
Operadores
Operadores aritméticos.
Operadores de asignación.
Operadores incrementales.
Operadores relacionales.
Operadores lógicos.
Otros operadores.
Reglas de precedencia y asociatividad.
Expresiones.
Expresiones aritméticas.
Expresiones lógicas.
Expresiones generales.
Sentencias.
Sentencias simples.
Sentencia vacía ó nula

ÍNDICE
1.Introducción
2.Entorno de programación Visual Basic 6.0
3.Lenguaje BASIC
4.Eventos, Propiedades y Controles
5.Menús
6.Gráficos en Visual Basic 6.0
7.Archivos y Entrada/Salida de Datos
ANEXO A: Consideraciones adicionales sobre datos y variables
  Caracteres y código ASCII
  Números enteros
  Números reales
  Variables tipo Single
  Variables tipo Double
  Sistema binario, octal, decimal y hexadecimal

 

Contenidos:

1.    Herramientas CASE

1.1. Ingeniería de software y herramientas CASE

       Metodología Estructurada

       Metodología orientada a Objetos

1.2. Evolución de las Herramientas CASE

1.3. Expectativas de uso de  CASE

2.    Introducción a System Architect

2.1. Abriendo una Enciclopedia

2.2. Aspectos Generales

2.3. Uso de Help

2.4. Creando una enciclopedia

2.5. Estableciendo preferencias pasa la sesión

3.    Creando un diagrama

4.-   Modificando diagrama o definición

5.    Re-usando definiciones

6.    Organizando y balanceando diagramas

7.    Solución a problemas con la herramienta CASE

 

TABLA DE CONTENIDO

 

    INTRODUCCIÓN
1. SISTEMAS DE INFORMACIÓN
2. CICLO DE DESARROLLO
3. ANALISIS
4. DISEÑO
5. PROGRAMACIÓN
6. IMPLANTACIÓN Y PRODUCCIÓN

   CONCLUSION
   REFERENCIAS

 

TABLA DE CONTENIDO

 

CONCEPTOS BÁSICOS

Clasificación de Sistemas

Características de los sistemas

Elementos de Sistemas

Sistemas de Información

Concepto de Información

Tipos de Sistemas de Información

Sistemas de información automatizados

Niveles de un sistema de información

Tipos de usuarios

INGENIERÍA DE SOFTWARE

Ciclo de vida

Metodología estructurada

Fases

Análisis Estructurado

Relevamiento

Tipos de usuario

MODELO AMBIENTAL

Herramientas

Propósitos

Contextos

Reglas de construcción

MODELO DE COMPORTAMIENTO

Herramientas

Diccionarios

Flujo de datos

Errores

Expansión de burbujas

Entidad Relación

Transición de Estados}

Balanceo

 

ÍNDICE

 

1.INTRODUCCIÓN A JAVA

2. PROGRAMACIÓN EN JAVA

3. CLASES EN JAVA

4. CLASES DE UTILIDAD

5. EL AWT (Abstract Windows Toolkit)

6. THREADS: Programas Multitarea

7. APPLETS

8. EXCEPCIONES

9. ENTRADA/SALIDA DE DATOS EN JAVA

10 OTRAS CAPACIDADES DE JAVA

Contenido:

Prólogo
El universo Android
Primeros pasos
Descubrir la interfaz de usuario
Los fundamentos
Completar la interfaz de usuario
Componentes principales de la aplicación
La persistencia de los datos
Construir interfaces complejas
Concurrencia, seguridad y red
Redes sociales
Trazas, depuración y pruebas
Publicar una aplicación
Sensores y geolocalización
La tecnología NFC
Funcionalidades avanzadas

 

Contenido:

La semana 1 de un vistazo
1. Comienzo
2. Los componentes de un programa C
3. Variables y constantes numéricas
4. Enunciados, expresiones y operadores
5. Funciones: lo básico
6. Control básico del programa
7. Entrada/salida básica
Revisión de la semana 1
La semana 2 de un vistazo
8. Arreglos numéricos
9. Apuntadores
10. Caracteres y cadenas
11. Estructuras
12. Alcance de las variables
13. Más sobre el control de programa
14. Trabajando con la pantalla, la impresora y el teclado
Revisión de la semana 2
La semana 3 de un vistazo
15. Más sobre apuntadores
16. Uso de archivos de disco
17. Manipulación de cadenas
18. Cómo obtener más de las funciones
19. Exploración de la biblioteca de funciones
20. Otras funciones
21. Cómo aprovechar las directivas del preprocesador y más
Revisión de la semana 3
Apéndices
A. Tabla de caracteres ASCII
B. Palabras reservadas del C
C. Precedencia de operadores en C
D. Notación binaria y hexadecimal
E. Prototipos de función y archivos de encabezado
F. Funciones comunes en orden alfabético
G. Respuestas
H. Puntos específicos de los compiladores
Índice

El libro que tienes entre las manos no ha sido concebido solo para ser leído. Es más bien una guía estructurada que te ira proponiendo una serie de ejercicios, actividades, videos explicativos, test de auto evaluación,… Todo este material y muchos más recursos adicionales están disponibles en la Web www.androidcurso.com. En ella se publicaran las novedades, erratas e información complementaria relativas a este libro. Por lo tanto, resulta imprescindible para sacarle partido a este libro un ordenador con el SDK de Android instalado para hacer los ejercicios y acceso a Internet para el material en línea.

Contenido:

Capítulo 1. Visión general y entorno de desarrollo
Capítulo 2. Diseño de la interfaz de usuario: Vistas y Layouts
Capítulo 3. Actividades e Intenciones
Capítulo 4. Gráficos en Android
Capítulo 5. Entradas en Android: teclado, pantalla táctil y sensores
Capítulo 6. Multimedia y ciclo de vida de una actividad
Capítulo 7. Seguridad y posicionamiento
Capítulo 8. Servicios, notificaciones y receptores de anuncios
Capítulo 9. Almacenamiento de datos
Capítulo 10. Internet: sockets, HTTP y servicios web
Capítulo 11. Publicar Aplicaciones
Anexo A. Referencia Java
Anexo B. Referencia: la clase View y sus descendientes

José Enrique Amaro Soriano es Doctor en Ciencias Físicas y Profesor Titular de la Universidad de Granada. Desarrolla su docencia e investigación en el departa­mento de Física Atómica, Molecular y Nuclear. Es investigador responsable del Grupo de Física Nuclear a Energías Intermedias y miembro del Instituto Carlos I de Física Teórica y Computacional. Actualmente imparte un curso de Programación de Android para Científicos en la Escuela de Posgrado de la Universidad de Granada.

Contenido:

1. Introducción
2. Escribir y manipular texto
3. Botones
4. Introducción de textos
5. Guardar datos con SharedPreferences
6. Actividades
7. Manejo de ficheros
8. Gráficos
9. Gráficos interactivos
10. Imágenes
11. Reproducir sonido
12. Aplicando temas
13. Recursos
14. Hilos y controladores
15. Animaciones
Apéndice A. Elementos de java
Apéndice B. Herramientas de desarrollo de Android
Apéndice C. Aplicaciones
Bibliografía

Dios está en los detalles, afirmó el arquitecto Ludwig mies van der Rohe. Esta cita recuerda argumentos contemporáneos sobre el papel de la arquitectura en el desarrollo de software, en especial en el universo ágil. Bob y yo hemos tenido esta conversación muchas veces. Y sí, mies van der Rohe se fijaba en la utilidad y la forma atemporal de la construcción que subyace a las grandes creaciones arquitectónicas. Por otra parte, selec­cionaba personalmente los pomos de todas las puertas de todas las casas que diseñaba. ¿Por qué? Porque las cosas pequeñas importan.

En nuestro interminable debate sobre TDD, Bob y yo coincidimos en que la arqui­tectura del software desempeña una importante labor en el desarrollo, aunque tenemos diferentes visiones de lo que esto significa. Estas diferencias carecen de importancia, ya que podemos aceptar que los profesionales responsables dedican parte de su tiempo a planificar un proyecto antes de comenzarlo. Las nociones de diseño controlado única­mente por pruebas y el código, propias de finales de la década de 1990, ya no son válidas. Y la atención al detalle es un pilar fundamental de los profesionales, casi como cualquier visión. Por un lado, la práctica en los detalles otorga dominio a los profesionales, y aumenta su confianza para la práctica a mayor escala. Por otra parte, el más mínimo fallo de construcción, una puerta que no cierre bien o un baldosín mal colocado, acaba con el encanto del todo. De eso se trata el código limpio.

Pero la arquitectura es solo una metáfora del desarrollo de software y en concreto de la parte del software que ofrece el producto inicial, de la misma forma que un arquitecto entrega un edificio inmaculado. Hoy en día, el objetivo es comercializar rápidamente los productos. Queremos que las fábricas produzcan software a pleno rendimiento. Se trata de fábricas humanas, programadores que piensan, que sienten y que trabajan para crear un producto. La metáfora de la manufacturación es incluso más evidente en este pensamiento. Los aspectos productivos de las fábricas de automóviles japonesas fueron una gran inspiración para Scrum.

Contenido:

1. Código limpio
2. Nombres con sentido
3. Funciones
4. Comentarios
5. Formato
6. Objetos y estructuras de datos
7. Procesar errores
8. Límites
9. Pruebas de unidad
10. Clases
11. Sistemas
12. Emergencia
13. Concurrencia
14. Refinamiento sucesivo
15. Aspectos internos de JUnit
16. Refactorización de SerialDate
17. Síntomas y heurística
Apéndices
Apéndice A. Concurrencia II
Apéndice B. org.jfrec.date.SerialDate
Epílogo
índice alfabético

 

Texto diseñado para adiestrar en el desarrollo de aplicaciones escritas en lenguaje Java y que accedan a bases de datos externas a través de JDBC 2.0, así como dar a conocer todos los aspectos sintácticos del API JDBC 2.0.

Todo el texto está escrito para Java 2 estándar, de modo que puede emplearse tanto para herramientas como el Java de Sun como para el Visual J++ de Microsoft.

Se requiere conocer los fundamentos de Internet/Intranet, estar familiarizado con la navegación por la web, conocer Java y el sistema operativo Windows a nivel de usuario.

 

Este texto está pensado tanto para aquellos que desean pasar de la tecnología ASP al nuevo entorno de desarrollo de aplicaciones Web que propone Microsoft, es decir, ASP .NET, como para todos aquellos que desconocen la tecnología ASP (Active Server Pages) y desean introducirse en el mundo del desarrollo de aplicaciones de negocio en Internet dentro del nuevo entorno del .NET Framework de Microsoft.

Se abordan diversos temas relacionados con la tecnología ASP .NET como pueden ser los controles Web, el lenguaje C#, Visual Studio .NET, Internet Information Server 5, desarrollo de controles ASP .NET y componentes .NET, ADO .NET, construcción y utilización de servicios Web, etc.

Se requiere conocer los fundamentos de Internet/Intranet, estar familiarizado con la

navegación por la web, conocer HTML y conocer el sistema operativo Windows a nivel de usuario, así como algunos conocimientos de programación orientada a objetos.

 

Este texto está pensado para aquellos que, teniendo conocimientos de la tecnología ASP, deseen aumentar la potencia y escalabilidad de sus aplicaciones mediante el uso de componentes compilados.

La primera parte del libro consiste en un recordatorio de las características más importantes de ASP, mientras que la segunda se centra en el diseño y uso de componentes.

Se tratan temas como la creación de librerías de enlace dinámico (DLLs), uso de componentes desde páginas ASP, modelo COM + , Servicios de Componentes, componentes de acceso a datos, componentes transaccionales, MSMQ y ADSI.

Se requieren unos conocimientos básicos de Windows, fundamentos de Internet/Intranet, lenguaje HTML y tecnología ASP, así como ciertas nociones de programación con Visual Basic.

 

Este libro está dirigido a quienes buscan acercarse a la programación de soluciones para el creciente ecosistema de Tablet y Smartphone. En cada capítulo se aborda un desarrollo web con acceso a características propias de los sistemas operativos móviles iOS, Android, Windows Phone, BlackBerry y Firefox OS. Entre otros proyectos, invocaremos llamados telefónicos y videoconferencias desde una web, y aprovecharemos las capacidades de geolocalización y soluciones que interactúen con redes sociales. Finalmente, aprenderemos a convertir una web móvil en una aplicación nativa.

En este libro aprenderá:

·         Plataformas y tecnologías móviles: sistemas operativos móviles. Diferencias entre WebApp. App nativa y App híbrida. Tecnologías de la web actual.

·         HTML5: navegadores, sistemas operativos y motores de renderizado.

·         Declaraciones y metatags. HTML5 para aplicaciones móviles. Geolocalización.

·         jQuery Mobíte: definición. Uso local o remóte. Configuración de una WebApp. Componentes y estructura.

·         WebApps para iOS y Android: diseño. Prestaciones de Safari y de Google Chtomc mobile, Visualízame de una WebApp como nativa.

·         Almacenamiento local y aplicaciones offline: Local Storage y Session Storap. Creación de un formulario. Bases de datos Web SQL.

·         PhonoGap: arquitectura. Integración con Dreamweaver. Transformación de una WebApp en híbrida.

Programación nativa para Blackberry 10 y Windows Phone: herramientas de desarrollo. Emulación de WebApps en la computadora cort Ripple Emulator.

 

Este texto muestra las distintas técnicas que se necesitan para diseñar aplicaciones informáticas desde la perspectiva de la orientación a objetos, usando lo que se denomina UML (Lenguaje Unificado de Modelado).

Pretende adiestrar en las técnicas de análisis orientadas al objeto así como capacitar en los métodos, notación y símbolos de UML.

Los conceptos se llevan a la práctica con Visual Modeler, la herramienta de Microsoft para el modelado de objetos.

Va dirigido a personas con amplia experiencia en desarrollo de aplicaciones desde la perspectiva de la programación.

 

Texto diseñado para enseñar a desarrollar aplicaciones basadas en lenguaje C++ a través de Microsoft Visual C++ 6. El texto cubre los fundamentos del lenguaje, las técnicas de orientación a objetos y el modelo de trabajo con Visual C++ en su versión 6.

A lo largo del texto se desarrollan numerosos ejemplos listos para ser cargados desde Visual C++ .

Se requiere tener como mínimo conocimientos de fundamentos de programación y conocer al menos un lenguaje, sea éste el que sea, así como conocer el S.O. Windows a nivel de usuario.

 

Texto diseñado para aquellos que deseen introducirse en el mundo del desarrollo de aplicaciones de negocio en Internet, utilizando para ello la tecnología ASP (Active Server Pages).

Se persigue adiestrar en el uso de: Internet Information Server 5, Visual InterDev como herramienta para la gestión de proyectos basados en ASP, Visual Basic Script, la jerarquía de objetos ASP, y las técnicas de acceso a datos a través de ADO.

Se requiere conocer los fundamentos de Internet/Intranet, estar familiarizado con la navegación por la web, conocer HTML y conocer el sistema operativo Windows a nivel de usuario.

 

Texto diseñado para enseñar en profundidad a desarrollar aplicaciones basadas en lenguaje Visual Basic. El texto cubre tanto aspectos básicos como avanzados, es decir que no sólo se estudian los fundamentos del lenguaje sino que también se tratan en profundidad el acceso a datos, la programación orientada al objeto, los componentes ActiveX, el acceso al API, etc. Se trata de un manual de muy amplio contenido con alrededor de 1000 páginas de documentación, además de numerosos ejemplos listos para ser cargados desde Visual Basic.

Entre los requisitos previos, basta con conocimientos de fundamentos de programación y conocer al menos un lenguaje, sea este el que sea y conocer el S.O. Windows a nivel de usuario.

 

Los orígenes de Java se remontan al año 1990, cuando un equipo de la compañía Sun Microsystems investigaba, bajo la dirección del ingeniero James Gosling, en el diseño y elaboración de software para pequeños dispositivos electrónicos de consumo.

En un primer momento se pensó en la utilización de lenguajes de programación como C o C++, pero para poder compilar un programa en estos lenguajes es preciso adaptarlo a las características de la plataforma donde debe funcionar, esta situación constituía un gran inconveniente para las compañías dedicadas a la construcción de dispositivos electrónicos, pues cada pocas semanas aparecen en el mercado versiones más potentes y baratas de los chips utilizados, y por lo tanto, el software que se había diseñado para un chip determinado debía modificarse y adaptarse para explotar las características de los chips recientemente introducidos.

Se hace patente la necesidad de introducir un nuevo lenguaje de programación, que permita desarrollar programas independientes del tipo de plataforma. Los dispositivos que se pretenden fabricar son calculadoras, relojes, equipos de música, cafeteras, etc…, que no tienen una gran capacidad computacional, por lo que el nuevo lenguaje debe ser capaz de generar programas pequeños y rápidos, además de ser fiables y robustos.

La primera versión del lenguaje se denominó Oak (roble), pero más tarde Sun descubrió que este nombre estaba ya registrado, y lo tuvieron que cambiar, el nuevo nombre fue Java (una de las versiones sobre el oriden del nombre de este lenguaje es que Java es un término popularmente empleado en California para designar café de buena calidad).

A comienzos de 1993 aparecieron nuevas herramientas gráficas para facilitar la comunicación y navegación por Internet, se concibió la idea de aplicar técnicas de documentos con enlaces de tipo hipertextual para facilitar la navegación por Internet, y se desarrolló el primer browser (navegador o visualizador) de lo que se comenzó a denominar World Wide Web. Esta herramienta era denominada Mosaic.

El equipo de James Gosling se planteó como objetivo la utilización de Java como lenguaje en el que escribir aplicaciones que pudiesen funcionar a través de Internet. Como resultado de su trabajo se desarrolló un nuevo navegador completamente escrito en Java, llamado HotJava. Este navegador permitía la integración de pequeñas aplicaciones en el interior de las páginas Web. El desarrollo de HotJava hizo patente que las características de Java se adaptan perfectamente a las peculiaridades de Internet.

 

Hasta hace poco, la mayoría de los usuarios de MATLAB eran personas que tenían conocimientos previos sobre lenguajes de programación como FORTRAN o C, y que decidieron cambiarse a MATLAB una vez que este software se hizo suficientemente popular. En consecuencia, la mayor parte de la literatura disponible sobre MATLAB supone de una u otra forma que el lector posee conocimien­tos sobre programación. Los libros sobre MATLAB a menudo tratan aspectos avanzados o ampliacio­nes específicas para un campo muy concreto. En los últimos años, sin embargo, MATLAB se enseña en los institutos como el primer lenguaje de programación (y quizás el único) que aprenden los estu­diantes. Para ellos es una necesidad el disponer de libros que enseñen MATLAB sin exigir experiencia anterior en programación.

Contenido:

Prefacio
Indice analítico
Introducción
Capítulo 1. Primeros pasos con MATLAB
Capítulo 2. Arrays
Capítulo 3. Operaciones matemáticas con arrays
Capítulo 4. Ficheros script
Capítulo 5. Gráficos bidimensionales
Capítulo 6. Funciones y ficheros de función
Capítulo 7. Programación en MATLAB
Capítulo 8. Polinomios, curvas de ajuste e interpolación
Capítulo 9. Gráficos tridimensionales
Capítulo 10. Aplicaciones de análisis numérico
Capítulo 11. Cálculo simbólico
Apéndice: Resumen de caracteres, comandos y funciones
Respuestas de problemas seleccionados
Índice alfabético.

 

Este texto esta diseñado para ensenar a confeccionar páginas web a través del uso directo del lenguaje HTML.

El objetivo es adiestrar al lector en las técnicas para confeccionar páginas web para Internet/Intranet, así como ensenar los fundamentos sintácticos del lenguaje HTML.

Los requisitos previos son: estar familiarizado con los aspectos básicos de Internet/Intranet, estar familiarizado con la navegación por la web, conocer el sistema operativo Windows a nivel de usuario.

 

En este documento se describe el componente programable de MATLAB el cual requiere usar instrucciones cuya sintaxis es simple pero adecuada y suficiente para resolver problemas más complejos. El componente interactivo de MATLAB se describe en un anexo a este documento. El componente de programación es obligatorio para los estudiantes que desean desarrollar su capacidad lógica para enfrentar la solución de problemas para cuya solución no es suficiente el componente interactivo de MATLAB.

Otro objetivo importante al escribir estos documentos es el desarrollo de textos digitales para ser usados en línea, reduciendo el consumo de papel y tinta, contribuyendo así con el cuidado del medio ambiente. Una ventaja adicional de los libros virtuales es la facilidad para actualizar y mejorar continuamente su contenido.

Este documento ha sido compilado en formato pdf. El tamaño del texto en pantalla es controlable, contiene un índice electrónico para facilitar la búsqueda de temas y, dependiendo de la versión del programa de lectura de este formato, se pueden usar las facilidades disponibles para resaltar digitalmente texto, insertar comentarios, notas, enlaces, revisiones, búsqueda por contenido, lectura, etc.

Este documento es de libre uso y distribución. Su realización ha sido factible por el apoyo de la Institución a sus profesores en el desarrollo de las actividades académicas.

 

Hoy en día con el avance tan vertiginoso que ha tenido la electrónica digital, la habilidad de programar no solo tiene campo de aplicación en el mundo de los computadores, también existen infinidad de dispositivos electrónicos, con igual diversidad de usos, que basan su funcionamiento en un programa insertado en un circuito integrado. El control remoto de nuestro televisor es un buen ejemplo de esta situación. En su interior posee un sistema electrónico que es manejado por al menos un microcontrolador que se encarga de realizar la tarea seleccionada de acuerdo a un programa que ha sido insertado en su memoria. Esto le ha permitido a la electrónica dominar un amplio rango de aplicaciones, sobretodo de gran complejidad, ya que todo depende de la habilidad para programación y al mismo tiempo de la creatividad que tenga quién va ha desarrollar una determinada solución.

El objetivo primordial de este escrito es introducir al lector en el manejo de los elementos básicos que fundamentan la programación de computadores, y desarrollar en él la estructura mental lógica que le permita asumir el manejo de los elementos más avanzados de programación. Aunque hoy en día existen muchos paradigmas de programación, resulta difícil pensar que alguien pueda asumir uno u otro sin que antes no haya conocido los elementos básicos del paradigma de programación estructurada que se describe aquí, ya sea por que los otros paradigmas los utilizan o por que su lógica es similar a este.

 

En este pequeño libro intentaremos dar una visión general de la Programación Orientada al Objeto (POO o también del inglés OOP = Object Oriented Programming).

Ya que la OOP no es un lenguaje de programación, puede aplicarse a cualquier lenguaje, y de hecho hoy en día está disponible en mayor o menor medida en todos los lenguajes tradicionales (C se ha convertido en C++, Pascal en Delphi, VB incorpora parte de la OOP) y no aparece un lenguaje nuevo sin que incluya OOP (como es el caso de Java). Es por esto que intentaremos que todo lo que aquí se diga pueda ser aplicado a cualquier lenguaje OOP.

El objetivo de este libro es, pues, el aprendizaje de los términos teóricos que todos manejamos hoy en día, en cualquier entorno de programación cuando nos referimos a la orientación a objetos.

 

Este libro revisa desde los fundamentos todo el edificio conceptual sobre el que se basa la construcción de páginas web de cliente: esto es, se centra en aquello que una página web –una vez descargada- es capaz de hacer en el navegador del usuario.Para ello explica en qué se basa el HTML Dinámico, los fundamentos y uso del Modelo de Objetos de Documento y finalmente, analiza el lenguaje Javascript y las capacidades de las Hojas de Estilo en Cascada, como elementos básicos de la construcción dinámica de páginas.

Respecto a los conocimientos previos, es importante que el lector maneje, siquiera básicamente, los fundamentos del lenguaje HTML, y conviene tener conocimiento de algún lenguaje de programación adicional Visual Basic, Delphi, etc.

 

El texto enfoca el aprendizaje a la manera clásica de la asignatura de Fundamentos y Metodología de Programación, tal como se imparte en la enseñanza reglada. La única diferencia con este enfoque es que se sustituyen lenguajes como Pascal o C, con los que habitualmente se imparte la asignatura, por Visual Basic, por un entorno de desarrollo mucho más actualizado y que servirá a quienes lean este manual en mucha mayor medida que esos otros lenguajes pueden hacerlo.

Este es un texto ideal para los no programadores que deseen adentrarse en el mundo de la programación.