Checking date: 16/05/2024


Course: 2024/2025

Programming
(16748)
Master in Financial Sector Technologies: FinTech (Plan: 461 - Estudio: 313)
EPI


Coordinating teacher: FERNANDEZ MUÑOZ, JAVIER

Department assigned to the subject: Computer Science and Engineering Department

Type: Compulsory
ECTS Credits: 6.0 ECTS

Course:
Semester:




Requirements (Subjects that are assumed to be known)
Basic knowledge of C++ language
Objectives
The goal of this course is to introduce to the student in the concept of performance understanding its limits. From this concept, students will learn different techniques to build high performance programs using the C++ programming language as a vehicle.
Skills and learning outcomes
Description of contents: programme
1. High Performance Computing Fundamentals. 2. Programming languages and performance: link to native code 3. Memory management. 4. Polimorphism and Generic programming 5. Libraries and interoperability. 6. Code optimization. 7. Concurrent programming: threads and concurrency frameworks 8. Parallel programming and cluster programming 9. Applications performance analysis: sequential and multithread. 10. Real-Time programming
Learning activities and methodology
LEARNING ACTIVITIES AF1: Theoretical presentations accompanied by electronic material, such as digital presentations. AF2: E-learning activities. AF3: Theoretical/practical classes. AF4: Laboratory practices. AF5: Tutoring sessions. AF7: Individual work of the student. AF9: Partial and final exams. METHODOLOGY MD1: Lectures in class by the teacher with computer and audiovisual media support, in which the main concepts of the subject are developed and the bibliography is provided to complement the students' learning. MD3: Resolution of practical cases, problems, etc ... raised by the teacher individually or in a group MD4: Presentation and discussion in class, under the moderation of the teacher, of topics related to the content of the subject, as well as practical cases MD5: Preparation of works and reports individually or in groups MD6: Specific e-learning activities, related to the semi-face-to-face nature of the degree, including viewing recorded content, self-correction activities, participation in forums, and any other online teaching mechanism TUTORSHIP Students can ask for individual online tutorship.
Assessment System
  • % end-of-term-examination 60
  • % of continuous assessment (assigments, laboratory, practicals...) 40

Calendar of Continuous assessment


Basic Bibliography
  • Anthony Williams. C++ Concurrency in Action. Practical Multithreading. 2nd Edition. Manning. 2019
  • Bjarne Stroustrup. Programming - Principles and Practice. 2nd Edition. Addison-Wesley. 2014
  • Michael Voss, Rafael Asenjo, James Reinders. Pro TBB: C++ Parallel Programming with Threading Building Blocks. APress. 2019
Recursos electrónicosElectronic Resources *
Additional Bibliography
  • Bjarne Stroustrup. The C++ Programming Language. 4th Edition. Addison-Wesley. 2013
  • Bjarne Stroustrup. A Tour of C++. 2nd Edition.. Addison-Wesley. 2018
  • Gerassimos Barlas. Multicore and GPU Programming: An Integrated Approach. Morgan-Kaufmann. 2014
  • Kurt Guntheroth. Optimized C++. O'Reilly. 2016
  • Peter Gottschling. Discovering Modern C++: An intensive course for scientists, engineers and programmers. Addison-Wesley. 2015
Recursos electrónicosElectronic Resources *
(*) Access to some electronic resources may be restricted to members of the university community and require validation through Campus Global. If you try to connect from outside of the University you will need to set up a VPN


The course syllabus may change due academic events or other reasons.