Fichas de asignaturas 2011-12
![]() |
INTRODUCCIÓN A LA PROGRAMACIÓN |
![]() ![]() |
|
Asignatura |
![]() |
| |
Profesorado |
![]() |
| |
Situación |
![]() |
| |
Competencias |
![]() |
| |
Objetivos |
![]() |
| |
Programa |
![]() |
| |
Actividades |
![]() |
| |
Metodología |
![]() |
| |
Distribucion |
![]() |
| |
Técnicas Docentes |
![]() |
| |
Evaluación |
![]() |
| |
Recursos Bibliográficos |
![]() |
Código | Nombre | |||
Asignatura | 1710019 | INTRODUCCIÓN A LA PROGRAMACIÓN | Créditos Teóricos | 3 |
Descriptor | INTRODUCTION TO PROGRAMMING | Créditos Prácticos | 4,5 | |
Titulación | 1710 | INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN | Tipo | Obligatoria |
Departamento | C137 | LENGUAJES Y SISTEMAS INFORMATICOS | ||
Curso | 1 | |||
Créditos ECTS | 6 |
Para el curso | Créditos superados frente a presentados | Créditos superados frente a matriculados |
2007-08 | 43.1% | 26.8% |
ASIGNATURA OFERTADA SIN DOCENCIA
Pulse aquí si desea visionar el fichero referente al cronograma sobre el número de horas de los estudiantes.
Profesorado
Hurtado Rodríguez, Nuria (coordinadora) Yráyzoz Díaz de Liaño,Eloisa
Situación
Prerrequisitos
Conocimientos básicos de informática a nivel de usuario
Contexto dentro de la titulación
La asignatura pertenece al primer cuatrimestre del primer curso de la titulación. En ella se proporcionan al alumno las bases de la programación estructurada y del lenguaje de programación C y por tanto se considera fundamental para el resto de las asignaturas de programación de la titulación.
Recomendaciones
Sería recomendable que el alumno dispusiera de un ordenador personal donde instalar el compilador de C utilizado en las prácticas, así como conexión a Internet para el uso de las herramientas virtuales, con objeto de obtener un mejor aprovechamiento de los contenidos impartidos en la asignatura.
Competencias
Competencias transversales/genéricas
- Capacidad de análisis y síntesis. - Comunicación oral y escrita. - Resolución de problemas. - Trabajo en equipo. - Razonamiento crítico. - Preparación y presentación de documentación.
Competencias específicas
Cognitivas(Saber):
- Conocer y comprender la importancia de los objetivos de la programación - Conocer los aspectos generales sobre los lenguajes y paradigmas de programación. -Conocer la sintaxis del pseudocódigo utilizado para describir algoritmos así como la del lenguaje C. - Conocer los pasos para la realización de un programa y sus principales componentes (en pseudocódigo y en lenguaje C) - Conocer las estructuras de control de la programación estructurada y las diferencias entre ellas(en pseudocódigo y en lenguaje C) - Conocer todos los aspectos relacionados con la realización de funciones y procedimientos (en pseudocódigo y en lenguaje C) - Conocer el concepto de recursividad y sus tipos. - Conocer los tipos de datos estructurados estáticos (en pseudocódigo y en lenguaje C)
Procedimentales/Instrumentales(Saber hacer):
- A partir del planteamiento de un problema de pequeña-mediana envergadura saber realizar el programa para resolverlo implicando: 1.- Saber aplicar los pasos adecuados para la realización de programas. 2.- Tener en cuenta los objetivos de la programación. 3.- Saber elegir y utilizar los tipos y estructuras de datos adecuadas. 4.- Saber elegir y utilizar las estructuras de control adecuadas. 5.- Saber realizar la descomposición adecuada e implementar las funciones y procedimientos necesarios correctamente. 6.- Utilizar un estilo de programación apropiado - Ser capaz de realizar el seguimiento de un algoritmo (en pseudocódigo) o programa (en lenguaje C), explicar que realiza y encontrar posibles errores. - Ser capaz de resolver pequeños algoritmos y programas tanto iterativa como recursivamente.
Actitudinales:
Aprendizaje autónomo Planificación de las actividades a desarrollar Capacidad de abstracción Toma de decisión Capacidad de iniciativa y participación
Objetivos
OBJETIVOS GENERALES 1.- Proporcionar una importante base teórica y práctica en el aprendizaje de la Programación de Ordenadores. Fundamentando el diseño de algoritmos en una adecuada metodología y orientando la realización de programas hacia el cumplimiento de los objetivos fundamentales de la programación como son corrección, claridad, y eficiencia. 2.- Introducir al alumno en el diseño, codificación y documentación de programas, utilizando una correcta metodología y estilo basados en el uso de la programación estructurada, la abstracción operacional y la recursividad. 3.- Introducir al alumno en el conocimiento del lenguaje de programación C de manera que sea capaz de implementar en dicho lenguaje los algoritmos diseñados previamente y de este modo completar adecuadamente el proceso de desarrollo de programas. OBJETIVOS ESPECÍFICOS - Conocer y comprender la importancia de los objetivos de la programación - Conocer los aspectos generales sobre los lenguajes y paradigmas de programación. -Conocer la sintaxis del pseudocódigo utilizado para describir algoritmos así como la del lenguaje C. - Conocer los pasos para la realización de un programa y sus principales componentes (en pseudocódigo y en lenguaje C) - Conocer las estructuras de control de la programación estructurada y las diferencias entre ellas(en pseudocódigo y en lenguaje C) - Conocer todos los aspectos relacionados con la realización de funciones y procedimientos (en pseudocódigo y en lenguaje C) - Conocer el concepto de recursividad y sus tipos. - Conocer los tipos de datos estructurados estáticos (en pseudocódigo y en lenguaje C) - A partir del planteamiento de un problema de pequeña-mediana envergadura saber realizar el programa para resolverlo implicando: 1.- Saber aplicar los pasos adecuados para la realización de programas. 2.- Tener en cuenta los objetivos de la programación. 3.- Saber elegir y utilizar los tipos y estructuras de datos adecuadas. 4.- Saber elegir y utilizar las estructuras de control adecuadas. 5.- Saber realizar la descomposición adecuada e implementar las funciones y procedimientos necesarios correctamente. - Ser capaz de realizar el seguimiento de un algoritmo (en pseudocódigo) o programa (en lenguaje C), explicar qué realiza y encontrar posibles errores. - Ser capaz de resolver pequeños algoritmos y programas tanto iterativa como recursivamente.
Programa
TEMARIO DE TEORÍA Tema 1. Introducción 1.1..- Conceptos básicos y definiciones 1.2.- Programación de Ordenadores y Lenguajes de Programación 1.2.2.- La Programación de Ordenadores 1.2.2.- Objetivos de la Programación 1.2.3.- Clasificación de los Lenguajes de Programación 1.3.- Traductores: compiladores e Intérpretes 1.4.- Paradigmas de Programación Tema 2. Problemas, Algoritmos y Programas. 2.1.- Algoritmos. 2.1.1.- Concepto de Algoritmo. 2.1.2.- Ejemplos de diseño de un algoritmo. 2.2.- Proceso de creación de un programa. 2.2.1.- Planteamiento y análisis del Problema. 2.2.2.- Diseño de un algoritmo. Comprobación y optimización del Algoritmo. 2.2.3.- Implementación del Programa. 2.2.4.- Ejecución y depuración del Programa. 2.3.- Datos y tipos de datos. 2.3.1.- Datos de tipo numérico. 2.3.2.- Datos de tipo lógico. 2.3.3.- Datos de tipo carácter y cadena. 2.4.- Variables y expresiones. 2.4.1.- Constantes y variables. 2.4.2.- La operación de asignación. 2.4.3.- Evaluación de expresiones. Precedencia de operadores. 2.4.4.- Entrada y salida básicas. 2.5.- Descripción de Algoritmos. 2.5.1.- Lenguaje Natural. 2.5.2.- Pseudócodigo. 2.5.3.- Diagrama de flujo. Tema 3. Programación estructurada. 3.1.- Características de la Programación Estructurada. 3.2.- Estructura Secuencial. 3.3.- Estructura Selectiva. 3.3.1.- Simple. 3.3.2.- Doble. 3.3.3.- Múltiple. 3.4.- Estructuras Repetitivas. 3.4.1.- Mientras. 3.4.2.- Repetir hasta que. 3.4.3.- Desde. 3.5.- Estructuras anidadas. Tema 4. Abstracción Operacional. 4.1.- Descomposición de problemas y abstracción. 4.1.1.- Diseño descendente y refinamientos sucesivos. 4.1.2.- Concepto de abstracción operacional. 4.2.- Subalgoritmos. 4.2.1.- Funciones. 4.2.2.- Procedimientos 4.3.- Ámbito y persistencia de las variables. 4.4.- Correspondencia entre argumento y parámetro formal. 4.4.1.- Paso por valor y por referencia. 4.4.2.- Efectos laterales. 4.5.- Funciones y procedimientos como parámetros. Tema 5. Recursividad. 5.1.- Introducción. 5.2.- Concepto de recursión a través de la inducción matemática 5.3.- La recursividad. 5.4.- Tipos de recursividad 5.4.1.- Recursividad lineal 5.4.2.- Recursividad múltiple 5.5.- Procedimientos y procesos.Iteración y recursión Tema 6. Tipos de datos. 6.1.- Tipos de datos estructurados. 6.2.- Vectores y matrices. 6.2.1.- Vectores. Matrices unidimensionales. 6.2.2.- Matrices multidimensionales. 6.3.- Cadenas de caracteres. 6.3.1.- Definición de cadenas de caracteres. 6.3.2.- Operaciones con cadenas. 6.4.- Registros. 6.5.- Archivos. 6.6.- Tipos enumerados y subrango. TEMARIO DE PRÁCTICAS Tema 1. Fundamentos del Lenguaje C. 1.1.- Introducción al entorno de programación. 1.2.- Introducción al lenguaje. 1.3.- Estructura general de un programa en C. 1.4.- Datos y tipos de datos. 1.5.- Operaciones básicas y expresiones. 1.6.- Entrada y salida básicas. Tema 2. Estructuras Selectivas y Repetitivas. 2.1.- Estructuras selectivas. 2.1.1.- Estructura if. 2.1.2.- Estructura if else. 2.1.3.- Estructura switch. 2.2.- Estructuras repetitivas. 2.2.1.- El bucle while. 2.2.2.- El bucle do while. 2.2.3.- El bucle for. 2.2.4.- Bucles anidados. 2.2.5.- Sentencias break y continue 2.3.- Herramientas de depuración de programas 2.4.- Estilo de programación. Tema 3. Definición de funciones en C. 3.1.- Declaración, definición y uso de funciones. 3.2.- Paso de parámetros. 3.2.1.- Concepto de puntero 3.2.2.- Operadores de dirección e indirección 3.3.- Ámbito y persistencia de variables 3.4.- Macros 3.5.- Punteros a funciones 3.6.- Argumentos del programa Tema 4. Recursividad. 4.1.- Funciones recursivas. 4.2.- Recursividad lineal y múltiple. Tema 5. Tipos de datos. 5.1.- Funciones de manejo de memoria dinámica. 5.2.- Vectores. 5.2.1.- Definición y acceso a los elementos. 5.2.2.- Paso cómo parámetro a una función. 5.2.3.- Aritmética de punteros. 5.3.- Matrices. 5.3.1.- Definición y acceso a los elementos. 5.3.2.- Paso cómo parámetro a una función. 5.4.- Cadenas de caracteres. 5.4.1.- Definición y acceso a los elementos. 5.4.2.- Funciones de manejo de cadenas de caracteres. 5.5.- Estructuras y uniones. 5.5.1.- Definición y acceso a los elementos. 5.5.2.- Paso cómo parámetro a una función. 5.6.- Tipos enumerados. 5.7.- Cláusula typedef.
Actividades
La asignatura se oferta sin docencia
Metodología
La asignatura se oferta sin docencia
Distribución de horas de trabajo del alumno/a
Nº de Horas (indicar total):
- Clases Teóricas:
- Clases Prácticas:
- Exposiciones y Seminarios:
- Tutorías Especializadas (presenciales o virtuales):
- Colectivas:
- Individules:
- Realización de Actividades Académicas Dirigidas:
- Con presencia del profesorado:
- Sin presencia del profesorado:
- Otro Trabajo Personal Autónomo:
- Horas de estudio:
- Preparación de Trabajo Personal:
- ...
No se incluyen ya que la asignatura se oferta sin docencia. Tampoco se incluye cronograma
- Realización de Exámenes:
- Examen escrito: 1
- Exámenes orales (control del Trabajo Personal):
Criterios y Sistemas de Evaluación
Se realizarán los correspondientes exámenes finales escritos en las convocatorias oficiales publicadas por el centro, el examen constará de una parte teórica y otra práctica. En la parte teórica se podrán realizar preguntas cortas de los aspectos estudiados en clase de teoría así como la resolución de problemas en pseudocódigo. La parte práctica constará de preguntas y problemas en lenguaje C. La nota final de la asignatura se compone de una parte teórica (40%), una parte práctica (60%) . Las notas de teoría y prácticas serán las que se obtengan en el examen final. La nota final se obtendrá como suma de todas las notas, siendo necesario obtener en el examen una puntuación mínima de 1,5 puntos sobre 4 en la parte teórica y 2,5 puntos sobre 6 en la práctica. Para aprobar la asignatura la suma de todas las notas deberá ser igual o superior a 5.
Recursos Bibliográficos
[Abur98] Aburruzaga García, G.; Medina Bulo, I.; Palomo Lozano, F.; Por fin: C ISO; Servicio de Publicaciones. Universidad de Cádiz, 1998. [Balc93] Balcazar, J.; Programación Metódica; McGraw-Hill, 1993. [Cast93] Castro, J.; F. Cucker y X. Messeguer, "Curso de programación", Mc Graw-Hill, 1993. [Cerr93] Cerrada, J. A.; Collado, M.; Programación I; UNED 1993. [Deit94] Deitel,H.M.; Como programar en C/C++; Prentice-Hall,1994. [Garc02] García, F.; Carretero, J.; Fernández, J.; Calderón, A.; El lenguaje de programación C; Prentice Hall, 2002. [Hurt02] Hurtado, N.; Laguía, M.; Silva, E.L.; Introducción a la Programación; Servicio de Publicaciones. Universidad de Cádiz, 2002. [Joya96] Joyanes, L.; Fundamentos de programación; McGraw-Hill, 1996. [Kell92] Kelley, A.; Pohl, I.; C by Dissection: The Essentials of C programming; 2ª Edición, Benjamin/Cummings, 1992. [Kell98] Kelley, A.; Pohl, I.; A book on C. Programming in C; 4ª Edición, Addison-Wesley, 1998. [Kern91] Kernighan, B.W.; Ritchie, D.M.; El lenguaje de programación C; 2ª Ed., Prentice-Hall, 1991. [Kern00] Kernighan, B. W.; Pike, R.; La práctica de la programación; Prentice Hall, 2000. [Peña97] Peña Marí, R.; Diseño de programas. Formalismo y abstracción; Prentice Hall 1997. [Prie01] Prieto, A.; Lloris, A.; Torres, J.C.; Introducción a la informática; McGraw-Hill, 2001, 3ª Edición. [Schi95] Schield, H.; Turbo C y C++ 3.1 : Manual de Referencia, Ed. Osborne/McGraw Hill 1995. [Tond89] Tondo, C.L.; Gimpel, S.E.; The C Answer Book; Prentice- Hall, 1989, 2ª edición.
El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente. En aplicación de la Ley 3/2007, de 22 de marzo, para la igualdad efectiva de mujeres y hombres, así como la Ley 12/2007, de 26 de noviembre, para la promoción de la igualdad de género en Andalucía, toda alusión a personas o colectivos incluida en este documento estará haciendo referencia al género gramatical neutro, incluyendo por lo tanto la posibilidad de referirse tanto a mujeres como a hombres.