Professional Documents
Culture Documents
En computacin, el software en sentido estricto es todo programa o aplicacin programado para realizar tareas especficas. El trmino "software" fue usado por primera vez por John W. Tukey en 1957. Algunos autores prefieren ampliar la definicin de software e incluir tambin en la definicin todo lo que es producido en el desarrollo del mismo. La palabra "software" es un contraste de "hardware"; el software se ejecuta dentro del hardware. Una definicin ms amplia de software incluye mucho ms que slo los programas. Esta definicin incluye: *La representacin del software: programas, detalles del diseo escritos en un lenguaje de descripcin de programas, diseo de la arquitectura, especificaciones escritas en lenguaje formal, requerimientos del sistema, etc.
*El conocimiento de la ingeniera del software: Es toda la informacin relacionada al desarrollo de software (por ejemplo, cmo utilizar un mtodo de diseo especfico) o la informacin relacionada al desarrollo de un software especfico (por ejemplo, el esquema de pruebas en un proyecto). Aqu se incluye informacin relacionada al proyecto, informacin sobre la tecnologa de software, conocimiento
acerca de sistemas similares y la informacin detallada relacionada a la identificacin y solucin de problemas tcnicos.
LA INFORMACIN DE LA APLICACIN.
El software, como programa, consiste en un cdigo en un lenguaje mquina especfico para un procesador individual. El cdigo es una secuencia de instrucciones ordenadas que cambian el estado del hardware de una computadora. El software se suele escribir en un lenguaje de programacin de alto nivel, que es ms sencillo de escribir (pues es ms cercano al lenguaje natural humano), pero debe convertirse a lenguaje mquina para ser ejecutado. El software puede distinguirse en tres categoras: software de sistema, software de programacin y aplicacin de software. De todas maneras esta distincin es arbitraria y muchas veces un software puede caer un varias categoras.
SOFTWARE DE SISTEMA
Ayuda a funcionar al hardware y a la computadora. Incluye el sistema operativo,controladores de dispositivos, herramientas de diagnstico, servidores, sistema de ventanas, utilidades y ms. Su propsito es evitar lo ms posible los detalles complejos de la computacin, especialmente la memoria y el hardware.
SOFTWARE DE PROGRAMACIN
Provee herramientas de asistencia al programador. Incluye editores de texto, compiladores, intrprete de instrucciones, enlazadores, debuggers, etc.
SOFTWARE DE APLICACIN
Permite a los usuarios finales hacer determinadas tareas. Algunos software de aplicacin son los navegadores, editores de texto, editores grficos, antivirus, mensajeros, etc.
Software educativo, programas educativos y programas didcticos como sinnimos para designar genricamente los programas para ordenador creados con la finalidad especfica de ser utilizados como medio didctico, es decir, para facilitar los procesos de enseanza y de aprendizaje. Esta definicin engloba todos los programas que han estado elaborados con fin didctico, desde los tradicionales programas basados en los modelos conductistas de la enseanza, los programas de Enseanza Asistida por Ordenador (EAO), hasta los aun programas experimentales de Enseanza Inteligente Asistida por Ordenador (EIAO), que, utilizando tcnicas propias del campo de los Sistemas Expertos y de la Inteligencia Artificial en general, pretenden imitar la labor tutorial personalizada que realizan los profesores y presentan modelos de representacin del conocimiento en consonancia con los procesos cognitivos que desarrollan los alumnos.
No obstante segn esta definicin, ms basada en un criterio de finalidad que de funcionalidad, se excluyen del software educativo todos los programas de uso general en el mundo empresarial que tambin se utilizan en los centros educativos con funciones didcticas o instrumentales como por ejemplo: procesadores de textos, gestores de bases de datos, hojas de clculo, editores grficos... Estos programas, aunque puedan desarrollar una funcin didctica, no han estado elaborados especficamente con esta finalidad.
Son materiales elaborados con una finalidad didctica, como se desprende de la definicin. Utilizan el ordenador como soporte en el que los alumnos realizan las actividades que ellos proponen. Son interactivos, contestan inmediatamente las acciones de los estudiantes y permiten un dilogo y un intercambio de informaciones entre el ordenador y los estudiantes. Individualizan el trabajo de los estudiantes, ya que se adaptan al ritmo de trabajo cada uno y pueden adaptar sus actividades segn las actuaciones de los alumnos. Son fciles de usar. Los conocimientos informticos necesarios para utilizar la mayora de estos programas son similares a los conocimientos de electrnica necesarios para usar un vdeo, es decir, son mnimos, aunque cada programa tiene unas reglas de funcionamiento que es necesario conocer.
Con la ayuda de las tcnicas de la Inteligencia Artificial y del desarrollo de las tecnologas multimedia, se investiga la elaboracin de entornos de comunicacin cada vez ms intuitivos y capaces de proporcionar un dilogo abierto y prximo al lenguaje natural.
EL MOTOR O ALGORITMO
El algoritmo del programa, en funcin de las acciones de los usuarios, gestiona las secuencias en que se presenta la informacin de las bases de datos y las actividades que pueden realizar los alumnos. Distinguimos 4 tipos de algoritmo: Lineal, cuando la secuencia de las actividades es nica. Ramificado, cuando estn predeterminadas posibles secuencias segn las respuestas de los alumnos. Tipo entorno, cuando no hay secuencias predeterminadas para el acceso del usuario a la informacin principal y a las diferentes actividades. El estudiante elige qu ha de hacer y cundo lo ha de hacer. Este entorno puede ser: Esttico, si el usuario slo puede consultar (y en algunos casos aumentar o disminuir) la informacin que proporciona el entorno, pero no puede modificar su estructura. Dinmico, si el usuario, adems de consultar la informacin, tambin puede modificar el estado de los elementos que configuran el entorno. Programable, si a partir de una serie de elementos el usuario puede construir diversos entornos. Instrumental, si ofrece a los usuarios diversos instrumentos para realizar determinados trabajos. Tipo sistema experto, cuando el programa tiene un motor de inferencias y, mediante un dilogo bastante inteligente y libre con el alumno (sistemas dialogales), asesora al estudiante o tutoriza inteligentemente el aprendizaje. Su desarrollo est muy ligado con los avances en el campo de la Inteligencia Artificial.
PROGRAMAS TUTORIALES
Son programas que en mayor o menor medida dirigen, tutorizan, el trabajo de los alumnos. Pretenden que, a partir de unas informaciones y mediante la realizacin de ciertas actividades previstas de antemano, los estudiantes pongan en juego determinadas capacidades y aprendan o refuercen unos conocimientos y/o habilidades. Cuando se limitan a proponer ejercicios de refuerzo sin proporcionar explicaciones conceptuales previas se denominan programas tutoriales de ejercitacin, como es el caso de los programas de preguntas (drill&practice, test) y de los programas de adiestramiento psicomotor, que desarrollan la coordinacin neuromotriz en actividades relacionadas con el dibujo, la escritura y otras habilidades psicomotrices. En cualquier caso, son programas basados en los planteamientos conductistas de la enseanza que comparan las respuestas de los alumnos con los patrones que tienen como correctos, guan los aprendizajes de los estudiantes y facilitan la realizacin de prcticas ms o menos rutinarias y su evaluacin; en algunos casos una evaluacin negativa genera una nueva serie de ejercicios de repaso. A partir de la estructura de su algoritmo, se distinguen cuatro categoras: Programas lineales, que presentan al alumno una secuencia de informacin y/o ejercicios (siempre la misma o determinada aleatoriamente) con independencia de la correccin o incorreccin de sus respuestas. Herederos de la enseanza programada, transforman el ordenador en una mquina de ensear transmisora de conocimientos y adiestradora de habilidades. No obstante, su interactividad resulta pobre y el programa se hace largo de recorrer. Programas ramificados, basados inicialmente tambin en modelos conductistas, siguen recorridos pedaggicos diferentes segn el juicio que hace el ordenador sobre la correccin de las respuestas de los alumnos o segn su decisin de profundizar ms en ciertos temas. Ofrecen mayor interaccin, ms opciones, pero la organizacin de la materia suele estar menos compartimentada que en los programas lineales y exigen un esfuerzo ms grande al alumno. Pertenecen a ste grupo los programas multinivel, que estructuran los contenidos en niveles de dificultad y previenen diversos caminos, y los programas ramificados con dientes de sierra, que establecen una diferenciacin entre los conceptos y las preguntas de profundizacin, que son opcionales.
VISUAL BASIC
Visual Basic es uno de los tantos lenguajes de programacin que podemos encontrar hoy en dia. Dicho lenguaje nace del BASIC (Beginners All-purpose Symbolic Instruction Code) que fue creado en su versin original en el Dartmouth College, con el propsito de servir a aquellas personas que estaban interesadas en iniciarse en algn lenguaje de programacin. Luego de sufrir varias modificaciones, en el ao 1978 se estableci el BASIC estndar. La sencillez del lenguaje gan el desprecio de los programadores avanzados por considerarlo "un lenguaje para principiantes". Primero fue GW-BASIC, luego se transform en QuickBASIC y actualmente se lo conoce como Visual Basic y la versin ms reciente es la 6 que se incluye en el paquete Visual Studio 6 de Microsoft. Esta versin combina la sencillez del BASIC con un poderoso lenguaje de programacin Visual que juntos permiten desarrollar robustos programas de 32 bits para Windows. Esta fusin de sencillez y la esttica permiti ampliar mucho ms elmonopolio de Microsoft, ya que el lenguaje slo es compatible con Windows, un sistema operativo de la misma empresa. Visual Basic ya no es ms "un lenguaje para principiantes" sino que es una perfecta alternativa para los programadores de cualquier nivel que deseen desarrollar aplicaciones compatibles con Windows.