Download Del estudiante - Edumin-PDP

Document related concepts

Scheme wikipedia , lookup

Lisp wikipedia , lookup

Programación funcional wikipedia , lookup

Racket (lenguaje de programación) wikipedia , lookup

Joy (lenguaje de programación) wikipedia , lookup

Transcript
Guía
Del estudiante
Modalidad a distancia
Modulo: PARADIGMAS DE
PROGRAMACION
DATOS DE IDENTIFICACION
TUTOR
HECTOR MAURICIO LEAL PARGA
Teléfono
000-000-0000
E-mail
[email protected]
Lugar
CERES – SABANA DE OCCIDENTE –
Corporación Universitaria Minuto de Dios
1
BIENVENIDA
La Corporación Universitaria Minuto de Dios. UNIMINUTO –Educación a Distancia le da
la bienvenida al Modulo Paradigmas de Programación. Esperamos que una vez terminado
éste adquiera los conocimientos fundamentales de gestión de contenidos de
programación para que pueda continuar con el desarrollo del pregrado de forma exitosa,
con la profundización que como profesional deberá alcanzar.
Recuerde que la metodología a distancia implica un manejo
las exigencias propias del nivel de formación y de las
profesional, por ello su rol como estudiante cobrará mayor
Aspectos fundamentales para la concepción formal de
dedicación y compromiso.
de sus tiempos acorde con
estrategias propias de un
relevancia y protagonismo.
una disciplina basada en
Le auspiciamos los mejores deseos por alcanzar los objetivos planteados y el éxito en su
formación profesional.
2
INTRODUCCION
En el desarrollo del modulo a través de guías se podrá encontrar conceptos básicos de
los Paradigmas de la Programación, así como una introducción a lenguajes de
programación como Lenguaje C, Lenguaje Scheme, Lenguaje Java y Prolog.
Las definiciones son tomadas principalmente de documentos y lecturas extraídas de de
Internet,
También debemos indicar que los libros donde se basa esta este modulo son: Lenguajes
de programación, y Fundamentos de programación. Estos libros han sido recomendados
por IDEA, por lo tanto hay conceptos es extraída de estos libros.
El impacto local, nacional e internacional que se pretende desarrollar en los estudiantes
con el modulo Paradigmas de la programación (PDP), es que identifique las característica
fundamentales de los lenguajes de programación y los paradigmas y que además
comprenda, comenten y diferencien segmentos de código escrito en uno u otro lenguaje.
3
UNIDAD DE TRABAJO No.3
Programación funcional (PDP)
Preguntas Generadoras
1.
2.
3.
4.
5.
¿Qué significa la notación prefija en programación Funcional?
¿Cómo se realiza el control de un programa a través de recursión?
¿Se utiliza la instrucción de asignación en un programa Funcional?
¿En qué consiste el lenguaje Scheme?
¿Qué tipo de aplicaciones se desarrollan con el paradigma de
programación Funcional?
INDICADORES

Comprender las principales
programación Funcional.
características
del
paradigma
de
TEMAS A DESARROLLAR EN LA UNIDAD
•
•
•
•
•
•
•
•
•
Características del paradigma Funcional
Imperativo Vs Funcional
Lenguaje Scheme
Tipos de datos
Sintaxis
Definición de procedimientos
Estructuras de control
Procedimientos recursivos
Listas
4
MARCO TEORICO DE FORMACION

Características del paradigma Funcional
Los programas escritos en un lenguaje funcional están constituidos únicamente por
definiciones de funciones, entendiendo éstas no como subprogramas clásicos de un lenguaje
imperativo, sino como funciones puramente matemáticas, en las que se verifican ciertas
propiedades como la transparencia referencial (el significado de una expresión depende
únicamente del significado de sus subexpresiones), y por tanto, la carencia total de efectos
laterales.
Otras características propias de estos lenguajes son la no existencia de asignaciones de
variables y la falta de construcciones estructuradas como la secuencia o la iteración (lo que
obliga en la práctica a que todas las repeticiones de instrucciones se lleven a cabo por medio
de funciones recursivas).
Existen dos grandes categorías de lenguajes funcionales: los funcionales puros y los híbridos.
La diferencia entre ambos estriba en que los lenguajes funcionales híbridos son menos
dogmáticos que los puros, al admitir conceptos tomados de los lenguajes procedimentales,
como las secuencias de instrucciones o la asignación de variables.
En contraste, los lenguajes funcionales puros tienen una mayor potencia expresiva,
conservando a la vez su transparencia referencial, algo que no se cumple siempre con un
lenguaje funcional híbrido.
Entre los lenguajes funcionales puros, cabe destacar a Haskell y Miranda. Los lenguajes
funcionales híbridos más conocidos son Lisp, Scheme, Ocaml y Standard ML (estos dos
últimos, descendientes del lenguaje ML).
La programación funcional, es un modelo basado en la evaluación de funciones matemáticas,
entendidas como mecanismos para aplicar ciertas operaciones sobre algunos valores o
argumentos, para obtener un resultado o valor de la función para tales argumentos.
Sin embargo, tanto argumentos como resultado de una función, pueden ser otra función, o
incluso la misma, tal como una forma de recursividad, que constituye una poderosa
herramienta de la programación funcional

Imperativo Vs Funcional
Las características de la programación funcional se pueden ver más claramente cuando
se contrastan con aquel otro modelo de programación con el que estamos más
familiarizado; la programación imperativa.
Un programa funcional
5
dice lo que se quiere (el qué); un programa imperativo dice lo que hay que hacer (el
cómo). Por ejemplo, un programa funcional dice: “devuelve una lista constituida por a y el
cuadrado del primer elemento de x”:
>(defun funcional (x)
(list „a (expt (car x) 2)))
Mientras que un programa imperativo dice: “extrae el primer elemento de x, elévalo al
cuadrado y entonces devuelve una lista constituida por a y el cuadrado obtenido
anteriormente”:
>(defun imperativo (x)
(let (y cuad)
(setq y (car x))
(setq cuad (expt y 2))
(list „a cuad)))
Una de las tantas ventajas de Lisp es que resulta posible escribir programas de las dos
maneras. El modo imperativo es el que corresponde a los lenguajes como C, Pascal,
Basic, .... Una de las razones de ser de este modo de programación es la cercanía del
código resultante a como realmente lo ejecutará al final la máquina. Pero, si un
compilador es capaz de hacer la transformación de funcional a imperativo ¿porqué han de
programar de modo imperativo los programadores, cuando resulta más natural el modo
funcional?.
El problema surge al plantearse el Lisp (u otro lenguaje funcional) como un segundo
lenguaje de programación cuando los primeros lenguajes y dialectos aprendidos han sido
imperativos. Afortunadamente hay un truco para simplificar el paso.

