martes, 29 de noviembre de 2016

Resultado Recuperación Especial

Cabrera Paulo  No Aprueba (No Aprueba Haskell/ No Aprueba Prolog )
Quispe Nelson Regulariza  (promociona Web/Regulariza  Prolog)

Resultado Recuperación 2do Parcial

Cabrera Paulo  Promociona  Python
Quispe Nelson No Aprueba (No Aprueba Web/Promociona Python)

viernes, 18 de noviembre de 2016

Resultados 2do Parcial


Cabrera Paulo  No Aprueba (Promociona Web/No Aprueba Python)
Gatica, Julieta  Promociona
Quispe Nelson No Aprueba (Regulariza Web/No Aprueba Python)


Recuperación: miércoles 23/11, 10-13 hs. Sala 7, II Bloque
Muestra de parciales y Consulta: viernes 18/11, 10 hs. aula 42, I Bloque.

miércoles, 9 de noviembre de 2016

Cronograma Final Materia

Viernes 11/11    : Consulta 2do parcial
Miércoles 15/11 : 2do Parcial. 10 hs, sala 7, II B.
Viernes 18/11    : entrega laboratorio Python.
                             Muestra Resultado parcial.
Miércoles 23/11 : Recuperación 2do Parcial

martes, 1 de noviembre de 2016

Programación en entorno web (Desarrollo Web)

Desarrollo web es un título algo arbitrario para el conjunto de tecnologías de software del lado del servidor y del cliente que involucran una combinación de procesos de base de datos con el uso de un navegador en Internet a fin de realizar determinadas tareas o mostrar información.
Los lenguajes de programación más usados en desarrollo web son principalmente:ASP.NETPHP y JSP, aunque aún hay quienes usan ASPMacromedia ColdFusion yPerl. Algunos desarrolladores web hablan muy bien de Ruby, y el framework Ruby on Rails, pero no está muy difundido todavía.
Idealmente un desarrollador web debería conocer, además de al menos un lenguaje de programación y el manejo de al menos una base de datos,HTMLCSS y JavaScript, tres tecnologías que bien trabajadas logran DHTML.
Wikipedia: Desarrollo web

lunes, 3 de octubre de 2016

Resultados 1er. Parcial

Gatica, Julieta  Regulariza (Promociona Haskell/Regulariza Prolog)
Cabrera Paulo  No Aprueba

Recuperación: viernes 7/10, 10-13 hs. Aula 42, II Bloque
Muestra de parciales y Consulta: miércoles 5/10, 10 hs. sala 7, II Bloque.

lunes, 19 de septiembre de 2016

IMPORTANTE: Fecha Parciales

Primer parcial (Paradigma de Programación Declarativa, lengs.Haskell-Prolog):
    viernes 30/9, 10 hs. Aula 42, Bloque I.
Recuperación:
    viernes 7/10, 10 hs. Aula 42, Bloque I.

Semana 19-23 de septiembre

Esta semana se terminará el practico/Laboratorio de Prolog. Para el viernes completar la lectura del apunte. Se agrega bibliografía extra sobre los temas  CORTE y NEGACION!!.

viernes, 9 de septiembre de 2016

Laboratorio Prolog

Para regularizar y/o aprobar la materia, debe presentarse un Trabajo en lenguaje Prolog (Laboratorio).

El laboratorio debe ser desarrollado de manera individual.

Laboratorio Prolog 2016: Práctico 2016
Una vez terminado el laboratorio
  • compactar (generar un zip) el folder: PIIIP2015_ApellidoyNombreAlumno 
  • enviarlo por mail a la cuenta: progUNSLCMN@gmail.com, en el tema se deberá colocar: PIIIP2016_ApellidoyNombreAlumno
La fecha límite para hacer el envío es el viernes 30/9!

Lenguaje Prolog

La forma sugerida por la Cátedra de abordar el estudio del lenguaje Prolog es la siguiente:
  • leer el apunte denominado Introducción, que describe brevemente los fundamentos matemáticos y los mecanismos  fundamentales del lenguaje Prolog.
  • Usar el Apunte Gral como guia de estudio. Profundizar cada tema con bibliografia extra.  
Se provee material bibliográfico adicional, para ampliar los temas que se desee.

Programación Lógica

La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguajes de programación; no debe confundirse con la disciplina de la lógica computacional. La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa. El resto de los subparadigmas de programación dentro de la programación declarativa son: programación funcional, programación basada en restricciones,programas DSL (de dominio específico) e híbridos. La programación lógica gira en torno al concepto de predicado, o relación entre elementos.
La programación lógica implica forzosamente al uso de hechos y relaciones para representar la información y al de deducciones para responder a consultas. Las consultas permiten conocer informaciones sobre las relaciones. Estos dos aspectos reflejan una división de labores entre los programadores y un lenguaje para la programación lógica. El programador proporciona las reglas y los hechos, mientras que el lenguaje usa la deducción para dar respuesta a consultas. Esta división de labores es usualmente representado por la ecuación: algoritmo = lógica + control
El lenguaje de programación lógica por excelencia es Prolog, que cuenta con diversas variantes. La más importante es la programación lógica con restricciones (véase artículo sobre programación con restricciones), que posibilita la resolución de ecuaciones lineales además de la demostración de hipótesis.
EcuRed: Programación lógica
Wikipedia: Programación lógica

miércoles, 31 de agosto de 2016

