lunes, 28 de febrero de 2011

Siguiendo al CESA

En esta ocasión quiero hacer referencia al blog que mantienen activo los compañeros del CESA (Comité Ejecutivo de la Sociedad de Alumnos) del Instituto Tecnológico de Toluca. En él se encuentra información que puede ser de relevancia para todos nosotros como estudiantes dentro de esta Institución.

Esta inquietud mía nació a partir de un pequeño cartel que anunciaba un evento musical, el cual al final contenía la dirección del citado blog. Sin embargo, olvidando el asunto continué con mis actividades de la semana pasada hasta que abrí el enlace al blog que se encuentra en la página oficial del Instituto.

Con este sencillo post quiero alentarlos a suscribirse al blog del Comité. Estoy segura de que encontraremos información muy útil para nuestra comunidad estudiantil, ya que por ejemplo, se abrió durante enero una convocatoria para solicitar lockers, la cual no tuvo gran resonancia, además, en uno de los posts se encuentran los horarios de atención del Comité.

La dirección del blog del CESA es la siguiente:

http://www.cesatoluca.blogspot.com/

Seguramente con nuestra suscripción podremos obtener beneficios para todos. ¿Qué opinan al respecto?

viernes, 11 de febrero de 2011

Copias y material de Cultura Empresarial

Por favor lean cuidadosamente. En este post encontrarán los apuntes correspondientes a las Áreas de un Plan de Negocios así como los ejemplos de algunos planes de negocios.

Las siguientes áreas de sus planes de negocios se van a entregar el próximo jueves 17 de Febrero:

  • Descripción del negocio (Área 2)
  • Análisis del mercado meta (Área 3)
  • Cuerpo directivo (Área 4)
  • Operaciones (Área 5)

Las siguientes áreas de sus planes de negocios se van a entregar el próximo martes 22 de febrero:

  • Riesgos críticos (Área 6)
  • Proyecciones Financieras (Área 7)

El trabajo completo (Áreas 1-8) se entregará el martes 22 de Febrero.

Las exposiciones se llevarán a cabo la semana del 11 al 15 de Abril

AQUÍ PUEDES DESCARGAR LOS APUNTES.

AQUÍ PUEDES DESCARGAR EL EJEMPLO 1.

AQUÍ PUEDES DESCARGAR EL EJEMPLO 2.

lunes, 7 de febrero de 2011

Aniversario Post 100: Trivia 2

Para poder participar en esta trivia, los participantes deben cumplir con los siguientes requisitos:

  1. Estar inscritos al blog, es decir, ser seguidores del blog.
  2. Ser alumno del Instituto Tecnológico de Toluca.
  3. Contar con la credencial de estudiante vigente de dicha Institución.
  4. Poner la respuesta en los comentarios de este post.
  5. No haber ganado la trivia 1
  6. Fecha límite: 28 de Febrero de 2011 a las 23:59:59

Premio

Un tarjeta amigo de telcel de $100. El ganador será el primer comentario con la respuesta correcta.

Pregunta

Para el árbol binario que se muestra abajo, el recorrido en orden produce: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15. ¿Cuál es el resultado del recorrido en pre-orden y en post-orden para este mismo árbol?

Aniversario Post 100: Trivia 1

Para poder participar en esta trivia, los participantes deben cumplir con los siguientes requisitos:

  1. Estar inscritos al blog, es decir, ser seguidores del blog.
  2. Ser alumno del Instituto Tecnológico de Toluca.
  3. Contar con la credencial de estudiante vigente de dicha Institución.
  4. Poner la respuesta en los comentarios de este post.
  5. No haber ganado la trivia 2
  6. Fecha límite: 28 de Febrero de 2011 a las 23:59:59

Premio

Un mouse que se encuentra en muy buenas condiciones. Es similar al que pueden ver aquí. El ganador será el primer comentario con la respuesta correcta.

Pregunta

¿Cuál es el resultado de evaluar la siguiente integral? Tip: puedes usar Wolfram Alpha como lo muestra este post.

Celebrando el post número 100

¡Bienvenidos al post número 100 del blog!

Para celebrarlo, hemos decidido lanzar dos trivias y el primero que conteste correctamente alguna de ellas, se hará acreedor a un premio (ver los requisitos para ser ganador).

Mucha suerte y gracias por sus comentarios, observaciones y el seguimiento que le han dado a este blog a lo largo de nuestros 100 posts, los dejamos con las dos trivias: trivia 1 y trivia 2.

domingo, 6 de febrero de 2011

Desarrollo de Software dirigido por Pruebas: árboles binarios (Parte 4)

Te encuentras en la cuarta parte de la serie "Desarrollo de Software dirigido por Pruebas":
  1. Diseño de las pruebas
  2. Implementación
  3. Refactoring
  4. Conclusiones y código

Desarrollar primero las pruebas a lo largo de este proyecto nos ha ayudado a realizar la implementación y las mejoras a la misma de una forma mas ágil y confiable. A lo largo del desarrollo hemos podido verificar si ha ocurrido una regresión y con ello reparar errores rápidamente. Una regresión ocurre cuando algo que ya funcionaba deja de funcionar.

Una vez que empiezas a desarrollar bajo este tipo de paradigma los beneficios son inmediatos. En este proyecto que consta de seis clases y una lógica moderada, el crear primero las pruebas nos ha ayudado a entender mejor qué es lo que se tiene que implementar y durante la implementación nos ha permitido determinar cuando el código ha alcanzado un punto estable. Imagina lo importante que es el desarrollo de pruebas si empresas como Amazon, Google, Microsoft, entre otras, tienen puestos enfocados a esta tarea.