Lenguaje Scheme
Scheme es un lenguaje de programación. Es un lenguaje funcional (si bien impuro, ya
que, por ejemplo, sus estructuras de datos no son inmutables) y un dialecto de Lisp. Fue
desarrollado por Guy L. Steele y Gerald Jay Sussman en la década de los setenta e
introducido en el mundo académico a través de una serie de artículos conocidos como los
Lambda Papers de Sussman y Steele.
6
La filosofía de Scheme es decididamente minimalista. Su objetivo no es acumular un gran
número de funcionalidades, sino evitar las debilidades y restricciones que hacen
necesaria su adición. Así, Scheme proporciona el mínimo número posible de nociones
primitivas, construyendo todo lo demás a partir de un reducido número de abstracciones.
Por ejemplo, el mecanismo principal para el control de flujo son las llamadas recursivas
finales.
Scheme fue el primer dialecto de Lisp que usó ámbito estático o léxico (en lugar de
dinámico) de forma exclusiva. También fue uno de los primeros lenguajes de
programación con continuaciones explícitas. Scheme ofrece también gestión automática
de memoria (recolección de basura).
Las listas son la estructura de datos básica del lenguaje, que también ofrece arrays entre
sus tipos predefinidos. Debido a su especificación minimalista, no hay sintaxis explícita
para crear registros o estructuras, o para programación orientada a objetos, pero muchas
implementaciones ofrecen dichas funcionalidades.
Scheme se llamaba originalmente "Schemer", siguiendo la tradición de los lenguajes
Planner y Conniver. Su nombre actual es debido a que sus autores usaban el sistema
operativo ITS, que limitaba la longitud de los nombres de fichero a 6 caracteres.
Ventajas de Scheme
Scheme, como todos los dialectos de Lisp, tiene una sintaxis muy reducida, comparado
con muchos otros lenguajes. No necesita reglas de precedencia, ya que, en esencia,
carece de operadores: usa notación prefija para todas las llamadas a función.
Las macros de Scheme permiten adaptarlo a cualquier dominio. Pueden ser usadas, por
ejemplo, para añadir soporte a la programación orientada a objetos. Scheme proporciona
un sistema de macros higiénico que, aunque no tan potente como el de Common Lisp, es
mucho más seguro y, con frecuencia, sencillo de utilizar. La ventaja de un sistema de
macros de este tipo (que también se encuentra en otros lenguajes, como Dylan) es que
evita automáticamente colisiones entre los nombres usados en la definición de la macro y
en el contexto en que ésta se expande. En contrapartida, las macros higiénicas no
pueden introducir nuevos símbolos.
Scheme facilita la programación funcional. La programación funcional pura no precisa de
variables globales ni sufre de efectos secundarios, y es, por tanto, automáticamente
segura en presencia de procesos concurrentes (thread-safe), amén de facilitar
considerablemente la verificación de programas, al menos en comparación con el estilo
imperativo.
En Scheme, los procedimientos son objetos de primera clase. Ello permite la definición de
funciones de orden superior, que facilitan un mayor grado de abstracción en los
programas. También es posible la creación de procedimientos anónimos.
El estándar de Scheme es también minimalista. Ello conlleva ventajas e inconvenientes.
Por ejemplo, escribir un compilador o intérprete de Scheme que sea fiel al estándar es
7
más fácil que implementar uno de Common Lisp; empotrar Lisp en dispositivos con poca
memoria será también más factible si usamos Scheme en lugar de Common Lisp. A los
aficionados a Scheme les divierte mucho señalar que su estándar, con sólo 50 páginas,
¡es más corto que el índice del libro de Guy Steele Common Lisp: The Language
Desventajas de Scheme
El estándar de Scheme es realmente minimalista y específico en sí. Ello provoca que
existan multitud de implementaciones diferentes, cada una de las cuales introduce
extensiones y bibliotecas propias que las hace incompatibles entre sí. Los Scheme
Requests for Implementation (SRFI) tratan de poner remedio a este problema.
Hay quien ve el hecho de que los procedimientos y variables compartan el mismo espacio
de nombres como una desventaja, ya que algunas funciones tienen nombres que son de
uso común para variables. Por ejemplo, list es el nombre de un procedimiento, así que es
muy habitual ver lst o lyst como nombres de variables, en lugar del obvio "list".
Como hemos dicho, el espacio de nombres es único (en la jerga técnica, Scheme es lo
que se conoce como un LISP-1) y, por tanto, también incluye a las macros. Ello hace
imposible distinguir el uso de una macro del de una función, así que, si no consultamos la
definición de cada uno de los objetos usados, no será en general posible determinar el
orden de evaluación en programas con los que no estemos familiarizados.

Tipos de datos
Los tipos de datos en Scheme son los enteros, racionales, reales, complejos, símbolos,
cadenas, y puertos, listas asociativas, tablas hash, vectores, arrays y estructuras.
La mayoría de implementaciones proporciona lo que se conoce como una torre numérica
completa, así como aritmética exacta e inexacta.
Los valores booleanos se representan mediante los símbolos #t y #f. En realidad,
cualquier valor distinto de #f (incluyendo la lista vacía) se interpreta como 'verdadero' en
un contexto adecuado, mientras que en otros dialectos de Lisp la lista vacía es
interpretada como el valor booleano falso.
Los símbolos pueden ser definidos de varias maneras, siendo
'symbol
(string->symbol "symbol")
las más comunes.
8

Sintaxis
o
o
o
o

