Universitat Internacional de Catalunya
Informática
Otras lenguas de impartición: catalán, castellano
Profesorado
Horas a convenir con el estudiantado contactar via correo electrónico
Presentación
Este curso le proporcionará las habilidades y los conocimientos necesarios para empezar a crear y desarrollar aplicaciones con este lenguaje de programación versátil y potente.
Python fue concebido a finales de los 80 como un lenguaje para ser interpretado orientado a la enseñanza. Con el paso del tiempo, Python se ha impuesto por su simplicidad y legibilidad, lo que le convierte en una excelente opción tanto para principiantes como para expertos en programación. Con Python, puede desarrollar aplicaciones web, automatizar tareas, analizar datos e incluso construir inteligencia artificial.
El creador del lenguaje fue el informático holandés Guido van Rossum, conocido durante muchos años con el título de BDFL (Benevolent Dictator for Life). Esto era porque Guido tenía asignada la tarea de fijar las directrices sobre la evolución de Python, cuya tarea se retiró en 2018. El nombre Python se debe a su afición al programa de la BBC Monty Python's Flying Circus, del célebre grupo de humoristas británico Monty Python.
Requisitos previos
Dado que la asignatura es de introducción asumirá que no se posee ningún tipo de conocimiento previo sobre la materia. Es responsabilidad de la propia asignatura proporcionar a los alumnos un medio para adquirir los conocimientos descritos en el apartado de contenidos de la asignatura.
A pesar de ello es recomendable tener conocimientos a nivel de usuario de algún tipo de plataforma (windows, mac o linux)
Objetivos
Esta asignatura tiene un carácter general e introductorio a la programación. Se profundizará en el estudio de los aspectos metodológicos de la programación y el aprendizaje de un lenguaje de alto nivel. Por tanto, los objetivos generales que se proponen para la asignatura son los siguientes:
- Entender el ciclo de vida del software: analizar el problema (entender lo que se nos pide), diseño (proponer una solución al problema), implementación (codificación en un lenguaje de programación de la solución elegida), prueba (realización de un test de manera sistemática para asegurar la corrección de la solución implementada).
- Dotar al estudiante de la capacidad de diseño de algoritmos para la resolución de problemas, introduciendo de manera progresiva y sistemática una metodología rigurosa y estructurada de programación, basada fundamentalmente en la técnica del diseño descendente de algoritmos.
- Introducir al estudiante en un lenguaje de programación real. Se pretende que el estudiante perciba la diferencia entre la flexibilidad de la notación pseudo-algorítmica que se emplea en los primeros temas y la estricta sintaxis de un lenguaje de programación real, tanto en sus aspectos léxicos (palabras válidas del lenguaje ), sintácticos (reglas para combinarlas) y semánticos (significado de las mismas).
- Habituar al estudiante a desarrollar programas siguiendo unas normas de estilo tendentes a conseguir programas de calidad. Dentro de estas normas de estilo engloban aquellas que facilitan la compresión del código, como pueden ser el uso de comentarios, la indentación del código, la utilización de nombres adecuados para los tipos de datos, etc.
Competencias/Resultados de aprendizaje de la titulación
- 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
- CB5 - Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía
- CG4 - Resolver problemas con iniciativa, toma de decisiones, creatividad, razonamiento crítico y de comunicación y transmisión de conocimientos, habilidades y destrezas en el campo de la Bioingeniería.
Resultados de aprendizaje de la asignatura
- Aplicar los principios básicos de la estructura y programación de los computadores.
- Aplicar estrategias de depuración, prueba y corrección de programas.
- Evaluar de forma crítica el trabajo realizado.
- Desarrollar programas con buen estilo de programación y bien documentados.
- Implementar en un lenguaje de programación problemas algorítmicos de dificultad media.
- Planificar y gestionar el tiempo y los recursos disponibles.
Contenidos
Tema 1: Resolución de problemas: introducción a la algorítmica y la programación.
Introducción a la resolución de problemas. Concepto de algoritmo. Fases en el desarrollo de algoritmos. La programación como disciplina de ingeniería. Ciclo de vida del software. Elementos básicos de un algoritmo. Herramientas para la representación de algoritmos. Lenguajes de programación. Clasificación. Traductores de lenguajes: Compiladores e intérpretes.
Tema 2: Conceptos básicos y estructuras de control
Definición de variables y constantes. Tipo de datos fundamentales. Estructura Secuencial. Estructuras de selección o condicionales. Estructuras iterativas o repetitivas.
Tema 3: Subprogramas
El concepto de subprograma como abstracción de operaciones. Localidad, neamente, ámbito y visibilidad. Definición de funciones y procedimientos. Llamadas a funciones y procedimientos. Diseño modular descendente.
Tema 4: Archivos
Definiciones básicas. Entrada / salida de datos en ficheros. Tipo de accesos a ficheros.
Tema 5: Tipos de datos avanzados
Listas, tuplas y conjuntos. Diccionarios.
Metodología y actividades formativas
Modalidad totalmente presencial en el aula
En el desarrollo de la asignatura seguirá una metodología práctica. Esto significa que los estudiantes deberán solucionar un conjunto amplio de problemas.
- Antes de Clase. Los conceptos básicos se trabajan antes de las sesiones presenciales. Preparar la clase revisando las transparéncias y la lista de problemas que se encuentran en la plataforma del campus virtual. Paralelamente al material habrá un foro de discusión en el campus virtual moderado por el profesorado, para resolver dudas y las sesiones de tutoría.
- En Clase. El objetivo de las sesiones presenciales se pasó de la información al conocimiento. Pondremos el énfasis en crear conocimientos aplicables al análisis de problemas concretos, en que el profesorado pone a prueba los estudiantes, los cuales consolidan sus aprendizajes a partir de problemas. La estructura de las clases será:
- Propuesta de problemas (60 min). El objetivo es experimentar haciendo una tarea práctica que permita aplicar los conceptos aprendidos en la clase anterior que se ha utilizado para resolver los problemas propuestos
- Revisión de los conceptos básicos más importantes (60 min). El objetivo es dar los conocimientos teóricos para resolver los problemas propuestos para la próxima semana
- Después de Clase. El objetivo se consolidó el conocimiento. En la plataforma del campus virtual se podrán encontrar un conjunto de problemas que deben permitir a los / las estudiantes profundizar en la comprensión y personalizar el conocimiento.
Sistemas y criterios de evaluación
Modalidad totalmente presencial en el aula
Se realizan las siguientes actividades evaluables:
Actividad |
Fecha |
Recuperación |
Porcentaje Bloque |
Nota mínima |
Examen Teórico Parcial (Tp) Individual |
Consultar Planificación |
NO |
15% |
No |
Examen Teórico Final (Tf) Individual |
10/1/2024 |
18/07/2024 |
35% |
Tf> = 5 |
Resolución Problemas (P) individual |
Cada semana |
No |
25% |
No |
Practica de Laboratorio (PLG) Grupal |
Consultar Planificación |
Consultar Planificación |
25% |
PLG> = 5 |
La nota de cada final de la asignatura es la suma ponderada de las actividades de evaluación con su porcentaje correspondiente. El resultado de la suma ponderada debe ser> = 5 por considerar aprobada la asignatura.
Programación de actividades de evaluación
Las fechas de evaluación y entrega de trabajos se publicarán en el campus virtual y pueden estar sujetos a cambios de programación por motivos de adaptación a posibles incidencias. Siempre se informará por el gestor documental sobre estos cambios ya que se entiende que esta es la plataforma habitual de intercambio de información entre profesores y estudiantes.
Procedimiento de recuperación
El estudiante puede presentarse a la recuperación siempre que se haya presentado a un conjunto de actividades que represente al menos dos terceras partes de la calificación total de la asignatura.
El exámenes parcial (Tp) se recuperará aprobando el examen final (Tf)
En caso de que el examen final (Tf) se obtenga una nota
La actividad Resolución Problemas (P) Individual no se podrá recuperar.
Procedimiento de revisión de las calificaciones
Los estudiantes tendrán derecho a la revisión de los exámenes teóricos (Tp y Tf). El lugar, fecha y hora de revisión se publicará el día que sean publicadas las notas. Si el estudiante no se presenta en esta revisión no se revisará posteriormente esta actividad. Sólo en casos justificados se podrá hacer una revisión a posteriori de la fecha fijada y siempre hasta un máximo de 7 días naturales.
De las notas de la práctica de laboratorio (PLG y PLI) no se realizará revisión para que la evaluación se realiza ante los estudiantes.
Calificaciones
No Evaluable (NA): Cualquier alumno que entregue una práctica o una evaluación programada tendrá nota. Sólo se considerará no evaluable en el caso de no entregar ninguna actividad evaluable.
Nota Final: S le de la suma ponderada según los criterios expuestos en el apartado de actividades de evaluación. Si en alguna actividad no se alcanza la nota mínima la nota saldrá de la siguiente fórmula:
Mínimo (aplicar suma ponderada y 4,5)
Matrículas de honor
Otorgar una calificación de matrícula de honor es decisión del profesorado responsable de la asignatura. Siguiendo la normativa de la UIC en esta materia En caso de que más de un estudiante obtenga la misma note se priorizará según las siguientes reglas (en orden):
- Estudiantes con mejor nota global.
- Estudiantes que hayan conseguido la nota igual o superior a la fijada en la normativa haciendo menos recuperaciones de actividades (ya sea por haber suspendido la actividad o porque se ha ido a subir nota).
- Estudiantes con la nota igual o superior a la fijada en la normativa en las actividades Tf y Tp
Irregularidades por parte del estudiante, copia y plagio
Sin perjuicio de otras medidas disciplinarias que estimen oportunas, se calificarán con un cero las irregularidades cometidas por el estudiante que puedan conducir a una variación de la calificación de un acto de evaluación. Por lo tanto, la copia, el plagio, el engaño, dejar copiar, etc. en cualquiera de las actividades de evaluación implicará suspender con un cero. Las actividades de evaluación calificadas de esta forma y por este procedimiento no serán recuperables. Si es necesario superar cualquiera de estas actividades de evaluación para aprobar la asignatura, esta asignatura quedará suspendida directamente, sin oportunidad de recuperarla en el mismo curso. En este caso, la nota numérica del expediente será el valor menor entre 3.0 y la media ponderada de las notas.
Bibliografía y recursos
J. Guttag. Introduction to Computation and Programming Using Python: With Application to Understanding Data Second Edition. MIT Press. ISBN-10: 9780262529624
S. Chazallet Python 3. Los fundamentos del lenguaje. Eni, ISBN-10: 2409006140
E. Matthes. Python Crash Course: A Hands-On, Project-Based Introduction to Programming. No Starch Press ISBN-10: 1593276036
M. Myers. A Smarter Way to Learn Python: Learn it faster. Remember it longer. Createspace Independent Pub ISBN-10: 1974431479
A. Prieto, A. Lloris, J.C. Torres. Introducción a la Informática. Mc Graw-Hill ISBN-10: 8448146247
A. Prieto, B. Prieto. Conceptos de Informática. Mc Graw-Hill, Schaum ISBN-10: 8448198573
L. Joyanes Aguilar. Fundamentos de Programación: Algoritmos, Estructuras de Datos y Objetos. Mc. Graw-Hill. ISBN-10:8448161114
Periodo de evaluación
- E1 10/01/2025 P2A02 12:00h