• No se han encontrado resultados

Guía Docente 2015/2016

N/A
N/A
Protected

Academic year: 2021

Share "Guía Docente 2015/2016"

Copied!
12
0
0

Texto completo

(1)

lf:

Guía Docente 2015/2016

Fundamentos de programación

Fundamentals of Programming

Grado en Ingeniería en Sistemas de

Telecomunicación

(2)

Fundamentos de Programación

Fundamentos de Programación - Telf: (+34) 968 278825

Índice

Fundamentos de Programación ...3

Breve descripción de la asignatura ...3

Requisitos Previos ...3

Objetivos ...3

Competencias y resultados de aprendizaje ...4

Metodología ...4

Temario ...5

Relación con otras asignaturas del plan de estudios ...9

Sistema de evaluación ...9

Bibliografía y fuentes de referencia ... 10

Web relacionadas ... 10

Recomendaciones para el estudio ... 11

Material necesario ... 11

(3)

Fundamentos de Programación

Fundamentos de Programación - Telf: (+34) 968 278825

Fundamentos de Programación

Módulo: Formación Básica

Materia: Fundamentos de programación Carácter: Obligatoria

Nº de créditos: 4,5 ECTS

Unidad Temporal: [1er Curso – 1er Semestre]

Profesor/a responsable de la asignatura: Fernando Pereñíguez García (web profesorado)

Email: [email protected]

Horario de atención a los alumnos/as: Lunes 11:00 a 13:00. Fuera de este horario se pueden atender tutorías a petición del alumno. Preferiblemente se pedirán las citas por el campus virtual, pero se puede poner también por correo electrónico.

Profesor coordinador de curso: Francisco José Martínez Albadalejo Profesora coordinadora de módulo: José Francisco Castejón Monchón

Breve descripción de la asignatura

Esta asignatura establece los principios básicos de la programación. Permite al alumno familiarizarse con conceptos como algoritmos, lenguajes de programación, variables, programación estructurada y a construir programas básicos con funcionalidades muy concretas. Establece las bases en las que se sustentarán el resto de asignaturas de esta área de conocimiento.

Brief Description

This subject establishes the basic principles of programming. It allows students to learn concepts such as algorithms, programming languages, variables, structured programming and make basic programs that are required to accomplish some requirements. This subject is fundamental and establishes the basis for subjects related to programming.

Requisitos Previos

No existen requisitos previos

Objetivos

1. Adquirir los conocimientos básicos sobre programación.

2. Desarrollar programas aplicando técnicas de programación estructurada y usando los elementos que los entornos de desarrollo proporcionan.

3. Elaborar interfaces de usuario que cumplan los requisitos dados.

4. Conocer el lenguaje de programación C como lenguaje de programación estructurada. 5. Usar las librerías más importantes de C y saber desarrollar librerías nuevas.

(4)

Fundamentos de Programación

Fundamentos de Programación - Telf: (+34) 968 278825 6. Evaluar y desarrollar escenarios de prueba para comprobar el correcto funcionamiento de

los programas.

Competencias y resultados de aprendizaje

Competencias básicas

B2. 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.

Competencias específicas

C7. Conocimiento y utilización de los fundamentos de la programación en redes, sistemas y

servicios de telecomunicación.

Resultados de aprendizaje

RA. Ajustar su comportamiento a los cambios y exigencias que plantean nuevas situaciones.

RA. Gestionar el aprendizaje propio y reconocer la necesidad de seguir aprendiendo a lo largo de

su vida.

RA. Decidir, de manera integral y crítica, entre diferentes opciones.

RA. Ser capaz de presentar brevemente a un variado número de destinatarios (de forma oral,

electrónica o escrita) racional y razonadamente argumentos que apoyen la información dada, gestionando el problema o la oportunidad. Esto debe incluir una valoración del impacto de las nuevas tecnologías.

RA. Saber interpretar e implementar todas las especificaciones (funcionales, hardware, de

comunicaciones, etc.) encaminadas al desarrollo y mantenimiento de los Sistemas Informáticos.

RA. Tener conocimiento demostrativo y comprensivo de hechos esenciales, conceptos, principios y

teorías relativas a la informática y a las aplicaciones informáticas como apropiadas para el estudio de programas.

Metodología

Metodología Horas Horas de trabajo

presencial Horas de trabajo no presencial Clases en el aula 9 45 horas (40 %) Prácticas 20 Evaluación 8 Tutorías 8

(5)

Fundamentos de Programación

Fundamentos de Programación - Telf: (+34) 968 278825 Actividades de aprendizaje virtual 10 Realización de ejercicios, presentaciones, trabajos y casos prácticos 33,5 Lecturas recomendadas y búsqueda de información 7 TOTAL 112,5 45 67,5

Temario

Programa de la enseñanza teórica

Tema 1. Introducción a la Programación. 1. Programa.

2. Lenguaje de Programación. 3. Compilador.

4. Algoritmo. 5. Pseudocódigo.

Tema 2. Conceptos básicos de C. 1. Estructura de un programa en C. 2. Elementos de un programa en C. 3. Comentarios.

4. Concepto de variable e inicialización de variables. 5. Concepto de constante e inicialización de constantes. 6. Identificadores y palabras reservadas.

Tema 3. Entrada/Salida Formateada. 1. La función Printf.

2. La función Scanf. Tema 4. Tipos de Datos.

(6)

Fundamentos de Programación

Fundamentos de Programación - Telf: (+34) 968 278825 a. Enteros.

b. Coma flotante (reales). c. Caracteres.

d. Booleanos. 2. Constantes

Tema 5. Conversión de Tipos de Datos. 1. Conversiones de tipos:

a. Implícitas (Reglas). b. Explícitas (Casting). 2. Definiciones de tipos: typedef. 3. El operados sizeof

Tema 6. Operadores y expresiones. 1. Expresiones.

2. Operadores aritméticos.

3. Precedencia de operadores. Asociatividad. 4. Asignación. Asignación compuesta.

5. Operadores de incremento y decremento. 6. Evaluación de expresiones. Orden.

7. Expresiones como sentencias. Tema 7. Control de flujo: Selección.

1. Estructuras de control. 2. Expresiones lógicas. 3. Operadores relacionales. 4. Operadores lógicos. 5. Evaluación de expresiones. 6. La sentencia if. 7. Expresiones condicionales.

(7)

Fundamentos de Programación

Fundamentos de Programación - Telf: (+34) 968 278825 8. Tipo de datos booleano.

9. La sentencia switch. Tema 8. Control de flujo: Iteración.

1. La sentencia while. 2. La sentencia do. 3. La sentencia for.

4. Saliendo de un bucle: break y continue. 5. Saliendo de un bucle: goto.

6. La sentencia Null (nula). Tema 9. Funciones.

1. Definiendo una función. 2. Llamadas a funciones. 3. Argumentos y parámetros. 4. Declaración de funciones.

5. Paso de parámetros por valor y por referencia. 6. Conversión de argumentos.

7. La sentencia return.

8. Terminación del programa. Tema 10. Recursividad. 1. Definición de recursividad. 2. Condiciones en la recursividad. 3. Ventajas e inconvenientes. 4. Ejemplos y ejecución. Tema 11. Arrays. 1. Arrays unidimensionales. 2. Indexación de elementos. 3. Inicialización de arrays.

(8)

Fundamentos de Programación

Fundamentos de Programación - Telf: (+34) 968 278825 4. Arrays y el operador sizeof.

5. Arrays multidimensionales. 6. Arrays constantes.

7. Arrays de tamaño variable . 8. Arrays como argumentos. Tema 12. Cadenas.

1. Cadenas literales o constantes. 2. Almacenamiento de cadenas. 3. Inicialización.

4. Arrays de caracteres. Punteros. 5. Leer y escribir cadenas.

6. La librería estándar string.h. 7. Arrays de cadenas.

8. Argumentos en la línea de comandos. Tema 13. Estructuras.

1. Estructuras.

a. Operaciones sobre estructuras. b. Tipos estructura.

c. Estructuras y funciones. d. Estructuras y punteros.

e. Combinando arrays y estructuras. 2. Enumeraciones.

3. Typedef.

Programa de la enseñanza práctica

Práctica 1. Manejo funciones entrada/salida. Tipos de datos en C. Declaración de constantes. Conversiones implícitas y explícitas de tipos de datos. Manejo avanzados de tipos de datos. Manejo de operadores aritméticos. Orden de evaluación de operadores.

(9)

Fundamentos de Programación

Fundamentos de Programación - Telf: (+34) 968 278825 Práctica 2. Manejo de sentencias de control de tipo selectivo. Expresiones lógicas y relacionales. Saber emplear el tipo de datos booleano. Manejo de sentencias de control de tipo iterativo. Interrupción de ejecución iterativa en un programa.

Práctica 3. Declaración e invocación de funciones. Retorno de valores en una función.

Modularización de código mediante uso de funciones. Paso de parámetros por valor y referencia. Uso de funciones recursivas en un programa.

Práctica 4. Manejo de arrays. Declaración e inicialización de arrays. Arrays unidimensionales y multidimensionales. Arrays de tamaño fijo y variable. Paso de arrays como parámetros de funciones.

Práctica 5. Declaración y manipulación de cadenas. Arrays de caracteres y arrays de punteros. Manejo de librería <string.h>. Manejo de arrays de cadenas. Declaración y manipulación de tipos de datos compuestos basados en estructuras. Manejo de combinado de estructuras con funciones y arrays. Uso de funciones recursivas en un programa.

Más información acerca de las prácticas a desarrollar durante el curso académico, así como las fechas de entrega será puesta a disposición de los alumnos a través del campus virtual. Se recomienda consultar el plan de trabajo de la asignatura así como los enunciados de prácticas correspondientes.

Relación con otras asignaturas del plan de estudios

La asignatura de Fundamentos de programación está muy relacionada con la asignatura de Programación avanzada, impartida en el 2º cuatrimestre del 1er curso.

Sistema de evaluación

El sistema de evaluación constará de los siguientes puntos: - Primera prueba parcial: 25% del total de la nota.

Se evaluarán los conocimientos abarcados del tema 1 a 8: tipos de datos, entrada/salida, operadores y expresiones, control de flujo (selección, iteración).

- Prueba final: 40% del total de la nota.

Se evaluarán los conocimientos tratados en los temas 9 a 13: funciones, arrays, cadenas, estructuras, recursividad.

- Evaluación de prácticas y problemas: 35% del total de la nota.

De las 6 prácticas propuestas, se deberán entregar al menos 5. En caso de entregar todas las prácticas, se realizará media con las 5 mejores notas obtenidas por el alumno. La ponderación a aplicar será equitativa (cada práctica tiene un peso del 20%).

(10)

Fundamentos de Programación

Fundamentos de Programación - Telf: (+34) 968 278825 Para poder superar la asignatura será necesario obtener al menos una nota de 4 en cada uno de los ítems anteriores y un 5 en la media ponderada de sus valores. Los detalles sobre el sistema de evaluación se encuentran recogidos en la normativa general de universidad.

Bibliografía y fuentes de referencia

Bibliografía básica

Khamtane Ashok. Programming in C. Ed. Pearson. 2012.

Teresa G., S. Ososrio, N. Olvera. Introducción a la programación estructurada en C. Pearson Educación. 2011.

Ferraris Llanos, R. D. Fundamentos de Informática y Programación en C. Ed. Paraninfo. 2010.

Peña Basurto, M.A., Cela Espín, J.M. Introducción a la Programación en C. Edición UPC. 2010.

Llanos Ferraris, D. R. Fundamentos de Informatica y Programacion en C. Ediciones Paraninfo. 2010.

Bibliografía complementaria

Joyanes, L. Fundamentos de Programación. Ed. McGraw-Hill, 2008. Schildt, H. C. Manual de referencia. Ed. McGraw-Hill, 2007.

García, F., Fernández, J., Carretero, J., Calderón, A. Ed. El lenguaje de programación C. Prentice Hall. 2004.

Kernighan B.W., Ritchie, D.M. El lenguaje de programación C.2ª ed. Ed. Prentice Hall. 1991. Joyanes, L., Zahonero, I. Programación en C. Libro de problemas. Ed. McGraw-Hill. 2002. Joyanes, L., Zahonero, I., Fernández, M. y Sánchez, L. Estructura de datos. Libro de

problemas. Ed. McGraw-Hill. 1999.

Márquez, F.M. UNIX. Programación avanzada. 3ª ed. Ed. Ra-Ma. 2004.

Web relacionadas

American National Standards Institute – ANSI (www.ansi.org) International Organization for Standadization

(http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57853) C programming and C++ programming. http://www.cprogramming.com/

(11)

Fundamentos de Programación

Fundamentos de Programación - Telf: (+34) 968 278825

Recomendaciones para el estudio

Se trata de una asignatura donde es fundamental para el alumno llevar la asignatura al día, debido a la interrelación existente entre los temas que la forman. El abandono de la asignatura durante una temporada podría dificultar el seguimiento de la misma posteriormente.

Se recomienda que el alumno trabaje semanalmente los ejercicios propuestos por el profesor, con el fin de asimilar los conocimientos de forma paulatina. Además de los recursos facilitados por el profesor, es sumamente importante que los alumnos hagan uso de las referencias bibliográficas básicas para reforzar los contenidos tratados en clase.

Por tratarse de una asignatura de carácter práctico, es fundamental el uso del ordenador, tanto para la elaboración de las prácticas y ejercicios, como para el refuerzo de los conocimientos y conceptos teóricos aprendidos.

