Universidad de Costa Rica

IE0117 Programación Bajo Plataformas Abiertas

Créditos:
3
Departamento:
Automática
Curso:
Troncal
Tipo:
0 - Teórico
Horas:
6h: 3h T, 3h L, 0h P, 0h T/P
Requisitos:

Descripción

El curso está diseñado para enseñar a los estudiantes un conjunto de conocimientos con los que puedan abordar y resolver problemas ingenieriles, mediante el el desarrollo de programas de aplicación utilizando plataformas abiertas

Contenidos

  1. Módulo 1: Plataformas abiertas: GNU/Linux
    1. Introducción: Historia, comunidad, filosofía y distribuciones 
    2. Instalación y configuración básica de GNU/Linux como una máquina virtual y/o real usando distintas distribuciones (Debian, Ubuntu, entre otras).
    3. Herramientas: firefox, gimp, gedit, libreoffice, etc.
    4. Sistema de archivos, manejo de medios de almacenamiento y particiones.
    5. Uso del shell y otras herramientas de línea de comandos.
    6. Administración de usuarios, grupos y permisos.
    7. Manejo de procesos.
    8. Servicios.
    9. Conceptos básicos de redes de computadoras.
    10. Instalación de programas a partir de su código fuente.
    11. Documentación de código (Doxygen, L A TEX, Wiki). *Estudio individual*
    12. Control de versiones (git, svn, cvs, entre otras). *Estudio individual*
  2. Módulo 2: Programación en C
    1. Introducción al lenguaje de programación C: historia, filosofía, compilador, entre otros.
    2. Características de C: tipos de datos, estructuras de control, etc.
    3. Entorno de programación: Compiladores y herramientas para el desarrollo de aplicaciones (gcc, g++, IDEs, etc.).
    4. Automatización de proyectos: make, cmake, autotool, ...
    5. Funciones y recursión.
    6. Entrada y salida de archivos, manejo de archivos, funciones de sistema.
    7. Punteros, punteros dobles, y manejo de memoria dinámica.
    8. Structs.
  3. Módulo 4: Programación en Python
    1. Introducción al lenguaje de programación Python: historia, filosofía, intérprete, entre otros.
    2. Características de Python: tipos de datos, estructuras de control, etc.
    3. Entrada y salida, manejo de archivos, funciones de sistema.
    4. Funciones y recursión.
    5. Python como lenguaje orientado a objetos.

 

Competencias

Todas


Descargas

© 2020 Escuela de Ingeniería Eléctrica, Universidad de Costa Rica.