Go Back

Algoritmos, Objetos y Estructuras de Datos

tapaEste libro es una introducción a la programación basada en el paradigma de orientación a objetos.

Trata los temas canónicos de un curso de Ciencias de la Computación I y II en un nivel apto para carreras universitarias del área.

Un aspecto interesante del libro es el énfasis en la programación por contratos desde el comienzo, partiendo del concepto de tipo abstracto de datos.

Para la ejemplificación de los conceptos vertidos se eligieron dos lenguajes: Eiffel y C#.

El lenguaje Eiffel permite el soporte completo de diseño por contratos y es un lenguaje orientado a objeto puro fuertemente tipificado. El lenguaje C# aporta otra visión de la programación orientada a objetos, de esta manera el docente que utilice el libro como libro de texto para sus clases puede elegir que prefiere utilizar. En definitiva este no es un libro mas del tema, es una mirada novedosa y altamente útil para los que quieran introducir la orientación a objetos desde los primeros cursos.

A aquellos que quieran encargarlo pueden hacerlo en la siguiente dirección:

http://www.lulu.com/content/libro-tapa-blanda/algoritmos-objetos-y-estructuras-de-datos/7671002

A modo de descripción a continuación detallamos la tabla de contenidos:

1. Conceptos Introductorios

1.1. Un enfoque orientado a objetos

1.2. ¿Qué es un algoritmo?

1.3. Compilación de Programas

1.4. Códigos ASCII y UNICODE

1.5. Máquinas Virtuales

1.6. Algoritmos y sentencias

1.6.1. Decisión

1.6.1.1. Estructuras de decisión anidadas

1.6.1.2. Estructuras de selección y lenguajes

1.6.1.3. Estructura de decisión generalizada o múltiple

1.6.2. Repetición o Iteración

1.6.2.1. Estructura repetir-hastaque

1.6.2.2. Estructura mientras-hacer-finmientras

1.6.2.3. Estructura para-hacer-finpara

1.6.2.4. Estructuras de repetición y lenguajes

1.7. Ejercicios

2. Primeros pasos con Objetos

2.1. ¿Qué son los objetos?

2.2. Sentencias.

2.3. Nuestro primer programa: Hola Mundo

2.4. Trabajando con EiffelStudio

2.5. Creación de objetos

2.6. Relación entre variables y objetos

2.7. El objeto Current

2.8. Código C#

3. Tipos de Abstractos de Datos

3.1. El método axiomático

3.2. El TAD CUENTA_BANCARIA

3.3. El método de las poscondiciones.

3.4. Ejercicios

4. Clases y Objetos

4.1. TAD y Clases

4.1.1. Traslación de las operaciones de TAD

4.2. Rutinas y Atributos

4.3. El concepto de propiedad

4.4. Pasaje de argumentos

4.4.1. Pasaje de Argumentos por Valor

4.4.2. Pasaje de Argumentos por Referencia

4.4.3. Pasaje por Copia/Restauración

4.4.4. Pasaje de Argumentos por Valor Constante

4.4.5. Pasaje de Argumentos por Nombre

4.4.6. Pasaje de Argumentos en Eiffel

4.4.7. Pasaje de Argumentos en C#

4.5. Clusters y espacios de Nombres

4.6. Accesibilidad

5. Contratos

5.1. Precondiciones

5.2. Poscondiciones

5.3. Invariante de Clase

5.4. Que no son las aserciones

5.5. Corrección de ciclos

5.6. La instrucción check

5.7. Monitoreo de aserciones

5.8. Vista de contrato

5.9. Ejercicios

6. Estructuras de Datos (primera parte)

6.1. Clases Genéricas

6.1.1. Clases genéricas en C#

6.2. Arreglos

6.2.1. Creación de un arreglo

6.2.2. Acceso y notación bracket

6.2.3. Arreglos en C#

6.3. Pilas y Colas

6.4. Listas

6.4.1. Movimiento del Cursor

6.4.2. Modificación de la lista

6.5. Implementaciones de Listas

6.5.1. Listas encadenadas

6.5.2. Listas doblemente encadenadas

6.5.3. Operaciones sobre Listas

6.6. Tuplas

6.7. Iteradores

6.8. Estructuras en C#

6.9. Ejercicios

7. Complejidad Algorítmica

7.1. Análisis de Algoritmos

7.2. La notación “Big O”

7.3. Complejidad de un algoritmo

