Programa
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.
