Description
Nowadays one cannot think of technology or innovation without taking into account the programming world. Almost everything surrounding us, both physical and virtual elements, require a set of instructions to manage them and to allow them to "be alive". Thus, programming is indispensable and is a key concept for every engineer. In this subject, we learn the fundamentals of this world, applied in this case to any computer. The subjects’ practical work will introduce the C programming language. To do that, this subject uses a multitude of examples, which help the student to deepen in all those aspects taught in a more theoretical way.
Type Subject
Optativa
Semester
Annual
Credits
10.00

Titular Professors

Previous Knowledge

None

Objectives

The students acquire the knowledge and develop the following abilities:

1. To understand a real problem with all their conditions and their limitations.
2. To withdraw the important contents from the real problems in order to analyze them correctly and to be able to make them explicit.
3. To find out adequate and precise solutions for the real problems.
4. To choose, among all the possible solutions, the most efficient one.
5. To learn a pseudocode to improve the reflection about an imperative language.
6. To order different sentences correctly.
7. To understand how a program works without being necessary to execute it.
8. To reach the basic knowledge to carry out a structured and modulated programming.
9. To master the notions of a real imperative language (C language).
10. To design and use existent components in order to obtain more complex algorithms.
11. To know a real program environment that allows putting into practice the daily programs.
12. To work as a team in the domain of analysis, design and the software implementation.
13. To acquire continued work and study habits.

Contents

Chapter 1. Introduction
Chapter 2. Introduction to algorithms
Chapter 3. Functions and procedures
Chapter 4. Structured data types
Chapter 5. Files
Chapter 6. Pointers and Dynamic memory
Chapter 7. Modular programming and linear data structures
Chapter 8. Introduction to recursion

Methodology

The Programming classes want to promote the students’ active learning through their involvement in the learning process. From the first day, the student is an active member and learns as they develop different activities on their laptop. To solve those activities, the student must take the initiative and study and read the documentation. To achieve the learning outcomes of this subject successfully, a computer is an essential element for the student.
The subject’s classes focus on the student coding software every day. The theoretical classes merge with practical classes where the student can verify the reliability of the acquired knowledge.

Evaluation

• Continuous evaluation: It consists of a set of exercises that will be published regularly. These exercises are INDIVIDUAL. The Continuous Evaluation has a weight of 20% in the final evaluation of the semester in regular period.

• Practical work: Each semester will have an INDIVIDUAL practice divided into 3 parts, which will correspond to each of the blocks of knowledge defined for that semester. Each phase of the internship consists of the following evaluable parts:

• Execution (50%)
• Code quality (10%)
• Interview and knowledge (40%)

Unless the entire practical project executes properly, the individual parts of the practice will not be graded.

If the Interview and Knowledge part is not successfully completed, then this part will have to be taken up in the Final Evaluation Phase.

Upon the delivery of the third part, a final report for the practical project must be included, which will be weighted by 10% of the final grade of the practice (once the grade of the 3 parts has been calculated and evaluated). The final grade will be 90% for the practice and 10% for the report.

• Final Evaluation Phase: This final phase will allow the student to complete the blocks of knowledge that were not passed during the Interview and Knowledge phase. If this phase is passed, then the grade obtained will substitute 40% of the Interview and Knowledge part of the respective block of the practical work. If any part is not successful, you will have to undergo the extraordinary call and retake in July.

For the extraordinary call (July), the previous regulations are no longer applicable and any student who is evaluated in the extraordinary call of any semester, his/her grade for that semester will be:

Final Grade: 60% Practice + 40% Final Evaluation Phase

The Final Evaluation Phase during the extraordinary call (July) will always include of ALL the knowledge blocks for that semester.

It is necessary, that for both the regular and extraordinary calls, to obtain a minimum grade of 5 for the Practice and the Final Evaluation Phase (if applicable) in order for the Final Grade to be computed and consequently pass the semester.

Evaluation Criteria
Basic Bibliography
Additional Material