Palabras claves
Variables
Datos contantes (Números, caracteres, string, vectores, listas y símbolos
citados).
Formas estructuradas.
Definición de procedimientos
En Scheme existe un mecanismo llamado continuaciones (continuations) que consiste
básicamente en la representación de una computación futura. Cada vez que se evalúa
una expresión en Scheme hay una continuación esperando el resultado de la misma. La
mayor parte del tiempo una continuación incluye acciones especificadas mediante código
proporcionado por el usuario (por ejemplo, imprimir un resultado o pasarlo como
argumento a otro procedimiento), y sus maquinaciones suelen ser desconocidas y
carentes de interés para el programador. Sin embargo, en algunas ocasiones se requiere
lidiar explícitamente con las continuaciones, por lo que Scheme proporciona un poderoso
procedimiento llamado call-with-current-continuation, el cual crea un procedimiento que
actúa tal y como la continuación actual, a fin de permitir al programador redefinirla. Las
continuaciones pueden usarse como procedimientos de escape, similares a exit, return o
goto de los lenguajes tradicionales, pero con la peculiaridad de que en Scheme este
mecanismo es tratado como un ciudadano de primera clase, lo que permite almacenar
una continuación en una variable o una estructura de datos, además de poder llamarlas
tantas veces como se desee y de poder retornarlas y pasarlas como argumento a un
procedimiento, como cualquier otro objeto en Scheme. Una breve reseña histórica de las
continuaciones puede encontrarse en la referencia [15], partiendo de la invención del
operador J por Peter Landin en 1965 y la definición de la forma especial catch descrita por
Sussman y Steele en su definición de Scheme en 1975 emulando el constructor inventado
por Reynolds en 1972 que resultó ser igualmente poderoso que el de Landin, pero mucho
más simple. Varios implementadores de Scheme notaron que un procedimiento podría
emular todo el poder del constructor catch, por lo que decidieron incorporarlo en la
definición del lenguaje en 1982, marcando así el nacimiento de call-with-currentontinuation. Varias personas prefieren utilizar la abreviación call/cc, pese a que el nombre
original resulta más descriptivo, aunque tal vez más difícil de recordar.
El uso más simple de las continuaciones es para implementar salidas no locales en el
caso de detectarse condiciones de error. Por ejemplo, el siguiente procedimiento muestra
una aplicación en la que un procedimiento que calcula la suma de los recíprocos de una
lista de
9
números regresa un mensaje de error cuando se detecta un cero en la lista dada,
deteniendo las operaciones aritméticas y anticipándose al sistema de detección de errores
del intérprete:
(define division
(lambda (numeros)
(call/cc
(lambda (termina)
(let ciclo ((numeros numeros))
(if (null? numeros) 0
(if (zero? (car numeros))
(termina "División entre cero")
(+ (/ 1 (car numeros)) (ciclo (cdr numeros))))))))))
Las principales aplicaciones de las continuaciones son: simulación de eventos,
búsquedade retroceso (backtracking).

Estructuras de control
El otro elemento comúm a todos los lenguajes de programación (aparte de la abstracción
y de las primitivas) es la posibilidad de componer expresiones sencillas en
expresionescompuestas.
Hemos visto que una de las características de Scheme es la composición de funciones.
Scheme también define estructuras de control que nos permiten seleccionar qué parte de
una expresión evaluamos en función del resultado de la evaluación de otras.
Las estructuras más importantes de Scheme son el if y el cond para realizar una
evaluación
condicional.
10
El nombre que reciben en Scheme todas las expresiones que no son procedimientos y
que tienen una evaluación especial es forma especial. Ejemplos de formas especiales
son:
define, if, cond.
Atención, aviso
- La expresión (+ (* 2 3) 4) se evalúa de una forma distinta de (define a 3). En el primer
caso estamos evaluando llamadas a funciones, y en el segundo evaluamos una forma
especial.
4.6.1. Forma especial 'if'
La forma especial if realiza una evaluación condicional de las expresiones que la siguen,
según el resultado de una condición.
(define x 3)
(if (> x 5)
'mayor-que-cinco
'menor-o-igual-que-cinco)
(define (vocal? x)
(member? x 'aeiou))
(define (plural pal)

Procedimientos recursivos
Todas las implementaciones del lenguaje deben usar recursión de cola (tail recursión):
Existen dos formas básicas de implementar recursión en un lenguaje de programación:
1) Recursión lineal: Se dice que la definición de una función f es recursiva lineal si una
activación f(a) de f puede iniciar cuando mucho una nueva activación de f. Consideremos
la siguiente función para calcular factoriales que emplea recursión lineal:
(define fact ; versión que usa recursión lineal
(lambda (n)
(if (zero? n)
1
11
(* n (fact (- n 1))))))
Una activación de fact pasando como argumento n, regresa 1 si n es cero; de lo contrario,
inicia una nueva activación de fact usando como argumento n - 1. De tal forma, cada
activación de fact puede iniciar cuando mucho una nueva activación de fact.
La evaluación de una función recursiva lineal tiene dos fases:
1. Una fase en la cual se inician nuevas activaciones, y 2. Una fase subsecuente en la
cual se retorna el control desde las activaciones en una
forma LIFO (Last In First Out, o sea la última en entrar es la primera en salir).
2) Recursión de cola: Se dice que una función f usa recursión de cola si regresa un valor
sin necesidad de recursión, o si simplemente retorna el resultado de una activación
recursiva.
Consideremos la siguiente definición de nuestra función para calcular factoriales que hace
uso de la recursión de cola:
(define fact ; versión que usa recursión de cola
(lambda (n)
(letrec ((fact-it
(lambda (val acc)
(if (zero? val)
acc
(fact-it (- val 1) (* acc val))))))
(fact-it n 1))))
Todo el trabajo de una función como ésta, en que se hace uso de la recursión de cola, se
efectúa en una única fase de iniciación de activaciones. La segunda etapa mencionada
anteriormente se vuelve trivial porque el valor calculado mediante la activación final se
vuelve el resultado de toda
la activación. De tal forma, el mecanismo de iteración puede implementarse muy
eficientemente
haciendo uso de este tipo de recursión9, en vez de recurrir a los tradicionales ciclos de los
lenguajes procedurales tradicionales.
12

Listas
Uno de los elementos fundamentales de Scheme, y de Lisp, son las listas. Vamos a ver
cómo definir, crear, recorrer y concatenar listas.
(list 1 2 3 4) ; list crea una lista
'(1 2 3 4) ; otra forma de definir la misma lista
(car '(1 2 3 4)) ; primer elemento de la lista
(cdr '(1 2 3 4)) ; resto de la lista
'() ; lista vacía
(cdr '(1)) ; devuelve la lista vacía
(null? (cdr '(1))) ; comprueba si una lista es vacía
(append '(1) '(2 3 4) '(5 6)) ; construye una lista nueva concatenando ; los argumentos
Atención, aviso Uno de los conceptos más importantes relacionados con las listas es el de
lista vacía.
La comprobación de si una lista es vacía con la función null? es el caso base de gran
parte de funciones recursivas que recorren listas.
Taller N3-Programación funcional – NT3
13
CALENDARIO DEL MODULO
(Se define por semanas y Núcleos temáticos según Matriz de Acuerdos
pedagógicos )
UNIDAD DE
APRENDIZAJE
ACTIVIDADES DE APRENDIZAJE
SEMANA
Inducción y
Acuerdos
Se entrega Matriz temática al estudiante fotocopiada
para realizar acuerdos pedagógico del Modulo PDP
NT1. Introducción a
los paradigmas de
programación
Documentos - Wiki-

1
2




NT2. Programación
Imperactiva o
procedural
Documentos - Wiki-





NT3. Programación
Funcional
Documentos - Wiki-
NT4. Programación
orientada a objetos
Documentos - Wiki-

TALLERES – Preguntas Generadoras (Situaciones –
Problemas) Aprendizaje – Significativo – Portafolio.
TALLERES Ejercicios- Portafolio
PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio
PRODUCTOS – FINALES - Practicas pedagógicas
productiva - (Temáticas y Portafolio).
Seguimiento de: Temáticas y Portafolio – Según –
Criterios.
TALLERES – Preguntas Generadoras (Situaciones –
Problemas) Aprendizaje – Significativo – Portafolio.
TALLERES Ejercicios- Portafolio
PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio
PRODUCTOS – FINALES - Practicas pedagógicas
productiva - (Temáticas y Portafolio).
Seguimiento de: Temáticas y Portafolio – Según –
Criterios.
TALLERES – Preguntas Generadoras (Situaciones –
Problemas) Aprendizaje – Significativo – Portafolio.

TALLERES Ejercicios- Portafolio

PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio

PRODUCTOS – FINALES - Practicas pedagógicas
productiva - (Temáticas y Portafolio).

Seguimiento de: Temáticas y Portafolio – Según –
Criterios.

TALLERES – Preguntas Generadoras (Situaciones –
Problemas) Aprendizaje – Significativo – Portafolio.

TALLERES Ejercicios- Portafolio

PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio

PRODUCTOS – FINALES - Practicas pedagógicas
productiva - (Temáticas y Portafolio).
3
4
5
14

Seguimiento de: Temáticas y Portafolio – Según –
Criterios.

TALLERES – Preguntas Generadoras (Situaciones –
Problemas) Aprendizaje – Significativo – Portafolio.

TALLERES Ejercicios- Portafolio

PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio

PRODUCTOS – FINALES - Practicas pedagógicas
productiva - (Temáticas y Portafolio).

Seguimiento de: Temáticas y Portafolio – Según –
Criterios.
Convocatoria No 1.
Sustentación –
Productos Finales.

Presentación y Sustentación de Portafolio
Convocatoria No 2.
Entrega de Notas
Entrega de carpetas


Retroalimentación y entrega de Nota Final
Entrega de carpeta a Coordinación.
NT5. Programación
Lógica.
Documentos - Wiki-
6
7
8
15
METODOLOGIA
En la educación a distancia en CERES – Sabana de Occidente del Modulo Paradigmas de la
Programación, es importante que el estudiante de Ingeniería de Sistemas asuma una
estricta responsabilidad con sus procesos, condición que lo lleva a adquirir autoesigencia
con su aprendizaje. El estudiante debe considerar la capacidad para organizar el tiempo de
su estudio por sí mismo (autodisciplina), para poder cumplir con TALLERES – Preguntas
Generadoras (Situaciones – Problemas) Aprendizaje – Significativo – y Portafolio.
TALLERES Ejercicios- y Portafolio, PRUEBA – DIRECTA - (Evaluación Escrita)-, Portafolio y
PRODUCTOS – FINALES - Practicas pedagógicas productiva - (Temáticas y Portafolio), y
Seguimiento de: Temáticas y Portafolio – Según – Criterios.
Usted ingeniero cuenta con varios recursos a su disposición los cuales le ayudaran a
alcanzar la competencia al final de este modulo. Ellos son:
 Texto de Estudio.
 Guía de Estudio.
 El espacio tutorial.
 Material Interactivo (Wiki implementada por el tutor – Mauricio Leal Parga para el
trabajo colaborativo con los estudiantes de PDP).
Bibliografía




ALONSO AMO, F y SEGOVIA PEREZ, F. Entornos y Metodologías de Programación.
Paraninfo.
GHEZZI, Carlo y JAZAYERI, Mehdi. Conceptos de Lenguajes de Programación. Díaz de los
Santos.
RAVI y SETHI. Lenguajes de programación - Conceptos y constructores. Addison Wesley.
Coello Coello, Carlos A. “Scheme Lo pequeño es bello (Primera Parte)”, Soluciones
Avanzadas. Tecnologías de Información y Estrategias de Negocios. Año 4, No. 39, 15 de
noviembre de 1996, pp. 27- 34.
16
Web grafía
Scheme - http://es.wikipedia.org/wiki/Scheme
Lecturas complementarias.
 www.monografias.com - Paradigma Funcional.
 Scheme - http://es.wikipedia.org/wiki/Scheme.

Scheme: lo pequeño es bello1 - Un lenguaje de programación ideal
para la enseñanza.
Wiki
Espacio creado por el Tutor Mauricio Leal Parga – donde se publican periódicamente –
documentos y lecturas, Talleres, Preguntas Generadoras, Guías. Del Modulo Teoría
general de sistemas. Es de anotar que la información aquí publicada se puede
descargar.
EVALUACION









TALLERES – Preguntas Generadoras (Situaciones – Problemas)
Aprendizaje – Significativo – Portafolio.
TALLERES Ejercicios- Portafolio
PRUEBA – DIRECTA - (Evaluación Escrita)- Portafolio
PRODUCTOS – FINALES - Practicas pedagógicas productiva - (Temáticas y
Portafolio).
Seguimiento de: Temáticas y Portafolio – Según – Criterios.
Presentación y sustentación de talleres de PDP.
Presentación y Sustentación de Preguntas Generadoras
Presentación y Sustentación de Portafolio
LABORATORIOS - (Trabajo – Práctico) - Portafolio
17
POLITICAS
A continuación se presentan los siguientes enunciados que se deben cumplir para dar
orden al proceso de aprendizaje, que orientan a cada estudiante para que cada
participante presente sus actividades para poder alcanzar las competencias necesarias
para la aprobación del modulo. Estas políticas dan una estructura al trabajo de todos.
Tutor y estudiante.











Documentos – E-Mail o la Wiki (El estudiante debe consultar periódicamente su
correo electrónico o la Wiki donde se le envían documentos y lecturas, talleres,
preguntas generadoras, guías de cada Núcleo Temático – NT).
El estudiante debe resolver las Preguntas Generadoras de cada Núcleo, como
política de cumplimiento de la metodología de la educación a distancia del
proyecto CERES.
Los talleres serán enviados al E-Mail de cada estudiante semanalmente, para
resolverlos por dada Núcleo Temático.
Se realizara LABORATORIO - (Trabajo – Práctico) –
Se realizaran Pruebas escritas, finalizando cada sesión de tutorías según Núcleos
Temáticos.
El estudiante debe exponer libremente sus ideas, mediante momentos de
discusión, reflexión donde se promueva el desarrollo autónomo, con un aporte de
índole social en la ampliación de su profesión.
El estudiante debe presentar Memorias de temática expuesta.
El estudiante debe presentar temáticas y portafolios según acuerdo.
El estudiante debe presentar y sustentar talleres realizados en PDP.
El estudiante debe presentar y sustentar el desarrollo de preguntas generadoras.
El estudiante debe presentar y sustentar el Portafolio del modulo –PDP-
Rol del Tutor:
El propósito fundamental como tutor es el de dar un servicio a los estudiantes, facilitando
su proceso de aprendizaje y el logro de sus competencias. La supervisión que hago se
18
enfocará tanto a los procesos, como a los productos de aprendizaje que evidencien
desarrollo de habilidades que conlleven a alcanzar la competencia, para ello asumo entre
otros los compromisos de:








Atender directamente a los estudiantes a él asignados utilizando diversos medios:
encuentro tutorial, e-mail, Wiki, sistemas de mensajería y laboratorios prácticos.
Asistir al lugar de tutoría asignado, en la hora y el día indicados previamente para tal
fin.
Respetar el calendario académico y cada una de las actividades propuestas en el.
Guiar, facilitar, asesorar y orientar al estudiante en su proceso de aprendizaje.
Suscitar la reflexión e indagar a los estudiantes sobre su proceso de aprendizaje.
Evaluar las actividades teniendo en cuenta los criterios de evaluación socializados al
estudiante al plantearse la actividad.
Retroalimentar las actividades y sus evidencias de competencia en las fechas
acordadas.
Las dudas académicas serán atendidas directamente por el Tutor, o por E-mail y
medios como foros en aulas virtuales y Wiki.
Rol del estudiante
Los estudiantes son participantes, honestos y comprometidos que como tales, son los
principales responsables de iniciar, dirigir y sostener sus propios procesos de aprendizaje.
Cada estudiante se compromete a propiciar las condiciones que estén a su alcance para
maximizar las oportunidades de aprendizaje de acuerdo a su contexto y posibilidades. De
igual forma se asume que nuestros estudiantes no incurrirán en actos deshonestos y de
plagio intelectual de ideas en las diversas formas de interacción, actividades terminales e
intermedias. Se espera que los estudiantes participen activamente en cada una de las
actividades descritas en la guía de estudio, para ello es necesario tener en cuenta que:

El estudiante es el protagonista del proceso de aprendizaje, que lo lleva a ser más
activo y propositivo, por consiguiente a desarrollar el auto – estudio.
19



Debe estar preparado para participar activamente de las actividades de aprendizaje,
habiendo leído los contenidos de su texto de estudio y materiales adicionales
relacionados en la guía de estudio, documentos y lecturas complementarias.
Debe realizar las actividades planteadas en la guía de estudio, entregando las
evidencias de manera acorde a lo planteado en los criterios de evaluación, dentro de
los tiempos establecidos en el calendario y bajo las instrucciones descritas en cada
actividad.
En las evidencias escritas, deberá saber citar las fuentes, es decir usar debidamente la
bibliografía a fin de evitar el plagio.
Guía Elaborada por el Tutor
HECTOR MAURICIO LEAL PARGA
Uso exclusivo de estudiantes - II Semestre de Ingeniería de Sistemas
Universidad Minuto de Dios
CERES SABANA DE OCCIDENTE
MODULO: PARADIGMAS DE PROGRAMACIÓN
Se prohíbe la publicación o reproducción total o parcial de esta Guía.
20