Teaching Guides Query



Academic Year: 2018/19

453 - Degree in Mathematics

27003 - Computer Science I


Teaching Plan Information

Academic Year:
2018/19
Subject:
27003 - Computer Science I
Faculty / School:
100 - Facultad de Ciencias
Degree:
453 - Degree in Mathematics
ECTS:
9.0
Year:
1
Semester:
453 - First semester
647 - Second semester
Subject Type:
Basic Education
Module:
---

1.1. Aims of the course

This course is aimed to introduce the students with no prior programming experience to practical skills for a computational approach to problem solving. The logical aptitude required for a mathematics student is a good passport to successfully grasp the modes of thinking involved in computer programming.

This course provides an introduction to the C programming language. It will be used CodeBlocks as the IDE for the practical lessons and the house work exercises.

4.1. Methodological overview

The methodology followed in this course is oriented towards the achievement of the learning objectives. A wide range of teaching and learning tasks are implemented, such as theory sessions, problem-solving sessions, laboratory sessions, autonomous work and study and group work.

4.2. Learning tasks

This course is organized as follows:

  • Theory sessions. 2.5 weekly hours. The teacher explains the theory contents to the entire group.
  • Problem-solving sessions. 1.5 weekly hours. In these sessions, the already explained theory is applied for the resolution of problems.
  • Laboratory sessions. 2 weekly hours. In small groups where different problems will be implemented in machine.
  • Tutorials. To set at the beginning of the course.
  • Autonomous work and study. where students can show their creativity in classroom and in the the blog of the course.

Group work. Where students can contribute together with their personal initiative to the construction of a wiki.

4.3. Syllabus

This course will address the following topics:

  • Topic 1. Programming Fundamentals
    • Binary representation
    • Algorithms and Programs
    • Programming Languages: C Language case
  • Topic 2. Data types, Variables and Constants
  • Topic 3. Decision Making and Loops
  • Topic 4. Pointers
  • Topic 5. Arrays:  Vectors, Matrices and Strings
  • Topic 6. Subprograms: Functions
  • Topic 7. Registers: Structures
  • Topic 8. Files I/O
  • Topic 9. Design of C Programs
  • Topic 10. Recursion
  • Topic  11. Search and Sorting Algorithms

4.4. Course planning and calendar

Each topic of the syllabus will take 1.5 weeks of explanation in average. Every topic is also associated with the corresponding laboratory practice.

Further information concerning the timetable, classroom, office hours, assessment dates and other details regarding this course will be provided on the first day of class or please refer to the Faculty of Sciences website and Moodle.

 

4.5. Bibliography and recommended resources

  • Problemas resueltos de programación en lenguaje C / Félix García Carballeira...[et al.] . - 1ª ed., 2ª reimp. Madrid : Thomson, 2004
  • Kernighan, Brian W.. El lenguaje de programación C / Brian W. Kernighan, Dennis M.Ritchie ; traducción, Nestor Gómez Muñoz ; revisión técnica, David Frid . 2a. ed. México [etc.] : Prentice-Hall Hispanoamericana, cop.1991
  • Schildt, Herbert. C manual de referencia / Herbert Schildt ; traducción Luis Hernandez Yañez ; revisión técnica Antonio Vaquero Sanchez . - 4a. ed. Madrid [etc.] : Osborne McGraw-Hill, D.L. 2000
  • Llanos Ferraris, Diego Rafael. Fundamentos de informática y programación en C / Diego R. Llanos Ferraris . Madrid : Paraninfo, 2010
  • Cerrada Somolinos, José Antonio. Fundamentos de programación / José A. Cerrada Somolinos, Manuel E. Collado Machuca . Madrid : Editorial universitaria Ramón Areces : UNED, D.L. 2010
  • García-Bermejo, J.R.. Programación estructurada en C. Pearson


Curso Académico: 2018/19

453 - Graduado en Matemáticas

27003 - Informática I


Información del Plan Docente

