Fecha de inicio: 30 de Septiembre de 2024
Docente: Mario Marcelo Berón
Duración: 40 hs – Divididos en 4 semanas
- Cantidad de horas por semana: 10.
- Distribución de las horas:
- Teoría: 2hs sincrónica.
- Consulta: asíncrona por la plataforma (1hs aprox).
- Práctica: asíncronas (7hs aproximadamente de dedicación).
Fundamentación: Python es uno de los lenguajes más utilizados en la actualidad esto se debe a que es fácil de aprender, simple de usar y muy expresivo. Python trae incorporado muchas funcionalidades que ayudan al programador a desarrollar aplicaciones de forma rápida y concisa. Además es un lenguaje para el cual se han desarrollado innumerables librerías que permiten no solo desarrollar aplicaciones comerciales sino también científicas. Python es un lenguaje multiplataforma y multiparadigma lo que permite que: i) un mismo programa pueda ejecutarse en Windows o sistemas tipo Unix como Linux y Mac OS y ii) utilizar diferentes paradigmas de programación para construir aplicaciones. En este curso se dará a conocer el soporte orientado a objetos y el soporte funcional del lenguaje de programación Python. Conocer los soportes de los paradigmas antes mencionados permite que el programador pueda desarrollar aplicaciones con mayor facilidad porque le permite adaptar el estilo de programación (imperativo, orientado a objetos, funcional o multiparadigma) de acuerdo a las características del problema. Entender cómo programar orientado a objetos y funcional amplía el bagaje de conocimientos del programador lo que posibilita tener una visión amplia de la programación. Esto permite, con la práctica correspondiente, la utilización apropiada de los paradigmas de programación en diferentes contextos, lo que lleva a proveer soluciones apropiadas, eficientes y claras a los problemas de programación que surgen en la academia y el mercado laboral.
Contribución esperada
Los participantes adquirirán los conceptos básicos de Programación Orientada a Objetos y Funcional y su uso con el lenguaje de programación Python.
Perfil del participante:
Público en general con conocimientos básicos de programación imperativa con Python que desee introducirse en el uso del soporte orientado a objetos y funcional de Python para desarrollar aplicaciones.
Objetivos
Objetivo General
Desarrollar aplicaciones sencillas utilizando el soporte orientado a objetos y funcional del lenguaje de programación Python.
Objetivos Específicos
- Conocer los principales conceptos de la programación orientada a objetos y funcional.
- Entender los elementos básicos del lenguaje del Soporte Orientado a Objetos de Python.
- Comprender los elementos básicos del lenguaje del Soporte Funcional de Python.
- Aplicar los conceptos de Programación Orientada a Objetos y Funcional utilizando el lenguaje de programación Python.
Contenido
- Unidad I: Paradigmas de Programación Orientado a Objetos
Paradigma de Programación Orientada Objetos. Génesis. Vía de la Simulación. Vía de la Ingeniería de Software. Cambios en la Organización de Programas. Calidad de las Aplicaciones: Factores Internos, Factores Externos. Objetos. Clases. Mensajes.
Métodos. Jerarquía de Clases. Encapsulamiento. Características de los Lenguajes Orientados a Objetos.
- Unidad II: Soporte Orientado a Objetos de Python
Conceptos y Terminología Básica de Programación Orientada a Objetos. Clases: Atributos y Métodos. Herencia y Polimorfismo. Objetos: Creación y Manipulación. Creación de Tipos Definidos por el Programador. Creación de Colecciones Personalizadas.
- Unidad III: Paradigma de Programación Funcional
Conceptos y Terminología Básica del Paradigma de Programación Funcional. Utilidad. Características. Funciones de first-class. Recursividad. Funciones de Orden Superior. Funciones Puras. Evaluación Perezosa.
- Unidad III: Soporte Funcional de Python. Paradigma Funcional. Conceptos y Terminología Funcional. Recursividad. Comprensión de Listas. Comprensión de Conjunto. Comprensión de Diccionarios. Expresión y Funciones Generadoras. Funciones lambda. Funciones de Orden Superior. Mapeos. Filtros. Reducciones. Funciones: all(), any(), max(), min(), and sum(), etc.
Modalidad Pedagógica: Las clases son virtuales a través del campus de SADIO incluyendo una clase teórica y una consulta semanal asincrónica. El material bibliográfico del curso, las presentaciones y los enunciados de los trabajos prácticos se colocarán a disposición de los asistentes en el campus virtual de SADIO.
Días y Horarios:
Días: Miércoles 02/10/24, 09/10/24, 16/10/24 y 23/10/24.
Hora: 16hs a 18hs
Las clases sincrónicas quedarán grabadas en el campus para su consulta durante el curso.
Las clases grabadas no podrán descargarse, sólo estarán disponibles en la plataforma.
Evaluación de los aprendizajes
- Certificado de Asistencia: Los asistentes deberán registrar un 80% de asistencia a las clases sincrónicas o visualizar las clases grabadas en caso de no poder asistir.
- Certificado de Aprobación: Los asistentes deberán cumplir con las condiciones para obtener el certificado de asistencia y presentar un práctico final integrador.
Formulario de inscripción: https://tinyurl.com/4r6k7f4y
Aranceles
Inscripción temprana (hasta el 16 de septiembre de 2024)
* AR$ 47.000.- (para nacionales)
* USD 57.- (para extranjeros)
Inscripción tardía (desde el 17 de septiembre de 2024)
* AR$ 51.700.- (para nacionales)
* USD 63.- (para extranjeros)
50% Descuento para socios de SADIO (con 12 meses de antigüedad)
Los socios de AADECA gozan de los mismos derechos que los socios de SADIO
Medios de pago disponibles:
– Pago por Transferencias Bancarias (solo para residentes en Argentina) a:
SADIO (CUIT 30-64931218-0)
BBVA – Sucursal 330 Tribunales
Cta. Cte. Pesos: 502/7
CBU: 0170330420000000050276
Alias: SOCIEDAD.SADIO
– Pago con Tarjeta de crédito/débito (Visa, Master o Cabal). Solicitar el botón de pago correspondiente a informacion@sadio.org.ar
Es posible pagar en cuotas con interés. Consulte.
– PAYPAL (para extranjeros). Solicite el link de pago.
¡Cupos limitados! Reserva tu vacante con el pago de tu inscripción
Antecedentes de la docente:
El Dr. Mario Marcelo Berón es docente del Área de Programación y Metodologías de
Desarrollo de Software del Departamento de Informática de la Universidad Nacional de San
Luis. Obtuvo su Doctorado en Ciencias de la Computación en la Universidad Nacional de
San Luis y tiene un reconocimiento del mismo grado en la Universidade do Minho, Braga,
Portugal. Además es Magister en Ingeniería de Software, título obtenido en la Universidad
Nacional de San Luis. El Dr. Berón es docente de pregrado, grado y posgrado.
A nivel
pregrado dicta cursos de programación en la Tecnicatura Universitaria en Redes de
Computadoras, Tecnicatura Universitaria en Web de la UNSL. A nivel grado enseña
programación en las carreras Ingeniería en Informática e Ingeniería en Computación en la
UNSL.
A nivel posgrado es responsable de cursos referentes a sus líneas de investigación
en la Especialización en Ingeniería de Software, Maestría en Ingeniería de Software,
Maestría en Calidad de Software y Doctorado en Ingeniería en Informática en la UNSL.
También dicta cursos de posgrado de sus temas de investigación en otras universidades.
El Dr. Berón es integrante del proyecto de investigación de Ingeniería de Software de la
Universidad Nacional de San Luis, sus áreas de interés están relacionadas con Lenguajes
de Programación, Lenguajes Específicos del Dominio, Ingeniería Reversa y Protección de
Software.
En el marco de sus investigaciones el Dr. Berón realiza publicaciones en
diferentes congresos y revistas nacionales e internacionales.