
Programació Científica
Codi: 107925Crèdits: 6
| Titulació | Tipus | Curs |
|---|---|---|
| Matemàtiques | FB | 1 |
Professor/a de contacte
- Nom :
- Joaquim Roé Vellvé
- Correu electrònic :
- joaquim.roe@uab.cat
Equip docent
- Martí Prats Soler
- Jaume Coll Guerrero
- Joaquim Roé Vellvé
Idiomes dels grups
Podeu consultar aquesta informació al final del document.
Prerequisits
Cap
Objectius
Familiaritzar-se amb l'ús d'un manipulador algebraic. Aquest manipulador ha d'esdevenir una eina habitual en l'estudi de moltes altres assignatures.
Iniciar-se a la programació d'ordinadors, en els aspectes més rellevants per a la computació científica.
Entendre el funcionament de l'ordinador, en els aspectes més rellevants per a la programació.
Aprendre a programar en llenguatge Python i C.
Resultats d'aprenentatge
- CM05 (Discriminar, d’entre diferents algoritmes, el més pertinent per resoldre un problema matemàtic elemental.) Discriminar, d’entre diferents algoritmes, el més pertinent per resoldre un problema matemàtic elemental.
- KM08 (Identificar alguns algoritmes de càlcul bàsics.) Identificar alguns algoritmes de càlcul bàsics.
- KM09 (Enumerar els principis matemàtics fonamentals de la programació.) Enumerar els principis matemàtics fonamentals de la programació.
- KM10 (Descriure els principis del funcionament de l’ordinador en els aspectes més rellevants per a la programació, incloent components, memòria, processament i entrada/sortida.) Descriure els principis del funcionament de l’ordinador en els aspectes més rellevants per a la programació, incloent components, memòria, processament i entrada/sortida.
- SM07 (Fer servir un programa de càlcul simbòlic en la resolució de problemes senzills d’altres branques de les matemàtiques, com l’àlgebra, la geometria o la teoria de grafs.) Fer servir un programa de càlcul simbòlic en la resolució de problemes senzills d’altres branques de les matemàtiques, com l’àlgebra, la geometria o la teoria de grafs.
- SM08 (Programar algoritmes senzills.) Programar algoritmes senzills.
Continguts
Primera part: Python i Sagemath
- Nombres, cadenes i variables.
- Llistes, conjunts i comprensió.
- Construccions iteratives i alternatives
- Tuples i diccionaris.
- Funcions i recursivitat.
- Control d'errors.
- Disseny i anàlisi d'algorismes.
- Nombres enters i congruències.
- Càlculs numèrics i algebraics.
- Gràfiques de funcions.
- Resolució d'equacions.
- Objectes i Classes.
- Vectors i matrius.
Segona Part: C
- Llenguatges compilats. Codi font i programa executable.
- Estructures dels programes en C: iterativa, alternativa.
- Funcions i recursivitat.
- Codificació de la informació. Tipus de variables i constants.
- Vectors i tipus derivats.
- Gestió de la memòria. Apuntadors.
- Entrada i sortida: interacció per consola i fitxers.
- Biblioteques.
Activitats formatives i Metodologia
| Títol | Hores | ECTS | Resultats d'aprenentatge |
|---|---|---|---|
| Preparació examen de Pyhton i Sagemath | 25 | 1 | CM05, KM08, KM09, KM10, SM07, SM08 |
| Python i Sagemath | 26 | 1,04 | CM05, KM08, KM09, KM10, SM07, SM08 |
| Treball | 39 | 1,56 | CM05, KM08, KM09, KM10, SM07, SM08 |
| Preparació examen de C | 25 | 1 | CM05, KM08, KM09, KM10, SM07, SM08 |
| C | 30 | 1,2 | CM05, KM08, KM09, KM10, SM07, SM08 |
Es faran 13 sessions pràctiques en el primer semestre, i 15 sessions en el segon semestre, cada sessió de dues hores. La part essencial de les pràctiques consisteix en el treball personal de cada alumne/a a l'ordinador, seguint un guió preparat i explicat pel professorat.
En tots els aspectes de les activitats d'ensenyament/aprenentatge, es prendran totes les mesures necessàries per part del professorat i l'alumnat per tal d'evitar llenguatge i situacions que puguin ser interpretats com a sexistes. Per tal d'aconseguir una millora contínua en aquest tema, tothom ha de col·laborar en posar de manifest les desviacions que observi respecte d'aquest objectiu.
Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per tal que l'alumnat empleni les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.
Avaluació
Activitats d'avaluació continuada
| Títol | Pes | Hores | ECTS | Resultats d'aprenentatge |
|---|---|---|---|---|
| Treball | 0,24 | 1 | 0,04 | CM05, KM08, KM09, KM10, SM07, SM08 |
| Examen de Python i Sagemath | 0,38 | 2 | 0,08 | CM05, KM08, KM09, KM10, SM07, SM08 |
| Examen de C | 0,38 | 2 | 0,08 | CM05, KM08, KM09, KM10, SM07, SM08 |
L'assignatura té tres avaluacions:
- durant el primer semestre del curs es farà una o més proves de la part de Python i Sagemath.
- durant el segon semestre del curs es farà una prova de la part de C, a part d'algunes entregues d'exercicis pràctics.
- un treball de programació, que contindrà una explicació escrita en Latex, amb parts del codi escrites amb Python i parts amb escrites amb C.El treball serà avaluat oralment.
La nota final de l'assignatura serà la suma ponderada de les notes de cadascuna de les tres parts.
Hi ha una nota mínima de cadascuna de les parts de 3,5 punts sobre 10.
De cadascun dels exàmens hi haurà una repesca per recuperar/millorar la nota. L'entrega d'aquest segon examen anul·larà automàticament la nota de la primera convocatòria. El treball no és recuperable.
Es considerarà avaluable qui hagi presentat treballs o hagi fet exàmens per un total d'almenys dos terços de l'assignatura. En cas contrari constarà a l'acta com a No Avaluable.
Per a l'assignació de Matrícules d'Honor no es tindran en compte les notes de les repesques.
IMPORTANT: L'avaluació és individual. El frau en un treball avaluable o un examen es penalitzarà amb un zero com a nota final de l'assignatura. L'ajut d'eines d'"Intel·ligència artificial" en els exàmens no és permès; en l'elaboració del treball serà regulat. L'estudiant haurà d'identificar clarament quines parts han estat generades amb aquesta tecnologia, especificar les eines emprades i incloure una reflexió crítica sobre com aquestes han influït en el procés i el resultat final de l’activitat. La no transparència de l’ús de la IA es considerarà falta d'honestedat acadèmica i pot comportar una penalització en la nota de l'activitat, o sancions majors en casos de gravetat.
AVALUACIÓ ÚNICA: En aquesta metedologia, s'haurà d'entregar el treball i fer un únic examen de 4 hores sobre tot el contingut de l'assignatura, seguit de l'avaluació oral del treball.
Bibliografia
Durant el curs es proporcionarà el material imprescindible per seguir-lo. Com a material addicional, recomanem:
SAGE. http://www.sagemath.org/help.html
Tobias Oetiker, Hubert Partl, Irene Hyna and Elisabeth Schlegl. The not so short introduction to LaTeX 2e. Tobi.oetiker.ch/lshort/lshort.pdf
George Grätzer, More Math Into LaTeX, Springer, 2016
CProgramming. http://www.cprogramming.com/tutorial/c-tutorial.html (La quantitat de tutorials sobre llenguatge C a internet i en forma de llibre és enorme, i en diversitat d'idiomes)
B.W. Kernighan, Ritchie, D.M., The C programming language. 2nd edition. 1988
Programari
En l'assignatura s'utilitza SageMath, Python, Latex, i C. Durant el curs es donaran instruccions necessàries per la seva correcta instal·lació, així com recomanacions sobre els possibles editors.
Grups i idiomes de l'assignatura
La informació proporcionada és provisional fins al 30 de novembre. A partir d'aquesta data, podreu consultar l'idioma de cada grup a través d'aquest enllaç. Per accedir a la informació, caldrà introduir el CODI de l'assignatura
| Tipus de docència | Grup | Idioma | Semestre | Torn |
|---|---|---|---|---|
| (PLAB) Pràctiques de laboratori | 1 | Català | anual | matí-mixt |
| (PLAB) Pràctiques de laboratori | 2 | Català | anual | matí-mixt |
| (PLAB) Pràctiques de laboratori | 3 | Català | anual | matí-mixt |
| (PLAB) Pràctiques de laboratori | 4 | Català | anual | matí-mixt |