7.3.1. Comparando complejidades

8. Algoritmos: Recursividad

8.1. Características

8.2. ¿Iteración ó Recursión?

8.3. Contratos y recursividad

8.4. Ejercicios

9. Algoritmos: Ordenación y Búsqueda

9.1. Búsqueda

9.1.1. Búsqueda Secuencial o Lineal

9.1.2. Búsqueda Binaria

9.1.3. Algoritmos de Búsqueda en C#

9.2. Ordenación

9.2.1. Ordenación por selección directa

9.2.2. Ordenación por el método de Burbujeo

9.2.3. Ordenación rápida ó Quicksort

10. Introducción a la Herencia

10.1.¿Qué es Herencia?

10.2.Herencia un ejemplo

10.3.Polimorfismo

10.4.Conformidad de tipos

10.4.1. El tipo Current y los tipos anclados

10.4.2. Herencia no conformante

10.5.Invocando al antecesor

10.6.Herencia en C#

10.7.Testeo de objetos y asignación condicional

10.8.Ejercicios

11. Tipos, rutinas y objetos

11.1.Introducción

11.2.Agentes en Eiffel

11.2.1. Tipos de los agentes

11.2.2. Llamando a un agente

11.2.3. Agentes e iteradores

11.3.Delegados y Eventos en C#

11.3.1. Delegados

11.3.2. Eventos

11.4.Tipos de Referencia y Tipos expandidos

11.4.1. Tipos Básicos

11.5.Tipos de Valor en C#

11.5.1. Tipos simples

11.5.2. Tipos enumerados y estructuras

11.5.3. Tipos anulables

11.5.4. Boxing y Unboxing

11.6.Rutinas “Once” y Constantes

11.7.Miembros y Clases Estáticas en C#

11.8.Ejercicios

12. Arboles

12.1.¿Qué es un Árbol?

12.2.Árboles binarios

12.2.1. Árbol Binario en C#

12.3.Recorrer un árbol binario

12.3.1. Recorrido en pre-orden

12.3.2. Recorrido en-orden

12.3.3. Recorrido post-orden

12.3.4. Complejidad de los recorridos

12.4.Árboles binarios de búsqueda

12.4.1. Insertar un elemento

12.4.2. Borrar un elemento

12.5.Ejercicios

13. Herencia Parte II

13.1.Introducción

13.2.Redefinición: Covarianza

13.3.Renombrado y otras operaciones

13.3.1. Fusión de abstracciones

13.3.2. Choque de nombres

13.4.Herencia repetida

13.4.1. La clausula select.

13.4.2. Compartir o replicar

13.5.Congelar características y clases.

13.6.Contratos y herencia

13.6.1. Invariante en herencia

13.6.2. Pre y poscondiciones

13.7.Generalidad restringida

13.8.Interfaces en C#

13.9.Ejercicios

14. Grafos

14.1.Introducción

14.2.Definiciones

14.3.Implementación de Grafos

14.3.1. Representación con lista de adyacencia

14.3.2. Representación por matriz de adyacencia

14.3.3. Implementación con lista de ejes y vértices.

14.4.Algoritmos sobre grafos

14.4.1. Profundidad primero

14.4.2. Ancho Primero

14.4.3. Camino más corto: el algoritmo de Dijkstra

14.5.Ejercicios

15. Diseño Orientado a Objetos

15.1.Introducción

15.2.Elicitación de Clases

15.2.1. Casos de Uso

15.3.BON, UML: describiendo Clases.

15.3.1. Diagramas de Clase

15.3.2. Diagrama de Secuencias

15.3.3. Eso no es todo.

15.4.Un pequeño problema

15.5.Ejercicios

Facebook Twitter DZone It! Digg It! StumbleUpon Technorati Del.icio.us NewsVine Reddit Blinklist Add diigo bookmark

Comments  2

  • galo 03 nov

    amigo me guataria adquirir el libro digame el costo.. yo vivo en latacunga - ecuador como puedo adquirir y el precio final amigo...
  • Ger 18 nov

    En el artículo está el link a lulu, alli puede comprarlo y se lo envían a domicilio. Puede elegir incluso el método de envío. Vaya a: http://www.lulu.com/product/tapa-blanda/algoritmos-objetos-y-estructuras-de-datos/5498520
Post a comment!
  1. Formatting options
       
     
     
     
     
       

Suscríbase al Newsletter