General information


Subject type: Mandatory

Coordinator: Adso Fernández Baena

Trimester: First term

Credits: 4

Teaching staff: 

Enric Sesa Nogueras

Teaching languages


Documentation mostly in English. Language used in class: Catalan. Exams and internships in English. 

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. 

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. 

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. 

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)

Test that will be performed only if the conditions (health and other) allow it to be done in person. If it is not done, its weight in the evaluation will be subsumed by the final exam. 

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. Practice of elementary concepts and FDI (evidence of the early stages of learning outcomes E6.1, E6.2 and E6.6)

A4. Practice of conditional structures (evidence of the early stages of learning outcomes E6.1, E6.2 and E6.6)

A5. Practice of iterative structures (evidence of the early stages of learning outcomes E6.1, E6.2 and E6.6)

A6. Practice procedures and tables (evidence of the early stages of learning outcomes E6.1, E6.2 and E6.6)

 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

 

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%

PR. Laboratory practices: Activities A3, A4, A5 and A6 50% (10% + 10% + 15% + 15%)

Final grade = MAX ((A1 + A2) / 2, A2) · 0.5 + PR · 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 asignatura (qualification PR) 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

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

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.

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