Guías Académicas

FUNDAMENTOS DE PROGRAMACIÓN

FUNDAMENTOS DE PROGRAMACIÓN

DOBLE TITULACIÓN ING. INFORM. SISTEMAS INFORMACIÓN/GR. INFORMA. Y DOCUMENT.

Curso 2020/2021

1. Datos de la asignatura

(Fecha última modificación: 22-07-20 10:00)
Código
105903
Plan
ECTS
6
Carácter
Curso
1
Periodicidad
Primer Semestre
Área
LENGUAJES Y SISTEMAS INFORMÁTICOS
Departamento
Informática y Automática
Plataforma Virtual

Campus Virtual de la Universidad de Salamanca

Datos del profesorado

Profesor/Profesora
María Luisa Pérez Delgado
Grupo/s
1
Centro
E. Politécnica Superior de Zamora
Departamento
Informática y Automática
Área
Lenguajes y Sistemas Informáticos
Despacho
216 – Edificio Administrativo
Horario de tutorías
Consultar: http://poliz.usal.es/politecnica/v1r00/?m=Tutorias
URL Web
https://cimet.usal.es/investigadores/mlpd.html
E-mail
mlperez@usal.es
Teléfono
980545000

2. Sentido de la materia en el plan de estudios

Bloque formativo al que pertenece la materia.

Es una materia básica/obligatoria.

Papel de la asignatura.

Esta asignatura forma parte de la materia Programación. Su objetivo es presentar los fundamentos de la programación estructurada y aprender a utilizar un lenguaje de programación concreto.

Perfil profesional.

La asignatura está orientada a estudiantes de la rama de Ingeniería y Arquitectura, para que conozcan los elementos básicos de un lenguaje de programación y aprendan a manejar un lenguaje concreto.

3. Recomendaciones previas

-

4. Objetivo de la asignatura

• Establecer los fundamentos de diseño de programas basados en la descomposición modular y la programación estructurada, introduciendo de forma sistemática y progresiva una correcta metodología para la programación de computadoras.

• Describir las etapas del ciclo de vida del software, ubicando y haciendo especial énfasis en la descripción de las etapas de diseño de algoritmos, codificación y prueba.

• Analizar el concepto de algoritmo y su utilidad en la resolución de problemas, presentando técnicas de diseño y representación de algoritmos.

• Describir la documentación básica que debe acompañar a un programa.

• Introducir al alumno en el conocimiento del lenguaje de programación C, como herramienta para la codificación, depuración y prueba de programas, 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.

• Dotar al alumno de los fundamentos lógicos necesarios para analizar, diseñar, codificar, depurar, probar y documentar un programa.

5. Contenidos

Teoría.

Bloque I. Introducción.

Tema 1: Descripción general de un ordenador.

Tema 2: Lenguajes de programación.

Bloque II. Algoritmos y programas en el proceso de resolución de problemas.

Tema 3: Algoritmos: objetivo y representación.

Tema 4: Programas.                                        

Bloque III. Elementos de programación estructurada.

Tema 5: Tipos de datos, operadores y expresiones.

Tema 6: Estructuras de control.

Tema 7: Subprogramas.

Tema 8: Estructuras de datos simples.

Tema 9: Ficheros.

Tema 10: Punteros y variables dinámicas.

Práctica.

Bloque I: Lenguaje C

Tema 1- Introducción al lenguaje C

Tema 2- Fases del desarrollo de un programa escrito en C

Tema 3- Tipos de datos básicos, constantes y variables

Tema 4- Operadores y expresiones

Tema 5- Estructuras de control

Tema 6- Funciones                                 

Tema 7- Tipos de datos compuestos

Tema 8- Trabajo con ficheros

Tema 9- Punteros y memoria dinámica

Bloque II: Representación de algoritmos

Se realizarán ejercicios de representación de algoritmos a medida que se vaya avanzando en los temas de teoría.

6. Competencias a adquirir

Específicas.

•    CE001: Conocimientos básicos sobre la programación de los ordenadores.

•             CE002: Conocimiento de los fundamentos de la programación de los sistemas informáticos, y su aplicación para la resolución de problemas propios de la ingeniería.

Transversales.

•    CT001: Capacidad de organización, gestión y planificación del trabajo.

•    CT002: Capacidad de análisis, crítica y síntesis.

•    CT004: Capacidad para comprender y elaborar modelos abstractos a partir de aspectos particulares.

•    CT005: Capacidad de toma de decisiones.

•    CT009: Capacidad de comunicación, tanto oral como escrita, de conocimientos, ideas, procedimientos, y resultados, en lengua nativa.

•    CT010: Capacidad de integración en grupos de trabajo unidisciplinares o multidisciplinares.

•             CT011: Aprendizaje autónomo.

7. Metodologías

