Identifying Data 2020/21
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 Optional 3
Language
Spanish
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,
Contingency plan 1. Modificacións nos contidos
Ninguno

2. Metodoloxías
*Metodoloxías docentes que se manteñen

Todos

*Metodoloxías docentes que se modifican

No se modifica ninguna metodoloxía.

O único cambio é que a docencia pasaría a ser en formato Non Presencial, vía Teams. Este cambio é mínimo, pois ao tratarse dun master interuniversitario, os alumnos doutras universidades seguen a asignatura OnLine, nas aulas das distintas sedes.


3. Mecanismos de atención personalizada ao alumnado

Empleo del Teams y correo electrónico.

4. Modificacións na avaliación

Ninguna

*Observacións de avaliación:

No se realiza ninguna observación.

5. Modificacións da bibliografía ou webgrafía

Ninguna.

Study programme competencies
Code Study programme competences
A1 Alcanzar un conocimiento básico en un área de Ingeniería/Ciencias Aplicadas, como punto de partida para un adecuado modelado matemático, tanto en contextos bien establecidos como en entornos nuevos o poco conocidos dentro de contextos más amplios y multidisciplinares.
A2 Modelar ingredientes específicos y realizar las simplificaciones adecuadas en el modelo que faciliten su tratamiento numérico, manteniendo el grado de precisión, de acuerdo con requisitos previamente establecidos.
A3 Determinar si un modelo de un proceso está bien planteado matemáticamente y bien formulado desde el punto de vista físico.
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.
A6 Ser capaz de extraer, empleando diferentes técnicas analíticas, información tanto cualitativa como cuantitativa de los modelos.
A7 Saber modelar elementos y sistemas complejos o en campos poco establecidos, que conduzcan a problemas bien planteados/formulados.
A8 Saber adaptar, modificar e implementar herramientas de software de simulación numérica.
A9 Conocer, saber seleccionar y saber manejar las herramientas de software profesional (tanto comercial como libre) más adecuadas para la simulación de procesos en el sector industrial y empresarial.
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
B3 Ser capaz de integrar conocimientos para enfrentarse a la formulación de juicios a partir de información que, aun siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos.
B4 Saber comunicar las conclusiones, junto con los conocimientos y razones últimas que las sustentan, a públicos especializados y no especializados de un modo claro y sin ambigüedades.
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++ AC1
AC2
AC3
AC4
AC5
AC6
AC7
AC8
AC9
BJ1
BC1
Comprender los conceptos básicos POO (clases, objetos, etc), así como comprender las propiedades básicas de la POO (herencia, polimorfismo, sobrecarga, etc) AC1
AC2
AC3
AC4
AC5
AC6
AC7
AC8
AC9
BJ1
BC1
Conocer las diferencias entre la programación imperativa tradicional y la programación orientada a objetos. AC1
AC2
AC3
AC4
AC5
AC6
AC7
AC8
AC9
BJ1
BC1
Desarrollar código (implementado en C++) flexible y reutilizable apoyándonoes en la POO. AC1
AC2
AC3
AC4
AC5
AC6
AC7
AC8
AC9
BJ1
BC1
BC2
BC3
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 A1 A2 A3 A9 18 0 18
Supervised projects A1 A2 A3 A4 A5 A6 A7 A9 A8 B2 B5 B3 B1 B4 47 0 47
Guest lecture / keynote speech A1 A2 A3 A4 A9 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 intercalarán las explicaciones teóricas con las prácticas, con el objetivo de facilitar el aprendizaje.
Supervised projects Proyectos y ejercicios a realizar 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
Laboratory practice
Guest lecture / keynote speech
Supervised projects
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 A1 A2 A3 A4 A5 A6 A7 A9 A8 B2 B5 B3 B1 B4 - 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
<p>- La evaluación se realizará sólo mediante diferentes trabajos prácticos y una práctica final, todos ellos de entrega obligatoria</p><p>- Se propondrán trabajos semanalmente.</p><p>- Se propondrá una práctica final, donde se apliquen todos los conceptos de POO estudiados en la asignatura.</p><p>- Los trabajos semanales y la práctica final constituyen el 100% de la nota.</p>

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

&lt;p&gt;Es recomendable tener experiencia de programación en otros lenguajes de programación.&amp;nbsp;&lt;/p&gt;



(*)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.