jueves, 30 de mayo de 2019

Lenguajes de Programación





Lenguajes de Programación

El curso de Lenguajes de Programación contiene lo siguiente:
    • Audio-lecciones con las que se explica el contenido teórico.
    • Actividades complementarias que le harán investigar más acerca del tema, así como, poner en práctica lo estudiado en la lección. Estas actividades no forman parte de su evaluación final.
    • Textos que respaldan lo explicado en la lección.
    • Cuestionarios de evaluación, que tras ser contestados y aprobados puede continuar con la siguiente lección.
    • Examen final para evaluación global del curso.

    Objetivos:

    El alumno analizará y aplicará los principales enfoques de la programación y de los lenguajes; así como evaluará los conceptos teóricos de cada paradigma, su capacidad de elección y comprensión de los lenguajes.

    Lección 1: Lenguajes De Programación

    La teoría de lenguajes de programación (comúnmente conocida como PLT) es una rama de la informática que se encarga del diseño, implementación, análisis, caracterización y clasificación de lenguajes de programación y sus características. Es un campo multi-disciplinar, dependiendo tanto de (y en algunos casos afectando) matemáticas, ingeniería del software, lingüística, e incluso ciencias cognitivas.
    Es una rama bien reconocida de la informática, y a fecha de 2006, un área activa de investigación, con resultados publicados en un gran número de revistas dedicadas a la PLT, así como en general en publicaciones de informática e ingeniería. La mayoría de los programas de los estudiantes universitarios de informática requieren trabajar en este tema.
    Video Conferencia: Lenguajes De Programación
    Materiales de Lectura y Estudio
    Examen de la Lección

    Leccion 2: Programación Orientado A Objetos

    Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.
    Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.
    La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrolladas por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre.
    Video Conferencia: Programación Orientado A Objetos
    Materiales de Lectura y Estudio 1
    Materiales de Lectura y Estudio 2
    Materiales de Lectura y Estudio 3
    Examen de la Lección

    Leccion 3: Programación Concurrente

    Actualmente observamos que el paradigma orientado a objetos, solo podemos ejecutar un equipo a la vez como máximo en cambio con la introducción de las hebras concurrentes(programación concurrente) o procesos es posible que cada objeto se ejecute simultáneamente, esperando mensajes y respondiendo adecuadamente. Como siempre la principal razón para la investigación de la programación concurrente es que nos ofrece una manera diferente de conceptualizar la solución de un problema, una segunda razón es la de aprovechar el paralelismo del hardware subyacente para lograr una aceleración significativa.
    Para entender mejor este detalle un buen ejemplo de un programa concurrente es el navegador
    Web de modem. Un ejemplo de concurrencia en un navegador Web se produce cuando e navegador empieza a presentar una página aunque puede estar aun descargando varios archivos de gráficos o de imágenes. La página que estamos presentando es un recurso compartido que deben gestionar cooperativamente las diversas hebras involucradas en la descarga de todos los aspectos de una página. Las diversas hebras no pueden escribir todas en la pantalla simultáneamente, especialmente si la imagen o grafico descargado provoca el cambio de tamaño del espacio asignado a la visualización de la imagen, afectando así la distribución del texto.
    Video Conferencia: Programación Concurrente
    Materiales de Lectura y Estudio
    Examen de la Lección

    Leccion 4: Programación Declarativa

    Este primer tema extiende y amplia la Lógica de Primer Orden, y se divide en dos bloques:
    - La relación de igualdad o identidad juega un papel preponderante y esencial en matemáticas y en la formalización de diversas teorías algebraicas, así como en gran cantidad de aplicaciones y problemas con los que nos enfrentaremos; por ello, en este punto se va a estudiar las particularidades de añadir al formalismo visto en “Lógica de
    Primer Orden” la relación de igualdad. Se considerará a la igualdad como un nuevo símbolo de predicado con unas características determinadas de antemano (x = y):
    Lógica de Predicados con Igualdad.
    - El objeto de esta segunda parte es estudiar la aplicación de la lógica a la resolución de problemas y a la programación de ordenadores. Se utiliza como base la notación en Forma Clausal, que siendo más sencilla es igual de poderosa, y la interpretación de inferencia lógica como resolución de problemas. Empleada como un lenguaje para comunicarse con los ordenadores, la lógica representa un formalismo de nivel superior y más orientado a la persona que otros lenguajes de programación. Toda esta base teórica dio como resultado la aparición de una clase de lenguajes de programación: la Programación Lógica.
    Video Conferencia: Programación Declarativa
    Materiales de Lectura y Estudio
    Examen de la Lección

    Leccion 5: Programación Funcional

    Sus orígenes provienen del Calculo Lambda (o λ-calculo), una teoría matemática elaborada por Alonzo Church como apoyo a sus estudios sobre compatibilidad.
    Los programas escritos en un lenguaje funcional están constituidos únicamente por definiciones de funciones, entendiendo estas 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.
    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).
    Video Conferencia: Programación Funcional
    Materiales de Lectura y Estudio
    Examen de la Lección

    Evaluacion Final del curso Lenguajes de Programación

    Examen: Curso Lenguajes de Programación

No hay comentarios:

Publicar un comentario