grado en ingeniería informática - curso...

27
Programación 1 Grado en Ingeniería Informática - Curso 2017-18 webdiis.unizar.es/asignaturas/PROG1

Upload: trandieu

Post on 21-Nov-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Programación 1Grado en Ingeniería Informática - Curso 2017-18

webdiis.unizar.es/asignaturas/PROG1

Page 2: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Profesores de la asignatura

Javier Martínez responsable del grupo 411 de mañanas supervisor de 1 subgrupo de prácticas del grupo 411

Miguel Ángel Latre responsable del grupo 412 de tardes supervisor de 3 subgrupos de prácticas del grupo 411

José Luis Pina y Alfredo Roy supervisores de los cuatro subgrupos de prácticas del

grupo 412

Trabajo coordinado entre profesores y evaluación encomún de la asignatura

Page 3: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Tutorías de la asignatura

Profesor Horario de Tutorías Lugar de Tutoría

Javier MARTÍ[email protected]

M de 12:00 a 14:00M y J de 15:30 a 17:30 Despacho D.1.08

Miguel Ángel [email protected] Consultar web asignatura Despacho D.2.22

Alfredo [email protected] Consultar web asignatura Despacho D.1.10

José Luis [email protected] Consultar web asignatura Despacho D.0.05

Page 4: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Programación 1 Carácter: formación básica (obligatoria) 6.0 créditos En el primer cuatrimestre de los estudios Programación 1 Programación 2

Estructuras de Datos y Algoritmos Prog. Sistemas Concurrentes y Distribuidos Tecnología de la Programación Ing. Software Proyecto Software Más en las especialidades de Computación e

Ingeniería del Software

Page 5: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Programación 1 La programación es:

un pilar básico de la formación de un Ingeniero enInformática

imprescindible para estudiar prácticamente cualquierotra materia de las que intervienen en los estudios

Programación 1 es una asignatura de formaciónbásica: es un primer paso en el aprendizaje de la

programación de computadores (se parte de cero)

y tiene continuidad en asignaturas posteriores

Page 6: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Programación 1 Objetivo: diseño de programas que resuelvan

problemas de tratamiento de información. Se enseñan metodologías para facilitar y sistematizar el

análisis de problemas y el diseño de programas quelos resuelvan en los cuales se procederá: a la representación de la información relevante para

resolver el problema

al tratamiento de la información hasta haber resuelto elproblema

Se presenta una tecnología (C++) para representar lainformación y para tratarla.

Page 7: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

¿Qué voy a aprender (1)?1. Conceptos básicos fundamentales ligados a la programación y

la informática.

2. A comprender, analizar y resolver problemas de tratamientode información de complejidad baja o media-baja y aescribir algoritmos que los resuelven.

3. A definir las estructuras de datos más adecuadas pararepresentar la información asociada a cada problema.

4. A diseñar de forma descendente (comenzando por lo másgeneral para acabar con los aspectos de detalles) y adocumentar las acciones algorítmicas que resuelven cadaproblema de forma eficaz y eficiente.

5. A conocer algoritmos para resolver algunos de los problemasmás frecuentes que se presentan al trabajar con estructurasde datos secuenciales e indexadas.

Page 8: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

¿Qué voy a aprender (y 2)?6. A conocer y comprender la sintaxis y la semántica de las

construcciones básicas de un lenguaje de programación (C++).

7. A escribir programas con buen estilo, con una documentaciónadecuada, con los comentarios precisos y con lasespecificaciones necesarias.

8. A utilizar herramientas de edición, compilación, depuración yejecución para desarrollar programas, así como sistemasoperativos y otros programas con aplicación en ingeniería.

9. A utilizar estrategias para corregir los programas cuando nofuncionan bien.

10. A poner a punto y ejecutar en un computador programas escritosen un lenguaje de programación determinado (C++).

Page 9: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Resumiendo Aprenderemos algunos conceptos básicos ligados a la

programación de computadores. Aprenderemos a analizar problemas concretos, a

plantear soluciones y a desarrollar programas quepermitan resolverlos en un computador.

Aprenderemos a utilizar una tecnología para el desarrollode programas (lenguaje C++ y entorno integradoCodeLite).

Nos ejercitaremos como programadores decomputadores de forma individual y en equipo, aplicandosiempre unas determinadas metodologías.

Page 10: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Proceso de aprendizaje El aprendizaje de la programación exige el estudio y trabajo

continuado desde el primer día de clase dedicado a: la comprensión de conceptos, el análisis y resolución de problemas utilizando “lápiz y papel” y la puesta a punto en computador de un buen número de

programas. El aprendizaje de conceptos, una tecnología y una

metodología de diseño de programas a través de las clasesmagistrales.

La aplicación de tales conocimientos al diseño de algoritmos yprogramas en las clases de problemas.