Año académico:
2018/19
Asignatura:
27003 - Informática I
Centro académico:
100 - Facultad de Ciencias
Titulación:
453 - Graduado en Matemáticas
Créditos:
9.0
Curso:
1
Periodo de impartición:
647 - Segundo semestre
453 - Primer semestre
Clase de asignatura:
Formación básica
Módulo:
Informática

1.1. Objetivos de la asignatura

La asignatura y sus resultados previstos responden a los siguientes planteamientos y objetivos:

Se trata de una asignatura de formación básica dentro del Grado de Matemáticas que pretende dotar al alumno de la capacidad de análisis efectivo y las herramientas necesarias para poder programar un problema, desde el aspecto formal de su modelización hasta el resultado concreto de su implementación y su viabilidad práctica.

1.2. Contexto y sentido de la asignatura en la titulación

Esta materia está encuadrada en el módulo de Informática y precede a la de Informática II que introduce la Programación Orientada a Objetos y las de Bases de Datos I y II que preparan para diseñar y gestionar bases de datos, dentro del mismo módulo. La metodología adquirida y las herramientas asimiladas también servirán en general como punto de apoyo para poder implementar y computar, y así poder trabajar desde un punto de vista más práctico, problemas de otras materias que tienen un enfoque más teórico y formal, tal como las de los bloques de Análisis y Ecuaciones diferenciales, o aquellas que directamente tienen una aplicación más directa tales como las de los módulos de Cálculo científico y Simulación numérica.

1.3. Recomendaciones para cursar la asignatura

Seguir las explicaciones de clase, trabajar los problemas propuestos, realizar las prácticas y trabajos estipulados, contribuir al blog de la asignatura, aprovechar las tutorías y preparar adecuadamente las pruebas voluntarias y los exámenes obligatorios.

 

2.1. Competencias

Al superar la asignatura, el estudiante será más competente para...

Desenvolverse en el manejo de los objetivos descritos (Ver apartado “Resultados de Aprendizaje”).

Distinguir ante un problema lo que es sustancial de lo que es accesorio, formular conjeturas y razonar para confirmarlas o refutarlas, identificar errores en razonamientos incorrectos, etc.

Trabajar en equipos, tanto interdisciplinares como restringidos al ámbito de las matemáticas, participando en las discusiones que se generen.

Utilizar aplicaciones informáticas con distintos tipos de software científico para experimentar en Matemáticas y resolver problemas.

Desarrollar algoritmos y programas que resuelvan problemas matemáticos, utilizando para cada caso el entorno computacional adecuado.

2.2. Resultados de aprendizaje

El estudiante, para superar esta asignatura, deberá demostrar los siguientes resultados:

Utiliza el formalismo matemático para el diseño y verificación de programas informáticos.

Implementa algoritmos en un lenguaje de programación estructurada.

Evalúa los resultados obtenidos y obtiene conclusiones después de un proceso de cómputo.

2.3. Importancia de los resultados de aprendizaje

Proporcionan una formación de carácter básico dentro del Grado de Matemáticas (ver Contexto y sentido de la asignatura en la titulación) y dotan al alumno de una metodología secuencial aplicable y exportable a otras disciplinas.

3.1. Tipo de pruebas y su valor sobre la nota final y criterios de evaluación para cada prueba

El estudiante deberá demostrar que ha alcanzado los resultados de aprendizaje previstos mediante las siguientes actividades de evaluacion

Realización de las prácticas: peso max. 10%

Contribuciones al blog de la asignatura: peso max. 10%.

Trabajo en grupo: peso max. 10%.

Examen final de la convocatoria oficial: peso min. 70%.

Sin menoscabo del derecho que, según la normativa vigente, asiste al estudiante para presentarse y, en su caso, superar la asignatura mediante la realización de una prueba global.

4.1. Presentación metodológica general

El proceso de aprendizaje que se ha diseñado para esta asignatura se basa en lo siguiente:

  • Sesiones teóricas donde se presentará gradualmente la materia al grupo completo.

  • Sesiones prácticas de problemas donde se aplicará la teoría explicada.

  • Sesiones de laboratorio en grupos pequeños donde se implementará en máquina y pondrá en práctica los conocimientos adquiridos.

  • Trabajo personal que se explicitará en las contribuciones al blog de la asignatura.

  • Trabajo en grupo a realizar durante de curso que se explicitará en la construcción de un wiki.

 