La implementación de la clase Red-Black Tree no fue la excepción en nuestra estrategia de desarrollo: 1) creación de pruebas; 2) implementación de la funcionalidad; 3) Refactoring en caso de ser necesario. Sin embargo, realizamos una ligera variación. Debido a que la lógica para árboles Red-Black es un poco más elaborada, fuimos creando una parte de prueba y luego una parte de código, ¿por qué? Al crear un poco de las pruebas aclarábamos partes de la implementación que no eran tan obvias, y decidimos aprovechar ese conocimiento mientras estaba fresco para escribir la parte del código que correspondía. Y nuevamente repetíamos el ciclo un poco de pruebas y poco de implementación.

Antes de cerrar esta serie, revisemos brevemente la diferencia entre un árbol binario simple, uno AVL y un Red-Black. En un árbol binario simple los valores se insertan directamente donde les toca y eso es todo. El problema con ello es que puede crear árboles "desbalanceados". Supongamos que insertamos los números del 1 al 15 en orden, esto resulta en un árbol como el que se muestra en la siguiente figura:

¿Qué pasa si queremos buscar el número 15 en este árbol? Tenemos que realizar 15 comparaciones (en otras palabras, el número de nodos desde la raíz hasta el nodo que contiene el número 15). La eficiencia de las operaciones en árboles binarios está relacionada directamente con la altura del árbol. Para ello, los árboles AVL y Red-Black implementan lógica que detecta cuando un árbol empieza a desbalancearse y lo corrigen rotando nodos del árbol. La siguiente figura ilustra el concepto básico de rotación:

La siguiente imagen muestra el árbol AVL resultante al insertar en orden los números del 1 al 15. Podemos observar que si queremos buscar el número 15, sólo nos toma 4 comparaciones. Además es claro que el árbol está perfectamente balanceado, ya que todos los nodos hoja se encuentran a la misma altura.

Obviamente todo tiene un precio, entre más balanceado se quiera un árbol mayor número de rotaciones se necesitan, y por ende mayor trabajo. Aquí es donde entran los árboles Red-Black, cuyo objetivo es ofrecer un equilibrio entre el balance del árbol y el trabajo requerido (es decir, el número de rotaciones realizadas). Veamos como luce el árbol Red-Black para el ejemplo que estamos manejando.

En este árbol Red-Black, nos toma 6 comparaciones encontrar el número 15. Podemos observar que este árbol es ligeramente más alto que el árbol AVL y con ello un poco más desbalanceado. Sin embargo, requirió un menor número de rotaciones. En general, los árboles Red-Black son más eficientes en la inserción y borrado de nodos que un árbol AVL, sin sacrificar considerablemente el balanceo del árbol.

Muy bien, con esto cerramos esta serie. Hay otros aspectos relacionados a pruebas que trataremos en otros posts. Por ejemplo, cómo determinamos si nuestras pruebas son representativas para garantizar que la implementación funciona correctamente. Además, para todas las pruebas generamos los datos de entrada y calculamos la salida manualmente, ¿podemos hacerlo de otra forma?

Por último los dejamos con una liga al código (tanto pruebas como implementación, lo pueden abrir directamente con NetBeans), el código está en bitbucket y en la parte superior derecha existe una opción para descargarlo en formato zip. Para aprender más de bitbucket puedes visitar el siguiente post.

Y no lo olvides, desarrollo de pruebas primero y después implementación.

miércoles, 2 de febrero de 2011

Tablas trigonométricas

El uso de tablas en Matemáticas ha caído un tanto en el olvido gracias a la evolución de los dispositivos electrónicos como calculadoras o computadoras portátiles, donde la información acerca de operaciones con números y fórmulas puede obtenerse fácilmente y de manera instantánea.

Sin embargo, también es útil conocer que existen tablas como las logarítmicas o las trigonométricas en caso de que necesitemos resolver algún problema que involucre este tipo de operaciones y no contemos o no se nos permita utilizar la calculadora o la computadora. Tal es el caso del curso de Matemáticas IV (Álgebra Lineal) en el Instituto Tecnológico de Toluca, donde una de las políticas del curso es precisamente, evitar el uso de estos dispositivos.

Cuando me di a la tarea de buscar unas tablas trigonométricas tanto en internet como en papelerías libros, me di cuenta de que éstas sólo contaban con las funciones de seno, coseno y tangente para algunos ángulos (normalmente desde 0 grados hasta 90 grados) y aunque el resto de las funciones trigonométricas y los valores para los 360 grados de los que consta una circunferencia pueden ser obtenidos a partir de las tres primeras funciones y los primeros 90 grados, pensé que tal vez en el examen, recordar la información necesaria para obtener por ejemplo, la cotangente de 272 grados, podría ser una tarea más complicada de lo que parece debido a la presión de tiempo y también al nerviosismo que normalmente acompaña el hecho de presentar una evaluación. Es por ello que decidí crear unas tablas trigonométricas utilizando un programa de hoja de cálculo, que contienen los valores de los 360 grados en radianes así como sus valores para las seis funciones trigonométricas (seno, coseno, tangente, cotangente, secante y cosecante).

Los valores que aparecen en estas tablas están en formato decimal, así que en el caso de ángulos como 30°, 45°, 60°, etc., les recomiendo utilizar otra tabla con los valores exactos de éstos para facilitar las operaciones. Espero que les sean de utilidad. Además, en las tablas pueden aparecer valores que parecen un tanto extraños, como por ejemplo, sabemos que el seno de 180° es igual a cero, pero en las tablas aparece un número decimal que se multiplica por 10 elevado a la -16, se entiende entonces, que por ser un número muy pequeño, el resultado es cero.

Descarga las tablas trigonométricas haciendo click AQUÍ.