Programa

Programa en PDF

Carga Horaria
Teoría: 4 horas semanales
Práctica: 4 horas semanales
Cantidad de semanas: 16

- Hardware, Funcionamiento esquemático de una computadora, cpu, fpu, gpu y tpu, memoria (RAM, ROM, CMOS, cache), bios, discos rígidos y exibles, periféricos. Lógica binaria, transformaciones de cambio de base (binaria, decimal, hexadecimal y octal).

- Software, Sistemas operativos, tareas. Compiladores, software en general, Windows, UNIX, linux (GPL). Uso de UNIX, comandos básicos, práctica.

- Redes, conecciones, TCP/IP, Internet. Ejemplos de capa de aplicaciones: Correo electrónico, Paginas Web, ssh, scp.

- Fortran 77, compilación. Variables enteras, reales, complejas, doble precisión, lógicas y de caracter. Sentencias Fortran. Asignación de variables. Escritura de expresiones matemáticas y fórmulas, prioridades de las operaciones, etiquetas, comentarios, sentencias ejecutables. Funciones intrínsecas. Estructura de un programa. Arreglos: Vectores y matrices. Operaciones con variables de caracteres y lógicas.

- Sentencias de Entrada/Salida de datos, sentencia FORMAT, códigos de datos , posicionamiento y de control de carro.

- Introducción a las estructuras de control: Loops, sentencia DO, uso de subíndices, Características generales. Manejo de matrices y vectores.

- Condicionales, Sentencia IF, condicionales aritméticos, generales y modo BLOCK-IF. Sentencia DO-WHILE. Operadores lógicos, prioridades entre operadores.

- Entrada/salida de datos en fortran, sentencias READ,WRITE, OPEN, CLOSE. Format y sintaxis. Tipos de archivos: sequenciales y de acceso directo..

- Funciones, funciones externas, subrutinas. casos de estudio en el uso de subroutinas: Algoritmos de Ordenamiento, Monte Carlo, etc. Subroutinas recursivas. Sentencias COMMON, SAVE, INCLUDE. Librerías.

- Lenguajes en general, diferencias entre Fortran y otros lenguajes, Fortran 90/95. Reglas generales de asignaciones compactas, loops, condicionales y bifurcaciones, modulos y subprocesos. Casos de estudio: shell en Unix, lenguaje AWK, manejo de columnas, sentencias BEGIN, END, variables, loops. Lenguaje BC como caso de estudio de programación con precisión arbitraria.

- Introducción a lenguajes orientados a objetos, caso de estudio del lenguaje Python 3. Uso de Python en notebooks. Manejo de celdas y comandos.

- Python: objetos, atributos, funciones y clases. Arreglos, diccionarios y listas. Estructuras de control. Uso de las librerías más importantes: Numpy, Pandas, Mathplotlib, y Astropy (en el semestre correspondiente a Astronomía).

- Introducción a la ciencia del análisis de datos. Nociones introductorias de Machine Learning en clasificación y ajuste.

Bibliografía:
Programación en Fortran 77, Garcia Merayo, Felix.
Programer's guide to Fortran 90, Brainerd, Walter, Golberg Charles, Adams, Jeanne.
Data science from Scratch, Joel Grus.
Hands-On Machine Learning with Scikit-Learn and TensorFlow, Aurélien Géron.

Facultad de Ciencias Astronómicas y Geofísicas