michael-spengler / WWI20DSA-Web-Programmierung

16 stars 3 forks source link

WWI20DSA Web Programmierung

Zeitraum

15.11.2021 - 11.02.2022

Termine

Siehe auch Kalender
Fr, 03.12.21 von 09:00 - 12:00 Uhr - Präsenz im Raum 069C
Mo, 20.12.21 von 09:30 - 12:00 Uhr - online
Mi. 05.01.22 von 13:30 - 16:30 Uhr - online
Do, 13.01.22 von 13:30 - 19:30 Uhr - online
Mo, 17.01.22 von 13:30 - 16:30 Uhr - online
Mi, 26.01.22 von 09:00 - 19:30 Uhr - online

Technologische Inhalte

  1. Grundlagen: HTML, CSS, JavaScript, TypeScript
  2. Frontendentwicklungsframeworks: VueJS, Angular, Svelte (Fokus auf Svelte)
  3. Backend Laufzeitumgebungen: NodeJS, Deno (Fokus auf Deno)
  4. Backendentwicklungsfokus: Frameworks wie NestJS & Dockerisierung
  5. Testframeworks: z.B. CodeceptJS and their usage for Web Harvesting / Web Crawling
  6. Chat Bot Integrationen: Telegram, Slack, Discord, Reddit, Twitter
  7. Smart Contract Development: Ethereum Blockchain (in solidity via remix.ethereum.org)

Projektvorschläge

"Think of an idea to change the world to the better via a web app and put it into action."
Wir sammeln die Vorschläge als GitHub Issues.
Die ideale Gruppengröße für den individuellen Lernerfolg, den Gruppenerfolg und den Kurserfolg liegt m.E. bei 3 - 6 Personen.
Für die Bewertung werde ich mir die Github Commit Historie zu den einzelnen Projekten anschauen und vielleicht kurze Kontrollfragen stellen um sicher zu sein, dass nicht ein Überflieger mit unterschiedlichen GitHub User Names für die gesamte Gruppe agiert und die anderen Gruppenmitglieder nur chillen.

Bewertungskriterien

  1. Die Web App funktioniert
  2. Code Qualität (High Cohesion / Loose Coupling / Separation of Concerns (no spaghetti code))
  3. Dokumentation / Readme
  4. Goodies: Demo Video
  5. Die Gruppen haben nebenbei einzelne Module als Open Source Lösung bereitgestellt oder optimiert
  6. Alle zentralen Methoden im Backend haben eine gute Unit Tests Coverage
  7. Ich gebe gerne und meistens Gruppennoten - Ausnahme: Extreme Einseitigkeiten in der Gruppenarbeit

Pausenaufgaben

Im Rahmen von kreativen Pausen :) erkunden, bewerten und erweitern wir Deno Module wie z.B.

  1. https://deno.land/x/sort
  2. https://deno.land/x/request
  3. https://deno.land/x/injector
  4. https://deno.land/x/distancecalculator
  5. https://deno.land/x/sleep
  6. https://deno.land/x/http_to_https
  7. https://deno.land/x/cities
  8. https://deno.land/x/countries
  9. https://deno.land/x/monitoring
  10. https://deno.land/x/persistence
  11. https://deno.land/x/nlp
  12. https://deno.land/x/location
  13. https://deno.land/x/cicd
  14. https://deno.land/x/opine
  15. https://deno.land/x/web3
  16. https://deno.land/x/cors
  17. https://deno.land/x/log
  18. https://deno.land/x/deno_moment
  19. https://deno.land/x/hash
  20. https://deno.land/x/bloomfilter
  21. https://deno.land/x/tries

Voraussetzungen

  1. https://code.visualstudio.com/insiders/
  2. https://github.com account
  3. https://telegram.org
  4. https://brave.com
  5. https://nodejs.org/en/ (recommended version)
  6. https://deno.land/

Empfehlungen auf dem Pfad der Erkenntnis

  1. Investiere ein paar Stunden in freies Experimentieren z.B. bei w3 schools
  2. Ziehe Dir dieses Video rein
  3. Stelle Fragen per stackoverflow und poste den Link zur Frage in unseren Telegram Channel - auch wenn Dir die Fragen "möglicherweise dumm" erscheinen.

Planung & Chronik

... wird im Detail synchron mit den Studierenden erarbeitet - die grobe Planung befindet Sich im Folgenden - als zusätzliche Inspiration können vorangegangene Web-Programmierung Vorlesungsreihen dienen. Gleichzeitig lege ich Wert darauf, dass wir stets möglichst aktuelle Technologien erkunden.

Fr, 03.12.21 von 09:00 - 12:00 Uhr (Raum 069C)

  1. Kennenlernen vor Ort
  2. Gemeinsame Erkundung: Was bedeutet Web Programmierung für Euch? Was wisst ihr grob schon darüber? Was würdet ihr gerne wissen oder gut können?
  3. Was gefällt Euch nicht so gut an der Welt? Wie könnten wir das durch die Bereitstellung einer Web App lösen?
  4. Konkrete Themensammlung
  5. Gruppenfindung
  6. Installationscheck der unter "Voraussetzungen" aufgelisteten Tools... mit gegenseitiger Hilfe bei Challenges
  7. Exkursvorschläge: Clientcode vs. Servercode / Test Driven Development, Test Doubles...

Mo, 20.12.21 von 09:30 - 12:00 Uhr (online)

  1. [Grundlagen](w3 schools](https://www.w3schools.com)
  2. Frontendentwicklungsframeworks: VueJS, Angular, Svelte (Fokus auf Svelte)
  3. Backend Laufzeitumgebungen: NodeJS, Deno (Fokus auf Deno)
  4. Erste Gruppenarbeitssessions

Mi. 05.01.22 von 13:30 - 16:30 Uhr

  1. Meilensteinchecks bzgl. des Gruppenfortschritts mit Q & A & Feedback an den Dozenten
  2. Backendentwicklungsfokus: Frameworks wie NestJS & Dockerisierung
  3. Testframeworks: z.B. CodeceptJS and their usage for Web Harvesting / Web Crawling
  4. Gruppenarbeitssessions

Do, 13.01.22 von 13:30 - 19:30 Uhr

  1. Meilensteinchecks bzgl. des Gruppenfortschritts mit Q & A & Feedback an den Dozenten
  2. Chat Bot Integrationen: Telegram, Slack, Discord, Reddit, Twitter
  3. Smart Contract Development: Ethereum Blockchain (in solidity via remix.ethereum.org)
  4. Gruppenarbeitssessions

Mo, 17.01.22 von 13:30 - 16:30 Uhr

  1. Meilensteinchecks bzgl. des Gruppenfortschritts mit Q & A & Feedback an den Dozenten
  2. Interimsbenotung, damit jeder grob weiß wo er mit der bisherigen Leistung grob unterwegs ist
  3. Gruppenarbeitssessions

Mi, 26.01.22 von 09:00 - 19:30 Uhr

  1. Meilensteinchecks bzgl. des Gruppenfortschritts mit Q & A & Feedback an den Dozenten
  2. Erweiterte (detaillierte) Interimsbenotung
  3. Gruppenarbeitssessions / Finalisierungen

Telegram Link

https://t.me/joinchat/Cy2eKgPJdloyZDdi