martes, 28 de abril de 2009

Tesis - Modelo de Base de Datos en MySQL - Software Educativo - Φsik Software

Fecha: Lunes 20 de Abril de 2009 y Miercoles 22 de Abril de 2009

Buenos, Básicamente lo que hicimos fue sentarnos a desglosar el proyecto en pequeños pedazos, lo más básicos y ver como se podrían modelar en una Base de Datos cada uno de esos pedacitos.

Tenemos dos tipos de usuarios:
  • Estudiantes
  • Profesores

Un Profesor puede:
  • Crear, modificar o eliminar una teoría.
  • Crear, modificar o eliminar Proyectos.
  • Crear, modificar o eliminar una Periodo Académico.
  • Crear, modificar o eliminar Secciones.
  • Consultar Alumnos.
  • Otorgar Privilegios de Proyectos a los Estudiantes.
  • Consultar Records.
  • Crear, Modificar o Eliminar su Perfil.

Un Estudiante puede:
  • Crear, Modificar o Eliminar su perfil.
  • Consultar la Teoría.
  • Consultar los Proyecto bajo los que tenga permiso.
  • Consultar Estadísticas Globales.
  • Consultar Estadísticas o record Personales .

Este fue el primer enfoque, en el cual creamos las tablas para ver como quedaría mas o menos la Base de Datos.


Luego de tener el primer modelo, nos sentamos a ver donde estamos redundando y cuáles son los posibles caminos de consulta y salió el segundo modelo de Base de Datos el cual está sujeto a más cambios en los próximos días.



El modelo va a crecer mucho mas pero este es una base de cómo se vería, esta prestado a crecer más por el lado de crear proyectos ya que no hemos puesto todas las posibles tablas que va asociadas a proyecto ya que no se ha planteado los componentes que van asociados a él y los posibles problemas de los mismos. Pero se estiman 10 tablas mas asociadas a proyecto.

lunes, 27 de abril de 2009

Flex Google Maps - Tags y Menu Personalizado - Custom Tags and Menu - Flex 3



Translation:
Lo primero que debemos hacer para poder programar con los mapas de Google es bajarnos el api, el cual lo podemos encontrar en la siguiente dirección SDK Google Maps, luego necesitaremos una clave para poder usar el mapa de Google el cual podemos encontrarlo en esta página Google Maps Key, con estos dos requisitos estamos listos para jugar un poco con los mapas de Google, su página de ayuda tiene muchos ejemplos y cosas que podemos hacer sobre el mapa de ellos, esta ayuda la podemos encontrar en esta pagina Google Maps Doc.
The first thing we have to do to be able to develop with Google Maps is to download the API, this API we can find it in this link SDK Google Maps. The next thing we have to do to be able to use Google Map is go to a Google maps page and agree with some terms so we can get an Map Key we can get this Key in this link Google Maps Key. With these two things we are now ready to play a little with Google maps. Google Maps has a lot and very good info and doc’s and even better they have examples that can guide us through Google Map, this link is Google Maps Doc’s.



Como muchas veces no queremos lo que unos ofrece un API sino queremos jugar con varias cosas a la vez, con esto me refiero a que queremos botones más vivos tags que sean animados y aplicar nuestro propio toque a nuestras aplicaciones, Google nos ofreció algo maravilloso llamado OVERLAY un overlay traducido es una capa que se le coloca encima a algo. Los tags y las figuras básicas que ofrece Google son overlay pero Google dentro de esto nos ofrece el CUSTOM OVERLAY, ahí es donde entra nuestra imaginación. Esto lo podemos leer en la sección de ayuda de Google Maps en esta página Google Maps Custom Overlay.
Often we like to do something more complex than the API can provide, so we have to use other language to do so, with this am talking about nice buttons o tag over the map that we can animate easily or even breather, put own on touch in to the development in that we are best.
Google Offers us an tool inside the API called OVERLAY, the OVERLAY in nothing more than a layer that we can just put over the map and do most anything with it, so we can develop over custom and complex tags.

Google offers overlays so you can use their tag and some basic geometric figures, but our custom develops , you are going to use CUSTOM OVERLAY, all of Custom Overlays we can read it in this page Google Maps Custom Overlay.



En una página de adobe Daniel Terraza, un compañero de trabajo y quien me ayudo a programar este componente de prueba, vio unos tags en flex y se nos predio la luz de combinar estos tags con el Google Maps. Estos Tags los pueden conseguir en la página de Adobe como un componente simple, jajajaa cosa que para muchos principiantes en Flex no se les hará tan simple pero ellos dicen que es simple, les dejo la pagina (http://www.adobe.com/devnet/flex/samples/fig_callout/) . En tutoriales futuros hablaremos de Efectos y Transiciones, que fue como se logro este componente, hecho por Adobe, no vi el autor por ningún lado así que no lo menciono.
In a page of adobe Daniel Terrace, a fellow worker and who help me to program this map component, he saw these tags in flex and we thought that way not we out booth together, the tags with Google Maps. We can obtain this Tags in the page of Adobe like a simple component, Hear is the page (http://www.adobe.com/devnet/flex/samples/fig_callout/). In future tutorials we will speak of Effects and Transitions.

Los botones fueron Diseñados Melisa Correia, una compañera de trabajo, estos botones fueron creados usando AI y FL los cuales fueron importados como Skins usando las herramientas que brinda Adobe.

Los dos canvas con color degradado fue sacado de Gradient Canvas y su autor es Arnaud FOUCAL.

The buttons were designed Melisa Correia, a fellow worker, these buttons were created using AI and FL which were imported into flex like Skins having used the tools that Adobe offers.

The canvas with degraded color was found from Gradient Canvas and his author is Arnaud FOUCAL excellent Job me I say.






Descargar Archivo y Ver Codigo Fuente:


Download File's and Source:

martes, 14 de abril de 2009

Reloj Binario en Flex - Binary Clock in Flex - Flex 3


Translation:

Ejemplo:
Example:

Este ejemplo se construyo para aquellas personas apasionadas por los relojes Binarios. Y si eres programado puedas construir tu propio reloj binario y colocarle un estilo personal al mismo.

El Reloj se construyo usando Flex 3, colocando de forma ordenada varios Check Box, los cuales se le creó un Skin en Flash CS3 y se importo el CSS a Flex para tener estos Check Box Verdes como se ven en el ejemplo.


Descargar Archivo:
This example was built for people passionate about watches binaries. And if you are scheduled you can build your own binary clock and place a personal style to it.

The clock was built using Flex 3, placing more orderly Check Box, which he created a skin in Flash CS3 and Flex CSS matter to have these Green Check Box as seen in the example.


Download Files:

domingo, 12 de abril de 2009

Prueba Ape Physics - Flex 3

Nota: Haz Click sobre el ejemplo, dentro de la zona gris claro.




Esto es una prueba de la librería APE Physis, les posteo el código el cual fue tomado en principio por un ejemplo posteado y fue modificado por nosotros para ver el desempeño de la librería.


Codigo:


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundColor="#444444"
creationComplete="initApp()" verticalAlign="top" horizontalAlign="left"  >

<mx:Script>
<![CDATA[
import flash.sampler.DeleteObjectSample;
import org.cove.ape.AbstractCollection;
import org.cove.ape.WheelParticle;
import org.cove.ape.RectangleParticle;
import org.cove.ape.AbstractParticle;
import org.cove.ape.Group;
import org.cove.ape.CircleParticle;
import org.cove.ape.Vector;
import org.cove.ape.APEngine;
[Embed(source='/assets/testApeLogo.swf', symbol='renito')]
[Bindable]
public var imgCls:Class;


private var contentHolder:Sprite=new Sprite();

private var defaultGroup:Group=new Group();

private var mousePosition:Point;
private var myTimer:Timer;

private function deleteObjects(e:TimerEvent):void
{
trace("TICK");
var len:int = defaultGroup.getAll().length-1;
var part:AbstractParticle;
for(var i:int =len; i>=0;i--){
trace((alto+100 < AbstractParticle(defaultGroup.getAll()[i]).position.y) + " "+(alto+100) +"<"+AbstractParticle(defaultGroup.getAll()[i]).position.y);
if(alto+100 < AbstractParticle(defaultGroup.getAll()[i]).position.y)
{
part = defaultGroup.getAll()[i];
defaultGroup.removeParticle(part);
delete(part as Object);

}

}
}
private function refreshTimer(e:TimerEvent):void
{
trace("NEW TIMER");
myTimer.removeEventListener(TimerEvent.TIMER,deleteObjects)
myTimer.removeEventListener(TimerEvent.TIMER_COMPLETE,refreshTimer);
myTimer.stop();
myTimer = null;
myTimer = new Timer(10*1000,Number.MAX_VALUE);
myTimer.addEventListener(TimerEvent.TIMER,deleteObjects);
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE,refreshTimer);
myTimer.start();
}

private function initApp():void{

myTimer = new Timer(10*1000,Number.MAX_VALUE);
myTimer.addEventListener(TimerEvent.TIMER,deleteObjects);
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE,refreshTimer);
myTimer.start();
spriteWrapper.addChild(contentHolder);
addEventListener(Event.ENTER_FRAME,run);
APEngine.init(1/3);
APEngine.container=contentHolder;
APEngine.addMasslessForce(new Vector(0,9.8));


defaultGroup.collideInternal=true;


ground=new RectangleParticle(viewScreen.width/2,viewScreen.height-40,viewScreen.width-50,40,0,true);
ground.setFill(0xCCCCCC);

defaultGroup.addParticle(ground);
APEngine.addGroup(defaultGroup);
viewScreen.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
ancho = viewScreen.width;
alto= viewScreen.height;
}
private var ground:RectangleParticle;
private var ancho:Number = 0;
private var alto:Number = 0 ;
private var hijos:int =0;
private function run(e:Event):void{
APEngine.step();
APEngine.paint();

if(hijos != defaultGroup.getAll().length){
hijos = defaultGroup.getAll().length;
trace(defaultGroup.getAll().length);
}
if(ancho != viewScreen.width || alto != viewScreen.height){
defaultGroup.removeParticle(ground);
ground=new RectangleParticle(viewScreen.width/2,viewScreen.height-40,viewScreen.width-50,40,0,true);
ground.setFill(0xCCCCCC);
defaultGroup.addParticle(ground);


}

}
private function addSelectedParticle():void{
var createdParticle:AbstractParticle;
if(radiobutton1.selected)
createdParticle=createCircle();
if(radiobutton2.selected)
createdParticle=createRectangle();
if(radiobutton3.selected)
createdParticle=createWheel();

createdParticle.setFill(itemColor.selectedColor);
defaultGroup.addParticle(createdParticle);

}

private function createCircle():AbstractParticle{
var circle:CircleParticle=new CircleParticle(mousePosition.x,mousePosition.y,circleRadius.value,isFixed.selected,myMasa.value,elastico.value,roce.value);
return circle;

}
private function createRectangle():AbstractParticle{
var rectangle:RectangleParticle = new RectangleParticle(mousePosition.x,mousePosition.y,circleRadius.value*2,circleRadius.value*2,0,isFixed.selected,myMasa.value,elastico.value,roce.value);
return rectangle;
}
private function createWheel():AbstractParticle{
var wheel:WheelParticle = new WheelParticle(mousePosition.x,mousePosition.y,circleRadius.value,isFixed.selected,myMasa.value,elastico.value,roce.value,1);
return wheel;
}
private function onMouseDown(e:MouseEvent):void
{
mousePosition=new Point(e.localX,e.localY);
addSelectedParticle();
}

]]>
</mx:Script>


