Logo UAB
2023/2024

Eines Informàtiques i de Programació

Codi: 106807 Crèdits: 6
Titulació Tipus Curs Semestre
2504602 Nanociència i Nanotecnologia FB 1 1

Professor/a de contacte

Nom:
Xavier Cartoixa Soler
Correu electrònic:
xavier.cartoixa@uab.cat

Idiomes dels grups

Podeu accedir-hi des d'aquest enllaç. Per consultar l'idioma us caldrà introduir el CODI de l'assignatura. Tingueu en compte que la informació és provisional fins a 30 de novembre de 2023.

Equip docent

Catalina Coll Benejam
Pedro Alcázar Guerrero

Prerequisits

Cap.


Objectius

  • Familiaritzar-se en l’ús de vàries eines informàtiques pel tractament de dades i la presentació gràfica d’informació.
  • Conèixer les estructures bàsiques d’un programa: tipus, branques, bucles; així com les fases de la seva creació.
  • Ser capaç de fer servir el llenguatge python per realitzar tasques comuns en un laboratori de Nanociència i Nanotecnologia.

Resultats d'aprenentatge

  • CM12 (Competència) Resoldre problemes en l'àmbit de la nanociència, seleccionant les eines informàtiques i de programació adequades.
  • KM18 (Coneixement) Reconèixer les eines informàtiques del tractament, l'anàlisi i la representació de dades.
  • KM19 (Coneixement) Identificar les diferents etapes, des de l'anàlisi fins a la verificació, d'un programa informàtic executable i les eines disponibles per a dur-les a terme.
  • SM18 (Habilitat) Escriure programes informàtics d'anàlisi i resolució de problemes simples en diferents llenguatges de programació científica.
  • SM19 (Habilitat) Utilitzar aplicacions informàtiques de visualització, tractament i representació de dades.
  • SM19 (Habilitat) Utilitzar aplicacions informàtiques de visualització, tractament i representació de dades.
  • SM20 (Habilitat) Transmetre dades científiques rellevants mitjançant la creació de figures d'alta qualitat.
  • SM20 (Habilitat) Transmetre dades científiques rellevants mitjançant la creació de figures d'alta qualitat.

Continguts

1. Configuració de l’entorn informàtic
  1. WSL2, VMs, Cygwin, Dual boot
  2. Instal·lació de software
  3. Configuració de python
2. Familiarització en entorns Linux (PAUL)
  1. La finestra de terminal
  2. Configuració del sistema
3. Algoritmes i estructures bàsiques
  1. Blocs bàsics
4. Python
  1. Hello world
  2. If, then, else
  3. While, do while
  4. For loop
  5. Funcions i subrutines
  6. Mòduls
  7. Tipus de variables
  8. Objectes
5. Presentació gràfica d’informació
  1. Excel
  2. Gnuplot
  3. Matplotlib
6. Tractament de dades
  1. NumPy i SciPy
  2. Integració numèrica
  3. Àlgebra lineal
  4. Sèrie de Fourier
  5. Interpolació de punts
7. Classificacions de llenguatges de programació
  1. Funcional vs Orientats a Objectes (OO)
  2. Compilats vs interpretats
  3. Passar per valor vs passar per referència
  4. Tipus d’una variable
8. Eines
  1. Compiladors i intèrprets
  2. Llenguatges: Hello world en
  3. Debuggers: gdb, idb, GUIs
  4. IDEs: Eclipse, Visual Studio, kdevelop
  5. Profilers i memory leak detectors
  6. Recursos online: repositoris, documentació, stackoverflow
9. Consideracions finals

 


Metodologia

La formació es basarà en classes magistrals amb ús esporàdic de l’ordinador, complementades amb pràctiques d'aula amb ús intensiu de l’ordinador i pràctiques de laboratori on s’aplicaran els continguts apresos al control d’instrumentació i anàlisi i visualització de dades.

Es faran activitats autònomes que inclouran l’elaboració de programes informàtics simples.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.


Activitats formatives

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Classe magistral 30 1,2 CM12, KM18, KM19, SM18, SM19, SM20
Pràctiques d'aula 15 0,6 CM12, SM18, SM19, SM20
Pràctiques de laboratori 7 0,28 KM18, KM19, SM18, SM19, SM20
Tipus: Autònomes      
Estudi i realització de programes 77 3,08 CM12, KM18, KM19, SM18, SM19, SM20
Preparació de pràctiques de laboratori 15 0,6

Avaluació

La realització de les pràctiques de laboratori és obligatòria, i cal aprovar les pràctiques separadament.

 

Per a aprovar l’assignatura cal una nota mínima de 4 en la prova de síntesi. Això es pot obtenir o bé:

a) Quan la mitjana de les proves parcials de síntesi assoleixi el 4, i cap de les proves parcials tingui una qualificació inferior a 2.

b) Quan la prova de síntesi de recuperació assoleixi el mínim de 4.

Per presentar-se a la prova de síntesi de recuperació cal haver-se presentat prèviament com a mínim a una de les proves parcials de síntesi, i haver aprovat les pràctiques.

 

Les matrícules d'honor es concediran amb preferència als resultats de les proves de síntesi parcials sobre la de recuperació. Es podrà anar a la prova de síntesi de recuperació a pujar nota, però en cas d'obtenir una qualificació inferior a la de la mitjana de les proves parcials, la qualificació de síntesi final serà la mitjana entre la mitjana dels parcials i la nota de recuperació.

 

Aquesta assignatura no preveu el sistema d'avaluació única.


Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
Problemes i treball independent 20% 0 0 KM18, KM19, SM18, SM19
Prova de síntesi 55% 6 0,24 CM12, KM18, SM18
Pràctiques de laboratori 25% 0 0 CM12, KM18, SM18, SM19, SM20

Bibliografia

  • Eric Matthes, Python Crash Course : a hands-on, project-based introduction to programming, No Starch Press, San Francisco, 3rd Ed, 2023.
  • Sébastien Chazallet, Python 3 : Los fundamentos del lenguaje, ENI Ediciones, 2ª ed, 2016.
  • Connor P. Milliken, Python Projects for Beginners, Apress, 1st ed, 2020.
  • Joel Grus, Data Science from Scratch : First Principles with Python, O’Reilly, Sebastopol, CA, USA, 2nd ed, 2019.

Programari

El curs farà ús intensiu del llenguatge de programació python , així com ús esporàdic d’altres programes i llenguatges. S’oferirà assistència per la configuració de l’entorn.