What are you looking for?
The materials can be provided in Catalan as well as in Spanish or English.
G1. Demonstrate having and understanding advanced knowledge of their area of study that includes the theoretical, practical and methodological aspects, with a level of depth that reaches the forefront of knowledge.
G2. Solve complex problems in their field of work, by applying their knowledge, developing arguments and procedures, and using creative and innovative ideas.
G5. Develop the learning skills needed to undertake further studies with a high degree of autonomy.
The subject is designed for profiles of technology-oriented students (developer profile) who want to delve into the programming of games and the most advanced languages. The student will learn to program with the C ++ language and through this, will understand the concepts of memory management and other characteristics of object-oriented programming. With this, the student will deepen and consolidate the concepts of programming seen throughout the degree. Projects will be created directly on Visual Studio without any other engine or intermediate engine, thus giving a view of the code and its organization at a lower level.
The sessions will be mainly theoretical where the concepts will be presented with practical examples. In order to achieve the knowledge of the subject, several practical exercises will be evaluated on the one hand during the course, together with an individual final practice and a theoretical exam.
The subject is contextualized within the branch of video game development. It is related to the subjects of game development, game engines, programming with interpreted languages and advanced graphic programming (optional).
This subject has methodological and digital resources to make possible its continuity in non-contact mode in the case of being necessary for reasons related to the Covid-19. In this way, the achievement of the same knowledge and skills that are specified in this teaching plan will be ensured.
The Tecnocampus will make available to teachers and students the digital tools needed to carry out the course, as well as guides and recommendations that facilitate adaptation to the non-contact mode.
At the end of the course, the student must be able to:
The subject uses the following work methodologies:
Topic 1. Computer Architecture
1.1. Turing machine
1.2. Architecture Von Newmann
1.3. X86 assembler
Topic 2. Introduction to C ++
2.1. Historical introduction
2.2. Low vs high level
2.3. Structure of a project
2.4.Microsoft Visual Studio
Item 3. Basics of C ++
3.1 Variables
3.2. Functions
3.3. Pointers
3.4. Arrays
3.5. Memory management
3.6. Keywords
3.7. Strings
Subject 4. Orientation to Objects
4.1. Classes
4.2. Inheritance
4.3. Namespaces, scopes and validity
Topic 5. Advanced C ++
5.1. Smart Pointers
5.2. Pointers to functions
5.3 Lambdas
5.4. castings
Subject 6. Projects in C ++
6.1. Precompiled headers
6.2. Data structures
6.3. Files
Item 7. Good Practices
7.1. SOLID Principles
Item 8. Practice
With the aim of collecting evidence of the achievement of the expected learning outcomes, the following activities of an evaluative nature will be carried out (related to all the common competences):
A1. Exercise in class: Turing machine (Evidence of learning outcome E.6.1)
Realization of a program with punched cards using the logic of the Turing machine.
A2. Exercises at home: Human Resource Machine (Evidence of learning outcome E.6.2)
Solving several specific problems in the game Human Resouce Machine with the logic of assembly language.
A3. Exercises at home: Perfect Numbers (Evidence of learning outcome E.6.1)
Realization of a first simple program in C ++.
A4. Exercises at home: Pascal Triangle (Evidence of learning outcome E.6.1)
Realization of a second program in C ++ extending the knowledge to use.
A5. Exercises at home: Raining Letters (Evidence of learning outcome E.6)
Realization of a first simple game in C ++.
A6. Exercises at home: Snake (Evidence of learning outcome E.6)
Realization of a second more complex game in C ++.
A7. Final Practice (Evidence of learning outcome E.6 and E.15)
Completion of a complete game in C ++.
A8. Final Exam (Evidence of learning outcome E.6.1)
General criteria of the activities:
The grade of each student will be calculated following the following percentages:
A1. Exercise in class: Turing machine - 5%
A2. Exercise at home: Human Resource Machine - 5%
A3. Exercises at Home: Perfect Numbers - 2.5%
A4. Exercises at home: Pascal Triangle - 2.5%
A5. Individual Work: Raining Letters - 10%
A6. Individual Work: Snake - 10%
A7. Final Practice - 35%
A8. Final Exam - 30%
Final grade = A1 0,05 + A2 0,05 + A3 0,025 + A4 0,025 + A5 0,10 + A6 0,10 + A7 0,35 + A8 0,30
Considerations:
Recovery: