DESCRIPCIÓN DE LA ASIGNATURA
Grado en:
Ingeniería Informática
Asignatura:
Fundamentos de la programación
Asignatura en inglés:
Fundamentals of Programming
Curso y cuatrimestre:
1º (1er Cuatrimestre)
ECTS:
6
Tipología:
Básica
Idioma de impartición:
Español
Módulo:
Materias básicas
Materia:
Informática
Departamentos:
Ingeniería del Software e Inteligencia Artificial, Sistemas Informáticos y Computación
Coordinador:
Pendiente de asignación
CONTENIDOS MÍNIMOS
  • Tipos simples
  • Instrucciones (asignación, condicional, bucles)
  • Abstracción procedimental
  • Tipos estructurados (arrays de una o más dimensiones, registros)
  • Ficheros
PROGRAMA DETALLADO
  1. Computadoras y programación: Introducción a la Informática. Repaso histórico. La programación como resolución de problemas. Concepto de algoritmo. Lenguajes de programación. Sintaxis de los lenguajes. Introducción a la ingeniería del software. Entornos de desarrollo.
  2. Tipos e instrucciones I: Elementos del programa. Edición, compilación y enlace. Errores. Datos de los programas. Entrada/salida por consola. Valores literales y variables. Identificadores. Tipos de datos básicos. Constantes. La asignación. Datos y memoria. Operadores y expresiones. Funciones predefinidas. Instrucciones. Bloques de instrucciones. Selección e iteración. Funciones definidas por el programador.
  3. Tipos e instrucciones II: Más sobre los tipos de datos básicos. Tipos enumerados. Conversiones de tipos. Entrada/salida con archivos de texto. Instrucciones de selección. Más sobre condiciones. Instrucciones de iteración: bucles con número de iteraciones predeterminado; bucles condicionados. Secuencias. Esquemas de recorrido y búsqueda. Arrays de datos simples.
  4. La abstracción procedimental: Diseño descendente. Forma general de una función. Parámetros. Tipos de parámetros. Paso por valor/referencia. Argumentos. Declaración de la función. Prototipos. Modelo de ejecución. Resultado de la función.
  5. Tipos de datos estructurados: Colecciones homogéneas. Arrays unidimensionales y cadenas de caracteres. Colecciones heterogéneas. Composición de arrays y estructuras.
PROGRAMA DETALLADO EN INGLÉS
  1. Computers and Programming: Introduction to Computer Science. A little history. Programming as a problem-solving task. The concept of algorithm. Programming languages. Language syntax. Introduction to software engineering. Development environments.
  2. Types and Instructions I: Program elements. Editing, compiling and linking. Errors. Program data. Console in-put/output. Literal values and variables. Identifiers. Basic data types. Constants. Assign-ment. Data and memory. Operators and expressions. Predefined functions. Instructions. Code blocks. Selection and iteration. User-defined functions.
  3. Types and Instructions II: More about basic data types. Enumerated types. Type conversions. Input/output with text files. Selection instructions. More about conditions. Iteration instructions: loops with a fixed number of iterations; conditional loops. Sequences. Traversal and search schemes. Simple data arrays.
  4. Procedural Abstraction: Descendent design. General form of a subprogram. Parameters. Parameter types. Pass by value/reference. Arguments. Subprogram declaration. Prototypes. Execution model. The functions return a result.
  5. Structured Data Types: Homogeneous collections. One-dimensional arrays and character strings. Heterogeneous collections. Composition. Variable length lists.
RESULTADOS DE APRENDIZAJE
Conocimientos
  • Al finalizar el aprendizaje, el o la estudiante será capaz de demostrar conocimiento básico de las diferentes subdisciplinas de la ingeniería informática y de las técnicas básicas y conocimientos de estas para la integración en equipos multidisciplinares como profesional generalista en ingeniería informática.
Habilidades
  • Al finalizar el aprendizaje, el o la estudiante será capaz de identificar los algoritmos, estructuras de datos, paradigmas de la programación, lenguajes y las prácticas de ingeniería del software más adecuados para asegurar la fiabilidad, seguridad y calidad de aplicaciones en problemas que requieran una solución informática.
  • Al finalizar el aprendizaje, el o la estudiante será capaz de analizar las necesidades en algorítmica, complejidad computacional, programación, sistemas operativos, bases de datos, estructura, arquitectura e interconexión de sistemas informáticos necesarios para la resolución de problemas de ciencias e ingeniería, de acuerdo con los principios de calidad, fiabilidad y seguridad necesarios y dentro del marco institucional y jurídico de la empresa.
Competencias

No tiene

ACTIVIDADES FORMATIVAS
Presenciales
Actividad Horas
CTM - Clases teóricas magistrales 30
AEV - Actividades de evaluación 5
CL - Clases de laboratorio 30
Totales 65
No Presenciales
Actividad Horas
TPN - Trabajo personal no dirigido 90
Totales 90
EVALUACIÓN DETALLADA

La calificación se compondrá de varias calificaciones parciales de las distintas tareas llevadas a cabo por el estudiante. A continuación se indican los porcentajes del peso de cada actividad en la calificación final en ambas convocatorias (ordinaria y extraordinaria):

  • Examen final (ordinario/extraordinario): 70%
  • Actividades y pruebas prácticas: 30% (a determinar por cada profesor) Para poder aprobar en cualquier convocatoria se requerirá al menos una calificación de 5 sobre 10 en el examen final. Dado que las actividades y pruebas prácticas se realizan a lo largo del cuatrimestre, su calificación es usada en ambas convocatorias, sin que haya posibilidad de recuperarlas en convocatoria extraordinaria.

BIBLIOGRAFÍA
    Recomendada
    Complementaria

No tiene