Curso de Posgrado: Programación en C++ para Ciencia e Ingeniería

Novedades

[New] NEWS:

  • [2011-08-24 09:54:16] El horario del curso cambió a Jueves de 0900 a 1300hs, comenzando el jueves 1/9. Siempre en el aula 40.


Objetivo

El objetivo del curso es proveer conocimientos básicos de programación en general y del lenguaje C++ en particular. Dichos conocimientos son requisitos para otros cursos del doctorado tales como Cálculo Paralelo, Computación de Alto Rendimiento en Mecánica Computacional, Elementos Finitos, Métodos Numéricos en Fenómenos de Transporte, Métodos Iterativos para Grandes Sistemas de Ecuaciones.

Programa Analítico

  • Elementos básicos: La clase iostream. Namespaces. "Hello world!". Corriendo el compilador. Strings. Leer y escribir de archivos. La clase vector.

  • El C en C++: Creando funciones. La librería C. Creando librerías. Control de ejecución (if, do, while, break, switch). Recursión. Operadores. Precedencia. Auto incremento y decremento. Tipos de datos. Scoping.

  • Variables locales y globales. Creación de tipos de datos compuestos: struct, enum, union, arreglos. Punteros a funciones.

  • Abstracción de datos: Ejemplo simple de librería en C. Objetos. Archivos de cabecera. Problema de la declaración múltiple. Directivas de preprocesamiento. Estructuras anidadas.

  • Encapsulando la implementación: Acceso a las estructuras (public/private). Friends.

  • Inicialización y limpieza: Garantizando la inicialización con el constructor. Garantizando la limpieza con el destructor. Constructores por defecto.

  • Sobrecarga de funciones y argumentos por defecto Constantes: const versus macros. Punteros. Asignación y chequeo de tipo. Argumentos de funciones y valores de retorno. Const en clases.

  • Funciones inline: Errores comunes en el uso del preprocesador. Control de nombres: Elementos estáticos en C. Namespaces. Miembros estáticos en C++.

  • Referencias y el constructor por copia: Punteros en C++. Referencias en C++. El constructor por copia. Punteros a miembros de una clase.

  • Sobrecarga de operadores: Sintaxis. Operadores que se pueden sobrecargar.

  • Creación dinámica de objetos: Creación de objetos, los operadores, new, delete, new[], delete[]. Agotamiento de la memoria. Sobrecargando new y delete.

  • Composición y herencia: Sintaxis. Lista de inicialización. Combinando composición y herencia. Orden de llamadas a constructores y destructores. Herencia múltiple.

  • Polimorfismo y funciones virtuales

  • Introducción a templates: Contenedores

  • La librería estándar de C++: strings, templates, algoritmos genéricos, contenedores genéricos.

Docentes

  • Docente responsable: Dr. Lisandro Dalcín Investigador Asistente CONICET. Áreas de Especialización: Mecánica Computacional; Mecánica de Fluidos; Cálculo Paralelo

  • Dr. Mario Storti Investigador Principal CONICET, Profesor Asociado UNL. Áreas de Especialización: Mecánica Computacional; Mecánica de Fluidos; Cálculo Paralelo

  • Dr. Rodrigo Paz Investigador Adjunto en CONICET, Profesor Adjunto. Áreas de Especialización: Mecánica Computacional; Mecánica de Fluidos; Cálculo Paralelo

Horarios

  • Comienza: Jueves 1/9
  • Horario: Jueves 0900-1300hs
  • Lugar: Aula 40, edificio INTEC 1, en el Parque Tecnológico (Cómo llegar?)

Bibliografía

  • The C++ Programming Language, Bjarne Stroustrup, Addison-Wesley Professional; 3 edition ISBN: 978-0201889543 (ver en Amazon)

Topic attachments
I Attachment Action Size Date Who Comment
pdfpdf slides.pdf manage 747.3 K 2011-11-10 - 17:24 MarioStorti Transparencias del curso
Topic revision: r14 - 2011-11-10 - 17:24:36 - MarioStorti
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback