En este curso se darán las herramientas básicas de manejo del lenguaje de programación que mas a sido usado por el mundo de la ciencias de la computación, además de una enseñanza acerca del manejo de los principales paquetes que han sido desarrollados para dicho lenguaje por la comunidad libre a nivel mundial.
Curso de Programación científica en C:
Horario: Sábados 8-12 am
Aula: Sala de cómputo del bloque 5
Fecha de inicio: Febrero 26 de 2011
Fecha de finalización: Junio 11 de 2011
Contacto:
Requisitos: Programación básica
Costo: 200.000
Mínimo de inscripciones: 9
Máximo: 20
Telefonos:219-5660/5661
Programa:
Linux
Instalación
Instalación y configuración de paquetes
Bash (uso basico de la linea de comandos)
Comandos básicos
variables de ambiente
llamado al compilador
Introducción al lenguaje C
Origenes de C
C como lenguaje de nivel medio
C como Lenguaje estructurado
Compiladores frente a intérpretes
La forma de un programa en C
Repaso de Términos
Variables, constantes, operadores y expresiones
Nombres de identificadores
Tipos de datos
Declaración de variables
Variables locales
Especificadores de clase de almacenamiento
sentencias de asignación
Constantes
Operadores
Expresiones
Sentencias de control de programa
Los valores true y false
Las sentencias de c
Sentencias condicionales
if
switch
else
bucles
for
while
do while
break
continue
goto y etiquetas
Funciones
La sentencia return
Reglas de ámbito
Los argumentos de las funciones
Funciones que devuelven valores
Recursividad
Arrays
Arrays unidimencionales
Arrays bidimensionales
Arrays multidimencionales
Arrays y Punteros
Arrays asignados dinamicamente
Inicialización de arrays
Punteros
Variables Puntero
Los operadores de punteros
Expresiones de punteros
Funciones de asignación dinámica en c
Punteros y arrays
Punteros a Punteros
Inicialización de punteros
Punteros a funciones
Problemas con punteros
Estructuras y variables definidas por el usuario
Estructuras
Arrays de estructuras
Paso de estructuras a funciones
Punteros a estructuras
enumeraciones
operadores typedef y sizeof
Entrada y salida de archivos en disco
E/S por consola
E/S por console con formato
El sistema de archivos con buffer
El sistema de archivos sin buffer
El preprocesador de C
# define
# error
# include
Directivas de compilacion
# undef
# line
# pragma
Macronombres predefinidos
Compilación y enlazado
El proceso de compilación
Creación de librerías estáticas y dinamicas
El enlazador
Makefiles
Librerías básicas de c
stdio.h
stdlib.h
math.h
Gnu Scientific Library
Compilación e instalación
Compilación y enlazado de nuestros programas con gsl
Estructura de un programa en gsl
Funciones matemáticas básicas
Entendiendo los errores lanzados
Vectores y Matrices
Generación de números aleatorios
Derivación
Integración
Interpolación
Planeación semanal del curso (16 semanas, 4 horas de clase por semana)
Semana 1: Introducción a Linux
Semana 2: Bash
Semana 3: Introducción al lenguaje C
Semana 4: Variables, constantes, operadores y expresiones
Semana 5: Sentencias de control de programa
Semana 6: Funciones
Semana 7: Arrays
Semana 8: Punteros
Semana 9: Estructuras y variables definidas por el usuario
Semana 10: Entrada y salida de archivos en disco
Semana 11: El preprocesador de C
Semana 12: Compilación y enlazado
Semana 13: Librerías básicas de c
Semana 14: Gnu Scientific Library
Semana 15: Clase para ejercicios
Semana 16: Semana Flexible
Justificación:
Ayudar a las personas del ambito de programación cientifica a aprender bien c como lenguaje cientifico.
Promover el uso y desarrollo de software libre, como un camino al desarrollo cinetífico y computacional.
Formar estudiantes en los conceptos y métodos básicos de la programación científica.
Formar estudiantes con conocimientos científicos en programación de nivel intermedio con sistemas linux.
Objetivos:
Al finalizar el curso los estudiantes deben estar en capacidad de
Adquirir algún sistema operativo basado en Linux.
Instalar algún sistema operativo basado en Linux.
Hacer mantenimiento de algún sistema operativo basado en Linux.
Manejar las aplicaciones o software básico de Ubuntu.
Conocer los comandos básicos del uso de la consola.
Explicar los conceptos y metodologías básicas de la programación científica
Manejar los compiladores de la Gnu (Gcc) para Compilar e instalar software escrito en C
Escribir Makefiles para la automatización de compilación
Saber administrar librerías y paquetes C
Escribir código en C para procesamiento numérico
Conocer las ventajas de C con respecto a otros lenguajes de programación científicos.
Metodología:
El curso se desarrollará através de la clase magistral, las demostraciones en vivo y talleres acompañados por el profesor, esto aprovechando que se desarrollará en una sala de cómputo de la facultad. Al ser un curso presencial y de programación, requiere alrededor de 4 o 6 horas adicionales a las presenciales dedicadas a lectura de documentos, desarrollo de tutoriales, estudio de los temas vistos y elaboración de tareas.