The subject starts from the knowledge that the student has about unstructured and structured programming. It provides tools aimed at achieving efficient and quality software developments. Additionally, the subject includes the learning of modular programming and the use of development support tools associated with this type of programming. Modular programming is the natural evolution of structured programming, and the previous step to object-oriented programming.
Type Subject
Primer - Obligatoria

Titular Professors

Previous Knowledge

The objective of the subject is the achievement of knowledge oriented to obtain quality software in an efficient way.

More specifically, the learning outcomes are:
• Implement software.
• Program in a structured and modular way.
• Know how to work in a group.
• Ability to analyze a problem and design a solution.
• Know and learn how to use tools for development, implementation, testing and control that contribute to increasing the efficiency in the development and quality of the software.

These objectives give rise to face various subjects of the curriculum, such as:
• Object-oriented programming.
• Software methodology
• Advanced algorithm.
• Development in web environments.
• Development in mobile devices.

Learning Outcomes of this subject are:
RA.01 <From the Curriculum or the Module-Coordination Subject>


Below are the descriptors of contents and the blocks of which the syllabus of the subject consists.

Proposed content descriptors:

• C language.
• Structured programming.
• Modular programming.
• Abstract Types of Data (TADs).
• Data structures.
• Integrated development environment.
• Modular programming tools.
• Tools for version control.
• Debugging tools.
• Software development.

The agenda is grouped into 3 blocks, these are:

1. Modular programming
2. Tools for development.
3. Project development.

Other concepts are worked on in these blocks, such as:

1. Sorting methods
2. Sequential files
3. Shortcut files


D1 theoretical classes

Exposure of theory by the teacher so that the student reaches knowledge. The teacher can provide support material and the student takes notes and/or completes support materials. The student can intervene either to answer questions and/or to answer the questions asked by the teacher.

D2 Problem classes and exercises

It involves problem solving and/or decision making using the knowledge learned in the theory. The teacher can invite the student to participate in class to assess the acquisition and/or interpretation of the concepts presented.

D3 Practice classes

Problem solving and/or decision making using the knowledge learned in theory. Specific equipment is used, such as a computer, or other material from a laboratory or workshop.


In order to evaluate each of the competencies, 3 different evaluation systems have been specified that allow them to be assigned to each of the competences, as appropriate:

Evaluation system Percentages
E2 Exercises, problems and practices (Nepp) 75 %
E5 Oral presentation (Npo) 10 %
E6 Class participation (Nparticipacio) 10 %
E7 Portfolio (Nportafoli) 5 %

The final grade of the subject is calculated according to the expression:

NFinal = 0.75 * Nepp + 0.1 * NPO + 0.1 * Nparticipation + 0.05 * Nportafoli

In order to apply this mean, Nepp must be equal to or greater than 5. Otherwise the average is not calculated, and the subject is not approved.

The note of exercises, problems and practices consists of 2 blocks: one of practical exercises and one of project. Each of these 2 has a weighting of 50% of the mark. The marks of these 2 blocks must be equal to or greater than 5, otherwise this part (Nepp) is suspended and the subject is not approved.

Nepp = 0.5 * Nepp_bloc1 + 0.5 * Nepp_bloc2

The note of block 1 (Nepp_bloc1) is calculated as the arithmetic average of the marks obtained in each of the practical exercises, considering that they must be delivered and obtain a grade equal to or greater than 4 in each of the exercises. As for the note of block 2 (Nepp_bloc2), this is equal to the note obtained in the project.

If the note of exercises, problems and practices (Nepp) is not approved in ordinary call (final 2nd semester), then in July there is the option to present those practical exercises and / or the project to recover the note. Keep in mind that the maximum mark that can be obtained in each test is reduced (it will be indicated in the delivery wells according to the available time).

As for the evaluation of the practice in a later section, this is detailed together with all the practice regulations.

According to the Copy Regulations, the categorization of the evaluation activities of the subject is as follows:

• Practice: Highly significant.
• Exercises. Highly significant
• Presentations: Moderately significant.

This means that if a student copies in one of the exercises, he will automatically have a 0 left in the entire Nepp_bloc1 qualification that is worth 50% of the Nepp grade and, therefore, how both block 1 and Block 2 will be automatically suspended.


Next, the basic norms that must be respected regarding the development of the practice by the present academic year are exposed:

1. The practice of the subject can be developed individually or as a couple with another person enrolled in the subject.

2. Regardless of whether the practice is carried out individually or as a couple, this option must be notified to the monitors and teachers of the subject with enough time for record and a group of practices and other technical resources can be assigned, in If necessary.

3. It is essential to have a group number assigned to be able to present the practice and the checkpoints it has.

4. The practice group must be identified 3 weeks before any internship delivery. Otherwise, the presentation of the practice will not be accepted in that call for delivery.

5. If during the course there is any change or modification in the groups, the monitors and teachers of the subject must be notified so that this information is updated. Similarly, changes will not be allowed in the 3 weeks prior to a call for delivery (separations will be but not the formation of new groups).

6. The programming language used in the practices will be the C language. Any practice presented in any other language or variant will not be supported (C ++, Java, etc.).

7. For a practice to be accepted and eligible for qualification, it is necessary that 5 requirements be met:

a. It must have been delivered to the corresponding practice pit (with the indicated format) before the corresponding deadline.

b. It must be properly structured and have the corresponding internal documentation.

c. You must have a correct memory.

d. It must work properly.

e. The group presenting the practice must pass the individual interview with the practice monitors where they must demonstrate a thorough knowledge of the practice.

8. If any student does not demonstrate an in-depth knowledge of the practice, it will imply the non-acceptance of the practice for that student, having to perform it, from that moment, individually and not being able to take advantage of any resource or code of the previous practice.

9. If a copy of practices is detected, the sanctions of the school regulations will be applied in fraudulent actions classified as serious or very serious.

Evaluation Criteria
Basic Bibliography
Additional Material