Guías Académicas

PROGRAMACIÓN II

PROGRAMACIÓN II

Doble Titulación de Grado en Estadística y en Ingeniería Informática

Curso 2022/2023

1. Datos de la asignatura

(Fecha última modificación: 27-05-22 10:45)
Código
101107
Plan
ECTS
6
Carácter
Curso
1
Periodicidad
Segundo Semestre
Idioma
ESPAÑOL
Área
LENGUAJES Y SISTEMAS INFORMÁTICOS
Departamento
Informática y Automática
Plataforma Virtual

Studium

Datos del profesorado

Profesor/Profesora
Iván Alvarez Navia
Grupo/s
A y B (Teoría)
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Lenguajes y Sistemas Informáticos
Despacho
F3021
Horario de tutorías
Consultar WEB
URL Web
http://diaweb.usal.es/diaweb/personas/inavia
E-mail
inavia@usal.es
Teléfono
6078
Profesor/Profesora
Diego Manuel Jiménez Bravo
Grupo/s
PA1
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Ciencia de la Computación e Inteligencia Artific.
Despacho
F2400
Horario de tutorías
Consultar WEB
URL Web
http://diaweb.usal.es/diaweb/personas/dmjimenez
E-mail
dmjimenez@usal.es
Teléfono
923 29 45 00 Ext. 6072
Profesor/Profesora
María Resurrección Gutiérrez Rodríguez
Grupo/s
PA1
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Lenguajes y Sistemas Informáticos
Despacho
D1515
Horario de tutorías
Consultar Diaweb
URL Web
http://diaweb.usal.es/diaweb/personas/resu
E-mail
resu@usal.es
Teléfono
1309
Profesor/Profesora
Juan Andrés Hernández Simón
Grupo/s
PA2, PA3 y PA4
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Lenguajes y Sistemas Informáticos
Despacho
D1515
Horario de tutorías
Consultar WEB
URL Web
http://diaweb.usal.es/diaweb/personas/jahsimon
E-mail
jahsimon@usal.es
Teléfono
923 294500, Ext. 6098
Profesor/Profesora
Javier Prieto Tejedor
Grupo/s
PB1, PB4
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Ciencia de la Computación e Inteligencia Artific.
Despacho
Despacho 3
Horario de tutorías
Consultar Diaweb
URL Web
https://produccioncientifica.usal.es/investigadores/148044/detalle
E-mail
javierp@usal.es
Teléfono
923 294500, Ext. 6592
Profesor/Profesora
David García Retuerta
Grupo/s
PB2
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Ciencia de la Computación e Inteligencia Artific.
Despacho
Edificio I+D+I, Oficina 24.1
Horario de tutorías
Consultar Diaweb
URL Web
http://diaweb.usal.es/diaweb/personas/dvid
E-mail
dvid@usal.es
Teléfono
-
Profesor/Profesora
Héctor Sánchez San Blas
Grupo/s
PB3
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Ciencia de la Computación e Inteligencia Artific.
Despacho
D1515
Horario de tutorías
Consultar Diaweb
URL Web
https://produccioncientifica.usal.es/investigadores/182551/detalle
E-mail
hectorsanchezsanblas@usal.es
Teléfono
-

2. Sentido de la materia en el plan de estudios

Bloque formativo al que pertenece la materia.

La materia Programación, que consta de las siguientes asignaturas:

  • Programación I
  • Programación II
  • Programación III
  • Estructuras de Datos y Algoritmos I
  • Estructuras de Datos y Algoritmos II
  • Informática Teórica
  • Programación Avanzada
  • Animación Digital (optativa)
  • Desarrollo de Aplicaciones Avanzadas (optativa)

Papel de la asignatura.

Esta asignatura es la continuación natural de lo expuesto en Programación I, y aporta conocimientos que se aplican en Programación III (POO) y las demás asignaturas de esta Materia. Se tratan principalmente temas relacionados con tratamiento de archivos y asignación dinámica de memoria; además, se profundiza en el manejo de IDE, con especial atención a su uso en relación con la depuración de programas. Finaliza aquí el tratamiento del paradigma de Programación Estructurada, sentándose las bases de su utilización para la programación en Sistemas Operativos y otras cuestiones avanzadas.

Perfil profesional.

Los alumnos que cursan el Grado en Informática tienen como objetivo laboral la industria, o quizá el mundo académico. Tanto la Empresa como la Universidad exigen resultados concretos, o más exactamente programas que resuelvan problemas. Los métodos y conceptos que se aportan en esta materia tienen como fin la creación de software correcto, robusto, eficiente y reutilizable, que deberá estar dotado de una interfaz de usuario que satisfaga criterios de usabilidad, portabilidad y mantenibilidad. Para alcanzar un desarrollo profesional, se necesitan como mínimo las asignaturas básicas y obligatorias de esta materia, sin olvidar las asignaturas optativas que contiene, y que ofrecen lo necesario para construir software avanzado. De este modo, el perfil profesional de los graduadosserá el adecuadopara entrar en el mercado laboral, o quizá para abordar la realización de un Master que complemente su formación.

3. Recomendaciones previas

Se recomienda encarecidamente cursar esta asignatura únicamente después de aprobar la asignatura Programación I, por cuanto los conceptos que se exponen en Programación II se basan por completo en el trabajo realizado en Programación I. Concretamente, quienes aborden la asignatura Programación II deberán ser capaces de:

  • Compilar programas empleando la línea de órdenes.
  • Construir programas que hagan uso correcto de funciones distribuidas en más de un archivo.
  • Construir programas basados en tipos de datos primitivos.
  • Construir programas basados en tipos de datos estructurados homogéneos.

También resulta recomendable disponer de un conocimiento razonable del idioma Inglés, al menos con un nivel de traducción, puesto que existe en este idioma mucha información que resulta relevante para el estudio de esta asignatura.

4. Objetivo de la asignatura

GENERALES

  • Conocer el modelo que utilizan los lenguajes de programación para llegar a la resolución de problemas.
  • Conocer las bases de la Programación Estructurada.
  • Adquirir buenos hábitos de programación
  • Llegar a la construcción de software correcto, robusto y eficiente.
  • Conocer el proceso de creación de aplicaciones, desde la creación eficiente de código fuente hasta la generación de aplicaciones.
  • Conocer algunos algoritmos clásicos, y ser capaz de formular soluciones algorítmicas para las aplicaciones que deba construir.

ESPECÍFICOS

  • Conocer y manejar tipos de dos estructurados no homogéneos.
  • Conocer y manejar entornos integrados de desarrollo.
  • Comprender y aplicar el concepto de reutilización de código, especialmente en lo tocante a la arquitectura reutilizable de programas.
  • Conocer y manejar las técnicas básicas de utilización de memoria dinámica.
  • Conocer y manejar las técnicas básicas de utilización de archivos.
  • Conocer algunos aspectos avanzados de la compilación de programas.

5. Contenidos

Teoría.

  1. Tipos de datos estructurados no homogéneos
  2. Entornos Integrados de Desarrollo
  3. Memoria dinámica
  4. Gestión de archivos
  5. Bibliotecas de funciones

6. Competencias a adquirir

Básicas / Generales.

CG3.-Capacidad para comprender y dominar los conceptos básicos de matemática discreta, lógica, algorítmica y complejidad computacional, y su aplicación para la resolución de problemas propios de la ingeniería.

CG4-Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos,bases de datos y programas informáticos con aplicación en ingeniería.

CG5 - Conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programa- ción, y su aplicación para la resolución de problemaspropios de la ingeniería.

Específicas.

CE1 - Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.

CE6 - Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizandola idoneidad y complejidad de los algoritmos propuestos.

CE7 - Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema.

CE8 - Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.

ECO5 - Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambienteso entornos inteligentes.

CECO6- Capacidad para desarrollar yevaluar sistemas interactivos y de presentación de información y su aplicación a la resolución de problemas sencillos de diseño de interacción persona computadora.

Transversales.

CT1 - Conocimientos generales básicos

CT2 - Conocimientos básicos de la profesión

CT3 - Capacidad de análisis y síntesis

CT4 - Capacidad de organizar y planificar

CT5-Comunicación oral y escrita en lal engua propia

CT6 - Conocimiento de una segunda lengua (preferentemente inglés)

CT7 - Habilidades básicas en el manejo del ordenador

CT8 - Habilidades de gestión de la información

CT9 - Resolución de problemas

CT12 - Trabajo en equipo

CT14 - Responsabilidad y compromiso ético

CT16 - Capacidad de aplicar los conocimientos en la práctica

CT18 - Capacidad de aprender

CT20 - Capacidad de generar nuevas ideas

CT21 - Habilidad para trabajar de forma autónoma y cumplir plazos.

7. Metodologías

Actividades presenciales:

  • Lección magistral: exposición de teoría y resolución de problemas
  • Realización de prácticas guiadas en laboratorio
  • Seminarios tutelados para grupos pequeños con exposición de trabajos
  • Sesiones de tutorías, seguimiento y evaluación, individuales en grupo
  • Exposición de trabajos y pruebas de evaluación

Actividades no presenciales:

  • Estudio autónomo por parte del estudiante, con especial atención a un enfoque práctico.
  • Revisión bibliográfica y búsqueda de información, especialmente en Internet.
  • Realización de prácticas y trabajos individuales y autónomos.

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

9. Recursos

Libros de consulta para el alumno.

Kernighan, B.y Ritchie, D. (1991). El Lenguaje De Programación C.Prentice Hall

García Peñalvo, F.et al. (2005). Programación En C. 3º edición. Departamento de Informática y Automática. Universidad de Salamanca

Gottfried, Byron (2005). Programación en C. McGRAW-HILL, Serie Schaum 2ª Ed. revisada

García-Bermejo Giner, J. (2008). Programación Estructurada En C. 1º edición., vol. 1 Pearson Educación

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

10. Evaluación

Consideraciones generales.

Con objeto de llevar a cabo una evaluación continua, se hace uso de la plataforma virtual para notificar las tareas y fechas de entrega de las mismas. Adicionalmente, la calificación de estas tareas es visible para el alumno interesado, que puede seguir su evolución de forma inmediata. Entre estas tareas se consideran las asociadas a los temas vistos en teoría, las asociadas a seminarios, y los resultados de las defensas que se soliciten en grupos de prácticas.

La evaluación considera especialmente relevantes los aspectos prácticos de la asignatura.

Criterios de evaluación.

Los objetivos generales y específicos de esta asignatura hacen que el conocimiento práctico resulte esencial, y por tanto los criterios de evaluación son básicamente relativos a los aspectos aplicados de los conceptos que se tratan.

Se plantearán al alumno varias pruebas de tipo test, con objeto de comprobar su comprensión de conceptos básicos sin los cuales no es posible abordar los problemas tratados.

Adicionalmente, se plantearán trabajos prácticos que, mediantela construcción de programas, muestren un conocimiento práctico adecuado para el estudio de otros temas avanzados.

Por último, se realizará un examen final en que el alumno deberá mostrar por escrito las capacidades adquiridas.

Instrumentos de evaluación.

Se propone una evaluación basada en tres mecanismos:

Evaluación continua teoría10%

Este apartado se refiere a pruebas tipo test efectuadas en Studium o en papel de lectora óptica en días programados, que se darán a conocer en clase y por la plataforma studium. El contenido de estas pruebas corresponderá a temas tratados en clases de teoría y de prácticas, con enfoque teórico práctico. Habrá dos pruebas y cada una de ellas tendrá el peso del 5%.

Evaluación continua prácticas 20%

Se realizarán dos pruebas prácticas sobre papel en días programados, que se darán a conocer en clase y por la plataforma studium. El contenido de estas pruebas corresponderá a temas tratados en las prácticas. Habrá dos pruebas y cada una de ellas tendrá el peso del 10%.

Realización de Exámenes 70%

El contenido del examen será teórico-práctico (parte tipo test y ejercicios prácticos a desarrollar sobre papel), y tendrá por objeto comprobar la correcta comprensión de los conceptos abordados en la asignatura, así como las capacidades adquiridas por el alumno.

Nota.- La nota de evaluación continua tipo test y de prácticas será la que se obtenga durante el desarrollo del curso. Se mantendrá la nota para la convocatoria extraordinaria del mismo curso académico.

 

Recomendaciones para la evaluación.

 

  • Se recomienda conocer de forma práctica los aspectos básicos y fundamentales del proceso de compilación (línea de órdenes, IDE).
  • Se recomienda conocer de manera práctica las estructuras de datos vistas a lo largo del curso, con especial atención a las estructuras dinámicas.
  • Se recomienda conocer de forma práctica el uso de archivos, tanto binarios como de texto, con especial atención al concepto de importación y exportación.
  • Finalmente, se recomienda construir programas que  hagan uso de las distintas  arquitecturas propuestas a  lo  largo del curso,con objeto de facilitar la reutilización de código.

Recomendaciones para la recuperación.

Se realizará un examen de recuperación (2ª convocatoria), para aquellos casos en los que, tras el primer examen final (1ª convocatoria), no se ha logrado la superación de la asignatura.

Los criterios de evaluación en la 2ª convocatoria son los mismos que en la primera (10% evaluación continua teoría + 20% evaluación continua prácticas + 70% examen final), por lo que el examen de recuperación solo permite recuperar en el 70% correspondiente al examen final. Las actividades de evaluación continua no son recuperables.

En ningún caso se mantendrán notas parciales para cursos posteriores