Última actualización: 20/06/2022


Curso Académico: 2022/2023

Programación
(18302)
Titulación: Grado en Ingeniería Física (363)


Coordinador/a: ALVAREZ RODRIGUEZ, JOSE MARIA

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Formación Básica
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:

Rama de Conocimiento: Ingeniería y Arquitectura



Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
-Se recomienda tener experiencia en el uso de ordenadores.
Competencias y resultados del aprendizaje
Descripción de contenidos: Programa
1 Introducción conceptual. 1.1 Estructura de un computador: hardware y software. Codificación de la información. 1.2 Álgebra de Boole. 1.3 Lenguaje de programación y paradigmas: la programación estructurada. 1.4 Conceptos: algoritmo, programa, proceso, etc. 1.5 Compilación, depuración y ejecución. 1.6 Pseudocode. 2 Elementos de programación. 2.1 Identificadores. 2.2 Variables y constantes. 2.3 Tipos de datos simples. 2.4 Operadores, expresiones y sentencias. 3 Control de flujo. 3.1 Sentencias condicionales. 3.2 Sentencias repetitivas. 3.3 Otros tipos de control flujo. 4 Estructuras de datos y tipos de datos definidos por el usuario. 4.1 Definición y principios de diseño. 4.2 Strings: concepto, gestión y aplicación. 4.3 Arrays, tuplas y conjuntos: concepto, gestión y aplicación. 4.4 Diccionarios: concepto, gestión y aplicación. 5 Subprogramas: procedimientos y funciones. 5.1 Definición y principios de diseño. 5.2 Signatura de las funciones, parámetros e invocación. 5.3 Introducción a las funciones recursivas. 5.4 Otros paradigmas: introducción a la Programación Orientada a Objetos. 6 Algoritmos básicos. 6.1 Búsqueda y ordenación. 7 Gestión de recursos. 7.1 Memoria estática y dinámica. 7.2 Operaciones con la memoria: reserva y liberación. 8 El sistema de entrada/salida. 8.1 Concepto de fichero y tipología: de texto y binarios. 8.2 Gestión de ficheros, operaciones básicas: crear, escribir, leer y borrar.
Actividades formativas, metodología a utilizar y régimen de tutorías
Clases Teóricas: 1 ECTS Clases Prácticas: 1 ECTS - Resolución de ejercicios - Buenas prácticas de programación - Tutoría general Trabajo en Equipo: 3 ECTS - Desarrollo de la práctica - Aplicación de buenas prácticas de programación Trabajo Individual: 1 ECTS - Contribución a la práctica del equipo - Estudio y preparación del examen
Sistema de evaluación
  • Peso porcentual del Examen Final 30
  • Peso porcentual del resto de la evaluación 70
Calendario de Evaluación Continua
Bibliografía básica
  • Allen B. Downey. Think Python: How to Think Like a Computer Scientist, 2nd edition. O'Reilly. 2015
  • Andrew Koenig. C Traps and Pitfalls. Addison-Wesley Professional. 1989
  • Anthony Scopatz, Kathryn D. Huff . Effective Computation in Physics: Field Guide to Research with Python. O'Reilly. 2015
  • Brian W. Kernighan / Dennis Ritchie. The C Programming Language. Pearson. 2015
  • David M. Beazley. Python Cookbook: Recipes for Mastering Python 3. O'Reilly. 2011
  • Jose María Alvarez Rodríguez. Hands on Programming with Python: Theory and Practice. Amazon KDP Publishing. 2020
  • Luciano Ramalho. Fluent Python. O'Reilly. 2015
  • Mark Lutz . Learning Python. 0'Reilly. 2013
  • Paul Barry. Head-First Python, 2nd edition. O'Reilly. 2016
  • Robert C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship . Prentice Hall. 2008
  • Samuel P. Harbison, Guy L. Steele Jr. . C: A Reference Manual, 5th Edition. Pearson. 2002
  • Zed A. Shaw. Learn Python 3 the Hard Way. Addison-Wesley. 2016
Recursos electrónicosRecursos Electrónicos *
Bibliografía complementaria
  • Peter Prinz, Tony Crawford. C in a Nutshell. O'Reilly Media. 2015
  • Richard M. Reese . Understanding and Using C Pointers. O'Reilly Media. 2013
Recursos electrónicosRecursos Electrónicos *
(*) El acceso a algunos recursos electrónicos puede estar restringido a los miembros de la comunidad universitaria mediante su validación en campus global. Si esta fuera de la Universidad, establezca una VPN


El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.


Dirección web para más información: https://www.inf.uc3m.es/en/component/comprofiler/userprofile/joalvare