EDICIÓN MAT22
CURSOS THALES - ONLINE - XXVII Edición - Segunda Convocatoria (Octubre - Diciembre 2022)
INFORMACIÓN GENERAL
Código: | 10-PROGRAMA |
Título: | Programación informática: Algoritmos + estructuras de datos = Programas |
Descripción: | La programación informática se ha convertido en una de las actividades de mayor difusión e impacto en distintos ámbitos. Alrededor de la programación informática se han creado de hecho diferentes profesiones especializadas en aspectos específicos, desde analistas hasta programadores. Pero la programación informática se puede contemplar también desde un punto de vista más amplio en tanto que disciplina que aborda la resolución óptima de problemas y su implementación como sistemas informáticos, y en este sentido hay una línea clara que aboga por la incorporación de la formación en ciencias de la computación incluso en niños, para las etapas primaria y secundaria. Además, la enorme proliferación del uso de dispositivos con componentes informáticos y la difusión de Internet y las redes sociales, ha multiplicado exponencialmente las especialidades, los lenguajes de programación, las posibles aplicaciones, etc. Este curso parte de este contexto general e intenta concentrarse en los fundamentos de la programación informática. Un tema apasionante y con interesantes derivaciones y aplicaciones en el mundo de la enseñanza. Por tanto el curso, aborda los fundamentos de la programación, pero para ello utiliza un lenguaje en concreto, C, cuya motivación analizamos a continuación, y cuestiones de enorme importancia como son el diseño de algoritmos y estructuras de datos. En la historia de los lenguajes de programación, el lenguaje C es ya un gran veterano, que goza de una estupenda salud. De acuerdo con el índice TIOBE1 de popularidad de los lenguajes de programación, el gráfico que se muestra a continuación indica que C se ha mantenido como uno de los principales lenguajes en los últimos años (junto con Java), habiendo llegado a la posición número 1 recientemente. ![]() Por otro lado, en cuanto a los lenguajes más demandados actualmente por los estudiantes de informática, C es el segundo lenguaje (tras Java) y delante de otros lenguajes como C++ y C#. C representa el paradigma clásico de programación imperativa o procedimental, y el modelo de organización y gestión de la memoria, así como su estructura de instrucciones permiten los mayores niveles de eficiencia en la programación. Por su cercanía al modelo de cómputo a bajo nivel que ejecuta la CPU de un ordenador, además de la eficiencia, este lenguaje permite una adecuada comprensión de los modelos básicos de computación, desde la gestión de memoria, los modelos de control de ejecución, la comunicación entre procesos, etc. Finalmente, es interesante destacar que C sigue siendo uno de los principales lenguajes demandados para trabajar en el sector de las tecnologías. De hecho, prácticamente todas las ofertas de trabajo en este sector exigen el conocimiento avanzado de C, Java o ambos.
|
Profesorado: | Fernando Sancho Caparrini José Francisco Quesada Moreno Pedro Almagro Blanco Alejandro Ruiz Martínez |
Programa: |
|
Objetivos: |
|
Calendario: | El curso se desarrollará entre el 18 de Febrero y el 24 de Junio de 2015. Todo el material se distribuirá en una serie de entregas organizadas periódicamente. |
Metodología: | El curso se basa en la utilización de una plataforma Web para la enseñanza-aprendizaje a través de Internet. Dicha plataforma permite la organización del material de acuerdo con los objetivos y los contenidos programados. Es decir, el curso se organiza a través de un conjunto de temas, para cada uno de los cuales se facilitará tanto el desarrollo del tema correspondiente, así como un conjunto de ejemplos ilustrativos de la materia del tema. Puesto que se trata de un curso muy práctico dirigido a presentar y adquirir una serie de competencias en el campo de la programación de aplicaciones informáticas con el entorno Python, se facilitan el código fuente de estos ejemplos para agilizar la implementación y estudio de cada tema. Así mismo, cada tema incluye un conjunto de ejercicios que será necesario realizar para superar el curso. Los ejercicios se han diseñado pensando en el modelo progresivo de aprendizaje de un entorno y lenguaje de programación. Para facilitar la resolución de las dudas y la colaboración en un entorno integrado de enseñanza-aprendizaje, el curso contará con una serie de mecanismos de comunicación tutor-alumno, entre los que destacan la creación de una serie de foros, tanto genéricos (dudas y comentarios acerca del curso y su seguimiento) como específicos por temas o tópicos de especial interés. |
Evaluación: | De acuerdo con las directrices generales especificadas para la metodología del curso, la evaluación para la superación del mismo se basa en la realización de los ejercicios propuestos en cada tema. Cada alumno debe realizar estos ejercicios individualmente y enviar la solución al profesor del curso mediante los canales de control de tareas internos al propio entorno virtual de enseñanza-aprendizaje, en el que quedan reflejadas las fechas y valoración de cada una de las tareas. |
Requisitos: | No existen requisitos previos específicos para la realización de este curso. El curso se impartirá de forma que pueda ser seguido tanto por usuarios y programadores de entornos Windows como Linux. No obstante, se recomienda un nivel de competencias mínimo para la realización de tareas tales como descargar, instalar y configurar los sistemas que forman el entorno sobre el que se desarrolla el curso. |
Bibliografía: | Brian W. Kernighan, Dennis M. Ritchie (1991): El lenguaje de programación C. México. Prentice-Hall. Raquel Martínez-Fernández et al (2013): Ejercicios de programación en C. Madrid. Sección de Publicaciones de la E.T.S.I. Industriales. Universidad Politécnica de Madrid. Diego R. Llanos Ferraris (2010): Fundamentos de informática y programación en C. Madrid, Paraninfo. José Rafael García-Bermejor Giner (2008): Programación estructurada en C. Madrid, Pearson-Prentice Hall.
|
Otros: | |
Descripción reducida del curso |