Facultats i centres
Serveis administratius
Serveis generals
L'assignatura parteix de la premissa que els estudiants coneixen amb certa profunditat alguns llenguatges de programació, principalment imperatius i orientats a objectes. El seu objectiu principal és que aconsegueixin una major perspectiva i puguin raonar en general sobre els llenguatges de programació. Quins elements són comuns als llenguatges de programació? Quines característiques tenen? Quins són els elements essencials i els accessoris? Què famílies o paradigmes de llenguatges podem identificar? Com dissenyar un bon llenguatge de programació? Dominant aquests continguts serà molt més fàcil aprendre nous llenguatges de programació, identificar-ne els aspectes essencials i fins i tot ser capaç de dissenyar llenguatges específics orientats a dominis concrets.
En el curs utilitzarem els llenguatges de programació Racket i Swift. Racket es construeix sobre Scheme, una variant molt estesa de LISP, llenguatge paradigma de la programació funcional. La utilització d'un llenguatge tan senzill ens permet reflexionar sobre quins són els elements essencials dels llenguatges de programació i la seva semàntica. Swift és un modern llenguatge multiparadigma creat reciéntemente per Apple amb aspiracions de suportar múltiples plataformes (dispositius mòbils, sistemes operatius o servidors) i que integra de forma coherent conceptes de programació funcional i programació orientat a objectes i que introdueix nous paradigmes de programació com la programació orientada a protocols. A diferència de Racket, Swift és un llenguatge compilat, segur i fortament tipat.
En l'assignatura tractarem quatre grans aspectes:
Competències específiques (CE)
Definim les següents competències específiques: