Identifying Data 2017/18
Subject (*) Programming in C++ Code 614855232
Study programme
Mestrado Universitario en Matemática Industrial (2013)
Descriptors Cycle Period Year Type Credits
Official Master's Degree 2nd four-month period
First Optativa 3
Language
Teaching method Face-to-face
Prerequisites
Department Matemáticas
Coordinador
Ferreiro Ferreiro, Ana María
E-mail
ana.fferreiro@udc.es
Lecturers
Ferreiro Ferreiro, Ana María
García Rodríguez, José Antonio
E-mail
ana.fferreiro@udc.es
jose.garcia.rodriguez@udc.es
Web http://sites.google.com/site/lep2cpp/
General description Los objetivos de la asignatura son dar a conocer los aspectos fundamentales de los lenguajes de programación C++, la programación orientada a objetos (POO) -- paradigma de programación dominante en el desarrollo de aplicaciones informáticas-- apoyándonos en C++ y su correspondiente aplicación en el desarrolo de aplicaciones informáticas del ámbito de la ingeniería,

Study programme competencies
Code Study programme competences
A4 Ser capaz de seleccionar un conjunto de técnicas numéricas, lenguajes y herramientas informáticas, adecuadas para resolver un modelo matemático.
A5 Ser capaz de validar e interpretar los resultados obtenidos, comparando con visualizaciones, medidas experimentales y/o requisitos funcionales del correspondiente sistema físico/de ingeniería.
A8 Saber adaptar, modificar e implementar herramientas de software de simulación numérica.
B1 Saber aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios, incluyendo la capacidad de integrarse en equipos multidisciplinares de I+D+i en el entorno empresarial.
B2 Poseer conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación, sabiendo traducir necesidades industriales en términos de proyectos de I+D+i en el campo de la Matemática Industrial
B5 Poseer las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo, y poder emprender con éxito estudios de doctorado.

Learning aims
Learning outcomes Study programme competences
Programación imperativa tradicional en C++ AC4
AC5
AC8
BJ1
BC1
BR1
Conocer las diferencias entre la programación imperativa tradicional y la programación orientada a objetos. AC4
AC5
AC8
BJ1
BC1
BR1
Comprender los conceptos básicos POO (clases, objetos, etc), así como comprender las propiedades básicas de la POO (herencia, polimorfismo, sobrecarga, etc) AC4
AC5
AC8
BJ1
BC1
BR1
Desarrollar código (implementado en C++) flexible y reutilizable apoyándonoes en la POO. AC4
AC5
AC8
BJ1
BC1
BR1

Contents
Topic Sub-topic
Tema 1: El lenguaje de programación C++ - Introducción a la programación en C++
- Tipos de datos básicos
- I/O por teclado y por fichero
- Sentencias de control
- Gestión dinámica de memoria: punteros
- Estructuras
- Funciones. Sobrecarga
Tema 2: Programación Orientada a Objetos en C++ - Introducción a la Programación Orientada a Objetos
- Clases e instancias
- Sobrecarga de operadores
- Funciones y clases friend
- Herencia
- Polimorfismo
- Templates (plantillas)
Tema 3: Standard Template Library (STL) - Introducción a la STL
- Contenedores e iteradores
- Manejo de contenedores básicos

Planning
Methodologies / tests Competencies Ordinary class hours Student’s personal work hours Total hours
Laboratory practice A4 A5 A8 B2 B5 B1 18 0 18
Supervised projects A4 A5 A8 B2 B5 B1 47 0 47
Guest lecture / keynote speech A4 A5 A8 B2 B5 B1 10 0 10
 
Personalized attention 0 0 0
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Laboratory practice Clases de prácticas tuteladas en las que los alumnos podrán en práctica mediante pequeños ejercicios los conceptos vistos en las clases teóricas.

Se intecalarán las explicaciones teóricas con las prácticas, con el objetivo de facilitar el aprendizaje.
Supervised projects Proyectos y ejercicios a realizar individualmente por el alumno para profundizar en la comprensión de la materia
Guest lecture / keynote speech En las clases teóricas se explicará la sintaxis del lenguaje de programación C++, se abordará la Programación Orientada a Objetos, así como la sintaxis para expresar los conceptos de la POO en C++

Personalized attention
Methodologies
Guest lecture / keynote speech
Supervised projects
Laboratory practice
Description
En horas de tutoría y seguimiento de los trabajos prácticos que tienen que entregar los alumnos

Assessment
Methodologies Competencies Description Qualification
Supervised projects A4 A5 A8 B2 B5 B1 - Se propondrán trabajos semanalmente.
- Se propondrá una práctica final, donde se apliquen todos los conceptos de POO estudiados en la asignatura
100
 
Assessment comments

- La evaluación se realizará sólo mediante diferentes trabajos prácticos y una práctica final, todos ellos de entrega obligatoria

- Se propondrán trabajos semanalmente.

- Se propondrá una práctica final, donde se apliquen todos los conceptos de POO estudiados en la asignatura.

- Los trabajos semanales y la práctica final constituyen el 100% de la nota.


Sources of information
Basic Harvey M. Deitel, Paul J. Deitel (2009). C++ : cómo programar (6ª ed.). Pearson Educación
Ray Lischner (2003). C++ In a Nutshell. O'Reilly Media
Bjarne Stroustrup (2001 (2007 reimp.)). El Lenguaje de programación C++. Addison-Wesley Iberoamericana
Walter Savitch (2004). Problem Solving with C++: The Object of Programming, Fifth Edition. Addison-Wesley

Complementary


Recommendations
Subjects that it is recommended to have taken before

Subjects that are recommended to be taken simultaneously

Subjects that continue the syllabus

Other comments

Es recomendable tener experiencia de programación en otros lenguajes de programación. 



(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.