domingo, 21 de septiembre de 2014

Portafolio de evidencias

El contenido del portafolio queda de la siguiente forma:

Dentro de una carpeta con el nombre: Portafolio_ED-NombreApellidoPApellidoM (Portafolio_ED-IvanSabidoCortes), se deben crear las siguientes carpetas:



En su caso solo estarán Unidad 1, Unidad 2, Unidad 3, Unidad 4, Unidad 5, Unidad 6 y Unidad 7.

Dentro de la carpeta examen deben ir las siguientes carpetas Unidad 1 y 2, Unidad 3 y 4, Unidad 5 y 6 y Unidad 7.
Las tareas de la unidad 1 irán en la carpeta Unidad 1 y así con las siguientes unidades.
Me encuentro programando el formato en html para dar una mejor apariencia, en el cual irá el indice y la portada y al hacer clic en el indice, por ejemplo, se deben listar las tareas de la unidad 1 como links para poder abrir los archivos.

Si desean pueden crear sus propios formatos en HTML.

La primera entrega de portafolios será el Sábado 28 de septiembre de 2014.

Las entregas durante el semestre (unidad 1 y 2, unidad 3, ..) se subirán a la plataforma virtual (http://itspvirtual.net/, el curso es Estructura de Datos) como un archivo .rar o ,zip

Los que me entregaron tareas impresas se las devolveré el jueves 25 de septiembre. 

En las siguientes unidades se entregará un cd con las carpetas y el formato.

Saludos cordiales,

Ing. Iván Sabido

sábado, 20 de septiembre de 2014

Examen y Prácticas





Les dejo el link para descargar la presentación vista en clase. De ahí saldrá el examen.
Unidad - Descargar
El examen constará de preguntas abiertas y ejercicios. Tendrá una duración de 2 horas.

Fecha del examen 24 de septiembre de 2014

Los prácticas a entregar son:

1. Búsqueda secuencial en arreglos desordenados
2. Inserta desordenado
3. Elimina desordenado
4. Modifica Desordenado
5. Algoritmo recursivo que suma los n primeros números enteros
6. Serie de fibonacci
7. Búsqueda secuencial ordenado
8. Inserta ordenado
9. Elimina ordenado
10. Realizar un programa que haga uso de la recursividad para calcular el factorial de un número.
11. Desarrollar un programa que haga uso de la recursividad para invertir un número. Ejemplo: Entrada: 321, debe mostrar como salida: 123

Las prácticas de la 1 a la 6 son las que pueden salir en el examen.

La entrega de programas es el día Sábado 27 de Septiembre de 2014 hasta las 11:59 pm. Se subirán a la plataforma (http://itspvirtual.net/main/auth/inscription.php?c=ESTRUCTURADEDATOS&e=1) (subir archivo .java).

Recuerden que las prácticas tienen un valor de 45% y el examen un valor de 30%

Para los que deseen ganarse puntos extra, deben resolver estos programas:

1. (3 Pts) Crea 2 arrays de 10 posiciones, uno para almacenar números flotantes y otro para almacenar cadenas de texto. En el array de flotantes se insertaran calificaciones entre 0 y 10, se debe controlar que se inserte una calificación válida, esto es, no se pueden insertar números que no estén entre el 0 y el 10. En el array de cadenas se debe insertar los nombres de los alumnos.
Después se debe crear un array de cadenas en donde se insertara el resultado de la calificación con palabras.
- Si la calificación esta entre 0 y 5.9, se debe insertar en el array "Reprobado"
Si esta ente 6 y 7.9, insertar la cadena "Bien"
Si esta entre 8 y 9.5, insertar la cadena "Notable"
Si esta entre 9.6 y 10, insertar la cadena "Sobresaliente"

Se debe mostrar por pantalla, el alumno su calificación y su resultado en palabras. Crea los métodos que sean convenientes.

Ejemplo: array1 = [10.0, 5.5, 6.3, 9.6, 8.0, 6, 3.2, 8.5, 7.0 ,4.0)
Array2 = ["jose", "miguel", "rafael", "ramiro", "tania", "carolina", "ismael", "lilia", "sarah", "juan"]
Array3 = ["Sobresaliente", "Reprobado",...]

Se debe mostrar en pantalla:
------------------------------------------------------------------------------------------
Nombre: jose, Calificación: 10, "Sobresaliente"
Nombre: miguel, Calificación: 5.5, "Reprobado"
------------------------------------------------------------------------------------------
2. (6pts) Desarrollar un programa que tenga 2 arreglos, uno con valores enteros y bidimensional de 10 x 5 y otro para almacenar cadenas. El arreglo bidimensional representará las calificaciones de los alumnos, que se encuentran en el arreglo de cadenas. Esto quiere decir que cada alumno tiene 5 calificaciones. Para llenar el arreglo se deben de generar de forma aleatoria las calificaciones de 0 a 10 y se irán insertando en el arreglo.

Ejemplo

array1 =[[7, 5, 10, 8, 9], [9,10,2,5,1], ...]
array2 = ["pedro", "georgina", ...]      

Se debe crear un nuevo arreglo de 10 elementos en el que se insertarán los promedios de cada alumno, ejemplo:

array3 = [7.8, 5.4, ...]

Desplegar en pantalla el nombre del alumno y promedio
Al final el se debe desplegar el nombre del alumno con el promedio más alto.
----------------------------------------------------------------------------------------------
Nombre: pedro, Promedio: 7.8
Nombre: georgina, Promedio: 5.4
...
El alumno con el mejor promedio es: Pedro con 5.4
-----------------------------------------------------------------------------------------------

La entrega es el día Martes a la hora de clase

Saludos cordiales,
Ing. Iván

jueves, 18 de septiembre de 2014

CONCURSO INNOVACIÓN TECNOLÓGICA

Se extiende el periodo de inscripción hasta el 26 de septiembre de 2014.


Si alguien esta interesado en participar en el concurso de innovación tecnológica puede contactarme. Ya sea que tenga un proyecto o podemos ponernos de acuerdo para idear uno.

http://www.itsprogreso.edu.mx/ServiciosAcademicos/concursoIT.html

Los beneficios que pueden obtener los que participen son:

  • Los primeros lugares de cada categoría tendrán derecho a representar al Instituto Tecnológico Superior Progreso en el evento nacional de innovación tecnológica, en su etapa regional.
  • Los/las estudiantes que participen en la etapa regional, podrán hacer equivalente la constancia del concurso para el programa institucional de innovación tecnológica.
  • Los estudiantes que participen en la etapa regional, podrán obtener un crédito en las actividades complementarias.
  • Experiencia profesional.
  • Residencia profesional (únicamente los integrantes de los equipos que representen al ITSP en la etapa nacional).
  • Titulación automática (previo requisito – únicamente los que representen al ITSP en la etapa nacional)
Es muy importante que se involucren en este tipo de eventos ya que les proporciona un mejor curriculum para cuando egresen o mejor aún tener su propia empresa.

Saludos cordiales,

Ing. Iván Sabido

martes, 16 de septiembre de 2014

Temario Estructura de datos


Temario de la asignatura.

Descargar

Por favor comenten de enterado y avisen a sus compañeros.
Recuerden visitar el blog constantemente y estudiar el material que les he subido.

Saludos,

Iván

jueves, 28 de agosto de 2014

Modularidad

La modularidad es la capacidad que tiene un sistema de ser estudiado, visto o entendido como la unión de varias partes que interactúan entre sí y que trabajan para alcanzar un objetivo común, realizando cada una de ellas una tarea necesaria para la consecución de dicho objetivo. Cada una de esas partes en que se encuentre dividido el sistema recibe el nombre de módulo. Idealmente un módulo debe poder cumplir las condiciones de caja negra, es decir, ser independiente del resto de los módulos y comunicarse con ellos (con todos o sólo con una parte) a través de unas entradas y salidas bien definidas. Modularidad en Ciencias de la computación es la característica por la cual un programa de computador está compuesto de porciones que se conocen como módulos. El diseño estructurado es la técnica de diseño de algoritmos en que se basa la programación modular, paradigma de programación que persigue desarrollar programas modulares.

Tengan en cuenta que en esta asignatura sólo aplicaremos la orientación a objetos a fin de aprovechar mejor los mecanismos que el lenguaje Java ofrece para codificar nuestros diseños modulares o generar nuestros tipos de datos abstractos. Sin embargo, este estilo de programación con lleva un modo particular de abordar la estructuración de programas.
Veamos en primer lugar algunos aspectos conceptuales del mismo para pasar, seguidamente, a aplicarlos en nuestro contexto.
Considerado como unidad de estructuración de programas, el concepto de clase equivale esencialmente al de módulo.

Por tanto, sus fases de diseño son las mismas, si bien la forma de especificar, utilizar e implementar difiere ligeramente entre un estilo y el otro. Las clases y los objetos representan una manera alternativa de modelizar los datos (la información) de un programa. En el estilo modular clásico, un módulo de datos define un tipo con un dominio de valores y un conjunto de operaciones que trabajan con diversos parámetros, de los que al menos uno es del propio tipo. En programación orientada a objetos, una clase de datos define una estructura de atributos y operaciones que se particulariza (también se suele decir que se “instancia”) en cada objeto de la misma que se crea. En este aspecto, una clase también hace el papel de “tipo” de dichos objetos. En el diseño modular clásico, una variable posee un valor del tipo al que pertenece y sobre ella se aplican las operaciones de dicho tipo. Podemos decir que una variable contiene la información. Sin embargo, cada vez que se crea un objeto de una clase de datos, éste se convierte en un representante de la estructura definida en tal clase, de forma que recibe como componentes sus atributos y sus operaciones (también llamadas métodos). En este caso el objeto es la información.

Recursos para aprender a programar en Java con el paradigma orientado a objetos

Videos en Youtube

Código facilito (Son 29 vídeos de 5 a 10 minutos de duración)
Chelin Tutorials (Son 70 videos de 5 a 15 minutos)
ProgramarFacil

Libros

Introducción a Java de Jorge Luis Ortega Arjona (UNAM)
Introducción a la programación orientada a objetos (Universidad Politécnica de Valencia)
Tutorial Introducción a la programación orientada a objetos (SUN)

Para descarga

En google pueden hacer la búsqueda del siguiente curso:
Java 7 video2brain

Otros
Varios cursos de programación para descargar


Si desean pueden ver el curso de Python en código facilito, y la próxima clase me dicen cual se les hace más fácil, posiblemente se les haga más fácil Python, no lo descarten.

Espero les ayude en su preparación.

Saludos Cordiales,

Ing. Iván Sabido



martes, 26 de agosto de 2014

Tarea Unidad 1 (27-08-2014)

Tarea 1-1

Investigar y realizar un resumen de lo siguiente:

¿Qué es abstracción?
¿Qué son los tipos de datos abstractos?
¿En qué nos beneficia la abstracción de datos en la programación?
¿Qué es estructura de datos?
 ¿Qué es modularidad?
¿Qué es la memoria estática ?
¿Qué es la memoria dinámica?
¿Qué son los arreglos?

Links:
http://es.slideshare.net/gusolis93/memoria-dinamica-15706001
http://estructuradatos-unach.blogspot.mx/search?updated-max=2013-05-20T18:32:00-07:00&max-results=7

El resumen se anexa al Portafolio.

Saludos cordiales,

Iván Sabido