<mx:HBox width="100%" height="100%" >
<mx:VBox   backgroundColor="0xEEEEEE" cornerRadius="5" borderStyle="solid" borderThickness="1">
<mx:Form>
<mx:FormItem label="Forma del Objeto">
<mx:RadioButtonGroup id="particleGroup"/>
<mx:RadioButton label="Circulo" id="radiobutton1"  groupName="particleGroup" selected="true"/>
<mx:RadioButton label="Cuadrado" id="radiobutton2" groupName="particleGroup" />
<mx:RadioButton label="Rueda" id="radiobutton3" groupName="particleGroup"/>
</mx:FormItem>
<mx:FormItem label="Masa">
<mx:NumericStepper minimum="1" maximum="100000" stepSize="1000" id="myMasa" value="1"/>       
</mx:FormItem>
<mx:FormItem label="Radio/Ancho y Alto">
<mx:NumericStepper minimum="1" maximum="100" stepSize="5" id="circleRadius" value="20"/>
</mx:FormItem>
<mx:FormItem label="Constante de Elasticidad">
<mx:NumericStepper minimum="0" maximum="1" stepSize="0.01" id="elastico" value="0.3"/>
</mx:FormItem>
<mx:FormItem label="Constante de Roce">
<mx:NumericStepper minimum="0" maximum="1" stepSize="0.01" id="roce" value="0.01"/>
</mx:FormItem>
<mx:FormItem label="Color del Relleno">
<mx:ColorPicker id="itemColor" selectedColor="0xFF0000"/>
</mx:FormItem>
<mx:FormItem label="Afectado por la Fuerzas">
<mx:CheckBox id="isFixed" fontStyle="normal" fontWeight="bold" fontSize="14"/>
</mx:FormItem>
</mx:Form>
</mx:VBox>
<mx:Canvas id="viewScreen"  width="100%" height="100%"  backgroundColor="#FFFFFF" backgroundAlpha=".3" borderStyle="solid" borderThickness="1" cornerRadius="5" verticalScrollPolicy="off" horizontalScrollPolicy="off">

