El curso se organiza en dos partes, una teórica y otra práctica:
Esta asignatura aparece en el primer curso dentro de la carrera de grado medio en ingeniería. Debido a la heterogeneidad de los alumnos que acceden en primer ciclo, es necesario poder garantizar un nivel uniforme de todos los alumnos, de forma que al menos los conceptos más básicos sean correctamente interpretados por todos ellos. Éste es el cometido de la parte de introducción a la informática y a los conceptos que se utilizarán posteriormente en las herramientas de programación.
Conocer la estructura básica y funcionamiento de un ordenador.
Introducir al alumno en los conceptos básicos de la Computación.
Enfocar la resolución de problemas mediante el diseño de algoritmos y su implementación empleando el lenguaje C.
Introducir el concepto de tipo de dato y las operaciones para su manipulación.
Estudiar algoritmos para realizar operaciones sobre vectores y matrices.
Estudiar algunos algoritmos básicos: búsqueda y ordenación.
Conocer y emplear un lenguaje de programación imperativo: el lenguaje C.
Desarrollar, probar y documentar programas utilizando un estilo adecuado de programación.El objetivo final es conseguir que el alumno tenga una mente estructurada que le permita formalizar soluciones algorítmicas a problemas genéricos empleando la sintaxis del lenguaje formal imperativo C.
El curso introduce al alumno en los conceptos básicos de la informática de usuario, así como en las técnicas básicas de programación imperativas tomando como excusa el lenguaje C.
Para poder comprobar como se utilizan los conceptos indicados en la parte teórica, se utiliza el entorno de programación Dev-C++. En esta parte práctica se pueden verificar los conceptos explicados en la parte teórica. Así mismo, se utilizará la parte práctica para mostrar el funcionamiento del propio programa, detalles técnicos de uso, ejemplos prácticos,...
1. Introducción a la Computación
- Concepto de información
- Conceptos básicos
- Codificación
- Estructura básica y funcionamiento de una computadora
- Sistemas operativos
- Sistemas de computación y de información
2. Introducción a la Programación
-Concepto de algoritmo
- Concepto de variable
- Lenguajes de programación
- Ejemplos de programas sencillos
- Descripción del proceso de compilación
3. Datos. Expresiones. Asignación
- Concepto de dato
- Tipos de datos elementales
- Operaciones aritméticas y lógicas
- Expresiones
- Asignación
4. Entrada/Salida
Consola
- getchar() / putchar()
- printf()
- scanf()
Ficheros
- Concepto de fichero
- Operaciones básicas con ficheros
- fopen()/fclose()
- fgetc() / fputc()
- fprintf()
- fscanf()
5. Funciones I. Introducción
- Definición de funciones
- Paso de parámetros entre funciones
- Devolución de resultados
- Llamadas a funciones
6. Programación Estructurada y Control de Flujo
- Concepto de instrucción o sentencia
- Secuencias y/o bloques de instrucciones
- Estructuras de Selección
- Estructuras de Repetición
7. Vectores
- Definición de vector
- Declaración de variables que son vectores
- Operaciones con vectores. Estudio de algoritmos básicos de búsqueda
- Cadenas. E/S con cadenas en
Consola: gets() / puts()- Vectores multidimensionales. Matrices.
Fichero: fgets() / fputs()
8. Funciones II. Ampliación
- Paso de argumentos por referencia
- Variables locales y variables globales
- Tipos de almacenamiento para las variables
- Ámbito de las variables
Introducción al entorno de compilación DEV C ++.
Programación básica en lenguaje C.
Informática
y ordenadores personales para no especialistas, José Ramón García Escrivá
y Mari Carmen Juan Lizandra, Servicio de Publicaciones de la Universidad
Politécnica de Valencia: SPUPV-97.580
Apuntes
de fundamentos de programación utilizando el lenguaje C, Jon Ander Gómez
Adrián, Servicio de Publicaciones de la Universidad Politécnica de Valencia:
SPUPV-2003.108
El
Lenguaje de Programación C: Diseño e Implementación de Programas, Félix
García, Jesús Carretero, Javier Fernández y Alejandro Calderón, PEARSON
EDUCACIÓN, S.A. - Madrid, 2002
El
lenguaje de programación C, Brian W. Kerninghan and Dennis C. Ritchie,
Prentice Hall Internacional. Software Series, segunda edición
Problemas
resueltos en lenguaje C. R. Mollá, I. García, L. Sebastiá, J. A.
Gómez, J. M. Alonso, D. Guerrero y M. A. Martín. Servicio de Publicaciones
de la Universidad Politécnica de Valencia: SPUPV-2005.683. ISBN
84-9705-883-6
Programación en C. Jordi Bataller Mascarell, Universidad Politécnica de Valencia, Departamento de Sistemas Informáticos y Computación, Universidad Politécnica de Valencia, D.L. 1999, 402 p. ; 24 cm., SPUPV 99.4105
Programación en C, Gottfried, Byron S., 2ª ed., rev. Ed. McGraw-Hill/Interamericana de España, 2005, 659 p. ; 28 cm., ISBN: 8448198468
Técnicas avanzadas en C. Desarrollo de aplicaciones, Sobelman, Gerald E.; David E. Krekelberg , Ed.: Anaya, 1986, 311 p. ; 23 cm. + 1 diskette, ISBN: 8476141173
Lenguaje C: Manual de Referencia, Schildt, Herbert, Ed.: McGraw-Hill, 1988, 695 p. ; 24 cm, ISBN 8476152957
Lenguaje C: Programación Avanzada, Schildt, Herbert, Ed.: Osborne/McGraw-Hill, 1987, 299 p. ; 24 cm., ISBN 9684222114
Diseño e implementación de programas en lenguaje C, Pedro Alonso Jordá, Fernando García Granada, Eva Onaindía de la Rivaherrera, Ed.: Universidad Politécnica de Valencia, Departamento de Sistemas Informáticos y Computación, 1998, 426 p. ; 24 cm., ISBN 8477216878
Fundamentos de Programación. Algoritmos y Estructuras de Datos, Joyanes Aguilar, Luis, 3ª ed., Ed.: McGraw-Hill/Interamericana de España, 2003, 1004 p. ; 25 cm. ISBN 8448136640
Programación
en C: Metodología, Algoritmos y Estructuras de Datos, Luis Joyanes
Aguilar, Ignacio Zahonero Martínez, Ed.: McGraw-Hill/Interamericana de
España, 2001, 735 p. ; 25 cm., ISBN 8448130138
Programación
en C++ para ingenieros, Fatos Xhafa, Pere-PAu Vázquez Alcocer, Jordi
Marco Gómez, Xavier Molinero Albareda y Ángela Martín Prat, Thomson, 2006,
477 p, ISBN 8497324854
La documentación del curso se encuentra codificada en formato PDF® y opcionalmente comprimido en formato ZIP® para facilitar la obtención del fichero desde lugares con velocidades de acceso reducidas.
Presentación de la asignatura y plan de trabajo | |
Tema 1. Introducción a la Computación | 2x 6x |
Tema 2. Introducción a la Programación | 2x 6x |
Tema 3. Datos. Expresiones. Asignación | 2x 6x |
Tema 4. Entrada/Salida | 2x 6x |
Tema 5. Funciones I. Introducción | 2x 6x |
Tema 6. Programación Estructurada y Control de Flujo | 2x 6x |
Tema 7. Vectores | 2x 6x |
Tema 8. Cadenas de caracteres | 2x 6x |
Tema 9. Funciones II. Ampliación | 2x 6x |
Parcial (35% de la nota final de la 1ª convocatoria del curso)
Esta parte valdrá el 35% de la nota final y no se guardará la nota para la segunda convocatoria de junio. La metodología de evaluación depende del profesor (preguntas cortas, largas, en un única sesión o en varias,...). Consta de las siguientes partes:
Final de enero. (65% de la nota final de la 1ª convocatoria del curso)
Consta de dos partes
- Final. Presentación obligatoria para todos los alumnos, hayan superado, o no, los parciales durante el curso. Se evaluarán los conocimientos adquiridos durante todo el curso. El examen constará del desarrollo de un programa largo completo (4.0 puntos) y dos o tres problemas cortos (2.5 puntos). Para poder hacer media con los parciales, hay que obtener en esta parte al menos 2.5 puntos de los 6.5 que vale. 65% de la nota final.
- Parcial. Presentación opcional. Si el alumno acepta la nota obtenida durante el curso mediante parciales, puede no presentarse a esta parte. Si el alumno no ha podido presentarse a alguna de las pruebas, no las ha superado o simplemente quiere mejorar la nota, puede presentarse de nuevo a esta parte. Presentarse a este examen anula y sustituye a cualquier otra nota obtenida durante el curso en los parciales. 35% de la nota final.
Cada parte durará un máximo de 2 horas. Habrá un pequeño descanso entre partes. No se guardan notas para la segunda convocatoria de junio.
Final de junio (100% de la nota final de la 2ª convocatoria del curso)
No cuenta ninguna nota de la primera convocatoria. Consta de un examen general, con la misma estructura del examen de enero, donde habrá un programa largo (~50% nota) y varias preguntas de tipo test (1.0 puntos) sobre informática en general y el resto, desarrollo de funciones, trazas, etc (40% de la nota).
Las prácticas no son evaluables directamente, pero son imprescindibles para poder practicar los conceptos presentados en clases de teoría. El examen tiene un 90% de carga práctica (desarrollo de funciones, programas,...) tal y como se realiza en clase de prácticas. Por lo tanto, se podría decir que es más un examen de prácticas escritas que de teoría, o bien de teoría MUY aplicada.