Inicio >> Docencia >> Titulación >> Asignaturas/Cursos >> Presentación
           --

Programación I (101102)


Presentación Grupos Recursos Bibliografía Exámenes Avisos

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
  • Procesadores de Lenguaje (optativa)
  • Animación Digital (optativa)
  • Desarrollo de Aplicaciones Avanzadas (optativa)

Papel de la asignatura dentro del Bloque formativo y del Plan de Estudios

Esta asignatura es el primer contacto del alumno con las cuestiones relacionadas con Programación, y aporta unas bases que se desarrollarán posteriormente en Programación II, Programación III (POO) y las demás asignaturas de esta Materia. La programación, con distintos paradigmas y lenguajes, constituye el esqueleto de esta titulación, puesto que permite implementar los conceptos que se aportan a lo largo y ancho de todo el Plan de Estudios. Es imprescindible dominar los métodos y conceptos que se aportan en estas asignaturas para llegar a un correcto aprovechamiento en el Grado en Informática.

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 graduados será el adecuado para entrar en el mercado laboral, o quizá para abordar la realización de un Máster que complemente su formación.

Recomendaciones previas

Al tratarse de una asignatura de primer curso, no es posible recomendar asignaturas anteriores. Sin embargo, se observa lo siguiente:

  • Un conocimiento razonable del manejo de ordenadores personales (con nivel de usuario) facilita los primeros pasos. Resulta especialmente necesario conocer los conceptos básicos de los sistemas de archivos, tanto desde el punto de vista de la línea de órdenes como empleando alguna interfaz gráfica de usuario. En general, el conocimiento de sistemas operativos (especialmente los basados en Unix) facilitará la comprensión de esta asignatura.
  • El desarrollo de capacidades lógicas, especialmente las que se adquieren mediante el estudio de disciplinas científicas, facilita mucho la comprensión y utilización de las herramientas de programación.
  • La enorme cantidad de información disponible en Internet, y especialmente en lo tocante a Programación, hace que sea muy conveniente saber usar los principales buscadores de la red.
  • El correcto conocimiento del idioma Inglés resulta esencial, puesto que un porcentaje muy elevado de los contenidos de Internet hacen uso de este idioma. En general, el conocimiento de idiomas (inglés, francés, alemán, italiano y cualquier otro) es realmente muy deseable, tanto a efectos de obtener información como desde un punto de vista laboral, por cuanto la empresa (y la Universidad) aprecian mucho la capacidad de comunicación con el resto de la UE.

Finalmente, el interés por cuestiones relacionadas con el manejo de ordenadores para resolver problemas de todo tipo es realmente el único requisito imprescindible para abordar con éxito esta asignatura.

Objetivos 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 un lenguaje basado en el paradigma de programación estructurada
  • Conocer y manejar tipos de datos primitivos
  • Conocer y manejar tipos estructurados homogéneos
  • Conocer y manejar las estructuras de control de flujo
  • Conocer y manejar subprogramas
  • Conocer y manejar técnicas básicas de compilación
Contenidos

Teoría

  1. Diseño de programas. Lenguajes de programación
  2. Elementos básicos del C.
  3. Operadores, expresiones y funciones de biblioteca.
  4. Sentencias de control alternativas.
  5. Sentencias de control repetitivas.
  6. Arrays: vectores y matrices. Cadenas de caracteres.
  7. Punteros. Relación entre los punteros y los arrays.
  8. Funciones. Paso de parámetros por valor y por referencia.

 

Competencias a adquirir

Específicas

Básicas
  • CECB3 - 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.
  • CECB4 - 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.
  • CECB5 - Conocimiento de la estructura, organización, funcionamiento interconexión de los sistemas informáticos, los fundamentos de su programación, y su aplicación para la resolución de problemas propios de la ingeniería.
Comunes
  • CECC1 - 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.
  • CECC6 - Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas.
  • CECC7 - 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.
  • CECC8 - Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente.
De tecnología específica
  • Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema.
  • CECO6 - Capacidad para desarrollar y evaluar 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

  • Conocimientos generales básicos
  • Conocimientos básicos de la profesión
  • Capacidad de análisis y síntesis
  • Capacidad de organizar y planificar
  • Comunicación oral y escrita en la lengua propia
  • Conocimiento de una segunda lengua (preferentemente inglés)
  • Habilidades básicas en el manejo del ordenador
  • Habilidades de gestión de la información
  • Resolución de problemas
  • Trabajen equipo
  • Responsabilidad y compromiso
  • Capacidad de aplicar los conocimientos en la práctica
  • Capacidad de aprender
  • Capacidad de generar nuevas ideas
  • Habilidad para trabajar de forma autónoma y cumplir plazos.
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.
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.  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, realizadas a través de Studium, 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, mediante la construcción de programas, muestren un conocimiento práctico adecuado para el estudio de otros temas avanzados (como los que se abordarán en Programación II y III). 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 10%
Este apartado se refiere a pruebas efectuadas en Studium de manera periódica. El contenido de estas pruebas corresponderá a temas tratados en clases de teoría y seminarios. Se realizará una prueba al final de cada tema.
  • Defensa de prácticas 20%
A diario se le pueden plantear al alumno la entrega de diferentes prácticas planteadas en los guiones de la asignatura. A mayores se contempla la realización de prácticas más completas a lo largo del curso. Estas prácticas se realizarán sobre papel en clase de prácticas o bien serán presentadas a través de Studium, y en este último caso defendidas posteriormente si el profesor lo estima oportuno.
  • Realización de Exámenes 70%
El contenido del examen será eminentemente teórico-práctico, 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 será la que se obtenga durante el desarrollo del curso, por lo que no es posible obtener nota en esta apartado si no se realizan las tareas al ritmo que se van proponiendo (no existirá posibilidad de realizar las mismas posteriormente). Se  mantendrá la nota para la convocatoria extraordinaria del mismo curso académico.

Recomendaciones

Recomendaciones para la evaluación

  • Se recomienda estudiar y practicar los aspectos básicos de la programación estructurada, por ser este el tema principal de Programación I.
  • Se recomienda conocer de forma práctica los aspectos básicos y fundamentales del proceso de compilación (línea de órdenes), relegando aspectos más avanzados (IDE) para Programación II.
  • Se recomienda conocer de manera práctica las estructuras de datos y de control vistas a lo largo del curso.
  • Se recomienda conocer de forma práctica el uso de tipos de datos estructurados, así como el de los mecanismos sencillos de iteración.
  • Se recomienda conocer de forma práctica el uso de subprogramas, paso de parámetros y devolución de resultados por distintas vías.
  • Finalmente, se recomienda construir programas partiendo de cero, empleando únicamente las herramientas básicas de edición y compilación vistas a lo largo del curso.

Recomendaciones para la recuperación

Se recomienda utilizar un enfoque totalmente práctico para abordar esta asignatura. Las técnicas memorísticas producen siempre resultados nefastos, puesto que un pequeño cambien los requisitos de un programa puede dar lugar al uso de técnicas muy distintas de las que quizá se considerasen inicialmente.
Se recomienda “jugar” haciendo programas. Los conocimientos adquiridos de forma autónoma no se olvidan fácilmente, aunque se cuente siempre con la ayuda del profesor.

Datos de interés

El servidor maxus (maxus.fis.usal.es) contiene información relativa a Programación; de hecho se ofrece al alumno una extensa colección de exposiciones teóricas, ejercicios, gráficas, enlaces y sugerencias.

Profesorado
Angélica González Arrieta
Correo electrónico
Juan Carlos Álvarez García
Correo electrónico
Iván Álvarez Navia
Correo electrónico
Fernando De La Prieta Pintado
Correo electrónico
Resurrección Gutiérrez Rodriguez
Correo electrónico
Juan Andrés Hernández Simón
Correo electrónico
Otros datos

Créditos: 6.0 (3.0 T + 3.0 P) , Primer cuatrimestre , Básica , Número de grupos de teoría: 2 , Número de grupos de práctica: 8 , Página de la asignatura

Grado en Ingeniería Informática Primer curso

Áreas de Conocimiento
Ciencia de la Computación e Inteligencia Artificial
Lenguajes y Sistemas Informáticos
---
Identificarse Certificado raíz de la autoridad de certificación Accesibilidad
Idioma inglés
Advertencia sobre la información contenida en esta aplicación Web
© 2018 Departamento de Informática y Automática - Universidad de Salamanca
Webmaster: Correo electrónico
Versión Móvil
[Contenido semántico de esta página]
Cliente de mensajería instantánea para usuarios de Diaweb Acerca de