<mx:Image rotation="-45" alpha="1" x="{viewScreen.width/2}" y="{viewScreen.height/2}" source="{imgCls}" horizontalAlign="center" verticalAlign="middle" />

<mx:UIComponent id="spriteWrapper" width="100%" height="100%"/>

</mx:Canvas>
</mx:HBox>

</mx:Application>


Descargar Archivos:

Librerias de Fisica para Flex

Fecha - 08 de Abril de 2009

Existen varias librerías que ayudan a elaborar simulaciones físicas en el lenguaje de programación ActionScript 3.0 de los cuales vamos a probar los más atractivo, abrir los ejemplos que nos brindan y modificar el código un poco para hacer algunas cosas más de lo que hace el ejemplo que brindan las paginas para así tomar una decisión rápida sobre que librería nos conviene usar para el desarrollo.

Estas librerías básicamente usan algoritmos matemáticos que ayudan a disminuir los cálculos matemáticos o en su defecto mejorar la rapidez de los mismos para aumentar el performance y disminuir el retardo ocasionado por los cálculos matemáticos.

Librerías de Física para probar para el proyecto a desarrollar:

Tesis - Logo y Titulo del Proyecto - Software Educativo - Φsik Software

Fecha - 01 de Abril de 2009

Titulo del Proyecto: Φsik - Tracuccion "Fisíca".

El titulo salió después de una larga discusión en la cual nunca llegábamos a nada y nuetra solución fue tomar la palabra FISICA y pasarla por un traductor en los cuales colocamos las traducciones en Alemán y Griego y le dejamos una parte en español que es nuestro idioma y el nombre para el desarrollo se distribuyo en:
  • Φ = letra Griega, la cual fonéticamente se pronuncia Fi.
  • Si = decidimos dejar el sí del castellano
  • K = y la letra k la sacamos al traducir física al alemán es la ultima letra que sale en la traducción.
Logo: Con el logo no está listo aun esto es un borrador, los colores que usaremos son azul y naranja debido a que:
  • Azul:
  • Naranja:
Este Borrador no tiene los colores exactos ya que es un borrador y fue como un pre diseño usando cualquier color para luego colocar bien los colores que son y la letra del título del proyecto no son los expuestos aun estamos viendo tipos de letras las cuales sea lo más acorde a nuestro deseo y sea representativo con lo que queremos presentar y resaltar a primera vista .


Investigacion en la Ucab sobre la Tesis

Fecha - 25 de Marzo de 2009

En la mañana hablamos con Olga en la mañana para darle nuestra prupuesta y nos recomendara con alguien.

Ella se quedo con la propuesta y dijo que para no perder tiempo podíamos pasar por Modulo 6 piso 3 y por modulo 4 piso 4 los cuales nos podrían brindar un buen aporte a nuestra investigación y apoyo en el mismo.

Fuimos a Modulo 6 piso 3, hablamos con Mariela Adrian en la cual luego de una clase muy corta pero muy enriquecida de las formas de aprendizaje y estaba orientado a el aprendizaje por medios de información de tecnología como lo es un computador.

Luego nos recomendó leer un libro:
  • Titulo: Diseños y programas educativos. Pautas pedagogicas para la elaboracion de software.
  • Autor: Begoña Gros
  • Editorial: Ariel.

Y también nos brindo su correo para cualquier duda durante nuestro desarrollo.

Correo Ucab: madrian@ucab.edu.ve.

Luego Fuimos a Modulo 4 piso 4. Nos recomendaron a una profesora a la cual intentamos estar en contacto con la misma mediante una carta, ya que no estaba en las instalaciones para ese día que fuimos.

Luego discutimos un poco en el trascurso de la tarde en como íbamos a repartirnos el tiempo para empezar con el diseño de el proyecto.

sábado, 11 de abril de 2009

Desarrollo de un Software educativo para estimular, apoyar y reforzar el aprendizaje de Física General I en estudiantes del ciclo básico de la escuela


UNIVERSIDAD CATÓLICA ANDRÉS BELLO
Facultad de Ingeniería
Escuela de Ingeniería Informática
Caracas – Montalbán.






PROPUESTA PARA EL TRABAJO ESPECIAL DE GRADO
“Desarrollo de un Software educativo para estimular, apoyar y reforzar el aprendizaje de Física General I en estudiantes del ciclo básico de la escuela de Ingeniería Informática”.




Tutor
  • José Manuel Marino

Tesistas
  • René R. Ramírez Szabó - Exp. 116334
  • Yaridelis M. Romero Marín - Exp. 110949
Planteamiento del Problema
Para lograr una evolución en la sociedad y en el sistema de enseñanza de la actualidad es necesario iniciar procesos de mejora en el sistema educativo que conduzcan a una enseñanza de calidad que sea accesible y de fácil manejo. Estos procesos involucran la comprensión y aprendizaje de los conceptos básicos de la materia incorporando elementos dinámicos que permitan asimilar el contenido sin que esto se convierta en una tarea aburrida y en ocasiones muy complicada, ya que estas condiciones generan deficiencias en el aprendizaje provocando que el estudiante pierda el interés por aprender y se dedique sólo a estudiar por aprobar la materia.

Se plantea entonces la posibilidad de la utilización de las Tecnologías de Información en el proceso de enseñanza-aprendizaje de la cátedra de Física General I mediante recursos didácticos y dinámicos que promuevan procesos de aprendizaje, en los que se asuma que no todos los individuos aprenden de la misma manera, con el mismo ritmo e interés, al mismo tiempo que generan cambios en la enseñanza por parte del docente y la orientan hacia otros campos de interés estimulando la investigación hacia otras áreas.

Actualmente existen varias universidades a nivel nacional que están incorporando el sistema de educación a distancia y clases semi-presenciales, que permiten realizar un uso eficiente de los recursos tanto físicos como económicos de la institución al incluir software que permite simular el contenido de algunas materias.

