ECTS credits ECTS credits: 6
ECTS Hours Rules/Memories Hours of tutorials: 3 Expository Class: 18 Interactive Classroom: 30 Total: 51
Use languages Spanish, Galician
Type: Ordinary Degree Subject RD 1393/2007 - 822/2021
Departments: Electronics and Computing
Areas: Languages and Computer Systems
Center Faculty of Business Administration and Management
Call: Second 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, partiendo de un problema sencillo, el alumnado sea capaz de analizarlo y descomponerlo en subproblemas más simples y determinar 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 la actualidad como es Python. No obstante, 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 y el lenguaje de programación empleado.
Durante el desarrollo de la asignatura, el alumnado trabajará con una amplia variedad de ejemplos que le permitirán alcanzar las competencias transversales y específicas de la asignatura.
En particular se persigue que el alumnado, al finalizar la materia, sea capaz de:
- Comprender los diferentes sistemas de representación de la información existentes en los computadores.
- Dominar los principios de la programación procedural.
- Resolver problemas de programación básica aplicando adecuadamente los tipos de datos elementales, los tipos de datos estructurados y las estructuras de control.
- Asimilar el concepto programación modular y saber aplicarlo en la resolución de problemas.
- Comprender los conceptos de ficheros y bases de datos, y saber utilizarlos.
- 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.
Los contenidos de la materia serán desarrollados de acuerdo al siguiente temario:
1. Introducción.
- Codificación de la información.
- Programas y 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.
- Prácticas: Realización de algoritmos y programas modulares.
5. Tipos estructurados en Python.
- Cadenas. Listas.
- Tuplas y diccionarios
- Matrices.
- Prácticas: Realización de algoritmos y programas con estructuras de datos.
6. Introducción a la gestión de datos desde Python.
- Introducción a Pandas
- Acceso a ficheros y bases de datos desde Python
- Ejemplos de programas para la gestión de datos desde Python.
El programa de prácticas se desarrollará de forma intercalada junto con el programa teórico, tal y como se muestra en la estructura anterior. Aproximadamente, las horas presenciales (HP) y no presenciales (HNP) dedicadas a cada módulo se distribuyen de la siguiente manera:
- Tema 1: 2 HP y 4 HNP dedicados a la introducción a los lenguajes de programación.
- Tema 2: 3 HP y 8 HNP para la teoría y 5 HP y 10 HNP para las prácticas de introducción a los fundamentos de Python (variables, asignación, entrada/salida, etc.).
- Tema 3: se reservarán al menos 4 HP y 10 HNP para que el alumnado profundice en los bucles y estructuras de control. Se dedicarán también 10 HP y 14 HNP a su desarrollo práctico.
- Tema 4: 3HP y 10 HNP se dedicarán a la definición y uso de funciones, así como 5 HP y 10 HNP para su desarrollo práctico.
- Tema 5: los tipos estructurados de Python, debido a su importancia, tienen una carga relevante que, aproximadamente, se distribuye en 4 HP y 10 HNP para clases expositivas y 10 HP y 13 HNP para interactivas.
- Tema 6: el módulo para la gestión de datos será fundamentalmente teórico e introductorio y, aproximadamente, se dedicarán 2 HP y 4 HNP para su desarrollo. Durante las clases expositivas se mostrarán ejemplos de uso.
Bibliografía básica:
- 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).
- Hunt, John. “A Beginners Guide to Python 3 Programming.”, Editorial Springer, 2019.
- 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:
- Baltasar Garcia Perez-Schofield. - Introducción a la programación con Python (Creative Commons).
- Raúl González Duque. - Python para todos (Creative Commons).
- Guido Van Rossum. - El tutorial de Python. https://docs.python.org/es/3/tutorial/index.html
- Eugenia Bahit. - Curso: Python para Principiantes. (Creative Commons).
- Franck EBEL - Sébastien ROHAUT. - Algoritmia - Técnicas fundamentales de programación (Ediciones ENI).
- Sébastien CHAZALLET. - Python 3: Los fundamentos del lenguaje (Ediciones ENI).
- De Miguel, Pedro. "Fundamentos de los computadores." Editorial Thomson Learning-Paraninfo, 2004.
- Ramalho, Luciano. "Fluent Python." Editorial O'Reilly, 2015.
C9. Analizar información relevante para la toma de decisiones empresariales.
C10. Desarrollar soluciones tecnológicas personalizadas para las necesidades empresariales.
HD2. Gestionar información procedente de distintas fuentes que permitan adquirir nuevos conocimientos y aplicarlos para responder a retos, resolver problemas y tomar decisiones.
HD8. Usar herramientas de cálculo y análisis, de distintos tipos de lenguajes y de tecnologías de la información y de la comunicación (TIC).
CP5. Manejar los sistemas de información empresarial para la toma de decisiones relacionadas con su especificación, diseño e implantación.
Los contenidos de la materia se impartirán de forma presencial 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 del alumnado a la bibliografía en la Biblioteca o por Internet.
d) Acceso a la herramienta de desarrollo de Microsoft Visual Studio Code y al intérprete de Python.
e) Acceso al Campus Virtual de la USC.
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 presenciales fundamentalmente tendrán lugar en un aula de informática, en la que se proporcionará un ordenador para cada alumno/a. La metodología de aprendizaje de prácticas consiste fundamentalmente en la resolución por parte del alumnado de las actividades propuestas (principalmente ejercicios de programación) con la ayuda del profesor.
Actividades: A lo largo del semestre, el alumnado 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 y ejercicios de prácticas propuestos. Estas tutorías serán tanto presenciales como virtuales a través de correo electrónico, Campus Virtual o la plataforma Microsoft Teams.
La asistencia a las clases interactivas y expositivas es obligatoria y se tendrá en cuenta para la evaluación de la materia. Será obligatoria la asistencia al menos al 80% de las sesiones (salvo causas muy justificadas, según normativa de la USC). 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 asignatura, el/la alumno/a tendrá que realizar todas las actividades que se propongan y superar los exámenes correspondientes.
Primera oportunidad:
Para superar la asignatura, el/la alumno/a 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/as alumnos/as podrán entregar en fecha previa el examen final para la segunda oportunidad, aquellas actividades en las 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, el/la alumno/a estará exento/a del cumplimiento del deber de asistencia a clases presenciales, pero continuará siendo obligatoria la realización y entrega de las actividades propuestas, así como superar el examen final.
Alumnado repetidor:
El alumnado repetidor de años anteriores estará exento del cumplimiento del deber de asistencia a las clases presenciales. Para aprobar la materia es obligatoria la realización y entrega de las actividades propuestas en las mismas fechas establecidas para el resto de estudiantes, así como superar el examen teórico-práctico.
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 “Normativa de avaliación do rendemento académico dos estudantes e de revisión de cualificacións” de la USC.
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 la competencia específica CE18.
La materia 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 desglose 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:
- Docencia expositiva: 18 horas.
- Docencia interactiva: 30 horas.
- Tutorías de grupo (con grupos reducidos): 3 horas.
- Actividades de evaluación: 3 horas.
TOTAL: 54 horas.
Trabajo personal del alumnado:
- Estudio en grupo o individual: 24 horas.
- Resolución de casos prácticos: 47 horas.
- Elaboración de trabajos del curso: 3 horas.
- Preparación de pruebas de evaluación: 22 horas.
TOTAL: 96 horas.
Dado que se emplea una metodología sustentada en la evaluación continua, es necesario un trabajo continuado con los contenidos de la asignatura. 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.
Martin Liz Dominguez
Coordinador/a- Department
- Electronics and Computing
- Area
- Languages and Computer Systems
- Phone
- 982823207
- martin.liz [at] usc.es
- Category
- Professor: Intern Assistant LOSU
Friday | |||
---|---|---|---|
11:30-12:50 | Grupo /CLE_01 | Spanish | Classroom 6 |
05.26.2025 09:00-13:00 | Grupo /CLE_01 | Computer room 1 |
05.26.2025 09:00-13:00 | Grupo /CLE_01 | Computer room 2 |
07.02.2025 09:00-13:00 | Grupo /CLE_01 | Computer room 1 |
07.02.2025 09:00-13:00 | Grupo /CLE_01 | Computer room 2 |