fundamentos de programacion uned guía asignatura 15-16

Upload: pupilaswanadoo

Post on 05-Jan-2016

6 views

Category:

Documents


0 download

DESCRIPTION

Fundamentos de Programacion UNED Guía asignatura 15-16

TRANSCRIPT

  • 1.PRESENTACIN DE LA ASIGNATURA

    2.CONTEXTUALIZACIN EN EL PLAN DE ESTUDIOS

    3.REQUISITOS PREVIOS REQUERIDOS PARA CURSAR LA ASIGNATURA

    4.RESULTADOS DE APRENDIZAJE

    ASIGNATURA DE GRADO:

    FUNDAMENTOS DE PROGRAMACIN

    Curso 2015/2016 (Cdigo:71901020)

    El objetivo de esta gua es orientar al alumno en el estudio de la asignatura de Fundamentos de Programacin. Se

    recomienda la lectura completa de la gua al comienzo del cuatrimestre para tener una idea completa del temario, las

    prcticas y el mtodo de evaluacin, lo que permitir al alumno una correcta planificacin de su trabajo. Esta asignatura se

    imparte en el primer cuatrimestre del primer curso, supone una carga docente de 6 crditos y es parte de la materia de

    fundamentos de programacin, con un carcter de formacin bsica para la titulacin de los grados en Ingeniera

    Informtica e Ingeniera de las Tecnologas de la Informacin.

    Esta asignatura, como se define en su titulo, es un curso de fundamentos de programacin y trata de introducir de forma

    progresiva y sistemtica los conceptos para una correcta metodologa de programacin. Se considera muy importante el

    acceso de manera natural e inmediata a la programacin del computador. Esto permite al alumno comprobar en la prctica

    que los ejemplos resueltos y los ejercicios propuestos funcionan correctamente. Como primera asignatura de la materia de

    fundamentos de programacin prepara adems para los contenidos que se ofrecen en el resto de las asignaturas de esta

    materia. Con esta asignatura se busca que el estudiante desarrolle las siguientes competencias generales:

    Capacidad de anlisis y sntesis de problemas. Aplicacin de los conocimientos a la prctica.

    Resolucin de problemas en entornos nuevos. Comunicacin y expresin tecnolgica

    Adems. con esta asignatura se trata de alcanzar las siguientes competencias especficas de la materia:

    Conocimiento de los fundamentos de la programacin de sistemas y su a plicacin a la resolucin de problemas propios de la

    ingeniera

    Capacidad para identificar y analizar problemas y disear, desarrollar, verificar y documentar soluciones software sobre la

    base de un conocimiento adecuado de las teoras, modelos y tcnicas actuales.

    Capacidad para emplear metodologas para el desarrollo, evaluacin y gestin de aplicaciones y sistemas basados en

    tecnologas de la informacin.

    Al tratarse de una asignatura de carcter introductorio, no se requiere ningn requisito previo ms all de los conocimientos

    generales que un alumno debe tener en este nivel de enseanza y los conocimientos especficos del manejo de un

    computador personal a nivel de usuario.

    El resultado fundamental del aprendizaje de esta asignatura es la adquisicin de manera progresiva y sistemtica de una

    correcta metodologa para la programacin de computadores. Las materias que se aprenden son las propias de un curso de

    primer nivel de programacin. A lo largo de la asignatura se van introduciendo de forma progresiva las estructuras y

  • 5.CONTENIDOS DE LA ASIGNATURA

    herramientas necesarias en cada punto del temario y que estn disponibles en cualquier lenguaje de programacin de

    propsito general. Los conceptos ms importantes que se adquieren son los siguientes:

    Conceptos bsicos de programacin e ingeniera de software

    Elementos bsicos: valores, tipos, constantes y variables.

    Estructuras bsicas: secuencia, seleccin e iteracin.

    Programacin estructurada.

    Funciones y procedimientos.

    Esquemas de recorrido y bsqueda.

    Definicin de tipos de datos. Formaciones. Registros.

    Punteros y estructuras no acotadas.

    Tipos abstractos de datos (TAD).

    Mdulos

    Como vehculo para la enseanza de la programacin se utiliza el lenguaje C (lase C-ms-menos), que est constituido

    por un subconjunto de los lenguajes C y C++. Por lo tanto, cualquier programa escrito en el lenguaje C se puede editar,

    compilar y ejecutar en un entorno de desarrollo para C/C++. Es muy importante usar un lenguaje real para poder

    programar de manera natural e inmediata el computador. Esto permite al alumno comprobar en la prctica que los ejemplos

    propuestos funcionan y as tambin adquirir como resultado del aprendizaje el conocimiento de un lenguaje de uso habitual

    en el desarrollo de software.

    Los resultados del aprendizaje dentro de la materia de la asignatura son los siguientes:

    Especificar problemas sencillos

    Disear programas que resuelvan problemas bien especificados

    Seleccionar y realizar la codificacin ms adecuada para un algoritmo

    Realizar pruebas de validacin y depuracin de un programa dado

    Dominar un lenguaje de programacin

    Los contenidos de este curso se organizan en los tres mdulos o unidades didcticas siguientes.

    UNIDAD DIDCTICA I TEMA 1. Introduccin

    Mquinas y programas Programacin e ingeniera de software Lenguajes de programacin Compiladores e Intrpretes Modelos abstractos de cmputo Elementos de la programacin imperativa Evolucin de la programacin

    TEMA 2. Elementos bsicos de programacin

    Lenguaje C Notacin BNF Valores y tipos Representacin de valores constantes Tipos predefinidos Expresiones aritmticas Operaciones de escritura simples Estructura de un programa completo

  • TEMA 3. Constantes y Variables

    Identificadores El vocabulario de C Constantes Variables Sentencia de asignacin Operaciones de lectura simple Estructura de un programa con constantes y variables

    TEMA 4. Metodologa de Desarrollo de Programas (I)

    La programacin como resolucin de problemas Descomposicin de un problema en subproblemas Desarrollo de programas por refinamientos sucesivos Aspectos de estilo

    TEMA 5. Estructuras Bsicas de la Programacin Imperativa

    Programacin estructurada Expresiones condicionales Estructuras bsicas en C

    TEMA 6. Metodologa de Desarrollo de Programas (II)

    Desarrollo con esquemas de seleccin e iteracin Ejemplos de desarrollo con esquemas Verificacin de programas Eficiencia de programas. Complejidad algortmica

    UNIDAD DIDCTICA II

    TEMA 7. Funciones y Procedimientos Concepto de subprograma Funciones Procedimientos Paso de argumentos Visibilidad. Estructura de bloques Recursividad de subprogramas Problemas en el uso de subprogramas

    TEMA 8. Metodologa de Desarrollo de Programas (III)

    Operaciones abstractas Desarrollo por refinamiento usando abstracciones Programas robustos

    TEMA 9. Definicin de tipos

    Tipos definidos Tipo enumerado El tipo predefinido bool Tipos estructurados Tipo formacin y su necesidad Tipo vector Vector de caracteres: Cadena (String) Tipo tupla y su necesidad Tipo registro (struct)

    TEMA 10. Ampliacin de estructuras de control Estructuras complementarias de iteracin Estructuras complementarias de seleccin Equivalencia entre estructuras

    TEMA 11. Estructuras de datos

  • 6.EQUIPO DOCENTE

    7.METODOLOGA Y ACTIVIDADES DE APRENDIZAJE

    Argumentos de tipo vector abierto Formaciones anidadas. Matrices El esquema unin Esquemas de datos y esquemas de acciones Estructuras combinadas

    UNIDAD DIDCTICA III

    TEMA 12. Esquemas tpicos de operacin con formaciones Esquema de recorrido Bsqueda secuencial Insercin Ordenacin por insercin directa Bsqueda por dicotoma Simplificacin de las condiciones de contorno

    TEMA 13. Punteros y variables dinmicas

    Estructuras de datos no acotadas La estructura secuencia Variables dinmicas Realizacin de secuencias mediante punteros Punteros y paso de argumentos Punteros y vectores en C y C++

    TEMA 14. Tipos abstractos de datos

    Concepto de tipo abstracto de datos (TAD) Realizacin de tipos abstractos en C Metodologa de desarrollo basada en abstracciones

    TEMA 15. Mdulos

    Concepto de mdulo Mdulos en C Desarrollo modular basado en abstracciones

    ISMAEL ABAD CARDIEL

    JOSE ANTONIO CERRADA SOMOLINOS

    RUBEN HERADIO GIL

    La metodologa seguida para el aprendizaje de esta asignatura es la propia de una universidad a distancia, que se

    caracteriza por el empleo conjunto de medios impresos, audiovisuales y de las nuevas tecnologas. Los materiales docente

    especficos, las comunidades virtuales de aprendizaje, la asistencia presencial a los estudiantes a travs de los profesores

    tutores de los Centros Asociados y el uso de los diversos sistemas de comunicacin (telfono, videoconferencia, radio,

    televisin, correo electrnico, etc.) son los medios con que cuenta la UNED para la enseanza a distancia y todos ellos son

    utilizados en esta asignatura.

    Adicionalmente, el equipo docente mantendr actualizada una pgina web completamente especfica para la asignatura en la

    direccin:

    http://www.issi.uned.es/fp/

  • 8.EVALUACIN

    9.BIBLIOGRAFA BSICA

    La evaluacin de la asignatura se realizar mediante pruebas presenciales y una evaluacin continua basada en la

    realizacin de unas prcticas con un grado de dificultad creciente.

    Evaluacin continua: Prcticas.

    Las prcticas son voluntarias y su realizacin podr incrementar la nota de la prueba presencial hasta un mximo de UN

    PUNTO, pero slo cuando en el test se tenga 6 ms respuestas correctas. Es necesaria la realizacin correcta de las

    CUATRO prcticas para optar al incremento del punto y slo necesitar las 6 respuestas correctas. Las prcticas se podrn

    realizar en cualquier computador al que pudiera tener acceso el alumno utilizando el entorno de programacin para el

    lenguaje C.

    La entrega y evaluacin de las prcticas slo se podr realizar antes de presentarse al examen de la convocatoria de

    febrero con la fecha tope que se publicar en la pgina web de la asignatura. Si no se entregan las prcticas antes de dicha

    fecha se entiende que se est renunciando a la evaluacin continua del curso.

    La instalacin del entorno de programacin, el manejo bsico y avanzado del entorno de programacin, los enunciados de

    las prcticas, el mtodo de correccin de las prcticas, etc., estn descritos en el libro indicado en la bibliografa bsica:

    Prcticas de Programacin en C.

    Pruebas Presenciales: Exmenes.

    Constar de dos partes:

    Primera parte: 10 preguntas tipo test (3 puntos).

    Segunda parte: Ejercicio (6 puntos).

    Las respuestas del test se marcarn en la hoja que se entregar en el examen. El test es eliminatorio y se necesitan al

    menos 8 respuestas correctas (6 respuestas si se han realizado las prcticas).

    La solucin final al ejercicio de la segunda parte se podr utilizar todo el papel que se considere necesario pero se valorar

    positivamemente la claridad y concrecin de la respuesta.

    Para realizar la prueba personal no se permitir el uso de ningn material auxiliar. En la pgina web de la asignatura se

    mantendr actualizada toda la informacin de interes para el alumno con los posibles cambios que se pudieran introducir a lo

    largo del curso. Adems, en esta pgina se podrn consultar las soluciones de los exmenes, las notas de las prcticas y las

    notas de los exmenes.

    Comentarios y anexos:

    El libro de texto base por el que se sigue completamente la asignatura es: Titulo: Fundamentos de Programacin. Autores: Jos A. CERRADA y Manuel. COLLADO Edicin: Madrid 2010 Editorial Centro de Estudios Ramn Areces, S.A. Madrid, Tel.: 91 506 11 90. Fax: 91 468 19 52. Para la realizacin de las prcticas el libro de texto es el siguiente: Titulo: Practicas de Programacin en C Edicin: Madrid 2010. Autores: Ismael ABAD, Jos A. CERRADA, Rubn HERADIO y Manuel COLLADO Edicin: Madrid 2010 Editorial Centro de Estudios Ramn Areces, S.A. Madrid, Tel.: 91 506 11 90. Fax: 91 468 19 52.

  • 10.BIBLIOGRAFA COMPLEMENTARIA

    11.RECURSOS DE APOYO

    12.TUTORIZACIN

    Comentarios y anexos:

    Las siguientes obras pueden ser de alguna utilidad para ampliar la preparacin de la asignatura. No obstante, el texto base se ajusta completamente al programa. Miguel ngel ACERA GARCA: C/C++. Edicin revisada y actualizada 2010. Anaya Multimedia, 2009 Jos Luis BALCAZAR: Programacin metdica. McGraw-Hill, 2001. Francisco J. CEBALLOS SIERRA: C/C++ Curso de programacin. Tercera edicin. Editorial RA-MA, 2007. Harvey M. DEITEL y Paul J. DEITEL: Como programar C++. Prentice Hall Mexico, 2003. Jos Rafael GARCA-BERMEJO: Programacin estructurada en C. Pearson Educacion. 2008 Luis JOYANES AGUILAR: Programacin en C++. Algoritmos, estructuras de datos y objetos. Segunda edicin. McGraw-Hill, 2006. Brian W. KERNIGHAN y Dennis M. RITCHIE: El lenguaje de programacin C.Segunda edicin. Prentice-Hall Iberoamericana. 1991. Ricardo PEA MAR: Diseo de programas. Formalismo y abstraccin. Tercera edicin. Pearson Educacion, 2005. Bjarne STROUSTRUP: El lenguaje de programacin C++. , 2002.

    Todos los recursos de apoyo adicionales para el estudio de la asignatura se pondrn a disposicin de los alumnos en la pgina web: http://www.issi.uned.es/fp/ en la que se mantendr actualizada la ultima versin del software del entorno de programacin necesario para la realizacin de los ejercicios y las prcticas.

    La tutorizacin presencial de la asignatura se realizar en los Centros Asociados correspondientes. La tutorizacin virtual o

    seguimiento de los aprendizajes se realiza a travs del Curso Virtual de la asignatura, implantado en la plataforma oficial de

    la UNED para enseanzas oficiales. A dicha plataforma se accede a travs de la pgina principal de la Web de la UNED,

    mediante las claves que se facilitan al formalizar la matrcula.

    Para cualquier consulta adicional, el horario de atencin al alumno es:

    Los das de la semana indicados junto a los telfonos en horario de 16 a 20 h.

  • Lugar: Locales de la ETSI Informtica de la UNED.

    Edificio Interfacultativo.

    C/ Juan del Rosal, 16.

    Departamento de Ingeniera de Software y Sistemas Informticos.

    Tels 91 398 86 54 (Lunes)

    91 398 82 42 (Jueves de 10 a 14 h.)

    91 398 64 78 (Jueves)