Con el fin de desarrollar habilidades de aprendizaje de la cátedra de Física General I, se propone incorporar un software educativo (SE) que permita comprender, asimilar y aprender los contenidos dictados dentro de la materia por parte del alumnado y mejorar los procesos de enseñanza por parte de los profesores. De esta manera, la incorporación paulatina de dicho SE permitirá expandir el campo de competitividad con otras universidades en el área de la educación a distancia y clases semi-presenciales, ofreciendo mayores posibilidades y alternativas educativas.

Objetivos
General:
• Desarrollar un software educativo para apoyar el aprendizaje de la Cátedra de Física General I en estudiantes del ciclo básico de la escuela de Ingeniería Informática.

Específicos:
• Analizar el contenido programático de la Cátedra de Física General I ofrecida por la Escuela de Ingeniería Informática para identificar los requerimientos necesarios para la elaboración del software.
• Evaluar y seleccionar las técnicas más adecuadas para el desarrollo en las que se basa la elaboración de software educativo así como sus principios básicos.
• Diseñar, desarrollar e implementar un software educativo para apoyar el proceso de enseñanza-aprendizaje de la cátedra.
• Diseñar, desarrollar e implementar un módulo de administración de contenidos para hacer posible la incorporación de nuevo material al software.
• Evaluar el impacto de la incorporación y utilización de dicho software sobre los alumnos y profesores.

Justificación
La creciente utilización de las tecnologías de información en casi todos los aspectos de la vida diaria y la necesidad de hacer el proceso de enseñanza más ágil e interactivo, fundamentan las bases del desarrollo de software educativo (SE). Un SE es un componente cuyas características estructurales y funcionales sirven de apoyo al proceso de enseñar y aprender.

Para el desarrollo de un SE, es necesario considerar la motivación e interés, evitando que el proceso sea largo y complicado tanto para los alumnos como para los profesores. En la actualidad, la idea de utilizar recursos adicionales a los dados en clase que permitan reforzar y colaborar con el aprendizaje, son positivamente recibidos por todas las partes. Con esto es factible pensar que si se presenta al alumnado un recurso que les permita comprender, asimilar y aprender el contenido de la cátedra de Física General I, así como a los profesores un recurso que los ayude en el proceso de enseñanza, se estimulará el uso de este SE y se extenderán sus aplicaciones y campos de acción.

Es así como en este trabajo de grado se trabajará en el uso de las aplicaciones informáticas para desarrollar un SE, vinculado con el contenido programático de la cátedra de Física General I, que estimule, apoye y refuerce el estudio y aprendizaje de la cátedra, además de proponer una estrategia educativa incorporando un módulo de administración que permita al profesor incorporar nuevos contenidos y de esta manera el SE pueda actualizarse y se convierta en una herramienta dinámica.

Alcance

• El alcance de este proyecto se extiende hasta el desarrollo de un software educativo que permita modificar y simular ejercicios de la Cátedra de Física General I, de manera específica en Física/Mecánica Newtoniana, en el área de Cinemática (en una y dos dimensiones), que permita la auto evaluación por parte del alumno y la comprensión del contenido.
• Se realizará la evaluación del SE para estimar el grado el cumplimiento de los objetivos planteados.

Limitaciones
• Inicialmente, el módulo de administración de contenidos diseñado para profesores, sólo podrá alterar los ejercicios básicos, modificando valores estándar de la Cátedra de Física I (como masa, velocidad, gravedad, roce, etc).
• El SE estará desarrollado sólo para ambientes Web, basado en los tipos de aplicaciones RIA (Rich Internet Application), permitiendo así su utilización a distancia.
• Los requerimientos del SE, serán orientados por el departamento de Física de la Facultad de Ingeniería.
• El espacio muestral se limita a un grupo significativo de estudiantes en condición de repitientes de donde se selecciona una muestra de estudio, con la cual se obtendrán los resultados aplicando instrumentos de evaluación, evaluando el impacto de la incorporación del SE, pudiendo ser comparado con los resultados obtenidos anteriormente, salvando posibles correlaciones con otros aspectos influyentes en el rendimiento del estudiante.