General information


Subject type: Mandatory

Coordinator: Adso Fernández Baena

Trimester: First term

Credits: 4

Teaching staff: 

Enric Sesa Nogueras

Skills


Specific skills
  • E6. Develop video games in high-level programming languages ​​in graphics engines based on specifications.

General competencies
  • G5. Develop the learning skills needed to undertake further studies with a high degree of autonomy.

Transversal competences
  • T1. Communicate in a third language, preferably English, with an appropriate level of oral and written communication and in accordance with the needs of graduates.

Description


First subject in the field of programming. It is the basis of all programming subjects that fall into the same subject to which it belongs (Development). Starting from scratch, it presents the most basic topics of programming within the imperative paradigm: variables and types, elementary operations, flow control and procedural abstraction. The theoretical aspects are worked on, in an expository way, and their subsequent practical application, aimed at solving, often guided, small problems. Class sessions combine both aspects in order to achieve a good balance between them. The subject is evaluated from the realization, asynchronous, of small practical works similar to those worked in the synchronous sessions and of written tests eminently oriented to the resolution of problems.

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 Codid-19. In this way, the achievement of the same knowledge and skills that are specified in this teaching plan will be ensured. 

Learning outcomes


At the end of the course students must be able to:

  • E6.1. Design the software architecture of a video game according to some specifications
  • E6.2. Interpret the software analysis for further development
  • E6.6. Develop 2D and 3D video games (or parts of them) in a high-level language on platforms and engines designed for this purpose. 

 

Working methodology


The subject uses these two methodologies: the master class and problem solving. 

This course, due to the situation generated by the Covid-19, the subject will be taught in hybrid teaching mode in theory hours, and in face-to-face teaching mode in practice hours.

Contents


Subject 1. Basic concepts of the imperative programming

1.1 Variables, types and assignment

1.2 Evaluation of expressions

1.3 Reading and writing

1.4 Forms of execution and control structures: sequential, conditional / alternative and iterative

1.5 Basic iterative schemes: route and search

 

Item 2. Functional decomposition and top-down design. Procedural abstraction.

2.1 Decomposition of problems into subproblems

2.2 Functions and procedures. Invocation

2.3 Parameterization

 

Topic 3. Tables

3.1 One-dimensional tables

3.2 Multidimensional tables

3.2 Iterative schemes applied to tables

Learning activities


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. Mid-term exam (evidence of early stages of E6.1 and E6.6 learning outcomes)

A2. Final exam quarter (evidence of early stages of E6.1 and E6.6 learning outcomes)

The results of these two tests will be the primary basis for determining the final grade of the subject. They will focus on the contents presented until the moment of their realization, strongly focused on the initial stage of the general competence to which this subject contributes, looking for evidence of the achievement of the learning result previously specified: "Codify programs in a high - level imperative programming language to solve simple problems ". As far as possible, each test will consist of two parts, one performed on paper and another performed with the help of a software development tool (integrated development environment).

A3. Practices 1, 2, 3 and 4 (evidence of the early stages of learning outcomes E6.1, E6.2 and E6.6)

These four practices will be related to the topics that are part of the contents of the subject. These internships will be carried out mostly outside the classroom (during the student's personal working time), individually or in small groups.


General criteria of the activities

- The teacher will present a statement for each statement and the evaluation and / or rubric criteria

- The teacher will inform of the dates and the format of delivery of the activity

- One-on-one activities presuppose the student's commitment to carry them out individually and without any collaboration with other people. All activities in which the student does not comply with this commitment to individuality will be considered suspended (grade 0), regardless of their role (sender or receiver) and without this excluding the possible application of other sanctions in accordance. with the current Disciplinary Regime.

- Likewise, the activities to be carried out in groups presuppose the commitment on the part of the students who make it up to carry them out within the group and without any kind of collaboration with other groups or people who are alien (group individuality). All activities in which the group has not respected this commitment regardless of its role (sender or receiver) and without this excluding the possible application of other sanctions in accordance with the current Disciplinary Regime will be considered suspended (rating 0).

- In the particular case of the practices, when in some of them the commitment of individuality is not respected and / or fraudulent means are used in its accomplishment, the qualification of practices (Pr) will be, for all the members of the group, of 0 points (Pr = 0) regardless of the qualification of the other practices and without this excluding the possible application of other sanctions in accordance with the current Disciplinary Regime.

- Any undelivered activity will be considered scored with zero points.

- It is optional for teachers to accept or not deliveries outside the deadlines indicated. In the event that these late deliveries are accepted, it is up to the teacher to decide whether to apply a penalty and the amount thereof.

Evaluation system


The grade of each student will be calculated following the following percentages:

A1. Partial exam: Mid-term exam 25% 

A2. Final exam: Final exam quarter 25%

A3. Laboratory practices: Practices 1, 2, 3 and 4 50% (5% + 15% + 15% + 15%)

Final Note = MAX ((A1 + A2) / 2, A2) · 0.5 + A3 · 0.5

Considerations: 

- MAX ((A1 + A2) / 2, A2)> = 5 is required to pass the subject. If this grade does not reach 5 then she herself will be the final grade. 

- An activity not delivered or delivered late and without justification (court summons or medical matter) counts as a 0.

- To have a final grade other than "not presented" you must have taken the A1 exam or the A2 exam or have justified (court summons or medical matter) the absence in both tests.

- It is the student's responsibility to prevent plagiarism in all its forms. In the case of detecting a plagiarism, regardless of its scope, in any activity, it will correspond to have a note of 0. In addition, the professor will communicate to the Head of Studies the situation so that it takes applicable measures in the matter of regime. sanctioning. In the context of this subject, plagiarism also means using and / or adapting code that has not been developed entirely individually (or within the group in the case of group activities). Facilitating the code that leads to plagiarism is also a form of plagiarism and will be treated the same way. In summary, we can say that the evaluation activities must be solved in a strictly non-collaborative way (in the case of group activities, collaboration cannot transcend the heart of the group). 

Recovery

- The part of practices of the subject (qualification A3) is NOT recoverable.

- The theory part of the subject (MAX grade ((A1 + A2) / 2, A2)) is recoverable. The recovery will take place on the date and place set by the School Studies Department. For students attending the resit exam their A2 grade will be the one obtained in this test and their final grade will be calculated using the formulas detailed above. The final grades in the range [5, 7.5) will be rounded to 5. The final grades in the range [7.5, 10] will be rounded to 7.

- Only those students who have obtained a grade other than "not presented" in the ordinary assessment will be able to take the resit exam.

REFERENCES


Basic

Solis, D., & Schrotenboer, C. (2018). Illustrated C # 7: The C # Language Presented Clearly, Concisely, and Visually. Berkeley, CA, USA: Apress.

Perkins, B., Hammer, JV, & Reid, JD (2018). Beginning c # 7 programming with visual studio. Indianapolis, IN, USA: John Wiley and Sons.

Michaelis, M., Lippert, E., & Torgersen, M. (2018). Essential C # 7.0. Boston, USA: Addison-Wesley.

Nakov, S. (2013). Fundamentals of computer programming with C #: The Bulgarian C # programming book. Sofia, Bulgaria: Svetlin Nakov &. Co.

https://www.introprogramming.info/wp-content/uploads/2013/07/Books/CSharpEn/Fundamentals-of-Computer-Programming-with-CSharp-Nakov-eBook-v2013.pdf

Complementary

Sesa and Nogueras. Fundamentals of Programming: class notes and exercises. Internal publication of the TCM. It will be made available to students through the eCampus platform