BONUS HASKELL !! (Opcional)

  • Para obtener puntaje extra para la nota de promoción, Ud. puede entregar el práctico de Haskell documentado.
  • generar un zip con el directorio PracHaskell2016 con el práctico de Haskell con los ejercicios resueltos y el directorio DOC con la documentación generada por Haddock y enviarlo por mail:
  • a la cuenta: progUNSLCMN@gmail.com, en el tema del mail colocar:
PIIIHPrac2016_Apellido y Nombre del alumno
  • El nombre de archivo atachado (zip) deberá ser:
                    Ing.Informatica: PIIIHPrac2016_ApellidoyNbre del alumno.zip
La fecha límite de entrega es el: 7/9/2016 (condición sine qua non)

Haskell - Haddock

Haddock es una herramienta de generación de documentación de alta calidad para lenguaje Haskell. Utiliza comentarios y tipos del código para generar documentación on-line indexada y con referencias cruzadas.
Pagina de la herramienta: Haddock Site
Manual del usuario         : Haddock On-line

Ejemplo de Uso
En el directorio donde se encuentra el modulo con el practico del lenguaje Haskell:
1) Generar el directorio DOC 
2) Bajar en su computadora personal, en el directorio que contiene el práctico, el siguiente archivo:
    PracHaskell2016.txt

3) Ejecutar la siguiente sentencia en la línea de comando del sistema operativo (Inicio/cmd en Windows, abrir terminal en Linux y OS X):

haddock PracHaskell2016.hs -o ".\Doc" -h -t "Practico Haskell 2016" -p PracHaskell2016.txt

Explicacion del comando (ver capítulo 2 del manual del usuario):

haddock PracHaskell2016.hs   -- se invoca haddock con el archivo PracHaskell2016.hs
-o ".\Doc"                   -- se configura directorio de salida (en Linux o OSX "./Doc)
-h                                    -- generar documentación en formato HTML
-t "Laboratorio Haskell 2016" -- usar este título en encabezamiento de c/pagina
-p LabHaskell.txt            --prologo que se colocará en la pagina principal en 

                                         Descripción

abrir el archivo index.html generado por Haddock en el directorio Doc para ver la documentación generada.

Laboratorio de Haskell - OBLIGATORIO

Para regularizar y/o aprobar la materia, debe presentarse un Trabajo en lenguaje Haskell (Laboratorio).
El laboratorio debe ser desarrollado de manera individual.
Laboratorio Haskell 2016: LabHaskell2016
Al descompactar el archivo se encontrara la siguiente estructura de directorios:

0_Lab2016H_PIII(Queue) 
     0_Spec se encuentra la especificación de requerimientos del laboratorio.
     1_Code con  los siguientes archivos:
          ModelTest.hs (modulo que debe invocarse desde el interprete para ejecutar el laboratorio
          y donde deben registrarse como comentarios algunas tareas del laboratorio)
          QUEUEData.hs (modulo que implementa el tipo abstracto Cola)
          LabHaskell.txt (archivo de texto para ser usado por Haddock)
     2_Doc esta vacio y se utilizara para colocar el codigo generado por Haddock

Una vez terminado el laboratorio
  •  Cambiar el nombre del directorio raiz a:  PIIIH2016_ApellidoyNombreAlumno 
  •   Enviarlo por mail a la cuenta: progUNSLCMN@gmail.com, en el tema del mail  colocar: Ing.Informatica: PIIIH2016_ApellidoyNombreAlumno
La fecha limite para enviar el laboratorio es el viernes 16/9

martes, 23 de agosto de 2016

Importante: miércoles 24 de agosto

El miércoles 24 de agosto habrá clase en sala 7, de 10 a 13hs.

martes, 9 de agosto de 2016

Lenguaje Haskell


La forma sugerida por la Cátedra de abordar el estudio del lenguaje Haskell es la siguiente:
   Seguir la Guía de estudio (la que consta de 8 puntos con sus objetivos explícitamente declarados al inicio de cada uno) y  complementar con el libro Aprende Haskell por el bien de todos. El apunte Programación Funcional de Jeroen Fokker es material de consulta opcional (si bien es antiguo, es un clásico que se obtiene en el sitio del Lenguaje).
El día miércoles 17/8 se trabajará en el Práctico, en sala de máquinas 7, 10 hs.
Leer puntos 1 a 3 de la Guía de Estudio.




Programación funcional


En ciencias de la computación, la programación funcional es un paradigma de programación declarativa basado en la utilización de funciones aritméticas que no maneja datos mutables o de estado. Enfatiza la aplicación de funciones, en contraste con el estilo de programación imperativa, que enfatiza los cambios de estado.
En la práctica, la diferencia entre una función matemática y la noción de una "función" utilizada en la programación imperativa es que las funciones imperativas pueden tener efectos secundarios, al cambiar el valor de cálculos realizados previamente. Por esta razón carecen de transparencia referencial, es decir, la misma expresión lingüística puede resultar en valores diferentes en diferentes momentos dependiendo del estado del programa siendo ejecutado. 
Los lenguajes de programación funcional, especialmente los que son puramente funcionales, han sido enfatizados en el ambiente académico principalmente y no tanto en el desarrollo de software comercial. Sin embargo, lenguajes de programación importantes tales como Scheme, Erlang, Objective Caml y Haskell, han sido utilizados en aplicaciones comerciales e industriales por muchas organizaciones.
http://en.wikipedia.org/wiki/Functional_programming

miércoles, 27 de julio de 2016

Horario de la materia/ Inicio de Actividades

El horario de la materia es:
  • miércoles, 10-13hs, sala 7, II Bloque
  • viernes, 10-13hs, aula 43, I Bloque
Primera clase será el
  • miércoles 10 de agosto, sala 7, II Bloque, 10hs.