Fundamentos de Informática

 

Contenido

Introducción

Objetivos

Estructura

Temario

Prácticas

Bibliografía

Material Alumnos

Criterios de Evaluación

Estadísticas

 

Introducción

El curso se organiza en dos partes, una teórica y otra práctica:

  1. Teoría. Introducción básica a la informática y programación básica en lenguaje C. 2h/semana.
  2. Práctica. Manejo básico del entorno de programación Dev-C++. 2h/semana.

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.

Objetivos

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.

Estructura

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,...

Temario

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()
Fichero: fgets() / fputs()
- Vectores multidimensionales. Matrices.
 

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
 

Prácticas

Introducción al entorno de compilación DEV C ++.

Programación básica en lenguaje C.

Bibliografía

Cómo NO realizar una práctica de programación. En caso de que no estuviera activa, tienes una copia local no actualizada.

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

Material del curso para los alumnos

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.

Teoría

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

Material complementario

Prácticas

Criterios de Evaluación

Teoría

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:

  1. Un test cuyo contenido es únicamente el tema 1. Introducción a la microinformática. 10% de la nota final.
  2. Un ejercicio de desarrollo de E/S (ficheros) y empleo básico de funciones. 10% de la nota final.
  3. Un ejercicio de control de flujo y empleo básico de funciones. 15% de la nota final.

Final de enero. (65% de la nota final de la 1ª convocatoria del curso)

Consta de dos partes

  1. 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.
  2. 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).

Prácticas

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.

Volver al inicio