En cualquiera de los casos, el método empleado será el Aprendizaje basado en Problemas.

4.2. Actividades de aprendizaje

El programa que se ofrece al estudiante para ayudarle a lograr los resultados previstos comprende las siguientes actividades...

  • Sesiones teóricas, prácticas y de laboratorio según programadas en calendario oficial.

  • Tutorías a determinar y consensuar con el grupo completo.

  • Bibliografía, material suplementario y blog de la asignatura que se indicarán al principio de curso.

  • Trabajo personal y en grupo donde los alumnos pueden mostrar su creatividad y su iniciativa personal.

 

4.3. Programa

Temario del curso:

  • Fundamentos de programación. Representación binaria

  • Tipos de datos, variables y operadores

  • Sentencias de control

  • Punteros. Reserva dinámica de memoria

  • Arrays y cadenas

  • Subprogramas. Funciones

  • Registros. Estructuras

  • Ficheros. E/S por archivos

  • Diseño de programas. Proyectos

  • Recursividad. Algoritmos de ordenación y búsqueda

4.4. Planificación de las actividades de aprendizaje y calendario de fechas clave

Calendario de sesiones presenciales y presentación de trabajos

La planificación lineal de las enseñanzas seguirá este hilo temático:

  • Fundamentos de programación. Representación binaria

  • Tipos de datos, variables y operadores

  • Sentencias de control

  • Punteros. Reserva dinámica de memoria

  • Arrays y cadenas

  • Subprogramas. Funciones

  • Registros. Estructuras

  • Ficheros. E/S por archivos

  • Diseño de programas. Proyectos

  • Recursividad. Algoritmos de ordenación y búsqueda 

donde cada una de estas unidades temáticas tomará de media 1.5 semanas de explicación, y cada

una de ellas llevará asociada la práctica correspondiente en laboratorio.

 

Para llevar a cabo este programa se dispondrá del siguiente reparto temporal de las enseñanzas:

  • Sesiones teóricas de 2.5 horas semanales.

  • Sesiones prácticas de problemas de 1.5 horas semanales.

  • Sesiones de laboratorio de 2 horas semanales.

 

Los trabajos se presentarán tal como se indica en el punto 1 en el apartado ‘Fechas e Hitos Clave de la Asignatura’.

  • Contaje a final de curso del listado de ejercicios en clase y contribuciones al blog.

  • Entrega de un trabajo en grupo (wiki) antes del fin de curso.

  • Realización durante el curso de 3 pruebas prácticas en laboratorio y 2 pruebas escritas.

  • Realización del examen escrito correspondiente a la convocatoria oficial.

4.5. Bibliografía y recursos recomendados

  • Problemas resueltos de programación en lenguaje C / Félix García Carballeira...[et al.] . - 1ª ed., 2ª reimp. Madrid : Thomson, 2004
  • Kernighan, Brian W.. El lenguaje de programación C / Brian W. Kernighan, Dennis M.Ritchie ; traducción, Nestor Gómez Muñoz ; revisión técnica, David Frid . 2a. ed. México [etc.] : Prentice-Hall Hispanoamericana, cop.1991
  • Schildt, Herbert. C manual de referencia / Herbert Schildt ; traducción Luis Hernandez Yañez ; revisión técnica Antonio Vaquero Sanchez . - 4a. ed. Madrid [etc.] : Osborne McGraw-Hill, D.L. 2000
  • Llanos Ferraris, Diego Rafael. Fundamentos de informática y programación en C / Diego R. Llanos Ferraris . Madrid : Paraninfo, 2010
  • Cerrada Somolinos, José Antonio. Fundamentos de programación / José A. Cerrada Somolinos, Manuel E. Collado Machuca . Madrid : Editorial universitaria Ramón Areces : UNED, D.L. 2010
  • García-Bermejo, J.R.. Programación estructurada en C. Pearson