Study programme competencies |
Code
|
Study programme competences / results
|
A4 |
CE4 - Coñecemento e aplicación dos fundamentos de programación e técnicas algorítmicas básicas para deseñar solucións a problemas, utilizando as linguaxes de programación máis relevantes no ámbito da ciencia e enxeñaría de datos. |
B1 |
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 en libros de texto avanzados, inclúe tamén algúns aspectos que implican coñecementos procedentes da vangarda do seu campo de estudo |
B5 |
CB5 - Que os estudantes desenvolvesen aquelas habilidades de aprendizaxe necesarias para emprender estudos posteriores cun alto grao de autonomía |
B6 |
CG1 - Ser capaz de buscar e seleccionar a información útil necesaria para resolver problemas complexos, manexando con soltura as fontes bibliográficas do campo. |
C1 |
CT1 - Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida. |
Learning aims |
Learning outcomes |
Study programme competences / results |
Saber analizar problemas e deseñar, programar e depurar algoritmos que os resolvan utilizando unha linguaxe de programación imperativa |
A4
|
B5 B6
|
C1
|
Coñecer os aspectos básicos que conducen a un bo deseño de programas |
A4
|
B5 B6
|
C1
|
Saber elexir e utilizar as estratexias de resolución de problemas máis relevantes |
A4
|
B1 B5 B6
|
C1
|
Coñecer e saber usar linguaxes de programación de relevancia actual |
A4
|
B1 B5 B6
|
C1
|
Contents |
Topic |
Sub-topic |
1 CONCEPTOS BÁSICOS |
1.1 Algoritmos
1.1.1 Representación de algoritmos
1.2 Programas
1.2.1 Tipos de programas
1.3 Linguaxes de programación
1.3.1 Unha visión histórica
1.3.2 Clasificación das linguaxes
1.3.3 Instrucións máis importantes
1.3.4 Propiedades das linguaxes
1.4 Tradutores
1.5. Descripción das linguaxes
1.6 Estrutura dun programa
1.7 Elementos dun programa
1.7.1 Símbolos predefinidos
1.7.2 Símbolos especiais
1.7.3 Identificadores
1.7.4 Etiquetas
1.7.5 Comentarios
1.7.6 Directivas
1.7.7 Constantes
1.7.8 Números
1.7.9 Cadeas de carácteres
1.7.10 Variables: Declaración e iniciación
1.7.11 Variables: Dirección de Memoria
1.8 Saída e Entrada
1.8.1 Sentenzas de saída
1.8.2 Sentenzas de entrada
1.9 Tipos de datos e operadores
1.9.1 Tipos de datos
1.9.2 Operadores
1.9.3 Expresións
1.10 Depuración de programas |
2 SENTENZAS DE CONTROL |
2.1 Secuencial
2.2 Condicional
2.2.1 A sentenza condicional simple
2.2.2 A sentenza condicional múltiple
2.3 Repetitiva
2.3.1 Introdución
2.3.2 Variables asociadas aos bucles
2.3.3 Funcionamento dos diferentes tipos de bucles
2.3.4 Bucle FOR
2.3.5 Equivalencia entre bucles
2.3.6 Erros nos bucles
2.3.7 Deseño de bucles |
3 ARQUITECTURA DUN PROGRAMA |
3.1 Funcións
3.1.1 Tipos de funcions
3.2 Función como argumentos
3.3 Corrutinas
3.4 Recursividade
3.4.1 Natureza da recursividade
3.4.2 Recursión infinita |
4 ESTRUTURAS SIMPLES DE DATOS |
4.1 Vectores
4.1.1 Tipo de datos
4.1.2 Declaración dun vector
4.2 Tuplas
4.2.1 Tipo de datos
4.2.2 Operacións con tuplas
4.3 Cadeas de caracteres
4.3.1 Cadeas de lonxitude variable |
5 ALMACENAMENTO PERSISTENTE |
5.1 Ficheiros
5.2 Tipos de ficheiros |
Planning |
Methodologies / tests |
Competencies / Results |
Teaching hours (in-person & virtual) |
Student’s personal work hours |
Total hours |
Guest lecture / keynote speech |
A4 B1 B5 B6 C1 |
30 |
30 |
60 |
Laboratory practice |
A4 B1 B5 B6 C1 |
20 |
50 |
70 |
Seminar |
B6 C1 |
8 |
10 |
18 |
|
Personalized attention |
|
2 |
0 |
2 |
|
(*)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 |
Nas sesións de teoría, o profesor describe os obxectivos e os contidos da materia, para dar unha visión particular do tema a tratar e relacionalo con outros dentro da asignatura
Despois desenvólvese o tema correspondente na forma de sesión magistral, axudándose das ferramentas técnicas dispoñibles, facendo fincapé en certas cuestións nas que o alumno debe profundar no seu autoaprendizaje.
O obxectivo é que o alumno aprenda a algoritmizar, utilizar as estruturas básicas de datos e resolver sinxelos problemas de programación. Utilizarase como linguaxe de codificación o Python
As sesions maxistrales poden ser presenciais a través de plataformas informáticas como TEAMS. Tamén pódense incluir vídeos explicativos de diferentes partes dos contidos teóricos
|
Laboratory practice |
Nas sesións de prácticas o alumno realizará programas en papel para despois codificarlo en Linguaxe Python, executalo e comprobar o seu nivel de corrección.
Os enunciados dos programas proporcionarase coa suficiente antelación para que os alumnos poidan aproveitar mellor o seu tempo.
É misión do profesor supervisar o código xerado polo alumno para resolver dúbidas, corrixir malos estilos de programación e corrixir erros. |
Seminar |
Nas sesións de seminario realizaranse exercicios e prácticas coa finalidade de detectar nos alumnos lagoas de coñecemento na materia impartida ata ese momento, e dar as explicacións e/ou referencias necesarias para emendalas.
As sesions de seminario e para resolver dubidas poden ser a través de plataformas informáticas como TEAMS |
Personalized attention |
Methodologies
|
Guest lecture / keynote speech |
Laboratory practice |
Seminar |
|
Description |
Tanto nas sesións maxistrales como nos laboratorios de prácticas e nas sesións de seminario levarase unha atención personalizada do alumno, en distintos niveis segundo sexa o tipo de clase, detectando o nivel de asimilación e comprensión dos temas explicados e as prácticas requiridas a implantar.
Nas sesións de seminario é onde se pode chegar máis ao alumno para coñecer as lagoas que presente e indicarlle o camiño para cubrilas.
Os alumnos que teñan matrícula a tempo parcial deben falar, o comezo do curso, con o/os profesores encargados do seu grupo.
|
|
Assessment |
Methodologies
|
Competencies / Results |
Description
|
Qualification
|
Guest lecture / keynote speech |
A4 B1 B5 B6 C1 |
A nota da asignatura será a suma do obtido na Avaliación Continua (durante as 15 semanas do periodo lectivo correspondente á asignatura) e o obtido no Exame Final.
A nota de AVALIACIÓN CONTINUA, está valorada en 4 puntos.
O EXAME FINAL constará de preguntas, cuestións ou exercicios que o alumno terá que responder. Terá un valor de 6 puntos.
O exame oficial, tanto na primeira (xaneiro) como na segunda (xullo) oportunidade constará de preguntas, cuestións ou exercicios que o alumno terá que responder. Devandito Exame Final terá un valor máximo de 6 puntos, que se sumarán ao obtido na Avaliación Continua.
Como posibilidade de recuperación da Avaliación Contínua (na convocatoria de xullo), o alumno poderá decidir ser examinado dun contido adicional ao examen final, que constará de varios problemas a desenvolver en código Python. |
60 |
Laboratory practice |
A4 B1 B5 B6 C1 |
Durante as últimas semanas de prácticas do curso realizarase unha proba no laboratorio usando ordenadores que terá un valor máximo de 4 puntos sobre a nota total do curso (puntuada sobre 10). Será necesario que o programa a realizar polo alumno no laboratorio se execute de forma correcta e completa. |
40 |
|
Assessment comments |
A nota final virá dada pola nota obtida por AVALIACIÓN CONTINUA e a obtida no EXAME FINAL.
|
Sources of information |
Basic
|
Arturo Montejo Ráez, Salud María Jiménez Zafra (2019). Curso de Programación Python. Editorial Anaya
Mark Lutz (2013). Learning Python. Quinta edición . O’Reilly Media Inc.
Alberto Cuevas Alvárez (2016). Python 3. Curso Práctico. Editorial RA-MA.
Charles Russell Severance (2016). Python for Everybody: Exploring Data in Python 3.. Open Textbook Library
Charles Russell Severance (Autor), Fernando Tardio Muniz (Traductor) (2015). Python para informaticos: Explorando la informacion. . |
|
Complementary
|
John V. Guttag (2013). Introduction to Computation and Programming Using Python. The MIT Press
Mark Summerfield (2010). Python 3.. Editorial Anaya
Sébastien Chazallet (2016). Python 3. Los fundamentos del lenguaje - 2ª edición. Ediciones-ENI
Raúl González Duque (2008). Python para todos. |
|
Recommendations |
Subjects that it is recommended to have taken before |
|
Subjects that are recommended to be taken simultaneously |
|
Subjects that continue the syllabus |
Fundamentals of Programming II/614G02009 |
|
Other comments |
O alumno debe ter en conta que debe realizar unha labor
autodidacta moi importante, seguindo o seguinte esquema: Ler, atender, comprender,
preguntar, estudar e practicar · Ler: Lea o tema a tratar antes de asistir ás
sesións teóricas. É MOI IMPORTANTE! · Atender: Atenda en clase, non só estea de
corpo presente. · Comprender: Comprenda o que se lle di nas
sesións de teoría, e si non pregunte. · Preguntar: Pregunte todo o que non comprenda,
non quede con dúbidas. · Estudar: Estude logo das sesións, para reter
o comprendido.
· Practicar: Faga moitos
programas, os que se lle pidan, suxiran, e outros pola súa conta, tanto en papel
como no ordenador. Fundamentos da programación I é unha asignatura que non se
pode aprender estudando en dous días. O alumno debe ir madurando os conceptos,
facer sobre o papel e na máquina moitos programas, aprendendo tamén dos erros
ao realizalos. Esta é unha asignatura que, por medio do sistema de avaliación
continua, se pode seguir de forma activa, o ritmo das
distintas sesións teóricas e prácticas. Debe facer caso ás indicacións
particulares de reforzo de estudo que lle sinale o profesor. |
|