•    Clases magistrales para describir los aspectos fundamentales de los contenidos teóricos y prácticos de la asignatura.

•    Clases de problemas para aplicar los conceptos teóricos a ejemplos concretos.

•    Aula virtual, que pone a disposición de los alumnos recursos y actividades relacionados con la asignatura.

•    Trabajos individuales para que el alumno pueda ejercitarse en la aplicación práctica de los contenidos tratados en la asignatura.

•             Trabajos en equipo.

8. Previsión de Técnicas (Estrategias) Docentes

9. Recursos

Libros de consulta para el alumno.

•    ANTONAKOS, J.L., MANSFIELD, K.C. (2002), Programación estructurada en C. Prentice Hall.

•    CASTRO, J., CUCKER, F., MESEGUER, X., RUBIO, A., SOLANO, A. VALLES, B. (1993), Curso de programación. McGraw Hill.

•    CEBALLOS, F.J. (2001), Curso de programación C/C++. RA-MA.

•    GARCÍA, F., CALDERÓN, A., CARRETERO, J., FERNÁNDEZ, J., PÉREZ, J.M. (2002), Problemas resueltos de programación en C. Paraninfo.

•    GARCÍA, F., CARRETERO, J., FERNÁNDEZ, J., CALDERÓN, A. (2002), El lenguaje de programación C. Diseño e implementación de programas. Prentice Hall.

•    GOTTFRIED, B. (1997), Programación en C. McGraw Hill.

•    JOYANES AGUILAR, L. (2003), Fundamentos de programación. Algoritmos, estructuras de datos y objetos. McGraw Hill.

•    JOYANES AGUILAR, L., RODRÍGUEZ BAENA, L., FERNÁNDEZ AZUELA, M. (2003), Fundamentos de programación. Algoritmos y estructuras de datos. Libro de problemas. McGraw Hill.

•    KERNIGHAN, B.W., PIKE, R. (2000), La práctica de la programación. Prentice Hall.

•    KERNIGHAN, B.W., RITCHIE, D.M. (1991), El lenguaje de programación C. Prentice Hall.

•    LLANOS FERRARIS, D.R. (2001), Curso de C bajo Unix. Paraninfo.

•    PÉREZ DELGADO, M.L. (2004), Programación en lenguaje C. Ediciones Universidad de Salamanca.

•    PRESSMAN, R.S. (2001), Ingeniería del software. Un enfoque práctico. McGraw Hill.

•    QUERO CATALINAS, E. (2003), Fundamentos de programación. Paraninfo.

•             SCHILDT, H. (2001), C, manual de referencia. McGraw Hill.

 

Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso.

Dentro de la plataforma Studium se incluirán enlaces actualizados a contenidos.

10. Evaluación

Criterios de evaluación.

Se utilizará el sistema de calificaciones vigente (RD 1125/2003) artículo 5º. Los resultados obtenidos por el alumno en cada una de las materias del plan de estudios se calificarán en función de la siguiente escala numérica de 0 a 10, con expresión de un decimal, a la que podrá añadirse su correspondiente calificación cualitativa: 0 - 4,9: Suspenso (SS), 5,0 - 6,9: Aprobado (AP), 7,0 - 8,9: Notable (NT), 9,0 - 10: Sobresaliente (SB).

La mención de Matrícula de Honor podrá ser otorgada a alumnos que hayan obtenido una calificación igual o superior a 9,0. Su número no podrá exceder del 5% de los alumnos matriculados en una asignatura en el correspondiente curso académico, salvo que el número de alumnos matriculados sea inferior a 20, en cuyo caso se podrá conceder una sola Matrícula de Honor.

Se tendrá en cuenta el Reglamento de Evaluación de la Universidad de Salamanca.

Instrumentos de evaluación.

La evaluación se realizará teniendo en cuenta:

A— Exámenes escritos teórico-prácticos y/o trabajos dirigidos, que podrán incluir la defensa de los mismos

B— Examen final.

Peso en la nota final:  35% el apartado A y 65% el B.

 

Se realizarán pruebas escritas de recuperación para los alumnos que no superen la asignatura. Calificación de estas pruebas: 100% de la nota para el alumno que no haya obtenido ningún punto en el apartado A; 65% para el resto.  

 

Se considera No presentado al alumno que no ha realizado ningún examen ni entregado ningún trabajo.

Se considera Suspenso al alumno que, habiendo realizado algún examen o presentado algún trabajo, no llega a la nota mínima para superar la asignatura.

Recomendaciones para la evaluación.

Se recomienda al alumno realizar un trabajo continuado sobre la materia, lo que garantizará los mejores resultados.

Recomendaciones para la recuperación.

Se recomendará al alumno incidir en los aspectos que ha trabajado menos durante el curso.

12. Adenda. Metodologías Docentes y Evaluación de Competencias

13. Adenda. Plan de Contingencia ante la situación de emergencia