Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Horas de Titorías: 3 Clase Expositiva: 24 Clase Interactiva: 24 Total: 51
Linguas de uso Castelán, Galego
Tipo: Materia Ordinaria Grao RD 1393/2007 - 822/2021
Departamentos: Electrónica e Computación
Áreas: Linguaxes e Sistemas Informáticos
Centro Escola Politécnica Superior de Enxeñaría
Convocatoria: Primeiro semestre
Docencia: Con docencia
Matrícula: Matriculable | 1ro curso (Si)
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 que hai en todas as linguaxes de programación, e en particular en Linguaxe Python e a linguaxe C++, para que o alumnado, partindo dun problema sinxelo, sexa capaz de atopar un algoritmo que o resolva. Para alcanzar isto, mostrarase como desenvolver programas sinxelos e os fundamentos de programación que hai detrás
Obxectivos da materia
Os obxectivos, para 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.
A memoria do título contempla para esta materia os seguintes contidos:
Os contidos desta materia están encamiñados a proporcionar unha introdución á programación de computadores con técnicas clásicas e desde unha perspectiva práctica.
Introdución: representación da información e ferramentas básicas de programación
Linguaxes de programación para robótica
Estruturas de control
Programación funcional
Tipos estruturados de datos
Cálculo Científico e técnico en robótica
Ficheiros e xestión de datos para robótica
Deseño, verificación e validación de programas. Documentación
Estes contidos serán desenvolvidos de acordo co seguinte temario:
Introdución (4 horas presenciais)
* 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.
* Prácticas: 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.
* Prácticas: Realización de algoritmos e programas con estruturas de control
Funcións (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.
* Prácticas: Realización de algoritmos e programas modulares
Tipos estruturados en Python (6 horas presenciais, 10 non presenciais)
* Cadeas. Listas. Matrices.
* Tuplas e Conxuntos
* Dicionarios
* Prácticas: 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 Cuadrillas
* Basees de Datos.
* Prácticas: 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 dá programación en Python é extraordinariamente ampla. Limitámonos aquí a uns poucos títulos seleccionados por consideralos de moita calidade.
Bibliografía Básica:
[1] Andrés Marzal Varou, Isabel Graza Luengo, Pedro García Sevilla. - Introdución á 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 Cuadrillas, NumPy, and Ipython.?, Editorial Ou'Reilly Media, Inc., Segunda edición, 2017
Bibliografía Complementaria:
[4] Baltasar Garcia Perez-Schofield. - Introdución á programación con Python (Creative Commons)
[5] Raúl González Duque. - Python para todos (Creative Commons)
[6] Guido Van Rossum. - O 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 fundamentais de programación (Edicións ENI)
[9] Sébastien CHAZALLET. - Python 3: Os fundamentos da linguaxe (Edicións ENI)
[10] De Miguel, Pedro. "Fundamentos dos computadores." Editorial Thomson Learning Paraninfo, 2004.)
[11] Ramalho, Luciano. "Fluent Python." Editorial Ou'Reilly, 2015.
O alumno que superou o curso con éxito será capaz de:
Coñecemento:
Con04. Coñecer os compoñentes básicos dun computador, a súa funcionalidade e as relacións entre eles.
Con05. Entender os conceptos e técnicas básicos da programación desde un enfoque xeral.
Destreza:
H/D04. Resolver problemas de programación básica aplicando adecuadamente os tipos de datos e as estruturas
de controlH/D05. Aplicar os principios da programación procedural e programación modular.
Competencia:
Comp02. Programar algoritmos coas estruturas de datos adecuadas para a resolución de problemas no
ámbito da robótica.
Adicionalmente, nesta materia, o estudante adquirirá unha serie de competencia xenéricas, desexables en calquera titulación universitaria, e específicas, propias da enxeñaría en xeral ou da robótica en particular. Dentro do cadro que se deseñou para a titulación, traballásense as seguintes:
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 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 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.
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 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, e é moi recomendable 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 USCg) Acceso a Ms Teams
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?
Lección maxistral.
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 lousa, 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) serán postos a disposición do alumnado no Campus virtual.
Prácticas en Aula de Informática
As clases interactivas terán lugar nunha aula de informática, na que se proporcionará un computador para cada alumno. 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.
Resolución de problemas
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.
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 da plataforma Ms Teams, e son fundamentais para alcanzar unha aprendizaxe efectiva da materia.
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 100%
Proba ou probas avaliación: entre 0% e 70%
Tutorías: entre 0% e 10%
A asistencia ás clases interactivas e expositivas é moi recomendable e poderase ter en conta a participación dos alumnos para a avaliación da materia. 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 estudante 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 estudante deberá entregar e superar as actividades propostas, que se realizarán mediante talleres 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 estudante 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 estudantes 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 (entrega de actividades e as notas da parte teórica, como da parte práctica) durante o curso. Con todo, os estudantes 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.
Sistema de avaliación Competencias Ponderación máxima
Actividades Propostas CG2, CG3, CG5, Con04, Con05,H/D04, H/D05, Comp02 40%
Proba ou probas avaliación CG2, CG3, CG5, Con04, Con05,H/D04, H/D05, Comp02 60%Tutorías CG2, CG3, CG5, Con04, Con05,H/D04, H/D05, Comp02 10%
Para superar a materia, é obrigatorio para os estudantes repetidores de anos anteriores, a realización e entrega das actividades propostas nas mesmas datas establecidas para o resto dos estudantes, así como superar a proba de tipo Test e o exame de tipo práctico.
Os estudantes 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 estudo e 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 na aula (100% de presencialidad)
* Clases teóricas (expositivas de grupo grande): 12 horas.
* Prácticas (con grupos reducidos): 36 horas.
* Tutorías de grupo (con grupos reducidos): 3 horas.
* Actividades de avaliación: 5 horas.
Traballo persoal do alumnado
* Lectura e preparación de temas: 10 horas.
* Realización de exercicios e Elaboración de traballos: 70 horas.
* Tutoría en grupo: 7 horas.
* Tutoría individualizada: 3 horas.
* Preparación de probas de avaliación: 9 horas.
TOTAL 99 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 materia 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.
Efren Arias Jordan
Coordinador/a- Departamento
- Electrónica e Computación
- Área
- Linguaxes e Sistemas Informáticos
- Correo electrónico
- efren.arias [at] usc.es
- Categoría
- Profesor/a: Titular de Escola Universitaria
Luns | |||
---|---|---|---|
12:00-14:00 | Grupo /CLE_01 | Castelán | Aula 7 (Aulario 2) |
Mércores | |||
11:00-14:00 | Grupo /CLIL_01 | Castelán | Aula de Informática 7 (Aulario 4) |
Xoves | |||
11:00-14:00 | Grupo /CLIL_02 | Castelán | Aula de Informática 7 (Aulario 4) |
Venres | |||
11:00-14:00 | Grupo /CLIL_03 | Castelán | Aula de Informática 7 (Aulario 4) |
19.12.2024 09:00-14:00 | Grupo /CLE_01 | Aula de Informática 1 (Pav.III) |
19.12.2024 09:00-14:00 | Grupo /CLE_01 | Aula de Informática 4 (Pav.III) |
19.12.2024 09:00-14:00 | Grupo /CLE_01 | Aula de Informática 5 (Pav III) |
12.06.2025 09:00-14:00 | Grupo /CLE_01 | Aula de Informática 1 (Pav.III) |
12.06.2025 09:00-14:00 | Grupo /CLE_01 | Aula de Informática 4 (Pav.III) |
12.06.2025 09:00-14:00 | Grupo /CLE_01 | Aula de Informática 5 (Pav III) |