Las prácticas en las que el alumno aprenderá, esencialmentemediante el trabajo personal, la tecnología necesaria paraponer a punto programas escritos en C++. Contará con el apoyode un profesor que supervisará su trabajo.

El trabajo en equipo analizando y resolviendo algunosproblemas de programación.

Page 11: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Calendario (grupo de mañana)

Clases “teóricas” (2 horas semanales) Lunes y viernes de 12:10-13:00 en el aula TQ18

Clases de problemas (1 hora semanal) Jueves, de 12:10-13:00 (en el aula TQ19) o

de 13:10-14:00 (en el aula TQ18)

Sesiones prácticas en laboratorio (2 horas cada dos semanas en el Lab.0.04) G1: lunes A, 10-12, Lab.0.04 G3: martes A, 10-12, Lab.0.04 G2: lunes B, 10-12, Lab.0.04 G4: martes B, 10-12, Lab.0.04

Page 12: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Distribución de alumnos (grupo de mañana) Sesiones prácticas en laboratorio:

Grupo 1: Apellidos desde AA hasta CEG Grupo 2: Apellidos desde CEH hasta GARCIA G Grupo 3: Apellidos desde GARCIA H hasta FER Grupo 4: Apellidos desde HES hasta ZZ

Clases de problemas Jueves de 12:10-13:00: alumnos de los

grupos de prácticas 3 y 4, es decir, cuyos apellidos están entre GARCIA H y ZZ

Jueves de 13:10-14:00 alumnos de los grupos de práctica 1 y 2, es decir, cuyos apellidos están entre AA y GARCIA G

Page 13: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Calendario (grupo de tarde) Clases “teóricas” (2 horas semanales)

Martes, 17-18 y miércoles, 18-19, Aula TQ18 Clases de problemas (1 hora semanal)

Jueves, de 18:10-19:00 (en el aula TQ14) o de 19:10-20:00 (en el aula TQ18)

Sesiones prácticas en laboratorio(2 horas cada dos semanas) G3: lunes A, 15-17, Lab.0.04 G1: martes A, 15-17, Lab.0.04 G4: lunes B, 15-17, Lab.0.04 G2: martes B, 15-17, Lab.0.04

Page 14: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Distribución de alumnos (grupo de tarde) Sesiones prácticas en laboratorio:

Grupo 1: Apellidos desde AA hasta MARS Grupo 2: Apellidos desde MART hasta OTD Grupo 3: Apellidos desde OTD hasta SANS Grupo 4: Apellidos desde SANT hasta ZZ

Clases de problemas Jueves de 18:10-19:00: alumnos de los

grupos de prácticas 3 y 4, es decir, cuyos apellidos están entre OTD y ZZ

Jueves de 19:10-20:00: alumnos de los grupos de prácticas 1 y 2, es decir, cuyos apellidos están entre AA y OTD

Page 15: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Prácticas de Programación 1 Prácticas trabajo de programación

A programar se aprende programando Cada práctica implica la resolución de varios problemas Cada alumno debe resolverlos por su cuenta, como parte

esencial del estudio de la asignatura. También es muy buenointercambiar experiencias y resolver dudas concompañeros

Acude a las sesiones de prácticas con los problemas yaresueltos, si es posible, y con las dudas identificadas. En lassesiones de prácticas: Puedes consultar tus dudas a tu profesor de prácticas Tu trabajo será supervisado por tu profesor de prácticas

A las sesiones de prácticas no se debe acudir sin haberdedicado un número de horas suficiente a resolver losproblemas planteados en cada práctica. Excepción parcial: la primera sesión de prácticas

Page 16: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Prácticas de Programación 1 Puestos de trabajo del Lab.0.04

Las máquinas son computadores personales con sussistemas operativos: Linux (CENT OS), Windows, etc.

Cada alumno tiene una cuenta para acceder a cadasistema operativo (se le informará del nombre ycontraseña de su cuenta por email a su correo de la UZ).

Los ficheros se almacenan, de forma transparente alusuario, en un clúster (hendrix-ssh) que hacefunciones de servidor de ficheros.

Page 17: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Prácticas ¿Dónde desarrollar programas C++?

Trabajando desde cualquier puesto del Lab.0.04 (ode otro laboratorio) con CodeLite, un entorno dedesarrollo de programas

Trabajando desde tu computador personal conCodeLite, un entorno de desarrollo de programas

Para programas muy simples se puede hacer uso delentorno C++Shell de programación en línea[ http://cpp.sh/]

Page 18: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Cuenta en los computadores de prácticas Correo electrónico enviado cuando se abre la

cuenta: De: "J.A. Gutierrez" <jagutierrez at unizar.es> Para: <[email protected]> Asunto: Cuenta en el nuevo servidor de docencia del 

DIIS. Cuerpo:

HolaPor estar cursando alguna asignatura impartida por el Dpto. de Ingeniería de Sistemas e Informática, se te ha creado una cuenta en el servidor de practicas "hendrix".Los detalles de su utilización te los dará la persona que imparte las asignaturas en cuestión.Datos de acceso:

Nombre de usuario: XXXXClave de entrada: XXXXNombre de la persona: XXXX

Page 19: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Localización

Aula 18, edificio Torres

Quevedo

Despacho D.2.22, edificio

Ada Byron Laboratorio L.0.04, edificio

Ada Byron

Aula 19, edificio Torres QuevedoParada tranvía

«Campus Río Ebro»

Despacho D.1.08, edificio

Ada Byron

Page 20: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Programa I. Conceptos y elementos básicos de Programación

Problemas de tratamiento de información, algoritmos y programas Lenguajes de programación y ejecución de un programa Información, datos, operaciones y expresiones

II. Diseño de los primeros programas Diseño de programas elementales Instrucciones simples y estructuradas Problemas de cálculo con enteros. Problemas de cálculo con reales Diseño modular y descendente de programas

III. Diseño de programas que trabajan con datos estructurados Estructuración indexada de datos Representación de cadenas de caracteres Estructuración agregada de datos Algoritmos básicos de trabajo con estructuras de datos indexadas

IV. Diseño de programas que trabajan con ficheros Entrada y salida de datos Trabajo con ficheros de texto. Trabajo con ficheros binarios Trabajo con ficheros: acceso directo y lectura/escritura

V. Diseño modular de nuevos tipos de datos en un programa

Page 21: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Volumen de trabajo Estimación de 150 horas efectivas de trabajo:

56 horas de actividades presenciales activas clases “teóricas” clases de problemas prácticas en laboratorio

91 horas de estudio y trabajo personal efectivo estudio de apuntes y textos resolución de problemas preparación clases y prácticas desarrollo de programas correspondientes a problemas, a

prácticas, a pruebas voluntarias de evaluación, etc.

3 horas de examen final escrito

Page 22: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

¿Qué hacer para aprender? Asistir a clase:

Habiendo leído previamente cada lección Atendiendo y participando activamente en la clase Repasando después y comprendiendo lo tratado en cada

lección y resolviendo los problemas abordados en ella Resolver los problemas de programación propuestos por el

profesor como trabajos voluntarios evaluables y los problemas deprogramación asociados a cada práctica: Lápiz y papel + programación en computador +

validación del código desarrollado mediante un completoproceso de pruebas

Colaborar con otros compañeros, pedirles ayuda y ayudarles Acudir a las tutorías de tus profesores para consultarles sobre la

estrategia de estudio de la asignatura y resolver dudas puntuales

Page 23: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Evaluación: cómo se va a verificar lo que se ha aprendido El objetivo de la evaluación es verificar que se han

alcanzado los resultados de aprendizaje previstos mediante: P1. Una prueba escrita. Conceptos y diseño con “lápiz

y papel”. Nota mínima 4.0. Ponderación 70%

P2. Una prueba muy práctica de programación enlaboratorio y, en su caso, un trabajo deprogramación. Ponderación 30% Febrero: Trabajo de programación (15%) y prueba de

programación en laboratorio (15%) Septiembre: Prueba de programación en laboratorio (30%)

Pruebas voluntarias. Se plantearán a lo largo delcuatrimestre. Permiten subir la nota, hasta 1.0 punto, aquienes aprueben en febrero y hayan participado entodas las pruebas.

Page 24: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Material de trabajo básico Javier Martínez: Curso de Programación 1. Servicio

de reprografía de la EINA. 2017 Miguel Ángel Latre y Javier Martínez: Prácticas de

Programación 1. Servicio de reprografía de la EINA yweb de la asignatura. 2017

Miguel Ángel Latre y Javier Martínez: Diversosmateriales docentes. Web de la asignatura:webdiis.unizar.es/asignaturas/PROG1

Page 25: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Bibliografía de consulta Webs con documentación sobre el lenguaje C++

http://www.cplusplus.com/ http://www.cprogramming.com/ http://es.wikibooks.org/wiki/Programación_en_C++

Manual "on-line" de bibliotecas predefinidas en C++: http://www.cplusplus.com/reference/

Entorno de ejecución “on-line”: http://cpp.sh/

Hay muchos textos para apoyar la enseñanza de unprimer curso de programación utilizando el lenguajeC++. La mayoría de ellos puede ser útiles como librosde consulta

Page 26: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,

Webs de la asignatura https://webdiis.unizar.es/asignaturas/PROG1/

https://moodle2.unizar.es/

Page 27: Grado en Ingeniería Informática - Curso 2017-18webdiis.unizar.es/asignaturas/PROG1/doc/grupo_411/transparencias/... · Lunes y viernes de 12:10-13:00 en el aula TQ18 ... L.0.04,