ECTS credits ECTS credits: 6
ECTS Hours Rules/Memories Student's work ECTS: 99 Hours of tutorials: 3 Expository Class: 24 Interactive Classroom: 24 Total: 150
Use languages Spanish, Galician
Type: Ordinary Degree Subject RD 1393/2007 - 822/2021
Departments: Electronics and Computing
Areas: Languages and Computer Systems
Center Higher Polytechnic Engineering School
Call: First Semester
Teaching: With teaching
Enrolment: Enrollable | 1st year (Yes)
En esta asignatura se presentan los fundamentos b谩sicos de la programaci贸n estructurada con el objetivo de que el alumnado partiendo de un problema sencillo sea capaz de analizarlo y descomponerlo en subproblemas m谩s simples y encontrar las estructuras y algoritmos que permitan resolverlo de manera eficiente. Esta es una asignatura eminentemente pr谩ctica que focalizar谩 sus ejemplos en un lenguaje de programaci贸n ampliamente empleado en el 谩mbito de la ingenier铆a como es Python pero, sin embargo, la comprensi贸n de las bases y los fundamentos de la programaci贸n, comunes a los diferentes lenguajes de desarrollo, permitir谩 al alumnado enfrentarse con soltura y solvencia a nuevos problemas, independientemente del 谩mbito del mismo y el lenguaje de desarrollo empleado.
Durante el desarrollo de la asignatura el alumno trabajar谩 con una amplia variedad de ejemplos que le que le permitir谩n alcanzar las competencias transversales y espec铆ficas de la materia.
En particular se persigue que el alumno sea capaz de:
- Resolver problemas de ingenier铆a civil mediante el dise帽o de programas inform谩ticos
- Dise帽ar programas siguiendo una metodolog铆a basada en la programaci贸n estructurada y modular.
Para fomentar:
- Pensamiento anal铆tico: capacidad para comprender y especificar un problema, descomponi茅ndolo en una serie de subproblemas e identificando los elementos que entran en juego en cada uno.
- Pensamiento operativo: dada la especificaci贸n de un problema, ser capaz de encontrar una soluci贸n con los recursos disponibles
- Pensamiento conceptual: ser capaz de abstraer el conocimiento aprendido para poder utilizarlo en un nuevo 谩mbito.
Objetivos de la asignatura
Los objetivos, para el alumnado, perseguidos en esta asignatura son:
1) Conocer los componentes b谩sicos de un computador, sus funcionalidades y las relaciones entre ellos.
2) Introducirse en los conceptos y t茅cnicas b谩sicos de la programaci贸n desde un enfoque general. Resolver problemas de programaci贸n b谩sica aplicando adecuadamente los tipos de datos elementales, los tipos de datos estructurados y las estructuras de control. Dominar los principios de la programaci贸n estructurada.
3) Asimilar el concepto programaci贸n modular y saber aplicarlo en la resoluci贸n de problemas. Conocer el concepto de recursividad, aplic谩ndolo a problemas sencillos. Comprender el concepto de fichero y saber utilizarlos
4) Desarrollar las destrezas necesarias para la resoluci贸n de problemas b谩sicos de c谩lculo en el 谩mbito de la ingenier铆a mediante el uso de las herramientas de programaci贸n. Ser capaz de, ante una nueva especificaci贸n de un problema, encontrar una soluci贸n con los recursos disponibles y abstraer el conocimiento aprendido para poder utilizarlo en un nuevo 谩mbito
5) Ser capaz de utilizar herramientas de programaci贸n para editar, compilar, ejecutar y verificar un programa. Capacidad para aplicar estrategias de depuraci贸n, prueba y correcci贸n de programas.
La memoria del t铆tulo contempla para esta materia los siguientes contenidos:
Introducci贸n a inform谩tica. Conceptos b谩sicos de sistemas operativos. Redes de computadoras e internet. Fundamentos de bases de datos. Introducci贸n al desarrollo de programas. Metodolog铆a de programaci贸n. Dise帽o de algoritmos. Tipos de datos y expresiones b谩sicas. Entrada/Salida. Estructuras de control. Programaci贸n modular
Estos contenidos ser谩n desarrollados de acuerdo con el siguiente temario:
1. Introducci贸n
* Fundamentos de los computadores.
* Lenguajes de programaci贸n.
2. Lenguaje de programaci贸n Python
* Variables, expresiones, asignaci贸n
* Tipos de datos
* Funciones predefinidas.
* M贸dulos e importaci贸n de funciones y variables.
* Entrada/salida.
* Pr谩cticas: Realizaci贸n de algoritmos y programas b谩sicos
3. Estructuras de control
* Sentencias condicionales.
* Sentencias iterativas.
* Captura y tratamiento de excepciones.
* Pr谩cticas: Realizaci贸n de algoritmos y programas con estructuras de control
4. Funciones
* Definici贸n y uso de funciones.
* Documentaci贸n del c贸digo.
* 脕mbito de las variables.
* Recursividad.
* Pr谩cticas: Realizaci贸n de algoritmos y programas modulares
5. Tipos estructurados en Python
* Cadenas. Listas.
* Tuplas. Conjuntos y Diccionarios
* Pr谩cticas: Realizaci贸n de algoritmos y programas con estructuras de datos
6. C谩lculo cient铆fico y T茅cnico en Python
* C谩lculo Num茅rico con Numpy
* C谩lculo simb贸lico con Sympy
* Pr谩cticas: Realizaci贸n de algoritmos y programas con librer铆as cient铆fico-t茅cnicas de Python
Aproximadamente, las horas de trabajo presenciales (HP) y no presenciales (HNP) para el desarrollo del temario expuesto anteriormente (sin tener en cuenta las pr谩cticas que se describen a continuaci贸n) se distribuir谩n de la siguiente manera:
- 2 HP y 4 HNP para el tema introductorio en el que el alumnado ver谩 los componentes b谩sicos de los computadores y los tipos de lenguajes de programaci贸n.
- 3 HP y 6 HNP para introducir los elementos b谩sicos de la programaci贸n (variables, asignaciones, entrada/salida, etc.).
- 5 HP y 10 HNP para que el alumnado profundice en los bucles y estructuras de control del tema 3
- 4 HP y 8 HNP para la definici贸n y uso de funciones en el tema 4
- 6 HP y 12 HNP para el estudio de los tipos estructurados en Python (Tema5)
- 4 HP y 8 HNP para la introducci贸n al c谩lculo cient铆fico y simb贸lico con librer铆as de Python (Tema 6)
El programa de pr谩cticas se intercala con el programa de la asignatura, tal y como se muestra en el temario descrito anteriormente. Las actividades que se realizar谩n estar谩n enmarcadas en el siguiente programa de pr谩cticas:
- P1. Algoritmos y programas b谩sicos
- P2. Estructuras de control y funciones
- P3. Tipos de datos estructurados
- P4. C谩lculo cient铆fico y T茅cnico con Python
La asignatura tiene reservadas 12 horas de pr谩cticas y 12 horas de seminarios (inclu铆dos trabajos) para el desarrollo de actividades en sesiones interactivas. Aproximadamente, las horas de trabajo presenciales (HP) y no presenciales (HNP) para el desarrollo del programa de pr谩cticas se distribuir谩n de la siguiente manera:
- 4 HP y 6 HNP para las pr谩cticas introductorias de P1
- 8 HP y 17 HNP para la implementaci贸n de pr谩cticas orientadas al manejo de bucles, estructuras de control y funciones en P2
- 8 HP y 18 HNP para que el alumno profundice en los tipos de datos estructurados de Python (listas, cadenas, tuplas, diccionarios, etc) en el m贸dulo P3
- 4 HP y 10 HNP para introducir al alumnado en el c谩lculo cient铆fico en P4
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. 鈥淎 Beginners Guide to Python 3 Programming.鈥, Editorial Springer, 2019
[3] McKinney, Wes. 鈥淧ython 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.
[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.
Generales:
CG1 - Capacitaci贸n cient铆fico-t茅cnica para el ejercicio de la profesi贸n de Ingeniero T茅cnico de Obras P煤blicas y conocimiento de las funciones de asesor铆a, an谩lisis, dise帽o, c谩lculo, proyecto, construcci贸n, mantenimiento, conservaci贸n y explotaci贸n
CG11 - Planificaci贸n, proyecto, direcci贸n, ejecuci贸n y gesti贸n de procesos y productos de aplicaci贸n en la sociedad de la informaci贸n en el 谩mbito de la ingenier铆a.
Competencias b谩sicas
CB2 - Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocaci贸n de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboraci贸n y defensa de argumentos y la resoluci贸n de problemas dentro de su 谩rea de estudio.
Competencias transversales
CT1 - Capacidad de an谩lisis y s铆ntesis
CT2 - Capacidad para el razonamiento y la argumentaci贸n
CT3 - Capacidad de trabajo individual, con actitud autocr铆tica
CT8 - Compromiso de veracidad de la informaci贸n que ofrece a los dem谩s.
Competencias espec铆ficas
CEFB1 - Capacidad para la resoluci贸n de los problemas matem谩ticos que puedan darse en la Ingenier铆a. Aptitud para aplicar los conocimientos sobre: 谩lgebra lineal, geometr铆a, geometr铆a diferencial, c谩lculo diferencial e integral, ecuaciones diferenciales y en derivadas parciales, m茅todos num茅ricos, algor铆tmica num茅rica, estad铆stica y optimizaci贸n.
CEFB3 - Conocimientos b谩sicos sobre el uso y programaci贸n de los ordenadores, sistemas operativos, bases de datos y programas inform谩ticos con aplicaci贸n en ingenier铆a. Algor铆tmica num茅rica.
Los contenidos de la materia se impartir谩n de manera indistinta en las clases expositivas y en las clases interactivas. Las unidades te贸ricas y pr谩cticas se impartir谩n de manera alternativa a lo largo del semestre con el objeto de afianzar los conceptos impartidos en ellas.
La realizaci贸n de todas las actividades propuestas es necesaria, al igual que la asistencia a todas las clases (expositivas e interactivas) para superar la materia.
Los recursos necesarios para la presente materia son los siguientes:
a) Disponer de un ordenador personal
b) Copias de los apuntes de la materia.
c) Acceso de los alumnos a la bibliograf铆a en la Biblioteca o por Internet.
d) Acceso a la herramienta de desarrollo Visual Studio Code, al int茅rprete de Python y las librer铆as de Numpy y Sympy
e) Acceso el campus virtual de la 奇趣腾讯分分彩
f) Acceso a Microsoft Teams
Clases Expositivas e interactivas: Las clases consistir谩n en la explicaci贸n de los apartados del programa, con la ayuda de una presentaci贸n electr贸nica, y en la resoluci贸n de diferentes ejercicios de programaci贸n relacionados con el contenido de la asignatura.
Todos los contenidos digitales (ej. presentaciones en pdf, ejemplos de Python o v铆deos formativos) ser谩n puestos a disposici贸n del alumnado en el Campus virtual.
Las clases tendr谩n lugar, fundamentalmente, en un aula de inform谩tica, en la que se proporcionar谩 un ordenador para cada alumno. La metodolog铆a de aprendizaje de pr谩cticas consiste fundamentalmente en la resoluci贸n por parte del alumno de las actividades propuestas (principalmente ejercicios de programaci贸n) con la ayuda del profesor.
Actividades: A lo largo del semestre, el alumno deber谩 resolver problemas de programaci贸n adecuados a los contenidos desarrollados hasta el momento. La resoluci贸n y entrega de estas actividades se consideran esenciales para alcanzar un resultado satisfactorio en la presente materia.
Tutor铆as: Las sesiones de tutor铆as servir谩n para resolver las dudas del alumnado relacionadas con los contenidos de la materia. Estas tutor铆as ser谩n tanto presenciales como virtuales a trav茅s de correo electr贸nico, campus virtual o plataforma Microsoft Teams.
Curso Virtual: Esta materia dispondr谩 de un curso virtual desenvuelto sobre la plataforma Moodle del Campus virtual de la 奇趣腾讯分分彩. Se facilitar谩 al alumnado, a trav茅s de este curso virtual, todo el material necesario en formato digital. Se proporcionar谩 tambi茅n distintas herramientas de comunicaci贸n para el apoyo, tanto de la docencia virtual como de las tutor铆as, incluyendo videoconferencia, chat, correo electr贸nico, foros鈥
La asistencia a las clases interactivas y expositivas es obligatoria y se tendr谩 en cuenta para la evaluaci贸n de la materia. Ser谩 obligatorio la asistencia al menos al 80% de las sesiones (salvo causas muy justificadas, seg煤n normativa de la 奇趣腾讯分分彩). Las clases pr谩cticas se realizar谩n a lo largo del curso durante las sesiones de clases interactivas.
Se recomienda encarecidamente utilizar las tutor铆as, tanto presenciales como virtuales, para la resoluci贸n de las dudas relacionadas con el contenido de la materia.
Para superar la materia, el alumno tendr谩 que realizar todas las actividades que se propongan y superar los ex谩menes correspondientes.
Primera oportunidad:
Para superar la asignatura, el alumno deber谩 haber asistido a las clases, haber entregado y superado las actividades propuestas (40% de la calificaci贸n final) y aprobar el examen final (60% de la calificaci贸n). El examen final estar谩 compuesto de dos partes que el alumno deber谩 superar por separado: parte te贸rica, que ser谩 evaluada a trav茅s de un tipo test, y parte pr谩ctica, que ser谩 desarrollada a trav茅s de ejercicios de programaci贸n. Las preguntas del examen final tendr谩n un enfoque pr谩ctico relacionado con los contenidos que se han desarrollado en la materia, en relaci贸n con sus competencias, y que podr谩n haber sido adquiridos por el alumno tanto en la parte expositiva como en la interactiva.
El examen podr谩 constar de preguntas tipo test, preguntas cortas y problemas de casos pr谩cticos
Ex谩menes parciales: no se realizar谩 ning煤n examen parcial.
Segunda oportunidad:
Se mantiene la nota conseguida en las pr谩cticas durante el curso y tambi茅n su peso en la nota final. Los alumnos podr谩n entregar en fecha previa el examen final para la segunda oportunidad, aquellas actividades que no hubiesen alcanzado la nota de corte en la convocatoria anterior. Una vez aprobadas ambas partes por separado, el examen ser谩 el 60% de la nota final y las pr谩cticas el 40%. Siguiendo el esquema descrito en primera convocatoria, la superaci贸n del examen final implicar谩 superar por separado una parte te贸rica, a trav茅s de un tipo test, y una parte pr谩ctica, a trav茅s del desarrollo de ejercicios de programaci贸n.
Dispensa de asistencia:
En caso de dispensa de asistencia los alumnos estar谩n exentos del cumplimiento del deber de asistencia a las clases presenciales, pero seguir谩 siendo obligatorio la realizaci贸n y entrega de las actividades propuestas, as铆 como superar el examen final.
Alumnos repetidores:
Los alumnos repetidores de a帽os anteriores estar谩n exentos del cumplimiento del deber de asistencia a las clases presenciales. Para aprobar la materia es obligatorio la realizaci贸n y entrega de las actividades propuestas en las mismas fechas establecidas para el resto de los alumnos, as铆 como superar el examen final,
Realizaci贸n fraudulenta de ejercicios o pruebas :
Para los casos de realizaci贸n fraudulenta de ejercicios o pruebas ser谩 de aplicaci贸n lo recogido en la 鈥淣ormativa de avaliaci贸n do rendemento acad茅mico dos estudantes e de revisi贸n de cualificaci贸ns鈥 de la 奇趣腾讯分分彩.
Evaluaci贸n de las competencias:
En general el desarrollo de las actividades pr谩cticas, as铆 como la preparaci贸n de los temas te贸ricos permitir谩 al alumnado trabajar las competencias b谩sicas, generales y transversales de la asignatura. En concreto, el desarrollo de las pr谩cticas, as铆 como la prueba final permitir谩 evaluar las competencias CEFB3, CEFB1, CT3 y CB2. Algunas de las actividades de programaci贸n con Python servir谩n para evaluar la competencia CG1.
La asignatura tiene fijada una carga de trabajo de 6 ECTS. Este dato conduce a una carga de trabajo para la materia situada entre las 150 (6x25) horas y las 180 (6x30) horas.
En la gu铆a de la materia se puede ver un estudio m谩s detallado sobre el tiempo de estudio y trabajo personal necesario para superar la materia. La recomendaci贸n general ser铆a emplear entre 10 y 12 horas (incluidas las 4 de clase) por semana
Trabajo presencial en el aula
* Clases te贸ricas : 24 horas.
* Pr谩cticas: 24 horas.
* Tutor铆as de grupo (con grupos reducidos): 3 horas.
* Actividades de evaluaci贸n: 4 horas.
TOTAL 55 horas
Trabajo personal del alumnado
* Lectura y preparaci贸n de temas: 24 horas.
* Realizaci贸n de ejercicios: 27 horas.
* Elaboraci贸n de trabajos del curso: 24 horas.
* Preparaci贸n de pruebas de evaluaci贸n: 24 horas.
TOTAL 99 horas
Dado que se emplea una metodolog铆a sustentada en la evaluaci贸n continua, es necesario un trabajo continuado con los contenidos de la materia. Esto es especialmente importante con las pr谩cticas, ya que unos contenidos se van asentando sobre los anteriores, lo que hace muy conveniente tener asimilados los temas anteriores antes de intentar comprender los nuevos. Es la 煤nica forma de poder ir superando las distintas actividades de evaluaci贸n que se proponen.
Idioma principal: la materia se impartir谩 en castellano
Juan Diego Guti茅rrez Gallardo
Coordinador/a- Department
- Electronics and Computing
- Area
- Languages and Computer Systems
- juandiego.gutierrez [at] usc.es
- Category
- Professor: LOU (Organic Law for Universities) PhD Assistant Professor
Martin Liz Dominguez
- Department
- Electronics and Computing
- Area
- Languages and Computer Systems
- Phone
- 982823207
- martin.liz [at] usc.es
- Category
- Professor: Intern Assistant LOSU
Wednesday | |||
---|---|---|---|
12:00-14:00 | Grupo /CLE_01 | Spanish | Computer Room 1 (Pav.III) |
Thursday | |||
10:00-12:00 | Grupo /CLIL_01 | Spanish | Computer Room 1 (Pav.III) |
01.13.2025 10:00-14:00 | Grupo /CLE_01 | Computer Room 7 (Aulario 4) |
06.23.2025 10:00-14:00 | Grupo /CLE_01 | Computer Room 7 (Aulario 4) |