Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Traballo do Alumno/a ECTS: 99 Horas de Titorías: 3 Clase Expositiva: 24 Clase Interactiva: 24 Total: 150
Linguas de uso Castelán, Galego
Tipo: Materia Ordinaria Grao RD 1393/2007 - 822/2021
Centro Escola Politécnica Superior de Enxeñaría
Convocatoria: Primeiro semestre
Docencia: Sen docencia (Extinguida)
Matrícula: Non matriculable
Presentación
A variedade de plataformas de programación dispoñibles hoxe en día é moi ampla e está en constante evolución. Nesta materia preséntanse os fundamentos de programación que hai en todas as linguaxes de programación, e en particular en Linguaxe Python e en linguaxe C++, para que o alumnado, partindo dun problema sinxelo, sexa capaz de atopar un algoritmo que o resolva. Para acadar iso, mostrarase como desenvolver programas sinxelos e os fundamentos de programación que hai detrás
Móstranse os conceptos básicos, comúns a todas as linguaxes de programación e en particular na linguaxe Python, e unha metodoloxía para desenvolver programas de forma sistemática e eficiente.
Así mesmo procúrase introducir os tres tipos básicos de sentenzas de control: secuencia, selección e iteración, explicando en profundidade a súa sintaxe e semántica, de xeito que o alumnado sexa capaz de implementar ditas estruturas de control en linguaxe Python e os fundamentos da Programación Estruturada.
A formulación desta materia é eminentemente práctica, de xeito que o alumnado dispoña dunha ampla variedade de exemplos que lle permita acadar as competencias transversais e específicas da materia, e, en particular perséguese que o alumno sexa capaz de:
- A resolución problemas de enxeñaría mediante o deseño de programas informáticos
- Aplicar a planificación no deseño de programas, seguindo unha metodoloxía baseada na programación estruturada e modular.
Para fomentar:
- Pensamento analítico: capacidade para comprender e especificar un problema, descompoñéndoo nunha serie de subproblemas e identificando os elementos que entran en xogo en cada un.
- Pensamento operativo: dada a especificación dun problema, ser capaz de atopar unha solución cos recursos dispoñibles
- Pensamento conceptual: ser capaz de abstraer o coñecemento aprendido para poder utilizalo nun novo ámbito.
A duración da presente materia e de 48 horas de docencia expositiva e interactiva, deixando a parte de actividades para a resolución das mesmas por parte do alumnado, fora do horario académico
Obxectivos da materia
Os obxectivos, cara o alumnado, perseguidos nesta materia son:
1) Coñecer os compoñentes básicos dun computador, a súa funcionalidade e as relacións entre eles. Comprender os diferentes sistemas de representación da información existentes nos computadores.
2) Introducirse nos conceptos e técnicas básicos da programación desde un enfoque xeral. Resolver problemas de programación básica aplicando adecuadamente os tipos de datos elementais, os tipos de datos estruturados e as estruturas de control. Dominar os principios da programación procedural.
3) Asimilar o concepto programación modular e saber aplicalo na resolución de problemas. Coñecer o concepto de recursividade, aplicándoo a problemas sinxelos. Comprender o concepto de ficheiro e saber utilizalos
4) Desenvolver as destrezas necesarias para a resolución de problemas básicos de cálculo no ámbito da enxeñaría mediante o uso das ferramentas de programación. Ser capaz de, ante unha nova especificación dun problema, atopar unha solución cos recursos dispoñibles e abstraer o coñecemento aprendido para poder utilizalo nun novo ámbito
5) Ser capaz de utilizar ferramentas de programación para editar, compilar, executar e verificar un programa. Capacidade para aplicar estratexias de depuración, proba e corrección de programas
Contidos
A memoria do título contempla para esta materia os seguintes contidos:
Estrutura e funcionamento dun computador. Representación e codificación da información. Introdución á Programación procedural: tipos de datos elementais, estruturas de control, programación modular, recursividade básica, tipos de datos estruturados. Entrada/Saída. Ficheiros. Ferramentas básicas de programación. Deseño, verificación e validación de programas. Documentación.
Estes contidos serán desenvolvidos de acordo ao seguinte temario:
Introdución (4 horas)
* Conceptos Básicos sobre Computadores.
* Representación da información.
* Programas e linguaxes de programación.
Linguaxe de programación Python. (6 horas presenciais, 8 non presenciais)
* Variables, expresións, asignación
* Tipos de datos. Variables e asignacións.
* Funcións predefinidas.
* Módulos e importación de funcións e variables.
* Métodos.
* Entrada/saída.
* Sobre a legibilidad dos programas.
* Gráficos de tartaruga.
* Exemplos Prácticos: Realización de algoritmos e programas básicos
Estruturas de control (8 horas presenciais, 10 non presenciais)
* Sentenzas condicionais.
* Sentenzas iterativas.
* Captura e tratamento de excepcións.
* Algúns exemplos gráficos.
* Exemplos Prácticos: Realización de algoritmos e programas con estruturas de control
Funciones (8 horas presenciais, 10 non presenciais)
* Definición e uso de funcións.
* Documentación do código.
* Variables locais e variables globais.
* O mecanismo das chamadas a función.
* Módulos. Deseño de programas con funcións. Recursión.
* Algúns exemplos gráficos.
* Exemplos Prácticos: Realización de algoritmos e programas modulares
Tipos estruturados en Python (6 horas presenciais, 10 non presenciais)
* Cadeas. Listas. Matrices.
* Tuplas e Conxuntos
* Dicionarios
* Exemplos Prácticos: Realización de algoritmos e programas con estruturas de datos
Cálculo científico e Técnico en Python. Interfaces Gráficas (4 horas presenciais, 12 non presenciais)
* Cálculo Numérico con Numpy
* Representación Gráfica con Matplotlib.
* Cálculo simbólico con Sympy
* Creación de interfaces gráficas. Tkinter
Ficheiros e Xestión de datos (6 horas presenciais, 7 non presenciais)
* Xeneralidades sobre ficheiros.
* Ficheiros de texto.
* Análise de datos con Pandas
* Bases de Datos.
* Exemplos Prácticos: Realización de algoritmos e programas con ficheiros
Deseño, verificación e validación de programas. Documentación
Linguaxe C++ (6 horas presenciais, 15 non presenciais)
* Estrutura dun programa
* Constantes e variables. Tipos
* Estruturas de control: Secuencial, alternativa, repetitiva
* Tipos estruturados
* Funcións
* Punteiros
* Ficheiros
Bibliografía básica e complementaria
A bibliografía da programación en Python é extraordinariamente ampla. Nos temos limitado aquí a uns poucos títulos seleccionados por consideralos de moita calidade.
Bibliografía Básica:
[1] Andrés Marzal Varó, Isabel Gracia Luengo, Pedro García Sevilla. - Introducción a la programación con Python 3. Universitat Jaume I (Creative Commons)
[2] Hunt, John. “A Beginners Guide to Python 3 Programming.”, Editorial Springer, 2019
[3] McKinney, Wes. “Python for data analysis: Data wrangling with Pandas, NumPy, and Ipython.”, Editorial O'Reilly Media, Inc., Segunda edición, 2017
Bibliografía Complementaria:
[4] Baltasar Garcia Perez-Schofield. - Introducción a la programación con Python (Creative Commons)
[5] Raúl González Duque. - Python para todos (Creative Commons)
[6] Guido Van Rossum. - El tutorial de Python. http://tutorial.python.org.ar/
[7] Eugenia Bahit. - Curso: Python para Principiantes. (Creative Commons)
[8] Franck EBEL - Sébastien ROHAUT. - Algoritmia - Técnicas fundamentales de programación (Ediciones ENI)
[9] Sébastien CHAZALLET. - Python 3: Los fundamentos del lenguaje (Ediciones ENI)
[10] De Miguel, Pedro. "Fundamentos de los computadores." Editorial Thomson Learning Paraninfo, 2004.)
[11] Ramalho, Luciano. "Fluent Python." Editorial O'Reilly, 2015.
Competencias
Xerais:
CG2: Capacidade de resolución de problemas no campo da enxeñaría robótica con creatividade, iniciativa, metodoloxía e razoamento crítico.
CG3: Capacidade de utilizar ferramentas informáticas para o modelado, a simulación e o deseño de aplicacións de enxeñaría.
CG5: Ser capaz de obter e analizar información sobre circuítos, elementos de máquinas, control automático, sensores e sistemas informáticos, co fin último de lograr aplicacións robóticas autónomas e flexibles.
Competencias básicas
CB1: Que os estudantes demostrasen posuír e comprender coñecementos nunha área de estudo que parte da base da educación secundaria xeral, e adóitase atopar a un nivel que, aínda que se apoia nos libros de texto avanzados, inclúe tamén algúns aspectos que implican coñecementos procedentes da vangarda do seu campo de estudo.
CB2: Que os estudantes saiban aplicar os seus coñecementos ao seu traballo ou vocación dunha forma profesional e posúan as competencias que adoitan demostrarse por medio da elaboración e defensa de argumentos e a resolución de problemas dentro da súa área de estudo.
CB5: Que os estudantes desenvolvesen aquelas habilidades de aprendizaxe necesarias para emprender estudos posteriores cun alto grao de autonomía.
Competencias transversais
CT1: Capacidade de análise e síntese.
CT3: Capacidade de traballo individual, con actitude autocrítica.
CT4: Capacidade para traballar en grupo e abarcar situacións problemáticas de forma colectiva.
CT9: Habilidade no manexo de tecnoloxías da información e da comunicación (TIC).
CT10: Utilización de información bibliográfica e de Internet.
CT12: Capacidade para resolver problemas mediante a aplicación integrada dos seus coñecementos
Competencias específicas
CE5: Capacidade de analizar, deseñar, representar e programar algoritmos, e manexo das estruturas de datos adecuadas para a resolución de problemas no ámbito da robótica.
Metodoloxía do ensino
A metodoloxía de ensino que se persegue dentro da materia onde se encadra a presente materia é a seguinte:
* Os contidos da materia impartiranse de forma presencial de maneira indistinta nas clases expositivas e nas clases interactivas. As unidades teóricas e prácticas impartiranse de maneira alternativa ao longo do semestre co obxecto de afianzar os conceptos impartidos nelas.
* A realización de todas as actividades propostas é necesaria, do mesmo xeito que a asistencia a todas as clases (expositivas e interactivas) para superar a materia.
* Os recursos necesarios para a presente materia son os seguintes:
a) Dispor dun computador persoal
b) Copias dos apuntamentos da materia.
c) Acceso dos alumnos á bibliografía na Biblioteca ou por Internet.
d) Acceso á ferramenta Ms Visual Studio
e) OpenOffice ou LibreOffice para a preparación da documentación das prácticas.
f) Acceso o campus virtual da USC
g) Acceso a Ms Teams
Clases Expositivas e interactivas: As clases consistirán na explicación dos apartados do programa coa axuda dunha presentación electrónica. Tamén se realizarán exercicios na pizarra, facendo que o alumnado participe e desenvolver programas interactuando co profesor para a resolución destes. Todos os contidos dixitais (os códigos dos programas en Python e en C++, as diapositivas da presentación en formato PDF, así como as explicacións destas en formato vídeo por streaming), serán postos a disposición do alumnado tanto no Campus virtual como na contorna colaborativo Ms Teams.
As clases fundamentalmente terán lugar nunha aula de informática, na que se proporcionará un computador para cada alumno. Cando a docencia impártase por medios virtuais, utilizarase a ferramenta Ms Teams para levar a cabo a mesma. A metodoloxía de aprendizaxe de prácticas consiste fundamentalmente na resolución por parte do alumno das actividades propostas e outros exercicios de programación, individualmente ou por grupos, coa axuda do profesor.
Actividades: Ao longo do semestre, o alumno deberá resolver problemas de programación adecuados aos contidos desenvolvidos até o momento. Ditas actividades correspóndense con enunciados dos problemas resoltos nos exames de convocatorias anteriores e con problemas propostos en recursos detallados na bibliografía.
A resolución e entrega destas actividades considéranse esenciais para alcanzar un resultado satisfactorio na presente materia. Estas actividades serán defendidas polos alumnos en sesións de tutoría a través da plataforma Ms Teams
Tutorías: As sesións de tutorías servirán para resolver as dúbidas do alumnado en canto aos contidos da materia, resolución de problemas de teoría e exercicios de prácticas propostos no anexo de actividades. Estas tutorías serán tanto presenciais como virtuais a través de correo electrónico, campus virtual ou plataforma Ms Teams, e son fundamentais para alcanzar unha aprendizaxe efectiva da materia.
Curso Virtual: Esta materia disporá dun curso virtual desenvolvido sobre a plataforma de Campus virtual da USC, usando ademais a ferramenta colaborativa Ms Teams. Nestas facilitaráselle ao alumnado todo o material necesario en formato dixital, ademais de distintas ferramentas de comunicación para o apoio, tanto da docencia virtual como das tutorías, incluíndo videoconferencia, chat, correo electrónico, foros?
A memoria de título expón que, para os sistemas de avaliación da materia, seguirase a normativa xeral de avaliación da USC e as especificacións descritas no apartado 5.1. da mesma. En concreto, e para esta materia, fíxanse as ponderaciones mínima e máxima de cada apartado, tal e como se reflicte na seguinte táboa
Sistema de avaliación
Actividades Propostas: entre 20% e 40%
Proba ou probas avaliación: entre 50% e 70%
Tutorías: entre 0% e 10%
A asistencia ás clases interactivas e expositivas é obrigatoria e terase en conta para a avaliación da materia. Será obrigatorio a asistencia polo menos ao 95% das sesións (salvo causas moi justificadas, segundo normativa da USC). As clases prácticas realizaranse ao longo do curso durante as sesións de clases interactivas.
Recoméndase encarecidamente utilizar as tutorías, tanto presenciais como virtuais, para a resolución das dúbidas respecto diso destes problemas ou de calquera contido da materia.
Para superar a materia, o alumno terá que realizar todas as actividades que se propoñan e superar os exames correspondentes.
Para os casos de realización fraudulenta de exercicios ou probas será de aplicación o recolleito na ?Normativa de avaliación do rendemento académico dous estudantes e de revisión de cualificacións? da USC.
Primeira oportunidade:
Para superar a materia, o alumno deberá asistir ás clases, ter entregado e superado as actividades propostas, que se realizarán a través de obradoiros na plataforma virtual da materia (40% da cualificación final) e aprobar por separado tanto a teoría, que se realizará mediante un exame tipo test coa axuda da plataforma virtual, como a parte práctica, que se realizará mediante tarefas na plataforma virtual da materia consistente na resolución de problemas de programación ( 60% da cualificación final). Terase en conta a asistencia ás tutorías para a resolución de dúbidas
As preguntas do exame teórico poderán referirse tanto aos contidos reflectidos nos apuntamentos da materia como aos contidos prácticos traballados polo alumno nas actividades entregadas. Estas probas poderán constar de preguntas tipo test, preguntas curtas e problemas de casos prácticos.
En todas as probas avaliarase o grao de asimilación das competencias establecidas no programa docente da materia. Non se realizará ningún exame parcial. Para superar a materia terase que demostrar un coñecemento superior ao 50% en todos os tipos de avaliación.
Segunda oportunidade:
Á marxe da avaliación continua, todos os alumnos teñen dereito a asistir ao exame da segunda oportunidade. Mantense a nota, e tamén o seu peso na nota final, conseguida en cada unha das partes (asistencia a clase, entrega de actividades e as notas da parte teórica, como da parte práctica) durante o curso. Con todo, os alumnos poderán entregar en data previa o exame da segunda oportunidade, aquelas actividades que non alcanzasen a nota de corte na convocatoria anterior. Para superar a materia terase demostrar un coñecemento superior ao 50% en todos os tipos de avaliación
Os alumnos repetidores de anos anteriores estarán exentos do cumprimento do deber de asistencia ás clases presenciais. Para aprobar a materia é obrigatorio a realización e entrega das actividades propostas nas mesmas datas establecidas para o resto dos alumnos, así como superar a proba de tipo Test e o exame de tipo práctico.
Sistema de avaliación
Competencias Ponderación mínima Ponderación máxima
Actividades Propostas CG2, CG3, CG5, CE5 entre 20% e 40%
Proba ou probas avaliación CG2, CG3, CG5, CE5 entre 50% e 70%
Tutorías CG2, CG3, CG5, CE5 entre 0% e 10%
Os alumnos que non asistan a ningunha das actividades de ensino programadas por conciliación laboral ou familiar deberán cumprir coas disposicións da Instrución 1/2017 da Secretaría Xeral. Nestes casos, para aprobar esta materia, é obrigatorio a realización e entrega das actividades propostas, así como superar a proba de tipo Test e o exame de tipo práctico.
Tempo de estudio y traballo persoal
A materia ten fixada unha carga de traballo de 6 ECTS. Este dato conduce a unha carga de traballo para a materia situada entre as 150 (6x25) horas e as 180 (6x30) horas.
Na guía da materia pódese ver un estudo máis detallado sobre o tempo de estudo e traballo persoal necesario para superar a materia. A recomendación xeral sería empregar entre 10 e 12 horas (incluídas as 4 de clase) por semana.
Traballo presencial no aula
* Clases teóricas (expositivas de grupo grande): 12 horas.
* Prácticas (con grupos reducidos): 36 horas.
* Titorías de grupo (con grupos reducidos): 3 horas.
* Titorías individualizadas 4 horas
* Actividades de avaliación: 5 horas.
TOTAL 60 horas
Traballo persoal do alumnado
* Lectura e preparación de temas: 6 horas.
* Realización de exercicios, Elaboración de traballos: 66 horas.
* Titorías de grupo (con grupos reducidos): 7 horas.
* Titorías individualizadas 3 horas
* Preparación de probas de avaliación: 8 horas.
TOTAL 90 horas
Dado que se emprega unha metodoloxía sustentada na avaliación continua, é necesario un traballo continuado cos contidos da materia. Isto é especialmente importante coas prácticas, xa que uns contidos vanse asentando sobre os anteriores, o que fai moi conveniente ter asimilados os temas anteriores antes de tentar comprender os novos. É a única forma de poder ir superando as distintas actividades de avaliación que se propoñen.
Para o estudo da materia, recoméndase realizar a totalidade dos exercicios dos boletíns de problemas e das actividades, tanto os que se resolvan nas propias sesións interactivas, como os que queden propostos.
A asignatura impartirase en Castelán
Por razóns evidentes de convivencia, así como unha adecuada calidade das actividades didácticas que levan a cabo no marco do grao, está terminantemente prohibido o uso do teléfono móbil na aula, responsabilizando ao alumnado das consecuencias legais e académicas que poidan derivarse da utilización de leste.