Double Degree in International Computer Engineering and Management of Business and Technology

Programming Methodology and Technology

Description
The subject is thought for any student of first course of Engineering. It is an introduction into the world of the computer´s programs. Elementary concepts concerning the computer and the programming language are studied. All the introduction to the algorithmic is carried out by means of a pseudocode language that allows us to discern the theoretical concepts from those which are clearly practical, related with the programming languages.
Type Subject
Primer - Obligatoria
Semester
Annual
Course
1
Credits
10.00
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

1. Introduction to the computer.
2. Introduction to the pseudocode.
3. Introduction to the C language.
4. Kind of structures in pseudocodes.
5. Kind of structures in C language.
6. Procedures and functions in pseudocode.
7. Procedures and functions in C language.
8. Organization methods.
9. Files in pseudocode.
10. Files in C language.
11. Dynamic memory in pseudocode.
12. Dynamic memory in C.
13. Linear data structures.
14. Introduction to recursivity.
15. Methodology for white-box testing.

Methodology

The methodology used is between the master class and the participative method: they combine some explanations of new contents with the personal work and work in group about appropriate problems to the new acquired knowledge. Each week they also propose some exercises to be made personally outside class hours. A weekly pursuit of the proposed exercises is made trying to favor the habit of the students' work. Besides the theoretical part of the subject, there is a reinforcement based on laboratory sessions where the C language programming is put into practice. This is carried out by means of great deal of examples, which help the student to deepen in all those aspects that have been studied from the theoretical point of view. In these sessions some practices are developed in pairs and that helps to reinforce the knowledge that students have acquired in a theoretical way.

Evaluation

A. Exams
C. Works made at home
E. Informs/works made in group
F. Practical works with computer
G. Projects
I. Participation in class
J. Laboratory reports
K. Participation in the laboratory
M. Controls made in class
N. Exercises made in class

The subject consists of two big blocks: the theory and the practice. Both aspects qualify the student's knowledge. The goals mentioned above are summed up in one or another block or in both at the same time. In short, the final qualification is calculated with 75% of the theoretical part and 25% of the practice, presuming that the minimum objectives of each part have been satisfactorily achieved.

The evaluation of the theoretical part is calculated having into account the mid-term exams, the half-yearly exams and the Continuous Evaluation grades.

The practical work of the subject is evaluated mostly with the 3 practices carried out during the course. Likewise, the exercises carried out in the laboratory are valued, as well as the attitude toward the subject.

Evaluation Criteria

Objective 1: To understand a real problem with all its conditions and restrictions. [A, C, F,
G, M, N]

Objective 2: To abstract the important contents of the real problems in order to analyze them correctly and to be able to make them clear. [A, C, F, G, M, N]

Objective 3: To find correct and concrete solutions to specific problems. [A, C, F, G, M, N]

Objective 4: To choose the most efficient solutions among all the possible ones. [A, C, F, G,
M, N]

Objective 5: To learn a pseudocode to improve the reflection on an imperative language. [A, C, E, F, G, I, J, K, M, N]

Objective 6: To order sentences correctly. [A, C, F, G, M, N]

Objective 7: To know how a program works without need of executing it. [A, C, I, M, N]

Objective 8: To reach the basic knowledge to carry out a structured and modular programming. [A, C, F, G, M, N]

Objective 9: To have the knowledge of a real imperative language (C language). [A, C, E, F, G,
I, J, K, M, N]

Objective 10: To design and to use already existent components to obtain complex algorithms. [G]

Objective 11: To know a real program environment that allows putting into practice the daily programs. [F, G, K]

Objective 12: To work as a team in the domain of analysis, design and the software implementation. [F, G, K]

Objective 13: To acquire continued work and study habits. [C, F, G, M, N]