 |
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
solució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 medios, se puede
experimentar el encanto del descubrimiento y el goce del
triunfo. Experiencias de este tipo, a una edad conveniente,
pueden determinar una afición para el trabajo intelectual e
imprimirle una huella imperecedera 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á desaprovechando su oportunidad. Pero si,
por el contrario, pone a prueba la curiosidad 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 descubrir 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 crucigrama,
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 departamento 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,
seleccionaba 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 arquitectura 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 únicamente 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 conocimientos sobre programación. Los libros sobre MATLAB
a menudo tratan aspectos avanzados o ampliaciones 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 estudiantes.
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.
|
|
|