<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title></title>
</head>
<body style="font-family:Arial;font-size:14px">
<p><strong>MÉTODOS MODERNOS DE PROGRAMACIÓN EN FORTRAN</strong></p>
<div> </div>
<div>Docente a cargo del curso: Dr. Pablo J. Santamaría</div>
<div>Docentes a cargo de la evaluación: Dr. Pablo J. Santamaría, Dr. Martín Mestre</div>
<div>Modalidad: Clases teóricas/prácticas.</div>
<div>Carga horaria semanal: 3 horas de teoría y 1 hora de trabajos prácticos.</div>
<div>Carga horaria total: 40 horas</div>
<div><br>
<strong style="color: rgb(34, 34, 34); background-color: rgb(255, 255, 255);">Importante:</strong><span style="color: rgb(34, 34, 34); background-color: rgb(255, 255, 255);"> Este curso incorpora créditos para la carrera de Posgrado de nuestra Facultad.</span><br>
 </div>
<div><strong>DESCRIPCIÓN DEL CURSO</strong></div>
<div> </div>
<div>Al igual que un lenguaje humano cambia en el tiempo de acuerdo a sus necesidades, los</div>
<div>lenguajes de programación adquieren nuevas características conforme la arquitectura y</div>
<div>capacidad de las computadoras evolucionan. Fortran, siendo el primer lenguaje de</div>
<div>programación de alto nivel, no está exento de ello y en el transcurso de más de sesenta</div>
<div>años desde su creación, en cada revisión del lenguaje ha ido adquiriendo tales</div>
<div>características, lo cual ha permitido que siga siendo uno de los lenguajes preferidos para la</div>
<div>computación de alto rendimiento. En este curso introduciremos tales características,</div>
<div>haciendo énfasis en una programación estructurada y modular e incorporando conceptos de</div>
<div>la programación orientada a objetos y la programación en paralelo.</div>
<div> </div>
<div><strong>PROGRAMA</strong></div>
<div> </div>
<div>Unidad 1: Fortran en el siglo XXI</div>
<div>Lenguajes de programación compilados vs. interpretados. Historia y evolución del lenguaje</div>
<div>Fortran. Compiladores. Sentencias obsoletas y refactorización. La comunidad de software</div>
<div>abierto en el siglo XXI.</div>
<div>Unidad 2: Representación de los números en la computadora.</div>
<div>Unidades de medida de la memoria. Longitud de palabra. Representación binaria de</div>
<div>complemento a 2 de enteros. Representación de números reales con el sistema de punto</div>
<div>flotante. Aritmética en el sistema de punto flotante. Norma IEEE754 de precisión simple,</div>
<div>doble y cuádruple. Precisión en Fortran. Portabilidad. Sistema de punto flotante extendido.</div>
<div>Aritmética de no detención.</div>
<div>Unidad 3: Elementos básicos del lenguaje.</div>
<div>Tipos de datos simples: lógicos, caracteres, numéricos (enteros, reales, complejos).</div>
<div>Constantes y variables, constantes con nombres. Asignaciones. Operaciones aritméticas,</div>
<div>relacionales y lógicas. Funciones intrínsecas. Programación estructurada.</div>
<div>Estructuras de control secuencial, de selección e iteración. Entrada y salida de datos.</div>
<div>Archivos.</div>
<div>Unidad 4: Arreglos.</div>
<div>Declaración de arreglos. Asignación estática y dinámica de arreglos. Segmentation fault.</div>
<div>Orden. Constructores. Manipulación de arreglos como un todo o en porciones. Funciones</div>
<div>intrínsecas para arreglos. Entrada y salida de arreglos.</div>
<div>Unidad 5: Modularización.</div>
<div>Subprogramas en Fortran. Funciones y subrutinas. Subprogramas intrínsecos, externos,</div>
<div>internos. Interfaz explícita vía módulos. Recursión. Pasando arreglos en subprogramas.</div>
<div>Funciones que devuelven arreglos. Pasando subprogramas como argumentos de otro</div>
<div>subprograma (callbacks). Interfaces abstractas. Argumentos opcionales. Creación de</div>
<div>bibliotecas de subprogramas (librerías)</div>
<div>Unidad 6: Programación con tipos de datos derivados.</div>
<div>Tipo de datos derivados. Encapsulación. Subprogramas genéricos. Redefinición de</div>
<div>operadores. Tipo de datos parametrizados.</div>
<div>Unidad 7: Programación orientada a objetos.</div>
<div>Conceptos generales de la programación orientada a objetos. Clases y métodos. Extensión</div>
<div>de clases, herencia y polimorfismo.</div>
<div>Unidad 8: Programación en paralelo.</div>
<div>Conceptos generales de la programación en paralelo. OpenMP. Message Passing con MPI.</div>
<div>Coarrays.<br>
<br>
<em>Fecha y Aulas a definir</em><br>
<br>
<em><strong>Consultas:</strong> </em><span style="color:#0000ff;"><u>pablo@fcaglp.fcaglp.unlp.edu.ar</u></span><br>
<br>
<strong style="color: rgb(34, 34, 34); background-color: rgb(255, 255, 255);"><em>Para la inscripción los interesados deberán completar el formulario adjunto y enviarlo a:</em></strong><span style="color: rgb(34, 34, 34); background-color: rgb(255, 255, 255);"> </span><span style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 255);"><u><a href="mailto:posgradofcaglp@gmail.com" style="color: rgb(17, 85, 204);" target="_blank">posgradofcaglp@gmail.com</a></u></span></div>
<div><span style='font-size: 13px; font-family: "Helvetica Neue", "Segoe UI", Helvetica, Arial, "Lucida Grande", sans-serif; background-color: rgb(255, 255, 255);'>--------------------------------------------------------------</span>
<div dir="ltr" style="color: rgb(32, 33, 36); font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: rgb(255, 255, 255);"><font color="#000000"><font face="arial, sans-serif">Geof. Mercedes Gil    </font><br>
<font face="arial, sans-serif">Secretaria de Posgrado       </font></font></div>
<div dir="ltr" style="color: rgb(32, 33, 36); font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: rgb(255, 255, 255);"> </div>
<div dir="ltr" style="color: rgb(32, 33, 36); font-family: Arial, Helvetica, sans-serif; font-size: small; background-color: rgb(255, 255, 255);"><font color="#000000" face="arial, sans-serif">Facultad de Ciencias Astronómicas y Geofísicas<br>
Universidad Nacional de La Plata</font>
<div><font color="#000000" face="arial, sans-serif"><b style="line-height: 16.5px; background-color: rgb(252, 252, 252);">Teléfono</b><span style="line-height: 16.5px; background-color: rgb(252, 252, 252);">: (0221) - 423 - 6593 int. 1050</span><br>
<a href="http://www.fcaglp.unlp.edu.ar/area-docente/posgrado/posgrado" style="margin: 0px; padding: 0px; outline: none; background-image: initial; background-position: initial; background-repeat: initial;" target="_blank">http://www.fcaglp.unlp.edu.ar/posgrados</a></font><br>
<span style='color: rgb(0, 0, 0); font-family: "Helvetica Neue", "Segoe UI", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 13px;'>--------------------------------------------------------------</span></div>
</div>
</div>
</body>
</html>