Material necesario

Aplicaciones

Para las prácticas de esta asignatura se necesita instalar algún programa que permita el desarrollo, compilación y ejecución de programas desarrollados en lenguaje C. Se recomienda el uso de

Code::Blocks, el cuál es descargable gratuitamente a través del siguiente enlace:

http://www.codeblocks.org/downloads

Es un entorno de desarrollo multiplataforma disponible para entornos Windows 200/XP/Vista/7/8, Linux 32/64 bits y Mac OS X.

Si el alumno lo prefiere, puede utilizar cualquier otro programa que ofrezca la funcionalidad necesaria para desarrollar los ejercicios prácticos de esta asignatura, como Eclipse o Dev-C++. No obstante es importante tener presente que en los laboratorios se encuentra instalada la herramienta Code::Blocks y los exámenes se desarrollarán haciendo uso de la misma.

Material didáctico

Además de la bibliografía recomendada en esta guía docente (básica y complementaria), en el apartado de Recursos del Campus Virtual, el estudiante dispondrá de recursos adicionales que le servirán de apoyo al proceso de aprendizaje. Dicho material se ofrecerá organizado por temas, de acuerdo con la organización de contenidos detallada anteriormente. Concretamente se pondrán a disposición del alumno los siguientes recursos:

Apuntes sobre cada tema, indicando conceptos relevantes y ejemplos de uso. Enlaces de interés que permitan la ampliación de información sobre los temas. Ejemplos de programas donde se apliquen distintas técnicas de programación. Ejercicios para practicar los conocimientos tratados en cada tema.

(12)

Fundamentos de Programación

Fundamentos de Programación - Telf: (+34) 968 278825 Todas las herramientas necesarias se encuentran instaladas en los laboratorios así como disponibles de forma remota a través del API virtual accesible a través del siguiente enlace: http://api.ucam.edu.

Tutorías

En la asignatura se establecen los siguientes mecanismos de tutorización:

Sesiones de tutorías: en el horario de atención de los alumnos semanal indicado anteriormente, el profesor atenderá dudas de los alumnos de forma presencial o por vía telefónica. En la medida de lo posible, dada la naturaleza de los contenidos impartidos, se recomienda que los alumnos opten por la tutorización presencial pues facilita la atención y resolución de dudas planteadas sobre los programas desarrollados.

Correo electrónico y/o mensajes privados: se atenderán dudas puntuales planteadas a través de medios telemáticos como el correo electrónico y la herramienta del Campus Virtual “Mensajes privados”. Preferiblemente, se recomienda el uso del Campus Virtual. Este tipo de tutorización se realizará diariamente, con un compromiso de respuesta en menos de 48 horas lectivas desde la recepción del mismo.

Foros: los foros sirven para fomentar la resolución de dudas en la asignatura de forma colaborativa entre los alumnos. Se crearán diversos temas en el foro donde discutir distintos aspectos de interés, tales como unidades temáticas, prácticas, ejercicios, etc. Este mecanismo de tutorización permite a los estudiantes generar debates sobre los distintos planteamientos e intervenciones que se realicen. El profesor moderará las discusiones surgidas a través de los foros, reorientando las discusiones hacia el propósito formativo.

Referencias

Documento similar

 Capacidad científico-técnica para el ejercicio de la profesión de Graduado en Ingeniería Civil y conocimiento y ejercicio de las funciones de asesoría, análisis,

En el caso de que el alumno obtenga una puntuación que oscile entre el 4 y el 4,9 en las dos partes de que se compone la convocatoria ordinaria (EC o PEC y examen), solo se

 Las desinfecciones del laboratorio, el material y los equipos vendrán determinados por el responsable de las prácticas, que indicará los productos a utilizar y la forma

duas seccións do Master de Secundaria e o Master de Dirección de Actividades na Natureza (DAEN). Estes novos plans esixían unha reorganización da colección de

Este primer bloque se sitúa en el marco conceptual de la política social y sus relaciones con el bienestar y los derechos sociales y de forma más concreta con la protección social y

La asignatura, junto con &#34;Fundamentos de programación&#34; (primer curso, segundo cuatrimestre) pertenece al eje que engloba la adquisición de conocimientos básicos

La televisión es uno de los medios de mayor alcance, en primer lugar, porque capta a un gran número de personas en un período mínimo de tiempo, en segundo lugar,

La Unidad Técnica de Formación, en cumplimiento de sus objetivos, desarrolla acciones de formación inicial, actualización y desarrollo profesional de docentes y profesores