1 Introduction to computing and spreadsheet.
1.1. Introduction to computing.
1.2. Operating systems.
1.3. Elements of Excel.
1.4. Formulas and functions.
1.5. Macros.
1.6. Applications.

2 Development of algorithmic logic.
2.1. Methodology for solving problems.
2.2. Methodology for software design: Top down, Bottom up, modular and structured programming.
2.3. Elements and rules of algorithmic languages.
2.3.1. Flowcharts.
2.3.2. Pseudocode
2.4. Implementation of algorithms.
2.4.1. Sequential
2.4.2. Conditional statements
2.4.3. Loops
2.5. Testing and debugging.

3 Introduction to the programming of a structured language.
3.1 Introduction and structure of the environment of a programming language.
3.2 Basic structure of a program.
3.3 Types of data.
3.4 Identifiers
3.5 Storage, addressing and representation in memory.
3.6 Proposition of assignment.
3.7 Operators, operands and expressions.
3.8 Priority of operators, evaluation of expressions.
3.9 Development of programs.
3.10 Tests and debugging

4 Selective and repetitive structures.
4.1 if statement.
4.2 if else statement.
4.3 nested if statements
4.4 Switch statement (altough it does not apply in python).
4.5 While statement.
4.6 do while (it does not apply in python).
4.7 FOR statement.
4.8 Development of programs.

5 Arrangements and files.
5.1 One-dimensional arrangement.
5.2 Two-dimensional and multidimensional arrangement.
5.3 Opening, data entry / exit, and closing of files.
5.4 Preparation of programs.

6 Functions.
6.1 Introduction.
6.2 Standard functions.
6.3 Data entry and exit.
6.4 Functions defined by the user.
6.5 Pass by value.
6.6 Pass by reference.
6.7 Development of programs.


1 Introducción a la computación y hoja de cálculo.
1.1. Introducción a la computación.
1.2. Sistemas operativos.
1.3. Elementos de Excel.
1.4. Fórmulas y funciones.
1.5. Macros.
1.6. Aplicaciones.

2 Desarrollo de lógica algorítmica.
2.1. Metodología para la solución de problemas.
2.2. Metodología para el diseño de software: Top down, Bottom up, modular y programación estructurada.
2.3. Elementos y reglas de los lenguajes algorítmicos.
2.3.1. Diagramas de flujo.
2.3.2. Pseudocódigo.
2.4. Implementación de algoritmos.
2.4.1. Secuenciales.
2.4.2. Selectivos.
2.4.3. Repetitivos.
2.5. Pruebas y depuración.

3 Introducción a la programación de un lenguaje estructurado.
3.1 Introducción y estructura del entorno de un lenguaje de programación.
3.2 Estructura básica de un programa.
3.3 Tipos de datos.
3.4 Identificadores.
3.5 Almacenamiento, direccionamiento y representación en memoria.
3.6 Proposición de asignación.
3.7 Operadores, operandos y expresiones.
3.8 Prioridad de operadores, evaluación de expresiones.
3.9 Elaboración de programas.
3.10 Pruebas y depuración

4 Estructuras selectivas y de repetición.
4.1 Selectiva simple.
4.2 Selectiva doble.
4.3 Selectiva anidada.
4.4 Selectiva múltiple.
4.5 Repetir mientras.
4.6 Repetir hasta.
4.7 Repetir desde.
4.8 Elaboración de programas.

5 Arreglos y archivos.
5.1 Arreglo unidimensionales.
5.2 Arreglo bidimensionales y multidimensionales.
5.3 Apertura, entrada-salida de datos, y cierre de archivos.
5.4 Elaboración de programas.

6 Funciones.
6.1 Introducción.
6.2 Funciones estándar.
6.3 Entrada y salida de datos.
6.4 Funciones definidas por el usuario.
6.5 Pase por valor.
6.6 Pase por referencia.
6.7 Elaboración de programas.