Identifying Data 2016/17
Subject (*) Integrative Programming Code 614G01049
Study programme
Grao en Enxeñaría Informática
Descriptors Cycle Period Year Type Credits
Graduate 2nd four-month period
Third Obligatoria 6
Language
Spanish
Teaching method Face-to-face
Prerequisites
Department Electrónica e Sistemas
Coordinador
Rodríguez Álvarez, Gabriel
E-mail
gabriel.rodriguez@udc.es
Lecturers
Andrade Canosa, Diego
Rodríguez Álvarez, Gabriel
E-mail
diego.andrade@udc.es
gabriel.rodriguez@udc.es
Web
General description Una organización emplea gran número de diversas tecnologías para la realización
de diferentes tareas. Estas tecnologías deben ser capaces de comunicarse y
cooperar unas con otras. Así, un componente clave para la disciplina de las TI
es la integración de aplicaciones y sistemas. Esta asignatura explorará los
diferentes tipos de lenguajes de programación y su uso apropiado, así como el
uso de lenguajes de scripting, arquitecturas, interfaces de aplicación y
prácticas de programación que facilitan la gestión, integración y seguridad de
los sistemas que dan soporte a una organización.

Study programme competencies
Code Study programme competences
A53 Capacidade para seleccionar, deseñar, despregar, integrar, avaliar, construír, xestionar, explotar e manter as tecnoloxías de hárdware, sóftware e redes dentro dos parámetros de custo e calidade adecuados.
B1 Capacidade de resolución de problemas
B3 Capacidade de análise e síntese
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.
C7 Asumir como profesional e cidadán a importancia da aprendizaxe ao longo da vida.
C8 Valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico no avance socioeconómico e cultural da sociedade.

Learning aims
Learning outcomes Study programme competences
Conocer los modelos y funcionamiento de los programas compilados vs. programas interpretados. A53
B1
B3
Poder elegir entre un lenguaje de aplicación vs. un lenguaje de scripting para resolver un problema determinado, dando razones lógicas que avalen la elección. A53
B1
B3
C6
C7
C8
Identificar los lenguajes de scripting más comúnmente usados en diferentes entornos: web, server-side, sistema operativo. A53
B1
B3
Conocer y saber utilizar herramientas para la obtención, manipulación, visualización y análisis de grandes volúmenes de datos procedentes de diferentes fuentes, posiblemente heterogéneas. A53
B1
B3
C6
C7
C8
Escribir, depurar y probar un script que incluya selección, repetición y paso de parámetros. A53
B1
C7
Escribir, depurar y probar una página web que use scripting para validar los valores de entrada a un formulario. A53
C7
Escribir, depurar y probar una aplicación web interactiva que use server-side scripting para procesar las entradas desde una página web. A53
C7
Escribir, depurar y probar un script para facilitar la gestión de un sistema operativo. A53
B1
B3
C6
C7

Contents
Topic Sub-topic
1. Lenguajes de scripting - Historia de los lenguajes de programación
- Paradigmas de programación
- Lenguajes compilados vs. interpretados
- Lenguajes de aplicación vs. scripting
- Shell scripting
2. Análisis de datos con Python - Introducción.
- Almacenamiento de datos y formato de ficheros.
- Limpieza y transformación de datos.
- Visualización.
- Agregación.
- Series temporales.
3. Creación de páginas web en Python - Alternativas existentes
- Creación de páginas web con Django
- Uso avanzado de Django
4. Integración con Python - Integración de Python con otros lenguajes
- Conceptos básicos de APIs de terceros: JSON y OAuth
- La arquitectura REST

Planning
Methodologies / tests Competencies Ordinary class hours Student’s personal work hours Total hours
Guest lecture / keynote speech A53 B1 B3 C6 C7 C8 21 46 67
Laboratory practice B3 B1 C6 15 15 30
Supervised projects A53 B1 C6 C7 C8 7 42 49
Mixed objective/subjective test A53 B1 B3 C6 3 0 3
 
Personalized attention 1 0 1
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Guest lecture / keynote speech Exposición oral con la finalidad de transmitir conceptos y facilitar el aprendizaje. Se usará la pizarra junto con transparencias que muestren los conceptos fundamentales, así como una serie de ejemplos y figuras que ayuden a clarificar dichos conceptos. Las sesiones magistrales versarán sobre todos los contenidos del temario, siendo el punto de partida para el resto de actividades previstas.
Laboratory practice Los alumnos deberán enfrentarse a una serie de problemas planteados por el profesor durante sesiones prácticas en ordenadores. Para su realización el alumno contará con la tutela del profesor, otros ejemplos realizados en clase y la bibliografía recomendada. Además realizará prácticas guiadas para familiarizarse con las herramientas vistas en clase y para resolver problemas específicos. La finalidad de esta actividad será aprender y afianzar los conocimientos ya adquiridos.
Supervised projects Resolución de un caso de estudio de mayor dificultad a los realizados de forma guiada, estudiando en mayor profundidad una aplicación específica directamente relacionada con los contenidos de la materia. Deberá entregarse un informe sobre el trabajo realizado, resumiendo las principales conclusiones del mismo.
Mixed objective/subjective test Examen de la materia que combinará preguntas sobre la teoría con problemas a resolver.

Personalized attention
Methodologies
Supervised projects
Laboratory practice
Description
En las prácticas de laboratoria y trabajos tutelados los estudiantes podrán presentar cuestiones, dudas, etc. El profesor, atendiendo a estas solicitudes, repasará conceptos, resolverá nuevos problemas o utilizará cualquier actividad que considere adecuada para resolver las cuestiones planteadas.

Assessment
Methodologies Competencies Description Qualification
Supervised projects A53 B1 C6 C7 C8 Os alumnos resolverán un problema complexo integrando diferentes tecnoloxías. Aínda que se proporán traballos a realizar, incentivarase que os alumnos desenvolvan, deseñen e resolvan propostas propias.

É condición necesaria (pero non suficiente) para aprobar a asignatura entregar en prazo este traballo, que inclúe parte de prácticas de laboratoria e parte de traballos tutelados, así como obter como mínimo o 50% da puntuación máxima asignada ao mesmo. Este traballo realizarase preferentemente en grupos. A súa avaliación realizarase nunha defensa na que cada membro da parella será avaliado individualmente.
40
Laboratory practice B3 B1 C6 A avaliación das prácticas de laboratorio e dos traballos tutelados se realizará de forma conxunta nunha única defensa final. Ver o apartado sobre avaliación dos traballos tutelados. 20
Mixed objective/subjective test A53 B1 B3 C6 Proba sobre os contidos presentados na docencia expositiva e desenvolvidos nas sesións de laboratorio e nas titorías grupais.

É condición necesaria (pero non suficiente) para aprobar obter como mínimo o 40% da puntuación máxima da proba mixta.
40
 
Assessment comments

É condición necesaria (pero non suficiente) para aprobar obter unha cualificación global, aplicando as ponderacións da proba mixta, das prácticas de laboratorio e da proba mixta igual ou superior ao 50%. En caso de obter unha cualificación global igual ou superior ao 50% pero non cumplir con algunha das condicións necesarias a cualificación final será un Suspenso (4.0).

O mecanismo de recuperación que se habilitará na segunda oportunidade de xullo incluira un novo prazo de presentación de traballos tutelados, que será anunciado atendendo á data do exame fixada pola Facultade. As condicións de avaliación da segunda oportunidade serán as seguintes:

  • A cualificación do traballo tutelado obtida na convocatoria de xuño poderá ser conservada ou reavaliada, a elección do estudante, unicamente se a nota do traballo tutelado é inferior ao 50%. En todo caso, a presentación dun novo traballo suporá a renuncia á nota obtida anteriormente.
  • A puntuación da proba mixta obtida no convocatoria de xuño poderá ser conservada ou reavaliada, a elección do estudante, unicamente se a nota do traballo tutelado é inferior ao 50%. A presentación dunha nova proba mixta suporá a renuncia á nota obtida anteriormente.
  • Mantéñense as condicións globais necesarias para aprobar requeridas na primeira oportunidade de xuño.
En ningún caso se manterán as notas obtidas entre diferentes convocatorias (é dicir, a nota obtida en calquera das probas avaliadas no curso académico 2015/2016 non será tida en conta durante o curso 2016/2017)

Exemplos de avaliación:

  1. O estudante A acada a máxima puntuación no exame, e 2 puntos sobre 6 no traballo tutelado. A nota ponderada correspondente é un 6, mais ao non acadar o 50% da nota do traballo tutelado a súa nota en actas é un 4.0 (Suspenso). 
  2. O estudante B acada a máxima puntuación no traballo tutelado. Non obstante, obtén un 3.5 sobre 10 no exame. A nota ponderada correspondente é un 7.40, mais ao non acadar alomenos o 40% da puntuación máxima da proba mixta a súa nota en actas é un 4.0 (Suspenso).
  3. O estudante C acada un 3 sobre 6 no traballo tutelado e un 4 sobre 10 no exame. A súa nota ponderada correspondente é un 4.6 (Suspenso). Na segunda oportunidade de xuño, non poderá entregar un novo traballo tutelado, ao ter superada esta proba por alcanzar o 50% da nota do mesmo. Deberá acudir ao exame de xullo a subir nota, conservando a nota do traballo tutelado. A nota da segunda oportunidade obterase sumando a nova nota do exame (aínda que esta sexa menor ao 4 sobre 10 de xuño) ao 3 sobre 6 do traballo.

Os alumnos que non se presenten á proba mixta nin entreguen o traballo final obterán unha cualificación de "Non presentado". Presentarse e non superar calquera das dúas probas de avaliación suporá unha cualificación de "Suspenso".


Non se fará ningunha consideración especial cara aos alumnos con matrícula a tempo parcial.

Sources of information
Basic Arnold Robbins (2005). Classic Shell Scripting: Hidden Commands that Unlock the Power of Unix. O'Reilly
Mark Lutz (2011). Programming Python. O'Reilly
Wes McKinney (2012). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. O'Reilly
Dale Dougherty, Arnold Robbins (1997). sed & awk. O'Reilly

Complementary


Recommendations
Subjects that it is recommended to have taken before
Programming Paradigms/614G01014
Operating Systems/614G01016
Internet and Distributed Systems/614G01023

Subjects that are recommended to be taken simultaneously
Operating Systems Administration/614G01047
Network Administration/614G01048
Database Administration/614G01050

Subjects that continue the syllabus
Computer Systems Security/614G01079
Application Integration/614G01080

Other comments


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.