General information


Subject type: Mandatory

Coordinator: Juan José Pons López

Trimester: First term

Credits: 4

Teaching staff: 

Enric Sesa Nogueras

Academic year: 2025

Teaching course: 1

Languages ​​of instruction


  • Catalan

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

Competencies / Learning Outcomes


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.

Presentation of the subject


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 elementary topics of programming within the imperative paradigm: variables and types, elementary operations, flow control and procedural abstraction. Theoretical aspects are worked on, in an expository manner, and their subsequent practical application, aimed at the resolution, often guided, of small problems. Class sessions combine both aspects in order to achieve a good balance between them. The assessment is based, on the one hand, on the carrying out of written tests aimed at validating the minimum achievement of theoretical-practical knowledge and its application in problem solving; and on the other hand, on the asynchronous carrying out of small practical tasks.   

The classroom (physical or virtual) is a safe space, free of sexist, racist, homophobic, transphobic and discriminatory attitudes, either towards students or teachers. We trust that together we can create a safe space where we can make mistakes and learn without having to suffer the prejudices of others.

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

Activities and 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: 

A(2, 4, 5, 6) are considered a single activity composed of several sections that have deliveries distributed during the quarter.

- 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.

- In general, TecnoCampus establishes: Any form of academic fraud will be sanctioned in accordance with the center's evaluation regulations. If signs of fraud are detected, including the improper use of generative artificial intelligence tools, the subject's teaching staff may call the student for an individual interview with the aim of verifying their authorship.Furthermore, for the particular case of this subject, it must be borne in mind that It is the student's responsibility to avoid plagiarism in all its forms. In the event of detecting plagiarism, regardless of its scope, in any assessment activity (including practicals), the current assessment regulations and disciplinary regime will be applied. In the specific case of practicals, it must be borne in mind that these are considered a single activity so that fraud in one submission (A3 and/or A4 and/or A5 and/or A6) will be considered fraud in the entire activity (PR). In addition, the teacher will communicate the situation to the school's Management so that it can take the applicable measures in terms of the sanctioning regime. 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). Providing the code that gives rise to plagiarism is also a form of plagiarism and will be treated in 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 group). Given the fundamental nature of this subject, the student is required not only to provide solutions to certain problems, but also to be able to generate them autonomously, without any type of external help. For this reason, the use of generative artificial intelligences (IAG) to solve the problems posed in the subject —whether in exercises, practices or tests— is counterproductive, is strictly prohibited and will be considered a case of fraud due to plagiarism. In this sense, the use of IAG to generate programming code is not allowed, not even in the form of fragments, even if this code is subsequently modified or personalized. the use critical of IAGs as a vehicle to resolve doubts about the subject is not considered a misuse of these mechanisms as long as this does not contradict what has been indicated before and the student does not lose sight of the fact that he may obtain incorrect answers and/or not adjusted to the contents of the subject. In the face of doubts regarding the legitimacy or not of the use of IAGs, it is necessary to contact, a priori, the teaching staff of the subject. 

 

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.

Bibliography


Complementary

Michaelis, Mark, Lippert, Eric, & Torgersen, Mads (2018). Essential C# 7.0. Boston, USA: Addison-Wesley.

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

Perkins, Benjamin, Hammer, Jacob Vibe, & Reid, Jon D. (2018). Beginning c# 7 programming with visual studio. Indianapolis, IN, USA: John Wiley and Sons.

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

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

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