Estimados estudiantes:

        A lo largo de los últimos años el proyecto Pro-Software ha venido desarrollando variados esfuerzos de cooperación para fortalecer la educación en el área de informática en Costa Rica, con el objeto de contribuir al mejoramiento de la creatividad e innovación con las nuevas tecnologías de información y comunicación.

        La guía que le ofrecemos a continuación representa un acompañamiento del Curso I de Programación Basado en Objetos.

        Creemos que programación basada en objetos constituye un elemento trascendental que se manifestará en un beneficio para todos aquellos que deseen implementarlo.

Objetivos de este manual

        La guía del estudiante persigue los siguientes objetivos:

1.     Aplicar los conocimientos adquiridos del curso mediante el desarrollo de tareas programadas o proyectos concretos enfocados a la resolución de problemas informáticos basados en objetos.

2.     Ofrecer un conjunto de sugerencias e ideas sobre la programación basada en objetos para favorecer la construcción compartida del conocimiento, desarrollo de valores, habilidades y el trabajo cooperativo.

Estructura y funcionalidad con que cuenta este manual

        La guía o manual del estudiante trata de facilitar y hacer agradable la experiencia de navegar un curso a través de una metodología bimodal (Internet, CDROM, Videoconferencia y cara a cara) con la ayuda de un facilitador, y alcanzar los objetivos de aprendizaje, en aquellos aspectos importantes para el desarrollo de casos basado en programación por objetos. El manual ha sido estructurado en los módulos que presenta el curso.

        Al inicio de cada módulo se presenta el objetivo general de aprendizaje. Los módulos que componen el manual son los siguientes:

·         Módulo 1. Bases para la programación por objetos.

·         Módulo 2. Vectores-Matrices e hileras.

        Cada uno de los módulos, a su vez está conformado por diferentes apartados según la naturaleza de la fase de estudio y actividades didácticas que se proponen en el módulo. Cada módulo cuenta con los objetivos específicos y actividades que usted debe alcanzar para resolver problemas informáticos bajo una lógica basada en objetos.

        Con el propósito de que usted como usuario del manual se desenvuelva en un ambiente dinámico e interactivo, cada apartado ha sido estructurado de manera que integre la teoría y la práctica ejercitando su capacidad de resolución de problemas.

        Se incorpora en este curso un modelo de trabajo donde se va construyendo el conocimiento a la vez que se aprende a resolver problemas cada vez más complejos. El estudiante cuenta con un material interactivo donde puede ver el producto que se obtiene luego de cada una de las etapas del ciclo de desarrollo de un programa. Todo lo anterior con el fin de que el estudiante comprenda que aprender a programar no es aprender las instrucciones presentes en un lenguaje sino que es un proceso donde siguiendo una metodología de desarrollo de forma metódica y ordenada se logra un producto programado final que satisface las necesidades de un usuario.

        Se presenta el diseño de una guía para la resolución de problemas informáticos basados en un enfoque de objetos.  Para cada problema es necesario darse cuenta si el programador comprende “cual es el problema a resolver”.  Un alto porcentaje de los proyectos de desarrollo de programas fracasan porque los desarrolladores no tenían claros los requerimientos que debían satisfacer.  El primer paso para programar es entonces “comprender cual es el problema que se nos pide resolver” y ese será el punto de partida en cada momento.

        Posteriormente se hace necesario comprender el problema por lo que se procederá a analizar y descomponer el mismo en bloques y componentes más simples que interrelacionados entre sí conforman el todo.  Este proceso de descomposición se aplica también a las partes hasta obtener descripciones de procesos muy simples de resolución inmediata.  En nuestro caso utilizaremos la descomposición dando énfasis a los objetos involucrados en el problema y a las responsabilidades de cada uno de ellos (Programación por objetos).  El análisis tratará de ofrecer una visión del mundo como un todo compuesto por objetos que se interrelacionan e interactúan entre sí.  Un objeto será un actor o responsable de llevar a cabo algo y sus acciones serán las responsabilidades que el mismo tiene asociadas.  Identificar los responsables y sus responsabilidades será el producto final del proceso de análisis.

        Posteriormente el desarrollador produce una especificación de la forma en que va a ofrecer una solución.  El programador procede a generar descripciones de la forma en que cada responsabilidad de cada objeto se va a llevar a cabo.  En este punto se obtiene lo que llamaremos “diseño”.

        El “código” fuente que implementa el programa es lo que la mayoría asocia con el área de la programación, sin embargo, el ciclo de resolución de problemas es primordial.  En esta etapa es donde se proveen las instrucciones en un lenguaje específico.  Finalmente se tiene un programa que hay que verificar que cumpla con los requerimientos o que resuelva el problema específico.

        Para la etapa de pruebas se mencionan algunos casos de prueba, necesarios para validar si el programa cumple o no con lo especificado en el diseño.  Aquí se debe validar si esto conlleva a la resolución del problema originalmente planteado.

        La guía del estudiante es como un libro o texto paralelo que iniciamos y del cual usted es el autor. A través de cada módulo y las guías de ejercicios permite la creación de una metodología para la resolución de casos o problemas específicos.

        Pedagógicamente tiene sus fortalezas, pues va más allá de ser un conjunto de ejercicios tradicionales de comprobación de conocimientos, sino que constituye la posibilidad de desarrollar, implementar y evaluar un caso específico por módulo, tomando las características propias de su contexto.