1. Definición del problema
2. Análisis del problema
3. Selección de la mejor alternativa
4. Diagramación
5. Prueba de escritorio
6. Codificación
7. Transcripción
8. Compilación
9. Pruebas de computador
10. Documentación externa
| Sumamos a ambos miembros - c; T1:: asociamos y obtenemos la ecuación equivalente | ax 2 + bx + c = 0 ax 2 + bx + (c + (-c)) = - c ax 2 + bx = - c |
ENCUADRAMIENTO DEL MODULO DENTRO DEL CICLO.
Nivel Del Ciclo | Formación Profesional De Grado Superior |
Denominación Del Ciclo | Administración de Sistemas Informáticos |
Denominación Del Modulo Profesional | Fundamentos de Programación |
Unidad De Competencia | Proponer y coordinar cambios para mejorar la explotación del sistema y las aplicaciones |
Bloque 0. Introducción Al Módulo.
Conviene añadir una unidad didáctica para situar al alumno dentro del campo profesional propio de su título, mostrándole las funciones, las unidades didácticas para el Módulo y se explique los criterios metodológicos que se seguirán en la enseñanza del mismo, las actividades para el aprendizaje así como el proceso y las actividades de evaluación y los diversos conceptos por los que será evaluado el alumno.
Bloque 1: Fundamentos De Programación.
En éste bloque temático se pretenden impartir los contenidos básicos de programación, para poder codificar en un lenguaje ficticio. Es un bloque muy importante por ser la base de futuros conocimientos para la adquisición de las capacidades requeridas al profesional.
En el campo de la informática profesional es necesario insistir en la unión de la teoría y la práctica, para conseguir a través de unos mínimos aconsejables, el máximo rendimiento de las estructuras de los datos y de los métodos para manejarlas.
En este bloque se partirán de unas primeras unidades didácticas con contenidos generales sobre la programación de ordenadores, metodologías con el fin de dar una visión previa de conocimientos básicos generales en esta ciencia.
Bloque 2: Los Datos
El estudio de la estructura de los datos es fundamental para iniciarse y profundizar en los conocimientos de la ciencia de la computación.
En este bloque, con su posterior desarrollo en unidades temáticas por cada una de las estructuras de datos, se impartirán los contenidos más teóricos, de como se estructuran los datos y las operaciones que permiten, ventajas e inconvenientes de cada una de ellas. Conociendo todo esto sobre la estructura de datos estaremos en condiciones de poder elegir cual será la más conveniente según los problemas que pretendamos resolver.
Bloque 3. Programación (Algoritmos+Datos).
En este bloque se agrupa en cinco aspectos bien definidos:
1. El estudio de un lenguaje de programación estructurado. El lenguaje de programación que se utilizará será ANSI C. El Lenguaje C es un lenguaje estructurado con un IDE de fácil manejo, en nuestro caso utilizaremos el entorno de desarrollo de Borland C++ 5.25, que posee de una serie de utilidades externas para confección de las distintas fases (compilación, linkado etc) y de rápida asimilación por parte del alumno. Sus contenidos se distribuyen en distintas UD que se temporalizan de la manera adecuada para poder implementar , mediante esta sencilla herramienta, otros contenidos y de ésta manera “palpar” los conceptos.
2. Desarrollo mediante el uso del lenguaje de programación estructurado mencionado anteriormente de programas y aplicación que impliquen la implementación y uso de las estructuras de datos estudiadas.
3. Introducción a los conceptos de programación orientada a objetos. La orientación a objetos en programación, es comparable con la aparición del arco en arquitectura, de manera que nos permite construcciones mas robustas con menos material. La programación actual se encuentra totalmente impregnada de ésta metodología. El lenguaje elegido para su implementación es JAVA. Esta elección está motivada por ser el lenguaje que nos permite manejar los objetos al nivel mas bajo y como consecuencia el que mas posibilidades de aprendizaje ofrece.
4. Introducción a los conceptos de programación visual. La programación actual se encuentra totalmente impregnada de ésta metodología. El lenguaje elegido para su implementación es Visual Basic.
5. Desarrollo de una aplicación informática mediante el uso del lenguaje de programación estructurado ANSI C, que resuelva un problemas cercano a la realidad.
Las unidades didácticas están estructuradas en función del grado de dificultad para asimilarlas y siguiendo la trilogía "teoría-algoritmo-codificación".
Bloque 0: Introducción al Módulo | |
Nº | UNIDADES DIDÁCTICAS |
0 | U.T.: Introducción al Módulo Fundamentos de Programación |
Bloque 1: Fundamentos de Programación | |
Nº | UNIDADES DIDÁCTICAS |
1 | U.T.: Introducción a la Programación |
2 | U.T.: Sistemas de Representación. |
3 | U.T.: Tipo de Dato, Dato, Variable y Expresiones. |
4 | U.T.: Desarrollo de Algoritmos. Programación Secuencial. |
5 | U.T.: Técnicas de Programación. Programación Modular. |
Bloque 3: Programación “Algoritmos+Datos” | |
Nº | UNIDADES DIDÁCTICAS |
6 | U.T.: Programación Básica en C. |
Bloque 2: Datos | |
Nº | UNIDADES DIDÁCTICAS (Datos) |
7 | U.T.: Estructuras estáticas de datos. |
8 | U.T.: Estructuras dinámicas de datos. |
9 | U.T: Estructuras De Datos Externas. |
Bloque 3: Programación “Algoritmos+Datos” | |
Nº | UNIDADES DIDÁCTICAS |
10 | U.T.: Desarrollo de un PROYECTO INFORMÁTICO |
Bloque 3: Programación “Algoritmos+Datos” | |
Nº | UNIDADES DIDÁCTICAS |
11 | U.T.: Programación Orientada a Objetos. |
12 | U.T.: Programación básica en Java. |
13 | U.T.: Programación Avanzada en Java. |
Bloque 3: Programación “Algoritmos+Datos” | |
Nº | UNIDADES DIDÁCTICAS |
14 | U.T.: Programación Básica en Visual Basic. |
Bloque 1: Fundamentos de Programación
Nº
UNIDADES DIDÁCTICAS
1
U.T.: Introducción a la Programación
2
U.T.: Sistemas de Representación.
3
U.T.: Tipo de Dato, Dato, Variable y Expresiones.
4
U.T.: Desarrollo de Algoritmos. Programación Secuencial.
5
U.T.: Técnicas de Programación. Programación Modular.
Unidad de Trabajo 1: Introducción a la Programación.
- Principios Básicos. Conceptos
- Sistemas Operativos.
- Lenguajes de Programación.
- Desarrollo de Software. Ingeniería del Software.
- Ensambladores, Compiladores e Interpretes.
Unidad de Trabajo 2: Sistemas de Representación.
- El Sistema Decimal.
- Teorema Fundamental de la Numeración.
- El sistema Binario.
- Operaciones con Binarios.
- El sistema Octal.
- El Sistema Hexadecimal.
- Conversión entre los distintos Sistemas.
- Representación de números enteros.
- Desbordamiento (Overflow).
- Coma Flotante.
- Representación interna de la Información: Codificación alfanumérica.
- Tabla de Conversión.
- Ejercicios.
Unidad de Trabajo 3: Tipo de Dato, Dato, Variable y Expresiones.
- Elementos Básicos.
- Constantes
- Identificadores.
- Palabras Reservadas.
- Comentarios.
- Operadores y Expresiones.
- Tipos de Datos.
Unidad de Trabajo 4: Desarrollo de Algoritmos. Programación Secuencial.
- Concepto de Algoritmo.
- Algoritmo vs Codificación.
- Estructuras de Control.
- Tipos de Algoritmos.
- Diseño de Algoritmos.
- Técnicas de Diseño de Algoritmos.
Unidad de Trabajo 5: Técnicas de Programación. Programación Modular.
- Programación Convencional.
- Programación modular estructurada.
- Subprogramas. Funciones y Procedimientos.
- Alcance. Global y Local.
- Visibilidad.
- Parámetros. Tipos de parámetros. Paso de parámetros.
- Otras técnicas de programación.
- Recursividad.
- Librerías y paquetes. APIs.
Bloque 3: Programación “Algoritmos+Datos”
Nº
UNIDADES DIDÁCTICAS
6
U.T.: Programación Básica en C.
Unidad de Trabajo 6: Programación Básica en C.
1. Programación Convencional.
1.1. Estructuras algorítmicas básicas en C.
1.1.1. Secuencia.
1.1.2. Selección.
1.1.3. Repetición.
2. Programación Modular estructurada en C.
2.1. Subprogramas.
2.1.1. Procedimientos.
2.1.2. Funciones.
2.2. Alcance
2.2.1. Global.
2.2.2. Local.
2.3. Visibilidad.
2.4. Parámetros en C
2.4.1. Formales, Reales.
2.4.2. Tipos de Paso.
2.4.2.1. Por valor.
2.4.2.2. Por referencia.
3. Recursividad.
Recursos:
- Tarjeta de Referencia ANSI.
- Ficheros C/C++
- Funciones y Librerías en C.
- Manual de C.
- El Rincón de C.
- Manuel de C: Tipo de datos, datos, expresiones ..
- Curso de Lenguaje C.
- Manual de C. II
- Curso C/C++. Formato WEB.
- Manual de programación en C (Español)
- Referencia de funciones de la biblioteca estandard de C (Español)
- Aprenda C como si estuviera en primero. Manual de aprendizaje del lenguaje C en formado PDF. Universidad de Navarra (Español)
- Referencia de funciones de la biblioteca estandard de C (Inglés)
- Manual de programación en C sobre sistemas UNIX (Inglés)
- Ejercicios Parte 1.
- Ejercicios Parte 2.
- Ejercicios Parte 3.
Descargas:
- Tutorial interactivo de C (700KB)
- SciTE, Editor multilenguaje con coloreado de sintaxis. (400KB)
- DOXYGEN, Utilidad para la generación semiautomática de documentación de código en diferentes formatos. (3,7MB)
- Inno Setup, Creador de programas de instalación para windows (1MB)
- PE Resource Editor, Editor de ficheros de recursos de windows (327KB)
Funciones de Consola.
Bloque 2: Datos
Bloque 3: Programación “Algoritmos+Datos”Nº
UNIDADES DIDÁCTICAS (Datos)
7
U.T.: Estructuras estáticas de datos.
8
U.T.: Estructuras dinámicas de datos.
9
U.T: Estructuras De Datos Externas.
Unidad de Trabajo 7: Estructuras Estáticas de Datos.
1. Introducción.
2. Operaciones.
3. Arrays.
3.1. Definición.
3.2. Tamaño.
3.3. Dimensión
3.4. Ventajas de estructurar los datos mediante arrays.
3.5. Modo de acceso a elementos.
3.6. Ventajas de la clasificación de arrays por su contenido.
4. Registros.
5. Enumerados.
6. Implementación mediante C.
6.1. Tipo Puntero. *&.
6.2. Reserva de memoria. malloc, realloc ...
6.3. Array dinámicos. (int*) malloc().
6.4. Struct.
6.5. Typedef Struct.
6.6. Typedef Struct *.
6.7. (void *) f().
6.8. #include. Unidad de Trabajo 8: Estructuras Dinámicas de Datos. TDA.
1. Semántica referencia vs Semántica almacenamiento.
2. Semántica referencia.
2.1. Operador de indirección
2.2. Operador Referencia
2.3. Indirecciones múltiples.
2.4. Punteros a funciones.
2.5. Listas Secuenciales:
2.5.1. Pilas
2.5.2. Colas.
2.6. Listas No Secuenciales:
2.6.1. Cadenas
2.6.2. Anillos.
2.7. Estructuras Jerárquicas:
2.7.1. Árboles.
2.7.2. Árboles B.
2.7.3. Árboles B+.
2.7.4. Árboles B*.
2.8. Operaciones.
TDA. Tipo Abstracto de Datos.
Implementación del TDA: VectorPalabras.
Implementación del TDA: MatrizDinamicaPalabras.
Implementación del TDA: Pila de Palabras.
Implementación del TDA: Cola de Palabras.
Unidad de Trabajo 9: Estructuras De Datos Externas.
1. Introducción.
2. Conceptos y Definiciones.
2.1. Organización.
2.2. Modo de acceso
3. Variable de estado asociada al fichero.
4. Operaciones Sobre Registros.
4.1. Consultas
4.2. Actualizaciones
4.2.1. Altas
4.2.2. Bajas
4.2.3. Modificaciones
5. Características de los Archivos.
6. Clasificación Según Su Uso.
7. Organización De Archivos.
7.1. Organización Secuencial.
7.2. Organización Aleatoria o Directa.
7.3. Organización Secuencial Indexada.
8. Operaciones sobre Archivos.
8.1. A nivel interno del Programa
8.1.1. Apertura
8.1.2. Cierre
8.2. A nivel externo del Programa.
8.2.1. Clasificación
8.2.2. Mezcla
8.2.3. Partición.
9. Utilización de Archivos.
9.1. Rupturas de Control en Informes
10. Implementación mediante C.
Implementación del TDA: TablaClientes.
- Anexo: Mysql y C.
- Servidor y Cliente de Mysql para Windows.
- Administrador remoto para Windows de Mysql.
- Entorno SQL remoto para Windows de Mysql.
- Librería de Mysql-C.
- Mysql - ODBC.
- Librería Mysql - ODBC en Visual Studio 6 C++.
- Ejemplo de aplicación C y ODBC.
- http://www.mysql.com
- http://www.mysql-hispano.com
- Librería C/C++ ODBC.
Unidad de Trabajo 4: Desarrollo de Algoritmos. Programación Secuencial. Ejercicios Unidad de Trabajo 5: Técnicas de Programación. Programación Modular. Ejercicios Unidad de Trabajo 7: Estructuras Estáticas de Datos. Ejercicios Unidad de Trabajo 8: Estructuras Dinámicas de Datos. TDA. Ejercicios Unidad de Trabajo 9: Estructuras De Datos Externas. Ejercicios
Cortesía de El Rincón del programador.