DAW-M06-WEC
Contingut
- 1 Presentació de l'assignatura
- 2 Distribució horària dels mòduls
- 3 Resutats d'Aprenentatge (RA)
- 4 Bibliografia
- 5 Programació
- 6 Avaluació
- 7 AEA: Activitats d'Ensenyament-Aprenentatge
- 7.1 UF1. Sintaxi del llenguatge. Objectes predefinits del llenguatge (Classroom: kkn6pnq)
- 7.2 UF3. Esdeveniments. Manegament de formularis. Model d'objectes del document (Classroom: 5rmdnxk)
- 7.3 UF4. Comunicació asíncrona client-servidor. (Classroom: 2oaog4f)
- 7.4 UF2. Estructures definides pel programador. Objectes. (Classroom: bxcupxr)
- 8 Desplegament d'Aplicacions Web
Presentació de l'assignatura
Materials a l'IOC:
- DAW: https://ioc.xtec.cat/educacio/recursos-materials-aprenentatge?id=627
- M06: https://ioc.xtec.cat/materials/FP/Materials/ICC0_DAW/DAW_ICC0_M06/web/html/index.html
- Autors: Joan Quintana, Àlex Salinas, Xavier Garcia. Coordinació: Joan Ramon Serret.
- Unitat 1: Sintaxi, Objectes predefinits del llenguatge (pdf). Fitxer:Fp daw m06 u1 pdfindex.pdf. Autor: Joan Quintana
Curriculum oficial:
- http://www.xtec.cat/web/curriculum/professionals/fp/titolsloe > CFGS Desenvolupament d'aplicacions web > Mòduls Professionals
- http://www.aapri.es/curriculo/fp/daw/desarrollo-web-en-entorno-cliente
- Fitxer:DAW WEC.pdf
Les entregues de les pràctiques es realitzaran en la plataforma Google Classroom. (Veure en cadascuna de les UF l'enllaç directe al Google Classroom, i el codi per inscriure't al crèdit.).
Recorda la pàgina web de la del INS Jaume Balmes.
Recursos interessants de Javascript:
Distribució horària dels mòduls
Mòdul 6: Desenvolupament web en entorn client
Durada: 165 hores.
Hores de lliure disposició: 33 hores
Unitats formatives que el componen:
- UF1. Sintaxi del llenguatge. Objectes predefinits del llenguatge. 30 hores
- UF2. Estructures definides pel programador. Objectes. 30 hores
- UF3. Esdeveniments. Manegament de formularis. Model d'objectes del document. 42 hores
- UF4. Comunicació asíncrona client-servidor. 30 hores
Resutats d'Aprenentatge (RA)
UF1. Sintaxi del llenguatge. Objectes predefinits del llenguatge
1. Selecciona les arquitectures i tecnologies de programació sobre clients web, identificant i analitzant les capacitats i característiques de cadascuna. 1.1 S'han caracteritzat i diferenciat els models d'execució de codi al servidor i al client web. 1.2 S'han identificat les capacitats i mecanismes d'execució de codi dels navegadors web. 1.3 S'han identificat i caracteritzat els principals llenguatges relacionats amb la programació de clients web. 1.4 S'han reconegut les particularitats de la programació de guions i els seus avantatges i desavantatges sobre la programació tradicional. 1.5 S'han verificat els mecanismes d'integració dels llenguatges de marques amb els llenguatges de programació de clients web. 1.6 S'han reconegut i avaluat les eines de programació sobre clients web. 2. Escriu sentències simples, aplicant la sintaxi del llenguatge i verificant la seva execució sobre navegadors web. 2.1 S'ha seleccionat un llenguatge de programació de clients web en funció de les seves possibilitats. 2.2 S'han utilitzat els diferents tipus de variables i operadors disponibles en el llenguatge. 2.3 S'han identificat els àmbits d'utilització de les variables. 2.4 S'han reconegut i comprovat les peculiaritats del llenguatge que fa a les conversions entre diferents tipus de dades. 2.5 S'han utilitzat mecanismes de decisió en la creació de blocs de sentències. 2.6 S'han utilitzat bucles i s'ha verificat el seu funcionament. 3. Escriu codi, identificant i aplicant les funcionalitats aportades pels objectes predefinits del llenguatge. 3.1 S'han identificat els objectes predefinits del llenguatge. 3.2 S'han analitzat els objectes referents a les finestres del navegador i els documents web que contenen. 3.3 S'han escrit sentències que utilitzin els objectes predefinits del llenguatge per canviar l'aspecte del navegador i el document que conté. 3.4 S'han generat textos i etiquetes com a resultat de l'execució de codi al navegador. 3.5 S'han escrit sentències que utilitzin els objectes predefinits del llenguatge per interactuar amb l'usuari. 3.6 S'han utilitzat les característiques pròpies del llenguatge en documents compostos per diverses finestres i marcs. 3.7 S'han utilitzat galetes per emmagatzemar informació i recuperar el seu contingut. 3.8 S'ha depurat i documentat el codi.
UF3. Esdeveniments. Manegament de formularis. Model d'objectes del document
1. Desenvolupa aplicacions web interactives integrant mecanismes de maneig d'esdeveniments. 1.1 S'han reconegut les possibilitats del llenguatge de marques relatives a la captura dels esdeveniments produïts. 1.2 S'han identificat les característiques del llenguatge de programació relatives a la gestió dels esdeveniments. 1.3 S'han diferenciat els tipus d'esdeveniments que es poden manejar. 1.4 S'ha creat un codi que capturi i utilitzi esdeveniments. 1.5 S'han reconegut les capacitats del llenguatge relatives a la gestió de formularis web. 1.6 S'han validat formularis web utilitzant esdeveniments. 1.7 S'han utilitzat expressions regulars per facilitar els procediments de validació. 1.8 S'ha provat i documentat el codi. 2. Desenvolupa aplicacions web analitzant i aplicant les característiques del model d'objectes del document. 2.1 S'ha reconegut el model d'objectes del document d'una pàgina web. 2.2 S'han identificat els objectes del model, les seves propietats i mètodes. 2.3 S'ha creat i verificat un codi que accedeixi a l'estructura del document. 2.4 S'han creat nous elements de l'estructura i modificat elements ja existents. 2.5 S'han associat accions als esdeveniments del model. 2.6 S'han identificat les diferències que presenta el model en diferents navegadors. 2.7 S'han programat aplicacions web de manera que funcionin en navegadors amb diferents implementacions del model. 2.8 S'han independitzat les tres facetes (contingut, aspecte i comportament), en aplicacions web.
UF4. Comunicació asíncrona client-servidor
1. Desenvolupa aplicacions web dinàmiques, reconeixent i aplicant mecanismes de comunicació asíncrona entre client i servidor. 1.1 S'han avaluat els avantatges i inconvenients d'utilitzar mecanismes de comunicació asíncrona entre client i servidor web. 1.2 S'han analitzat els mecanismes disponibles per a l'establiment de la comunicació asíncrona. 1.3 S'han utilitzat els objectes relacionats. 1.4 S'han identificat les seves propietats i els seus mètodes. e1.5 S'ha utilitzat comunicació asíncrona en l'actualització dinàmica del document web. 1.6 S'han utilitzat diferents formats en l'enviament i recepció d'informació. 1.7 S'han programat aplicacions web asíncrones de manera que funcionin en diferents navegadors. 1.8 S'han classificat i analitzat llibreries que facilitin la incorporació de les tecnologies d'actualització dinàmica a la programació de pàgines web. 1.9 S'han creat i depurat programes que utilitzin aquestes llibreries.
UF2. Estructures definides pel programador. Objectes.
1. Programa codi per a clients web analitzant i utilitzant estructures definides per l'usuari. 1.1 S'han classificat i utilitzat les funcions predefinides del llenguatge. 1.2 S'han creat i utilitzat funcions definides per l'usuari. 1.3 S'han reconegut les característiques del llenguatge relatives a la creació i ús d'arrays. 1.4 S'han creat i utilitzat arrays. 1.5 S'han reconegut les característiques d'orientació a objectes del llenguatge. 1.6 S'ha creat codi per definir l'estructura d'objectes. 1.6 S'han creat mètodes i propietats. 1.7 S'ha creat codi que faci ús d'objectes definits per l'usuari. 1.8 S'ha depurat i documentat el codi.
Bibliografia
Materials de la IOC:
Programació
NOTA: Bona part dels continguts de la UF2 s'integren a la UF1. Això comporta que la UF2 es passa a fer a final de curs i serà calaix de sastre d'altres conceptes i procediments que el professor considera que s'haurien de veure, com ara tècniques avançades o frameworks.
Hi ha 33 hores de lliure disposició. Es fa la següent proposta:
- UF1. Sintaxi del llenguatge. Objectes predefinits del llenguatge. 41 hores
- UF3. Esdeveniments. Manegament de formularis. Model d'objectes del document. 53 hores
- UF4. Comunicació asíncrona client-servidor. 41 hores
- UF2. Estructures definides pel programador. Objectes. 30 hores
UF1. Sintaxi del llenguatge. Objectes predefinits del llenguatge.
Continguts
1 Selecció d'arquitectures i eines de programació. 1.1 Models d'execució de codi 1.2 Mecanismes d'execució de codi en un navegador web. 1.3 Capacitats i limitacions d'execució. 1.4 Llenguatges de programació en entorn client. 1.5 Programació de guions 1.6 Integració del codi amb les etiquetes HTML. 1.7 Eines de programació sobre clients web. Tecnologies i llenguatges associats 2 Aplicació i verificació de la sintaxi del llenguatge. 2.1 Selecció de llenguatge de programació de clients web. 2.2 Variables. 2.3 Tipus de dades. 2.4 Assignacions. 2.5 Operadors. 2.6 Sentències. 2.7 Decisions. 2.8 Bucles. 2.9 Comentaris al codi. 2.10 Eines per programar, provar i depurar el codi 3 Identificació i aplicació dels objectes predefinits del llenguatge. 3.1 Utilització d'objectes. Objectes nadius del llenguatge. 3.2 Objectes predefinits associats al navegador. 3.3 Gestió de l'aparença de la finestra. 3.4 Generació de text i elements HTML des de codi. 3.5 Interacció amb el navegador. 3.6 Aplicacions pràctiques dels marcs. 3.7 Creació de noves finestres. 3.8 Comunicació entre finestres 3.9 Galetes. 3.10 Documentació del codi.
UF2. Estructures definides pel programador. Objectes.
Continguts
1 Programació amb "arrays", funcions i objectes definits per l'usuari 1.1 Funcions predefinides del llenguatge. 1.2 Crides a funcions. Definició de funcions. 1.3 "Arrays" 1.4 Creació d'objectes. 1.5 Definició de mètodes i propietats 1.6 Ús d'objectes. 1.7 Documentació del codi
UF3. Esdeveniments. Manegament de formularis. Model d'objectes del document.
Continguts
1 Integració al codi de la gestió d'esdeveniments i formularis 1.1 Model de gestió d'esdeveniments. 1.2 Captura i ús d'esdeveniments 1.3 Utilització de formularis des de codi. 1.4 Modificació d'aparença i comportament. Utilització de "cookies". 1.5 Validació i enviament. 1.6 Expressions regulars. 1.7 Prova i documentació del codi. 2 Anàlisi i aplicació del model d'objectes del document (DOM) 2.1 El model d'objectes del document (DOM). 2.1 Objectes del model. Propietats i mètodes dels objectes. 2.1 Accés al document des de codi. 2.3 Programació d'esdeveniments. 2.4 Diferències en les implementacions del model. 2.5 Diferenciació entre contingut, aspecte i comportament en les aplicacions web.
UF4. Comunicació asíncrona client-servidor.
Continguts
1 Reconeixement i aplicació de mecanismes de comunicació asíncrona 1.1 Mecanismes de comunicació asíncrona. 1.2 Objectes relacionats. Propietats i mètodes dels objectes. 1.3 Modificació dinàmica del document utilitzant comunicació asíncrona. 1.4 Formats per a l'enviament i recepció d'informació. 1.5 Programació en diferents navegadors 1.6 Llibreries d'actualització dinàmica.
Distribució horària
- UF1: Sintaxi del llenguatge. Objectes predefinits del llenguatge. 41 hores
- UF3: Esdeveniments. Manegament de formularis. Model d'objectes del document. 42 hores
- UF4: Comunicació asíncrona client-servidor. 30 hores
- UF2: Estructures definides pel programador. Objectes. 30 hores
Curs 2021-2022
Curs 2021-2022
- UF1: 21 set-4 nov (41h)
- UF3: 9 nov - 18 gen (53h)
- UF4: 20 gen - 10 mar (41h)
- UF2: 15 mar - 5 mai (30h)
Les classes són dimarts i dijous, en blocs de tres hores. A partir de la setmana 21 (21 de febrer), el bloc del dijous passa a ser de dues hores.
Avaluació
L'alumne coneixerà, des del principi de la UF, els criteris d'avaluació de les Unitats Formatives (UF) i de les activitats d'ensenyament (AEA) de què consten les UFs.
Avaluació de les AEA
Una activitat d'ensenyament-aprenentatge està formada per Teoria (T), pràctiques (Pt), qüestionaris (Q) i altres activitats com poden ser notes de classe i activitats voluntàries (Gr).
- T: Píndoles de teoria
- Q: Qüestionaris. Són exercicis que obligatòriament es fan a classe, i s'han d'entregar en el Classroom al final de la classe
- Pt: Pràctiques. Són més llargues, es comencen a classe, i si no dóna temps es poden acabar a casa. El termini per entregar en el Classroom és més llarg.
- Gr: rúbriques de classe i tasques voluntàries/complementàries/d'aprofundiment.
Les tasques voluntàries permeten la modificació (a l'alça) de la nota final de cada activitat d'E-A. La manera com modifica la nota és la següent: Si les tasques voluntàries superen la nota de l'AEA, la nota calculada de l'AEA representa el 85% de la nota final, i les tasques voluntàries el 15% (la qual cosa farà augmentar la nota final de l'AEA).
Avaluació de les UFs
La UF consta de diverses AEA i d'una prova final (Ex). L'alumne coneixerà els pesos de cada AEA i de la prova/examen final amb què es calcularà la nota final de la UF.
AEA: Activitats d'Ensenyament-Aprenentatge
UF1. Sintaxi del llenguatge. Objectes predefinits del llenguatge (Classroom: kkn6pnq)
UF1A1. Javascript. Sintaxi I
- M06 UF1A1. Teoria
- Q1: M06 UF1Q1. ECMAScript
- Pr1: M06 UF1Pr1. Llegir fitxer amb llenguatges interpretats
- Q2: M06 UF1Q2. Funcions. Expressions i operadors
- Q3: M06 UF1Q3. Objectes Number, Date, String
UF1A2. Javascript. Sintaxi II
- M06 UF1A2. Teoria
- M06 UF1A2. Tests unitaris (teoria)
- Q4: M06 UF1Q4. Expressions regulars
- Pr2: M06 UF1Pr2. Tests unitaris per practicar la sintaxi de Javascript
UF1A3. Javascript. Sintaxi III. Objectes
Avaluació UF1
Activitats: Q_UF1A1 = 0.25*Q1 + 0.25*Pr1 + 0.25*Q2 + 0.25*Q3 Q_UF1A2 = 0.4*Q4 + 0.6*Pr2 Q_UF1A3 = 0.4*Q5 + 0.6*Pr3 Q_UF1 = 0.2*Q_UF1A1 + 0.2*Q_UF1A2 + 0.2*Q_UF1A3 + 0.4*Q_EXUF1
Es penalitzen les entregues fora de termini. Es premia la participació a classe.
UF3. Esdeveniments. Manegament de formularis. Model d'objectes del document (Classroom: 5rmdnxk)
UF3A1. DOM: Document Object Model
- M06 UF3A1. Teoria
- M06 UF3A1. Teoria II
- Q1: M06UF3Q1. Exercicis de classe: segons, password
- Q2: M06UF3Q2. Exercicis de classe (separació de codi, Apollo 11, drag and drop)
- Pr1: M06UF3Pr1: joc del Pong
- Q3: M06UF3Q3: Google Images i taula dinàmica
UF3A2. Formularis i events
- M06 UF3A2. Teoria
- Q4: M06UF3Q4. Introducció al pescamines
- Pr2: Formulari. Rectes que es creuen
- Pr3. Validació de formularis. Llibreria validate.js
UF3A3. createElement, addEventListener
- Pr4: Aplicació de facturació trimestral
- Pr5: Projecte: BOM - Llista de Materials
- Examen de mostra d'un any anterior: Fitxer:Mostra Ex UF3.zip
Avaluació UF3
Activitats: Q_UF3A1 = 0.20*Q1 + 0.20*Q2 + 0.40*Pr1 + 0.20*Q3 Q_UF3A2 = 0.20*Q4 + 0.40*Pr2 + 0.40*Pr3 Q_UF3A3 = 0.50*Pr4 + 0.50*Pr5 Q_UF3 = 0.22*Q_UF3A1 + 0.22*Q_UF3A2 + 0.16*Q_UF3A3 + 0.4*Q_EXUF3
Es penalitzen les entregues fora de termini. Es premia la participació a classe.
UF4. Comunicació asíncrona client-servidor. (Classroom: 2oaog4f)
UF4A1. AJAX: Introducció
- M06 UF4T1: Ajax._Introducció
- M06 UF4T2: JSONP: JSON with Padding
- M06 UF4T3: AJAX PHP i BD
- M06 UF4T4: Formats d'intercanvi d'informació. JSON
- Q1: M06UF4Q1. cd_catalog.xml
- Q2: M06UF4Q2. Fes dues receptes de cuina
- Pr1: M06UF4Pr1: Receptes de cuina
- Q3: M06UF4Q3. JSONP: Parcs de Barcelona
- Pr2: M06UF4Pr2: JSONP: Receptes de cuina (encara no, he de canviar coses)
- Q4: M06UF4Q4. Bàsic AJAX-PHP-BD (customers)
- Q5: M06UF4Q5. JSON i Javascript. Exemples incrementals
- Pr3: Comunitats, províncies, municipis. AJAX i bases_de_dades
UF4A2. AJAX: Avançat
- M06 UF4T5: Introducció a Node.js
- M06 UF4T7: Fetch API
- Pr4: Comunitats, províncies, municipis. Migració a Node.js
- M06 UF4T6 - Q1: Promises. Async-Await
- Q2: Exercicis de classe Fetch API: Kobe Bryan i dòlments: Fetch API
- Pr5: Aplicació web amb motor Python
Avaluació UF4
Activitats: Q_UF4A1 = 0.1*Q1 + 0.1*Q2 + 0.2*Pr1 + 0.1*Q3 + 0.2*Pr2 + 0.1*Q4 + 0.1*Q5 + 0.1*Pr3 Q_UF4A2 = 0.2*Q1 + 0.3*Pr4 + 0.2*Q2 + 0.3*Pr5 Q_UF4 = 0.4*Q_UF4A1 + 0.2*Q_UF4A2 + 0.4*Q_EXUF4
Es penalitzen les entregues fora de termini. Es premia la participació a classe.
UF2. Estructures definides pel programador. Objectes. (Classroom: bxcupxr)
UF2A1: Mòduls i llibreries
- T1: TypeScript
- Q1: Mòduls amb Javascript
- Pr1: Mòduls amb Javascript. Mapes amb OpenLayers (dòlmens)
- Pr2: Visualització de dades i Open Data amb la llibreria Highcharts (arbrat de Barcelona)
- Pr3: TypeScript: Classe Figura. Dibuix 2D
UF2A2: Frameworks
- T1: Introducció als frameworks de Javascript
- T2: Tutorial ReactJS 21-22
- Pr1: Tutorial ReactJS 21-22. Tasques
(abril 2022)
Avaluació UF2
Activitats: Q_UF2A1 = 0.25*Q1 + 0.25*Pr1 + 0.25*Pr2 + 0.25*Pr3 Q_UF2A2 = 1.00*Pr1 Q_UF2 = 0.75*Q_UF2A1 + 0.25*Q_UF2A2
Es penalitzen les entregues fora de termini. Es premia la participació a classe.
Desplegament d'Aplicacions Web
UF3. Aplicacions web i serveis
(3 de febrer al 17 de març)
- T1: Què és Docker (contenidors)
- T2: Docker al mòdul DAM-M02
- T3: LDAP: Lightweight Directory Access Protocol
- Q1: Q. Instal·lació de Docker
- Q2: Q. Instal·lació i configuració del docker del curs GDS
- Pr1: Pr. Creació i desplegament d'un contenidor amb Docker
- Q3: Servidors Privats Virtuals: VPS
- Pr2: Vagrant Boxes. Caixa Linux-Oracle
- Pr3: Vagrant Boxes. Base de dades Oracle
- Pr4: Autenticació LDAP
- Pr5: Autenticació OAuth 2.0
Avaluació UF3
Activitats: Q_UF4 = 0.1*Q1 + 0.1*Q2 + 0.15*Pr1 + 0.1*Q3 + 0.15*Pr2 + 0.15*Pr3 + 0.15*Pr4 + 0.1*Pr5
Es penalitzen les entregues fora de termini. Es premia la participació a classe.
UF4. Control de versions i documentació
(23 de març al 1 de maig)
- T. OVH. VPS Essential jaumebalmes.net
- T. Desplegar aplicació a VPS
- Q1. Sessió inicial al VPS del jaumebalmes
- Q2: JSDoc: documentació amb Javascript
- Pr1: Despleguem tres aplicacions
- Pr2: Projecte full-stack: React + Node Express + MySQL. Desplegament
- Pr3. Github tutorial
Avaluació UF4
Activitats: Q_UF4 = 0.15*Q1 + 0.15*Q2 + 0.25*Pr1 + 0.25*Pr2 + 0.20*Pr3
Es penalitzen les entregues fora de termini. Es premia la participació a classe.
(TBD)
- Desplegament d'una aplicació web des de Sublime Text 3 (integrar)
- Pr. Desplegar una aplicació a Github Pages (TBD)
- Q. Github pràctic: correcció d'errors en script de Javascript
- Pr. Github: workflow dos programadors
creat per Joan Quintana Compte, agost 2021, abril 2022