Study programme competencies |
Code
|
Study programme competences
|
A3 |
Capacidade para comprender e dominar os conceptos básicos de matemática discreta, lóxica, algorítmica e complexidade computacional e a súa aplicación para a resolución de problemas propios da enxeñaría. |
A4 |
Coñecementos básicos sobre o uso e a programación dos ordenadores, sistemas operativos, bases de datos e programas informáticos con aplicación na enxeñaría. |
A5 |
Coñecemento da estrutura, organización, funcionamento e interconexión dos sistemas informáticos, os fundamentos da súa programación e a súa aplicación para a resolución de problemas propios da enxeñaría. |
A13 |
Coñecemento, deseño e utilización de forma eficiente dos tipos e estruturas de datos máis adecuados á resolución dun problema. |
B1 |
Capacidade de resolución de problemas |
B2 |
Traballo en equipo |
B3 |
Capacidade de análise e síntese |
B4 |
Capacidade para organizar e planificar |
B5 |
Habilidades de xestión da información |
B6 |
Toma de decisións |
B7 |
Preocupación pola calidade |
C3 |
Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida. |
C4 |
Desenvolverse para o exercicio dunha cidadanía aberta, culta, crítica, comprometida, democrática e solidaria, capaz de analizar a realidade, diagnosticar problemas, formular e implantar solucións baseadas no coñecemento e orientadas ao ben común. |
C6 |
Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse. |
C7 |
Asumir como profesional e cidadán a importancia da aprendizaxe ao longo da vida. |
C8 |
Valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico no avance socioeconómico e cultural da sociedade. |
Learning aims |
Learning outcomes |
Study programme competences |
Knowing and understanding the importance of the programming objectives. Knowing the general aspects of programming languages and paradigms. Knowing the pseudocode and syntax of Pascal language (ISO 10206 standard) in order to be able to describe algorithms and programs. Knowing the steps to follow for building an application and its main components. Knowing the basic data types using Pascal ISO 10206. Knowing the control structures for structured programming and the differences between them. Knowing all aspects related to the implementation of functions and procedures. |
A4 A5
|
|
|
Being able to track an algorithm (in pseudocode) or program (Pascal ISO 10206), explaining what it is generating and finding possible errors. Being able to solve small algorithms and programs. Solving small algorithms and programs starting from low- to moderate-difficulty problems: given the objectives of the program, to choose and use the best data types and structures, the control structures, to decompose and implement the functions and procedures. Using an appropriate programming style.
Learning to make good use of identifiers, appropriate comments, the establishment of preconditions and postconditions, and the good design of procedure and function interfaces. |
A3 A5 A13
|
B1 B2 B3 B4 B5 B6 B7
|
C3
|
Independent learning, planning activities to develop, capacity for abstraction, decision making, initiative and participation. |
|
|
C3 C4 C6 C7 C8
|
Contents |
Topic |
Sub-topic |
1 BASIC CONCEPTS |
1.1 Algorithms
1.1.1 Representation of algorithms
1.2 Programs (applications)
1.2.1 Types of programs
1.3 Programming languages
1.3.1 A historical overview
1.3.2 Classification of languages
1.3.3 Most important language instructions
1.3.4 Properties of languages
1.4 Code compilers
1.5 Description of languages
1.5.1 Backus–Naur Form notation
1.5.2 Conway diagrams
1.6 The structure of a program
1.7 Elements of a program
1.7.1 Predefined symbols
1.7.2 Special symbols
1.7.3 Identifiers
1.7.4 Tags
1.7.5 Comments
1.7.6 Directives
1.7.7 Constants
1.7.8 Numbers
1.7.9 Strings
1.7.10 Variables: declaration and initiation
1.8 Output and input
1.8.1 Output sentences
1.8.2 Input sentences
1.9 Data types and operators
1.9.1 Data types
1.9.1.1 Concept
1.9.1.2 Classes types
1.9.1.3 Integer type
1.9.1.4 Real type
1.9.1.5 Char type
1.9.1.6 Boolean type
1.9.1.7 User-defined type
1.9.1.8 Enumerated type
1.9.1.9 Subrange type
1.9.1.10 Compatibility of data types
1.9.2 Operators
1.9.2.1 Arithmetic
1.9.2.2 Relational
1.9.2.3 Logic
1.9.2.4 For sets
1.9.2.5 For strings
1.9.2.6 Operators precedence
1.9.2.7 Expressions |
2 Control statements |
2.1 Sequential flow
2.2 Alternative syntax
2.2.1 IF statement
2.2.2 CASE statement
2.3 Repetitive statement
2.3.1 Introduction
2.3.2 Variables associated with loops
2.3.3 WHILE loop
2.3.4 Examples to perform in class
2.3.5 FOR loop
2.3.6 REPEAT Loop
2.3.7 Equivalence between loops
2.3.8 Examples
2.3.9 Problems with loops
2.3.10 Loop design |
3 Program structure |
3.1 Procedures
3.1.1 Description
3.1.2 Types of procedures
3.1.3 Value and reference parameters
3.1.4 Protected parameters
3.1.5 Global and local variables
3.2 Functions
3.2.1 Description
3.2.2 Predefined functions
3.2.3 User-defined functions
3.3 Recursion
3.3.1 Examples |
4 Simple data structures |
4.1 Arrays
4.1.1 ARRAY data type
4.1.2 Declaring an Array
4.1.3 Arrays of more than one dimension
4.1.4 Operations with Arrays
4.1.5 Arrays as parameters
4.1.6 Array-type functions
4.1.7 Constants array type
4.2 Records
4.2.1 Record data type
4.2.2 WITH statement
4.2.3 Record operations
4.2.4 Records as parameters
4.2.5 Record type constants
4.3 Strings
4.3.1 Fixed-length strings
4.3.2 Variable-length strings
4.4 Sets
4.4.1 Operations and relationships between sets
4.4.2 Processing sets
4.5 Basic Operations on Arrays
4.6 Input / Output |
Planning |
Methodologies / tests |
Competencies |
Ordinary class hours |
Student’s personal work hours |
Total hours |
Guest lecture / keynote speech |
A3 A4 A5 A13 B5 B7 C3 C4 C6 C7 |
30 |
30 |
60 |
Seminar |
C8 |
8 |
10 |
18 |
Laboratory practice |
A4 A5 A13 B1 B2 B3 B4 B6 B7 |
20 |
50 |
70 |
|
Personalized attention |
|
2 |
0 |
2 |
|
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students. |
Methodologies |
Methodologies |
Description |
Guest lecture / keynote speech |
In the theory sessions, the teacher describes the objectives and contents of the course as a personal point of view on programming.
The teacher will present the available programming methods and tools. In the case of special issues, the students should deepen their self-learning.
The goal is that students learn to create algorithms for real problems, to use the basic data structures and to apply programming techniques for simple problems. The course programming language is represented by Extended Pascal, ISO 10206 standard.
The course slides will be available on UDC Moodle before each course lecture. |
Seminar |
- |
Laboratory practice |
In the practice sessions, students will write program pseudocodes and they will encode them with Extended Pascal ISO 10206 Standard, they will compile, run and check the codes.
The goal of the teacher is to supervise the code generated by the student, to resolve doubts, to correct bad programming styles and logical errors (Pascal errors will be detected by the compiler).
The problems will be available on the UDC Moodle before each laboratory class.
The Moodle forum will be used to respond to any related question about any aspect of the course. This way, all the students are able to have the same information in the same time. |
Personalized attention |
Methodologies
|
Guest lecture / keynote speech |
Laboratory practice |
Seminar |
|
Description |
In both the lectures and the labs sessions, there is a personalized attention of the student, based on the type of class, detecting the level of assimilation and understanding of the issues and explaining the practices required to implement.
|
|
Assessment |
Methodologies
|
Competencies |
Description
|
Qualification
|
Guest lecture / keynote speech |
A3 A4 A5 A13 B5 B7 C3 C4 C6 C7 |
Course grade = continuous assessment grade + final exam grade
Continuous assessment grade is divided into two parts:
1. First test in the middle of the course (2 points): pseudocode and code programming with each code line explained for one random exercise.
2. Second test in the last week of the course (3 points): code programming only for two random exercises.
The final exam will consist of three exercises where the student must develop code (5 points).
The July extraordinary exam will consist of three problems to develop code (5 points). This grade will be added to that one obtained in the continuous evaluation.
The evaluation in December consists into a single test with three problems (10 points). |
70 |
Laboratory practice |
A4 A5 A13 B1 B2 B3 B4 B6 B7 |
All the tests will be held on computer (programming code, writing pseudocodes, short questions). There is no Pascal code programming on paper.
The students will randomly choose the exam tasks. Any attempt to cheat during an exam will be punished with grade 0. |
30 |
Seminar |
C8 |
- |
0 |
|
Assessment comments |
La nota final vendrá dada por la nota obtenida por Evaluación Contínua y la obtenida en el examen final
El examen final constará de tres problemas a codificar.
|
Sources of information |
Basic
|
Collins, William J. (1984). An Introduction to programming and Pascal. New York : MacMillan
ISO (1990). Extended Pascasl ISO 10206. ISO
Leestma, S e Nyhoff, L.. (1999). Programación en Pascal. Madrid Prentice Hall
Carmen Bóveda, Esteban García, Alejandra Martínez (2014). Programación estructurada en un lenguaje didáctico y estándar. La Coruña , Reprografia del Noroeste
Valls, J. e Camacho, D. (2004). Programación estructurado y algoritmos en Pascal. Madrid Prentice Hall |
|
Complementary
|
Grogono, P (). Programación en Pascal. Addison-Wesley I |
|
Recommendations |
Subjects that it is recommended to have taken before |
|
Subjects that are recommended to be taken simultaneously |
|
Subjects that continue the syllabus |
|
Other comments |
The student must keep in mind that you must perform a very important self-taught work by following the flow: reading, attending, understanding, asking, studying and practicing. - Reading: Read the issue to be addressed before attending the theoretical sessions. Even if it seem strange, it is very important.
- Attending classes: Pay attention in class, do not rest, do not spend time just to take notes.
- Understanding: Understand the theory sessions and, if not, please ask.
- Asking: Ask what you do not understand. You have this right.
- Studying: to retain what you understood.
- Practicing: Program many applications, which are asked by the professor and others on their own.
Programming is a subject that cannot be learned in two days. The student must go maturing concepts, and program many applications. During these classes, the students will be continuous evaluated.
|
|