ECTS credits ECTS credits: 6
ECTS Hours Rules/Memories Hours of tutorials: 3 Expository Class: 21 Interactive Classroom: 30 Total: 54
Use languages Spanish, Galician
Type: Ordinary Degree Subject RD 1393/2007 - 822/2021
Center Faculty of Business Administration and Management
Call: Second Semester
Teaching: Sin Docencia (En Extinción)
Enrolment: No Matriculable (Sólo Planes en Extinción)
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 la actualidad 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 y el lenguaje de programación empleado.
Durante el desarrollo de la asignatura el alumno 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 alumno, 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 el concepto de fichero, 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.
La memoria del título contempla para esta materia los siguientes contenidos:
Representación y codificación de la información. Introducción a la Programación procedural: tipos de datos elementales, estructuras de control, programación modular, recursividad básica, tipos de datos estructurados. Entrada/Salida. Ficheros. Bases de Datos. Herramientas básicas de programación.
Estos contenidos serán desarrollados de acuerdo con el 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.
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.
Básicas y Generales:
CB1. Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio.
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
CB3. Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética
CB4. Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado
CB5. Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía
CG3. Aprender a planificar e implantar las nuevas tecnologías para contribuir a la mejora de la competitividad de las empresas
CG7. Conocer y emplear correctamente las herramientas informáticas y las nuevas tecnologías relacionadas con la gestión empresarial.
Competencias transversales
CT5 Capacidad de resolver problemas y tomar decisiones aplicando los conocimientos teóricos a la práctica
CT6 Trabajar en equipo, compartiendo los conocimientos y sabiéndolos comunicar al resto del equipo y la organización
CT10 Habilidad en el manejo de herramientas de cálculo y tecnologías de la información y de la comunicación (TIC)
Competencias específicas
CE18 - Conocer el uso y programación de sistemas informáticos, bases de datos, criptografía y cadenas de bloques para su aplicación a la gestión y análisis de la información empresarial y al diseño y desarrollo de productos, procesos y nuevos modelos
La realización de todas las actividades propuestas es necesaria, al igual que la asistencia a todas las clases para superar la materia.
Los contenidos de la materia se impartirán de forma semipresencial utilizando como apoyo las plataformas corporativas de la USC: Moodle (Campus Virtual) y Microsoft Teams.
Los recursos necesarios para desarrollar la materia son:
a. 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 de Microsoft Visual Studio Code y al intérprete de Python
e. Acceso el campus virtual de la USC
f. Acceso a Microsoft Teams
Curso Virtual: Esta materia dispondrá de un curso virtual desarrollado sobre la plataforma de Campus virtual de la USC. Se le facilitará al alumnado todo el material necesario en formato digital, además de 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 …
El estudio y aprendizaje que se persigue dentro de la materia se apoyará en los siguientes elementos:
- 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 materia. Estas actividades deberán ser entregados en las fechas correspondientes de acuerdo con el cronograma establecido y podrán ser defendidas por los estudiantes en sesiones de tutorías a través de la plataforma Microsoft Teams
- Estudio autónomo, por parte del alumnado, de los materiales didácticos correspondientes a cada unidad temática que el profesorado pondrá a disposición de los estudiantes en el Campus Virtual. Todos los contenidos digitales (ejemplos de programas en Python, diapositivas de los temas en formato PDF, vídeos formativos, etc.), serán previamente puestos a disposición del alumnado en el Campus virtual.
- Tutorías: Las sesiones de tutorías servirán para resolver las dudas del alumnado relacionadas con los contenidos de la materia y los ejercicios de prácticas propuestos, así como para guiarlos en su estudio autónomo. Estas tutorías se desarrollarán preferentemente a través de la plataforma Microsoft Teams pero podrán ser tanto presenciales como virtuales.
- Sesiones presenciales: Estas sesiones, que se desarrollarán de acuerdo con los horarios establecidos por la Facultad, se impartirán en el aula correspondiente y serán retransmitidas de forma síncrona en streaming. En estas sesiones se llevará a cabo una revisión breve de los contenidos generales de cada unidad temática y se desarrollarán diferentes actividades orientadas a fomentar la participación y puesta en común de todo el grupo. Las clases presenciales fundamentalmente tendrán lugar en un aula de informática, en la que se proporcionará un ordenador para cada estudiante. Para maximizar el aprendizaje es recomendable que el alumnado, antes de cada sesión, revise previamente los materiales didácticos del tema correspondiente de acuerdo con el cronograma de la materia. Por otra parte, es importante que participe activamente en todas las actividades propuestas por el profesorado y consulte la bibliografía y el material recomendado.
La asistencia a las clases es obligatoria y se tendrá en cuenta para la evaluación de la materia. Será obligatorio la asistencia al menos al 75% de las sesiones (salvo causas muy justificadas, según normativa de la USC).
Se recomienda encarecidamente utilizar las tutorías para la resolución de las dudas al respecto de estos problemas o de cualquier contenido de la materia.
Para superar la materia, el estudiante tendrá que realizar todas las actividades que se propongan y superar los exámenes correspondientes.
Primera oportunidad:
Para superar la asignatura, el alumno deberá asistir a las clases, entregar y superar las actividades propuestas y se tendrá en cuenta a asistencia a las tutorías para la resolución de dudas (50% de la cualificación) así como aprobar el examen final (50% de la nota). El examen final constará de dos partes que es necesario superar por separado: la teoría, que se realizará mediante un examen tipo test con la ayuda de la plataforma virtual, y la parte práctica, que se realizará mediante la resolución de problemas de programación. Las preguntas del examen tipo test podrán referirse tanto a los contenidos reflejados en los apuntes de la materia como a los contenidos prácticos trabajados por el estudiante en las actividades entregadas. Estas pruebas podrán 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 alcanzaran la nota de corte en la convocatoria anterior. Una vez aprobadas ambas partes por separado, el examen será el 50% de la nota final y las prácticas el otro 50%. Como en primera convocatoria la superación del examen final implica superar por separado tanto la teoría, que se realizará mediante un examen tipo test con la ayuda de la plataforma virtual, como la parte práctica, que se realizará mediante la resolución de problemas de programación.
Dispensa de asistencia:
En caso de dispensa de asistencia los alumnos estarán exentos 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.
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 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 el recogido en la “Normativa de evaluación del rendimiento académico dos estudiantes y de revisión de cualificaciones” de la USC.
No presentados:
De acuerdo con la Normativa de Permanencia vigente en la USC para los estudios de Grado y Máster (art. 5.2), la mera asistencia y/o participación en cualquiera de las actividades sujetas la evaluación supondrá que la nota final del estudiante sea distinta de NO PRESENTADO.
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 materia. 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 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 por semana
Trabajo presencial en el aula
* Actividad presencial: presentación de contenidos básicos y clases prácticas: 12 horas.
* Tutorías en grupos reducidos (presencial y virtual): 6 horas.
* Actividades de evaluación: 3 horas.
TOTAL: 21 horas
Trabajo personal del alumnado
* Aprendizaje Virtual. Estudio personal. Resolución de casos prácticos/trabajos: 77 horas.
* Preparación de trabajos del curso: 20 horas.
* Preparación de pruebas de evaluación: 32 horas.
TOTAL: 129 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 la parte práctica, 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.
Para el estudio de la materia, se recomienda realizar la totalidad de los ejercicios de las actividades, tanto los que se resuelvan en las propias sesiones interactivas, como los que queden propuestos.
Idioma principal: la materia se impartirá en castellano
Efren Arias Jordan
- Department
- Electronics and Computing
- Area
- Languages and Computer Systems
- efren.arias [at] usc.es
- Category
- Professor: University School Lecturer
Beatriz Blanco Besteiro
- Department
- Electronics and Computing
- Area
- Languages and Computer Systems
- beatriz.blanco [at] usc.es
- Category
- Professor: Temporary professor appointed due to Vacancy - T3
05.29.2025 16:00-20:00 | Grupo de examen | Computer room 5 |
07.04.2025 16:00-20:00 | Grupo de examen | Computer room 5 |