ECTS credits ECTS credits: 6
ECTS Hours Rules/Memories Hours of tutorials: 3 Expository Class: 21 Interactive Classroom: 30 Total: 54
Use languages Galician (100.00%)
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 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. 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: 3HP 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 5HP 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:
[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
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 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
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. 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 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 de 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á obligatorio 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 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 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 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 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
* 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
Beatriz Blanco Besteiro
Coordinador/a- Department
- Electronics and Computing
- Area
- Languages and Computer Systems
- beatriz.blanco [at] usc.es
- Category
- Professor: Temporary professor appointed due to Vacancy - T3
| Friday | ||
|---|---|---|
| 11:30-12:50 | Grupo /CLE_01 | Classroom 6 |
| 05.23.2024 09:00-13:00 | Grupo /CLE_01 | Computer room 1 |
| 05.23.2024 09:00-13:00 | Grupo /CLE_01 | Computer room 2 |
| 06.28.2024 09:00-13:00 | Grupo /CLE_01 | Computer room 1 |
| 06.28.2024 09:00-13:00 | Grupo /CLE_01 | Computer room 2 |
| Teacher | Language |
|---|---|
| BLANCO BESTEIRO, BEATRIZ | Galician |
| Teacher | Language |
|---|---|
| BLANCO BESTEIRO, BEATRIZ | Galician |
| Teacher | Language |
|---|---|
| BLANCO BESTEIRO, BEATRIZ | Galician |
| Teacher | Language |
|---|---|
| BLANCO BESTEIRO, BEATRIZ | Galician |
| Teacher | Language |
|---|---|
| BLANCO BESTEIRO, BEATRIZ | Galician |
| Teacher | Language |
|---|---|
| BLANCO BESTEIRO, BEATRIZ | Galician |
| Teacher | Language |
|---|---|
| BLANCO BESTEIRO, BEATRIZ | Galician |
| Teacher | Language |
|---|---|
| BLANCO BESTEIRO, BEATRIZ | Galician |
| Teacher | Language |
|---|---|
| BLANCO BESTEIRO, BEATRIZ | Galician |