Grado en Business Intelligence y Data Analytics

Conviértete en un experto en análisis de datos y toma de decisiones empresariales dentro de un ecosistema tecnológico, con excelentes oportunidades laborales

Principios de programación

Descripción: 

El conocimiento de algoritmos y programación es fundamental para el estudio de la ciencia y el análisis de datos, resultando fundamental para las aplicaciones informáticas generales en ciencias e ingeniería. Este curso abarca los conceptos fundamentales de algoritmos, tipos de datos, estructuras de control, manejo de archivos, clases y métodos. Estas herramientas algorítmicas se vinculan con los conceptos de programación de Python: tipos y estructuras de datos, flujo de control de procesamiento, definición de funciones, E/S de archivos, clases y métodos para la programación orientada a objetos. 

Tipo asignatura
Primer - Obligatoria
Semestre
Primero
Curso
1
Créditos
5.00
Conocimientos previos: 

No conocimientos previos a nivel universitario son requeridos

Objetivos: 

El objetivo principal de este curso es estudiar los fundamentos de la programación y las mejores prácticas de implementación en el lenguaje de propósito general Python. Los objetivos específicos son proporcionar a los estudiantes las siguientes capacidades:

•Proponer soluciones algorítmicas a problemas básicos en Ciencia de Datos, Estadística y Matemáticas fundamentales.

•Construir programas utilizando adecuadamente las estructuras de datos de Python, el control de flujo y la gestión de primitivas de archivos, así como las unidades de modularización (funciones).

•Comprender los fundamentos de la programación orientada a objetos y utilizar las clases de Python para resolver problemas en los campos de aplicación arriba mencionados. 

Contenidos: 

  • Sistemas numéricos, modelo de computador de programa almacenado y representación de números.
  • Sistemas numéricos, modelo de computador de programa almacenado y representación de números.
  • Estructuras de control secuenciales y condicionales: operaciones booleanas o lógicas. Estructuras de control condicional o de selección (simples, múltiples y anidadas).
  • Estructuras de control iterativas: bucles for y while; bucles anidados; combinaciones de for y while; instrucción break.
  • Estructuras de datos tipo arrays y sus operaciones: vectores y matrices. Operaciones elemento a elemento y a nivel de array; métodos de búsqueda de elementos y ordenación.
  • Estructuras de datos en Python: listas, diccionarios, conjuntos (sets) y tuplas: creación, operaciones y aplicaciones.
  • Funciones en Python: concepto (código reutilizable), paso de argumentos, ejemplos, recursión.

Metodología: 

La asignatura consta de dos sesiones lectivas semanales. La primera sesión es una clase magistral donde se introducen los conceptos teóricos y se presentan ejemplos prácticos. La segunda sesión es práctica, donde los estudiantes realizan ejercicios de ordenador para consolidar la materia. Cada dos o tres sesiones, se realizan actividades de evaluación, individuales o grupales, mediante pruebas escritas o ejercicios de ordenador, basados en preguntas o ejercicios planteados durante las sesiones o previamente asignados. En el caso de los ejercicios de ordenador, se podrán solicitar presentaciones orales, las cuales serán calificadas por el profesor.

Evaluación: 

1) Actividades prácticas de evaluación: 20%

2) Examen parcial (parte de programación + teoría): 30%

3) Proyecto en grupo (informe + presentación oral): 20%

4) Examen final (parte de programación + teoría): 20%

5) Participación en clase: 10%

Uso de herramientas de IA: Si se utilizan herramientas de inteligencia artificial en alguna actividad, deberá incluirse un párrafo indicando para qué se utilizó la IA y qué indicaciones (prompts) se emplearon para obtener los resultados. El incumplimiento de este requisito constituye una infracción de las normas de integridad académica.

Criterios evaluación: 

1) Actividades prácticas de evaluación: 20%

2) Examen parcial (parte de programación + teoría): 30%

3) Proyecto en grupo (informe + presentación oral): 20%

4) Examen final (parte de programación + teoría): 20%

5) Participación en clase: 10%

Uso de herramientas de IA: Si se utilizan herramientas de inteligencia artificial en alguna actividad, deberá incluirse un párrafo indicando para qué se utilizó la IA y qué indicaciones (prompts) se emplearon para obtener los resultados. El incumplimiento de este requisito constituye una infracción de las normas de integridad académica.

Bibliografía básica: 

- Laudon, Kenneth C. and Laudon, Jane P. (2014). Management Information Systems: Managing the Digital Firm. Global Edition. 13th edition. - Davenport, T & Harris, J. Competing on Analytics: The New Science of Winning (2014, 2017). Havard Business School - Foster Provost and Tom Fawcett. Data Science for Business. O'Reilly (2013). - Carl Anderson. Creating a Data-Driven Organization. O'Reilly. (2015). - DJ Patil. Building Data Science Teams. O'Reilly. (2011). - DJ Patil and Hilary Mason. Data Driven: Creating a Data Culture. O'Reilly. (2015).

Material complementario: 

• Barry, P. (2017). Head first Python, 2nd edition: A brain-friendly guide. O'Reilly Media, Inc.

• Phillips, D. (2015). Python 3 Object-oriented programming, 2nd edition. Packt Publishing Ltd.